2016-08-17 3 views
4

最近、私は最近WikiDumpで遊んでいます。 私はそれを前処理し、Word2Vec + Gensim上でそれを訓練しスペーシーパイプライン?

トークン化、文認識、音声タグ付け、見出し語処理、係り受け解析の一部、およびすべての固有表現認識を生成するスペイシー内に一つだけのスクリプトがある場合

は誰もが知ってい 一度

で私は明確な文書 を見つけることができませんでしたありがとう

答えて

8

スペイシーは、あなただけのen_nlp = spacy.load('en'); doc=en_nlp(sentence)を使用してそのすべてを提供します。 documentationには、各要素にアクセスする方法の詳細が記載されています。文章はdoc.sentsを使用することによって得ることができる

In [1]: import spacy 
    ...: en_nlp = spacy.load('en') 

In [2]: en_doc = en_nlp(u'Hello, world. Here are two sentences.') 

In [4]: list(en_doc.sents) 
Out[4]: [Hello, world., Here are two sentences.] 

名詞チャンクはdoc.noun_chunksによって与えられる。

In [6]: list(en_doc.noun_chunks) 
Out[6]: [two sentences] 

Named entityは次式で与えられる

例を以下に示します。 doc.ents

In [11]: [(ent, ent.label_) for ent in en_doc.ents] 
Out[11]: [(two, u'CARDINAL')] 

トークン:トークンを取得するためにドキュメントを繰り返し処理できます。 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'.'] 

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'.'] 

見出し語処理:

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'.'] 

依存関係解析。解析ツリーをトラバースするには、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', [], []) 
... 

詳細については、spacyのマニュアルを参照してください。

0

スペイシーバージョンをspacy-alpha V2.0.0にアップデートしました。

ここで確認できます。 Here