Идентификация текста с использованием 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 к этой проблеме.
- Извлеките все существительные из данного текста.
- Создайте набор функций Bag of Words и обучите набор для курсов с помеченными данными.
- Кажется, что курсы в основном предшествуют или следуют за запятой (,). Подход биграммы или триграммы может дать точные результаты.