首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >NLTK中用于语法分析的英语语法

NLTK中用于语法分析的英语语法
EN

Stack Overflow用户
提问于 2011-05-25 03:17:40
回答 7查看 42.6K关注 0票数 70

有没有现成的英语语法可以直接加载并在NLTK中使用?我搜索过使用NLTK解析的示例,但似乎在解析句子之前必须手动指定语法。

非常感谢!

EN

回答 7

Stack Overflow用户

发布于 2013-07-30 06:52:36

您可以看看pyStatParser,这是一个简单的python统计解析器,它返回NLTK解析树。它附带了公共树库,并且只在您第一次实例化Parser对象时生成语法模型(大约在8秒内)。它使用CKY算法,在不到一秒的时间内解析平均长度的句子(如下面的句子)。

代码语言:javascript
复制
>>> from stat_parser import Parser
>>> parser = Parser()
>>> print parser.parse("How can the net amount of entropy of the universe be massively decreased?")
(SBARQ
  (WHADVP (WRB how))
  (SQ
    (MD can)
    (NP
      (NP (DT the) (JJ net) (NN amount))
      (PP
        (IN of)
        (NP
          (NP (NNS entropy))
          (PP (IN of) (NP (DT the) (NN universe))))))
    (VP (VB be) (ADJP (RB massively) (VBN decreased))))
  (. ?))
票数 33
EN

Stack Overflow用户

发布于 2015-09-09 04:25:39

我的库spaCy提供了一个高性能的依赖解析器。

安装:

代码语言:javascript
复制
pip install spacy
python -m spacy.en.download all

用法:

代码语言:javascript
复制
from spacy.en import English
nlp = English()
doc = nlp(u'A whole document.\nNo preprocessing require.   Robust to arbitrary formating.')
for sent in doc:
    for token in sent:
        if token.is_alpha:
            print token.orth_, token.tag_, token.head.lemma_

Choi et al. (2015)发现spaCy是可用的最快的依赖解析器。它在一个线程上每秒处理超过13,000个句子。在《华尔街日报》的标准评估中,它的得分为92.7%,比CoreNLP的任何模型都要准确1%以上。

票数 26
EN

Stack Overflow用户

发布于 2011-05-25 03:25:26

nltk_data发行版中有一些语法。在Python解释器中,发出nltk.download()

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6115677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档