rouge-chiese

url: https://pypi.org/project/rouge-chinese/1.0.1/?utm_source=chatgpt.com

使用注意事項

進行斷詞的物件務必是list,而非string
from ckip_transformers.nlp import CkipWordSegmenter
from rouge_chinese import Rouge

# 初始化 CKIP 斷詞模型(建議明確指定 model)
ws_driver = CkipWordSegmenter(model="albert-base") # 或bert-base

# 待處理句子(一定要以 list 形式輸入)
hypothesis = ["病人有發燒且頭痛,並伴隨咳嗽。"]
reference = ["這位病人出現發燒、頭痛與咳嗽的症狀。"]

# 進行斷詞
ws_h = ws_driver(hypothesis)
ws_r = ws_driver(reference)

# 將詞組合回字串,以空格分隔
hypothesis_seg = ' '.join(ws_h[0])
reference_seg = ' '.join(ws_r[0])

# 計算 ROUGE 分數
rouge = Rouge()
scores = rouge.get_scores(hypothesis_seg, reference_seg)
print(scores)

使用jieba

from rouge_chinese import Rouge
import jieba # you can use any other word cutting library

hypothesis = "病人有發燒且頭痛,並伴隨咳嗽。" # '病人 有 發燒且 頭痛 , 並伴 隨 咳嗽 。'
hypothesis = ' '.join(jieba.cut(hypothesis)) 

reference = "這位病人出現發燒、頭痛與咳嗽的症狀。"
reference = ' '.join(jieba.cut(reference)) # '這位 病人 出現 發燒 、 頭痛 與 咳嗽 的 症狀 。'

rouge = Rouge()
scores = rouge.get_scores(hypothesis, reference)