武書釗,李功權(quán),卜明偉
1.長江大學(xué) 地球科學(xué)學(xué)院,武漢430100
2.中國地質(zhì)大學(xué) 地理與信息工程學(xué)院,武漢430074
當(dāng)前社會的生活節(jié)奏越來越快,人們面臨著更多的來自工作和學(xué)習(xí)的壓力,從而易患心理疾病。新冠疫情,給人們帶來了心理壓力以及恐慌和焦慮的情緒,加劇了心理疾病的患病率,心理疾病問題當(dāng)前已成為重大的全球公共衛(wèi)生問題[1]。心理疾病需要及時(shí)醫(yī)治,否則它帶來的負(fù)面情緒長期積累下去會造成不可估量的后果[2]。如央視的著名主持人崔永元因被工作困擾患上了抑郁癥,大學(xué)和中學(xué)學(xué)生自殺事件也是屢見不鮮[3]。出現(xiàn)這樣的現(xiàn)象,一方面是由于人們?nèi)狈π睦砑膊〉幕局R,也缺乏對心理疾病危害的清醒認(rèn)識,缺少先進(jìn)手段推廣心理疾病知識。而另一方面,心理咨詢師供不應(yīng)求,咨詢者不能及時(shí)得到有效的幫助[4],缺乏科學(xué)理論體系智能化地解決心理問題。因此,需要一個(gè)智能化的平臺存儲心理咨詢的相關(guān)知識,當(dāng)用戶需要獲取心理方面知識時(shí),該平臺從海量知識中快速地反饋給用戶,及時(shí)幫助和疏導(dǎo)心理疾病患者。
知識圖譜是目前智能化存儲信息較好的方法,該方法由谷歌在2012 年提出并迅速用于智能化語義搜索[5]。而目前人工智能技術(shù)逐漸成熟,并且已經(jīng)滲透到社會的方方面面[6],尤其是自然語言處理技術(shù)的發(fā)展,知識圖譜有了更多的應(yīng)用前景。問答系統(tǒng)作為知識圖譜的一個(gè)重要的應(yīng)用方向,基于知識圖譜的問答系統(tǒng)可以快速地通過輸入的自然語言問題,從知識圖譜中找到正確的答案,并按照自然語言的形式呈現(xiàn)給用戶[7],這種問答系統(tǒng)在響應(yīng)及反饋上是高效的。
為了解決上述問題,本研究首先構(gòu)建一個(gè)心理咨詢的知識圖譜,通過建立快速語義化的心理問答系統(tǒng)來推廣心理疾病知識和提供快速的心理咨詢服務(wù)。該系統(tǒng)利用BiLSTM算法進(jìn)行自殺傾向檢測,能夠及時(shí)識別出有自殺、自殘、傷害別人傾向的人,幫助用戶進(jìn)行疾病識別,也可以通過知識問答幫助咨詢者了解相關(guān)知識。本研究有助于咨詢者減輕煩惱,彌補(bǔ)心理咨詢資源短缺問題,提升心理咨詢的工作效率。
知識圖譜可以分為通用知識圖譜和領(lǐng)域知識圖譜。典型的通用知識圖譜代表有Freebase[8]、DBpedia[9]、Yago[10]、百度、谷歌等,主要以三元組事實(shí)型知識為主,對知識抽取的質(zhì)量有一定容忍度。典型的領(lǐng)域知識圖譜有電商、金融、醫(yī)療等。電商領(lǐng)域以阿里巴巴為例,它的知識圖譜已經(jīng)達(dá)到百億級別,可以廣泛支持商品搜索、商品導(dǎo)購、智能問答等。在金融領(lǐng)域,知識圖譜可以讓投資者和融資者更快速地了解投資行為,把握行情。張德亮針對金融圖譜缺乏問題,利用爬取到的金融股票及企業(yè)信息等結(jié)構(gòu)化數(shù)據(jù)構(gòu)建了一個(gè)小型金融知識圖譜[11]。目前知識圖譜在醫(yī)學(xué)上主要用于臨床治療決策支持、醫(yī)療智能語義搜索和醫(yī)療問答系統(tǒng)[12]等。臨床治療決策支持是根據(jù)患者的個(gè)人情況,結(jié)合醫(yī)療領(lǐng)域的大數(shù)據(jù)分析,自動生成針對每個(gè)患者的治療方案,提供給醫(yī)生進(jìn)行參考;醫(yī)療智能語義搜索是從醫(yī)學(xué)知識圖譜中聯(lián)合相關(guān)的實(shí)體、關(guān)系和屬性等信息來查詢,從而優(yōu)化醫(yī)療信息的搜索結(jié)果;醫(yī)療問答是醫(yī)療信息檢索的另外一種形式,它的返回答案是自然語言形式的,需要知識圖譜作為信息的存儲載體,專業(yè)性更強(qiáng)。
在基于知識圖譜的問答系統(tǒng)方面,譚剛等人使用了LSTM模型進(jìn)行實(shí)體/斷言來增強(qiáng)知識圖譜,并使用了啟發(fā)式的候選答案排序方法,最后通過實(shí)驗(yàn)驗(yàn)證了該系統(tǒng)具有較好性能[13];陳金菊等人提出了基于道路法規(guī)知識圖譜的多輪問答系統(tǒng),可以更好地識別用戶意圖[14];杜澤宇等人針對自然語言表達(dá)的復(fù)雜性、不規(guī)范性以及電商領(lǐng)域問題的特殊性,使用知識圖譜作為數(shù)據(jù)庫支撐,設(shè)計(jì)了一個(gè)問答系統(tǒng),該系統(tǒng)基于電商領(lǐng)域,實(shí)現(xiàn)了問答、推理等功能[15];陳璟浩等人利用“一帶一路”投資相關(guān)信息構(gòu)建了知識圖譜,并實(shí)現(xiàn)了問答系統(tǒng)中預(yù)處理、問題分類、問題模板匹配以及答案生成功能[16]。上述所建立的問答系統(tǒng)都在各自領(lǐng)域得到了較好的實(shí)現(xiàn),并且在問答系統(tǒng)流程中都融合了領(lǐng)域的特色,但目前還沒有學(xué)者研究關(guān)于心理咨詢領(lǐng)域的問答系統(tǒng),也很少將文本分類應(yīng)用到問答系統(tǒng)。
文本分類是自然語言處理的重要研究方向[17],文本分類的算法模型有很多,Adachi等人研究了不同特征詞的選擇對SVM(Support Vector Machine)算法分類性能的影響,證明了當(dāng)正樣本與負(fù)樣本特征詞結(jié)合時(shí),分類器效果更好[18];Rajvanshi 等人闡述了SVM 和樸素貝葉斯算法的文本分類過程,并利用WEKA 工具對兩種算法性能進(jìn)行了評估和比較[19];劉思聰?shù)热耸褂肵GBoost模型對爬取到的網(wǎng)絡(luò)評論文本進(jìn)行了分類,得到了93.12%的F1值[20];Nowak以西班牙語數(shù)據(jù)集、農(nóng)場廣告和亞馬遜書評為例,展示了LSTM模型相對于其他文本分類算法的優(yōu)越性[21]。董彥如等人使用一種雙向的由長短期記憶單元組成的RNN 架構(gòu)模型——BiLSTM 算法,并融合了標(biāo)簽嵌入進(jìn)行了文本分類,得到了較好的結(jié)果[22]。上述提到的研究都只是單純的文本分類,還沒有把文本分類應(yīng)用到自殺傾向檢測,并融入到問答系統(tǒng)。
心理健康一直是當(dāng)今社會不可忽視的問題,每年甚至?xí)幸淮笈艘蛐睦韱栴}而選擇自殺。如果他們了解心理知識,就會防止很多危險(xiǎn)發(fā)生??傮w來看,知識圖譜可以為心理咨詢領(lǐng)域提供智能化的信息存儲與管理,而問答系統(tǒng)就是知識圖譜為心理咨詢領(lǐng)域服務(wù)的媒介。另外,文本分類使問答系統(tǒng)更加智能,既可以加快問題與答案的快速匹配,也可以用來做自殺傾向的識別,使得系統(tǒng)功能更加完善。
問答系統(tǒng)與傳統(tǒng)的搜索引擎相比較,針對性更強(qiáng),準(zhǔn)確率更高,用戶也更容易接受。心理咨詢知識圖譜實(shí)現(xiàn)了心理咨詢領(lǐng)域各類知識的關(guān)聯(lián)和整合,把知識用專業(yè)化、結(jié)構(gòu)化的方式進(jìn)行語義表示,可以更便捷地管理和查詢知識[23]。本文所構(gòu)建的問答系統(tǒng)偏向于心理咨詢專業(yè)知識的獲取,目的是幫助有心理問題的人找到正確的答案,且融入了自殺傾向檢測,及時(shí)識別危險(xiǎn)發(fā)言。基于知識圖譜的心理咨詢問答系統(tǒng)框架主要包含四部分:數(shù)據(jù)獲取、圖譜構(gòu)建、問題理解、用戶界面(圖1)。
圖1 心理問答系統(tǒng)框架Fig.1 System framework of psychological question answering system
本系統(tǒng)數(shù)據(jù)獲取模塊通過爬蟲技術(shù)獲取網(wǎng)頁有關(guān)數(shù)據(jù)并結(jié)合Chatopera 的開放數(shù)據(jù),再通過數(shù)據(jù)處理整理成結(jié)構(gòu)化數(shù)據(jù),使用Neo4j的python驅(qū)動py2neo進(jìn)行知識圖譜的構(gòu)建。問題理解模塊是將問句通過HanLP工具進(jìn)行分詞、詞性標(biāo)注等處理,然后通過CHI 特征選擇,利用建立的BiLSTM模型分類器進(jìn)行問題分類并判斷其是否有自殺傾向,最后利用BERT(Bidirectional Encoder Representation from Transformers)模型將問句轉(zhuǎn)換為詞向量進(jìn)行語義相似度計(jì)算來匹配問題模板并生成答案。用戶界面模塊是用戶的問句輸入與系統(tǒng)答案反饋,并涉及到語音文本的相互轉(zhuǎn)換。
構(gòu)建知識圖譜與進(jìn)行文本分類的數(shù)據(jù)源為網(wǎng)絡(luò)文本數(shù)據(jù)和Chatopera 數(shù)據(jù)集,數(shù)據(jù)集包含了問句與標(biāo)簽信息。網(wǎng)絡(luò)文本數(shù)據(jù)是使用網(wǎng)絡(luò)爬蟲技術(shù)在微博樹洞、百度知道、525心理網(wǎng)、壹心理、簡單心理上爬取有關(guān)自殺、自殘以及傷害傾向的問句以及有關(guān)心理疾病的結(jié)構(gòu)化數(shù)據(jù)。Chatopera和一些專業(yè)人士合作完成了一個(gè)語料庫,這是心理咨詢領(lǐng)域首個(gè)開放的知識問答語料庫,包括20 000 條心理咨詢數(shù)據(jù)[23]。該數(shù)據(jù)集包括了自殺傾向的標(biāo)注信息,通過該數(shù)據(jù)集提取標(biāo)注信息與問句信息。問句信息包含了cat-id、cat、question三列,分別為類別編號、類別、問句(表1)。
表1 已標(biāo)注的自殺傾向與正常問句示例Table 1 Examples of marked suicidal tendencies and normal questions
3.2.1 概念層構(gòu)建
知識圖譜作為問答系統(tǒng)的數(shù)據(jù)庫支撐,因此首先要構(gòu)建知識圖譜。以構(gòu)建心理咨詢知識圖譜為基本目的,參照胡力所構(gòu)建的心理咨詢本體庫[24]并咨詢了相關(guān)學(xué)者,對心理咨詢過程以及涉及到的心理學(xué)知識進(jìn)行分析和總結(jié)。將心理咨詢信息主要分為患者、癥狀、診斷標(biāo)準(zhǔn)、發(fā)病原因、診斷結(jié)果、治療方法這六類。其中,發(fā)病原因分為生物學(xué)原因、心理性原因、社會性原因、防御機(jī)制。發(fā)病原因與診斷結(jié)果是因果關(guān)系,診斷結(jié)果分為患病嚴(yán)重程度與心理疾病名稱。診斷結(jié)果與治療方法是決定關(guān)系,治療方法分為心理治療、藥物治療、食物治療。治療方法與患者是執(zhí)行關(guān)系,患者需要采用治療方法,患者主要包括患者的身份信息如年齡、身高、職業(yè)、性別等,還有患者的既往病史,這些都會影響到咨詢師的治療?;颊吲c癥狀是患有關(guān)系,癥狀主要包括嚴(yán)重程度與癥狀。癥狀與診斷標(biāo)準(zhǔn)是從屬關(guān)系,診斷標(biāo)準(zhǔn)包括病程標(biāo)準(zhǔn)、嚴(yán)重標(biāo)準(zhǔn)、排除標(biāo)準(zhǔn)。表現(xiàn)這些元素涉及心理疾病的各個(gè)方面,而一則問答中通常涉及心理疾病多個(gè)方面的元素,且這些要素之間往往存在因果關(guān)系和依賴關(guān)系,使用protégé 工具構(gòu)建了心理咨詢領(lǐng)域的實(shí)體關(guān)系圖(圖2)。
圖2 心理咨詢實(shí)體關(guān)系圖Fig.2 Entity relationship diagram of psychological counseling
3.2.2 實(shí)例層構(gòu)建
將爬取到的數(shù)據(jù)整理成結(jié)構(gòu)化數(shù)據(jù),分為12 個(gè)字段,與上文設(shè)計(jì)的心理咨詢實(shí)體關(guān)系基本對應(yīng),分為疾病和與疾病相關(guān)的實(shí)體和屬性。實(shí)體為疾病、別名、癥狀、并發(fā)癥、藥物、食物,屬性為易感人群、檢查方式、治療方式、治愈期、花費(fèi)、發(fā)病原因(表2)。
表2 爬取到的心理疾病數(shù)據(jù)示例Table 2 Examples of mental illness data crawled
實(shí)例層構(gòu)建分為實(shí)體抽取、關(guān)系抽取、屬性抽取、三元組構(gòu)建和知識存儲,這里使用Neo4j工具的python驅(qū)動py2neo工具來創(chuàng)建知識圖譜。實(shí)體抽取就是根據(jù)模式層的概念去抽取實(shí)體,將整理后結(jié)構(gòu)化數(shù)據(jù)中的實(shí)體字段信息都保存成字典。關(guān)系抽取就是找到實(shí)體與實(shí)體間的關(guān)系,將疾病與其他實(shí)體和屬性的關(guān)系保存成字典。屬性抽取就是抽取部分實(shí)體的屬性信息,即將整理后結(jié)構(gòu)化數(shù)據(jù)中的屬性字段信息都保存成字典。三元組構(gòu)建就是將數(shù)據(jù)整理成(實(shí)體,關(guān)系,實(shí)體)的形式,分別創(chuàng)建不帶屬性字段的節(jié)點(diǎn)與帶有屬性的疾病節(jié)點(diǎn),然后以疾病節(jié)點(diǎn)為start-nodes,屬性節(jié)點(diǎn)為end-nodes,用query="match(p:%s),(q:%s)where p.name='%s' and q.name='%s' create(p)-[rel:%s{name:'%s'}]->(q)" %(start_node,end_node,p,q,rel_type,rel_name)命令,通過前面建立的關(guān)系字典創(chuàng)建節(jié)點(diǎn)關(guān)系邊建立三元組。知識存儲是用平臺來存放構(gòu)建的知識圖譜,這里使用了Neo4j 平臺來存儲所構(gòu)建的心理咨詢的小型知識圖譜(圖3)。
圖3 已構(gòu)建部分心理咨詢知識圖譜Fig.3 Part of constructed psychological counseling knowledge graph
3.3.1 分詞處理
首先對幾大主流分詞工具Jieba、HanLP、中科院分詞NLPIR進(jìn)行測試,選用心理咨詢QA語料庫問答語句作為數(shù)據(jù)源。測試前,需要心理學(xué)專業(yè)人士挑選100條數(shù)據(jù)記錄并進(jìn)行人工標(biāo)注,實(shí)現(xiàn)分詞和詞性標(biāo)注,以此作為實(shí)驗(yàn)真值。測試時(shí),把這100條數(shù)據(jù)記錄分別用三種分詞工具進(jìn)行處理,將處理結(jié)果與專業(yè)人士標(biāo)注結(jié)果相對比,得到三個(gè)分詞工具的準(zhǔn)確率、召回率、F1值、分詞時(shí)間等評價(jià)指標(biāo)(表3)。通過對三個(gè)分詞工具的測評,可以得出NLPIR的分詞效率最快,但HanLP準(zhǔn)確率最高。結(jié)合測評結(jié)果和心理咨詢的需求,本研究選擇HanLP工具進(jìn)行文本分詞工作,將上文所構(gòu)建的疾病信息的字典導(dǎo)入HanLP的自定義詞典中,使分詞更加準(zhǔn)確。
表3 三大分詞工具的測評結(jié)果Table 3 Evaluation results of three word segmentation tools
3.3.2 問題分類
本文結(jié)合獲取到的心理咨詢問答數(shù)據(jù),并咨詢了專業(yè)心理咨詢師將常問問題分為五個(gè)類別,分別是疾病識別、事實(shí)類問題、方法類問題、列表類問題和其他問題。疾病識別類問題主要回答“什么病”,事實(shí)類問題主要回答“是什么”,方法類問題主要回答“怎么辦”,列表類問題主要是回答“有哪些”,自殺傾向類問題是用戶輸入的問句具有自殺傾向(表4)。
表4 心理問答問題分類Table 4 Classification of psychological questions and answers
由于問題分類與自殺傾向檢測原理相同,這里以自殺傾向文本分類的詳細(xì)過程為例來進(jìn)行說明。本文將自殺傾向類問題分成了四類,分別為有自殺傾向、有自殘傾向、有傷害別人傾向和正常類別。分別從數(shù)據(jù)集的每個(gè)類別中各選取1 500、1 200、1 000、9 000 條作為訓(xùn)練數(shù)據(jù),然后再另選取150、120、100、900條作為測試數(shù)據(jù)。使用HanLP分詞工具并結(jié)合停用詞進(jìn)行分詞工作,分詞后得到了自殺傾向、自殘傾向、傷害傾向、正常傾向各類別的特征詞,繪制了每個(gè)類別的詞云圖(圖4)。
圖4 自殺傾向、自殘傾向、傷害傾向、正常傾向類別詞云圖Fig.4 Word cloud picture of suicidal tendency,self-mutilation tendency,injurious tendency and normal tendency
利用式(1)來計(jì)算HanLP分詞后所有單詞的CHI值,以此作為問題分類與自殺傾向分類特征選擇的依據(jù)。
式中:N是標(biāo)注的問句總數(shù),A是用于記錄某一類中包含單詞t的文檔總數(shù),B代表不屬于某一類但是也包含單詞t的文檔,C代表某一類不包含單詞t的文檔,D代表不屬于某一類不包含單詞t的文檔,CHI值代表兩種類別的區(qū)分程度,這里的CHI值越大代表該詞越能代表某一類別。
對所有單詞按CHI值從大到小進(jìn)行排序,通過選取每個(gè)類別CHI 最大的150 個(gè)詞,得到選擇出的1 000 多維特征列表,并計(jì)算每一個(gè)問句的特征向量權(quán)重,即詞語在問句中出現(xiàn),則賦值為1,否則為0,最終輸出為供分類器可識別的特征向量。
3.3.3 問題分類模型選取
在進(jìn)行文本分類的工作時(shí)分別使用了Naive Bayes、決策樹、SVM、XGBoost、BiLSTM 五個(gè)模型,并比較每個(gè)模型訓(xùn)練出來的效果,選取效果最好的分類模型用于該系統(tǒng)。在測試每個(gè)模型時(shí),首先會得到每一類問題的準(zhǔn)確率、召回率、F1值,然后對所有類別問句的準(zhǔn)確率、召回率、F1值求平均值,這些值即代表了不同模型的分類精度(表5)。從表5的測試結(jié)果可以看出BiLSTM模型在分類效果上更加準(zhǔn)確。
表5 幾種模型分類效果比較Table 5 Comparison of classification effects of several models %
BiLSTM 模型可以通過前面的信息來預(yù)測后面的信息[25],非常適合處理句子這種有上下關(guān)聯(lián)的文本數(shù)據(jù)。以BiLSTM 模型對自殺傾向類問題的分類過程為例,分詞選擇了HanLP 分詞工具,分類完成后便得到了損失函數(shù)和準(zhǔn)確率函數(shù)圖像(圖5)。
圖5 使用BiLSTM模型的損失函數(shù)和準(zhǔn)確率函數(shù)圖像Fig.5 Loss function and accuracy function images used by BiLSTM model
圖5 中,train 代表訓(xùn)練集,test 代表測試集,函數(shù)的橫軸為訓(xùn)練的迭代次數(shù),豎軸分別代表損失值與準(zhǔn)確率值。當(dāng)?shù)螖?shù)變大時(shí),損失率逐漸降低,在迭代次數(shù)為14次的時(shí)候開始持平,訓(xùn)練集趨于0.1與0.2之間,測試集趨于0.2到0.3之間。而準(zhǔn)確率逐漸增加,在迭代次數(shù)為14次的時(shí)候開始持平,訓(xùn)練集趨于0.975,測試集趨于0.925到0.950之間。
通過測試每一類問題的準(zhǔn)確率、召回率、F1值來評價(jià)該模型(表6),可以得出BiLSTM 模型要比前面四種模型分類效果更好。
表6 使用BiLSTM模型測試的自殺傾向分類結(jié)果Table 6 Results of suicidal tendency classification tested by BiLSTM model %
3.3.4 問題模板匹配
AC(Aho-Corasick)算法[26]中包含了Trie 樹和fail 指針,在進(jìn)行多模式字符串匹配時(shí),相比于傳統(tǒng)算法減少了很多時(shí)間復(fù)雜度。本文通過AC算法構(gòu)建了不同實(shí)體類型的ACtree,將所有實(shí)體添加到樹中。在運(yùn)用到該系統(tǒng)時(shí),其原理即為詞典的匹配。
在系統(tǒng)得到用戶輸入的問題后,首先進(jìn)行實(shí)體的抽取,然后再進(jìn)行意圖識別,利用建成的AC樹便可以檢測實(shí)體類型。如果AC樹匹配成功,則只需要根據(jù)匹配到的實(shí)體與關(guān)系來進(jìn)行意圖識別查找答案。AC樹匹配失敗時(shí),系統(tǒng)將其問題與設(shè)計(jì)的問題模板相匹配來得到答案。以疾病識別的問句為例(表7),包括主模板與附屬模板,主模板直接對應(yīng)Cyper 語句的關(guān)鍵詞,附屬模板就是具體的問句形式。
表7 問題模板示例Table 7 Example of question templates
根據(jù)每一類別的問題設(shè)計(jì)了對應(yīng)的模板,設(shè)計(jì)問題模板的好處在于當(dāng)用戶輸入問題意圖不是很明顯時(shí),系統(tǒng)可以根據(jù)相似度排名情況來識別問題意圖。本次共設(shè)計(jì)了92條主模板,1 600條附屬模板。
問題模板相似度計(jì)算是將用戶輸入的自然語言問句在去除停用詞后與問題模板相對比,利用式(2)、(3)、(4)分別計(jì)算三種相似度得分,最后利用式(5)求三個(gè)得分的加權(quán)平均值,選擇得分最高的問題模板來查找答案。對于式(2),需要用到bert-as-service(一個(gè)封裝好的BERT工具)將問句與問句模板轉(zhuǎn)換為向量[27],再進(jìn)行相似度計(jì)算。
利用式(2)計(jì)算相同字符數(shù)除以總字符數(shù)得分。
式中:sim_num代表相同字符數(shù),c代表總字符數(shù)。
利用式(3)采用DP(Dynamic Programming)方法計(jì)算字符串與字符串之間的編輯距離[28]得分。
式中:a和b代表兩個(gè)字符串的長度,edit(a,b)代表從一個(gè)字符串到另一個(gè)字符串的操作變換次數(shù)。
利用式(4)采用余弦相似度(Cosine)算法[29]計(jì)算用戶問句向量與模板向量的相似度得分。
式中:A和B是兩個(gè)n維向量,余弦值越大就表示越相似。
利用式(5)計(jì)算三個(gè)得分的平均值,得到問句與模板相似度平均值。
式中:Score1 代表相同字符得分,Score2 代表編輯距離得分,Score3 代表余弦相似度得分。
經(jīng)過多次實(shí)驗(yàn),當(dāng)問句與模板相似度平均值Score大于等于0.7 時(shí),該模板選定為用戶提問問題模板。當(dāng)出現(xiàn)多個(gè)一樣的值時(shí),說明該問題較為模糊,先根據(jù)值的小數(shù)點(diǎn)精確位數(shù)判斷值的大小,如果一模一樣,系統(tǒng)就會將這些問題模板都返回給用戶讓用戶來選擇。
答案生成模塊主要負(fù)責(zé)問答系統(tǒng)的心理咨詢知識圖譜匹配來預(yù)測用戶的行為,即意圖識別。該模塊輸入用戶的會話狀態(tài),輸出預(yù)測的行為。經(jīng)由問題理解模塊對用戶輸入的自然語言語句進(jìn)行問題分類、問題模板匹配后,從用戶提問中抽取實(shí)體與關(guān)系生成Cypher 語句來返回查詢答案。以“雙相情感障礙有哪些癥狀”問句為例,展示了生成的Cypher語句與查詢結(jié)果(表8)。
表8 心理咨詢知識圖譜查詢示例Table 8 Query example of psychological counseling knowledge graph
為了測試心理問答系統(tǒng)的準(zhǔn)確性,依據(jù)前文問題分類,對每一類分別設(shè)計(jì)了50條問題,對系統(tǒng)返回的答案進(jìn)行測評,以驗(yàn)證問答系統(tǒng)的性能。利用式(6)將系統(tǒng)正確回答的問題數(shù)除以輸入總問題數(shù)的比值作為系統(tǒng)的準(zhǔn)確率。
式中:σ代表問答系統(tǒng)的回答正確率,x代表正確回答的問題數(shù),y代表輸入的問題總數(shù)。
以失眠癥狀來詢問所患疾病為例,系統(tǒng)會查詢所有有失眠癥狀的疾病,反饋給用戶這些疾病的其他癥狀,用戶再次輸入所患其他癥狀,系統(tǒng)根據(jù)這些癥狀返回所患的疾病。以失眠癥為例,用戶還可以詢問失眠癥可以吃的藥以及治療方式。當(dāng)用戶輸入自殺傾向發(fā)言時(shí),系統(tǒng)也會檢測出來(圖6)。
圖6 問答系統(tǒng)界面Fig.6 Interface of question answering system
通過測試每類問題的回答正確率,得到該系統(tǒng)給出正確回答的概率為82%,由此來看本研究構(gòu)建的基于心理咨詢知識圖譜的問答系統(tǒng)可以有效地回答用戶提出的心理問答方面的問題(表9)。
表9 心理問答系統(tǒng)測試結(jié)果Table 9 Test results of psychological question answering system
將系統(tǒng)給出正確回答的問題與系統(tǒng)給出錯(cuò)誤回答的問題相比較,可以看出,正確回答的問題大部分具有與問題模板類似的特點(diǎn),也有一部分問題與問題模板有相同的實(shí)體和語義,但表達(dá)方法不同,可以證明該問答系統(tǒng)有較高的語義理解能力。而對于沒有正確回答的問題,其具有兩個(gè)特點(diǎn):對于這些問題中的實(shí)體,系統(tǒng)可以識別,但是語義信息沒有出現(xiàn)在模板中則不能識別,如“雙相情感障礙的一般發(fā)病年齡是多少?”或“雙相情感障礙能不能醫(yī)治得到痊愈?”等;另一個(gè)特點(diǎn)是涉及到的實(shí)體屬性信息不夠全面,如藥物存在哪些副作用等屬性信息應(yīng)該添加到知識圖譜中。
當(dāng)今社會面臨著知識爆炸的問題,尤其是各種領(lǐng)域知識相互摻雜,影響著人們對知識的獲取與理解。垂直領(lǐng)域知識圖譜存儲了某一領(lǐng)域的專業(yè)知識,極大地方便了用戶來了解該領(lǐng)域的知識,利用這些知識去減少損失或創(chuàng)造更大的價(jià)值。本文構(gòu)建的心理咨詢知識圖譜與問答系統(tǒng)有以下特點(diǎn):(1)提供了一個(gè)平臺可以存儲心理疾病的知識,比傳統(tǒng)的數(shù)據(jù)庫更具語義化。(2)構(gòu)建的問答系統(tǒng)實(shí)現(xiàn)了分詞處理、問題分類、問題模板匹配、答案生成一套完整的流程,可以幫助用戶判斷所患心理疾病,也可以幫助用戶查詢有關(guān)心理疾病的相關(guān)知識,具有一定的研究意義與價(jià)值。(3)在問答系統(tǒng)中優(yōu)選了BiLSTM模型來進(jìn)行自殺傾向檢測。實(shí)驗(yàn)結(jié)果證明,本文模型在進(jìn)行自殺傾向檢測時(shí)的準(zhǔn)確率、召回率、F1值要明顯優(yōu)于其他傳統(tǒng)模型。