码迷,mamicode.com
首页 > 其他好文 > 详细

elmo模型

时间:2020-05-18 09:30:05      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:模型   输入数据   合并   color   mod   实现   inpu   图片   函数   

1.概述

  利用语言模型来获得一个上下文相关的预训练表示,称为ELMo。它使用的是一个双向的LSTM语言模型,由一个前向和一个后向语言模型构成,目标函数就是取这两个方向语言模型的最大似然。

2.模型结构

  技术图片

 

3.双向语言模型

  前向概率计算:

    技术图片

 

  后向概率计算:

    技术图片

 

  t代表token,即词

  最后将前向和后向合并

    技术图片

 

  最终输出:

    技术图片

 

4.tensorflow的实现

  

import tensorflow_hub as hub

# 加载模型
elmo = hub.Module("https://tfhub.dev/google/elmo/2", trainable=True)
# 输入的数据集
texts = ["the cat is on the mat", "dogs are in the fog"]
embeddings = elmo(
texts,
signature="default",
as_dict=True)["default"]
elmo = hub.Module("https://tfhub.dev/google/elmo/2", trainable=True)

# 另一种方式输入数据
tokens_input = [["the", "cat", "is", "on", "the", "mat"],
["dogs", "are", "in", "the", "fog", ""]]
# 长度,表示tokens_input第一行6一个有效,第二行5个有效
tokens_length = [6, 5]
# 生成elmo embedding
embeddings = elmo(
inputs={
"tokens": tokens_input,
"sequence_len": tokens_length
},
signature="tokens",
as_dict=True)["default"]
from tensorflow.python.keras import backend as K

sess = K.get_session()
array = sess.run(embeddings)

 

elmo模型

标签:模型   输入数据   合并   color   mod   实现   inpu   图片   函数   

原文地址:https://www.cnblogs.com/yangyang12138/p/12907986.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!