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