Идентификация текста с использованием nlp

Я пытаюсь найти курсы в приведенной ниже строке текста, используя некоторую технику nlp.

from nltk import word_tokenize, pos_tag, ne_chunk
sentence = "SDGI is offering courses like Electronics,Mechatronics, Physics,Mechanical Engineering"    
print ne_chunk(pos_tag(word_tokenize(sentence)))

Выход из этого

(S
  (ORGANIZATION SDGI/NNP)
  is/VBZ
  offering/VBG
  courses/NNS
  like/IN
  Electronics/NNS
  ,/,
  Mechatronics/NNS
  ,/,
  (PERSON Physics/NNPS)
  ,/,
  (PERSON Mechanical/NNP Engineering/NNP))

Можно ли как-нибудь извлечь курсы из вышеуказанной строки?

В реальном проекте я получу так много документов, из которых мне нужно будет получить названия курсов.

Любая помощь приветствуется!

2 ответа

Это может быть слишком упрощенно, но, если существует ограниченное число существующих названий курсов, может быть проще просто создать большую справочную таблицу, токенизировать ваш ввод и попытаться найти каждое слово. Будут некоторые крайние случаи, но я не уверен, что вам нужно использовать подход ML/NLP к этой проблеме.

  1. Извлеките все существительные из данного текста.
  2. Создайте набор функций Bag of Words и обучите набор для курсов с помеченными данными.
  3. Кажется, что курсы в основном предшествуют или следуют за запятой (,). Подход биграммы или триграммы может дать точные результаты.
Другие вопросы по тегам