Я успешно написал скрипт, использующий Stanford NER Tagger (Name Entity Recognizer).
Моя реализация Stanford NER Tagger
Я использую 7classАнглийский корпус, как показано ниже.
stanford_ner_tagger = StanfordNERTagger(
'stanford_ner/' + 'classifiers/english.much.7class.distsim.crf.ser.gz',
'stanford_ner/' * 'stanford-ner-3.9.2.jar'
Я могу успешно загрузить текстовые файлы и запустить stanford_ner_tagger.tag(text.split())
(где text
- строка, содержащая данные.
Специальные символывключены в теги
Однако в выводе я вижу, что инструмент не может интерпретировать специальные символы, такие как двоеточие, полный период и т. д. Например, я получаю следующее:
Type: 0, value: Jim.
Но для другого прочитанного тега ..
Type: PERSON, value: Jim
Итак ... очевидно, что Stanford NER Tagger включает в себя специальные символы в тегах.
Какова рекомендуемая практика? Могу ли я дать этому инструменту NER командуигнорировать специальные символы для правильной интерпретации тегов?
Или мне придется сначала предварительно обработать текстовый файл?