2014-03-03 33 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標籤簡單地得到

注意,你在你的例子有上述不是時態的例子,它們是某些時態/方面配置的例子。雖然時間本身(過去,現在,將來)會在時間上產生偶然性,但是方面類別(漸進式,連續式,完美式等)卻將事件與時間流動聯繫起來(即它是否是有界/完整的,是連續的事件等)。因此,時態和方面是兩個不同的語法類別。在英語中,它們都構成語言複合體的一部分,這使得它們易於混淆以及以單一方法查找/分析它們。在許多其他語言中,它們分別實現(不同的結構位置,功能項目,構造等)。謹防。

相關問題