我正在尝试使用斯坦福大学的名称实体识别器(NER(。
我从 : https://github.com/dat/pyner 下载了 zip 文件。
安装使用:python setup.py 安装。
现在当我运行以下命令时,我得到的是空白输出
import ner
tagger =ner.SocketNER(host='localhost',port=31752,output_format='slashTags')
tagger.get_entities("University of California is located in California, United States")
Output:
{}
我错过了什么吗?
https://github.com/dat/pyner 工具已经过时了。
如果您使用的是 NLTK,请先更新您的nltk
版本:
pip3 install -U nltk
然后仍然在终端:
wget http://nlp.stanford.edu/software/stanford-corenlp-full-2018-02-27.zip
unzip stanford-corenlp-full-2018-02-27.zip
java -mx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -preload tokenize,ssplit,pos,lemma,ner,parse,depparse -status_port 9000 -port 9000 -timeout 15000 &
然后在 Python3 中:
>>> from nltk.parse import CoreNLPParser
>>> tagger = CoreNLPParser(url='http://localhost:9000', tagtype='ner')
>>> tokens = 'Rami Eid is studying at Stony Brook University in NY'.split()
>>>
>>> tagger.tag(tokens)
[('Rami', 'PERSON'), ('Eid', 'PERSON'), ('is', 'O'), ('studying', 'O'), ('at', 'O'), ('Stony', 'ORGANIZATION'), ('Brook', 'ORGANIZATION'), ('University', 'ORGANIZATION'), ('in', 'O'), ('NY', 'STATE_OR_PROVINCE')]
对于窗户
您可以使用powershell
使用上述内容(您确实这样做(,但如果您想单击鼠标。
第 1 步:从 http://nlp.stanford.edu/software/stanford-corenlp-full-2018-02-27.zip 下载 zip 文件
第 2 步:解压缩
步骤3:打开命令提示符并转到文件已解压缩的文件夹
步骤4:运行命令:pip3 install -U nltk
步骤5:现在运行命令:
java -mx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -preload tokenize,ssplit,pos,lemma,ner,parse,depparse -status_port 9000 -port 9000 -timeout 15000 &
然后在 Python3 中:
>>> from nltk.parse import CoreNLPParser
>>> tagger = CoreNLPParser(url='http://localhost:9000', tagtype='ner')
>>> tokens = 'Rami Eid is studying at Stony Brook University in NY'.split()
>>>
>>> tagger.tag(tokens)
[('Rami', 'PERSON'), ('Eid', 'PERSON'), ('is', 'O'), ('studying', 'O'), ('at', 'O'), ('Stony', 'ORGANIZATION'), ('Brook', 'ORGANIZATION'), ('University', 'ORGANIZATION'), ('in', 'O'), ('NY', 'STATE_OR_PROVINCE')]