- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在非常短的短语(5 克)上训练 word2vec 模型。由于每个句子或例子都很短,我相信我可以使用的窗口大小最多可以是2。我试图理解这么小的窗口大小对学习模型的质量有何影响,以便我能够理解我的模型是否学到了一些有意义的东西。我尝试在 5-gram 上训练 word2vec 模型,但学习的模型似乎不能很好地捕获语义等。
我使用以下测试来评估模型的准确性: https://code.google.com/p/word2vec/source/browse/trunk/questions-words.txt
我使用 gensim.Word2Vec 来训练模型,这是我的准确度分数的片段(使用窗口大小为 2)
[{'correct': 2, 'incorrect': 304, 'section': 'capital-common-countries'},
{'correct': 2, 'incorrect': 453, 'section': 'capital-world'},
{'correct': 0, 'incorrect': 86, 'section': 'currency'},
{'correct': 2, 'incorrect': 703, 'section': 'city-in-state'},
{'correct': 123, 'incorrect': 183, 'section': 'family'},
{'correct': 21, 'incorrect': 791, 'section': 'gram1-adjective-to-adverb'},
{'correct': 8, 'incorrect': 544, 'section': 'gram2-opposite'},
{'correct': 284, 'incorrect': 976, 'section': 'gram3-comparative'},
{'correct': 67, 'incorrect': 863, 'section': 'gram4-superlative'},
{'correct': 41, 'incorrect': 951, 'section': 'gram5-present-participle'},
{'correct': 6, 'incorrect': 1089, 'section': 'gram6-nationality-adjective'},
{'correct': 171, 'incorrect': 1389, 'section': 'gram7-past-tense'},
{'correct': 56, 'incorrect': 936, 'section': 'gram8-plural'},
{'correct': 52, 'incorrect': 705, 'section': 'gram9-plural-verbs'},
{'correct': 835, 'incorrect': 9973, 'section': 'total'}]
我还尝试运行此处概述的 demo-word-accuracy.sh 脚本,窗口大小为 2,但准确性也很差:
Sample output:
capital-common-countries:
ACCURACY TOP1: 19.37 % (98 / 506)
Total accuracy: 19.37 % Semantic accuracy: 19.37 % Syntactic accuracy: -nan %
capital-world:
ACCURACY TOP1: 10.26 % (149 / 1452)
Total accuracy: 12.61 % Semantic accuracy: 12.61 % Syntactic accuracy: -nan %
currency:
ACCURACY TOP1: 6.34 % (17 / 268)
Total accuracy: 11.86 % Semantic accuracy: 11.86 % Syntactic accuracy: -nan %
city-in-state:
ACCURACY TOP1: 11.78 % (185 / 1571)
Total accuracy: 11.83 % Semantic accuracy: 11.83 % Syntactic accuracy: -nan %
family:
ACCURACY TOP1: 57.19 % (175 / 306)
Total accuracy: 15.21 % Semantic accuracy: 15.21 % Syntactic accuracy: -nan %
gram1-adjective-to-adverb:
ACCURACY TOP1: 6.48 % (49 / 756)
Total accuracy: 13.85 % Semantic accuracy: 15.21 % Syntactic accuracy: 6.48 %
gram2-opposite:
ACCURACY TOP1: 17.97 % (55 / 306)
Total accuracy: 14.09 % Semantic accuracy: 15.21 % Syntactic accuracy: 9.79 %
gram3-comparative:
ACCURACY TOP1: 34.68 % (437 / 1260)
Total accuracy: 18.13 % Semantic accuracy: 15.21 % Syntactic accuracy: 23.30 %
gram4-superlative:
ACCURACY TOP1: 14.82 % (75 / 506)
Total accuracy: 17.89 % Semantic accuracy: 15.21 % Syntactic accuracy: 21.78 %
gram5-present-participle:
ACCURACY TOP1: 19.96 % (198 / 992)
Total accuracy: 18.15 % Semantic accuracy: 15.21 % Syntactic accuracy: 21.31 %
gram6-nationality-adjective:
ACCURACY TOP1: 35.81 % (491 / 1371)
Total accuracy: 20.76 % Semantic accuracy: 15.21 % Syntactic accuracy: 25.14 %
gram7-past-tense:
ACCURACY TOP1: 19.67 % (262 / 1332)
Total accuracy: 20.62 % Semantic accuracy: 15.21 % Syntactic accuracy: 24.02 %
gram8-plural:
ACCURACY TOP1: 35.38 % (351 / 992)
Total accuracy: 21.88 % Semantic accuracy: 15.21 % Syntactic accuracy: 25.52 %
gram9-plural-verbs:
ACCURACY TOP1: 20.00 % (130 / 650)
Total accuracy: 21.78 % Semantic accuracy: 15.21 % Syntactic accuracy: 25.08 %
Questions seen / total: 12268 19544 62.77 %
然而,word2vec 网站声称可以在这些任务上获得约 60% 的准确率。因此,我想深入了解这些超参数(例如窗口大小)的影响以及它们如何影响学习模型的质量。
最佳答案
类比问题得分非常低更有可能是由于训练数据数量或质量的限制,而不是参数调整不当。 (如果您的训练短语实际上每个单词只有 5 个单词,它们可能无法捕获从完整句子的数据集中发现的丰富关系。)
您可以在短语上使用 5 的窗口 - 训练代码会将窗口修剪为两侧可用的窗口 - 但每个短语的每个单词都会影响所有其他单词。这可能没问题:Google word2vec 论文之一(“单词和短语的分布式表示”)及其组合性”,https://arxiv.org/abs/1310.4546)提到,为了在其中一个短语任务中获得最佳准确性,他们使用了“上下文的整个句子”。(另一方面,在一个英语短信语料库中,我发现仅 2 的窗口大小创建了在类比评估中得分最高的向量,因此越大并不一定越好。)
Levy 和 Goldberg 的一篇论文“Dependency-Based Word Embeddings”谈到了一些关于窗口大小的定性影响:
https://levyomer.files.wordpress.com/2014/04/dependency-based-word-embeddings-acl-2014.pdf
他们发现:
较大的窗口往往会捕获更多主题/领域信息:相关讨论中还使用了哪些其他单词(任何类型)?较小的窗口往往会捕获更多关于单词本身的信息:还有哪些其他单词在功能上相似? (他们自己的扩展,基于依赖的嵌入,似乎最擅长找到最相似的单词、同义词或明显的替代词,这些词可以作为原始单词的替代品。)
关于gensim - Word2Vec:使用的窗口大小的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22272370/
比方说, word2vec.model 是我训练好的 word2vec 模型。当出现词汇外单词( oov_word )时,我计算向量 vec 使用 compute_vec(oov_word) 方法。现
我有一个现有的 gensim Doc2Vec 模型,我正在尝试对训练集以及模型进行迭代更新。 我拿新文件,照常进行预处理: stoplist = nltk.corpus.stopwords.words
使用 gensim.models.LdaMallet 有什么区别和 gensim.models.LdaModel ?我注意到参数并不完全相同,想知道什么时候应该使用一个而不是另一个? 最佳答案 TL;
我训练了一个 gensim.models.doc2vec.Doc2Vec 模型 d2v_model = Doc2Vec(sentences, size=100, window=8, min_count
我在 gensim 中有一个 word2vec 模型,训练了 98892 个文档。对于句子数组中不存在的任何给定句子(即我训练模型的集合),我需要用该句子更新模型,以便下次查询时给出一些结果。我这样做
我对 Gensim 很陌生,我正在尝试使用 word2vec 模型训练我的第一个模型。我看到所有参数都非常简单易懂,但是我不知道如何跟踪模型的损失以查看进度。此外,我希望能够在每个 epoch 之后获
请帮助我理解如何 TaggedDocument 之间的区别和 LabeledSentence的 gensim作品。我的最终目标是使用 Doc2Vec 进行文本分类模型和任何分类器。我正在关注这个 bl
尝试使用以下代码行在 gensim 中加载文件: model = gensim.models.KeyedVectors.load_word2vec_format(r"C:/Users/dan/txt_
我有一组用神经网络训练的嵌入,与 gensim 的 word2vec 无关。 我想使用这些嵌入作为 gensim.Word2vec 中的初始权重。 现在我看到的是,我可以model.load(SOME
我尝试使用 gensim 导入 import gensim 但出现以下错误 ImportError Traceback (most rece
我正在关注 https://radimrehurek.com/gensim/wiki.html#latent-dirichlet-allocation 上的“英语维基百科”gensim 教程 它解释了
我正在使用 24 核虚拟 CPU 和 100G 内存来训练 Doc2Vec 与 Gensim,但无论修改核数,CPU 的使用率始终在 200% 左右。 top htop 上面两张图显示了cpu使用率,
在将文本文档列表转换为语料库字典,然后使用以下方法将其转换为词袋模型之后: dictionary = gensim.corpora.Dictionary(docs) # docs is a list
我已经使用 Gensim 3.8.0 训练了一个 Word2Vec 模型。后来我尝试在 GCP 上使用使用 Gensim 4.0.o 的预训练模型。我使用了以下代码: model = KeyedVec
我正在构建一个多标签文本分类程序,我正在尝试使用 OneVsRestClassifier+XGBClassifier 对文本进行分类。最初,我使用 Sklearn 的 Tf-Idf 矢量化来矢量化文本
我发现关于 word2vec.similarity() 的警告如下: >d:\python\lib\site-packages\gensim\matutils.py:737: FutureWarnin
我正在尝试使用版本为 3.6 的 Python 的 Gensim 库运行程序。 每当我运行该程序时,我都会遇到这些语句: C:\Python36\lib\site-packages\gensim-2.
我有一个通过 Java 中的 Mallet 训练的 LDA 模型。 Mallet LDA 模型生成了三个文件,这使我能够从文件运行模型并推断新文本的主题分布。 现在我想实现一个 Python 工具,它
我正在使用gensim doc2vec。我想知道是否有任何有效的方法来了解doc2vec的词汇量。一种粗略的方法是计算单词总数,但是如果数据量很大(1GB或更多),那么这将不是一种有效的方法。 最佳答
documentation有点不清楚如何将 fasttext 模型保存到磁盘 - 如何在参数中指定路径,我尝试这样做,但失败并出现错误 文档中的示例 >>> from gensim.test.util
我是一名优秀的程序员,十分优秀!