将列表中的字符串与同一列表中的所有其他字符串进行比较,以创建相似度得分

时间:2019-05-14 19:10:22

标签: python-3.x string list jupyter-notebook comparison

在Excel中,我有600多个课程名称列。有些名称彼此非常相似,有些则不同。名称范围从3个字长到10个字长。 我已经使用Python3将Excel文件导入到Jupyter笔记本中,并使用熊猫创建了数据框。

我想做的是设置一个代码,该代码以“课程名称#1”开头,并将其(词频/相似度)与该列中的其他所有课程名称进行比较,并为每个比较分配相似度得分(类似1 -100)。这些相似性分数将保存在矩阵/阵列中。

然后,我想重复此过程,将“课程名称2”与其他所有课程名称(“课程1”除外,因为已经完成)进行比较,然后继续填写先前设置的数组。

将所有字符串彼此之间的比较分数填充到矩阵中继续相互比较字符串。

然后,我将能够查看矩阵,看看哪些课程是重复的,或者至少哪些课程非常相似,而哪些课程完全不同。

我看了一些来自NLTK和其他看起来很有希望的不同的字符串比较建议。尤其是单词频率和余弦相似度。

有些课程名称如“敏捷训练营”和“敏捷训练”,我希望它们具有较高的相似度,因为它们中都带有“敏捷”,而“敏捷训练营”和“高级领导力训练”应该具有比较分数低。

如果我也可以设置矩阵,则可以使用简单的热图来比较比较并找到课程名称的相似性。

0 个答案:

没有答案