一个句子可以有不同的解析树吗?

人工智能 自然语言处理
2021-11-06 05:13:24

我刚刚阅读了解析树的概念。

据我了解,一个有效的句子解析树需要由语言专家进行验证。所以,我得出结论,一个句子只有一个解析树。

但是,这是正确的吗?一个句子是否可能有不止一个有效的解析树(例如基于选区的)?

2个回答

但是,这是正确的吗?一个句子是否可能有不止一个有效的解析树(例如基于选区的)?

可以根据上下文(或“基础”)以不同方式解析单个单词序列这一事实是误解、误解、影射和笑话的常见基础。

一个经典的与 NLP 相关的“笑话”(比现代 AI 和 NLP 更长)是:

时光如箭,飞逝。

果蝇像香蕉一样。

即使是这些简单的句子,实际上也有几个有效的解析树哪些是“自然”出现的取决于上下文 - 有趣的是,当我年轻的时候,我只有一半得到了这个笑话,因为我不知道有果蝇这样的东西,所以我对文字部分感到困惑(但仍然有效地解析,并且有点有趣)意味着所有水果都可以像香蕉一样飞来飞去。

分析这些模棱两可的句子会导致基础问题——即使你知道规则并且可以构造有效的序列,如果没有一些符号所指,语法就没有意义。例如,上述笑话之所以奏效,部分原因是时间的性质,当以特定方式(单数名词,而不是另一个对象的拥有或财产)提及时,会导致对第一句话的众所周知的隐喻解读。

统计 ML 解析器可以通过对许多相关示例的训练(或者通过将示例本身包含在正确的解析树中)来使两个句子都正确。这并没有解决基础问题,但对于任何需要处理自然语言输入并将其映射到某些任务的机器来说,它可能具有实际用途。

不过,我前段时间确实检查过,Pythons NLTK 中的大多数词性标注器都把两个句子都弄错了——我怀疑是因为解决上述句子和人工智能“获取语言笑话”与聊天机器人的更实际用途相比并不是一个高优先级/总结者等

NLP 中的语法基本上对应于形式语言理论中的上下文无关语法(CFG) 。并且,如果 NLP 任务对应的 CFG不明确,则对应单个句子(更正式的推导),可以有多个 Parse Tree。
因此,是否可以存在不止一个有效的解析树取决于语法。