2013-03-30 7 views
14

私はpynerライブラリを使ってスタンフォードNERを使っています。 1つの基本的なコードスニペットがあります。スタンフォードNER(エンティティ認識機能)のpythonインターフェイスを使用するにはどうすればよいですか?

import ner 
tagger = ner.HttpNER(host='localhost', port=80) 
tagger.get_entities("University of California is located in California, United States") 

私はローカルのPythonコンソール(IDLE)でこれを実行します。

{'LOCATION': ['California', 'United States'], 
'ORGANIZATION': ['University of California']} 

私はこれを実行すると、空の括弧が表示されます。私は実際にこのすべてに新しいです。

+0

stanford-nerサーバーをhttpサーバーとして実行するためにどのような方法を使用していますか?私は正常にソケットサーバーとしてそれを実行し、tagger = ner.SocketNER(host = 'localhost'、port = 8080)でpynerクライアントを使用して、受け取ってみたい答えを得ます。 –

+0

あなたはurコードを投稿できますか? ... IDLEコンソールでNERの出力が必要になる@Ryan O'Neill –

答えて

28

私が使用してソケットモードでスタンフォード-NERサーバを実行することができる午前:

java -mx1000m -cp stanford-ner.jar edu.stanford.nlp.ie.NERServer \ 
    -loadClassifier classifiers/english.muc.7class.distsim.crf.ser.gz \ 
    -port 8080 -outputFormat inlineXML 

をコマンドラインから次のような出力を受け取ります。

Loading classifier from 
/Users/roneill/stanford-ner-2012-11-11/classifiers/english.muc.7class.distsim.crf.ser.gz 
... done [1.7 sec]. 

その後のpython REPLで:

Python 2.7.2 (default, Jun 20 2012, 16:23:33) 
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import ner 
>>> tagger = ner.SocketNER(host='localhost', port=8080) 
>>> tagger.get_entities("University of California is located in California, United States") 
{'ORGANIZATION': ['University of California'], 'LOCATION': ['California', 'United States']} 
+0

これまでに何をダウンロードしたのですか? ...サーバを正確に起動するにはどうすればいいのですか?...現在、Stanford Named Entity Recognizerバージョン1.2.7をダウンロードしましたか? –

+1

[Stanford Named Entity Recognizer(NER)](http://nlp.stanford.edu/software/CRF-NER.shtml)のWebサイトにあるzipファイルをダウンロードします。 [Stanford Named Entity Recognizerバージョン1.2.7のダウンロード](http://nlp.stanford.edu/software/stan-2011-11-11.zip) –

+0

ビンゴ...ありがとうございました... –

関連する問題