首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对两个列表进行比较,从而发现一个列表中一个单词在第二个列表中有多少次?

如何对两个列表进行比较,从而发现一个列表中一个单词在第二个列表中有多少次?
EN

Stack Overflow用户
提问于 2022-11-30 07:59:03
回答 3查看 29关注 0票数 0

我有两个列表,一个包含由人类选择的真值,另一个包含提取的值。我想根据提取的列表中包含多少真值来衡量管道的性能。示例:

代码语言:javascript
复制
extracted_value = ["value", "of", "words", "that", "were", "tracked"]
real_value = ["value", "words", "that"]

我需要一个度量来描述:3个实值中有3个被提取出来。

对于多个文档:10个实值中有5个被提取,3个实值中有2个被提取,9个实值中有1个被提取出来。

根据个人的比较,我能得到一个分数来描述提取的关键字在所有文档中的平均表现吗?

EN

回答 3

Stack Overflow用户

发布于 2022-11-30 08:03:15

像这样简单的东西会起作用吗?

代码语言:javascript
复制
score = len([x for x in real_value if x in extracted_value])/len(extracted_value)
print(score)
>>> 0.5
票数 1
EN

Stack Overflow用户

发布于 2022-11-30 08:12:40

你要找的标准是召回。@sfat的解决方案对于单个文档运行良好,然后您可以通过sum明得到多个文档的平均值--分数,然后除以文档的len

要获得更高级的检索评分,请查看链接文章的F分数部分。

票数 0
EN

Stack Overflow用户

发布于 2022-11-30 08:14:59

检查extracted_value和real_value之间共享了多少值。我相信您正在寻找您的模型的召回,您可以使用set操作,具体来说&(和)除以您的基本真理(real_values):

代码语言:javascript
复制
recall = len(set(real_value) & set(extracted_value))/len(real_values)

或者,如果您想要确切地共享哪些特定值,则可以始终使用以下值的len

代码语言:javascript
复制
shared_vals = set(real_value) & set(extracted_value)

如果您想用shared_vals计算召回量:

代码语言:javascript
复制
recall = len(shared_vals)/len(real_value)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74624497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档