用于影响英语的软件

时间:2010-06-20 02:01:56

标签: linguistics

有没有可以执行以下操作的软件?

给出像

这样的英文句子
  

“他喜欢烤豆”,

我将“他”改为“我”,句子改为

  

“我喜欢烤豆”

(注意S)

  

“她的头发扎成马尾辫”

我将“她”改为“他”,句子改为

  

“他的头发扎成马尾辫”。

同样,可以将句子改为过去时,

  

“她的头发扎成马尾辫”。

这样的软件是否存在?

2 个答案:

答案 0 :(得分:2)

我不知道。

但是,您可能希望查看nltk.org(自然语言工具包),这是一个用于自然语言处理的Python库,它具有许多可能非常有用的功能,例如POS(词性) )标记。

当然,如果你自己编写这样的软件就可以了,对不起,如果它与你想做的事情无关。

答案 1 :(得分:1)

我也不知道,但我会尝试提出一些建议。

  • Snowball可以使用porter词干系统对许多单词进行规范化,但结尾通常是不正确的。可能的是使用例如来自例如的单词列表。 Moby CROSSWD.TXT,使用雪球找到共同的根并从结尾猜测时态(例如edd的结尾可能是过去时等。)PyStemmer有包装对于python,如果这是你使用的,但我找不到任何Windows二进制文件,所以为了我的目的,我必须自己构建它。

    请记住,这种方法容易出错,并且它会正常化,例如triestry规范化为tri,并且有许多例外,这不起作用。一些实现(我相信houbysoft提到的nltk中的一个)有许多例外预编程,但问题是英语是一种不规则的语言,它修复了某些词的变形,但打破了其他词。

  • 另一种方法是解析WordNet数据,我认为这些数据有变形的“类”,以及单词不符合规则的例外情况。这是一项非常繁重的任务,我尝试使用various man pages解析它并且尚未成功(请参阅http://wordnet.princeton.edu/man/morphy.7WN.html以获取有关解析变形的信息。)

  • 您可以尝试解析来自OpenOffice的拼写数据或类似的东西,因为它们通常将单词组合成“类”,这对于区域(例如澳大利亚/英国英语等)尤其具有吸引力,尽管它没有告诉你每个单词所在的变形等。

无论如何,我希望这会有所帮助,我认为nltk库是一个很好的起点,因为它有porter(以及各种其他词干实现)和大量示例代码。

另见How do I do word Stemming or Lemmatization?