首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tensorflow-hub文本-模块预处理

Tensorflow-hub文本-模块预处理
EN

Stack Overflow用户
提问于 2018-04-28 16:34:50
回答 1查看 400关注 0票数 0

我正在玩新的模块,这是可用的tensorflow-集线器(我真的很喜欢-为此感谢)。

对我来说不清楚的是,在提供句子时应该进行的预处理。模块文档说,在预处理步骤中,inputj语句在空格处被分割。

然而,当我运行以下程序时,我只得到一个向量:

代码语言:javascript
复制
with tf.device("/cpu:0"):
  embed = hub.Module("https://tfhub.dev/google/nnlm-en-dim128/1")

global_step1 = tf.train.get_or_create_global_step()
with tf.device("/cpu:0"):
  embeddings = embed({"default": ["Cat sat on mat"]})

with tf.train.MonitoredTrainingSession(is_chief=True) as sess:
  message_embeddings_cat = sess.run(embeddings)
  print(message_embeddings_cat.shape) # (result: (1, 128))

如何获得每个单词的嵌入,以及单个向量代表什么?句子的固定维表示,未知词的嵌入还是其他什么?

提前感谢!

编辑:结果似乎是用tf.nn.embedding_lookup_sparse创建的组合嵌入。(谢谢确认@svsgoogle)

EN

回答 1

Stack Overflow用户

发布于 2018-04-30 08:13:24

是的,输出表示整个句子的固定维表示.

您还可以嵌入单个单词来获取它们的向量。就你而言:

代码语言:javascript
复制
embeddings = embed({"default": ["Cat", "sat", "on", "mat"]})

应该给你一个与形状(4,128)的结果。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50078749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档