如何在DataFrame对话转录中统计用户首次请求人工客服的次数
解决方案
要统计用户首次对话就请求人工客服的次数,核心是只匹配对话开头的用户消息中包含关键词的记录,可以通过正则结合字符串匹配实现:
实现步骤
- 先将对话内容统一转为小写(你已完成这一步),避免大小写干扰匹配。
- 使用正则匹配**对话开头即为用户消息且包含
agent/representative**的记录,这里用str.match而非str.contains,因为前者会从字符串起始位置开始匹配,确保是首次请求。
代码示例
# 统一转为小写(你已实现) df["Transcript"] = df["Transcript"].str.lower() # 定义正则模式:以user开头,后续内容包含agent或representative pattern = r'^user.*(agent|representative)' # 筛选符合条件的记录 target_df = df[df["Transcript"].str.match(pattern)] # 统计次数 request_count = len(target_df) print(f"用户首次请求人工客服的次数:{request_count}")
代码说明
^user:确保匹配从对话开头的用户消息开始;.*:匹配用户消息中关键词前的任意内容;(agent|representative):匹配目标关键词;str.match:仅匹配字符串起始位置的符合模式的内容,完美排除用户在机器人回复后才请求人工的情况。
内容的提问来源于stack exchange,提问作者Tal1992
相关产品推荐
相关产品推荐

