Как запустить командную строку CoreNLP в многопоточности? - PullRequest
0 голосов
/ 28 апреля 2018

Мне нужно разобрать много документов (около 0,3 миллиона). Как предложено в Стэнфордском веб-сайте, я создал файл с именем filelist.txt, который содержит пути ко всем файлам, которые нужно проанализировать.

https://stanfordnlp.github.io/CoreNLP/cmdline.html

Затем я позвонил в CoreNLP, как показано ниже.

java -mx20g -cp "$SCRIPT/*" edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators tokenize,ssplit,pos,lemma,ner,parse -ssplit.eolonly tokenize.whitespace true -filelist filelist.txt -outputDirectory $OUTDIR

Но загрузка процессора составляет всего 100%, что означает, что CoreNLP, похоже, не использует многопоточность. Таким образом, синтаксический анализ выполняется слишком медленно (примерно 10 секунд на документ.).

Когда я запускаю CoreNLP без опции -filelist, он запускается как многопоточный.

Есть ли варианты или способы использования многопоточности в CoreNLP?

1 Ответ

0 голосов
/ 29 апреля 2018

Я считаю, что аргумент командной строки -threads k должен аннотировать список файлов в k потоках.

...