有没有可以执行以下操作的软件?
给出像
这样的英文句子“他喜欢烤豆”,
我将“他”改为“我”,句子改为
“我喜欢烤豆”
(注意S)
或
“她的头发扎成马尾辫”
我将“她”改为“他”,句子改为
“他的头发扎成马尾辫”。
同样,可以将句子改为过去时,
“她的头发扎成马尾辫”。
这样的软件是否存在?
答案 0 :(得分:2)
我不知道。
但是,您可能希望查看nltk.org(自然语言工具包),这是一个用于自然语言处理的Python库,它具有许多可能非常有用的功能,例如POS(词性) )标记。
当然,如果你自己编写这样的软件就可以了,对不起,如果它与你想做的事情无关。
答案 1 :(得分:1)
我也不知道,但我会尝试提出一些建议。
Snowball可以使用porter词干系统对许多单词进行规范化,但结尾通常是不正确的。可能的是使用例如来自例如的单词列表。 Moby CROSSWD.TXT,使用雪球找到共同的根并从结尾猜测时态(例如ed
或d
的结尾可能是过去时等。)PyStemmer有包装对于python,如果这是你使用的,但我找不到任何Windows二进制文件,所以为了我的目的,我必须自己构建它。
请记住,这种方法容易出错,并且它会正常化,例如tries
和try
规范化为tri
,并且有许多例外,这不起作用。一些实现(我相信houbysoft提到的nltk中的一个)有许多例外预编程,但问题是英语是一种不规则的语言,它修复了某些词的变形,但打破了其他词。
另一种方法是解析WordNet数据,我认为这些数据有变形的“类”,以及单词不符合规则的例外情况。这是一项非常繁重的任务,我尝试使用various man
pages解析它并且尚未成功(请参阅http://wordnet.princeton.edu/man/morphy.7WN.html以获取有关解析变形的信息。)
您可以尝试解析来自OpenOffice的拼写数据或类似的东西,因为它们通常将单词组合成“类”,这对于区域(例如澳大利亚/英国英语等)尤其具有吸引力,尽管它没有告诉你每个单词所在的变形等。
无论如何,我希望这会有所帮助,我认为nltk
库是一个很好的起点,因为它有porter
(以及各种其他词干实现)和大量示例代码。