请求使用python-nltk的指代消解示例

4 投票
1 回答
4785 浏览
提问于 2025-04-18 08:00

我一直在研究nltk-drt的使用方法,还有nltk.sem.drt模块的定义,但我发现要用这些工具实现基本功能真的很困难。

我想实现的一个任务是这样的:给定一个句子

谷歌是最大的科技公司之一。它雇佣了很多人。

我希望能写一个小函数,解析这样的句子,然后返回一个像这样的句子

谷歌是最大的科技公司之一。谷歌雇佣了很多人。

一个更现实的测试案例可以是这样的

汤姆、迪克和哈里被邀请参加她的派对,但拒绝了。这让雪莉很生气。

希望能变成

汤姆、迪克和哈里被邀请参加雪莉的派对,但拒绝了。这让雪莉很生气。

1 个回答

11

我觉得DRT(话语表示理论)并不处理你想要的指代消解问题。它主要是用正式逻辑来表示句子的意思。

另外,你提到的“更真实的测试案例”有个专门的名字,叫做"前指"。

指代消解确实比较难,但你可以试试斯坦福的DCoref工具。

这里有一些例子可以参考:使用斯坦福Coref进行指代消解

撰写回答