Python中的单词分析

数据挖掘 Python nlp nltk 余弦距离 文本
2022-02-03 17:09:34

我有一个看起来像这样的文件列表:

["Display is flickering"]
["Battery charger is broken"]
["Hard disk is making noises"]

这些文本文档只是自由文本。我已经处理了标记化、词形还原、停用词删除,现在我想根据单词列表分配标签。例子:

{"#display":["display","screen","lcd","led"]}
{"#battery":["battery","power cord","charger","drains"]}
{"#hard disk":["hard disk","performance","slow"]}

文本规范化后,我有:

["Display is flickering"] -> ["display","flicker"]

推荐什么技术来比较 document: ["display","flicker"] 和我的字典并返回最匹配的值?在这种情况下,我想:

["display","flicker"] = "#display":"display"
["battery","charger","broke"] = "#battery":"charger"

基本上,它将令牌中的文档 A 与其他文档的列表 B 进行比较,并返回列表 B 中具有更常见匹配的文档。

我正在使用TF,但想知道是否还有其他技术、代码示例可供使用。

2个回答

您可以使用词嵌入来比较整个短语。我知道两种模型:谷歌的word2vec和斯坦福的GloVe现在,单词嵌入最适用于单词。但是,您可以连接短语中的每个单词并重新训练模型。之后,您可以计算它们的相似度(例如,余弦相似度)并查看整个短语在语义上的相似度。

希望这可以帮助。

您尝试做的事情称为多类和多标签文本分类。在这里查看教程