我一直在做一项文本分析任务。在这里我应该识别段落中使用最多的单词。
我正在使用算法- npm软件包,为目的。这为我提供了在我的案文中重复最多的词。
这个包运行得很好,但我仍然有两个问题:
(1)我得到了如下所示的一系列标签:
“整合”、“整合”、“策略”、“对话”、“演示”、“测试”
在这里,“整合”和“整合”都有着相同的含义。我想避免这里的“整合”。
(2)使用重复次数最多的单词识别标签。我的输入段落中有“定价”、“成本”、“支付”等词,但由于不是完全匹配的,所以我没有得到“成本”或类似的标签。
任何一种逻辑的改进都会帮助我完成任务。
我已经尝试过许多同义词、名词、动词等同义词库,但这似乎行不通。让我提一下我已经尝试过的包裹:
词库-com
句子相似性
串相似
复式
字网
节点-雪球
数据使用
我还试着设置一个阈值,并匹配单词‘integration’& 'integration',它确实删除了‘integration’标签,但也影响了我需要在那里的其他一些标记。
提前感谢
发布于 2019-09-26 11:52:59
你的问题在于深入理解自然语言。你不仅在处理“找到”相似的词,你还在处理这些词下面的概念。
在您的例子中,“集成”和“集成”在所有上都不是相似的。它们甚至不是同义词。一个是动词,另一个是名词,一个是动作,另一个是情景。
他们所做的就是共享一个共同的语义根-> --将事物整合为一个整体的想法。
(到目前为止)没有可用的工具来做这件事。您可以使用多种工具的混合。
你提到Wordnet并说它不起作用。然而,这可能是解决您的问题的最佳选择。Wordnet自己的解释显示了它在您的情况下是如何有用的:
“在WordNet中,名词、动词、形容词和副词被归类为认知同义词( Synsets ),每个同义词表达一个不同的概念。同义词集通过概念-语义和词汇关系相互关联。”和 "WordNet“在表面上类似于同义词库,因为它根据词义将单词组合在一起。然而,也有一些重要的区别。首先,WordNet相互联系的不仅仅是单词形式--字母串--而是特定的词义。因此,网络中彼此相近的单词在语义上被消除歧义。- WordNet官方网站。
使用wordnet,您可以找到真正的同义词并将它们组合在一起(例如,“定价”和“成本”-“支付”是另一个故事……)
现在,对于您最初的“集成”和“集成”,如果您真的想将它们组合在一起,那么添加另一种启发式方法,使用词干将单词按词干组合在一起(因为这依赖于词干规则,所以不能保证100%的时间起作用)。
https://stackoverflow.com/questions/58115843
复制相似问题