如何解决尝试使用 python 和 Google Colab 从数据框列中提取关键字
长期读者,但如果可能的话,第一次发帖者迫切希望得到一些帮助。我的最后一年项目即将到期,但一个重大错误阻碍了我。仅就某些情况而言,我遵循 Salim Zubair 对音乐歌词 Sentiment Analysis on Billboard 100 进行情感分析的示例。
我已将自己的数据集汇总在一起,并尝试使用英国图表进行类似操作。我已经走了这么远,但在从我的“歌词”列中获取关键字时,仍然遇到了绊脚石。
我会将示例代码放在下面,这是我的数据框:
Index Artist Song_Title Record_label Week_ID Year Country Weeks_at_number_one Lyrics Sentiment
0 1 Al Martino "Here in My Heart" Capitol 14/11/1952 1952 AMERICA 9 Here in my heart I'm alone,I'm so lonely\nHer... 0.055000
#Set the index of the dataframe to the WeekID. This sets us up to resample dataframe based on time
UK1s_df['Week_ID'] = pd.to_datetime(UK1s_df['Week_ID'],infer_datetime_format=True)
UK1s_df = UK1s_df.sort_values(by='Week_ID')
UK1s_df = UK1s_df.reset_index(drop=True)
#UK1s_df = UK1s_df.reset_index().set_index('Index')
UK1s_df = UK1s_df.set_index('Week_ID')
Resample daraframe lyrics by year. Get all the lyrics for every song for each year
lyrics_resample = UK1s_df['Lyrics'].resample('Y').sum()
lyrics_resample
#Use return_keywords function on lyrics_resample to get the top 20 keywords for each year
lyric_keywords = [return_keywords(x[1]) for x in lyrics_resample.items()]
lyric_keywords
它不断给我返回空数组,例如。 [[],[],[]]
调用上面的函数是:
# Function to preprocess text
def preprocess(text):
# Create Doc object
doc = nlp(text,disable=['ner','parser'])
# Generate lemmas
lemmas = [token.lemma_ for token in doc]
# Remove stopwords and non-alphabetic characters
a_lemmas = [lemma for lemma in lemmas
if lemma.isalpha() and lemma not in stopwords]
return ' '.join(a_lemmas)
#"""Extract Keywords from text"""
def return_keywords(texts):
xkeywords = []
values = keywords(text=preprocess(texts),split='\n',scores=True)
for x in values[:10]:
xkeywords.append(x[0])
try:
return xkeywords
except:
return "no content"
现在我的智慧已经结束,截止日期已经过去,所以提前感谢任何可以提供帮助的人。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。