我是 NLP 及其概念的新手。我目前正在尝试使用 OpenNLP来自 Apache 。当我尝试使用其解析器工具时,如 blog 所示,我得到如下输出:
Input: Shutdown all active devices
Output:
(TOP(VP(VB Shutdown)
(NP(DT all)
(JJ active)
(NNS devices))))
我无法理解所有缩写词的含义。其中一些我可以从Stanford's OpenNLP implementation中理解一样的。但不是全部。
任何人都可以指出一些正确的方向,让我知道如何理解它,以及如何更好地理解我的代码如何理解所说的内容。
最佳答案
首先,学习任何学科都需要时间,所以不要急于求成,否则你会把自己弄糊涂的。您看到的输出语法是一棵树,它采用一系列列表和嵌入列表的形式。它可能会让您想起流行的 LISP 语法,例如 Scheme或 Clojure .
(TOP(VP(VB Shutdown)
(NP(DT all)
(JJ active)
(NNS devices))))
单词/列表左侧的标签是所谓的 POS ( Part-of-Speech ) 标签,代表单词所属的语法类别,本质上是词类消歧。作为 F1-Scores 高达 90% 的学科,词性标注仍然是自然语言处理中非常困难的研究领域之一。您构建的树片段(带有下面的列表)如下所示:
(TOP(Verb, non-3rd-person(Verb Shutdown)
(Noun-Phrase (Determiner all)
(Adjective active)
(Noun-plural devices))))
词性标记是语义分析或命名实体识别等任务的重要语言特征。一些值得学习的好资源包括:
- NLTK (Natural Language Toolkit) Book Chapter 5
- Foundations of Statistical Natural Language Processing
- Part of Speech Tagging and Partial Parsing
词性标签列表(Penn Treebank语料库)
- CC ~ 并列连词
- CD ~ 基数
- DT ~ 限定符
- EX ~ 在那里存在
- FW ~ 外来词
- IN ~ 介词或从属连词
- JJ ~ 形容词
- JJR ~ 形容词,比较级
- JJS ~ 形容词,最高级
- LS ~ 列表项标记
- MD ~ 模态
- NN ~ 名词,单数或质量
- NNS ~ 名词复数
- NNP ~ 专有名词,单数
- NNPS ~ 专有名词,复数
- PDT ~ 预定词
- POS ~ 所有格结尾
- PRP ~ 人称代词
- PRP$ ~ 所有格代词
- RB ~ 副词
- RBR ~ 副词,比较级
- RBS ~ 副词,最高级
- RP ~ 粒子
- SYM ~ 符号
- 到 ~到
- UH ~ 感叹词
- VB ~ 动词,基本形式
- VBD ~ 动词,过去时
- VBG ~ 动词、动名词或现在分词
- VBN ~ 动词,过去分词
- VBP ~ 动词,非第三人称单数现在时
- VBZ ~ 动词,第三人称单数现在时
- WDT ~ Wh-determiner
- WP ~ Wh-代词
- WP$ ~ 所有格 wh-代词
- WRB ~ Wh-副词
关于java - NLP中的数据字典是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32812342/