2014-03-03 78 views
5

Q1.我想要得到一个完整句子的时态,只是不知道如何使用nlp来完成。 任何帮助表示赞赏。使用stanford nlp发现一个句子的时态

Q2。可以使用nlp从句子中提取所有信息?

目前可以, 我得到:1.句子 的声音2.subject对象动词 3.POS标签。

更多信息可以提取,请让我知道。

+0

我要完整时态例如:简单的礼物或目前完美的连续式......据我所知,我无法简单地从POS标签中获得 – swapyonubuntu

+0

请问我如何确定句子的语音,主语宾语动词,等等...我使用NLTK,我能够获得POS标签,但不能获得句子或主题的声音,对象 – JKC

+0

为此,您可以使用解析树并获取所需的所有内容。 – swapyonubuntu

回答

12

宾州树库定义VBDVBN为过去时态和动词的过去分词分别。在很多句子中,只需获取POS标签并检查这两个标签的存在就足够了。然而,在另外一些情况下,在整个句子过去时可能存在多个动词。对于这些情况,您需要使用选区分析。斯坦福大学的NLP也提供解析器。你可以用它来检测最外层的动词短语(标记为VP)。如果一个动词的过去时/分词形式是动词短语中所有其他动词的祖先,那么句子的时态应该被标记为过去式。

由德罗尔给出的例子产生这样的:

(ROOT 
    (S 
    (NP (PRP I)) 
    (VP (VBD did) (RB n't) 
     (VP (VB want) 
     (NP (DT the) (NN dog) 
      (S 
      (VP (TO to) 
       (VP (VB eat) 
       (NP (PRP$ my) (NN homework)))))))) 
    (. .))) 

即使不是过去时,在动词短语最上面的动词正确标记VBD(即过去时态)。

编辑(一些额外的信息):

复杂的句子有所谓的初级紧张二级紧张。对于像“当我到达那里,他已经离开了”这样的句子时,没有“完整时态”这样的句子。您只能区分小学和中学。

如果你想有关完美连续,等等,那么你将不得不为:基于POS机标签规则。例如。现在时的助动词后跟过去式的动词会表示现在的完成时态(如果有明显的反例,请加上答案......我现在想不出来)。

+0

我要完整时态例如:简单的礼物或现在的完美连续式......据我所知,我无法简单地从POS标签中获得 – swapyonubuntu

+0

这是事实,你不能简单地从POS标签中得到它。但是,通过使用解析树中提供的短语结构,例如我的答案提供的短语结构,您*可以获得更加准确的结果。但是,它不会用于“当我到达那里时,他已经离开了。” –

+0

但是,我想要紧张的句子... – swapyonubuntu

3

基本上,一个句子在英语中的时态是由作为句首的动词的形式决定的。您可以在这篇文章中阅读关于The Contextors’ Tense Conjugator的更多信息。使用解析器识别头动词及其形式是可能的。

可从句子中提取的信息类型取决于您执行的分析。您可以提取句子的其他组成部分,如介词补语,谓语补语和辅助词,以及其他语法属性,如方面,辅助时,形式和极性。一些语句包含嵌入式子句,如下面Contextors API中的示例所示。在这种情况下,您可能还想从嵌入子句中提取此信息。

enter image description here

+0

请建议任何其他免费API,这是在测试版,也许不是开源 – swapyonubuntu

+0

你可以使用斯坦福NLP,弗莱灵,门,NLTK。 –

1

我想完成时态如:目前还是现在完成进行时态 ...据我知道,我不能从POS标签简单地得到

注意,你在你的例子有上述不是时态的例子,它们是某些时态/方面配置的例子。虽然时间本身(过去,现在,将来)会在时间上产生偶然性,但是方面类别(渐进式,连续式,完美式等)却将事件与时间流动联系起来(即它是否是有界/完整的,是连续的事件等)。因此,时态和方面是两个不同的语法类别。在英语中,它们都构成语言复合体的一部分,这使得它们易于混淆以及以单一方法查找/分析它们。在许多其他语言中,它们分别实现(不同的结构位置,功能项目,构造等)。谨防。