我应该使用什么技术来比较一堆文本之间的相似性?

数据挖掘 nlp 相似 余弦距离 类似文件
2022-03-06 11:39:57

如果我有一个存储为原始文本的职位发布列表,并且我想比较所有职位发布与给定简历的相似性,我应该使用什么技术或算法?

我正在考虑从一个模型开始,该模型使用 TF-IDF 将职位发布转换为向量空间,然后只计算矩阵余弦相似度。我可以改进吗?

2个回答

到目前为止,我可以想到两种方法来表述这个问题:

1.搜索问题

解析您的工作列表并在 Solr 或 ElasticSearch 等某种搜索引擎中将它们编入索引。您可以使用 Word2Vec模型构建语义搜索等功能。

现在编写一个查询引擎,它接受简历并查询这个搜索引擎。由于工作列表将全部编入索引,因此速度将非常快。

2. 相似性问题

我会创建混合相似函数。例如:

a) 简历和职位列表匹配了多少个热门关键词

b) 使用Doc2Vec的简历和工作列表的相似性(工作列表的预计算向量)

c) 使用局部敏感散列等算法来减少查找空间

这种方法会很慢,但可能会产生良好的结果。

从 开始named entity recognition,它给出了发布的哪一部分是要求,哪一部分是描述的想法,然后你可以尝试只用词袋。由于主题结构和词汇是标准的,并且单词重要性不需要权重,因此我找不到在这里使用 TF-IDF 的理由。