我正在研究在文档列表中查找最近的文档的问题。每个文档都是一个单词或一个很短的句子(例如“牛仔裤”或“机器工具”或“生物番茄”)。最接近的意思是以语义方式关闭。
我尝试使用word2vec嵌入(来自Mikolov的文章),但是最接近的词或上下文链接比语义链接更紧密(按预期方式,“牛仔裤”链接到“鞋子”,而不是“裤子”)。
我尝试在最后一层使用Bert编码(https://mccormickml.com/2019/05/14/BERT-word-embeddings-tutorial/#32-understanding-the-output),但它面临相同的问题。
我尝试了 Elasticsearch ,但是没有找到语义上的相似之处。
(该任务需要用法语解决,但也许用英语解决是一个很好的第一步)
最佳答案
请注意,不同的词 vector 集在捕获所需“语义”相似性方面的程度可能有所不同。 (特别是,使用较短的window
进行训练可能会强调彼此替换的单词之间的相似性,而不是仅用于相似的域,因为较大的window
值可能会强调。有关更多详细信息,请参见this answer。)
您可能还想看看“移词器的距离”,以比较包含一些相似单词的各种混合形式的短文本。 (这是相当昂贵的,但是应该适合您的短文本。它可以在Python gensim
库中作为wmdistance()
实例上的KeyedVectors
使用。)
如果您拥有在特定的多词短语中使用特定多词短语的训练数据,则可以考虑将所有此类感兴趣的短语组合成单个标记(例如machine_tool
或biological_tomatoes
),然后进行训练您自己的特定 Realm 的词 vector 。
关于elasticsearch - 如何测量单词或非常短的文本之间的相似性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60858810/