我得到了一个大数据框架,在机器人和用户之间有一个“Transcript”列。在给机器人一个机会之前,我需要计算用户在记录中要求代理/代表的次数。
文字记录如下,但更长:
"User : Order status.\nBot : Your order status is your orders tab. \nUser : representative."
"User : Agent please.\nBot : Waiting time is longer than usual."
我尝试使用正则表达式:
df["Transcript"] = df["Transcript"].str.lower()
df.loc[df["Transcript"].str.contains('agent|representative'),:]
但它只会输出带有这些关键字的观察结果。当用户第一次输入是代理/代表时,我如何输出一个计数的数字?
2条答案
按热度按时间a8jjtwal1#
我会将输入拆分为第一个文本(在机器人响应之前),然后搜索您的术语,然后对结果进行求和,以获得用户在第一条消息中请求代理的案例数量:
628mspwn2#
你可以使用re.findall()然后获取匹配的长度。
这是一般的方法。还有其他的方法。
regex大概需要: