Наивный способ может быть очень простым - использовать метод разделенной строки, например
sentences = ["I want to learn about linear regression", "I want to read about SVM", "I want to go to Python 2.6",
"Take me to logistic regression: eval"]
split_terms = ["about", "go to", "learn"]
for sentence in sentences:
for split_term in split_terms:
try:
print(sentence.split(split_term)[1])
except IndexError:
pass # split_term was not found in a sentence
Результаты:
linear regression
about linear regression
SVM
Python 2.6
Немного разумнее было бы найти сначала самый последний "термин разбиения", чтобы решить проблему с помощью обучения - изучения - о
for sentence in sentences:
last_split_term_index = 0
last_split_term = ""
for split_term in split_terms:
last_split_term_index_candidate = sentence.find(split_term)
if last_split_term_index_candidate > last_split_term_index:
last_split_term_index = last_split_term_index_candidate
last_split_term = split_term
try:
print(sentence.split(last_split_term)[1])
except:
continue
Результаты:
linear regression
SVM
Python 2.6