什么是语义角色标注?AI 如何分清谁对谁做了什么

语义角色标注是什么?AI 如何标出一句里的施事、受事、时间和工具,它和依存句法、事件抽取有何不同,以及被动和省略为什么容易标错。

什么是语义角色标注?AI 如何分清谁对谁做了什么
编辑部 ·

语义角色标注(Semantic Role Labeling)是给句子里的动作标出参与者角色:谁是施事、谁是受事、工具、时间和地点分别是什么。

例如「张伟用邮件把合同发给了李娜」。动作是「发给」,施事是张伟,受事是合同,接受者是李娜,工具是邮件。

它和语法关系不是一回事

依存句法看词语之间的语法关系,比如谁是主语、谁是宾语。语义角色看的是意思:被动句里语法主语变了,施事仍然是做动作的那个人。

它也和事件抽取互补。事件抽取记录一次发布、收购或辞职;语义角色标注先把这一句里「谁对谁做了什么」标清楚,后面才好把多次事件对齐。人和机构本身,仍然先靠命名实体识别找出来。

角色要跟着动作走

同一个名词在不同动作下角色会变。「公司」在「公司收购了对手」里是施事,在「对手收购了公司」里是受事。不能只凭词的位置判断。

否定、被动和省略也会把角色藏起来。例如「合同被寄出了」没有写出寄件人,这时应标成角色缺失,而不是随便补一个人。

怎样少标错?

让每个角色回到原句中的那一段。一句话有两个动词时分开标注,避免把时间和对象串到另一个动作上。评测时准备被动句、省略主语,以及「没有寄出」这类否定句。

小结

语义角色标注让 AI 分清一句里谁做事、谁被影响、用了什么。它适合信息抽取和阅读理解,关键角色仍要回原文核对。