于磊 高泽文 张斌 柳欣 李保田 刘燕峰
摘要:为了降低心理咨询师的工作重复性,提升咨询服务效率,并减轻心理求助者的心理压力,将自然语言处理、大数据分析及语音信号处理等智能技术引入心理咨询领域显得至关重要,旨在借助计算机系统的力量改善心理咨询的效率与质量。为有效地解决计算机辅助心理咨询的问题,文章提出了一种心理自动问答系统的设计方案。该系统运用人机语音对话技术实现实时的人机交互功能,并精心设计了针对心理领域的问答数据获取与预处理子系统,以及问句匹配与答案推荐子系统。此外,文中还创新性地提出了综合计算语句相似度的方法,并最终成功构建了一套基于语音对话的心理自动问答实用系统。
关键词:心理咨询;专家系统;问答系统;人机语音对话;自然语言处理
中图分类号:TP391 文献标识码:A
文章编号:1009-3044(2024)09-0032-03
开放科学(资源服务)标识码(OSID)
0 引言
应用自动问答技术构建专家系统已成为当前研究热点,借助计算机专家系统进行心理咨询可双管齐下:既减轻心理咨询师的工作负担,提高服务效率,又能缓解心理求助者的心理压力,并有助于减少因顾虑而放弃寻求专业帮助的现象[1-2]。
自动问答系统的起源可以追溯至20世纪60年代,1965年Simmons发表了一篇名为“英语问题计算机回答综述”的研究文章[3],其中对英文问答系统进行了全面回顾,涵盖从百科全书中检索答案的问答系统及人机对话系统等。受限于当时的技术条件,自动问答仅局限于极有限的语言理解和处理领域,长期作为特殊领域专家系统的一部分。
国际权威的TREC文本检索会议自1999年起开始对基于文本的问答系统进行评估评测,多种自然语言处理技术被融入自动问答系统中,使得基于自然语言的特定领域和开放领域问答系统迅速成为信息检索和自然语言处理研究的核心焦点[4-5]。
基于信息检索的问答系统依托信息抽取算法从数据库中检索问题答案,其关键技术在于关键词抽取算法和答案排序策略,提问处理模块生成的查询关键词直接影响答案排序准确性。依据各类关键词对排序贡献的差异,可将查询关键词划分为普通关键词、扩展关键词、基本名词短语、引用词及其他关键词,并制定相应的加权方法。尽管利用信息检索技术实现问答系统简易便捷,但由于关键词间独立处理,导致提供的答案可能缺失问句中的句法和语义联系,难以充分保障答案与问题的高度相关性[6]。相比之下,基于自然语言处理的问答系统更趋于理想化,此类系统不仅能够模拟人的思维解析问题,还能遵循人的思维方式对答案来源进行分析、整合乃至推理。然而,此类技术尚不完全成熟,除了诸如词汇识别、分词、词性标注等简单规则化文本处理技术之外,语义层面的深入处理技术仍处于探索阶段[7]。
当前,语音对话聊天系统已相对成熟,但在专业领域特别是基于语音驱动的自动问答系统方面,研究则相对较少。这主要是因为垂直领域问答系统的复杂度与其专业深度紧密相关,不同领域的问句解析和匹配需求各不相同;同时,语音自动问答系统对语音识别技术要求极高,不仅要准确识别整段语音问句,还需对接收的识别结果进行语法、语义分析,并妥善处理语音识别中的未登录词问题,因此开发语音驱动的专业领域自动问答系统是一项极具挑战性的任务,需要多领域的先进技术协同合作、联合攻关,才能有望实现较理想的性能表现[8]。本文结合问答系统和语音对话系统技术,对语音驱动的心理自动问答问题展开了系统研究。
1 系统相关技术
1.1 人机语音对话
人机对话系统是一种利用自然语言理解技术实现人机交互功能的智能系统,亦称为“聊天机器人”。让计算机全面理解人类语言是自然语言处理追求的终极目标,但构建一个不受话题限制的全方位人机会话系统颇具挑战。
语音合成与自动语音识别技术是构筑具备听、说能力的语言交流系统不可或缺的关键技术,目前已有相对成熟的解决方案和技术服务。在系统实施过程中,可以调用百度AI的自动语音识别服务,将语音转化为文本,再经由问答模块进行信息交互后得到答复,随后通过百度AI的自动语音合成服务将文本转换成语音输出,整个过程大致为:录音 → 百度语音识别(Speech-to-Text) → 问答模块(信息交互)→ 百度语音合成(Text-to-Speech) → 音频播放。
1.2 问句相似度计算
当前问句匹配算法主要分为基于词特征、基于词义特征以及其他基于句法特征的方法。基于词特征的计算方法主要包括基于向量空间模型的TF-IDF句子相似度计算方法;基于词义特征的计算方法则以基于关键词语义的句子相似度计算为主流。
在信息检索领域,TF-IDF方法得到了广泛应用。其中,词频是指某词语在文本中出现的绝对次数;逆向文档频率则是衡量特定词语IDF的指标,其计算方式为取所有文本总数除以包含该词语的文本总数之商的对数值。
目前,该方法常用来计算句子、段落和文本之间的相似度,并展现出良好的效果。在该模型框架内,任一给定句子中的所有词汇单元可表示为T1、T2,…,Tn,依据各个词汇的重要性赋予相应权重值w。将每个词汇T视为N维空间中的一个维度,从而可以使用一个N维向量T=
[Ti=n?log10(M/m)]
式中:n為词Wi在目标问句中的词频,M为问题集数据库中所有问句的总数,m为问题集数据库中包含词Wi的所有问句。
同理,问题集数据库中其他的问句也可以表示成n维向量T=
[Sim(T,T)=i=1nTi?T'ii=1nT2ii=1nT'i2]
TF-IDF方法是一种基于大规模语料库的词频统计方法,语料库规模越大效果越好,但它没有考虑上下文之间的语义信息,有一定的局限性。可以与其他的问句匹配算法结合使用,互相补充,进一步提升识别准确度。
2 基于语音对话的心理自动问答系统的体系结构
基于语音对话的心理自动问答系统包含了问答数据获取与预处理、人机语音对话以及问句匹配与答案推荐等多个关键组成部分,其体系结构示意图如图1所示:
以下简要概述各部分的核心功能:
1) 数据获取与预处理:系统运用基于Python编写的分布式网络爬虫程序,从专门的心理问答网站及开放领域问答平台抓取所需问答文本数据,采集的信息包括问题ID、问题描述、最佳答案、关键词、点赞数量、收藏数量等,并将这些数据存储至数据库表格中。
2) 人机语音对话:用户通过语音接口向系统提出心理健康相关问题,系统调用语音识别服务对用户的语音问题进行识别转译为文本形式;随后经过一系列问句分析和答案推荐流程,系统将得出的最佳答案文本通过语音合成服务转化回语音格式予以输出回应。
3) 问句匹配:在获取的问句文本基础上,系统进行问题分析并提取关键词构建词向量,运用词向量匹配及语义匹配等问句匹配技术,以实现问答对的自动化匹配。
4) 候选答案排序与推荐:系统对通过问句匹配得到的问答对按照匹配相似度进行排序,并以语音和文字两种形式对用户问题进行回复解答。其中,语音答案为排序序列中匹配度最高的一项,而文字答案则将匹配度较高的答案按得分高低排列,以列表形式推荐给用户。用户可对收到的答案进行评价打分,而这些用户评价将作为其他用户搜索和个性化推荐的重要参考依据。系统具备根据用户评价分数重新对匹配问答对进行排序和推荐的功能。
3 心理自动问答系统关键技术
系统核心技术涵盖了心理问答数据获取、人机语音对话以及问题答案匹配与推荐三大方面。以下是各项关键技术的具体实现:
3.1 心理问答数据抓取与预处理
当前,获取高质量的心理咨询语料存在一定困难,尚未有公开的大规模心理咨询专用语料库,而可用的大规模语料资源多源自开放领域的问答平台。因此,在收集心理问答数据时,笔者采取了双重策略:一方面,从诸如“壹心理”“39健康网”“简单心理”“公益心理问答”等专门的心理问答网站爬取规模相对较小的语料;另一方面,在“悟空问答”“百度问答”等开放领域问答平台上筛选出一定规模的心理咨询问答数据。
心理问答数据抓取系统采用了基于Python的分布式爬虫技术,通过调用Ruby库中的WebDriver功能抓取网页的动态HTML源代码,之后运用bs4库中的BeautifulSoup进行解析,以UTF-8编码格式获取原始文本。获取文本后,借助正则表达式对有效信息进行提取、格式规范化以及初步筛选,确保每个问题都能匹配到一个最佳答案。紧接着,采用Python的pymysql模块将获取的数据存储至MySQL数据库中,并结合使用Tk接口Tkinter构建交互式的前端界面。下面是爬虫工作的具体流程:
1) 目标网址与主题词输入:用户输入待搜索的主题词及目标网站URL,启动WebDriver打开指定页面。2) 初始页面爬取:对初始页面进行过滤和筛选,抓取问题标题,并获取指向子页面的URL。3) 子页面内容抓取:抓取答案内容,统计点赞数和收藏数,筛选答案,并将其与对应问题进行匹配。4) 数据入库:将题目ID、问题描述以及最佳答案分别插入数据库中。 5) 关键词提取与入库:对问句进行关键词提取,并将关键词存入数据库,以提升后续问句匹配的精确性。6) 前端数据显示:前端界面上展示URL列表、问题ID、问题描述以及最佳答案等内容。
3.2 问句匹配与答案推荐
在接收到用户输入的问句后,笔者结合多种问句相似度计算方法对数据库中的问答对进行匹配。在集成多种相似度计算结果时,需要将各种相似度归一化到统一的区间,考虑到最大化相似度以及各类相似度总和对于衡量问句相似程度的重要性,我们决定将两者综合计算。
具体而言,首先采用多种相似度计算方法逐一计算问句间的相似度,并将各类相似度值归一化至[0,1]区间内。假设有[n]种不同的相似度度量方法,令[pi(i)∈1,n]表示第[i]种相似度计算结果,[p]为综合相似度,则综合相似度计算公式定义为:[p=max(pi)(1npi/n)],即将最大相似度与相似度平均值相乘,以获得最终的综合相似度结果。根据该结果对匹配到的答案进行排序。
系统将以语音形式向用户提供最佳答案,并以文本列表形式展示其他高分候选答案供用户参考。用户在接收到答案后,可对其进行主观评价打分,这些评分结果将作为其他用户获取答案时的推荐依据。系统不仅具备自动问句匹配功能,还能根据其他用户的评分反馈,对匹配出的答案重新进行排序并推荐给用户。
4 结论
本文构建了基于语音对话的心理自动问答系统,针对该系统中的关键技术进行了研究,设计了心理问答数据爬取与预处理模块、人机语音对话模块以及问题匹配与答案推荐模块,提出了问句相似度综合计算与答案推荐方法。下一步将进一步优化人机交互界面,构建更加友好的智能心理咨询专家系统。
参考文献:
[1] 田洪涛,王斌,夏国华.心理咨询专家系统的开发及应用[J].计算机系统应用,1995,4(6):18-20.
[2] 陈文干,王小飞.网络专家型心理健康教育系统构建[J].现代教育技术,2003,13(1):46-48.
[3] SIMMONS R F.Answering English questions by computer[J].Communications of the ACM,1965,8(1):53-70.
[4] VOORHEES E. The TREC-8 Question Answering Track Report[C]//Proceedings of the 8th Text Retrieval Conference,NIST,1999.
[5] VOORHEES E. Overview of the TREC 2005 conference[C]//Proceedings of the 14th Text Retrieval Conference, NIST,2005.
[6] BRIN S,PAGE L.The anatomy of a large-scale hypertextual Web search engine[C]//Proceedings of the seventh international conference on World Wide Web 7.ACM,1998:107–117.
[7] 胡國平.基于超大规模问答对库和语音界面的非受限领域自动问答系统研究[D].合肥:中国科学技术大学,2007.
[8] 张巍.中文问答系统技术及应用[M].北京:电子工业出版社,2016.
【通联编辑:唐一东】