所以,我有一个关于客户服务的 csv 文件(例如,他们打电话的原因)。我想提取关键词并将其可视化。但经过更多思考,我意识到我应该提取关键短语。但我不确定最好的方法是什么,因为……好吧,这是客户服务。人们打电话讨论相同的问题,但说的内容不同,这与关键词提取相混淆(例如 wifi 问题、互联网问题、连接问题等)。另外,句子也不一致。就像,我有一句话说:“密码重置请求;”客户打电话要求重置密码”,另一个说:“自动碰撞;肇事逃逸”或“自动碰撞”;碰撞,没有受伤”。至少对于第一句话,我可以提取密码重置,但我应该为最后两句提取什么?自动碰撞?我是否忽略了细节?关于如何提取此类短语有什么想法吗?
一种简单的标记化和可视化热门单词的方法将是一个很好的起点,例如,使用
sklearn
:
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.feature_extraction.text import CountVectorizer
# Read in the csv
df = pd.read_csv('customer_service.csv')
# Vectorize the text
cv = CountVectorizer()
vectorized = cv.fit_transform(df['text'])
# Convert to dense dataframe with tokens as column names
word_df = pd.DataFrame(vectorized.toarray(), columns=cv.get_feature_names_out())
# Sum to find most frequently occuring tokens and visualize top 10
word_df.sum().nlargest(10).sort_values().plot(kind='barh')
plt.show()
注意我假设您的文件名为
customer_service.csv
并且有两个字段,id
和 text
。
您仍然会得到一些很好的见解 - 即使在您提供的示例中,两个句子都包含“碰撞”一词。但是,当然,这一切都取决于您想要做什么。
如果您正在寻找更高级的方法,可以使用 spaCy 等 Python 库或使用 Web 服务来进行关键短语提取,但这些方法涉及更多。
要从客户服务事件中提取重要短语,请使用自然语言处理 (NLP) 方法分析文本并搜索回顾主题或模式。关键字提取、命名实体身份和公开建模都是隔离反映客户问题、需求或情绪的关键短语的方法。 欲了解更多信息:客户服务