首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vocabulary_size对word2vec tensorflow的实现有什么影响?

vocabulary_size对word2vec tensorflow的实现有什么影响?
EN

Stack Overflow用户
提问于 2016-08-24 20:16:57
回答 1查看 749关注 0票数 1

我已经执行了steps this指南来生成单词的向量表示。

现在我使用的是一个45,000个单词的自定义数据集,我正在运行word2vec。

为了运行,我通过将https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/tutorials/word2vec/word2vec_basic.py#L57修改为words = read_data('mytextfile.zip')来修改word2vec_basic.py以使用我自己的数据集

我遇到了类似于https://github.com/tensorflow/tensorflow/issues/2777的问题,因此将vocabulary_size减少到了200。它现在运行,但结果似乎没有捕获上下文。例如,以下是示例输出:

代码语言:javascript
复制
Nearest to Leave: Employee, it, •, due, You, appeal, Employees, which,

我可以从这个输出中推断出什么?增加/减少vocabulary_size会改善结果吗?

我使用python3,所以我使用python3 word2vec_basic2.py来运行

EN

回答 1

Stack Overflow用户

发布于 2016-08-27 10:49:54

如果vocabulary_size太小,大多数单词将被标记为UKN:

代码语言:javascript
复制
  unk_count = 0
  for word in words:
    if word in dictionary:
      index = dictionary[word]
    else:
      index = 0  # dictionary['UNK']
      unk_count += 1
    data.append(index)
  count[0][1] = unk_count

因此,没有包含在字典中的即将到来的单词将被同等对待(索引为0)。增加词汇表大小肯定会提高性能。它对Python2或Python3来说确实是垃圾。

为了说明,假设第一批中有128个输入词,但其中120个被标记为未知(具有相同的索引0),并且目标也远远少于128个,会发生什么情况?我们将预测这样的对:来自UKN的UKN和来自UKN的"you“,其中"you”来自" are“,"you”from "?“否则,如果您增加词汇表大小。输入分布样本的大部分信息将会丢失。

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

https://stackoverflow.com/questions/39123100

复制
相关文章

相似问题

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