-->

从文本分析的含义(Parsing Meaning from Text)

2019-06-26 03:56发布

我意识到这是一个广泛的话题,但我正在寻找一个好的底漆从文本分析的意义,最好在Python。 由于我在寻找什么做的,如果用户进行了博客文章等的例子:

“拉米瑞兹使得他今天为躲闪回报对阵休斯顿太空人”,

什么是得到了名词句子的轻质/简单的方法? 首先,我想我会限制它的专有名词,但我不想局限于这一点(我不想依靠一个简单的正则表达式,它假定任何标题封顶是一个专有名词)。

为了使这个问题更糟糕,有什么我没有问,我应该的事情? 我需要现有词的语料库开始? 什么词法分析的东西,我需要知道,使这项工作? 我也遇到一个问题要问的题目,我通过这些资源现在挖。

Answer 1:

使用NLTK ,特别是信息抽取第7章。

你说你要提取的意思,但是对于语义分析模块,但我认为IE是你所需要的 - 和诚实的NLP电脑现在可以处理的唯一的地区之一。

见章节命名实体识别的副标题7.5和7.6(以块和分类曼尼Ramerez作为一个人,作为道奇体育组织,以及休斯敦Astros作为另一个体育组织,或任何适合你的域)和关系提取。 有一个细节化的净入学率,一旦你安装了NLTK,你可以插件。 从他们的例子中,提取的地缘政治实体(GPE)和一个人:

>>> sent = nltk.corpus.treebank.tagged_sents()[22]
>>> print nltk.ne_chunk(sent) 
(S
  The/DT
  (GPE U.S./NNP)
  is/VBZ
  one/CD
  ...
  according/VBG
  to/TO
  (PERSON Brooke/NNP T./NNP Mossman/NNP)
  ...)

注意:您仍然需要了解符号化和标注,如前面章节,以获得在这些IE任务的正确的格式文本。



Answer 2:

你需要看看自然语言工具包 ,这是正是这样的事情。

手册的这一部分看起来非常有关: 分类和标记词 -这里是一个摘录:

>>> text = nltk.word_tokenize("And now for something completely different")
>>> nltk.pos_tag(text)
[('And', 'CC'), ('now', 'RB'), ('for', 'IN'), ('something', 'NN'),
('completely', 'RB'), ('different', 'JJ')]

在这里,我们看到, 并且是CC,协调配合; 现在完全是RB,或副词; 是IN,介词; 什么是NN,一个名词; 不同的是JJ,一个形容词。



Answer 3:

自然语言处理(NLP)是用于解析,好了,自然语言的名称。 许多算法和启发式存在,这是一个活跃的研究领域。 无论你的算法将代码,它需要对语料库进行训练。 就像一个人的:我们知道通过阅读其他人写的文字语言(和/或通过听其他人说出的句子)。

在实际应用中,有一个看看自然语言工具包 。 不管是什么,你要代码的理论基础,你可能想看看统计自然语言处理的基础由克里斯·曼宁和辛里奇Schütze。


(来源: stanford.edu )



Answer 4:

这是我最近偶然发现了这本书: 自然语言处理与Python



Answer 5:

你想要什么叫做NP(名词短语)分块,或提取。

这里有些链接

正如指出的那样,这是非常问题域具体的东西。 更可以缩小范围,更有效的将是。 而你将不得不训练你的特定领域的计划。



Answer 6:

这是一个非常非常复杂的话题。 一般来说,这样的东西属于自然语言处理的标题下,而且往往是棘手的最好的。 这种东西的难度也正是为什么仍然有处理客户服务之类没有完全自动化系统。

一般来说,方法这个东西真的取决于你的问题域恰恰是。 如果你能簸下来的问题域,你可以得到一些非常严重的利益; 使用你的例子,如果你能够确定你的问题域是棒球,然后,给你一个真正强大的先机。 即便如此,它的工作很多得到任何特别有用下去。

对于什么是值得的,是的,文字的现有语料库将是有益的。 更重要的是,确定被期望在系统的功能复杂性将是关键的; 你需要分析简单的句子,或者是有需要解析复杂的行为? 你能约束输入一个相对简单的设置?



Answer 7:

正则表达式可以在某些情况下帮助。 这里是一个详细的例子: 什么是对CNET论坛提及最多的扫描仪 ,它使用正则表达式来查找CNET论坛帖子都提到扫描仪。

在后,使用正则表达式作为这样:

(?i)((?:\w+\s\w+\s(?:(?:(?:[0-9]+[a-z\-]|[a-z]+[0-9\-]|[0-9])[a-z0-9\-]*)|all-in-one|all in one)\s(\w+\s){0,1}(?:scanner|photo scanner|flatbed scanner|adf scanner|scanning|document scanner|printer scanner|portable scanner|handheld scanner|printer\/scanner))|(?:(?:scanner|photo scanner|flatbed scanner|adf scanner|scanning|document scanner|printer scanner|portable scanner|handheld scanner|printer\/scanner)\s(\w+\s){1,2}(?:(?:(?:[0-9]+[a-z\-]|[a-z]+[0-9\-]|[0-9])[a-z0-9\-]*)|all-in-one|all in one)))

为了满足以下任一操作:

  • 两个词,则型号(包括所有功能于一身的),则“扫描器”
  • “扫描仪”,则一个或两个词,则型号(包括所有功能于一身的)

其结果是,从后提取的文本很喜欢,

  1. 停产HP C9900A照片扫描仪
  2. 扫描他的老X射线
  3. 新的爱普生V700扫描仪
  4. HP ScanJet扫描仪4850
  5. 爱普生Perfection 3170扫描仪

这正则表达式的解决方案的方式工作。



文章来源: Parsing Meaning from Text