sucher

sucher(ズーハー)はエンジニアを応援します。

PythonでStanford Core NLPの固有表現抽出(NER)ができない時のメモ

1112 views
約 5 分

どうもー
自分用のメモです。
と言っても、これに悩まされたのは大分前なんだけど。
もしかしたら困っている方がいるのかもしれないので書きます。

ついでに、結論から言うと、


を書けば、うまくいくと思います。

スポンサーリンク



NERを使う

想定読者

NERした時に、なんか変なエラー出るなー。なんでやねん。った方用です。
前提として、stanford core nlp のインストール、およびサーバは立ち上げずみ (これわからん人はこちら) と思ってます。

設定

python でコード書きますが、他の何かでも、共通する部分はあるので、うまく適応してください。
pycorenlp と言うライブラリを使います。

python : 3.6.0
stanford-core-nlp : stanford-corenlp-full-2018-02-27
java : version 9
pycorenlp : 0.3.0

解決法

黄色いラインに注目です。
property を選択する部分で、nerの他に、nerのオプションであるuseSUTimeをFalse、もしくは0に設定してください。

で。出力を見てみると、

整形はちょっと見づらいですけど、
Hoge と言う名前を表す部分はちゃんと、PERSON の NER が取れてますし、
Tokyo と言う場所を表す部分は、CITY が取れました。

他のタグは、

For English, by default, this annotator recognizes named (PERSON, LOCATION, ORGANIZATION, MISC), numerical (MONEY, NUMBER, ORDINAL, PERCENT), and temporal (DATE, TIME, DURATION, SET) entities (12 classes). Adding the regexner annotator and using the supplied RegexNER pattern files adds support for the fine-grained and additional entity classes EMAIL, URL, CITY, STATE_OR_PROVINCE, COUNTRY, NATIONALITY, RELIGION, (job) TITLE, IDEOLOGY, CRIMINAL_CHARGE, CAUSE_OF_DEATH (11 classes) for a total of 23 classes. Named entities are recognized using a combination of three CRF sequence taggers trained on various corpora, including CoNLL, ACE, MUC, and ERE corpora. Numerical entities are recognized using a rule-based system.

とのこと。他に色々あるってことがわかればそれで良いでしょう。
メモは以上。

Stanford CoreNLPのセットアップ

続いて、stanford corenlp を使い始めたい人向けに、セットアップの方法を書いておきます。

stanford corenlpとは

パーズとか、固有表現抽出とか、なんかすごいことやってくれる自然言語処理ツールです。

python からの使用方法

pythonから使う場合にはサーバを立ち上げる必要があるので、まずそちらをやっていきます。

  1. ページにいく


  2. ダウンロードする。


  3. zipファイルを解凍する。好きなところに保存 (ここでは、aaa/hogeにします)

  4. ディレクトリ移動
  5. java

こんな感じになったら準備おっけーです。

次に、python側ですね。

  1. pycorenlp をインストールする
  2. コード書く
  3. コード実行
    上記を実行すると以下のような形で出力されます。(整形してるのでそのまんまではないですが)

以上。

スポンサーリンク





この記事を書いた人

Toshiki Sasaki
主にSQLとPythonの記事を書きます。
高専出身で電気電子を専攻していましたが、気まぐれで大学院では機械読解の研究に従事していました。
電気電子・NLP系の記事もちらほら書いていけたらいいなと思ってます。
Follow :

コメント

*
*
* (公開されません)

Share / Subscribe
Facebook Likes
Tweets
Hatena Bookmarks
Pinterest
Pocket
Evernote
Feedly
Send to LINE