#python #stanford-nlp #google-colaboratory
#python #stanford-nlp #google-совместная лаборатория
Вопрос:
У меня возникли некоторые проблемы при попытке импортировать StanfordNER Tagger для использования для NER. Вот мой код (взял фрагменты этого из других сообщений здесь):
import os
def install_java():
!apt-get install -y openjdk-8-jdk-headless -qq > /dev/null
os.environ["JAVA_HOME"] = "/usr/lib/jvm/java-8-openjdk-amd64"
!java -version
install_java()
!pip install StanfordCoreNLP
from stanfordcorenlp import StanfordCoreNLP
nlp = StanfordCoreNLP('stanford-corenlp', lang='en', memory='4g')
Ошибка, которую я получаю, высвечивает последнюю строку кода, сообщающую мне:
OSError: stanford-corenlp is not a directory.
Любая помощь была бы отличной!
Редактировать: Вот еще одна строка кода, которая сработала у меня. Для того, что внутри StanfordNERTagger, загрузите эти файлы в Colab и укажите путь. Сделайте то же самое для того, что я изначально задал в качестве моей проблемы выше. У меня сработало.
from nltk.tag import StanfordNERTagger
from nltk.tokenize import word_tokenize
st = StanfordNERTagger('/content/english.muc.7class.distsim.crf.ser.gz',
'/content/stanford-ner.jar',
encoding='utf-8')
text = 'While in France, Christine Lagarde discussed short-term stimulus efforts in a recent interview with the Wall Street Journal.'
tokenized_text = word_tokenize(text)
classified_text = st.tag(tokenized_text)
print(classified_text)
Комментарии:
1. Каков
!
синтаксис? недопустимо для меня в Ubuntu 16.042. @C.Nivs «!» — это метод для запуска pip в Google Colab. Для установки любого пакета Pip требуется это (насколько мне известно).
3. Вы нашли ответ на этот вопрос? Я хочу использовать модель Stanford в Google Colab, и у меня такая же проблема!
4. @Paniz только что добавлен при редактировании!
Ответ №1:
Следующий код загружает все необходимые файлы, а также устанавливает среду:
from nltk.tag.stanford import StanfordNERTagger
from nltk.tokenize import word_tokenize
import nltk
!wget 'https://nlp.stanford.edu/software/stanford-ner-2018-10-16.zip'
!unzip stanford-ner-2018-10-16.zip
nltk.download('punkt')
st = StanfordNERTagger('/content/stanford-ner-2018-10-16/classifiers/english.all.3class.distsim.crf.ser.gz',
'/content/stanford-ner-2018-10-16/stanford-ner.jar',
encoding='utf-8')
text = 'While in France, Christine Lagarde discussed short-term stimulus efforts in a recent interview with the Wall Street Journal.'
tokenized_text = word_tokenize(text)
classified_text = st.tag(tokenized_text)