4

我正在寻找一种方法来分析一串文本并找出它是用哪种时态写的,例如:“我要去商店”== 当前,“我买了一辆车”== 过去等。 .

关于我如何做到这一点的任何提示?

4

6 回答 6

4

是的,这将是非常困难的......我已经开始为一个快速的周末项目做类似的事情,直到我意识到这一点......尽管如此,这里有一个我发现很有帮助的资源。

从普林斯顿大学下载 Wordnet 3.0 的源代码,它有一个英语单词数据库。文件 /dict/index.verb 是现在时英语动词的列表,您应该能够以 CSV 格式将其导入数据库,而不会有太多麻烦。从那里开始,您就靠自己了,并且需要弄清楚如何处理英语的怪异之处。

于 2009-08-03T20:21:41.033 回答
3

这可能是一个相当艰巨的过程。你想得到多详细的信息?您只想考虑过去、现在和未来吗?或者你想考虑简单现在,现在进行,简单过去等?

在任何情况下,您还必须评估肯定形式、否定形式和问题形式。可以在http://www.ego4u.com/en/cram-up/grammar/tenses找到一个可以提供帮助的在线图表

注意规则和信号词。

于 2009-08-03T20:11:08.777 回答
2

标记/从数据库/文件中查找动作词(或者至少,猜测 - *th=past,例如)/计算时态命中?

于 2009-08-03T20:03:54.300 回答
2

对于这样的任务,我相信正则表达式是不够的:这是一项相当艰巨的任务......

要么你不会从正则表达式中得到任何好处,要么你会以某种超级怪物正则表达式结束,即使你也无法理解和维护......

这可能需要的不仅仅是正则表达式......我想像某种“语言引擎”之类的东西......

于 2009-08-03T20:05:40.783 回答
1

如果您确实需要它并且不只是在玩,您可以看看nltk。解析是一件复杂的事情。解析自然语言更加复杂。而解析高度不规则的语言,比如英语,则更糟。如果你能缩小问题范围,你就有更好的机会找到解决方案。

你需要它做什么?

于 2009-08-03T20:34:16.530 回答
0

您可以在 Ian Barber 的PHP/ir站点找到 PHP 的基本 Brill Parser 实现。该算法将标记你的话。

如果输入“我认为”,结果将是:

I/NN 思考/VBP

NN=名词,VBP=动词现在

于 2014-09-01T13:08:20.410 回答