是否有任何库用于计算一对句子的语义相似度分数?
我知道WordNet的语义数据库,以及我如何生成2个单词的分数,但我正在寻找能够完成所有预处理任务的库,如整个句子和输出中的端口阻塞,停止单词删除等这两个句子的相关程度得分.
我找到了一个正在使用.NET框架编写的工作,该框架使用一系列预处理步骤来计算得分.是否有任何项目在python中执行此操作?
我不是在寻找可以帮助我找到分数的操作顺序(正如
我在这里要求的那样)
我喜欢自己实现每个阶段,或者从不同的库中粘合函数以便它适用于句子对,但我需要这个作为测试数据推断的工具.
编辑:我正在考虑使用NLTK并计算在两个句子上迭代的每对单词的分数,然后从结果的标准偏差中得出推论,但我不知道这是否是相似性的合理估计.另外,对于长琴弦来说,这需要很多时间.
同样,我正在寻找已经智能地实现这一点的项目/库.让我这样做的东西:
import amazing_semsim_package
str1='Birthday party ruined as cake explodes'
str2='Grandma mistakenly bakes cake using gunpowder'
>>similarity(str1,str2)
>>0.889
Run Code Online (Sandbox Code Playgroud) 我有一个返回列表的函数,我想使用紧凑的生成器表达式(或任何好的和紧凑的)在列表上调用时合并该函数的输出
假设我有一个 def foo(bar):
where bar是整数,它在一些疯狂的复杂计算后返回一个列表.
foo(1)=[9,1,5]
foo(2)=[1]
foo(3)=[7,1]
arr=[1,2,3]
Run Code Online (Sandbox Code Playgroud)
如何arr=[9,1,5,1,7,1]
在一行代码后获得希望?
arr=[foo(x) for x in arr]
给了我[[9,1,5],[1],[7,1]]
而我不想写另一行来推出列表中的列表.