首页 > 解决方案 > 我如何计算暂停预测中的短语

问题描述

我有一个任务来计算两个文本中的相同短语来计算暂停预测系统的准确性。

例如:
- 原句: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 中编写代码来计算短语以获得该输出?我试过了,但找不到确切的计算方法。

标签: pythonarrayspython-3.xphrase

解决方案


到目前为止,您是否尝试过这种方法:

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


推荐阅读