TWI661349B - 產生對話式使用者介面的方法及系統 - Google Patents
產生對話式使用者介面的方法及系統 Download PDFInfo
- Publication number
- TWI661349B TWI661349B TW106139454A TW106139454A TWI661349B TW I661349 B TWI661349 B TW I661349B TW 106139454 A TW106139454 A TW 106139454A TW 106139454 A TW106139454 A TW 106139454A TW I661349 B TWI661349 B TW I661349B
- Authority
- TW
- Taiwan
- Prior art keywords
- fields
- data
- user interface
- webpage
- processor
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/174—Form filling; Merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/042—Knowledge-based neural networks; Logical representations of neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/046—Forward inferencing; Production systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一種產生對話式使用者介面的方法,經由處理器執行下列步驟。擷取網頁的內容;取得網頁內的第一表單;根據第一表單取得多個第一欄位;根據多個第一欄位以建立第一填充模型;以及產生對話式使用者介面。其中處理器使用第一填充模型以判斷多個第一欄位所需資料,並根據輸入對話資料以取得可填入對應多個第一欄位的資料以供填入多個第一欄位。
Description
本發明是有關於一種對話式使用者介面,且特別是有關於一種從網頁自動產生對話式使用者介面之方法與系統。
在網路蓬勃發展的現在,企業或服務提供者可透過網頁或是手機應用程式(app)發送資訊並且與使用者互動。當使用者面對像是網頁的圖形化介面時,需在頁面中自行探索以尋找需要的資訊。而隨著電腦科技快速發展,為了提供更佳的使用者體驗,可使用虛擬助理(virtual assistant)作為溝通管道,協助使用者快速從網頁取得想要的資訊,例如查詢住宿資料、查詢班機表、訂購電影票、買賣股票、網路購物、投資理財等等。虛擬助理與使用者為即時互動模式,例如是一個對話式使用者介面(conversational user interface,CUI),讓使用者只需透過輸入自然對話語言,便能得到需要的結果。然而,要開發一項服務專屬的對話式使用者介面,需要花費不少的人力與時間,且逐一製作,而每當有新的服務或網頁出現時,設計人員必須花時間瞭解新服務或網頁系統架構邏輯,才能完成對應的對話式使用者介
面。因此,如何快速產生對話式使用者介面,乃目前業界所致力課題之一。
本發明係有關於一種產生對話式使用者介面之方法與系統,能夠從輸入的網頁自動產生所需的對話式使用者介面,大幅減少開發一個新的對話式使用者介面所需的時間。
根據本發明之一實施例,提出一種產生對話式使用者介面的方法,經由處理器執行下列步驟,方法包括:處理器擷取網頁的內容;處理器取得網頁內的第一表單;處理器根據第一表單取得多個第一欄位;處理器根據多個第一欄位以建立第一填充模型;以及處理器產生對話式使用者介面,其中處理器使用第一填充模型以判斷多個第一欄位所需資料,並根據輸入對話資料以取得可填入對應多個第一欄位的資料以供填入多個第一欄位。
根據本發明之另一實施例,提出一種產生對話式使用者介面的系統,包括一處理器以執行以下各模組:網頁擷取模組、網頁分析模組、以及模型建立模組。網頁擷取模組用以擷取網頁的內容。網頁分析模組用以取得網頁內的第一表單,並且根據第一表單取得多個第一欄位。模型建立模組用以根據多個第一欄位以建立第一填充模型,並且產生對話式使用者介面。其中模型建立模組使用第一填充模型以判斷多個第一欄位所需資料,並根據輸入對話資料以取得可填入對應多個第一欄位的資料以供填入多個第一欄位。
根據本發明之又另一實施例,提出一種產生對話式使用者介面的系統,該系統包括處理器以及儲存裝置,處理器能夠執行多個電腦程式模組,儲存裝置儲存可由處理器執行的電腦程式模組,其中該電腦程式模組在由處理器執行時使處理器進行以下操作:擷取網頁的內容;取得網頁內的第一表單;根據第一表單取得多個第一欄位;根據多個第一欄位以建立第一填充模型;以及產生對話式使用者介面。其中處理器使用第一填充模型以判斷多個第一欄位所需資料,並根據輸入對話資料以取得可填入對應多個第一欄位的資料以供填入多個第一欄位。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉實施例,並配合所附圖式詳細說明如下:
S101、S103、S105、S107、S109‧‧‧步驟
20‧‧‧產生對話式使用者介面的系統
200‧‧‧處理器
201‧‧‧儲存裝置
202‧‧‧網頁擷取模組
204‧‧‧網頁分析模組
206‧‧‧模型建立模組
301、302、311、312、313、320、602、603、611、621、622、623、702、703、704、705、706、711、801、802、803、804、805、806‧‧‧步驟
314‧‧‧填充模型
500‧‧‧網頁
501‧‧‧表單頁面
502‧‧‧資訊頁面
510‧‧‧歷史資料
601‧‧‧輸入表單頁面
612‧‧‧輸出Intent與Slot
700‧‧‧任務資料檔
701、707‧‧‧使用者輸入內容
712‧‧‧輸出訊息告知使用者任務已完成
第1圖繪示依照本發明第一實施例的產生對話式使用者介面的方法流程圖。
第2圖繪示依照本發明第一實施例的產生對話式使用者介面的系統示意圖。
第3圖繪示依照本發明第一實施例從網頁產生對話式使用者介面的方法細部流程圖。
第4圖繪示依照本發明第一實施例的更新任務資料檔流程圖。
第5圖繪示依照本發明第一實施例的對話式使用者介面操作邏輯流程圖。
第6圖繪示依照本發明第一實施例根據填充模型填入欄位的流程圖。
本發明提出一種可自動將網頁轉換為對話式使用者介面的方法與系統。本發明所指的對話式使用者介面例如是網頁中跳出的對話視窗,或是聊天機器人(chatbot),聊天機器人可建構於即時通訊軟體當中,例如Facebook messenger、WhatsApp、WeChat、Line、Telegram、Skype等等的即時通訊平台,亦可將本發明嵌入於APP軟體或網站中。企業透過聊天機器人可提供全年無休24小時的即時客戶服務,而使用者也可透過聊天機器人快速解決問題。
第1圖繪示依照本發明第一實施例的產生對話式使用者介面的方法流程圖,如第1圖所示的方法可以經由處理器(processor)執行,處理器可以是一般的中央處理器、微處理器等,也可以是設置於電腦、行動裝置、雲端伺服器等中的處理器。方法包括以下步驟。步驟S101:擷取網頁的內容。步驟S103:取得網頁內的第一表單(form),第一表單例如為網頁中需要使用者輸入資料之處。步驟S105:根據第一表單取得多個第一欄位(slot)。步驟S107:根據多個第一欄位以建立第一填充模型(slot
filling model),據以產生對話式使用者介面,第一填充模型例如可定義多個第一欄位所需資料。其中各步驟可由處理器執行,處理器使用第一填充模型以判斷多個第一欄位所需資料,並根據輸入對話資料以取得可填入對應多個第一欄位的資料以供填入多個第一欄位。
如第1圖所示的方法可以實作為一軟體程式,此軟體程式可儲存於非暫態電腦可讀取媒體(non-transitory computer readable medium),例如硬碟、光碟、隨身碟、記憶體等程式儲存裝置,當處理器從非暫態電腦可讀取媒體載入此軟體程式時,可執行如第1圖的方法流程,將一個網頁轉換為一個對話式使用者介面。所產生的對話式使用者介面可以使用第一填充模型,藉由與使用者對話,根據使用者的輸入對話資料填入第一欄位所需資料,進而完成使用者欲執行的工作。由於第1圖所示的方法可由網頁自動產生對話式使用者介面,因此當企業有新的服務上線時,只需提供對應的網頁,便可藉由本發明所提出的方法快速產生所需的對話式使用者介面,可節省大量人力與時間,並可避免人工的需求理解及程式碼撰寫,能夠大幅降低對話式使用者介面的開發成本,並且提升實際應用的可行性。
在一實施例中,產生對話式使用者介面的系統可包括處理器及程式儲存裝置,處理器能夠執行一或多個電腦可執行指令,程式儲存裝置儲存可由處理器執行的電腦程式模組,其中該
電腦程式模組在由處理器執行時使處理器進行如第1圖所示各步驟的操作。
第2圖繪示依照本發明第一實施例的產生對話式使用者介面的系統示意圖。產生對話式使用者介面的系統20包括處理器200和儲存裝置201,儲存裝置201儲存有下列各模組,由處理器200執行。網頁擷取模組202、網頁分析模組204、以及模型建立模組206。網頁擷取模組202可用以擷取網頁的內容。網頁分析模組204可用以取得網頁內的第一表單,並且根據第一表單取得多個第一欄位。模型建立模組206可用以根據多個第一欄位以建立第一填充模型,並且產生對話式使用者介面。其中模型建立模組206使用第一填充模型以判斷多個第一欄位所需資料,並根據輸入對話資料以取得可填入對應多個第一欄位的資料以供填入多個第一欄位。舉例來說,模型建立模組206可以使用第一填充模型分析輸入對話資料的文字以取得至少一字詞,並且比對至少一字詞與各個第一欄位的規則(如類型、屬性、及/或選項),以供填入多個第一欄位。
第2圖所示的產生對話式使用者介面的系統20為可用以執行如第1圖所示方法的一種實施例。在另一實施例中,網頁擷取模組202、網頁分析模組204、以及模型建立模組206可以個別被實施為軟體單元或硬體單元,亦可以部分模組合併以軟體實施、部分模組合併以硬體實施。以軟體實施的模組,可被處理器載入而執行對應的功能。以硬體實施的模組,例如可被實施為微
控制單元(microcontroller)、微處理器(microprocessor)、數位訊號處理器(digital signal processor)、特殊應用積體電路(application specific integrated circuit,ASIC)、數位邏輯電路、或現場可程式邏輯閘陣列(field programmable gate array,FPGA)。
第3圖繪示依照本發明第一實施例從網頁產生對話式使用者介面的方法細部流程圖。輸入的資料是網頁500,首先執行步驟301網頁擷取,步驟301例如對應第1圖的步驟S101,可由網頁擷取模組202執行,網頁擷取模組202的一種實施例為網路爬蟲(crawler)。接著執行步驟302網頁分類,將擷取的網頁500分類為表單頁面501以及資訊頁面502。表單頁面501為任務導向類,通常包括一些需要使用者填入的資料,應用如訂票及訂房;資訊頁面502為資訊查詢類,通常包括文句說明資訊,應用如條文規範及常見問題回答(FAQ)。對於資訊頁面502,可執行步驟320抽取資料,以找出關鍵字並進行資料索引標註。
接著針對任務導向類的處理流程進行說明。對於表單頁面501,可先執行步驟311取得表單結構,此處所述的表單例如對應於第1圖步驟S103所述的第一表單。在一實施例中,步驟311可解析(parse)描述網頁500的結構化語言,以抽取出網頁中的表單(form)及其需要的輸入(input)。描述網頁500的結構化語言例如是html,步驟311可從html檔案中尋找關鍵字form與input,而找出表單的位置,取得表單名稱以及輸入名稱。描述網頁500的結
構化語言亦可以是例如xml或是JSON等等具有結構特性、並可從中抽取出表單資訊的檔案格式。在本說明書中以下將使用html語言作為範例說明,然而本發明並不僅限於解析html語言。
在一實施例中,步驟311還可以包括根據表單(例如對應於第1圖步驟S105的第一表單)取得對應於各欄位(例如對應於第1圖步驟S105的第一欄位)的規則,此規則至少包括以下其中之一:類型(type)、屬性(attribute)、以及選項(option)。這些規則可代表使用者輸入資料需符合的格式、類型、數值範圍、或文字樣式等等。步驟311例如可從html檔案中尋找對應於各輸入的關鍵字type、option、max、min等等,以取得各欄位的規則。在一實施例中,網頁分析模組204可根據網頁分析各欄位以判斷其對應於類型、屬性、以及選項的至少其中之一,根據分析結果以建立各欄位的規則,舉例而言,各欄位的規則可以記載輸入資料符合其類型的條件、符合其屬性的條件、及/或符合其選項的條件。
根據步驟311取得的表單,可接著執行步驟312定義slot與intent,其中slot代表對應於表單的多個欄位,intent代表使用者意圖,使用者意圖可對應於表單的功能(訂票、訂房)。舉例而言,步驟312可以使用取得的表單名稱(form title)作為intent,以及使用表單的輸入部分作為slot。
以下使用一實際範例說明步驟311以及步驟312的執行結果,此二步驟例如可由第2圖所示的網頁分析模組204執行。
此處所使用範例為電影訂票網頁,經過步驟311解析網頁html之後可取得表單,此表單可表示為以下表一所示的資料結構。
在一實施例中,步驟311亦可將從網頁取得的表單轉為另一種具結構性的資料格式,例如angular schema form,以另一種形式描述如同表一的記載內容。
根據表一,步驟312可以定義表單的功能(對應於表單名稱)為「訂票」,表單的多個欄位(對應於輸入名稱)包括「電子郵件」、「電影名稱」、「戲院名稱」、「日期」、「放映時間」、以及「人數」。
在一實施例中,各欄位的規則還可包括語法規則,語法規則可用以表示輸入資料的句法規則。舉例而言,語法規則可使用正規表示式(regular expression),但並不侷限於此,亦可使用其他能夠表達句法規則的方式。在一實施例中,可以根據類型、屬性、選項的至少其中之一,建立語法規則。例如當輸入資料符合其屬性的條件是數值範圍1到10,可以使用正規表示式^[1-10]$,又例如當符合類型的條件是日期,可以建立對應於日期格式的正規表示式。
在一實施例中,第2圖所示的產生對話式使用者介面的系統20還可包括語法訓練模組,語法訓練模組可由軟體或硬體實施,例如可由處理器實施。語法訓練模組可以藉由歷史資料(log data)訓練以建立各欄位的規則,所使用的歷史資料為相關於表單的存取。如第3圖所示,步驟313訓練欄位填充規則可以讀入歷史資料510,以機器學習(例如神經網路)的方式建立規則。沿續前述的電影訂票網頁範例,歷史資料510可以是過去的多筆訂票紀錄,
從歷史資料510可以得到在「電子郵件」這個欄位曾經填入的多個字串,步驟313可藉由機器學習,以建立這些字串具有的句法規則,而得到「電子郵件」欄位的規則,例如可包括正規表示式。
各欄位的規則包括有語法規則的範例可見以下表二,相較於表一,表二再增加了一個語法規則的欄位。
於步驟312定義intent與slot以及步驟313訓練欄位填充規則之後,如第2圖所示的模型建立模組206便可據以建立填充模型314。而藉由從表單頁面501建立的填充模型314,以及從資訊頁面502由步驟320建立的資料索引,即可完成對應於網頁500的對話機器人,可與使用者進行對話互動。
需說明的是,步驟313訓練欄位填充規則可為選擇性執行。即使沒有歷史資料510訓練,亦可直接從步驟312定義好的slot而建立填充模型314。例如在一些使用情境中,存取表單的歷史資料510具有隱私性無法提供,或是在企業的新服務上線時,尚未具有足夠數量的歷史資料510。
在一實施例中,可以根據各欄位的規則當中的類型、屬性、選項的至少其中之一,制定一判斷準則,以決定對應的欄位是否需要執行步驟313。舉例而言,若是類型為字串且選項有值(例如表二的「電影名稱」),則可以直接使用選項的值作為比對依據,而不執行步驟313。若是類型為數字且已有屬性限制(例如表二的「人數」),則可以直接從屬性轉換為語法規則,不需執行步驟313。此處所述的判斷準則僅為示例性說明,並非用以限定本發明。
各個欄位的規則可能有一部分是會更新的內容,一部分則是固定的內容。參考表二的電影訂票範例,「電子郵件」以及「人數」欄位的條件為固定的,然而「電影名稱」及「日期」的條件則可能會每天更動。一種解決方式為,可對於每天更新的網頁500,重新執行一次如第3圖或第1圖的流程,以產生對應於更新網頁的對話式使用者介面。然而,此方式需要每天重新產生新的對話式使用者介面程式碼,對於企業可能有管理不便的問題,也不易對於產生的對話式使用者介面進一步客製化修改。
因此,在一實施例中,第2圖所示的產生對話式使用者介面的系統20還可包括資料更新模組,資料更新模組可由軟體單元或硬體單元實施,例如可由處理器實施。資料更新模組可以於排程時間(例如每天的固定時間、或每星期三、或是每個月的1日)重新擷取網頁,找出表單內哪些部分是會持續更新的,據以決定規則(包括類型、屬性、選項、語法規則)的更新部分,並將規則的更新部分儲存為資料檔案。如此一來,即使當網頁每天持續更新,本發明所提出之方法僅需更新此資料檔案,並讀取這個資料檔案,便可無需重新執行如第1圖或第3圖產生對話式使用者介面的流程。此資料檔案並無特定格式限制,亦無數量限制,例如可具有2個或多個資料檔案,分別對應不同的欄位。為了便於說明,在以下的例子中,將以任務資料檔作為此資料檔案的一種範例。
第4圖繪示依照本發明第一實施例的更新任務資料檔流程圖。輸入的資料為輸入表單頁面601,步驟602從原始網頁抽
取form與input,類似於第3圖的步驟311,此處不再重複贅述。步驟603可判斷此時要建立intent與slot或是要更新任務資料檔,若是要建立intent與slot,則執行步驟611定義intent與slot,產生資料輸出intent與slot 612,步驟611類似於第3圖的步驟312。而若是步驟603決定要更新任務資料檔,則執行步驟621由表單中擷取需要即時更新部分之內容(例如「電影名稱」的「選項」)。接著執行步驟622比對新擷取之內容與目前任務資料檔中的內容是否一致,若是不相同,則執行步驟623更新任務資料檔,將新擷取到網頁的內容寫入任務資料檔;若是相同,則可跳過步驟623。藉由如第4圖所示的方法,可以定義出表單的intent與slot,並且可以建立對應於網頁更新資料的任務資料檔。
第5圖繪示依照本發明第一實施例的對話式使用者介面操作邏輯流程圖。來源輸入資料為使用者輸入內容701,使用者輸入內容701可以是自然語言對話資料,例如「您好」、「我今天想看電影」、「我下午3點想去戲院Q看電影B」等等。步驟702讀取工作slot S1、S2、…、Sn,例如表二中的電子郵件、電影名稱、戲院名稱、日期、放映時間、人數。步驟703利用已建立的填充模型,填入多個欄位所需的資料,步驟703可稱為slot filling。在一實施例中,由於各個欄位有對應的規則,因此執行步驟703時,可以藉由比對各欄位的規則,找出目前使用者輸入的對話資料是要填到哪一個欄位。在一實施例中,步驟703可由模型建立模
組206讀入任務資料檔700,進行任務資料檔比對以進行各欄位的內容填充。關於步驟703的詳細敘述可參考第6圖。
接著於步驟704判斷是否所有的slot都已填滿,若尚未填滿(例如目前僅知道日期),則於步驟705找到未填的slot,假設為Si(例如為電影名稱),步驟706輸出訊息指引使用者輸入Si相關資訊,於輸出訊息中亦可包括欄位Si對應的選項(例如可輸出對話「請問您想看哪一部電影?(電影A/電影B/電影C)」)。接收使用者輸入內容707之後,再回到步驟703執行slot filling。在一實施例中,步驟705可以對於要填入的多個欄位排定優先權順序,從目前缺少的欄位中,選擇優先權最高的欄位,優先對使用者提問。
當步驟704判斷所有的slot都已填滿,則進入步驟711執行任務。以電影訂票網頁為例,步驟711可將收集到的電影訂票資訊,傳送至訂票網頁對應的網站,以完成訂票動作。步驟711執行任務可以有多種實作方式,例如可以傳送請求至網站、根據欄位的資料和網頁呼叫(或執行)網站的應用程式介面(application programming interface,API)、以使用表單傳送或呼叫服務(service)的方式送至後端伺服器、或是任何可將已填滿的欄位內容送至後端伺服器的傳輸手段。最後可輸出告知使用者任務已完成的訊息712,訊息712可以是文字訊息(例如「以下是您的訂票資訊……」),亦可以是將網站回傳的訊息擷取下來後(例如包括文字、圖片、超連結)傳送給使用者。
在一實施例中,於取得可填入欄位的資料之後,在步驟711執行任務之前,可以顯示一確認訊息至顯示裝置,例如將目前填入各欄位的資料以完整的語句呈現於手機螢幕或電腦螢幕,讓使用者確認即將要執行的任務是否正確,即確認填入各欄位的資料是否正確。若是不正確,則可重新執行步驟702~步驟706以重新填入欄位。而於確認訊息被確認正確後,可執行步驟711,如傳送請求至網站,或產生對應的API以傳送到網站。
在一實施例中,步驟703使用的填充模型,係用以分析輸入對話資料的文字以取得至少一字詞,並且比對從輸入對話資料所取得的一或多個字詞與各欄位的規則,以供填入欄位。相關流程圖可參考第6圖,其繪示依照本發明第一實施例根據填充模型填入欄位內容的流程圖。
步驟801接收使用者的自然語言輸入。步驟802可對使用者輸入的自然語言執行斷詞與詞性標註,步驟803執行內容正規化。舉例而言,當使用者輸入「我要訂今天電影票兩張」,步驟802可取得多個字詞「我」、「要」、「訂」、「今天」、「電影票」、「兩」、「張」,步驟803正規化可將「今天」轉為「2017-08-23」,將「兩」轉為「2」。
步驟804可以使用任務資料檔比對,計算最小編輯距離,抽取與選項內容相符字詞,以填入slot。在上述的例子中,可以根據選項比對出2017-08-23,而填入日期欄位。另外,使用者可能輸入「我想看電影xxx」,使用者輸入的電影名稱xxx可能
由於翻譯名稱、輸入錯誤、記錯等等原因,而無法匹配任何一個可能的選項。此時可藉由計算最小編輯距離,決定可能選項中與xxx最接近的一者,而填入電影名稱欄位。在沒有使用任務資料檔的實施例中,步驟804可以略過以任務資料檔進行欄位內容填充的步驟。
步驟805可以根據各欄位的規則以及從對話資料取得的字詞,進行語法規則比對、類型比對、屬性比對、選項比對,以填入slot。在上述的例子中,可以根據類型與屬性比對出使用者輸入的「2」應填入「人數」欄位。若是使用者有輸入電子郵件地址,步驟805亦可藉由語法規則比對而填入「電子郵件」欄位。將可填入的資料填入對應欄位之後,執行步驟806語意框架(semantic frame)輸出,接著便進入第5圖所示的步驟704。
上述的多個實施例為網頁內有一個表單的情形,而有些網頁可能包含多於兩個表單,例如旅行業者網頁可能有國內旅遊表單與國外旅遊表單,租屋網頁可能有房客找房表單以及房東出租表單。在一實施例中,如第2圖所示的網頁分析模組204可用以取得網頁內的第一表單以及第二表單,並且取得對應於第一表單的第一功能與多個第一欄位,以及取得對應於第二表單的第二功能與多個第二欄位,表單對應的功能例如可從表單名稱取得。模型建立模組206可根據多個第一欄位建立第一填充模型,以及根據多個第二欄位建立第二填充模型。建立填充模型的方法可參考第3圖。
模型建立模組206所產生的對話式使用者介面可用以決定使用者意圖,舉例而言,對話式使用者介面可於螢幕畫面顯示多個按鈕讓使用者選擇,或者可藉由包含多個選項的提問方式讓使用者回答。接著可根據取得的使用者意圖,決定使用哪一個對應的表單。例如當使用者意圖對應於第一功能時,模型建立模組206使用第一填充模型,根據輸入對話資料以取得可填入對應多個第一欄位的資料以供填入多個第一欄位;當使用者意圖對應於第二功能時,模型建立模組206使用第二填充模型,根據輸入對話資料以取得可填入對應多個第二欄位的資料以供填入多個第二欄位。
根據上述多個實施例的產生對話式使用者介面的方法與系統,可以從一個輸入的網頁,自動快速產生對話式使用者介面,能夠減少程式開發所需的人力以及時間成本。而藉由解析網頁可取得各個欄位的規則,因而能夠在讀取使用者輸入的對話資料時,使各個欄位有比對的依據,而能夠將資料填入適當的欄位。此外,更可以透過存取網頁的歷史資料訓練而建立各欄位的規則。本發明同時亦考慮到欄位規則可能會隨時間變化的情形,可藉由重新擷取網頁而將需要更新的部分儲存於資料檔案,如此能夠避免重複產生新的對話使用者介面,增加管理的便利性並提高使用彈性。而本發明亦能夠處理具有多個表單的網頁,可先判斷使用者意圖,據以決定使用的填充模型。
綜上所述,雖然本發明已以實施例揭露如上,然其並
非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
Claims (16)
- 一種產生對話式使用者介面的方法,經由一處理器執行下列步驟,該方法包括:該處理器擷取一網頁的內容;該處理器解析描述該網頁的一結構化語言,以取得該網頁內的一第一表單;該處理器根據該第一表單取得複數個第一欄位;該處理器根據該第一表單的該結構化語言取得對應於各該第一欄位的一規則,其中該規則至少包括以下其中之一:一類型、一屬性以及一選項;該處理器根據該複數個第一欄位以建立一第一填充模型;以及該處理器產生一對話式使用者介面,其中該處理器使用該第一填充模型以判斷該複數個第一欄位所需資料,並根據一輸入對話資料以取得可填入對應該複數個第一欄位的資料以供填入該複數個第一欄位。
- 如申請專利範圍第1項所述之產生對話式使用者介面的方法,其中該第一填充模型用以分析該輸入對話資料的文字以取得至少一字詞,並且比對該至少一字詞與各該第一欄位的該規則,以供填入該複數個第一欄位。
- 如申請專利範圍第1項所述之產生對話式使用者介面的方法,更包括:該處理器根據該網頁分析各第一欄位以判斷其對應於該類型、該屬性、以及該選項的至少其中之一,建立該規則。
- 如申請專利範圍第1項所述之產生對話式使用者介面的方法,更包括:該處理器藉由一歷史資料訓練以建立該規則,其中該歷史資料相關於存取該第一表單。
- 如申請專利範圍第1項所述之產生對話式使用者介面的方法,更包括:該處理器於一排程時間重新擷取該網頁,據以決定該規則的一更新部分;以及將該規則的該更新部分儲存為一資料檔案。
- 如申請專利範圍第5項所述之產生對話式使用者介面的方法,其中該處理器用以:讀取該資料檔案;根據該資料檔案更新各該第一欄位的該規則;以及分析該輸入對話資料的文字以取得至少一字詞,並且比對該至少一字詞與各該第一欄位的該規則,以供填入該複數個第一欄位。
- 如申請專利範圍第1項所述之產生對話式使用者介面的方法,更包括:該處理器取得對應於該第一表單的一第一功能;其中該處理器根據該輸入對話資料以決定一使用者意圖,當該使用者意圖對應於該第一功能時,該處理器使用該第一填充模型,根據該輸入對話資料以取得可填入對應該複數個第一欄位的資料以供填入該複數個第一欄位。
- 如申請專利範圍第1項所述之產生對話式使用者介面的方法,其中該處理器於取得可填入該複數個第一欄位的資料之後,於該對話式使用者介面顯示一確認訊息,並且於該確認訊息被確認正確後,根據該可填入對應該複數個第一欄位的資料和該網頁產生對應的API,以傳送到該網頁對應的一網站。
- 一種產生對話式使用者介面的系統,包括一處理器以執行以下各模組:一網頁擷取模組,用以擷取一網頁的內容;一網頁分析模組,用以解析描述該網頁的一結構化語言以取得該網頁內的一第一表單,並且根據該第一表單取得複數個第一欄位,並根據該第一表單的該結構化語言取得對應於各該第一欄位的一規則,其中該規則至少包括以下其中之一:一類型、一屬性以及一選項;以及一模型建立模組,用以根據該複數個第一欄位以建立一第一填充模型,並且產生一對話式使用者介面;其中該模型建立模組使用該第一填充模型以判斷該複數個第一欄位所需資料,並根據一輸入對話資料以取得可填入對應該複數個第一欄位的資料以供填入該複數個第一欄位。
- 如申請專利範圍第9項所述之產生對話式使用者介面的系統,其中該第一填充模型用以分析該輸入對話資料的文字以取得至少一字詞,並且比對該至少一字詞與各該第一欄位的該規則,以供填入該複數個第一欄位。
- 如申請專利範圍第9項所述之產生對話式使用者介面的系統,其中該網頁分析模組用以根據該網頁分析各第一欄位以判斷其對應於該類型、該屬性、以及該選項的至少其中之一,建立該規則。
- 如申請專利範圍第9項所述之產生對話式使用者介面的系統,更包括:一語法訓練模組,用以藉由一歷史資料訓練以建立該規則,其中該歷史資料相關於存取該第一表單。
- 如申請專利範圍第9項所述之產生對話式使用者介面的系統,更包括一資料更新模組,該資料更新模組用以:於一排程時間重新擷取該網頁,據以決定該規則的一更新部分;以及將該規則的該更新部分儲存為一資料檔案。
- 如申請專利範圍第13項所述之產生對話式使用者介面的系統,其中該模型建立模組用以:讀取該資料檔案;根據該資料檔案更新各該第一欄位的該規則;以及分析該輸入對話資料的文字以取得至少一字詞,並且比對該至少一字詞與各該第一欄位的該規則,以供填入該複數個第一欄位。
- 如申請專利範圍第9項所述之產生對話式使用者介面的系統,其中該網頁分析模組用以取得對應於該第一表單的一第一功能;其中該模型建立模組根據該輸入對話資料決定一使用者意圖,當該使用者意圖對應於該第一功能時,該模型建立模組使用該第一填充模型,根據該輸入對話資料以取得可填入對應該複數個第一欄位的資料以供填入該複數個第一欄位。
- 如申請專利範圍第9項所述之產生對話式使用者介面的系統,其中該模型建立模組於取得可填入該複數個第一欄位的資料之後,於該對話式使用者介面顯示一確認訊息,並且於該確認訊息被確認正確後,根據該可填入對應該複數個第一欄位的資料和該網頁產生對應的API,以傳送到該網頁對應的一網站。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106139454A TWI661349B (zh) | 2017-11-15 | 2017-11-15 | 產生對話式使用者介面的方法及系統 |
CN201711234857.XA CN109783065A (zh) | 2017-11-15 | 2017-11-30 | 产生对话式用户接口的方法及系统 |
US15/829,056 US20190147029A1 (en) | 2017-11-15 | 2017-12-01 | Method and system for generating conversational user interface |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106139454A TWI661349B (zh) | 2017-11-15 | 2017-11-15 | 產生對話式使用者介面的方法及系統 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI661349B true TWI661349B (zh) | 2019-06-01 |
TW201923548A TW201923548A (zh) | 2019-06-16 |
Family
ID=66433343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106139454A TWI661349B (zh) | 2017-11-15 | 2017-11-15 | 產生對話式使用者介面的方法及系統 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20190147029A1 (zh) |
CN (1) | CN109783065A (zh) |
TW (1) | TWI661349B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10824658B2 (en) * | 2018-08-02 | 2020-11-03 | International Business Machines Corporation | Implicit dialog approach for creating conversational access to web content |
US10915588B2 (en) | 2018-08-02 | 2021-02-09 | International Business Machines Corporation | Implicit dialog approach operating a conversational access interface to web content |
CN110569341B (zh) * | 2019-07-25 | 2023-04-07 | 深圳壹账通智能科技有限公司 | 配置聊天机器人的方法、装置、计算机设备和存储介质 |
US11361164B2 (en) * | 2020-02-13 | 2022-06-14 | Bank Of America Corporation | Natural language platform for automated message processing |
CN113449503A (zh) * | 2020-03-26 | 2021-09-28 | 腾讯科技(深圳)有限公司 | 会话式信息管理方法、装置、设备及其存储介质 |
TWI746214B (zh) * | 2020-10-19 | 2021-11-11 | 財團法人資訊工業策進會 | 機器閱讀理解方法、機器閱讀理解裝置及非暫態電腦可讀取媒體 |
US11816437B2 (en) * | 2020-12-15 | 2023-11-14 | International Business Machines Corporation | Automatical process application generation |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140365945A1 (en) * | 2013-06-09 | 2014-12-11 | Apple Inc. | Device, method, and graphical user interface for providing navigation and search functionalities |
TW201528104A (zh) * | 2007-01-07 | 2015-07-16 | Apple Inc | 用以與顯示內容中之使用者輸入元件互動之可攜式多功能裝置、方法及圖形使用者介面 |
TW201537435A (zh) * | 2013-12-18 | 2015-10-01 | Microsoft Technology Licensing Llc | 基於意圖的使用者經驗 |
TW201612728A (en) * | 2014-06-01 | 2016-04-01 | Apple Inc | Displaying options, assigning notification, ignoring messages, and simultaneous user interface displays in a messaging application |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10361944B2 (en) * | 2015-04-08 | 2019-07-23 | Oracle International Corporation | Automated test for uniform web service interfaces |
CN106681971A (zh) * | 2015-11-11 | 2017-05-17 | 阿里巴巴集团控股有限公司 | 一种表单数据处理方法及装置 |
CN106681973B (zh) * | 2016-12-20 | 2020-07-24 | 北京奇虎科技有限公司 | 一种测试中实现自动填充浏览器表单的方法和装置 |
CN107102859A (zh) * | 2017-04-20 | 2017-08-29 | 千寻位置网络有限公司 | 自动填充Web表单的方法 |
CN107145481B (zh) * | 2017-05-05 | 2020-06-09 | 恒生电子股份有限公司 | 电子设备、存储介质、网页表单填充方法及装置 |
-
2017
- 2017-11-15 TW TW106139454A patent/TWI661349B/zh active
- 2017-11-30 CN CN201711234857.XA patent/CN109783065A/zh active Pending
- 2017-12-01 US US15/829,056 patent/US20190147029A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201528104A (zh) * | 2007-01-07 | 2015-07-16 | Apple Inc | 用以與顯示內容中之使用者輸入元件互動之可攜式多功能裝置、方法及圖形使用者介面 |
US20140365945A1 (en) * | 2013-06-09 | 2014-12-11 | Apple Inc. | Device, method, and graphical user interface for providing navigation and search functionalities |
TW201537435A (zh) * | 2013-12-18 | 2015-10-01 | Microsoft Technology Licensing Llc | 基於意圖的使用者經驗 |
TW201612728A (en) * | 2014-06-01 | 2016-04-01 | Apple Inc | Displaying options, assigning notification, ignoring messages, and simultaneous user interface displays in a messaging application |
Also Published As
Publication number | Publication date |
---|---|
US20190147029A1 (en) | 2019-05-16 |
CN109783065A (zh) | 2019-05-21 |
TW201923548A (zh) | 2019-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI661349B (zh) | 產生對話式使用者介面的方法及系統 | |
US11157244B2 (en) | System and method for delivering interactive tutorial platform and related processes | |
US11394667B2 (en) | Chatbot skills systems and methods | |
US10217462B2 (en) | Automating natural language task/dialog authoring by leveraging existing content | |
US10824798B2 (en) | Data collection for a new conversational dialogue system | |
CA2875309C (en) | Defining and mapping application interface semantics | |
US8903711B2 (en) | System and methods for semiautomatic generation and tuning of natural language interaction applications | |
US20150317295A1 (en) | Automating Data Entry For Fields in Electronic Documents | |
US10769137B2 (en) | Integration query builder framework | |
US10891430B2 (en) | Semi-automated methods for translating structured document content to chat-based interaction | |
US9760552B2 (en) | Document renewal and translation | |
US10474745B1 (en) | Systems and methods for a knowledge-based form creation platform | |
US11900933B2 (en) | User-customizable and domain-specific responses for a virtual assistant for multi-dwelling units | |
EP4180995A1 (en) | Website plugin and framework for content management services | |
US10505873B2 (en) | Streamlining end-to-end flow of business-to-business integration processes | |
CN109891410B (zh) | 用于新的会话对话系统的数据收集 | |
US11663199B1 (en) | Application development based on stored data | |
CN114707961A (zh) | 基于审批流配置的待审批任务执行方法、装置、设备、介质和程序产品 | |
KR20190122462A (ko) | 계약 관리 서비스 제공 방법 및 장치 | |
Meyer et al. | Implementation of an Adaptive Case Management System Supporting the Incident Management Process in ABAP-Based SAP Systems | |
KR101540605B1 (ko) | 키오스크 빌더 시스템, 이를 포함하는 티오스크 시스템, 및 티오스크 서비스 제공 방법 |