我有一个数据框,该数据框由两列组成:一列用于主题,另一列带有话语。 这些话语类似于“播放音乐”,“播放麦当娜”或“听迈克尔·杰克逊”。 我有一个包含艺术家姓名的列表,现在想检查数据框的单元格中是否有艺术家姓名。
对于单字名称,我有以下解决方案: (我将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))
如果有歌手姓名或专辑名称,则该单词将替换为其他格式。
现在的问题是它无法识别“迈克尔·杰克逊”之类的东西,因为它正在逐字检查。
感谢您的帮助!