Language agnostic 提取';有用的';句子外的信息?

Language agnostic 提取';有用的';句子外的信息?,language-agnostic,nlp,machine-learning,nltk,Language Agnostic,Nlp,Machine Learning,Nltk,我目前正在尝试理解这种形式的句子: 问题更多的是机顶盒而不是电视。重新启动机顶盒解决了问题。 我对自然语言处理完全陌生,并开始使用Python的NLTK包来弄脏我的双手。然而,我想知道是否有人能给我一个实现这一目标的高层次步骤的概述 我想做的是确定问题是什么,在这种情况下,机顶盒,以及所采取的措施是否解决了问题,因此在这种情况下,是,因为重新启动解决了问题。因此,如果所有的句子都是这种形式,我的生活会更轻松,但因为它是自然语言,句子也可以是以下形式: 我看了一下车,没有发现什么问题。但是,我怀疑

我目前正在尝试理解这种形式的句子:

问题更多的是机顶盒而不是电视。重新启动机顶盒解决了问题。

我对自然语言处理完全陌生,并开始使用Python的NLTK包来弄脏我的双手。然而,我想知道是否有人能给我一个实现这一目标的高层次步骤的概述

我想做的是确定问题是什么,在这种情况下,
机顶盒
,以及所采取的措施是否解决了问题,因此在这种情况下,
,因为重新启动解决了问题。因此,如果所有的句子都是这种形式,我的生活会更轻松,但因为它是自然语言,句子也可以是以下形式:

我看了一下车,没有发现什么问题。但是,我怀疑发动机有问题

因此,在本例中,问题在于
汽车
。由于存在单词
可疑
,因此所采取的操作无法解决问题。潜在的问题可能是
引擎


我不是在寻找一个绝对的答案,因为我怀疑这是非常复杂的。我要找的是更高层次的概述,它将为我指明正确的方向。如果有一种更简单/替代的方法可以做到这一点,那也是受欢迎的。

实际上,你所能期望的最好的方法是拥有足够大(可能比你拥有的更多)的训练集,并且愿意容忍相当比例的错误判断


寻求NLP的圣杯肯定会让你有些不满意。

也许,如果句子结构良好,我会尝试(http://nltk.googlecode.com/svn/trunk/doc/api/nltk.parse.malt.MaltParser-class.html#raw_parse). 这会给你一个句子成分的图表,你可以知道词汇项之间的关系。稍后,您可以从依赖项解析器的输出中提取短语(http://nltk.googlecode.com/svn/trunk/doc/book/ch08.html#code-这可以帮助你提取句子的直接宾语,或者句子中的动词短语

如果您只想从一个句子中获取短语或“块”,可以尝试使用块解析器(http://nltk.googlecode.com/svn/trunk/doc/api/nltk.chunk-module.html). 还可以执行命名实体识别(http://streamhacker.com/2009/02/23/chunk-extraction-with-nltk/). 它通常用于提取地点、组织或人名的实例,但它也适用于您的情况


假设您解决了从句子中提取名词/动词短语的问题,您可能需要将它们过滤掉,以简化领域专家的工作(过多的短语可能会让法官不知所措)。您可以对短语进行频率分析,删除通常与问题域无关的非常频繁的短语,或者编辑一个白名单并保留包含预定义单词集的短语,等等。

有一些NLP/NLTK方面的经验,我认为这个问题肯定存在“时间像箭一样飞逝,果蝇像香蕉一样飞逝”语义分析老鼠洞。这个小难题还没有我所知道的任何通用解决方案。@msw:哦…:)好的!我不想设计通用解决方案。这将是一个非常特定于领域的解决方案。我试图理解的是如何处理这些问题(即,需要哪些领域知识、需要编译哪些数据库、分类器应该在哪些方面进行培训等)示例短语是一个旧的NLP栗子,这表明即使接近您的目标也是徒劳的。按照您的示例,将“引擎”替换为“立体声”“并告诉我,你——以你所有的个人NLP技能——如何消除你的样本(一件坏事)和我的修改(一件无关紧要的事)之间的歧义。”@msw:我明白你的意思。我更改了我问题的标题。很抱歉。我想做的是提取信息。解释这些信息的含义将留给领域专家。因此,在这种情况下,我对引擎和立体声都感兴趣,因为我不是想确定其重要性,而是想获得更多的信息做一个句子的“总结”。可能重复的问题以及许多早期的问题,其中“NLP新手”提出了信息提取问题。@图例:请确保将NLTK书的“最佳希望”与“朴素的贝叶斯分类器”放在同一句话中有很多更强大的机器学习模型用于信息提取。我怀疑编写一组正则表达式比尝试使用诸如Naive Bayes之类的弱学习算法来处理如此复杂的问题更容易。