Я бы прокомментировал, но мне не хватает репутации. Немного неясно, чего именно вы здесь добиваетесь и насколько репрезентативен ваш пример - пожалуйста, отредактируйте ваш вопрос, чтобы прояснить его.
В любом случае, как говорит Гай Кодер, если вы точно знаете слова, которые ищете, вам вообще не нужны машинное обучение или библиотеки НЛП. Однако, если это не так, и вы не знаете, каждый пример того, что вы ищете, может помочь следующее:
Похоже, вы пытаетесь выполнить Распознавание именованных сущностей (NER) то есть идентифицировать именованные сущности (например, страны) в ваших предложениях. Если это так, краткий ответ: вам не нужно использовать какие-либо алгоритмы машинного обучения. Вы можете просто использовать библиотеку Python, такую как spaCy
, которая поставляется из коробки с предварительно подготовленной языковой моделью, которая может уже выполнять множество задач, например, NER, с высокой степенью производительности. Следующий фрагмент должен помочь вам начать:
import spacy
nlp = spacy.load('en')
doc = nlp("Mary Lives in France")
for entity in doc.ents:
if (entity.label_ == "GPE"):
print(entity.text)
Вывод вышеупомянутого фрагмента - "Франция". Именованные объекты охватывают широкий спектр возможных вещей . В приведенном выше фрагменте я отфильтровал геополитические объекты (GPE).
Узнайте больше о spaCy
здесь: https://spacy.io/usage/spacy-101