2017-07-27 75 views
1

我目前正在研究一個項目,我需要操縱英語條件語句。我下載了NLTK庫,它似乎是一個非常好的NLP模塊。問題是:在NLTK(或其他庫)中是否有內置機制來識別條件語句?或者可能是一篇論文解釋如何檢測條件語句?NLP檢測英語條件語句

我讀過,有不同類型的條件語句,其中大多數依賴於單詞IF。但也有其他情況下,一個條件可以沒有IF(如使用,除非例如)。

任何人都可以引導我嗎?

+0

「條件語句」不在NLTK或標準語料註釋等通用依賴性的類 - 的最接近的是['ADV_CLAUSE_MODIFIER'](https://nlp.stanford.edu/nlp/javadoc/javanlp/edu/stanford在Universal Dependencies中的/nlp/trees/UniversalEnglishGrammaticalRelations.html#ADV_CLAUSE_MODIFIER),但它也提取了很多其他的東西。如果你舉了一個你想要得到什麼樣的例子以及你想要做什麼,可以提供建議...... – polm23

+0

Hi @ polm23。我想要做的是:我需要提供一個段落,系統必須檢測到這是一個條件陳述。例如:如果溫度增加一倍,壓力也會增加一倍。這是一個條件。該程序必須返回一個真,以表明該語句包含IF-THEN結構。 –

回答

0

聽起來像你想做的事情依賴於話語分析。它基本上檢測句子(或短語)之間的關係並根據意義對它們進行分類,其中一種意義可以是條件(其他例如比較,對比,擴展等)。周圍有幾個話語解析器(嘗試使用谷歌搜索與PDTB或RST相結合的英語話語解析器),但這是一個非常具有挑戰性的NLP子領域,f-分數通常不會太高(由於較低的註釋器間協議,有限的培訓數據等等)。據我所知,這個方向上的任何東西都不包含在NLTK(或者opennlp的corenlp)中。一個好的開始可能是這個(https://wing.comp.nus.edu.sg/~linzihen/parser/),但它不是在Python(但在Java或Ruby)。