我正在寻找一种检测人称代词是第一人称(I),第二人称(您)还是第三人称(他们)的方法。该代码正在寻找是否有人在谈论自己,但也有其他一些应用程序。

python库将是很棒的,但不是必需的。 nltk.pos_tag会告诉我什么是人称代词,但我似乎无法获得更多的信息。

是否存在这样的东西?

最佳答案

写下自己是微不足道的。如您所说,NLTK可以给您所有代词,并且您可以轻松编写一个函数以通过简单的字符串匹配返回详细的形态分析。只需将标记为代词的事物传递给所述函数即可。

代词是所谓的“封闭式”单词,即数量有限(且数量很少)。没有办法(用英语)产生新代词。另一方面,名词是“开放类”,即,您可以生成新名词(复合名词,例如“海狸牙齿”或您拥有的东西)。

因此,您只使用f(x) = if x == "I" || x == "me" || x == "my" then return "1st. person singular" ...之类的东西。显然,您不希望返回字符串,而是返回更多信息,例如具有字段numberperson以及可能包含possessive甚至case的对象。

还有一件事:由于NLTK是统计标记器,因此有时会将其标记为根本不是的代词。在这种情况下,您应该准备返回错误条件。

关于nlp - 检测第一/第二/第三人称代词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21718632/

10-13 01:33