У меня есть фрейм данных, который состоит из двух столбцов: один для topi c другой с высказыванием. Это что-то вроде «play musi c», «play Madonna» или «слушайте Майкла Джексона». У меня есть список с именами исполнителей, и я хочу проверить, есть ли имя исполнителя в ячейке информационного кадра.
Для имен из одного слова у меня есть такое решение: (Я использовал spacy для обработки nlp)
for row in range(0,nrows):
text = df.loc[row]['utt']
words = nlp(text)
for word in words:
if word.text in artists:
df.loc[row]['utt'] = text.replace(word.text, format_artist(word.text))
if word.text in albums:
df.loc[row]['utt'] = text.replace(word.text, format_album(word.text))
При наличии имени исполнителя или названия альбома слово будет заменено другим форматом.
Проблема теперь в том, что он не распознает что-то вроде «Майкла Джексона», потому что проверяет слова.
Спасибо за помощь!