于磊 高澤文 張斌 柳欣 李保田 劉燕峰
摘要:為了降低心理咨詢師的工作重復(fù)性,提升咨詢服務(wù)效率,并減輕心理求助者的心理壓力,將自然語(yǔ)言處理、大數(shù)據(jù)分析及語(yǔ)音信號(hào)處理等智能技術(shù)引入心理咨詢領(lǐng)域顯得至關(guān)重要,旨在借助計(jì)算機(jī)系統(tǒng)的力量改善心理咨詢的效率與質(zhì)量。為有效地解決計(jì)算機(jī)輔助心理咨詢的問題,文章提出了一種心理自動(dòng)問答系統(tǒng)的設(shè)計(jì)方案。該系統(tǒng)運(yùn)用人機(jī)語(yǔ)音對(duì)話技術(shù)實(shí)現(xiàn)實(shí)時(shí)的人機(jī)交互功能,并精心設(shè)計(jì)了針對(duì)心理領(lǐng)域的問答數(shù)據(jù)獲取與預(yù)處理子系統(tǒng),以及問句匹配與答案推薦子系統(tǒng)。此外,文中還創(chuàng)新性地提出了綜合計(jì)算語(yǔ)句相似度的方法,并最終成功構(gòu)建了一套基于語(yǔ)音對(duì)話的心理自動(dòng)問答實(shí)用系統(tǒng)。
關(guān)鍵詞:心理咨詢;專家系統(tǒng);問答系統(tǒng);人機(jī)語(yǔ)音對(duì)話;自然語(yǔ)言處理
中圖分類號(hào):TP391? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2024)09-0032-03
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID)
0 引言
應(yīng)用自動(dòng)問答技術(shù)構(gòu)建專家系統(tǒng)已成為當(dāng)前研究熱點(diǎn),借助計(jì)算機(jī)專家系統(tǒng)進(jìn)行心理咨詢可雙管齊下:既減輕心理咨詢師的工作負(fù)擔(dān),提高服務(wù)效率,又能緩解心理求助者的心理壓力,并有助于減少因顧慮而放棄尋求專業(yè)幫助的現(xiàn)象[1-2]。
自動(dòng)問答系統(tǒng)的起源可以追溯至20世紀(jì)60年代,1965年Simmons發(fā)表了一篇名為“英語(yǔ)問題計(jì)算機(jī)回答綜述”的研究文章[3],其中對(duì)英文問答系統(tǒng)進(jìn)行了全面回顧,涵蓋從百科全書中檢索答案的問答系統(tǒng)及人機(jī)對(duì)話系統(tǒng)等。受限于當(dāng)時(shí)的技術(shù)條件,自動(dòng)問答僅局限于極有限的語(yǔ)言理解和處理領(lǐng)域,長(zhǎng)期作為特殊領(lǐng)域?qū)<蚁到y(tǒng)的一部分。
國(guó)際權(quán)威的TREC文本檢索會(huì)議自1999年起開始對(duì)基于文本的問答系統(tǒng)進(jìn)行評(píng)估評(píng)測(cè),多種自然語(yǔ)言處理技術(shù)被融入自動(dòng)問答系統(tǒng)中,使得基于自然語(yǔ)言的特定領(lǐng)域和開放領(lǐng)域問答系統(tǒng)迅速成為信息檢索和自然語(yǔ)言處理研究的核心焦點(diǎn)[4-5]。
基于信息檢索的問答系統(tǒng)依托信息抽取算法從數(shù)據(jù)庫(kù)中檢索問題答案,其關(guān)鍵技術(shù)在于關(guān)鍵詞抽取算法和答案排序策略,提問處理模塊生成的查詢關(guān)鍵詞直接影響答案排序準(zhǔn)確性。依據(jù)各類關(guān)鍵詞對(duì)排序貢獻(xiàn)的差異,可將查詢關(guān)鍵詞劃分為普通關(guān)鍵詞、擴(kuò)展關(guān)鍵詞、基本名詞短語(yǔ)、引用詞及其他關(guān)鍵詞,并制定相應(yīng)的加權(quán)方法。盡管利用信息檢索技術(shù)實(shí)現(xiàn)問答系統(tǒng)簡(jiǎn)易便捷,但由于關(guān)鍵詞間獨(dú)立處理,導(dǎo)致提供的答案可能缺失問句中的句法和語(yǔ)義聯(lián)系,難以充分保障答案與問題的高度相關(guān)性[6]。相比之下,基于自然語(yǔ)言處理的問答系統(tǒng)更趨于理想化,此類系統(tǒng)不僅能夠模擬人的思維解析問題,還能遵循人的思維方式對(duì)答案來(lái)源進(jìn)行分析、整合乃至推理。然而,此類技術(shù)尚不完全成熟,除了諸如詞匯識(shí)別、分詞、詞性標(biāo)注等簡(jiǎn)單規(guī)則化文本處理技術(shù)之外,語(yǔ)義層面的深入處理技術(shù)仍處于探索階段[7]。
當(dāng)前,語(yǔ)音對(duì)話聊天系統(tǒng)已相對(duì)成熟,但在專業(yè)領(lǐng)域特別是基于語(yǔ)音驅(qū)動(dòng)的自動(dòng)問答系統(tǒng)方面,研究則相對(duì)較少。這主要是因?yàn)榇怪鳖I(lǐng)域問答系統(tǒng)的復(fù)雜度與其專業(yè)深度緊密相關(guān),不同領(lǐng)域的問句解析和匹配需求各不相同;同時(shí),語(yǔ)音自動(dòng)問答系統(tǒng)對(duì)語(yǔ)音識(shí)別技術(shù)要求極高,不僅要準(zhǔn)確識(shí)別整段語(yǔ)音問句,還需對(duì)接收的識(shí)別結(jié)果進(jìn)行語(yǔ)法、語(yǔ)義分析,并妥善處理語(yǔ)音識(shí)別中的未登錄詞問題,因此開發(fā)語(yǔ)音驅(qū)動(dòng)的專業(yè)領(lǐng)域自動(dòng)問答系統(tǒng)是一項(xiàng)極具挑戰(zhàn)性的任務(wù),需要多領(lǐng)域的先進(jìn)技術(shù)協(xié)同合作、聯(lián)合攻關(guān),才能有望實(shí)現(xiàn)較理想的性能表現(xiàn)[8]。本文結(jié)合問答系統(tǒng)和語(yǔ)音對(duì)話系統(tǒng)技術(shù),對(duì)語(yǔ)音驅(qū)動(dòng)的心理自動(dòng)問答問題展開了系統(tǒng)研究。
1 系統(tǒng)相關(guān)技術(shù)
1.1 人機(jī)語(yǔ)音對(duì)話
人機(jī)對(duì)話系統(tǒng)是一種利用自然語(yǔ)言理解技術(shù)實(shí)現(xiàn)人機(jī)交互功能的智能系統(tǒng),亦稱為“聊天機(jī)器人”。讓計(jì)算機(jī)全面理解人類語(yǔ)言是自然語(yǔ)言處理追求的終極目標(biāo),但構(gòu)建一個(gè)不受話題限制的全方位人機(jī)會(huì)話系統(tǒng)頗具挑戰(zhàn)。
語(yǔ)音合成與自動(dòng)語(yǔ)音識(shí)別技術(shù)是構(gòu)筑具備聽、說能力的語(yǔ)言交流系統(tǒng)不可或缺的關(guān)鍵技術(shù),目前已有相對(duì)成熟的解決方案和技術(shù)服務(wù)。在系統(tǒng)實(shí)施過程中,可以調(diào)用百度AI的自動(dòng)語(yǔ)音識(shí)別服務(wù),將語(yǔ)音轉(zhuǎn)化為文本,再經(jīng)由問答模塊進(jìn)行信息交互后得到答復(fù),隨后通過百度AI的自動(dòng)語(yǔ)音合成服務(wù)將文本轉(zhuǎn)換成語(yǔ)音輸出,整個(gè)過程大致為:錄音 → 百度語(yǔ)音識(shí)別(Speech-to-Text) → 問答模塊(信息交互)→ 百度語(yǔ)音合成(Text-to-Speech) → 音頻播放。
1.2 問句相似度計(jì)算
當(dāng)前問句匹配算法主要分為基于詞特征、基于詞義特征以及其他基于句法特征的方法。基于詞特征的計(jì)算方法主要包括基于向量空間模型的TF-IDF句子相似度計(jì)算方法;基于詞義特征的計(jì)算方法則以基于關(guān)鍵詞語(yǔ)義的句子相似度計(jì)算為主流。
在信息檢索領(lǐng)域,TF-IDF方法得到了廣泛應(yīng)用。其中,詞頻是指某詞語(yǔ)在文本中出現(xiàn)的絕對(duì)次數(shù);逆向文檔頻率則是衡量特定詞語(yǔ)IDF的指標(biāo),其計(jì)算方式為取所有文本總數(shù)除以包含該詞語(yǔ)的文本總數(shù)之商的對(duì)數(shù)值。
目前,該方法常用來(lái)計(jì)算句子、段落和文本之間的相似度,并展現(xiàn)出良好的效果。在該模型框架內(nèi),任一給定句子中的所有詞匯單元可表示為T1、T2,…,Tn,依據(jù)各個(gè)詞匯的重要性賦予相應(yīng)權(quán)重值w。將每個(gè)詞匯T視為N維空間中的一個(gè)維度,從而可以使用一個(gè)N維向量T=
[Ti=n?log10(M/m)]
式中:n為詞Wi在目標(biāo)問句中的詞頻,M為問題集數(shù)據(jù)庫(kù)中所有問句的總數(shù),m為問題集數(shù)據(jù)庫(kù)中包含詞Wi的所有問句。
同理,問題集數(shù)據(jù)庫(kù)中其他的問句也可以表示成n維向量T=
[Sim(T,T)=i=1nTi?T'ii=1nT2ii=1nT'i2]
TF-IDF方法是一種基于大規(guī)模語(yǔ)料庫(kù)的詞頻統(tǒng)計(jì)方法,語(yǔ)料庫(kù)規(guī)模越大效果越好,但它沒有考慮上下文之間的語(yǔ)義信息,有一定的局限性??梢耘c其他的問句匹配算法結(jié)合使用,互相補(bǔ)充,進(jìn)一步提升識(shí)別準(zhǔn)確度。
2 基于語(yǔ)音對(duì)話的心理自動(dòng)問答系統(tǒng)的體系結(jié)構(gòu)
基于語(yǔ)音對(duì)話的心理自動(dòng)問答系統(tǒng)包含了問答數(shù)據(jù)獲取與預(yù)處理、人機(jī)語(yǔ)音對(duì)話以及問句匹配與答案推薦等多個(gè)關(guān)鍵組成部分,其體系結(jié)構(gòu)示意圖如圖1所示:
以下簡(jiǎn)要概述各部分的核心功能:
1) 數(shù)據(jù)獲取與預(yù)處理:系統(tǒng)運(yùn)用基于Python編寫的分布式網(wǎng)絡(luò)爬蟲程序,從專門的心理問答網(wǎng)站及開放領(lǐng)域問答平臺(tái)抓取所需問答文本數(shù)據(jù),采集的信息包括問題ID、問題描述、最佳答案、關(guān)鍵詞、點(diǎn)贊數(shù)量、收藏?cái)?shù)量等,并將這些數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)庫(kù)表格中。
2) 人機(jī)語(yǔ)音對(duì)話:用戶通過語(yǔ)音接口向系統(tǒng)提出心理健康相關(guān)問題,系統(tǒng)調(diào)用語(yǔ)音識(shí)別服務(wù)對(duì)用戶的語(yǔ)音問題進(jìn)行識(shí)別轉(zhuǎn)譯為文本形式;隨后經(jīng)過一系列問句分析和答案推薦流程,系統(tǒng)將得出的最佳答案文本通過語(yǔ)音合成服務(wù)轉(zhuǎn)化回語(yǔ)音格式予以輸出回應(yīng)。
3) 問句匹配:在獲取的問句文本基礎(chǔ)上,系統(tǒng)進(jìn)行問題分析并提取關(guān)鍵詞構(gòu)建詞向量,運(yùn)用詞向量匹配及語(yǔ)義匹配等問句匹配技術(shù),以實(shí)現(xiàn)問答對(duì)的自動(dòng)化匹配。
4) 候選答案排序與推薦:系統(tǒng)對(duì)通過問句匹配得到的問答對(duì)按照匹配相似度進(jìn)行排序,并以語(yǔ)音和文字兩種形式對(duì)用戶問題進(jìn)行回復(fù)解答。其中,語(yǔ)音答案為排序序列中匹配度最高的一項(xiàng),而文字答案則將匹配度較高的答案按得分高低排列,以列表形式推薦給用戶。用戶可對(duì)收到的答案進(jìn)行評(píng)價(jià)打分,而這些用戶評(píng)價(jià)將作為其他用戶搜索和個(gè)性化推薦的重要參考依據(jù)。系統(tǒng)具備根據(jù)用戶評(píng)價(jià)分?jǐn)?shù)重新對(duì)匹配問答對(duì)進(jìn)行排序和推薦的功能。
3 心理自動(dòng)問答系統(tǒng)關(guān)鍵技術(shù)
系統(tǒng)核心技術(shù)涵蓋了心理問答數(shù)據(jù)獲取、人機(jī)語(yǔ)音對(duì)話以及問題答案匹配與推薦三大方面。以下是各項(xiàng)關(guān)鍵技術(shù)的具體實(shí)現(xiàn):
3.1 心理問答數(shù)據(jù)抓取與預(yù)處理
當(dāng)前,獲取高質(zhì)量的心理咨詢語(yǔ)料存在一定困難,尚未有公開的大規(guī)模心理咨詢專用語(yǔ)料庫(kù),而可用的大規(guī)模語(yǔ)料資源多源自開放領(lǐng)域的問答平臺(tái)。因此,在收集心理問答數(shù)據(jù)時(shí),筆者采取了雙重策略:一方面,從諸如“壹心理”“39健康網(wǎng)”“簡(jiǎn)單心理”“公益心理問答”等專門的心理問答網(wǎng)站爬取規(guī)模相對(duì)較小的語(yǔ)料;另一方面,在“悟空問答”“百度問答”等開放領(lǐng)域問答平臺(tái)上篩選出一定規(guī)模的心理咨詢問答數(shù)據(jù)。
心理問答數(shù)據(jù)抓取系統(tǒng)采用了基于Python的分布式爬蟲技術(shù),通過調(diào)用Ruby庫(kù)中的WebDriver功能抓取網(wǎng)頁(yè)的動(dòng)態(tài)HTML源代碼,之后運(yùn)用bs4庫(kù)中的BeautifulSoup進(jìn)行解析,以UTF-8編碼格式獲取原始文本。獲取文本后,借助正則表達(dá)式對(duì)有效信息進(jìn)行提取、格式規(guī)范化以及初步篩選,確保每個(gè)問題都能匹配到一個(gè)最佳答案。緊接著,采用Python的pymysql模塊將獲取的數(shù)據(jù)存儲(chǔ)至MySQL數(shù)據(jù)庫(kù)中,并結(jié)合使用Tk接口Tkinter構(gòu)建交互式的前端界面。下面是爬蟲工作的具體流程:
1) 目標(biāo)網(wǎng)址與主題詞輸入:用戶輸入待搜索的主題詞及目標(biāo)網(wǎng)站URL,啟動(dòng)WebDriver打開指定頁(yè)面。2) 初始頁(yè)面爬?。簩?duì)初始頁(yè)面進(jìn)行過濾和篩選,抓取問題標(biāo)題,并獲取指向子頁(yè)面的URL。3) 子頁(yè)面內(nèi)容抓?。鹤ト〈鸢竷?nèi)容,統(tǒng)計(jì)點(diǎn)贊數(shù)和收藏?cái)?shù),篩選答案,并將其與對(duì)應(yīng)問題進(jìn)行匹配。4) 數(shù)據(jù)入庫(kù):將題目ID、問題描述以及最佳答案分別插入數(shù)據(jù)庫(kù)中。 5) 關(guān)鍵詞提取與入庫(kù):對(duì)問句進(jìn)行關(guān)鍵詞提取,并將關(guān)鍵詞存入數(shù)據(jù)庫(kù),以提升后續(xù)問句匹配的精確性。6) 前端數(shù)據(jù)顯示:前端界面上展示URL列表、問題ID、問題描述以及最佳答案等內(nèi)容。
3.2 問句匹配與答案推薦
在接收到用戶輸入的問句后,筆者結(jié)合多種問句相似度計(jì)算方法對(duì)數(shù)據(jù)庫(kù)中的問答對(duì)進(jìn)行匹配。在集成多種相似度計(jì)算結(jié)果時(shí),需要將各種相似度歸一化到統(tǒng)一的區(qū)間,考慮到最大化相似度以及各類相似度總和對(duì)于衡量問句相似程度的重要性,我們決定將兩者綜合計(jì)算。
具體而言,首先采用多種相似度計(jì)算方法逐一計(jì)算問句間的相似度,并將各類相似度值歸一化至[0,1]區(qū)間內(nèi)。假設(shè)有[n]種不同的相似度度量方法,令[pi(i)∈1,n]表示第[i]種相似度計(jì)算結(jié)果,[p]為綜合相似度,則綜合相似度計(jì)算公式定義為:[p=max(pi)(1npi/n)],即將最大相似度與相似度平均值相乘,以獲得最終的綜合相似度結(jié)果。根據(jù)該結(jié)果對(duì)匹配到的答案進(jìn)行排序。
系統(tǒng)將以語(yǔ)音形式向用戶提供最佳答案,并以文本列表形式展示其他高分候選答案供用戶參考。用戶在接收到答案后,可對(duì)其進(jìn)行主觀評(píng)價(jià)打分,這些評(píng)分結(jié)果將作為其他用戶獲取答案時(shí)的推薦依據(jù)。系統(tǒng)不僅具備自動(dòng)問句匹配功能,還能根據(jù)其他用戶的評(píng)分反饋,對(duì)匹配出的答案重新進(jìn)行排序并推薦給用戶。
4 結(jié)論
本文構(gòu)建了基于語(yǔ)音對(duì)話的心理自動(dòng)問答系統(tǒng),針對(duì)該系統(tǒng)中的關(guān)鍵技術(shù)進(jìn)行了研究,設(shè)計(jì)了心理問答數(shù)據(jù)爬取與預(yù)處理模塊、人機(jī)語(yǔ)音對(duì)話模塊以及問題匹配與答案推薦模塊,提出了問句相似度綜合計(jì)算與答案推薦方法。下一步將進(jìn)一步優(yōu)化人機(jī)交互界面,構(gòu)建更加友好的智能心理咨詢專家系統(tǒng)。
參考文獻(xiàn):
[1] 田洪濤,王斌,夏國(guó)華.心理咨詢專家系統(tǒng)的開發(fā)及應(yīng)用[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,1995,4(6):18-20.
[2] 陳文干,王小飛.網(wǎng)絡(luò)專家型心理健康教育系統(tǒng)構(gòu)建[J].現(xiàn)代教育技術(shù),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] 胡國(guó)平.基于超大規(guī)模問答對(duì)庫(kù)和語(yǔ)音界面的非受限領(lǐng)域自動(dòng)問答系統(tǒng)研究[D].合肥:中國(guó)科學(xué)技術(shù)大學(xué),2007.
[8] 張巍.中文問答系統(tǒng)技術(shù)及應(yīng)用[M].北京:電子工業(yè)出版社,2016.
【通聯(lián)編輯:唐一東】