于磊 高澤文 張斌 柳欣 李保田 劉燕峰



摘要:為了降低心理咨詢師的工作重復性,提升咨詢服務效率,并減輕心理求助者的心理壓力,將自然語言處理、大數據分析及語音信號處理等智能技術引入心理咨詢領域顯得至關重要,旨在借助計算機系統的力量改善心理咨詢的效率與質量。為有效地解決計算機輔助心理咨詢的問題,文章提出了一種心理自動問答系統的設計方案。該系統運用人機語音對話技術實現實時的人機交互功能,并精心設計了針對心理領域的問答數據獲取與預處理子系統,以及問句匹配與答案推薦子系統。此外,文中還創新性地提出了綜合計算語句相似度的方法,并最終成功構建了一套基于語音對話的心理自動問答實用系統。
關鍵詞:心理咨詢;專家系統;問答系統;人機語音對話;自然語言處理
中圖分類號: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.
【通聯編輯:唐一東】