如何测量单词或简短文本之间的相似度

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

我正在研究在文档列表中查找最近的文档的问题。每个文档都是一个单词或一个很短的句子(例如“牛仔裤”或“机器工具”或“生物番茄”)。最接近的意思是在语义上接近。

[我曾尝试使用word2vec嵌入(来自Mikolov的文章),但是比语义上最接近的词或更与上下文相关的链接(按预期方式,“牛仔裤”链接到“鞋子”,而不是“裤子”)。

我已经尝试在最后一层使用Bert编码(https://mccormickml.com/2019/05/14/BERT-word-embeddings-tutorial/#32-understanding-the-output,但它面临相同的问题。

我已经尝试过弹性搜索,但是找不到语义上的相似之处。(该任务需要用法语解决,但也许用英语解决是一个不错的第一步)

elasticsearch nlp word2vec nearest-neighbor word-embedding
1个回答
0
投票

请注意,不同的词向量集在捕获所需“语义”相似性方面的程度可能有所不同。 (特别是,使用较短的window进行训练可能会强调彼此直接替换的单词之间的相似性,而不是仅用于相似的域,因为较大的window值可能会强调。请参阅this answer有关更多详细信息。)

[您可能还想看看“移词器的距离”,以比较包含一些相似单词的各种混合形式的短文本。 (这是相当昂贵的,但是应该适合您的短文本。它在Python gensim库中可以作为wmdistance()实例上的KeyedVectors使用。)

[如果您有使用特定多词短语的训练数据,则在许多类似自然语言的微妙上下文中,您可以考虑将所有此类感兴趣的短语组合成单个标记(例如machine_tool或[ C0]),并训练自己的特定领域单词向量。

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