python - 我如何计算暂停预测中的短语
问题描述
我有一个任务来计算两个文本中的相同短语来计算暂停预测系统的准确性。
例如:
- 原句:I/1 have breakfast/1 before/1 going to/1 school。
- 暂停预测系统中的句子:I/1 have/1 Breakfast/1 before/1 going/1 to/1 school。
我必须得到的输出:-related_picked_up_phrase:
3 -related_not_picked_up_phrase:
2
-not_relevant:4
关于如何获取输出编号的说明:
- 对于相关选择_up_phrase:检查并计算两个句子之间的相同短语(I,之前,学校 = 3)
- 对于相关未选择_up_phrase:检查并计算原始句子中 2 个句子之间的不同短语(吃早餐,去 = 2)
- 对于 not_relevant:检查并计算来自暂停预测系统的句子中 2 个句子之间的不同短语(有,早餐,去,去 = 4)
我们如何在 python 中编写代码来计算短语以获得该输出?我试过了,但找不到确切的计算方法。
解决方案
到目前为止,您是否尝试过这种方法:
from multiset import Multiset
original = 'I/1 have breakfast/1 before/1 going to/1 school.'
prediction = 'I/1 have/1 breakfast/1 before/1 going/1 to/1 school.'
original_counts = Multiset(original.split('/1'))
prediction_counts = Multiset(prediction.split('/1'))
print('relevant_picked_up_phrase: ', (original_counts & prediction_counts))
print('relevant_picked_up_phrase: ', (original_counts - prediction_counts))
print('relevant_picked_up_phrase: ', (prediction_counts - original_counts))
print('relevant_picked_up_phrase: ', len(original_counts & prediction_counts))
print('relevant_picked_up_phrase: ', len(original_counts - prediction_counts))
print('relevant_picked_up_phrase: ', len(prediction_counts - original_counts))
您可能需要multiset
安装$ pip install multiset
推荐阅读
- python - SQS Poll 在阅读时删除消息
- sql-server - Docker 中的 SQL Server 2019:您可以通过指定 --accept-eula 命令行选项来接受 EULA
- hadoop - 无法启动 Ambari 服务
- ios - 在 Delphi FireMonkey 应用程序中探索 iOS 文件
- python - 更改终端字符大小(使用 python)
- javascript - 如何设置冒号字符之前的文本样式?
- java - Spring @Transactional 行为
- mysql - 我可以在 Flutter 中流式传输 MySQL 数据库吗?
- javascript - 如何在标题数据表上方添加一行?
- webgl - 如何只重复纹理的一部分?