Python短语标记

2024-04-26 13:32:13 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有这样一句话 sent=“安全部门列举了许多故意违反安全规定的案例,原因是由于许多工人死亡,他们未能提供和确保在轨道车顶部的工人使用坠落保护装置。”

vio=“因未能提供并确保在轨道车顶部的工人使用坠落保护装置而违反安全规定”

inc=“工人死亡。”

结果输出应为:

安全措施没有提到很多安全措施,没有人故意违反安全措施,没有人提供安全措施,没有人确保使用安全措施,没有人坠落,没有人在轨道车上保护工人,因为没有很多工人死亡

请让我知道python脚本,这将帮助我得到这个输出


Tags: 脚本原因案例sentinc工人轨道vio
1条回答
网友
1楼 · 发布于 2024-04-26 13:32:13
vio = re.findall(r"[\w']+|[.,!?;]", vio)
inc = re.findall(r"[\w']+|[.,!?;]", inc)

sent = re.findall(r"[\w']+|[.,!?;]", sent)

labels = {"VIO": vio,
          "INC": inc}
labelled = []
for w in sent:
    label = "_NONE"
    for l, criteria in labels.items():
        if w in criteria:
            label = "_"+l
    labelled.append(w + label)
result = " ".join(labelled)

相关问题 更多 >