问题标签 [word2vec]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
machine-learning - Word2Vec 和 Glove 向量是否适合实体识别?
我正在研究命名实体识别。我评估了基于传统 nlp 技术构建的库,例如 MITIE、Stanford NER、NLTK NER 等。我还研究了用于在向量空间中表示单词的深度学习模型,例如 word2vec 和 Glove 向量,它们很有趣,因为它们提供了有关单词上下文的信息,但特别是对于 NER 的任务,我认为它不太适合。由于所有这些向量模型都创建了词汇和相应的向量表示。如果任何单词未能在词汇表中,则将无法识别。假设命名实体很可能不存在,因为它们不受语言约束。它可以是任何东西。因此,如果在这种情况下必须使用任何深度学习技术,那就是那些通过使用标准英语词汇更依赖于句子结构的技术,即忽略命名字段。有没有这样的模型或方法可用?CNN 或 RNN 会是答案吗?
machine-learning - spark word2vec window size
Is there anyway to change the window size used in pyspark.mllib.feature.Word2Vec
or is it permanently fixed at 5? This seems like a fairly important feature.
I don't see the option here: https://spark.apache.org/docs/1.4.1/api/scala/index.html#org.apache.spark.mllib.feature.Word2Vec
gensim - word2vec中窗口大小与实际句子长度的关系
我正在尝试在 .txt 文件的语料库上运行 word2vec(在 gensim 中实现的跳过语法模型,默认窗口大小为 5)。我使用的迭代器看起来像这样:
在这里,我使用 nltk 包中的 punkt 分词器(它使用无监督算法来检测句子边界)将文本拆分为句子。但是,当我将其替换为一个简单的line.split()
即仅将每个句子视为一行并拆分单词时,我得到的时间效率比使用 nltk 解析器快 1.5 倍。'with open' 中的代码如下所示:
我的问题是,对于 word2vec 算法来说,输入实际句子的句子有多重要(我试图用 punkt tokenizer 做的事情)?算法中的每个单词是否足以接收位于一行上的周围单词的上下文(在跨多行的句子的情况下,这些单词可能不一定是实际句子)而不是单词的上下文这个词在一个句子中可能有好几行。此外,窗口大小在其中起到什么样的作用。例如,当窗口大小设置为 5 时,Sentences 迭代器产生的句子大小是否不再起作用?那么只有窗口大小会决定上下文词吗?在那种情况下,我应该只使用line.split()
而不是尝试使用 punkt 标记器检测实际的句子边界吗?
我希望我能够充分描述这个问题,我非常感谢任何关于此的意见、指示或帮助。
convolution - CNN:从 word2vec 初始化未知词
我看到了这些幻灯片,Kim 关于 CNN 使用 word2vec 的介绍: http ://www.people.fas.harvard.edu/~yoonkim/data/Kim_EMNLP_2014_slides.pdf
在幻灯片 20 上,第四个要点如下:
现在我想知道如何计算“a”以及如何计算完全未知单词的整个向量。
machine-learning - DL4J 在 GoogleNews-vectors 文件上超级慢
我尝试在 DL4J 上执行以下示例(加载预训练的向量文件):
但它非常慢(尽管它们是正确的,但需要大约 10 分钟来计算最近的单词)。
有足够的内存 ( -Xms20g -Xmx20g
)。
当我从https://code.google.com/p/word2vec/运行相同的 Word2Vec 示例时
它很快就给出了最接近的词。
DL4J 使用声称比 Numpy 快两倍的 ND4J:http: //nd4j.org/benchmarking
我的代码有什么问题吗?
更新:它基于https://github.com/deeplearning4j/dl4j-0.4-examples.git(我没有触及任何依赖项,只是尝试阅读 Google 预训练向量文件)。Word2VecRawTextExample 工作得很好(但数据量相对较小)。
c - 将打算编译的 C 代码转换为 R 函数
我正在尝试学习如何在 R 函数中利用 C 代码,特别是因为我希望能够在 R 中使用word2vec。word2vec可用作 C 代码,并且在 linux 机器上,我可以使用它来make
编译它然后./word2vec -options
建立模型并用它做有趣的事情。我想按原样采用 C 代码,并将其包装到 R 函数中,以便我可以调用,word2vec(words)
并让它返回计算出的矩阵。
那么,有没有办法包含编写为编译成可执行文件的 C 代码,或者只调用编译后的可执行文件?
nlp - word2vec 或 skip-gram 模型如何将单词转换为向量?
我一直在阅读很多关于 NLP 的论文,并且遇到了很多模型。我得到了 SVD 模型并以 2-D 表示它,但我仍然不知道如何通过为 word2vec/skip-gram 模型提供语料库来制作词向量?它也是每个单词的共现矩阵表示吗?你能通过一个示例语料库来解释它:
基本上,skip gram 如何转换John
为向量?
java - Deeplearning4j Word2Vec:无法获得线性索引异常
我正在尝试使用 deeplearning4j 训练 Word2Vec 模型。
一切都很好,直到发生很多错误:
训练过程仍在继续,但似乎这个错误会影响结果。
错误仍然存在于版本0.0.3.3.4.alpha2
和0.4-rc1.2
这是完整的代码,在教程教程中实现
java - 我在 deeplearning4j 中使用 word2vec 训练词向量,但这些向量不稳定
1.我用IntelliJ IDEA搭建了一个maven项目,代码如下:</p>
这段代码参考了deeplearning4j中的word2vec,但结果不稳定。每次实验的结果差别很大。比如'day'和'night'相似度的余弦值,有时结果高达0.98,有时低至 0.4?
这是两个实验的结果
为什么会出现这样的结果。因为刚开始学习word2vec,有很多知识没看懂,希望前辈能帮帮我,谢谢!
java - 我在deeplearning4j中使用word2vec训练向量,但结果不稳定
1.我正在使用 IntelliJ IDEA 构建一个 maven 项目。代码如下:</p>
这段代码引用了deeplearning4j中的word2vec,但结果不稳定。每个实验的结果都非常不同。例如,以“day”和“night”相似度的余弦值,有时结果高达 0.98,有时低至 0.5。
以下是两次实验的结果:</p>
为什么结果是这样的?刚开始学习word2vec,有很多东西没看懂,希望前辈能帮帮我。