前提條件:電腦上安裝有jdk,最好新一點吧,jdk1.8以上。
1.pip install stanfordcorenlp
2.去官網https://stanfordnlp.github.io/CoreNLP/
下載兩個東西,如圖:
一個是最新版的CoreNLP,一個是中文包。
3.下載后解壓前者,把中文包(.jar文件)放在前者解壓后的文件夾。
然后注意,一定要把中文包重命名一下。因為整個的工具都是Java寫的,只是用了一個Python庫stanfordcorenlp來調用它。那么工具包里所有的文件命名都要按照調用的規范來。至於重命名成什么?你只要運行一下等着報錯就行了。。。報錯信息會提醒你該改的格式。
我這里中文包名本來是stanford-corenlp-4.0.0-models-chinese.jar,改成了stanford-chinese-corenlp-2020-01-01-models.jar,日期是隨便輸的,只要格式對了就行。
4.最后來看應用:
from stanfordcorenlp import StanfordCoreNLP
##指明安裝路徑和語言類型(中文) nlp = StanfordCoreNLP(r'XXXXXXXXXXXX/stanford-corenlp-latest//stanford-corenlp-4.0.0', lang='zh')
sentence = '2020吉祥文化金銀幣正式發行。' print(nlp.word_tokenize(sentence)) print(nlp.pos_tag(sentence)) print(nlp.ner(sentence)) print(nlp.parse(sentence)) print(nlp.dependency_parse(sentence)) nlp.close()
運行結果:
['2020', '吉祥', '文化', '金', '銀幣', '正式', '發行', '。'] [('2020', 'CD'), ('吉祥', 'NN'), ('文化', 'NN'), ('金', 'JJ'), ('銀幣', 'NN'), ('正式', 'AD'), ('發行', 'VV'), ('。', 'PU')] [('2020', 'NUMBER'), ('吉祥', 'MISC'), ('文化', 'MISC'), ('金', 'MISC'), ('銀幣', 'MISC'), ('正式', 'O'), ('發行', 'O'), ('。', 'O')] (ROOT (IP (NP (NP (QP (CD 2020)) (NP (NN 吉祥) (NN 文化))) (ADJP (JJ 金)) (NP (NN 銀幣))) (VP (ADVP (AD 正式)) (VP (VV 發行))) (PU 。))) [('ROOT', 0, 7), ('dep', 3, 1), ('compound:nn', 3, 2), ('compound:nn', 5, 3), ('amod', 5, 4), ('nsubj', 7, 5), ('advmod', 7, 6), ('punct', 7, 8)]
分詞、詞性標注、句法分析、依存樹分析都有了。