神秘的余弦相似性

NLP场景的数学直觉和实际考虑因素首先在数据科学上出现了余弦相似性。

来源:走向数据科学

是一个常用的指标,用于操作任务,例如语义搜索和自然语言处理领域(NLP)的文档比较。入门NLP课程通常只为在此类任务中使用余弦相似性(而不是欧几里得距离)提供高级理由,而无需解释潜在的数学,而许多数据科学家对主题具有相当模糊的理解。为了解决这一差距,以下文章列出了余弦相似性指标背后的数学直觉,并显示了这可以帮助我们通过Python中的动手实例来解释实践中的结果。

注意:以下各节中的所有数字和公式都是由本文的作者创建的。

注意:

数学直觉

余弦相似性指标是基于读者可能回想起的余弦功能。余弦函数表现出重复的波浪状模式,下面的图1中的完整周期为0 <= x <= 2*pi。还包括用于产生该图的Python代码以供参考。

x pi
导入numpy作为npimport matplotlib.pyplot as plt#定义x范围从0到2 * * pix = np.linspace(0,2 * np.pi,500,500)y = np.cos(x)#创建plotplt.figure(figsize =(figsize =(figsize =(8,4)) x轴在pi/2和3*pi/2notch_positions = [0,np.pi/2,np.pi,3*np.pi/2,2*np.pi] notch_labels = ['0 '2*pi'] notch_positions中的x_val x-values:plt.axvline(x = x_val,color ='灰色',linestyle =' - ',lineWidth = 0.5)#自定义plotplt.xlabel(“ x”)plt.yylabel(x')
图1:余弦函数
a b c cos(x) 语义重叠 u v n
视频
这个