如何在word2vec(使用tensorflow)中处理复合名词(动物名)?

问题描述 投票:0回答:1

有人对如何使用 w2v (使用tensorflow而不是gensim)与包含复合名词和非复合名词的语料库有任何建议吗?特别是关于动物名称(英文)?例如“红熊猫”,“飞狐”,“象海豹”,而语料库也包含“熊猫”,“狐狸”,“大象”和“海豹”,所以我希望这些是单独的标记。

有什么想法吗?

tensorflow tokenize word2vec large-language-model
1个回答
0
投票

Word2vec 只知道您传递给它的标记。如果您希望 some 多词实体成为单个学习的词向量,则需要预处理文本以将它们组合起来,例如将原始 2 个标记

['red', 'panda']
(因为它们出现在更大的上下文中)更改为
['red_panda']
相反。

有很多潜在的方法可以做到这一点。 Gensim 包含一个

Phrases
工具,该工具可以使用统计措施来衡量标记对一起出现的频率,而不是独立出现的频率,以将对(又名“二元组”)合并为单个标记 - 具有可调阈值。 (这项技术是与原始的 word2vec 出版物一起描述的。)多次运行这种“配对”甚至可以构建三元组、四元组等 - 并且生成的文本通常更适合各种分类/信息检索目标。

但是,结果通常是不美观的,无论调整得多么好,都会有一些多重语法对人类审阅者来说没有意义,而其他您希望它结合起来的多重语法还不够复杂,无法完成。因此,您不会真正向最终用户/非专业用户显示结果,只需用作其他可评估流程的原始文本。

还有许多其他“实体识别”或“名词短语检测”系统可能有效,具体取决于您的目标。如果您的领域足够好理解,您可以列出所有此类所需的组合 - 例如所有常见的双字动物类型 - 机械替换可能就足够了。更深层次的神经网络语言模型,凭借对语法和上下文的更好理解,还可以将多词实体合并为单个标记(在其更高的训练/推理资源要求下)。

© www.soinside.com 2019 - 2024. All rights reserved.