我从文档中提取了大量单词。语料库中的单词可能含义相同。 例如:“命令”和“命令”表示相同,“苹果”和“应用”表示不相同。
我想合并类似的单词,说“命令”和“命令”到“命令”。 我尝试使用word2vec,但是它不检查单词的语义相似性(它对苹果有很好的相似性,并且因为单词中的四个字符相同而适用)。而且,当我尝试使用wup相似度时,如果单词具有匹配的同义词,但结果却不那么令人印象深刻,那么它的相似度得分就很高。
减少语义上相似的单词以消除冗余数据并合并相似数据的最佳方法是什么?
答案 0 :(得分:0)
我相信这里的选项之一是使用WordNet。它为您提供了该单词的同义词列表,因此您可以在知道其词性的情况下将它们合并在一起。
但是,我想指出的是,“命令”和“命令”并不相同,例如您不会在餐馆里命令食物,这种同音异义对于许多单词都是正确的。
我还要指出,由于Word2vec的拼写是无关紧要的,根本没有考虑,因此该算法仅考虑并发用法。我想您可能将其与FastText混合使用。 但是,您的模型应该存在一些问题。 因为在一组标准的嵌入中,这些概念之间的距离应该很大。 “苹果”和“应用”之间的MUSE FastText相似度仅为0.15,这非常低。
我使用Gensim的功能
model.similarity("apply", "apple")
因此,您可能需要修正学习参数或仅使用预先训练的模型。