首页 > 解决方案 > 依赖解析器不工作 - 斯坦福核心 NLP

问题描述

我一直在做一个关于 NLP 的项目,我正在使用斯坦福核心 NLP 库,但它的解析器功能似乎不起作用。我运行代码,它总是挂断,几个小时没有响应。

尝试更改我将目录地址传递给函数的方式,尝试再次重新下载 Stanford Core NLP 文件。

from nltk.tokenize import sent_tokenize
import re
import os
import itertools
from nltk.corpus import wordnet as wn
from stanfordcorenlp import StanfordCoreNLP
import json

sentences = []
sents_clauses = []

def feature_extraction():
    print("Directory Access")
    os.chdir('C://Users/mohdm/Documents/FYP/stanford-corenlp-full-2018-10-05/')
    print("Directory Accessed")
    CORE_NLP_DIR = os.getcwd()
    print(CORE_NLP_DIR)
    print("Setting Parser")
    PARSER = StanfordCoreNLP(CORE_NLP_DIR, memory='4g', lang='en')
    print("Parser Set")

实际输出:

Code Started
Directory Access
Directory Accessed
C:\Users\mohdm\Documents\FYP\stanford-corenlp-full-2018-10-05
Setting Parser

预期输出:

Code Started
Directory Access
Directory Accessed
C:\Users\mohdm\Documents\FYP\stanford-corenlp-full-2018-10-05
Setting Parser
Parser Set

标签: pythonnlpnltkstanford-nlp

解决方案


当您在中使用 corenlp 路径时StanfordCoreNLP(CORE_NLP_DIR, memory='4g', lang='en'),您能否确保服务器已启动?最好以这种方式进行。它将有 corenlp 指向 url:

standfordnlp = StanfordCoreNLP('http://localhost', port=9000)

并在命令行中运行服务器

java -mx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 9000 -timeout 15000

推荐阅读