Assinaturas comuns para texto

Esta página descreve assinaturas comuns que devem ser implementadas por módulos no formato TF1 Hub para tarefas que aceitam entradas de texto. (Para o formato TF2 SavedModel , consulte a API SavedModel análoga.)

Vetor de recurso de texto

Um módulo vetorial de recursos de texto cria uma representação vetorial densa a partir de recursos de texto. Ele aceita um lote de strings de formato [batch_size] e as mapeia para um tensor float32 de formato [batch_size, N] . Isso geralmente é chamado de incorporação de texto na dimensão N .

Uso básico

  embed = hub.Module("path/to/module")
  representations = embed([
      "A long sentence.",
      "single-word",
      "http://example.com"])

Uso da coluna de recursos

    feature_columns = [
      hub.text_embedding_column("comment", "path/to/module", trainable=False),
    ]
    input_fn = tf.estimator.inputs.numpy_input_fn(features, labels, shuffle=True)
    estimator = tf.estimator.DNNClassifier(hidden_units, feature_columns)
    estimator.train(input_fn, max_steps=100)

Notas

Os módulos foram pré-treinados em diferentes domínios e/ou tarefas e, portanto, nem todos os módulos de vetor de recursos de texto seriam adequados para o seu problema. Ex: alguns módulos poderiam ter sido treinados em um único idioma.

Esta interface não permite o ajuste fino da representação do texto nas TPUs, pois exige que o módulo instancie o processamento de strings e as variáveis ​​treináveis ​​ao mesmo tempo.