word2vec - KeyError:“单词 X 不在词汇表中”

2023-12-29

使用Word2Vec模块的实现gensim为了为我在纯文本文件中拥有的句子构建单词嵌入。尽管这个词happy在词汇表中定义,得到错误KeyError: "word 'happy' not in vocabulary"。尝试将给出的答案应用到类似的问题 https://stackoverflow.com/questions/41133844/keyerror-word-word-not-in-vocabulary-in-word2vec,但没有成功。因此,发布了我自己的问题。

这是代码:

try:
    data = []
    with open(TXT_PATH, 'r', encoding='utf-8') as txt_file:
        for line in txt_file:
            for part in line.split(' '):
                data.append(part.strip())

    # When I debug, both of the words 'happy' and 'birthday' exist in the variable 'data'
    word2vec = Word2Vec(data, min_count=5, size=10000, window=5, workers=4)

    # Print result
    word_1 = 'happy'
    word_2 = 'birthday'
    print(f'Similarity between {word_1} and {word_2} thru word2vec: {word2vec.similarity(word_1, word_2)}')
except Exception as err:
    print(f'An error happened! Detail: {str(err)}')

当你收到这样的“不在词汇表中”错误时Word2Vec,你可以相信它:'happy'确实不在模型中。

即使您的目视检查显示'happy'在您的文件中,它可能不会出现在模型中的一些原因包括:

  • 至少它不会发生min_count=5 times

  • the data格式不正确Word2Vec,所以它没有看到您期望它看到的单词。

看看如何data由您的代码准备,它看起来像文件中所有单词的巨大列表。Word2Vec相反,需要一个序列,其中每个项目都有该文本的单词列表。所以:不是一个单词列表,而是一个其中每个项目都是单词列表的列表。

如果您已提供...

[
  'happy',
  'birthday',
]

...而不是预期的...

[
  ['happy', 'birthday',],
]

