Comment utiliser l'interface python de Stanford NER (nommé entité recogniser)?

Je veux utiliser Stanford NER en python en utilisant la bibliothèque pyner. Voici un extrait de code.

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

quand je l'exécute sur ma console python locale (IDLE). Il devrait m'ont offert une sortie comme celle-ci

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

mais quand j'exécute ceci, il montre des crochets vides. Je suis nouveau à tout cela.

14
demandé sur gunr2171 2013-03-30 23:48:35

1 réponses

je suis capable d'exécuter le serveur stanford-ner en mode socket en utilisant:

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

et recevoir la sortie suivante à partir de la ligne de commande:

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

Puis en 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']}
28
répondu Ryan O'Neill 2015-01-15 20:43:02