?

基于Web的英文智能問答系統實現策略研究

2022-07-07 01:05陳鈺王迎春牛苗苗
科海故事博覽·下旬刊 2022年6期

陳鈺 王迎春 牛苗苗

摘 要 隨著互聯網的普及,智能型設備,如手機、平板電腦、筆記本電腦的應用隨處可見,英語學習者們越來越熱衷于在網上進行自主學習。本文通過設計英文智能問答系統,充分整合網絡資源,以對話的交互界面為窗口向提問者提供擬人化的智能回答。本系統主要基于英語語言處理的相關技術以及海量的英語交流數據庫,它可以在對提問者進行自動化回答后,分析提問者反饋信息,對于不滿意的答案,系統會轉給相應的專業人士進行處理。在這個交互過程中還儲存了相應的知識回答軌跡,并指向相應的知識庫鏈接,方便后來的用戶進行查看。

關鍵詞 Web 英文智能問答系統 交互界面 測試環境

中圖分類號:TP311.52 文獻標識碼:A 文章編號:1007-0745(2022)06-0026-05

1 功能需求

基于Web的英文智能問答系統運行的首要步驟是先獲取到提問者的問題。之后,根據匹配模型將該問題與數據庫中所有的相關問題進行匹配,以找到最優的答案并將其反饋給提問者。而對于出現在知識圖譜的相關語法問題,問答系統則還需要識別句子中出現的語法結構,并調用不同的場景模式進行響應預測與問答交互[1],因此該智能問答系統需要具備的功能有:

1.英文問答數據獲?。豪肞ython等技術從各個公開可獲取的如Google、Wiley InterScience、Ingenta等網站、論壇等自動獲取相應的問答數據。

2.英文相似問題制備:獲取到的中文問答數據對,以相似性原則制備問題數據集,用于文本進行相應的匹配模型轉譯。

3.相似問題更迭匹配模型:對于新獲取的問答數據,生成新的相類似問題和問答系統自身積累的對話模型數據對相似問題進行更迭匹配。

4.知識圖譜構建:基于現有的英文數據庫自動構建相應的知識圖譜。

5.前臺對話式交互:可以模擬提問者和回答者的交互,通常以前臺交互界面,以對話的方式進行呈現,可以通過類似微信一問一答的交流方式,進行問題的解決。并在最后獲得用戶的評價,可以以此來判定返回的模型的正確性以及相似的問題,是否被問答者所接受,進而來決定是否用上述第二條功能中的模型進行更迭匹配。

6.模型的調用:可以根據用戶的需求對相應的模型予以響應。

7.實體知識庫鏈接:對于在問答中出現的較為重要的實體內容,可以與實體知識庫進行鏈接,方便用戶對于實體進行更直觀、更便捷的訪問和查看。

2 英文智能問答系統的架構設計

英文智能問答系統的總體框架包括代碼層、數據庫層、應用層以及用戶層(具體如圖1所示)。[2]代碼層表示智能問答系統所涉及的所有編程語言與軟件。數據層通過人工、python等數字技術獲取來自各大英文網站、已發表文獻的公開文獻數據以及英文問答數據,其次也從各英文網站采集英文實體知識庫,例如名詞解釋等,均是從比較權威的數據庫中進行采集。

英語同義問題數據集是通過數據采集完成后使用同義語料制備平臺依據數據庫中的所有問答題目形成的。應用層是由數據庫層所收集的豐富問答數據庫和詳實的知識庫及其產生的同義問題集合體共同形成的具備智能問答模式的應用服務類模型。自動問答服務可以根據類似問題歸集的衍化形成集演練、推測、數據更迭匹配等相類似的模型匹配。而且還能夠根據實體認知圖譜進行反向預測模型推演,改進和提升問答效率[3]。在推演過程中形成的副產品詞匯向量和文本向量可以模型化后運用于其他的任務,形成服務類模型的基礎。應用層的文本分詞功能可以形成導向索引,為后期提供實體鏈接指向。不同的接入口面對的是龐大的用戶層,可以根據用戶通過提出的問題,實現相類似問題解答、疑難問題專人解答以及實體知識指向鏈接等功能。通過數據服務可以根據提問者對回答結果的滿意度來進行評判,以確定是否需要通過專人解答或者模型的更迭功能對非同類問題予以處理。在用戶層,可以實現在提問者之間的交互,獲得相應的問題,經過應用層數據庫的調用,搜索相應的答案。在用戶提出有代表性的問題且能夠指向實體知識庫鏈接的同時,提問用戶可以根據系統所提供的實體庫信息鏈接進行點選以獲取更多的有關信息。

