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 за раз для более быстрого запуска, иначе сервер выдержит таймаут