TWI679548B - 虛擬助理的自動學習方法及系統 - Google Patents

虛擬助理的自動學習方法及系統 Download PDF

Info

Publication number
TWI679548B
TWI679548B TW107115794A TW107115794A TWI679548B TW I679548 B TWI679548 B TW I679548B TW 107115794 A TW107115794 A TW 107115794A TW 107115794 A TW107115794 A TW 107115794A TW I679548 B TWI679548 B TW I679548B
Authority
TW
Taiwan
Prior art keywords
vocabulary
corpus
data
new
model
Prior art date
Application number
TW107115794A
Other languages
English (en)
Other versions
TW201947428A (zh
Inventor
周忠信
Jungsing Jwo
吳兆麟
Chaolin Wu
許旭正
Hsucheng Hsu
Original Assignee
鼎新電腦股份有限公司
Data Systems Consulting Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 鼎新電腦股份有限公司, Data Systems Consulting Co., Ltd. filed Critical 鼎新電腦股份有限公司
Priority to TW107115794A priority Critical patent/TWI679548B/zh
Application granted granted Critical
Publication of TWI679548B publication Critical patent/TWI679548B/zh
Publication of TW201947428A publication Critical patent/TW201947428A/zh

Links

Landscapes

  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一種虛擬助理的自動學習方法,包含接收音訊輸入並辨識音訊以形成語料資料;利用自然語言處理模型分析語料資料,以產生與語料資料對應的語言特徵資訊;依據職能情境資訊對語言特徵資訊進行職能情境分析,判斷該些意圖的其中之一對應的操作;如果職能情境分析無法判斷該些意圖的其中之一對應的操作,則針對語料資料進行分詞處理;根據分詞處理後的結果,判斷是否存在新詞彙或新語料資料;如果存在新詞彙,根據新詞彙的意義更新自然語言處理模型,如果存在新語料資料,根據新語料資料的意圖更新職能情境分析。

Description

虛擬助理的自動學習方法及系統
本案是有關於一種自動學習的方法及系統,且特別是有關於一種虛擬助理的自動學習方法及系統。
企業資源規劃系統(Enterprise Resource Planning,ERP),簡稱ERP系統,是指建立在資訊技術的基礎上為企業決策層提供決策的管理平台。其主要是將企業的人流、物流、資訊流、資金流進行統一的管理,以最大限度的利用企業的資源。而ERP系統包含有生產控制、物流管理和財務管理等三大方面的功能,因此ERP系統規模非常的龐大。
將虛擬助理應用於ERP系統中,更可以快速的幫助使用者與龐大的ERP系統交流,能夠節省使用者在使用ERP系統中所花的時間,但由於每個使用者使用ERP系統習慣的不同,因此會有虛擬助理無法理解使用者問題的情況,反而造成使用者在使用ERP系統上的困難。
本發明之主要目的係在提供一種虛擬助理的自動學習方法及系統,其主要係讓虛擬助理具有自動學習的功能,讓虛擬助理可以在與使用者交流的過程中,自動學習到使用者的說話習慣,或是行業中的特殊用語用詞,達到讓使用者使用ERP系統是能夠更快速便利的功效。
為達成上述目的,本案之第一態樣是在提供一種虛擬助理的自動學習方法,此方法包含以下步驟:接收音訊輸入並辨識音訊以形成語料資料;利用自然語言處理模型分析語料資料,以產生與語料資料對應的語言特徵資訊,其中語言特徵資訊包含複數個意圖、該些意圖對應的機率以及複數個詞彙;依據職能情境資訊對語言特徵資訊進行職能情境分析,判斷該些意圖的其中之一對應的操作;如果職能情境分析無法判斷該些意圖的其中之一對應的操作,則針對語料資料進行分詞處理;根據分詞處理後的結果,判斷是否存在新詞彙或新語料資料;如果存在新詞彙,根據新詞彙的意義更新自然語言處理模型,如果存在新語料資料,根據新語料資料的意圖更新職能情境分析;其中,操作包含查詢資料操作及執行指令操作的其中之一。
本案之第二態樣是在提供一種虛擬助理的自動學習系統,分別與企業資料庫及企業資源系統連接,其包含:處理器、儲存裝置以及輸入/輸出裝置。儲存裝置電性連接至處理器,用以儲存總體資料庫、應用知識資料庫、領域知識資料庫以及歷史資料庫。輸入/輸出裝置電性連接至 處理器,用以提供介面以供輸入音訊。其中,處理器包含:語音辨識模組、語料分析模組、情境辨識模組、未知語料判斷模組以及更新資訊模組。語音辨識模組用以辨識音訊以形成語料資料。語料分析模組與語音辨識模組電性連接,用以利用自然語言處理模型分析語料資料,以產生與語料資料對應的語言特徵資訊,其中語言特徵資訊包含複數個意圖、該些意圖對應的機率以及複數個詞彙。情境辨識模組與語料分析模組電性連接,用以依據職能情境資訊對語言特徵資訊進行職能情境分析,判斷該些意圖的其中之一對應的操作。未知語料判斷模組與情境辨識模組電性連接,用以在情境辨識模組無法辨識該些意圖的其中之一對應的操作時,針對語料資料進行分詞處理,並根據分詞處理後的結果,判斷是否存在新詞彙或新語料資料。更新資訊模組與未知語料判斷模組電性連接,用以在有新詞彙產生時,根據該新詞彙的意義更新該自然語言處理模型,以及在該新語料資料產生時,根據該新語料資料的意圖更新該職能情境分析;其中,該操作包含一查詢資料操作及一執行指令操作的其中之一。
本發明之虛擬助理的自動學習方法及虛擬助理的自動學習系統主要係讓虛擬助理具有自動學習的功能,讓虛擬助理可以在與使用者交流的過程中,自動學習到使用者的說話習慣,或是行業中的特殊用語用詞,達到讓使用者使用ERP系統時能夠更快速便利的功效。
100‧‧‧虛擬助理的自動學習系統
110‧‧‧處理器
130‧‧‧儲存裝置
150‧‧‧輸入/輸出裝置
131‧‧‧總體資料庫
132‧‧‧應用知識資料庫
133‧‧‧領域知識資料庫
134‧‧‧歷史資料庫
111‧‧‧語音辨識模組
112‧‧‧語料分析模組
113‧‧‧情境辨識模組
114‧‧‧未知語料判斷模組
115‧‧‧更新資訊模組
121‧‧‧訓練模組
122‧‧‧範本建立模組
123‧‧‧語意模型建立模組
124‧‧‧詞彙模型建立模組
125‧‧‧情境訓練模組
126‧‧‧詞彙訓練模組
300‧‧‧虛擬助理的自動學習方法
S310~S360、S410~S480、S321~S323、S331~S332、S341~S342、S361~S363‧‧‧步驟
為讓本發明之上述和其他目的、特徵、優點與實施例能更明顯易懂,所附圖式之說明如下:第1圖係根據本案之一些實施例所繪示之一種虛擬助理的自動學習系統的示意圖;第2圖係根據本案之一些實施例所繪示之處理器的示意圖;第3圖係根據本案之一些實施例所繪示之一種虛擬助理的自動學習方法的流程圖;第4圖係根據本案之一些實施例所繪示之訓練資料模型的流程圖;第5圖係根據本案之一些實施例所繪示之步驟S320的流程圖;第6圖係根據本案之一些實施例所繪示之步驟S330的流程圖;第7圖係根據本案之一些實施例所繪示之步驟S340的流程圖;以及第8圖係根據本案之一些實施例所繪示之步驟S360的流程圖。
以下揭示提供許多不同實施例或例證用以實施本發明的不同特徵。特殊例證中的元件及配置在以下討論中被用來簡化本揭示。所討論的任何例證只用來作解說的用 途,並不會以任何方式限制本發明或其例證之範圍和意義。此外,本揭示在不同例證中可能重複引用數字符號且/或字母,這些重複皆為了簡化及闡述,其本身並未指定以下討論中不同實施例且/或配置之間的關係。
在全篇說明書與申請專利範圍所使用之用詞(terms),除有特別註明外,通常具有每個用詞使用在此領域中、在此揭露之內容中與特殊內容中的平常意義。某些用以描述本揭露之用詞將於下或在此說明書的別處討論,以提供本領域技術人員在有關本揭露之描述上額外的引導。
關於本文中所使用之『耦接』或『連接』,均可指二或多個元件相互直接作實體或電性接觸,或是相互間接作實體或電性接觸,而『耦接』或『連接』還可指二或多個元件相互操作或動作。
在本文中,使用第一、第二與第三等等之詞彙,是用於描述各種元件、組件、區域、層與/或區塊是可以被理解的。但是這些元件、組件、區域、層與/或區塊不應該被這些術語所限制。這些詞彙只限於用來辨別單一元件、組件、區域、層與/或區塊。因此,在下文中的一第一元件、組件、區域、層與/或區塊也可被稱為第二元件、組件、區域、層與/或區塊,而不脫離本發明的本意。如本文所用,詞彙『與/或』包含了列出的關聯項目中的一個或多個的任何組合。本案文件中提到的「及/或」是指表列元件的任一者、全部或至少一者的任意組合。
請參閱第1圖。第1圖係根據本案之一些實施例 所繪示之一種虛擬助理的自動學習系統100的示意圖。如第1圖所繪示,虛擬助理的自動學習系統100包含處理器110、儲存裝置130以及輸入/輸出裝置150。儲存裝置130用以儲存總體資料庫131、應用知識資料庫132、領域知識資料庫133以及歷史資料庫134,儲存總體資料庫131、應用知識資料庫132、領域知識資料庫133以及歷史資料庫134電性連接至處理器110。輸入/輸出裝置150電性連接至處理器110,用以提供介面以供輸入音訊。於一實施例中,輸入/輸出裝置150可以是鍵盤、觸控式螢幕、麥克風、喇叭或其它合適的輸入/輸出裝置。使用者可透過輸入/輸出裝置提供的介面輸入音訊。
於本發明各實施例中,處理器110可以實施為積體電路如微控制單元(microcontroller)、微處理器(microprocessor)、數位訊號處理器(digital signal processor)、特殊應用積體電路(application specific integrated circuit,ASIC)、邏輯電路或其他類似元件或上述元件的組合。儲存裝置150可以實施為記憶體、硬碟、隨身碟、記憶卡等。
請參閱第2圖,第2圖係根據本案之一些實施例所繪示之一種處理器110的示意圖。處理器110包含語音辨識模組111、語料分析模組112、情境辨識模組113、未知語料判斷模組114、更新資訊模組115、訓練模組121、範本建立模組122、語意模型建立模組123、詞彙模型建立模組124、情境訓練模組125以及詞彙訓練模組126。語料分析模 組112與語音辨識模組111電性連接,情境辨識模組113與語料分析模組112電性連接,未知語料判斷模組114與情境判斷模組113電性連接,更新資訊模組115與未知語料判斷模組114電性連接。訓練模組121與語料分析模組112電性連接,範本建立模組122與訓練模組121電性連接,語意模型建立模組123以及詞彙模型建立模組124與範本建立模組122電性連接,情境訓練模組125與情境辨識模組113電性連接,未知語料判斷模組114與詞彙訓練模組126電性連接。
請一併參閱第1圖~第3圖。第3圖係根據本案之一些實施例所繪示之一種虛擬助理的自動學習方法300的流程圖。如第3圖所示,虛擬助理的自動學習方法300包含以下步驟:步驟S310:接收音訊輸入並辨識音訊以形成語料資料;步驟S320:利用自然語言處理模型分析語料資料,以產生與語料資料對應的語言特徵資訊;步驟S330:依據職能情境資訊對語言特徵資訊進行職能情境分析,判斷該些意圖的其中之一對應的操作;步驟S340:如果職能情境分析無法判斷該些意圖的其中之一對應的操作,則針對語料資料進行分詞處理;步驟S350:根據分詞處理後的結果,判斷是否存在新詞彙或新語料資料;以及步驟S360:如果存在新詞彙,根據新詞彙的意義更新自然語言處理模型,如果存在新語料資料,根據新語 料資料的意圖更新職能情境分析。
於步驟S310中,接收音訊輸入並辨識音訊以形成語料資料。於一實施例中,經由輸入/輸出裝置150接收到的音訊可以由處理器110的語音辨識模組111進行語音辨識,將使用者的自然語言轉換為語料資料。於另一實施例中,語音辨識也可以藉由網際網路將音訊傳送至雲端語音辨識系統,經由雲端語音辨識系統辨識音訊後,再將辨識結果作為語料資料,舉例而言,雲端語音辨識系統可以實施為google的語音辨識系統。
在執行步驟S320之前,需先建立共通詞彙模型以及共通語意模型。因此請參考第4圖,第4圖係根據本案之一些實施例所繪示之訓練資料模型的流程圖。如第4圖所示,訓練資料模型階段包含以下步驟:步驟S410:根據應用知識資料庫及領域知識資料庫產生系統領域詞彙集合;步驟S420:系統領域詞彙集合及複數個服務應用參數形成為關鍵實體集合;步驟S430:將複數個訓練語料分類為查詢資料操作及執行指令操作的其中之一;步驟S440:依照企業資料庫中的類別區分對應查詢資料操作的該些訓練語料的意圖形成複數個查詢資料操作意圖,以及依照企業資源系統提供的服務行為區分對應執行指令操作的該些訓練語料的意圖形成複數個執行指令操作意圖; 步驟S450:建立查詢資料操作意圖的範本,以及執行指令操作意圖的範本;步驟S460:根據關鍵實體集合、查詢資料操作意圖的範本以及執行指令操作意圖的範本建立總體資料庫;步驟S470:辨識關鍵實體集合中的系統領域詞彙在訓練語料中出現的複數個第一機率,並藉由辨識出的系統領域詞彙分析訓練語料的複數個句型結構,以及系統領域詞彙彼此之間的複數個關聯性,並根據第一機率以及關聯性建立共通詞彙模型;以及步驟S480:分析查詢資料操作意圖以及執行指令操作意圖中出現系統領域詞彙的複數個第二機率,並根據句型結構以及第二機率建立共通語意模型。
於步驟S410及步驟S420中,根據應用知識資料庫132及領域知識資料庫133產生系統領域詞彙集合,再利用系統領域詞彙集合及複數個服務應用參數形成為關鍵實體集合,關鍵實體集合包含複數個系統領域詞彙。舉例而言,關鍵實體集合包含企業領域詞彙以及企業系統的服務應用參數等資訊。企業領域詞彙則是指每個不同領域的企業可能會需要用到的詞彙,例如醫療業運用到的詞彙與運輸業運用到的詞彙一定不相同,因此企業領域詞彙會依照每個使用ERP系統的企業不同而有所變化。企業系統的服務應用參數則是企業系統所提供的各項服務對應的參數,舉例而言,企業系統中的請假功能可能需要請假時間、假別等資訊,關鍵實體集合中的系統領域詞彙就需要包含事假、年假、病假、 出差假等資訊。
詳細而言,關鍵實體集合更包含存取資料時會有的資料欄位名稱、企業系統提供給使用者的服務名稱、使用者在查詢時所設定的限制條件之參數值、服務應用的參數值以及企業系統的操作函數等,企業系統的操作函數可以為請假、加班申請、出差申請、報支等操作函數。而上述的這些資訊也可能會有對應的別名,也需在訓練資料庫時一併輸入,例如:出貨單對於特定領域的廠商有可能有出貨明細表或銷貨單等不同的名稱。
於步驟S430中,將複數個訓練語料分類為查詢資料操作及執行指令操作的其中之一。訓練語料可以是使用者的可能會下的指令或會問的問題等自然語言的資料,在建立好關鍵實體集合後會將訓練語料按照意圖分類,於一實施例中,使用者的意圖分為查詢資料操作及執行指令操作,但也可以將使用者的意圖分類的更精細,本發明不限於此。舉例而言,使用者如果對虛擬助理說:「請幫我找XX公司的出貨單」,在本發明的意圖分類中會分類為查詢資料操作,虛擬助理就會去企業資料庫中幫使用者查詢XX公司的出貨單。如果使用者對虛擬助理說:「幫我請1月30日的出差假」,在本發明的意圖分類中會分類為執行指令操作,虛擬助理就會進入企業資源系統中幫使用者請假。
於步驟S440中,依照企業資料庫中的類別區分對應查詢資料操作的該些訓練語料的意圖形成複數個查詢資料操作意圖,以及依照企業資源系統提供的服務行為區分 對應執行指令操作的該些訓練語料的意圖形成複數個執行指令操作意圖。於一實施例中,會先按照每個不同領域的企業資料庫對查詢資料操作區分意圖。舉例而言,醫療業的企業資料庫所儲存的資料欄位一定與運輸業的企業資料庫不相同,因此兩者的使用者需求也不一定相同。例如,對醫療業的使用者可能會有查詢病歷資料、查詢病房空位等都是查詢資料操作的不同意圖,對運輸業的使用者可能會有查詢出貨紀錄、查詢包裹運送狀態等都是查詢資料操作的不同意圖。當然也會按照每個不同領域的企業資源系統提供的服務行為對執行指令操作區分意圖,如上所述醫療業的企業資源系統所提供的服務也當然會和運輸業有所不同,每個不同領域的企業所提供的查詢資料操作或服務行為操作也不一定可以通用,因此也需要對每個不同領域的企業所提供的服務區分意圖,例如,對醫療業的使用者可能會有提供掛號的服務、提供住院訂健康餐的服務等都是服務行為操作的不同意圖,對運輸業的使用者可能會有提供自動分類貨物的服務、安排貨物出貨順序的服務等都是服務行為操作的不同意圖。
於步驟S450及步驟S460中,建立查詢資料操作意圖的範本以及執行指令操作意圖的範本,並根據關鍵實體集合、查詢資料操作意圖的範本以及執行指令操作意圖的範本建立總體資料庫131。舉例而言,將使用者在操作某個領域企業的虛擬助理會有的查詢資料操作意圖及執行指令操作意圖都區分好後,就可以針對每個意圖產生對應的範本,根據上方的範例,醫療業就會有對應查詢病歷資料、查詢病 房空位、提供掛號的服務及提供住院訂健康餐的服務的4個範本,運輸業就會有對應查詢出貨紀錄、查詢包裹運送狀態、提供自動分類貨物的服務、安排貨物出貨順序的服務的4個範本,接著會根據上述這些範本以及關鍵實體集合建立總體資料庫131。
於步驟S470中,辨識關鍵實體集合中的系統領域詞彙在訓練語料中出現的複數個第一機率,並藉由辨識出的系統領域詞彙分析訓練語料的複數個句型結構,以及系統領域詞彙彼此之間的複數個關聯性,並根據第一機率以及關聯性建立共通詞彙模型。在一實施例中,利用n元語法(n-GRAM)以及上下文無關文法(Context-free grammar,CFG)兩種演算法計算每一系統領域詞彙在訓練語料中出現的機率,並藉由系統領域詞彙分析訓練語料的句型結構以及系統領域詞彙彼此之間的關聯性以建立共通詞彙模型。舉例而言,如果訓練語料中有「我要查詢XX公司的報價單」以及「我要查詢XX公司的出貨單」,而「XX公司」、「報價單」及「出貨單」都是系統領域詞彙,但在上述的範例中,由於「XX公司」可能平均出現在每一個查詢資料操作的意圖中,因此「XX公司」的機率在每一個查詢資料操作的意圖中都幾乎相同,而「報價單」及「出貨單」則只在查詢某些特定資料之意圖的訓練語料中大量出現,而不會出現在查詢其他資料之意圖的訓練語料中,因此「報價單」及「出貨單」的機率在對應的意圖中會特別高,而在其他意圖中會較低。
於步驟S480中,分析查詢資料操作意圖以及執行指令操作意圖中出現系統領域詞彙的複數個第二機率,並根據句型結構以及第二機率建立共通語意模型。在一實施例中,利用隱馬爾可夫模型(Hidden Markov Model,HMM)演算法計算系統領域詞彙在查詢資料操作意圖以及執行指令操作意圖中出現的機率,以建立共通語意模型,舉例而言,在訓練資料模型階段時會輸入許多訓練語料,隱馬爾可夫模型演算法必須計算系統領域詞彙在不同意圖出現的機率。結合上述的範例,如果訓練語料中有「我要查詢XX公司的出貨單」,依照n元語法以及上下文無關文法可以找出「XX公司」及「出貨單」都是系統領域詞彙,而隱馬爾可夫模型演算法可以依據所有辨識出的系統領域詞彙於查詢資料操作意圖以及執行指令操作意圖中的機率以及系統領域詞彙之間的關係,進一步判斷「出貨單」與查詢出貨資料的意圖相關聯,再結合「XX公司」的系統領域詞彙,可以自動幫使用者在企業資料庫中查詢XX公司的出貨相關資料。
當建立完共通詞彙模型及共通語意模型後,接著進行步驟S320,利用自然語言處理模型分析語料資料,以產生與語料資料對應的語言特徵資訊,語言特徵資訊包含複數個意圖、意圖對應的機率以及複數個詞彙。步驟S320的細部流程請參考第5圖,第5圖係根據本案之一些實施例所繪示之步驟S320的流程圖。如第5圖所示,步驟S320包含以下步驟: 步驟S321:利用共通詞彙模型辨識語料資料中是否具有符合關鍵實體集合中的系統領域詞彙,將辨識結果設定為語言特徵資訊中的詞彙,並分析語言特徵資訊中的詞彙出現的機率;步驟S322:根據特徵資訊中的詞彙分析語料資料的句型結構;以及步驟S323:利用共通語意模型根據特徵資訊中的詞彙出現的機率以及語料資料的句型結構辨識語料資料的意圖以及意圖對應的機率。
於步驟S321及步驟S322中,利用共通詞彙模型辨識語料資料中是否具有符合關鍵實體集合中的系統領域詞彙,將辨識結果設定為語言特徵資訊中的詞彙,並分析語言特徵資訊中的詞彙出現的機率,再根據特徵資訊中的詞彙分析語料資料的句型結構。舉例而言,將使用者輸入的語料資料,利用共通詞彙模型將語料資料中含有系統領域詞彙的詞彙辨識出來,再進一步判斷出語料資料的句型結構。舉例而言,如果使用者對虛擬助理說:「我想要查XX公司上個月的出貨單」,根據共通詞彙模型可以辨識出「XX公司」、「上個月」及「出貨單」等符合系統領域詞彙的詞彙。
於步驟S323中,利用共通語意模型根據特徵資訊中的詞彙出現的機率以及語料資料的句型結構辨識語料資料的意圖以及意圖對應的機率。根據上方的範例,辨識出「XX公司」、「上個月」及「出貨單」等詞彙後,會再進一步判斷這些詞彙在所有意圖中的機率。此處指的所有意圖 包含所有查詢資料操作意圖以及執行指令操作意圖的機率。
於步驟S330中,依據職能情境資訊對語言特徵資訊進行職能情境分析,判斷該些意圖的其中之一對應的操作。在進行職能情境分析之前需先建立職能情境模型及職能詞彙模型,職能情境模型在進行職能情境分析時是先將歷史資料庫134中的資料所轉換成的特徵向量,然後會利用機器學習演算法將歷史資料庫134中的資料依據各種不同的情境分類後計算特徵向量與各情境之間的強弱關係,接著產生職能情境模型。適合建立上述職能情境的機器學習演算法包括:傳統機器學習常用的支援向量機(Support Vector Machine,SVM),以及目前深度學習(Deep Learning)相關的卷積神經網路(Convolutional Neural Networks,CNN)、遞歸神經網路(Recurrent Neural Networks,RNN)和長短期記憶模型(Long Short-Term Memory,LSTM)等演算法。
承上述,職能詞彙模型係根據大量輸入的訓練語料利用隱馬爾可夫模型演算法分析後再進行斷詞處理,接著會統計分詞的出現頻率以產生分詞頻率表,進而建立職能詞彙模型。步驟S330的細部流程請參考第6圖,第6圖係根據本案之一些實施例所繪示之步驟S330的流程圖。如第6圖所示,步驟S330包含以下步驟:步驟S331:利用語料資料以及職能情境資訊與職能情境模型進行比對,並產生職能情境辨識結果;以及步驟S332:根據職能情境辨識結果判斷該些意 圖的其中之一對應查詢資料操作及執行指令操作的其中之一。
於步驟S331中,利用語料資料以及職能情境資訊與職能情境模型進行比對,並產生職能情境辨識結果。職能情境資訊包含使用者的身份、使用者的職位、使用者的部門、時間以及地點。職能情境資訊的部分資訊可以由輸入/輸出裝置150所感測,例如可以偵測使用者目前的狀態(例如,是否出差回來)。根據前面辨識使用者語料資料後所得到的所有意圖對應的機率以及詞彙,再結合職能情境資訊可以進一步估算使用者的語料資料與訓練資料模型中的資料之相似程度,作為對應之意圖的機率。
於步驟S332中,根據職能情境辨識結果判斷該些意圖的其中之一對應查詢資料操作及執行指令操作的其中之一。由於在訓練資料模型中會有多個查詢資料操作意圖以及多個執行指令操作意圖,並且在經過前述的共通語意模型的計算後會產生每個意圖對應的機率,具有較低機率值的意圖可以利用門檻值過濾,以得到最有可能的意圖並確認對應的操作。由前述的範例可知,當辨識出「XX公司」、「上個月」及「出貨單」等詞彙後,會判斷這些詞彙搭配職能情境資訊找出最符合的查詢資料操作意圖或執行指令操作意圖,在經過上述操作後即會判斷出使用者對虛擬助理說:「我想要查XX公司上個月的出貨單」,最有可能會要查XX公司的出貨單,因此即可對應出使用者想要執行的是查詢資料操作。需要有職能情境的判斷是因為會因為使用者的職位、部 門、操作時間、操作地點等資訊不同,而有不同的需求,舉例而言,採購人員與財務人員都會看[廠商每月統計表],但是可能這兩者的[廠商每月統計表]的統計目標並不相同:一個是統計廠商的進貨狀況,另一個是統計自己公司付款給廠商的狀況。但使用者在與虛擬助理對話時不一定會明確指說需要什麼[廠商每月統計表],可能只說:「我需要上個月的廠商每月統計表」這種簡單的句型,因此才更需要搭配使用者的職能情境資訊再進行進一步精準的判斷。
於步驟S340中,如果職能情境分析無法判斷該些意圖的其中之一對應的操作,則針對語料資料進行分詞處理。步驟S340的細部流程請參考第7圖,第7圖係根據本案之一些實施例所繪示之步驟S340的流程圖。如第7圖所示,步驟S340包含以下步驟:步驟S341:根據職能詞彙模型對語料資料進行斷詞,以產生複數個分詞;以及步驟S342:計算該些分詞的頻率。
於步驟S341及步驟S342中,根據職能詞彙模型對語料資料進行斷詞,以產生複數個分詞;接著計算該些分詞的頻率。如果在步驟S330中職能情境分析無法判斷輸入的語料資料對應的操作時,就需要對語料資料進行分詞處理。首先,會根據先前預先建立好的職能詞彙模型中儲存的詞彙對語料資料進行斷詞,接著計算斷詞後產生的多個分詞的頻率。
於步驟S350及步驟S360中,根據分詞處理後的 結果,判斷是否存在新詞彙或新語料資料;如果存在新詞彙,根據新詞彙的意義更新自然語言處理模型,如果存在新語料資料,根據新語料資料的意圖更新職能情境分析。步驟S360的細部流程請參考第8圖,第8圖係根據本案之一些實施例所繪示之步驟S360的流程圖。如第8圖所示,步驟S360包含以下步驟:步驟S361:判斷分詞處理計算出的該些分詞的頻率是否低於門檻值;步驟S362:如果該些分詞的其中之一低於門檻值,該些分詞的其中之一則為新詞彙,並接收新詞彙的定義,以更新共通詞彙模型及共通語意模型;以及步驟S363:如果該些分詞均高於門檻值,則語料資料則為新語料資料,並接收新語料資料的意圖,以更新職能情境模型。
於步驟S361及步驟S362中,判斷分詞處理計算出的該些分詞的頻率是否低於門檻值,如果該些分詞的其中之一低於門檻值,該些分詞的其中之一則為新詞彙,並接收新詞彙的定義,以更新共通詞彙模型及共通語意模型。於一實施例中,經過分詞處理計算完該些分詞的頻率後,將低於門檻值的分詞設定為新詞彙,虛擬助理會詢問使用者新詞彙的定義,並將新詞彙以及新詞彙的定義一起存入共通詞彙模型及共通語意模型中。舉例而言,使用者輸入的語料是「我想找XX公司的聯絡人」,而如果虛擬助理無法判斷「我想找XX公司的聯絡人」的意義,會在分詞處理後分出「我」、 「想找」、「XX公司」、「的」、「聯絡人」等詞彙,如果「XX公司」低於門檻值,虛擬助理會詢問使用者「XX公司」是什麼意思,接著將使用者的回答及「XX公司」一起存入共通詞彙模型及共通語意模型;而新詞彙也需要一起存入系統領域詞彙集合中,與所有人共用。
於步驟S363中,如果該些分詞均高於門檻值,則語料資料則為新語料資料,並接收新語料資料的意圖,以更新職能情境模型。接續上方「我想找XX公司的聯絡人」的範例,在分詞處理後分出「我」、「想找」、「XX公司」、「的」、「聯絡人」等詞彙,如果都沒有詞彙低於門檻值,表示虛擬助理不理解的是語料的意圖,有可能在訓練智慧助理時的訓練語料都是關於「幫我查XX公司的聯絡人」的敘述,因此虛擬助理就會無法理解「我想找XX公司的聯絡人」的意圖,而虛擬助理就需要再詢問使用者「我想找XX公司的聯絡人」是什麼意思,接著將使用者的回答及「我想找XX公司的聯絡人」的新語料一起存入職能情境模型。在存入職能模型之前需要再判斷新語料是否為共通語料,如果是的話則代表其他人在使用虛擬助理時也會使用到新語料,因此需要將新語料存入系統領域詞彙集合,讓所有人共用;但如果不是的話則代表新語料只是使用者本身的說話習慣而有的不同的用語,因此只需要更新職能情境模型即可,不需要再更新系統領域詞彙集合。
由上述本案之實施方式可知,主要係讓虛擬助理具有自動學習的功能,讓虛擬助理可以在與使用者交流的 過程中,如果有智慧助理不懂的詞彙可以在詢問使用者過後,更新虛擬助理的資料庫,使得虛擬助理可以自動學習到使用者的說話習慣,或是行業中的特殊用語用詞,達到讓使用者使用ERP系統是能夠更快速便利的功效。
另外,上述例示包含依序的示範步驟,但該些步驟不必依所顯示的順序被執行。以不同順序執行該些步驟皆在本揭示內容的考量範圍內。在本揭示內容之實施例的精神與範圍內,可視情況增加、取代、變更順序及/或省略該些步驟。
雖然本案已以實施方式揭示如上,然其並非用以限定本案,任何熟習此技藝者,在不脫離本案之精神和範圍內,當可作各種之更動與潤飾,因此本案之保護範圍當視後附之申請專利範圍所界定者為準。

Claims (16)

  1. 一種虛擬助理的自動學習方法,包含:接收一音訊輸入並辨識該音訊以形成一語料資料;利用一自然語言處理模型分析該語料資料,以產生與該語料資料對應的一語言特徵資訊,其中該語言特徵資訊包含複數個意圖、該些意圖對應的機率以及複數個詞彙;依據一職能情境資訊對該語言特徵資訊進行一職能情境分析,判斷該些意圖的其中之一對應的一操作;如果該職能情境分析無法判斷該些意圖的其中之一對應的該操作,則針對該語料資料進行一分詞處理;根據該分詞處理後的結果,判斷是否存在一新詞彙或一新語料資料;以及如果存在該新詞彙,根據該新詞彙的意義更新該自然語言處理模型,如果存在該新語料資料,根據該新語料資料的意圖更新該職能情境分析;其中,該操作包含一查詢資料操作及一執行指令操作的其中之一。
  2. 如請求項1所述的虛擬助理的自動學習方法,更包含:根據一應用知識資料庫及一領域知識資料庫產生一系統領域詞彙集合;該系統領域詞彙集合及複數個服務應用參數形成為一關鍵實體集合,該關鍵實體集合包含複數個系統領域詞彙;將複數個訓練語料分類為該查詢資料操作及該執行指令操作的其中之一;依照一企業資料庫中的類別區分對應該查詢資料操作的該些訓練語料的意圖形成複數個查詢資料操作意圖,以及依照該企業資源系統提供的服務行為區分對應該執行指令操作的該些訓練語料的意圖形成複數個執行指令操作意圖;建立該些查詢資料操作意圖的範本,以及該些執行指令操作意圖的範本;根據該關鍵實體集合、該些查詢資料操作意圖的範本以及該些執行指令操作意圖的範本建立一總體資料庫;辨識該關鍵實體集合中的該些系統領域詞彙在該些訓練語料中出現的複數個第一機率,並藉由辨識出的該些系統領域詞彙分析該些訓練語料的複數個句型結構,以及該些系統領域詞彙彼此之間的複數個關聯性,並根據該些第一機率以及該些關聯性建立一共通詞彙模型;以及分析該些查詢資料操作意圖以及該些執行指令操作意圖中出現該些系統領域詞彙的複數個第二機率,並根據該些句型結構以及該些第二機率建立一共通語意模型。
  3. 如請求項2所述的虛擬助理的自動學習方法,更包含:利用一分類器將一歷史資料庫中的資料進行關係強弱分類,產生一職能情境模型;以及將該些訓練語料進行斷詞及分析,並根據該歷史資料庫中的資料產生一職能詞彙模型。
  4. 如請求項3所述的虛擬助理的自動學習方法,其中該職能情境分析更包含:利用該語料資料以及該職能情境資訊與該職能情境模型進行比對,並產生一職能情境辨識結果;以及根據該職能情境辨識結果判斷該些意圖的其中之一對應該查詢資料操作及該執行指令操作的其中之一。
  5. 如請求項4所述的虛擬助理的自動學習方法,其中該分詞處理更包含:根據該職能詞彙模型對該語料資料進行斷詞,以產生複數個分詞;以及計算該些分詞的頻率。
  6. 如請求項5所述的虛擬助理的自動學習方法,更包含:判斷該分詞處理計算出的該些分詞的頻率是否低於一門檻值;如果該些分詞的其中之一低於該門檻值,該些分詞的其中之一則為該新詞彙,並接收該新詞彙的定義,以更新該共通詞彙模型及該共通語意模型;如果該些分詞均高於該門檻值,則該語料資料則為該新語料資料,並接收該新語料資料的意圖,以更新該職能情境模型。
  7. 如請求項6所述的虛擬助理的自動學習方法,更包含:判斷該新語料資料是否為共通語料,如果是則根據該新語料資料更新該系統領域詞彙集合;以及根據該新詞彙更新該系統領域詞彙集合。
  8. 如請求項2所述的虛擬助理的自動學習方法,其中該自然語言處理模型分析該語料資料更包含:利用該共通詞彙模型辨識該語料資料中是否具有符合該關鍵實體集合中的該些系統領域詞彙,將辨識結果設定為該些詞彙,並分析該些詞彙出現的機率;根據該些詞彙分析該語料資料的句型結構;以及利用該共通語意模型根據該些詞彙出現的機率以及該語料資料的句型結構辨識該語料資料的該些意圖以及該些意圖對應的機率。
  9. 一種虛擬助理的自動學習系統,分別與一企業資料庫及一企業資源系統連接,包含:一處理器;一儲存裝置,電性連接至該處理器,用以儲存一總體資料庫、一應用知識資料庫、一領域知識資料庫以及一歷史資料庫;一輸入/輸出裝置,電性連接至該處理器,用以提供一介面以供輸入一音訊;其中,該處理器包含:一語音辨識模組,用以辨識該音訊以形成一語料資料;一語料分析模組,與該語音辨識模組電性連接,用以利用一自然語言處理模型分析該語料資料,以產生與該語料資料對應的一語言特徵資訊,其中該語言特徵資訊包含複數個意圖、該些意圖對應的機率以及複數個詞彙;一情境辨識模組,與該語料分析模組電性連接,用以依據一職能情境資訊對該語言特徵資訊進行一職能情境分析,判斷該些意圖的其中之一對應的一操作;一未知語料判斷模組,與該情境辨識模組電性連接,用以在該情境辨識模組無法辨識該些意圖的其中之一對應的該操作時,針對該語料資料進行一分詞處理,並根據該分詞處理後的結果,判斷是否存在一新詞彙或一新語料資料;以及一更新資訊模組,與該未知語料判斷模組電性連接,用以在有該新詞彙產生時,根據該新詞彙的意義更新該自然語言處理模型,以及在該新語料資料產生時,根據該新語料資料的意圖更新該職能情境分析;其中,該操作包含一查詢資料操作及一執行指令操作的其中之一。
  10. 如請求項9所述的虛擬助理的自動學習系統,該處理器更包含:一訓練模組,與該語料分析模組電性連接,用以根據該應用知識資料庫及該領域知識資料庫產生一系統領域詞彙集合,該系統領域詞彙集合及複數個服務應用參數形成為一關鍵實體集合,該關鍵實體集合包含複數個系統領域詞彙,並將複數個訓練語料分類為該查詢資料操作及該執行指令操作的其中之一,依照該企業資料庫中的類別區分對應該查詢資料操作的該些訓練語料的意圖形成複數個查詢資料操作意圖,以及依照該企業資源系統提供的服務行為區分對應該執行指令操作的該些訓練語料的意圖形成複數個執行指令操作意圖;一範本建立模組,與該訓練模組電性連接,建立該些查詢資料操作意圖的範本,以及該些執行指令操作意圖的範本,根據該關鍵實體集合、該些查詢資料操作意圖的範本以及該些執行指令操作意圖的範本建立該總體資料庫;一詞彙模型建立模組,與該範本建立模組電性連接,辨識該關鍵實體集合中的該些系統領域詞彙在該些訓練語料中出現的複數個第一機率,並藉由辨識出的該些系統領域詞彙分析該些訓練語料的複數個句型結構,以及該些系統領域詞彙彼此之間的複數個關聯性,並根據該些第一機率以及該些關聯性建立一共通詞彙模型;以及一語意模型建立模組,與該範本建立模組電性連接,分析該些查詢資料操作意圖以及該些執行指令操作意圖中出現該些系統領域詞彙的複數個第二機率,並根據該些句型結構以及該些第二機率建立一共通語意模型。
  11. 如請求項10所述的虛擬助理的自動學習系統,其中該處理器更包含:一情境訓練模組,與該情境分析模組電性連接,用以利用一分類器將該歷史資料庫中的資料進行關係強弱分類,產生一職能情境模型;以及一詞彙訓練模組,與該未知語料判斷模組電性連接,用以將該些訓練語料進行斷詞及分析,並根據該歷史資料庫中的資料產生一職能詞彙模型。
  12. 如請求項11所述的虛擬助理的自動學習系統,其中該情境分析模組更用以利用該語料資料以及該職能情境資訊與該職能情境模型進行比對,並產生一職能情境辨識結果,以及根據該職能情境辨識結果判斷該些意圖的其中之一對應該查詢資料操作及該執行指令操作的其中之一。
  13. 如請求項12所述的虛擬助理的自動學習系統,其中該未知語料判斷模組更用以根據該職能詞彙模型對該語料資料進行斷詞,以產生複數個分詞,以計算該些分詞的頻率。
  14. 如請求項13所述的虛擬助理的自動學習系統,其中該更新資訊模組更用以判斷該分詞處理計算出的該些分詞的頻率是否低於一門檻值;如果該些分詞的其中之一低於該門檻值,該些分詞的其中之一則為該新詞彙,並接收該新詞彙的定義,以更新該共通詞彙模型及該共通語意模型;如果該些分詞均高於該門檻值,則該語料資料則為該新語料資料,並接收該新語料資料的意圖,以更新該職能情境模型。
  15. 如請求項14所述的虛擬助理的自動學習系統,其中該更新資訊模組更用以判斷該新語料資料是否為共通語料,如果是則根據該新語料資料更新該系統領域詞彙集合;以及根據該新詞彙更新該系統領域詞彙集合。
  16. 如請求項10所述的虛擬助理的自動學習系統,其中該語料分析模組更用以利用該共通詞彙模型辨識該語料資料中是否具有符合該關鍵實體集合中的該些系統領域詞彙,將辨識結果設定為該些詞彙,並分析該些詞彙出現的機率,根據該些詞彙分析該語料資料的句型結構,並利用該共通語意模型根據該些詞彙出現的機率以及該語料資料的句型結構辨識該語料資料的該些意圖以及該些意圖對應的機率。
TW107115794A 2018-05-09 2018-05-09 虛擬助理的自動學習方法及系統 TWI679548B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW107115794A TWI679548B (zh) 2018-05-09 2018-05-09 虛擬助理的自動學習方法及系統

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW107115794A TWI679548B (zh) 2018-05-09 2018-05-09 虛擬助理的自動學習方法及系統

Publications (2)

Publication Number Publication Date
TWI679548B true TWI679548B (zh) 2019-12-11
TW201947428A TW201947428A (zh) 2019-12-16

Family

ID=69582378

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107115794A TWI679548B (zh) 2018-05-09 2018-05-09 虛擬助理的自動學習方法及系統

Country Status (1)

Country Link
TW (1) TWI679548B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3961424A4 (en) * 2020-06-28 2022-10-05 Beijing Baidu Netcom Science And Technology Co., Ltd. METHOD AND DEVICE FOR REWRITING A SEARCH TERM, DEVICE AND STORAGE MEDIA

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI226560B (en) * 2003-12-31 2005-01-11 Lin Guei Mei Information system with natural language parsing ability and processing method thereof
US20160170710A1 (en) * 2014-12-12 2016-06-16 Samsung Electronics Co., Ltd. Method and apparatus for processing voice input
CN106649694A (zh) * 2016-12-19 2017-05-10 北京云知声信息技术有限公司 语音交互中确定用户意图的方法及装置
CN107015969A (zh) * 2017-05-19 2017-08-04 四川长虹电器股份有限公司 可自我更新的语义理解系统与方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI226560B (en) * 2003-12-31 2005-01-11 Lin Guei Mei Information system with natural language parsing ability and processing method thereof
US20160170710A1 (en) * 2014-12-12 2016-06-16 Samsung Electronics Co., Ltd. Method and apparatus for processing voice input
CN106649694A (zh) * 2016-12-19 2017-05-10 北京云知声信息技术有限公司 语音交互中确定用户意图的方法及装置
CN107015969A (zh) * 2017-05-19 2017-08-04 四川长虹电器股份有限公司 可自我更新的语义理解系统与方法

Also Published As

Publication number Publication date
TW201947428A (zh) 2019-12-16

Similar Documents

Publication Publication Date Title
WO2018196684A1 (zh) 对话机器人生成方法及装置
AU2019261735B2 (en) System and method for recommending automation solutions for technology infrastructure issues
CN109635117B (zh) 一种基于知识图谱识别用户意图方法及装置
US11138248B2 (en) Understanding user product queries in real time without using any rules
US20240169153A1 (en) Detecting unrelated utterances in a chatbot system
US20120150825A1 (en) Cleansing a Database System to Improve Data Quality
Peng et al. An e-commerce customer service robot based on intention recognition model
US9910909B2 (en) Method and apparatus for extracting journey of life attributes of a user from user interactions
US11823082B2 (en) Methods for orchestrating an automated conversation in one or more networks and devices thereof
CN110827797B (zh) 语音应答事件分类处理方法和装置
CN110489517B (zh) 虚拟助理的自动学习方法及系统
TWI674530B (zh) 操作虛擬助理的方法及系統
TWI679548B (zh) 虛擬助理的自動學習方法及系統
CN110309252B (zh) 一种自然语言处理方法及装置
US20230351121A1 (en) Method and system for generating conversation flows
US11170032B2 (en) Method and apparatus for determining responses to digital inquiry related questions
US11847599B1 (en) Computing system for automated evaluation of process workflows
CN110209776B (zh) 操作虚拟助理的方法及系统
Sinpang et al. Detecting ambiguity in requirements analysis using Mamdani fuzzy inference
CN114546326A (zh) 一种虚拟人手语生成方法和系统
CN115017385A (zh) 一种物品搜索方法、装置、设备和存储介质
CN113806541A (zh) 情感分类的方法和情感分类模型的训练方法、装置
TWI652587B (zh) 自動訓練虛擬助理的方法及系統
US10120652B2 (en) System and method for representing software development requirements into standard diagrams
TWM590719U (zh) 基於自然語言處理的智能對話管理系統