3 系統核心技術

智能問答系統的代碼層所采用的代碼包括Python、Django、PyQuery、Nginx、uWSGI、Matchzoo等,后臺模型主要通過Python實現,Nginx、uWSGI和Django組合方案用于線上項目的部署。Matchzoo屬于Python工具包,用于各種文本模型匹配,且可以把這些模型用統一的接口封裝。其優點在于便于文章的檢索,以及對于問題進行自動回應和答復,對于同義語句,可以達到快速揀選和識別,從而能夠較為快速和精準地進行個人數據的調試,在很大程度上節省了開發時間。自定義模式下,文本可以用相似問題匹配的方式在該架構內實現。PyTorch作為具有開放意義的深層次研學架構,由于其設計與人類思維力相匹配,在語句處理方面的表現令人欽佩,它可以讓用戶在形成自身想法的同時保持更加專注的狀態,能夠更加適合深度和高效的學習。它與Matchzoo工具包相結合調用能夠實現類似于人類神經網絡的自主智能問答反饋。uWSGI是用于和Web應用在網絡架構中數據交換的服務器。Nginx是較uWSGI簡單的一款服務器,職能是負責統管理所接收到的所有瀏覽器需求。它可以自行處置由瀏覽器發送的靜態請求,而動態請求則由其分發到uWSGI在Web應用上處理并做出響應。Django可以保證后臺Web應用在規范的框架下運行。PyQuery作為Python的一項巧妙靈活的網頁解析工具,被大多數開發者所青睞,目的是能夠在指定的網頁節點中得到所需要的數據。

數據庫層負責收集、篩分、存儲和重組問答數據、查找實體知識庫和英文知識圖譜和類似問題數據的比對與更新。在解決用戶的提問時,系統首先經過文獻查找,搜尋曾經被公開的問答數據庫相應的字符,并將其以文本的形式快速導入數據庫。之后,從各個英文類網址上進行相應的采集,將所輸入的文本字段加以橫向比對,以確定與本次查找相匹配的字段并進行收集,然后用Python技術黏貼網頁代碼并利用PyQuery解析并保存。系統在訪問網站之后,通過獲取新的問答數據,將已有的數據庫進行更新。對相關的問題數據進行分離,利用語料制備模型生成相對應的數據集合,正樣本和負樣本按照一定的比例生成,得到相似的問題答案后用于填充匹配語料模型。對于英文知識庫可以直接從Google和Wiley Inter Science獲得,通過篩分和實物比對后可以生成英文知識庫圖譜。英文智能問答系統數據獲取與處理流程如圖2所示。

應用層模型建立于Python語言之上,用Pytorch搭建框架。主要用于數據庫數據生成后的問答與反饋,它可以直接調用集成在Django應用中的數據模型。應用層在調用由API傳達的用戶提問時,會率先采用匹配關鍵詞和篩選模型被選問題集合的方式。之后用事先排布好的深層次匹配模型查找相對應的與選擇項最相近的問題,并迅速反饋給用戶層。用戶層可以再一次啟用類似問題的API問詢,應用層可以依照之前的排布,選取最優的回答選項,按照不同的設置配比,返還給用戶層。如果用戶層對于返還的回答選項不滿意,則可以啟用存疑問題應答模型,讓用戶來決定是否采用專人應答模式。如果用戶單純采用實體查詢模型,即可以在英文實體知識庫中搜索相應的實體答案,返還給與其對應的文本模塊。應用層與用戶層的每一次交互都附帶有來自用戶層的反饋。如查詢用戶得到了可接受的答案,即為給出了提問者相對應或者相類似的信息。應用層會將這些信息進行分組,及時的記錄到已有知識數據庫中作為正樣本儲存。如果沒有得到用戶層的正向反饋,記錄將稱為負樣本,采用數據更迭的方式來尋求相似問題的匹配模型進行下一個循環。英文智能問答系統應用層各API響應流程如圖3所示。用戶層與系統的前臺進行直觀的交互,對應層的API封裝后,準備前段進行訪問。Nginx可以直接處理前臺的靜態問題,可以用鏈接的形式將問題指引到相應的靜態文件模型,并將結果發送到uWSGI,經過調用Django將處理過的信息回應給反饋系統。前臺UI界面可以簡潔明快地表達交互界面,Jacascript以及JQuery在開發中將要被用到。

