Stanford coreNLP основан на java. Эта статья о его реализации в jupyter notebook (python). Stanford coreNLP можно использовать для извлечения множества функций, которые можно использовать для обучения любой текстовой модели машинного обучения. Реализация для больших данных может быть немного сложной. Stanford coreNLP работает лучше, чем тональность Вейдера и текстовый blob, потому что вместо того, чтобы смотреть на тональность отдельных слов, модель «фактически строит представление целых предложений на основе структуры предложения.

Установить Stanford CoreNLP

В вашем терминале введите:

$ wget https://nlp.stanford.edu/software/stanford-corenlp-full-2018-10-05.zip https://nlp.stanford.edu/software/stanford -english-corenlp-2018-10-05-models.jar

$ unzip stanford-corenlp-full-2018–10–05.zip
$ mv stanford-english-corenlp-2018–10–05-models.jar stanford-corenlp-full-2018–10–05

Откройте терминал Jupyter Notebook (py) и запустите сервер

В терминале ноутбука jupyter запустите сервер, как показано ниже

Должно быть видно прослушивание через порт 9000 (см. Ниже)

Откройте новую вкладку в терминале ноутбука Jupyter и установите pycorenlp как:

$ pip install pycorenlp

Работа с файлом Python для записной книжки Jupyter

Теперь создайте новый файл с ядром Python и введите, как показано ниже

Настройка

Реализуйте Stanford coreNLP и создайте функцию standford_sentiment

Получить значение тональности для каждой строки файла .csv

Здесь «чистый_текст» - это столбец, содержащий текст, состоящий только из буквенно-цифровых символов (в нижнем регистре). «Диапазон» может быть изменен в соответствии с требованиями. Я бы рекомендовал брать 1000 за раз для более быстрого запуска, иначе сервер выдержит таймаут

Сохранить результат в файл CSV

Ссылка