TWI842359B - 問答系統及其操作方法 - Google Patents
問答系統及其操作方法 Download PDFInfo
- Publication number
- TWI842359B TWI842359B TW112103277A TW112103277A TWI842359B TW I842359 B TWI842359 B TW I842359B TW 112103277 A TW112103277 A TW 112103277A TW 112103277 A TW112103277 A TW 112103277A TW I842359 B TWI842359 B TW I842359B
- Authority
- TW
- Taiwan
- Prior art keywords
- question
- module
- training database
- training
- database
- Prior art date
Links
- 238000011017 operating method Methods 0.000 title claims abstract description 5
- 238000012549 training Methods 0.000 claims abstract description 123
- 238000012545 processing Methods 0.000 claims description 88
- 239000013598 vector Substances 0.000 claims description 45
- 238000000034 method Methods 0.000 claims description 19
- 238000012552 review Methods 0.000 claims description 3
- 238000007418 data mining Methods 0.000 claims 2
- 238000004364 calculation method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000013135 deep learning Methods 0.000 description 7
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 5
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 5
- 238000012550 audit Methods 0.000 description 5
- 230000002452 interceptive effect Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 4
- 101000827703 Homo sapiens Polyphosphoinositide phosphatase Proteins 0.000 description 3
- 102100023591 Polyphosphoinositide phosphatase Human genes 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 101100012902 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FIG2 gene Proteins 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000013145 classification model Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 230000006698 induction Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000006854 communication Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Abstract
本發明提供一種問答系統及其操作方法。問答系統包括問答資料庫、訓練資料庫、介面模組、召回與排序模組以及反饋模組。介面模組用以獲取用戶請求。召回與排序模組用以根據訓練資料庫進行訓練。召回與排序模組用以經訓練後,根據用戶請求以及問答資料庫來生成多個候選答案,以使介面模組輸出多個候選答案並獲取用戶反饋。反饋模組用以根據用戶反饋來生成新增問題,並根據新增問題來更新訓練資料庫,以增加問答系統的準確度。
Description
本發明是有關於一種問答系統,且特別是有關於一種利用深度學習的問答系統及其操作方法。
常見問答集(Frequently Asked Question,FAQ)可以被彙整並被呈現於網頁中,也可以被建立成問答系統。一般而言,基於FAQ檢索式的問答系統可以利用機器學習方法來被實現。然而,目前利用機器學習的問答系統在訓練時無法取得充足的樣本資料,導致訓練結果的準確率低落。
本發明是針對一種問答系統,能夠根據使用者的回饋來更新深度學習訓練所使用的訓練資料庫,以增加問答系統的準確度。
根據本發明的實施例,本發明的問答系統包括問答資料庫、訓練資料庫、介面模組、召回與排序模組以及回饋模組。介面
模組用以獲取使用者請求。召回與排序模組用以根據訓練資料庫進行訓練。召回與排序模組用以經訓練後,根據使用者請求以及問答資料庫來生成多個候選答案,以使介面模組輸出多個候選答案並獲取用戶回饋。回饋模組用以根據使用者回饋來生成新增問題,並根據新增問題來更新訓練資料庫。
根據本發明的實施例,本發明的問答系統的操作方法包括以下的步驟。獲取用戶請求。通過召回與排序模組根據訓練資料庫進行訓練。通過經訓練後的召回與排序模組根據使用者請求以及問答資料庫來生成多個候選答案。輸出多個候選答案並獲取用戶回饋。根據使用者回饋來生成新增問題。根據新增問題來更新訓練資料庫。
基於上述,本發明的問答系統以及問答系統的操作方法可基於使用者回饋來對訓練資料庫進行更新,以使訓練資料庫能夠基於實際操作結果來提高樣本資料量。如此一來,更新後的訓練資料庫能夠提高召回與排序模組的訓練準確率,以提高經訓練後所生成的候選答案的準確率。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
100、600:問答系統
110:介面模組
120:召回與排序模組
130:回饋模組
140:問答資料庫
150:訓練資料庫
S210~S260:步驟
S311~S365、S411~S416、S511~S528、S611~S633:模組
圖1是本發明的一實施例的問答系統的電路方塊圖。
圖2是本發明的一實施例的問答系統的操作方法的流程圖。
圖3A至3C是本發明的一實施例的問答系統的操作方法的動作示意圖。
圖4是本發明的圖3B實施例的問答系統的操作方法的動作示意圖。
圖5是本發明的圖3B實施例的問答系統的操作方法的動作示意圖。
圖6是本發明的另一實施例的問答系統的操作方法的動作示意圖。
本發明的部份實施例接下來將會配合附圖來詳細描述,以下的描述所引用的元件符號,當不同附圖出現相同的元件符號將視為相同或相似的元件。這些實施例只是本發明的一部份,並未揭示所有本發明的可實施方式。更確切的說,這些實施例只是本發明的專利申請範圍中的範例。
圖1是本發明的一實施例的問答系統的電路方塊圖。參考圖1,問答系統100可提供平台即服務(Platform as a service,PaaS)。各種雲端服務平台(未繪示)可應用問答系統100,以通過問答系統100提供相關的問答集服務。問答系統100可利用深度學習(deep learning)平台(或模型)來實現常見問答集(Frequently Asked Question,FAQ)檢索式的服務。在本實施例中,
問答系統100可包括介面模組110、召回與排序模組120、回饋模組130、問答資料庫140以及訓練資料庫150。
在本實施例中,介面模組110耦接召回與排序模組120以及回饋模組130。介面模組110可獲取使用者輸入的資料,並且輸出召回與排序模組120的計算結果以供用戶參考。在本實施例中,介面模組110可例如是使用者介面(User Interface,UI)。
在本實施例中,召回與排序模組120耦接問答資料庫140以及訓練資料庫150。召回與排序模組120可包括深度學習平台(或模型)。召回與排序模組120可使用前述的模型以根據訓練資料庫150進行訓練。經訓練後的召回與排序模組120可根據問答資料庫140以及使用者所輸入的資料來進行推論以生成計算結果。在本實施例中,召回與排序模組120可例如是訊號轉換器、現場可程式化邏輯閘陣列(Field Programmable Gate Array,FPGA)、中央處理單元(Central Processing Unit,CPU),或是其他可程式化之一般用途或特殊用途的微處理器(Microprocessor)、數位訊號處理器(Digital Signal Processor,DSP)、可程式化控制器、特殊應用積體電路(Application Specific Integrated Circuits,ASIC)、可程式化邏輯裝置(Programmable Logic Device,PLD)或其他類似裝置或這些裝置的組合,其可載入並執行電腦程式相關韌體或軟體,以實現神經網路的訓練與推論等功能。
在本實施例中,回饋模組130耦接訓練資料庫150。回饋模組130可維護與更新訓練資料庫150。在本實施例中,回饋模組
130可例如是訊號轉換器、現場可程式化邏輯閘陣列(Field Programmable Gate Array,FPGA)、中央處理單元(Central Processing Unit,CPU),或是其他可程式化之一般用途或特殊用途的微處理器(Microprocessor)、數位訊號處理器(Digital Signal Processor,DSP)、可程式化控制器、特殊應用積體電路(Application Specific Integrated Circuits,ASIC)、可程式化邏輯裝置(Programmable Logic Device,PLD)或其他類似裝置或這些裝置的組合,其可載入並執行電腦程式相關韌體或軟體,以實現資料處理等功能。
在本實施例中,問答資料庫140可儲存多個資料。前述的資料可關聯於預設的多個問題、多個相似問題以及對應的答案。這些問題以及這些答案可分別是以中文語句來被實現。在本實施例中,問答資料庫140可例如是關係型數據庫或非關係型數據庫。
在本實施例中,訓練資料庫150可儲存多個資料。前述的資料可關聯於開發人員提供的多個問題以及對應的答案、以及雲端服務平台所收集到的多個問題以及對應的答案。這些問題以及這些答案可分別是以中文語句來被實現。在本實施例中,前述的雲端服務平台可例如是雲端客服系統或是企業資源規劃系統(Enterprise resource planning,ERP)等服務平台,以提供使用者各種服務。在本實施例中,訓練資料庫150可例如是關係型數據庫或非關係型數據庫。
應注意的是,問答資料庫140中的資料為固定的,以使
召回與排序模組120基於問答資料庫140進行推論。訓練資料庫150中的資料為動態的,以通過回饋模組130來進行維護與更新,以及通過召回與排序模組120基於訓練資料庫150來進行訓練。
圖2是本發明的一實施例的問答系統的操作方法的流程圖。參考圖1以及圖2,問答系統100可執行如以下步驟S210~S260,以示例說明問答系統100實現智慧FAQ檢索式的服務。這些步驟S210~S260的順序僅為示例說明,並不以此為限。
在步驟S210,通過介面模組110獲取使用者所輸入的用戶請求。在本實施例中,用戶請求可以中文語句來被實現,並可例如是問句、肯定句、否定句或至少一個單詞。舉例來說,對於應用於ERP服務平台的問答系統100而言,使用者請求可例如是”不同庫別性質的倉庫可不可以轉撥?”。
在步驟S220,通過召回與排序模組120根據訓練資料庫150進行訓練。
在步驟S230,通過經訓練後的召回與排序模組120根據使用者請求以及問答資料庫140來生成多個候選答案。也就是說,經訓練後的召回與排序模組120可對步驟S210的使用者請求以及問答資料庫140來進行推論,以生成計算結果(即,對應於用戶請求的多個候選答案)。
在步驟S240,通過介面模組110輸出多個候選答案以供用戶參考,並獲取用戶所輸入且對應於這些候選答案的用戶回饋。舉例來說,這些候選答案可例如是”不同庫別性質的倉庫可以轉
撥”以及”倉庫的轉撥操作包括…”等。當用戶獲得這些候選答案後,使用者可通過介面模組110輸入這些候選答案中至少一者的意見,以回饋這些候選答案是否有幫助。
在步驟S250,通過回饋模組130根據使用者回饋來生成新增問題。也就是說,回饋模組130可將步驟S240中的使用者回饋以及對應的用戶請求生成一組問題與答案對(即,問答集)以作為新增問題。
在步驟S260,通過回饋模組130根據新增問題來更新訓練資料庫150。也就是說,對於目前經訓練後的召回與排序模組120而言,回饋模組130基於使用者對目前問答系統100的答案的回饋來生成額外的樣本資料(即,新增問題),並以此樣本資料來更新訓練用的訓練資料庫150。
在此值得一提的是,回饋模組130可基於使用者回饋來生成新的樣本資料(即,新增問題)以對訓練資料庫150進行更新,能夠增加訓練資料庫150的資料量。因此,召回與排序模組120可基於經更新後的訓練資料庫150來進行訓練,以提高訓練時的準確率。此外,經再次訓練後的召回與排序模組120能夠生成的更高準確率的候選答案。
圖3A至3C是本發明的一實施例的問答系統的操作方法的動作示意圖。參考圖3A至3C以及圖1,問答系統100可執行多個模組S311~S365,以示例說明問答系統100實現智慧FAQ檢索式的服務。
在模組S311~S316中,用戶可輸入問題,並通過經訓練後的問答系統100獲得對應此問題的多個候選答案。用戶可針對所獲得的這些候選答案進行回饋。詳細而言,在模組S311中,通過介面模組110獲取使用者所輸入的用戶請求。
在模組S312以及S313中,通過經訓練後的召回與排序模組120根據使用者請求以及問答資料庫140來分別進行問題召回以及問題排序,以生成多個候選答案。也就是說,經訓練後的召回與排序模組120可針對使用者所提出的用戶請求進行推論,並在問答資料庫140中找到最相近於用戶請求的多個問題及/或對應的答案。
在本實施例中,模組S312中關於問題召回可包括以下的操作細節。通過經訓練後的召回與排序模組120對使用者請求的詢問(query)解析以及意圖理解。通過經訓練後的召回與排序模組120根據經解析的使用者請求,對問答資料庫140進行精准召回以及語意召回,以獲得與用戶請求最相近的多個問題及/或對應的答案。舉例來說,經訓練後的召回與排序模組120可使用表示型(Representation-based)的文本匹配模型提取問答資料庫140中所有關於使用者請求的語意向量,並使用(Facebook AI Similarity Search,Fasis)工具作為向量索引以進行語意召回。或者,經訓練後的召回與排序模組120可將問答資料庫140中所有關於使用者請求的資料按照大類歸納進行分類,並將這些經分類後的資料進行向量索引以進行語意召回。也就是說,經訓練後的召回與排序模
組120可在召回前先使用分類模型對這些資料進行分類,接著對大類歸納中的這些向量索引進行語意召回。
在本實施例中,模組S313中關於問題排序可包括以下的操作細節。通過經訓練後的召回與排序模組120使用相似度模型及/或點擊率(click-through rate,CTR)模型對經問題召回的這些問題及/或對應的答案進行排序,以生成最後的計算結果(即,多個候選答案)。前述的候選答案可依照相似度的最高至最低依序排序。或者,經訓練後的召回與排序模組120可使用交互型(Interaction-based)的文本匹配模型來執行模組S313。
在模組S314中,通過介面模組110進行曝光問題以輸出多個候選答案供用戶參考。在模組S315中,通過介面模組110進行使用者點擊以獲取用戶所輸入且對應於這些候選答案的用戶回饋。
在模組S316中,通過回饋模組130獲取使用者回饋。也就是說,在模組S311至模組S315關於問答系統100與使用者的交流過程中,通過經訓練後的召回與排序模組120推出最準確(或最相似)的多個候選答案後,通過介面模組110提示使用者對於此(些)候選答案是否有用,以通過回饋模組130記錄使用者的行為。在一些實施例中,當用戶未點擊而沒有提供使用者回饋時,回饋模組130推定使用者認為這些候選答案符合用戶請求而具有實質幫助。此時,介面模組110生成表示為有用的用戶回饋。
在模組S321~S325中,通過經訓練後的問答系統100根
據使用者回饋來生成新增問題,並且根據新增問題來更新訓練資料庫150。詳細而言,在模組S321中,通過回饋模組130根據使用者回饋來生成新增問題。當使用者回饋表示為有用時,通過回饋模組130對(一個或多個)候選答案以及用戶請求進行聚類挖掘以計算出相同的類別(或簇)(即,新增問題)。當用戶回饋表示為有沒用時,通過回饋模組130執行前述關於聚類挖掘的操作以生成新增問題。
在模組S322中,通過回饋模組130根據模組S321中的新增問題以及問答系統100所提供的審核結果來進行審核,以判斷是否將新增問題新增至訓練資料庫150,以更新訓練資料庫150。在本實施例中,問答系統100的開發者可通過問答系統100的後端(未繪示)來隨機挑選新增問題以及對應的用戶回饋與用戶請求,並對經挑選的這些資料進行審核以輸入審核結果至回饋模組130。審核結果可例如是專業人員對於新增問題的評斷,以提供新增問題是否入庫的建議。
當回饋模組130拒絕新增問題新增至訓練資料庫150時,經訓練後的問答系統100執行模組S323。反之,當回饋模組130同意新增問題新增至訓練資料庫150時,經訓練後的問答系統100執行模組S324。
在模組S323中,通過回饋模組130拒絕新增問題新增至訓練資料庫150以進行拒絕入庫(即,負反饋操作)。詳細而言,當回饋模組130拒絕新增問題新增至訓練資料庫150時,通過回
饋模組130生成對應於新增問題的負樣本資料至訓練資料庫150。舉例來說,當用戶回饋表示為沒用時,表示模組S314所輸出的所有候選答案皆不符合用戶請求。此時,回饋模組130可將這些候選答案以及用戶請求作為新增問題,以生成對應於此新增問題的負樣本資料。
在模組S324中,通過回饋模組130同意新增問題新增至訓練資料庫150以進行同意入庫(即,正回饋操作)。詳細而言,當回饋模組130同意新增問題新增至訓練資料庫150時,通過回饋模組130生成對應於新增問題的正樣本資料至訓練資料庫150。舉例來說,當用戶回饋表示為有用時,表示模組S314所輸出的某個候選答案符合用戶請求。這個候選答案是目前經訓練後的召回與排序模組120能夠根據使用者請求所召回的資料,因此相同的資料不需要再重複新增至訓練資料庫150中。此時,回饋模組130可將其他的候選答案以及用戶請求作為新增問題,以生成對應於此新增問題的正樣本資料。
在模組S325中,通過回饋模組130將對應於新增問題的負樣本資料或正樣本資料新增至訓練資料庫150,以更新訓練資料庫150。
應注意的是,不論用戶回饋表示為有用或沒用,回饋模組130可基於使用者回饋的新增問題來將負樣本資料及正樣本資料新增至訓練資料庫150,以累積並擴大訓練資料庫150的資料量。因此,召回與排序模組120可基於訓練資料庫150進行訓練,以
不斷優化召回與排序模組120的深度學習模型。
在模組S331~S336中,通過問答系統100根據訓練資料庫150來進行訓練,或者,通過經訓練後的問答系統100根據經更新後的訓練資料庫150來進行訓練,以建立相似度模型。在一些實施例中,問答系統100可重複執行模組S331~S336,直到完成訓練而建立相似度模型。
詳細而言,在模組S331中,通過召回與排序模組120來選取並建立模型,並進行模型訓練。在模組S332中,通過召回與排序模組120使用交互型的文本匹配模型來進行訓練。
在模組S333中,通過召回與排序模組120使用文本匹配模型並利用預訓練語言模型來進行訓練,例如是進行Bert-base模型生成。Bert-base模型可針對訓練資料庫150中用作語意訓練的參數進行微調,以加快訓練的速度。在模組S334中,通過召回與排序模組120使用文本匹配模型並利用交互型的句子相似度比較模型來進行訓練,例如是進行自然語言推論Enhanced LSTM for Natural Language Inference,ESIM)模型試驗。ESIM模型可捕捉語句向量之間的交互資訊,以提高相似度計算的準確率。
在模組S335中,通過召回與排序模組120進行模型調參,以優化文本匹配模型所使用的各種參數。也就是說,召回與排序模組120可微調文本匹配模型的一個或多個參數,並以此(些)經微調的參數進行大量訓練。
在模組S336中,通過經訓練後的召回與排序模組120來
建立相似度模型。也就是說,經過模組S331至模組S335的訓練,召回與排序模組120可基於文本匹配模型,根據訓練資料庫150或經更新的訓練資料庫150以及經微調的多個參數來進行訓練,以生成用以推論的相似度模型。在本實施例中,通過經訓練後的召回與排序模組120使用模組S336中的相似度模型可執行模組S313,以根據問答資料庫140進型推論以生成最相近於用戶請求的多個候選答案。
在模組S341~S342中,通過問答系統100的資料處理模組(未繪示於圖1)處理訓練資料庫150中的資料。在本實施例中,資料處理模組可例如是訊號轉換器、現場可程式化邏輯閘陣列(Field Programmable Gate Array,FPGA)、中央處理單元(Central Processing Unit,CPU),或是其他可程式化之一般用途或特殊用途的微處理器(Microprocessor)、數位訊號處理器(Digital Signal Processor,DSP)、可程式化控制器、特殊應用積體電路(Application Specific Integrated Circuits,ASIC)、可程式化邏輯裝置(Programmable Logic Device,PLD)或其他類似裝置或這些裝置的組合,其可載入並執行電腦程式相關韌體或軟體,以實現計算等功能。在一些實施例中,資料處理模組與召回與排序模組120整合在一起。
詳細而言,在模組S341中以及圖3B實施例所示的模組S531~S356中,通過資料處理模組生成並處理多個負樣本資料至訓練資料庫150。在模組S342中以及圖3C實施例所示的模組
S361~S365中,通過資料處理模組生成並處理多個正樣本資料至訓練資料庫150。
在模組S351中,問答系統100的開發者可通過問答系統100的後端,將專業人員對於問答集的總結歸納輸入至問答系統100。在模組S353中,通過資料處理模組進行原始資料獲取,以獲取模組S531所提供的多個第一問答集。在本實施例中,這些第一問答集包括多個問題以及對應的答案。前述的專業人員可例如是應用問答系統100的雲端服務平台的開發者或業務專家。專業人員瞭解哪些問答對是最常使用且對於雲端服務平台為重要的。專業人員可搜集來自雲端服務平台相關產品的說明書及實施手冊等,以總結歸納出這些第一問答集。
在模組S352中,通過資料處理模組獲取應用問答系統100的雲端服務平台的資料。在本實施例中,前述的資料包括雲端服務平台中的歷史資料。這些歷史資料是雲端服務平台在使用過程中所生成的客服應答。這些歷史資料可例如是以中文語句來被實現,並以問答對來被呈現。在模組S354中,通過資料處理模組對雲端服務平台進行資料挖掘以獲得多個第二問答集。也就是說,通過資料處理模組總結歸納模組S352中所獲取的資料,以生成使用者實際使用雲端服務平台所遇到的這些第二問答集。
在模組S355~S356中,通過資料處理模組接收來自專業人員的多個第一問答集以及來自雲端服務平台的多個第二問答集,並且根據問答資料庫140、這些第一問答集以及這些第二問答集進
行召回策略以及語意向量召回以生成多個負樣本資料至訓練資料庫150。
詳細而言,在模組S355中,通過資料處理模組對多個第一問答集以及多個第二問答集進行資料預處理,以針對各個問題進行召回策略。舉例來說,對於這些第一問答集以及這些第二問答集中的某個問題(以下稱為原問題),通過資料處理模組從問答資料庫140中召回與原問題相似的5筆相似問題作為原問題的負樣本資料。通過資料處理模組及/或專業人員判斷原問題以及這些5筆相似問題中是否有與原問題語意相同者。當相似問題與原問題語意不相同時,資料處理模組及/或專業人員將此相似問題設置為負樣本資料。反之,當相似問題與原問題語意相同時,資料處理模組及/或專業人員將此相似問題設置為正樣本資料。在模組S356中,通過資料處理模組對經資料預處理的問答集進行召回策略,以針對各個問題進行語意向量召回並生成多個負樣本資料。
在模組S361~S365中,通過資料處理模組對模組S351~S356中的多個第一問答集以及多個第二問答集進行資料增強以生成多個正樣本資料以及多個負樣本資料中至少一者至訓練資料庫150。
詳細而言,在模組S361中,通過資料處理模組對多個第一問答集以及多個第二問答集進行同義詞替換,以改寫文本而生成多個正樣本資料。舉例來說,對於這些第一問答集以及這些第二問答集中的某個問題(以下稱為原問題),通過資料處理模組利用
同義詞隨機替換原問題中的關鍵字。資料處理模組例如是將原問題”不同庫別性質的倉庫可不可以轉撥?”中的關鍵字”可不可以”替換成”該如何”,以生成相似問題”不同庫別性質的倉庫該如何轉撥?”。
在模組S362中,通過資料處理模組對多個第一問答集以及多個第二問答集進行隨機交換,以改寫文本而生成多個正樣本資料。舉例來說,對於原問題,通過資料處理模組隨機調換相鄰的兩個詞。資料處理模組例如是將原問題”不同庫別性質的倉庫可不可以轉撥?”中的詞”庫別性質”以及”倉庫”互換,以生成相似問題”不同倉庫的庫別性質該如何轉撥?”。
在模組S363中,通過資料處理模組對多個第一問答集以及多個第二問答集進行隨機插入或回譯法,以改寫文本而生成多個正樣本資料。舉例來說,對於原問題,通過資料處理模組將中文轉換成英文,再將英文轉換成中文以獲得相似語句。資料處理模組例如是將原問題”不同庫別性質的倉庫可不可以轉撥?”轉換成”Can different warehouses be transferred?”,並再將前述的英文語句轉換成”不同的倉庫可以轉運嗎?”的相似問題。
在模組S364中,通過資料處理模組對多個第一問答集以及多個第二問答集進行隨機刪除,以改寫文本而生成多個負樣本資料。舉例來說,對於原問題,通過資料處理模組隨機刪除原問題中的關鍵字。資料處理模組例如是將原問題”不同庫別性質的倉庫可不可以轉撥?”中的關鍵字”可不可以”刪除,以生成相似問
題”不同庫別性質的倉庫轉撥?”。
應注意的是,在模組S361~S363中,資料處理模組所進行的改寫文本能夠基於模組S351~S356所獲取的資料來新增語意相近或相似的資料,以增強正樣本資料。在模組S364中,資料處理模組所進行的改寫文本則能夠基於模組S351~S356所獲取的資料來新增語意經改變的資料,以增強負樣本資料。
在模組S365中,通過資料處理模組對模組S361~S364所生成的正樣本資料以及負樣本資料進行資料增強,以根據正樣本資料及/或負樣本資料來更新訓練資料庫150。
在本實施例中,模組S365中關於資料增強可包括以下的操作細節。通過資料處理模組對正樣本資料以及負樣本資料分別進行語意關係的傳遞性規則,以增加資料的數量與品質而能夠使召回與排序模組120根據這些正、負樣本資料來進行訓練。舉例來說,針對正樣本資料,假設第一原問題”報廢的流程”與第二原問題”報廢的各個環節”具有相似詞,資料處理模組將第一原問題以及第二原問題之間的關係標記為”1”。假設第一原問題與第三原問題”報廢的操作步驟”具有相似詞,資料處理模組將第一原問題以及第三原問題之間的關係也標記為”1”。此時,資料處理模組根據前述的多個標記可推得第二原問題與第三原問題具有相似詞,並且將第二原問題以及第三原問題之間的關係標記為”1”。又例如,針對負樣本資料,假設第一原問題與第四原問題”報廢的定義”不具有相似詞,資料處理模組將第一原問題以及第
四原問題之間的關係標記為”0”。此時,資料處理模組根據前述的多個標記可推得第二原問題與第四原問題不具有相似詞,並且將第二原問題以及第四原問題之間的關係標記為”0”。
圖4是本發明的圖3B實施例的問答系統的操作方法的動作示意圖。參考圖4以及圖1,問答系統100可執行多個模組S411~S416,以示例說明問答系統100生成並處理多個負樣本資料(即,模組S531~S356)的另一實施操作細節。
在模組S411中,通過資料處理模組或者問答系統100的後端獲取專業人員對於問答集的總結歸納。在模組S412中,通過資料處理模組從應用問答系統100的雲端服務平台的歷史資料中挖掘。
在模組S413中,通過資料處理模組進行文本聚類(Clustering),以對前述的所有歷史資料進行聚類。在模組S414中,通過資料處理模組進行文本聚類,以對各個聚類的簇進行計數。在模組S415中,通過資料處理模組進行文本聚類,以設定預設數量,其中當各個聚類的某個簇所包括的資料樣本數量超過預設數量,通過資料處理模組將此簇定義為常見問題。
在本實施例中,資料處理模組可使用k-平均(k-means)聚類演算法以進行模組S413~S415的文本聚類。具體來說,資料處理模組可獲取歷史資料中的樣本集合D,並設定各個聚類的簇的數量k,其中數量k為正整數。資料處理模組從樣本集合D中隨機選取k個歷史資料作為初始均值向量initial_mean_vector_list。
接著,資料處理模組設定反覆運算輪次epoch,並在各個反覆運算輪次epoch中迴圈樣本集合D。資料處理模組定義清單以存放聚類後的簇集合C。資料處理模組計算各個歷史資料與各個反覆運算輪次epoch中對應的均值向量的歐式距離。資料處理模組將歷史資料存放於與其歐式距離最小的均值向量所在的簇集合C中。資料處理模組重複前述的多個操作,直到簇集合C中的歷史資料的數量大於預設數量,以設定此簇集合C為常見問題。
在模組S416中,通過資料處理模組形成標準問題,以補充訓練資料庫150。也就是說,資料處理模組可將模組S415中的常見問題作為標準問題,並將標準問題新增至訓練資料庫150以擴充其資料量。
圖5是本發明的圖3B實施例的問答系統的操作方法的動作示意圖。參考圖5以及圖1,問答系統100可執行多個模組S511~S523,以示例說明問答系統100進行召回策略以及語意向量召回的實施操作細節。
在模組S511~S513中,通過資料處理模組根據問答資料庫140、各個第一問答集以及各個第二問答集進行語意向量召回。也就是說,通過資料處理模組對各個第一問答集以及各個第二問答集從問答資料庫140中召回多筆相似問題。前述的相似問題的數量可以由問答系統100的來設定,例如是最相似的5筆。
在模組S521~S528中,通過資料處理模組對這些召回的多筆相似問題進行文本向量化。詳細而言,在模組S521中,資料
處理模組可例如是使用SimBERT模型來對各個相似問題的多個語句(例如是語句sent_a以及sent_b)進行編碼,以得到多個語意表示向量。語意表示向量可例如是模組S525所示的向量。
在模組S522中,通過資料處理模組對多個語意表示向量所形成的向量矩陣進行計算。舉例來說,資料處理模組可對各個語意表示向量進行距離計算以獲得對應的損失(loss)。資料處理模組根據此損失來更新SimBERT模型的參數。
在模組S523中,通過資料處理模組使用Fasis工具來處理多個語意表示向量。舉例來說,資料處理模組可使用經訓練好的SimBERT模型來對各個語意表示向量進行推論,以離線得到多個項目(item)向量。
在模組S524中,通過資料處理模組將模組S5235中的多個專案向量保存在Fasis工具中以作為向量索引(index)。舉例來說,資料處理模組可使用倒排(Inverted index File,IVFx)平面(Flat)索引來建構向量索引。前述的倒排是指一個語詞(term)對應多個文檔以建構語詞對文檔矩陣。
在本實施例中,模組S524中關於向量索引可包括以下的操作細節。通過資料處理模組對各個相似問題進行分詞以獲得各個分詞對應的文檔。通過資料處理模組計算這些文檔與對應的分詞間的相似度。通過資料處理模組將所有語意表示向量進行聚類以獲得聚類簇中心的身分(ID),以獲得身分對文檔向量間的對應關係。通過資料處理模組計算相似問題向量與聚類簇中心向量間
的歐式距離以獲得距離最近的數個身分。接著,通過資料處理模組分別計算這些身分所對應的多個文檔向量的歐式距離。
在模組S525中,通過資料處理模組使用SimBERT模型來對一串文本進行計算以獲得對應的向量(可例如是向量[0.002,0.0023,…])。
在模組S526~S528中,通過資料處理模組從Fasis工具中進行即時召回以獲得最相似的數個向量。前述的向量例如是模組S527所示的向量[0.002,0.0023,…]。通過資料處理模組可將前述的向量作為即時召回的召回結果,以獲得對應的向量身分。前述的向量身分可例如是模組S528所示的向量身分[12,30,100,208…]。
在本實施例中,在即時召回後,資料處理模組可獲得對於各個第一問答集以及各個第二問答集與對應的最相似的數個向量(即,1:k個問題與相似問題)。也就是說,資料處理模組可將這些召回的數個向量對應的相似問題作為多個負樣本資料。
圖6是本發明的另一實施例的問答系統的操作方法的動作示意圖。參考圖6,問答系統600可以參照問答系統100的相關說明並且加以類推,故在此不另重述。在本實施例中,問答系統600可包括介面模組、召回與排序模組、回饋模組、問答資料庫、訓練資料庫以及資料處理模組以分別執行對應的操作。
在模組S611中,通過介面模組獲取使用者輸入的文本、問句等資料。在模組S612中,通過召回與排序模組進行意圖識別。舉例來說,召回與排序模組可進行意圖歸納以及使用意圖分類模
型進行意圖識別。在模組S613中,通過召回與排序模組進行召回策略。舉例來說,召回與排序模組可使用Elasticsearch(ES)模型及/或BM25模型來進行召回策略以及語意向量召回以形成多個負樣本資料。召回與排序模組可使用Fasis工具來建立向量索引以形成多個負樣本資料。
在模組S621中,通過召回與排序模組建立深度學習平台。舉例來說,召回與排序模組可使用TensorFlow的開源軟體庫來實現(或開發)深度學習平台。召回與排序模組可使用Keras的開來源程式來來實現深度學習平台。在模組S622中,通過召回與排序模組進行模行訓練。舉例來說,召回與排序模組可根據訓練資料庫中的訓練集以及測試集來進行訓練。召回與排序模組可進行ESIM模型試驗。此外,召回與排序模組可進行Bert-base模型生成。召回與排序模組可基於Bert-base模型來對參數進行微調以重複測試出合適的指標。前述的指標例如是包括準確率(precision)、召回率(recall)以及F值(F-score)等。在模組S623中,通過召回與排序模組根據使用者輸入的資料(例如是使用者請求以及使用者回饋)以及問答資料庫進行答案推薦。舉例來說,召回與排序模組可根據使用者請求以及問答資料庫進行問題召回以生成範本(例如是多個候選答案)。召回與排序模組可根據使用者回饋以及問答資料庫進行問題召回以進行互動回饋。在模組S624中,通過回饋模組根據使用者回饋來進行模型更新。舉例來說,回饋模組可記錄使用者行為、根據使用者回饋來生成新增問題而生成正樣本資料
及/或負樣本資料、以及根據新增問題來更新訓練資料庫以及召回與排序模組所使用的模型。
在模組S631中,通過問答資料庫以及訓練資料庫來維護資料。舉例來說,通過資料處理模組從雲端服務平台獲取歷史資料。通過回饋模組以新增問題來更新訓練資料庫。通過資料處理模組獲取專業人員的問答集。在模組S632中,通過資料處理模組進行負樣本資料正樣本資料的資料增強。舉例來說,資料處理模組可對正樣本資料及/或負樣本資料進行語意關係的傳遞性規則、同義詞替換、隨機交換、隨機插入、隨機刪除以及回譯法等。在模組S633中,通過回饋模組根據使用者回饋來生成新增問題以更新訓練資料庫。舉例來說,回饋模組可根據使用者回饋以及審核結果來對新增問題進行同意入庫(即,正回饋操作)、拒絕入庫(即,負反饋操作),以及對新增問題來進行問句提取、問句距離計算以及增量聚類等操作以補充訓練資料庫的資料。
綜上所述,本發明的問答系統以及問答系統的操作方法可通過獲取用戶回饋,並基於使用者回饋來生成新的樣本資料(即,新增問題)以對訓練資料庫進行更新,並據以再次訓練深度學習模型(即,召回與排序模組)。因此,前述的方式能夠提高訓練時的準確率,並能夠提高推論時的準確率以提供有用的候選答案。在部分實施例中,通過資料處理模組能夠對正樣本資料以及負樣本資料進行資料增強,以擴大訓練資料庫中的資料量。
雖然本發明已以實施例揭露如上,然其並非用以限定本
發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
100:問答系統
110:介面模組
120:召回與排序模組
130:回饋模組
140:問答資料庫
150:訓練資料庫
Claims (8)
- 一種問答系統,包括:問答資料庫以及訓練資料庫;介面模組,用以獲取使用者請求;召回與排序模組,用以根據所述訓練資料庫進行訓練,並且用以經訓練後,根據所述使用者請求以及所述問答資料庫來生成多個候選答案,以使所述介面模組輸出所述多個候選答案並獲取用戶回饋;回饋模組,用以根據所述使用者回饋來生成新增問題,並根據所述新增問題來更新所述訓練資料庫;以及資料處理模組,用以獲取多個第一問答集,對雲端服務平台進行資料挖掘以獲得多個第二問答集,並且根據所述問答資料庫、多所述個第一問答集以及所述多個第二問答集進行召回策略以及語意向量召回以生成多個負樣本資料至所述訓練資料庫,其中所述資料處理模組用以對所述多個第一問答集以及所述多個第二問答集進行資料增強以生成多個正樣本資料以及所述多個負樣本資料中至少一者至所述訓練資料庫。
- 如請求項1所述的問答系統,其中所述回饋模組用以根據所述新增問題以及審核結果來判斷是否將所述新增問題新增至所述訓練資料庫,以更新所述訓練資料庫。
- 如請求項2所述的問答系統,其中當所述回饋模組同意所述新增問題新增至所述訓練資料庫時,所述回饋模組生成對 應於所述新增問題的所述正樣本資料至所述訓練資料庫,其中當所述回饋模組拒絕所述新增問題新增至所述訓練資料庫時,所述回饋模組生成對應於所述新增問題的所述負樣本資料至所述訓練資料庫。
- 如請求項1所述的問答系統,其中所述召回與排序模組用以基於文本匹配模型,根據經更新的所述訓練資料庫以及經微調的多個參數來進行訓練。
- 一種問答系統的操作方法,包括:獲取用戶請求;通過召回與排序模組根據訓練資料庫進行訓練;通過經訓練後的所述召回與排序模組根據所述用戶請求以及問答資料庫來生成多個候選答案;輸出所述多個候選答案並獲取用戶反饋;根據所述用戶反饋來生成新增問題;根據所述新增問題來更新所述訓練資料庫;以及獲取多個第一問答集;對雲端服務平台進行資料挖掘以獲得多個第二問答集;根據所述問答資料庫、所述多個第一問答集以及所述多個第二問答集進行召回策略以及語意向量召回以生成多個負樣本資料至所述訓練資料庫;以及對所述多個第一問答集以及所述多個第二問答集進行資料增強以生成多個正樣本資料以及所述多個負樣本資料中至少一者至 所述訓練資料庫。
- 如請求項5所述的問答系統的操作方法,其中根據所述新增問題來更新所述訓練資料庫的步驟包括:根據所述新增問題以及審核結果來判斷是否將所述新增問題新增至所述訓練資料庫。
- 如請求項6所述的問答系統的操作方法,根據所述新增問題來更新所述訓練資料庫的步驟包括:當所述新增問題被同意新增至所述訓練資料庫時,生成對應於所述新增問題的所述正樣本資料至所述訓練資料庫;以及當所述新增問題被拒絕新增至所述訓練資料庫時,生成對應於所述新增問題的所述負樣本資料至所述訓練資料庫。
- 如請求項5所述的問答系統的操作方法,其中通過所述召回與排序模組根據所述訓練資料庫進行訓練的步驟包括:基於文本匹配模型,根據經更新的所述訓練資料庫以及經微調的多個參數來進行訓練。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211606222.9 | 2022-12-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI842359B true TWI842359B (zh) | 2024-05-11 |
TW202424919A TW202424919A (zh) | 2024-06-16 |
Family
ID=
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114860883A (zh) | 2022-05-23 | 2022-08-05 | 浪潮通信信息系统有限公司 | 一种智能问答方法及系统 |
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114860883A (zh) | 2022-05-23 | 2022-08-05 | 浪潮通信信息系统有限公司 | 一种智能问答方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021093755A1 (zh) | 问题的匹配方法及装置、问题的回复方法及装置 | |
CN108804641B (zh) | 一种文本相似度的计算方法、装置、设备和存储介质 | |
US8341159B2 (en) | Creating taxonomies and training data for document categorization | |
WO2021174783A1 (zh) | 近义词推送方法、装置、电子设备及介质 | |
CN111708873A (zh) | 智能问答方法、装置、计算机设备和存储介质 | |
CN110298032A (zh) | 文本分类语料标注训练系统 | |
CN109145168A (zh) | 一种专家服务机器人云平台 | |
CN109145301B (zh) | 信息分类方法及装置、计算机可读存储介质 | |
CN112463944B (zh) | 一种基于多模型融合的检索式智能问答方法及装置 | |
CN108027814A (zh) | 停用词识别方法与装置 | |
CN110019733A (zh) | 一种面向社区的智能问答方法及装置 | |
Tohidi et al. | Optimizing Persian Multi-objective Question Answering System | |
WO2020161505A1 (en) | Improved method and system for text based searching | |
Huang et al. | Deep entity matching with adversarial active learning | |
Tohidi et al. | Optimizing the performance of Persian multi-objective question answering system | |
Zhao et al. | Automatically identifying performance issue reports with heuristic linguistic patterns | |
Gollapalli | Literature review of attribute level and structure level data linkage techniques | |
JP7110554B2 (ja) | オントロジー生成装置、オントロジー生成プログラム及びオントロジー生成方法 | |
CN116049376B (zh) | 一种信创知识检索回复的方法、装置和系统 | |
KR102411778B1 (ko) | 다중 지식의 비교 우위를 추론하는 서버, 방법 및 컴퓨터 프로그램 | |
TWI842359B (zh) | 問答系統及其操作方法 | |
Fan et al. | Stop words for processing software engineering documents: Do they matter? | |
Vadivel et al. | An Effective Document Category Prediction System Using Support Vector Machines, Mann-Whitney Techniques | |
TW202424919A (zh) | 問答系統及其操作方法 | |
CN116414940A (zh) | 标准问题的确定方法、装置及相关设备 |