擬建立的英文智能問答系統的開發部署現處于內網測試階段,待后續成熟可以直接平移到外網服務器。前臺的架構部署如圖4所示,訪問者可以通過設備的瀏覽器直接進入問答交互界面,在提出相應的問題后,由系統前端發送請求,Nginx根據接收到的信息調用uWSGI中的Django對發起的請求做出回應。類似問題在查詢請求方面和實體查詢的過程基本一致,前臺在接收到后臺的響應之后,通過直接顯示或是頁面跳轉,實現前后臺之間的交互。

4 英文智能問答系統界面展示

4.1 交互界面的樣式

使用者可以通過設備的瀏覽器或是微信小程序進入英文智能問答系統界面,交互方式用類似于微信聊天的形式進行。使用者可以輸入一定量的問題并點擊“send”按鈕發送,前臺在獲取信息轉入到后臺調用回復資源后,將以對話的形式將答復傳遞給使用者。

以問題“Interview”為例,使用者在輸入并點擊發送“Send”按鈕后,系統回復為:

“1.Purpose of Interviews

2.Types of Interviews

3.Preparing for the Interview

4.Interview Structure.

5.Typical Questions”

由于該問句所提供的信息不夠清晰。所以,系統以選項的方式予以呈現,用戶可以繼續在選項上點選,跳到下一詳細頁面。當點選“4.Interview Structure.”,頁面內容跳轉,系統的回復為“Traditional:Traditional interview questions focus on your educational background, work experience, activities,skills,etc.Behavioral:Behavioral interviews focus on specific past behaviors”,Describe a time when.Past behavior is the best predictor of future performance.在每輪對話完成后,使用者可以根據對話框下面的評價按鈕對本次回答情況進行點選評價。當使用者感到滿意時,可以點選相應的按鈕,平臺會自動將被點選為滿意的答案歸置為類似問題,并將其用正樣本的方式添加到與英文知識庫相匹配的模型中。若使用者對此項回答點選不滿意,該項記錄則被列為負樣本。當數據量累積到所設置的限度時,系統將自動進行模型更迭,以改進和提升模型的整體效果。

在系統回答提問者的問題之后,使用者還可能對某些具體的細節有所疑問,所以系統配備了鏈接詞匯查詢功能。系統所給出的所有答復都是在后臺實體庫中備案并添加了鏈接的,所以使用者可以在對話框中把不同顏色進行區分的可點選內容做出進一步的查看。

4.2 類似問題點選界面

使用者對系統所作出的回答不滿意,還可以點擊會話框下的“More”按鈕,系統即可跳轉到下一個有可能與提問相類似的問題,并作出相應的回答。如再次給出的答案,不能滿足使用者的需求,使用者則可以點選專人回答的方式,屆時將有相應領域的專家通過遠程問題解答方式予以解決,由于該系統目前正處于測試階段,所以系統會回復“Thanks for your ques tion”。使用者可以通過搜索系統瀏覽器的方式尋求其他解決方案。

5 系統性能測試

5.1 測試的意義

系統在上線之前要經過不同層次的聯合測試,測試主要有兩個方面:

一方面是功能測試,主要是為了使開發者了解該智能問答系統是否滿足最初的設計需求。測試的內容包含了問題回答的完整性、相似問題的查看是否簡單、快速、便捷,系統運行中鏈接指向是否有難以跳轉、卡頓或是出現頁面亂碼的現象、顯示字體的大小、顏色的深淺度、接受度等等。

另一方面是通過特定的工具,對于真實使用環境下的系統反應速度予以精確的測定。

5.2 測試環境

測試環境分為開發者前段服務器端和測試應用條件下的電子設備移動端。

5.3 測試內容與結果

測試內容:系統啟動是否正常、問答功能是否齊全、相似問題是否可查詢、實體庫知識查詢、會話結果評價反饋是否正常等。測試步驟和結果見表1。

測試結果:對系統進行功能測試,各項功能均能正常實現。在需要進行問題回答的步驟時,由于需要調用關鍵詞匯進行模型篩選驗算,所以耗時比其他的功能稍長,但是也在可以接受的范圍。

6 結語

本論文主要闡述了基于智能問答模型的英文智能問答系統的設計與實現。雖然該系統仍處在不斷調試完善的階段,但是筆者希望通過對涉及的系統搭建方面的關鍵技術的掌握和實施,今后能在市面上看到更多不同種類的智能問答系統設計程序,以便更好地用科技的力量服務于社會。

參考文獻:

[1] 謝項.基于古詩知識圖譜的智能問答研究[D].武漢:華中師范大學,2020.

[2] 王松嘉.基于機器人知識圖譜的智能問答系統的設計與實現[D].哈爾濱:哈爾濱師范大學,2020.

[3] 王璐.基于知識圖譜的健康膳食知識智能問答系統[D].蘭州:蘭州大學,2020.

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合