2017-07-27 74 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)。