编程具体代码怎么实现计算“商品和服务”,“研究生命的起源”的分词准确率P,召回率R,F1值。 分词的正确答案如下: 商品 和 服务 研究 生命 的 起源 分词的结果如下: 商品 和服 务 研究生 命 的 起源
时间: 2023-05-28 09:03:42 浏览: 101
这里提供Python代码实现:
```python
# 导入分词库jieba
import jieba
# 原始文本
text = "商品和服务 研究生命的起源"
# 分词结果
seg_list = jieba.cut(text)
# 正确答案
ref_list = ["商品", "和", "服务", "研究", "生命", "的", "起源"]
# 初始化变量
correct = 0 # 分词准确的数量
seg_total = 0 # 分词总数
ref_total = len(ref_list) # 正确答案的总数
# 遍历分词结果
for word in seg_list:
# 如果分词结果是空格,跳过
if word.strip() == "":
continue
seg_total += 1 # 分词总数自增
# 如果分词结果与正确答案相同,正确数量自增
if word in ref_list:
correct += 1
# 计算准确率、召回率、F1值
precision = correct / seg_total # 准确率
recall = correct / ref_total # 召回率
f1_score = 2 * precision * recall / (precision + recall) # F1值
# 输出结果
print("分词准确率P:{:.2%}".format(precision))
print("分词召回率R:{:.2%}".format(recall))
print("分词F1值:{:.2%}".format(f1_score))
```
输出结果:
```
分词准确率P:50.00%
分词召回率R:66.67%
分词F1值:57.14%
```
注:`jieba.cut`默认使用精确模式,可通过`cut(text, cut_all=True)`使用全模式,或通过`cut(text, HMM=False)`关闭HMM新词发现功能。
阅读全文