1、similarity函数接收两个列表,并返回由两个列表中相同元素组成的列表。
2、函数使用列表推导,遍历所有a列表中的元素,并使用in关键词来判断这些元素是否存在于b列表中。
实例
1
2
3
4
5
|
def similarity(a, b): return [item for item in a if item in b] # EXAMPLES similarity([ 1 , 2 , 3 ], [ 1 , 2 , 4 ]) # [1, 2] |
知识点扩充:
python 语义similarity_Python:string的语义相似度得分
Python:string的语义相似度得分
有没有用于计算一对句子的语义相似度分数的库?
我知道WordNet的语义数据库,以及如何为2个单词生成分数,但是我正在寻找能够在整个句子和输出中执行所有预处理任务(如端口词干,停用词删除等)的库两个句子如何相关的分数。
我发现了一个使用.NET框架编写的工作 ,它使用一系列预处理步骤来计算分数。 有没有任何项目,在Python中做到这一点?
我不是在寻找能够帮助我find分数的操作顺序(就像这里要求的那样)
我喜欢自己实现每个阶段,或者从不同的库中粘贴函数,以便它可以用于句对,但是我主要需要这个工具来testing数据的推论。
编辑:我正在考虑使用NLTK和计算每两个单词对这两个句子迭代的得分,然后从结果的标准偏差中得出推论,但我不知道这是否是一个合理的相似性估计。 另外,这将花费很长的时间。
再次,我正在寻找已经实现这个智能的项目/库。 东西,让我这样做:
import amazing_semsim_package str1='Birthday party ruined as cake explodes' str2='Grandma mistakenly bakes cake using gunpowder' >>similarity(str1,str2) >>0.889
我见过的最好的包装是在Gensim主页find的Gensim 。 我已经使用过很多次了,总体而言非常满意,它的易用性, 它是用Python编写的,并且有一个简单的跟随教程来开始,它比较了9个string。 它可以通过点安装,所以你不会有很多麻烦得到它安装,我希望。
你使用哪种评分algorithm在很大程度上取决于你的问题的背景,但是如果你想要一些基本的东西的话,我build议开始使用LSI的function。 (这是教程引导你通过。)
如果您阅读gensim教程,它将引导您通过比较两个string,使用Similaritiesfunction。 这样可以让你看到你的叮咬是如何根据它们所包含的文字相互比较的,或者是一些其他的刺痛。
到此这篇关于python中similarity函数实例用法的文章就介绍到这了,更多相关python中similarity函数的使用内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://www.py.cn/jishu/jichu/34387.html