Cen*_*tAu 12
Spacy只需使用即可为您提供所有这些功能en_nlp = spacy.load('en'); doc=en_nlp(sentence).该文档为您提供有关如何访问每个元素的详细信息.
下面给出一个例子:
In [1]: import spacy
...: en_nlp = spacy.load('en')
In [2]: en_doc = en_nlp(u'Hello, world. Here are two sentences.')
Run Code Online (Sandbox Code Playgroud)
可以通过以下方式获得句子doc.sents:
In [4]: list(en_doc.sents)
Out[4]: [Hello, world., Here are two sentences.]
Run Code Online (Sandbox Code Playgroud)
名词块由下式给出doc.noun_chunks:
In [6]: list(en_doc.noun_chunks)
Out[6]: [two sentences]
Run Code Online (Sandbox Code Playgroud)
命名实体由下式给出doc.ents:
In [11]: [(ent, ent.label_) for ent in en_doc.ents]
Out[11]: [(two, u'CARDINAL')]
Run Code Online (Sandbox Code Playgroud)
标记化:您可以遍历文档以获取标记.token.orth_给出令牌的str.
In [12]: [tok.orth_ for tok in en_doc]
Out[12]: [u'Hello', u',', u'world', u'.', u'Here', u'are', u'two', u'sentences', u'.']
Run Code Online (Sandbox Code Playgroud)
POS由token.tag_下列人员给出:
In [13]: [tok.tag_ for tok in en_doc]
Out[13]: [u'UH', u',', u'NN', u'.', u'RB', u'VBP', u'CD', u'NNS', u'.']
Run Code Online (Sandbox Code Playgroud)
词形还原:
In [15]: [tok.lemma_ for tok in en_doc]
Out[15]: [u'hello', u',', u'world', u'.', u'here', u'be', u'two', u'sentence', u'.']
Run Code Online (Sandbox Code Playgroud)
依赖解析.您可以使用token.dep_ token.rights或遍历解析树token.lefts.您可以编写一个函数来打印依赖项:
In [19]: for token in en_doc:
...: print(token.orth_, token.dep_, token.head.orth_, [t.orth_ for t in token.lefts], [t.orth_ for t in token.rights])
...:
(u'Hello', u'ROOT', u'Hello', [], [u',', u'world', u'.'])
(u',', u'punct', u'Hello', [], [])
(u'world', u'npadvmod', u'Hello', [], [])
...
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参阅spacy文档.