我想计算两个词之间的欧几里德距离。首先,对每个音素进行矢量化:
g = (0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0)
a = (0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0)
k = (0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0)
n = (0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0)
N = (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
例如,两个单词“gaN”和“gak”之间的距离是
^{pr2}$我想做的是一个巨大的矩阵,显示800多个单词之间的所有距离。这应该像下表所示(如csv文件)
gaN gak gan gal ...
gaN 0 1.73 1.41
gak 1.73 0 2.24
gan 1.41 2.24 0
gal
...
有人能帮我吗?我目前正在使用Python,但R也可以。在
如你所知,欧几里得距离只能在数字对象上操作。我不确定什么是现象,但是如果你已经有了所有单词的数字表示,那么它应该是微不足道的。(在这种情况下,您的问题是将距离矩阵转换回GaN,gak表吗?如果是这样,则需要更多关于如何从那里到现象对象的信息。在
至于转换成csv,那是微不足道的。实际上,您可以使用优秀的
pandas
软件包额外添加零行代码:将熊猫作为pd导入 距离=pd数据帧(欧几里得距离(tbl1,tbl2))。到\u csv('距离.csv')
相关问题 更多 >
编程相关推荐