Анализатор зависимостей не работает - Stanford Core NLP - PullRequest
0 голосов
/ 24 января 2019

Я работал над проектом, связанным с NLP, и использую для этого библиотеку Stanford Core 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

1 Ответ

0 голосов
/ 28 апреля 2019

Поскольку вы используете путь 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
...