Reserve a data! O Google I / O retorna de 18 a 20 de maio Registre-se agora
Esta página foi traduzida pela API Cloud Translation.
Switch to English

Modelos de linguagem Wiki40B

Ver no TensorFlow.org Executar no Google Colab Ver no GitHub Baixar caderno Veja os modelos TF Hub

Gere texto semelhante ao da Wikipedia usando os modelos de linguagem Wiki40B do TensorFlow Hub !

Este bloco de notas ilustra como:

  • Carregue os 41 modelos monolíngues e 2 multilíngues que fazem parte da coleção Wiki40b-LM no TF-Hub
  • Use os modelos para obter perplexidade, ativações por camada e embeddings de palavras para um determinado texto
  • Gerar texto token por token a partir de um pedaço de texto inicial

Os modelos de linguagem são treinados no conjunto de dados Wiki40B recém-publicado e limpo, disponível nos conjuntos de dados TensorFlow. A configuração do treinamento é baseada no documento “Wiki-40B: Conjunto de dados do modelo multilíngue” .

Configurar

Instalando Dependências

Importações

Escolha o seu idioma

Vamos escolher qual modelo de idioma carregar do TF-Hub e o comprimento do texto a ser gerado.

Using the https://tfhub.dev/google/wiki40b-lm-en/1 model to generate sequences of max length 20.

Construir o modelo

Ok, agora que configuramos qual modelo pré-treinado usar, vamos configurá-lo para gerar texto até max_gen_len . Precisaremos carregar o modelo de linguagem do TF-Hub, inserir um pedaço de texto inicial e, em seguida, alimentar iterativamente os tokens à medida que são gerados.

Carregue as peças do modelo de linguagem

Construir o gráfico de geração por token

Construa o gráfico estaticamente desenrolado para max_gen_len tokens

Gere algum texto

Vamos gerar algum texto! Vamos definir uma seed texto para solicitar o modelo de idioma.

Você pode usar uma das sementes predefinidas ou, opcionalmente, inserir a sua própria . Este texto será usado como semente para o modelo de idioma para ajudar a solicitar o modelo de idioma para o que gerar a seguir.

Você pode usar os seguintes tokens especiais que precedem partes especiais do artigo gerado. Use _START_ARTICLE_ para indicar o início do artigo, _START_SECTION_ para indicar o início de uma seção e _START_PARAGRAPH_ para gerar o texto no artigo

Sementes Predefinidas

Insira sua própria semente (opcional).

Generating text from seed:

_START_ARTICLE_
1882 Prince Edward Island general election
_START_PARAGRAPH_
The 1882 Prince Edward Island election was held on May 8, 1882 to elect members of the House of Assembly of the province of Prince Edward Island, Canada.

Inicialize a sessão.

Gerar texto

_NEWLINE_The outgoing Conservative member George John Stephens finally received by a verdict with the former Opposition member William Wilder

Também podemos olhar para as outras saídas do modelo - a perplexidade, os ids de token, as ativações intermediárias e os embeddings

ppl_result
array([23.507742], dtype=float32)
token_ids_result
array([[   8,    3, 6794, 1579, 1582,  721,  489,  448,    8,    5,   26,
        6794, 1579, 1582,  721,  448,   17,  245,   22,  166, 2928, 6794,
          16, 7690,  384,   11,    7,  402,   11, 1172,   11,    7, 2115,
          11, 1579, 1582,  721,    9,  646,   10]], dtype=int32)
activations_result.shape
(12, 1, 39, 768)
embeddings_result
array([[[ 0.12262525,  5.548009  ,  1.4743135 , ...,  2.4388404 ,
         -2.2788858 ,  2.172028  ],
        [-2.3905468 , -0.97108954, -1.5513545 , ...,  8.458472  ,
         -2.8723319 ,  0.6534524 ],
        [-0.83790785,  0.41630274, -0.8740793 , ...,  1.6446769 ,
         -0.9074106 ,  0.3339265 ],
        ...,
        [-0.8054745 , -1.2495526 ,  2.6232922 , ...,  2.893288  ,
         -0.91287214, -1.1259722 ],
        [ 0.64944506,  3.3696785 ,  0.09543293, ..., -0.7839227 ,
         -1.3573489 ,  1.862214  ],
        [-1.2970612 ,  0.5961366 ,  3.3531897 , ...,  3.2853985 ,
         -1.6212384 ,  0.30257902]]], dtype=float32)