...那些单字字符串将被视为字符列表,所以Word2Vec会认为你想学习一堆单字符单词的词向量。您可以通过查看词汇量是否看起来很小来检查这是否影响了您的模型(len(model.wv))或者如果学习单词的样本只是单字符单词('model.wv.index2entity[:10]`)。

如果您以正确的格式提供一个单词,至少min_count有时,作为训练数据的一部分,它最终会在模型中得到一个向量。

(分别地:size=10000是超出通常 100-400 范围的选择方式。我从未见过一个项目使用如此高维的词向量,并且只有在拥有大量词汇和训练集的情况下,这才在理论上是合理的。词汇量/数据较小的超大向量可能会产生无用的过度拟合结果。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

word2vec - KeyError:“单词 X 不在词汇表中” 的相关文章

  • Gensim LDA 中的主题明智文档分布

    python 有没有办法映射属于某个主题的文档 例如 主要是 主题 0 的文档列表 我知道有多种方法可以列出每个文档的主题 但我该如何反过来呢 Edit 我正在使用以下 LDA 脚本 doc set for file in files ne
  • Word2vec - 获取相似度排名

    鉴于我有一个 word2vec 模型 由 gensim 提供 我想获得单词之间的排名相似度 例如 假设我有 desk 这个词 与 desk 最相似的词是 表0 64 椅子0 61 预订 0 59 铅笔0 52 我想创建一个函数 f 桌子 书
  • Keras Embedding 层中的 mask_zero 如何工作?

    我想mask zero True当输入值为 0 时将输出 0 因此后续层可以跳过计算或其他操作 如何mask zero works 例子 data in np array 1 2 0 0 data in shape gt gt gt 1 4
  • 手动将搭配添加到 gensim 短语器

    我正在对语言学论文进行主题建模 并使用 Gensim 短语来识别频繁的搭配 我希望能够将术语 do support 和 it clefts 标记为一个单词 因为它们是特定的语言术语 但是 如果我在取出停用词后制作 Gensim 模型 则不会
  • 嵌入层 Keras 的可变长度输入

    我有一个可变大小的文本语料库 我正在尝试使用 keras 中的嵌入层将文本输入 LSTM 模型 我的代码看起来像这样 import numpy as np from keras layers import Embedding Input L
  • gensim word2vec - 使用在线词嵌入更新数组维度

    gensim 0 13 4 1 中的 Word2Vec 无法动态更新词向量 model build vocab sentences update False 工作正常 然而 model build vocab sentences updat
  • 从 Pandas DataFrame 中提取数组(列名、数据)

    这是我在 Stack Overflow 上的第一个问题 我有一个像这样的 Pandas 数据框 a b c d one 0 1 2 3 two 4 5 6 7 three 8 9 0 1 four 2 1 1 5 five 1 1 8 9
  • gensim word2vec 访问输入/输出向量

    在 word2vec 模型中 有两个线性变换 将词汇空间中的单词带到隐藏层 in 向量 然后返回词汇空间 out 向量 通常这个输出向量在训练后会被丢弃 我想知道是否有一种简单的方法可以访问 gensim python 中的输出向量 同样
  • 词汇量和嵌入维度之间的首选比例是多少?

    例如使用时gensim word2vec或用于训练嵌入向量的类似方法我想知道什么是好的比率 或者嵌入维度与词汇量之间是否有首选比率 随着更多数据的出现 这种情况会如何变化 由于我仍在讨论这个主题 因此在训练嵌入向量时如何选择合适的窗口大小
  • 什么是 doc2vec 训练迭代?

    我是 doc2vec 的新手 我最初试图理解 doc2vec 下面提到的是我使用 Gensim 的代码 正如我想要的那样 我得到了两个文档的训练模型和文档向量 但是 我想知道在几个时期重新训练模型的好处以及如何在 Gensim 中做到这一点
  • Keras 嵌入层在函数式 API 中具有可变长度

    我有以下适用于可变长度输入的顺序模型 m Sequential m add Embedding len chars 4 name embedding m add Bidirectional LSTM 16 unit forget bias
  • 在 Tensorboard 投影仪中可视化 Gensim Word2vec 嵌入

    我只看到了几个提出这个问题的问题 但没有一个有答案 所以我想我不妨尝试一下 我一直在使用 gensim 的 word2vec 模型来创建一些向量 我将它们导出为文本 并尝试将其导入到嵌入投影仪的张量流实时模型中 一个问题 没用 它告诉我张量
  • LDA Mallet 调用进程错误

    我正在尝试实现以下代码 import os os environ update MALLET HOME r c mallet 2 0 8 mallet path C mallet 2 0 8 bin mallet ldamallet gen
  • 我正在使用 Word2Vec 和 gensim 在 python 中出现“__init__() 获得意外的关键字参数'文档'”此错误

    我正在使用 Word2vec 和 gensim 进行项目 model gensim models Word2Vec documents userDataFile txt size 150 window 10 min count 2 work
  • 加载 word2vec 时出现 UnicodeDecodeError 错误

    详细描述 我开始使用词嵌入 并发现了大量有关它的信息 到目前为止 我知道我可以训练自己的词向量或使用以前训练过的词向量 例如 Google 或 Wikipedia 的词向量 这些向量可用于英语 但对我来说没有用 因为我正在处理以下语言中的文
  • 如何使用张量流服务使张量流集线器嵌入可服务?

    我正在尝试使用来自tensorflow hub的嵌入模块作为可服务 我是张量流新手 目前 我正在使用通用句子编码器 https tfhub dev google universal sentence encoder 1嵌入作为将句子转换为嵌
  • 如何将fasttext模型保存为vec格式?

    我使用以下方法训练了我的无监督模型fasttext train unsupervised python 中的函数 我想将其保存为 vec 文件 因为我将使用该文件pretrainedVectors参数输入fasttext train sup
  • 下载gensim数据集时出现ValueError

    我想下载 gensim glove wiki gigaword 100 数据集 这是我的代码 import gensim downloader as api model api load glove wiki gigaword 100 但我
  • SpaCy 的相似度是如何计算的?

    初学者 NLP 问题在这里 similarity 方法如何运作 哇 spaCy 太棒了 它的tfidf模型可以更容易预处理 但w2v只有一行代码 token vector 惊人的 In his spaCy 上的 10 行教程 https g
  • 将 freebase 向量与 gensim 一起使用

    我正在尝试使用 Google 发布的 freebase 单词嵌入 但我很难从 freebase 名称中获取单词 model gensim models Word2Vec load word2vec format freebase vecto

随机推荐

  • 我可以在不使用麦克风的情况下录制

    我有一个
  • 使用 C++ 和 Visual Studio 2008 设置 OpenGL

    嘿 我想知道是否有关于如何设置这个的好的教程 我已经在 gamedev net 上看过 NeHe 教程 但其中一些似乎已经过时了 有什么线索吗 thanks NeHe http nehe gamedev net可能有点旧 但绝对不会过时 与
  • 在 Django 管理中禁用选择列表,仅用于编辑

    我想在编辑对象时禁用某些字段 我已经设法对文本字段执行此操作 但对于下拉列表 选择列表 来说这是不可能的 我正在表单的构造函数中执行此操作 class OrderModelForm forms ModelForm def init self
  • 带圆角和背景颜色的 NSButton

    我想要一个简单的按钮 带有圆角的按钮 并为其添加背景 我尝试过两件事 1 使用圆形按钮图像 这工作得很好 直到我需要缩放按钮 这导致圆形部分看起来很难看 2 扩展按钮并为其添加颜色 但是当我单击按钮时遇到麻烦 我希望 推动 状态与 常规 状
  • 此 VB6 操作的等效 C# 语句会产生问题

    我在 VB 中有这样的代码行 Dim Sqrt As Double Sqrt Radius 2 CenterX X 2 上面语句中的参数传递的值如下 X 7 3725025845036161 Double CenterX 0 0 Doubl
  • `useTheme` 必须在 `NativeBaseConfigProvider` 中使用

    在我的项目中 我遇到了上述错误 谁能告诉我如何解决这个错误 我遇到的错误是 Error useTheme必须在以下时间内使用NativeBaseConfigProvider 该错误位于 in Container in ProductCont
  • android中的PeerConnection实例总是为空?

    我必须在 android 应用程序中实现 WebRTC 因为我正在使用libjingle库 版本 11139 在此我总是得到pc PeerConnection class instance 始终为空 我已经检查过的值 factory Pee
  • 如何从 C# 中的字符串中删除 \r\n?

    我正在尝试找出一种简单的方法从字符串中删除 r n 例子 文本 这个 is a string r n这个 is a string r n I tried text Replace r n and text Replace r n strin
  • Postgres表列名限制?

    我在 psql 中这样做了 CREATE TABLE IF NOT EXISTS apiss skey TEXT time INTEGER user TEXT ip TEXT I get ERROR syntax error at or n
  • 无法找到 Spring NamespaceHandler 错误

    我已经遇到这个错误近一周了 我正准备屈服 我已经使用 Maven2 来制作大 jar 文件 当我使用以下命令运行 jar 文件时 java jar someJar jar 我收到此错误 ERROR 27 55 13 10 55 Launch
  • 如何将 numpy 数组从某一行开始写入 .txt 文件?

    我需要将 3 个 numpy 数组写入 txt 文件 文件头看起来像这样 Filexy time operation1 operation2 numpy 数组如下所示 time np array 0 60 120 180 operation
  • 拦截 SimpleCursorAdapter 操作

    我正在编写一个应用程序 它使用 SimpleCursorAdapter 来显示 SQLite 数据库中的项目列表 该应用程序是一个列表应用程序 它允许用户创建项目列表 数据库中有一个字段用于跟踪用户是否希望列表项的文本被划掉 基本上 我想拦
  • 对 Visual Studio 2012 VSIX 扩展进行数字签名

    我正在尝试签署一份Visual Studio 2012 extension被封装为VSIX file 我已按照以下说明进行操作http www jeff wilcox name 2010 03 vsixcodesigning http ww
  • 将 Google Play 服务添加到 Eclipse 项目

    我已经红了好几个了posts https stackoverflow com questions 14230808 google map android api v2 crashed和文章 但它对我不起作用 我无法在我的项目中添加 使用 G
  • 如何编辑现有的 VS 代码片段

    有没有办法删除或编辑 Visual Studio CODE 中的一些默认代码片段 例如 当我输入 req TAB 我需要require not requestAnimationFrame 扩展片段可以在下面的每个片段目录中找到 如果扩展中有
  • 如何使用 angularjs 检测浏览器?

    我是 AngularJS 的新手 如何在 angularjs 中检测 userAgent 可以在控制器中使用它吗 尝试了类似下面的东西 但没有运气 var browserVersion int msie d exec lowercase n
  • 在 Actionscript 3 项目中显示 HTML

    Folks 我出于 SEO 目的从 Drupal 后端提取所有 Flash 纯 AS3 项目 而不是 Flash CS3 内容 这非常有效 只是 TextField 对象中内置的 HTML 渲染还有很多不足之处 谁能推荐一些允许我显示 HT
  • 以编程方式更改 Eclipse 中的背景颜色

    我有一个关于 eclipse 插件开发的问题 有什么办法吗 通过它我可以以编程方式更改 Eclipse 中的背景颜色 我可以通过调用更改文本前景色 ITextViewer 中的 setTextColor 颜色 偏移量 长度 controlR
  • 按 Ctrl+C 后,如何让 Python 在程序停止之前完成作业?

    我有 4 个这样的工作的无限循环 list1 while 1 try job1 a B job2 c a accd job3 d len c job4 list1 append d except KeyboardInterrupt save
  • word2vec - KeyError:“单词 X 不在词汇表中”

    使用Word2Vec模块的实现gensim为了为我在纯文本文件中拥有的句子构建单词嵌入 尽管这个词happy在词汇表中定义 得到错误KeyError word happy not in vocabulary 尝试将给出的答案应用到类似的问题