TW202215286A - 以即時簡訊機器人實現機器人流程自動化及從影像抽取文字內容的機器人流程 - Google Patents
以即時簡訊機器人實現機器人流程自動化及從影像抽取文字內容的機器人流程 Download PDFInfo
- Publication number
- TW202215286A TW202215286A TW110105935A TW110105935A TW202215286A TW 202215286 A TW202215286 A TW 202215286A TW 110105935 A TW110105935 A TW 110105935A TW 110105935 A TW110105935 A TW 110105935A TW 202215286 A TW202215286 A TW 202215286A
- Authority
- TW
- Taiwan
- Prior art keywords
- text
- enterprise
- instant messaging
- convolutional
- convolution
- Prior art date
Links
Images
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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
Abstract
一個結合企業對話機器人的企業即時簡訊平台藉網際網路連接到一個或多個公用即時簡訊平台;一個機器人流程自動化管理器包含複數個企業工作流程模組,並可接收企業對話機器人的指令以執行各工作流程。透過即時簡訊,連接到企業即時簡訊平台的企業用戶和連接到公用即時簡訊平台的外部用戶可利用本系統啟動企業內部或面對客戶的工作流程,並在企業對話機器人的協助下實現工作流程自動化。機器人工作流程的實施例包括從數位影像中抽取文字內容,本發明並為此類流程提供了改良的卷積神經網路方法。
Description
本發明涉及機器人流程自動化、文字抽取、文字偵測、文字識別、電腦視覺、卷積神經網路、對話機器人、自然語言處理、對話式使用者介面、即時簡訊(簡訊應用程式)和人機對話。本揭露描述用於機器人流程自動化的即時簡訊機器人的系統和方法,以及從影像中抽取文字內容的機器人流程方法。
本發明欲解決與機器人流程自動化(robotic process automation, RPA)有關的三個問題:(1)結合了人工智能和對話式使用者介面的RPA,(2)透過即時簡訊和移動互聯網傳遞的機器人工作流程,以及(3)機器人從數位影像中抽取文字內容的方法。這些問題將在下面逐一描述。
機器人流程自動化是指用軟體解決方案完成的商業流程自動化;與提高生產和物流效率的實體機器人類似,軟體機器人可以提高商業流程的效率,因此RPA對企業實現數位化轉型至關重要。對於企業而言,使用RPA自動化的商業工作流程可包括其內部流程以及面對客戶的流程。傳統的RPA是由電腦軟體基於規則的演算法來執行,但為了讓RPA更有智慧且便於使用,現代RPA需要結合機器學習和深度學習演算法,甚至用對話機器人作為其對話式使用者介面。
越來越多商業流程透過互聯網、尤其是移動互聯網來進行。針對個別企業的特定商業流程所開發的手機應用程式成本既高,而企業外部的使用者對這種專用的應用程式又興趣缺缺,不願意下載及使用。因此,市場上對於不需下載特定應用程式而又能透過移動互聯網服務客戶的RPA,就有相當的需求。此外,即時簡訊已經取代了電話、電子郵件,成為我們日常生活中最普遍的通訊方式;公用的即時簡訊程式已是隨手可得,幾個普及率高的簡訊平台,如WhatsApp、Facebook Messenger和WeChat,都各自擁有超過十億個活躍用戶。利用公用即時簡訊程式的普及性,將其作為企業外部客戶的主要使用者介面,本發明藉即時簡訊機器人透過移動互聯網提供機器人流程,而且無需外部客戶下載任何特定的手機應用程式。
近年來,從線上傳遞的數位影像中即時抽取文字訊息的需求已大幅增加。例如,使用者在線上將支票存入銀行帳戶的流程:透過手機應用程式內的相機拍攝支票的照片,上傳支票影像以即時抽取文字內容,確認結果;整個流程只需在手機面板上幾個簡單的觸控動作就完成了。類似地,使用者可以透過應用程式上傳收據照片或其他損失證明的文件影本,來提出保險索賠。為了使上述流程自動化,從數位影像中即時抽取文字內容是必不可缺的步驟。
過去數十年來,文字內容的抽取已可透過傳統的光學文字辨識(OCR)技術達成;然而,儘管傳統的OCR對於在乾淨的背景上且文檔格式明確的影像具有良好的文字抽取效果,但是對於未定格式或複雜背景上的影像則效果不佳。近年來,卷積神經網路(Convolutional Neural Network, CNN)技術已被應用於文字內容的抽取,對於具有多元格式及背景的影像有較佳的泛用性;但是,基於CNN的文字內容抽取的實用方法仍需要進一步開發和改良。
本發明的目的是透過結合了機器人流程自動化的即時簡訊機器人來解決上述問題,其中一類機器人流程的實施例包含了從數位影像中抽取文字內容的新的CNN方法。
本發明揭露以即時簡訊機器人實現機器人流程自動化(RPA)的系統和方法,以及基於卷積神經網路(CNN)從數位影像中抽取文字內容的新方法。這種系統包括為企業(或機構)建置的對話機器人應用程式、軟體RPA管理器和即時簡訊平台。該RPA管理器包含複數個企業工作流程模組,並能接收企業對話機器人的指令以執行各工作流程。該企業即時簡訊平台還通過網際網路連接到一個或多個公用即時簡訊平台。
透過即時簡訊,該系統讓連接到企業即時簡訊平台的企業用戶和連接到公用即時簡訊平台的外部用戶能夠與企業對話機器人以一對一或群組模式進行溝通。更進一步,企業用戶和外部用戶可利用該系統啟動企業內部或面對客戶的工作流程,並透過企業對話機器人的協助來實現工作流程自動化。
此外,本發明RPA管理器中的機器人流程的實施例還包含從數位影像中抽取文字內容,並為此類流程提供了改良的卷積神經網路(CNN)方法。
圖1說明用於機器人流程自動化(robotic process automation, RPA)的企業即時簡訊機器人100的實施例。系統包括企業(或機構)專屬的對話機器人軟體102、即時簡訊平台104、RPA管理器軟體106。RPA管理器106包含複數個工作流程模組108-108n,每個模組可為企業提供一種自動化的工作流程。企業即時簡訊平台104還通過互聯網連接到公用即時簡訊平台110。系統讓連接到企業即時簡訊平台104的企業用戶112、連接到公用即時簡訊平台110的外部用戶114、企業對話機器人102三方能使用即時簡訊以一對一或群組模式進行溝通。
企業對話機器人102包含以模擬真人方式接收、處理、分析和回應人類訊息的軟體。它由三個主要部分組成:(1)自然語言處理及理解(NLP/NLU)模組,用於分析來自企業用戶112或外部用戶114傳入訊息的意圖;(2)對話管理(DM)模組,用於解釋NLP/NLU模組的輸出(意圖)及分析進行中的人機對話情境,包括先前的訊息或與該對話相關的其他資訊,並據以提供回應指令作為輸出;以及(3)自然語言生成(NLG)模組,用於從DM模組接收回應指令並產生對企業用戶112或外部用戶114的回應訊息。
企業即時簡訊平台104包括管理企業用戶112、外部用戶114、企業對話機器人102三方之間的即時簡訊交換的軟體。在圖1中,實線箭頭、點線箭頭、虛線箭頭分別表示企業用戶112與對話機器人102之間、外部用戶114與對話機器人102之間、以及企業用戶112與外部用戶114之間的訊息交換。交換的訊息可以包含文字、影像、視頻、超連結或其他數位內容。有關本發明的企業對話機器人102和企業即時簡訊平台104的更多細節,請參見2019年11月7日的美國專利申請號16/677,645。
RPA管理器106包含用於配置和執行內建工作流程108-108n的軟體。由第三方開發者提供的一個或多個RPA工作流程108tp也可選擇性地透過應用程式介面(application programming interface, API)連接到RPA管理器106並由其所控制。為啟動企業內部或面對客戶的某個機器人工作流程,企業用戶112或外部用戶114可以向企業對話機器人102傳送訊息表達這樣的意圖,而企業對話機器人102即會回應並指示RPA管理器106執行指定的工作流程。
某些工作流程是端對端的,即只需接收輸入就可以直接產生輸出;其他工作流程則是互動式的,即用戶112或114、對話機器人102、RPA管理器106需要在過程中進行來回互動才會產生輸出。在某些情況下,企業對話機器人102和RPA管理器106還需要連接到企業資料庫116,以便取得與進行中的即時簡訊對話或機器人工作流程相關的必要資訊。
由於對話機器人無法理解人類語言的細微差異,或者由於缺乏足夠的資訊,它回應用戶的查詢而提供錯誤的答案、或根本沒有答案的情況並不少見;這可能被認為是不良的用戶體驗,導致對企業的負面印象。本發明提供機制讓企業用戶112(例如,客戶服務人員)得以即時介入外部用戶114(例如,客戶)與企業對話機器人102之間進行中的簡訊對話;如此,外部用戶在與對話機器人對話中可能遇到的摩擦或挫折就能得到即時補救,這可以幫助企業提升機器人流程的用戶體驗。
本發明提供了包括日常辦公室流程的機器人工作流程,如企業內部的自動化會議安排。會議發起人,即企業用戶112,僅需向企業對話機器人102發出會議要求,包括會議主題、參與人、預期的時間及場地;在RPA管理器106的協助下,企業對話機器人102會先在幕後比對每個參與人、場地的時程表,然後向會議發起人提出最佳時間及場地建議,並取得確認;一旦確認,企業對話機器人102即向各參與人(也是企業用戶)發出會議邀請簡訊,還會在會議前發送提醒簡訊。
辦公室工作流程的另一個例子是自動化請假、准假流程。在這個例子中,一個企業用戶112經由企業對話機器人102向其上級主管(另一個企業用戶)提交請假申請;在RPA管理器106的協助下,企業對話機器人102會引導主管執行簽核,以確保企業的請假規定是被嚴格遵循的,也會適時發送提醒簡訊給主管,以確保簽核能及時完成。
本發明還提供了從數位影像中抽取文字內容的機器人工作流程。這種工作流程中最基本的是端對端的,其中用戶112或114將數位影像傳送給企業對話機器人102,後者將影像轉發給RPA管理器106進行文字內容抽取;其結果會再經過對話機器人102回傳給用戶112或114。
涉及文字內容抽取的互動式機器人工作流程,可以用以下機器人退貨授權(return merchandise authorization, RMA)的實施例來說明。 RMA對於企業的售後服務至關重要;儘管大多數RMA索賠是例行性和重複性的,但它們佔據了客戶服務人員的寶貴時間,因此市場上對機器人RMA的需求很強。
以下的機械人RMA流程代表了本發明的一個實施例:
(1)因某件損壞的商品,外部用戶114(客戶)透過公用即時簡訊平台110向企業對話機器人102發送訊息要求退貨授權RMA,並附有該商品標籤的照片;
(2)利用其NLP/NLU功能,企業對話機器人102得以瞭解該外部用戶的意圖;它將商品標籤影像轉傳給RPA管理器106,後者即執行文字內容抽取108,並將結果傳回企業對話機器人102;
(3)企業對話機器人102將商品標籤抽取的文字內容(如型號、序列碼)與企業資料庫116中的銷售記錄進行比對,以確認該商品是否在保固期內;
(4)根據商品保固狀態,企業對話機器人102向外部用戶114發送RMA授權碼或發送拒絕訊息;及
(5)過程中如果外部用戶114的回應訊息含有負面情緒,則對話機器人102立即將問題升級至企業用戶112(客戶服務人員),之後由企業用戶112接手與外部用戶114進行後續對話。
文字內容抽取方法(Textual-Content Extraction Methods)
本發明所提供的文字內容抽取方法,皆包含兩個主要步驟:(1)對輸入影像進行文字偵測(text detection),用以提取影像中文字行(text line)的位置和大小,以及(2)針對步驟(1)中所偵測到的個別文字行影像進行文字識別(text recognition),用以抽取其文字內容。圖2、圖3、圖4分別顯示兩種獨立的文字偵測方法和一種文字識別方法;這些方法皆由基於卷積神經網路(CNN)的深度學習模型衍生而來。為便於解釋本發明,以下先將基本CNN的概念和方法論、以及相關的深度學習模型,作一個說明。
基本卷積神經網路(Basic Convolutional Neural Network)
近年來,用於自動偵測、分類、識別數位影像中的物件的CNN已被廣泛地應用。圖5及圖6分別顯示兩個常用的CNN模型架構:VGG-16 (K. Simonyan, A. Zisserman, <用於大型影像識別的深層卷積網路> (Very deep convolutional networks for large-scale image recognition), arXiv:1409.1556(2014))和ResNet-18 (K. He, X. Zhang, S. Ren, J. Sun, <用於影像識別的深度殘差學習> (Deep residual learning for image recognition), arXiv:1512.03385(2015))。一個完整的CNN流水線包含用於抽取影像空間特徵的卷積骨幹, 接著是用於偵測、分類或識別影像中物件的解碼路徑。
通常,卷積骨幹包含以特定順序排列的複數個卷積(convolutional)運算、線性整流函數(Rectified-Linear-Unit, ReLU)運算及池化(pooling)運算。如圖5及圖6所示,輸入影像首先通過卷積骨幹,產生出一系列的特徵圖(feature map),每個特徵圖含有WxH個單元格(cell);這些特徵圖的空間解析度逐步降低(如圖中所示遞減的單元格數目),表示它們分別抽取了原影像中愈來愈大的局部特徵。每個卷積層(分別表示為Conv1至Conv5)中特徵圖的解析度取決於輸入影像的解析度;圖5、圖6假設輸入解析度為512×512像素。在卷積骨幹內,每個卷積運算包含以複數個空間濾波器(稱為卷積核)掃描輸入影像或個別特徵圖的程序,而卷積核的數目(稱為通道數)提供了該特徵圖的深度。每個池化運算也是透過空間濾波器(池化濾波器)掃描來執行,運算輸出值可採用池化濾波器所涵蓋的特徵單元值(feature-cell values)中的最大值(最大值池)或平均值(均值池)。ReLU運算通常跟在每個卷積運算之後,作用是將所有負數的特徵單元值設為零、正數的特徵單元值則維持不變。在圖5和圖6中,一個卷積或池化運算係以其濾波器大小、通道數、步幅(每個掃描步的大小)標示,例如:「3x3 conv, 256, /2」代表「3x3卷積核,256個通道,步幅為2單元格」。為簡單起見,以下說明中所有特徵圖邊緣均假設做了填充(padding),使得步幅為1的卷積和池化運算不會改變特徵圖的尺寸(WxH)、步幅為2的相同運算則將尺寸減半(W/2xH/2)。此外,圖5和圖6省略了ReLU運算而未顯示。VGG-16或ResNet-18的解碼路徑包含一個或多個完全連接的(fully-connected, fc)神經層,以及一次歸一化指數函數(Softmax)運算;Softmax是將輸出數值正規化的一種標準的激活函數(activation function)。
在CNN中,每個卷積運算或全連接層都含有可訓練的加權參數;實際被應用的CNN模型可能包含數千萬個可訓練的參數(例如,VGG-16含1.384億個參數,ResNet-18含1,150萬個參數)。因此,為了訓練一個完整的CNN模型,會需要很大量的(例如,數十萬至數百萬幀)、標註過的訓練影像。這對於僅能提出有限數量(例如,幾百至幾萬幀)訓練影像的大多數應用,是不切實際的。幸運的是,開源平台上已有針對某些領域且預先訓練好的一些CNN模型,應用開發者可以採用這些模型的全部或局部來作有效的運用;在適當的條件下,可能使用一組較小量的、相似領域的訓練影像集,就成功地訓練出CNN或其衍生模型作為新的應用。本發明的一些實施例就採用了預訓練過的VGG-16、ResNet-18或其各自變體(variants)的卷積骨幹,並加以衍生成為新的CNN方法。一般而言,與VGG變體相比,ResNet變體需要較少的可訓練參數且較容易訓練。
單發多框偵測器(Single Shot Multi-Box Detector, SSD)
SSD是用於從數位影像中偵測一般物件的CNN方法(W. Liu, D. Anguelov, D. Erhan, C. Szegedy, S. Reed, C. Y. Fu, A. C. Berg, <SSD:單發多框偵測器> (Single Shot Multi-Box Detector), arXiv:1510.22325(2016)),它兼具準確度和速度,是一種效率較高的物件偵測模型。SSD架構顯示於圖7,它除了採用VGG-16的Conv1至Conv5卷積骨幹,又附加了幾個卷積層,以產生逐步遞減的特徵圖尺寸(即較小的WxH)。
SSD的偵測層將Conv4特徵圖及Conv6之後的附加卷積特徵圖的所有特徵單元值作為其輸入(如圖7中的粗線箭頭所示),並於每個特徵單元格上配置不同高寬比的複數個偵測框(如圖8(b)、(c)所示)。通常,在較小的特徵圖中(具有較大的單元格),較可能偵測到較大的物件,反之亦然。此機制可一次性地(one-shot)偵測到不同尺寸物件的類別和位置。圖8顯示輸入影像中貓和狗的同時偵測:在圖8(b)中,藉由8×8特徵圖中兩個偵測框,偵測到較小尺寸的貓;在圖8(c)中,藉由4x4特徵圖中單個偵測框,偵測到較大尺寸的狗。
偵測層的輸出提供了每個偵測到的物件的類別分數、 物件外框的坐標及大小。物件外框不必與偵測到物件的偵測框重合;通常,兩者之間的坐標、高度、寬度都會有偏差。此外,同一物件可能被幾個偵測框偵測到,因而產生出幾個候選的物件外框。SSD的最後一個步驟是非極大值抑制(Non-Maximum Suppression)演算法,這是一種基於規則的演算法,目的是從幾個候選的物件外框中選出最佳的一個。
連結文字提議網路(Connectionist Text Proposal Network, CTPN)
文字偵測和一般物件偵測有兩個主要的不同點:第一, 一般物件通常具有明確的封閉性邊界,而文字是由離散的元素(例如,英文子母、漢字、標點符號、空格)所組成,因此文字的邊界較不明確;第二,文字偵測通常比一般物件偵測需要更高的準度,這是因為一條文字行若只被偵測到一部份,將會導致後續的文字識別產生嚴重錯誤。因此,用於偵測一般物件的方法(例如SSD)對於偵測文字的效果就不佳。
連結文字提議網路(CTPN)是專為文字偵測而設計的(Z. Tian, W. Huang, T. He, P. He, Y. Qiao, <用連結文字提議網路偵測自然影像中的文字> (Detecting text in natural image with Connectionist Text Proposal Network), arXiv:1609.03605 (2016))。CTPN架構顯示於圖9;與SSD類似,它用VGG-16的Conv1到Conv5層來作為卷積骨幹,但是二者間相似處僅此而已。如圖10所示,緊接卷積骨幹之後,CTPN使用一個小型偵測框(3x3窗口)在Conv5特徵圖的水平方向上逐格滑動、逐行掃描;從每行掃描過程中,CTPN產生出一序列精細的「文字切片提議」(text-slice proposals);每個文字切片提議的寬度是固定的,僅代表一條文字行的一小部分(例如,若輸入影像為512x512像素,則文字切片寬度僅為16像素)。此外,CTPN提供了一種垂直定錨(vertical anchor)機制,可同時預測每個文字切片提議的垂直位置、高度、文字/非文字分數。以下為CTPN從這些文字切片提議序列中進一步偵測文字行的方法。
如圖9所示,每個文字切片提議序列被饋送到一個具有雙向長短期記憶(long short-term memory, LSTM)的循環神經網路(recurrent neural network, RNN)架構,用LSTM編碼器來抽取文字序列的特徵;換句話說, 用循環神經網路用來解析每個文字切片提議是否為文字的一部份。最後CTPN再將其中文字/非文字分數超過閾值(例如0.7)的文字切片提議組合起來,成為單一或多條文字行;如果相鄰文字切片提議之間的水平距離小於50像素,且垂直重疊超過0.7,就將它們組合到同一條文字行中。
儘管CTPN在偵測文字方面是準確的,但是它的速度(例如,每秒7幀)遠不及SSD的速度(例如,每秒59幀)。因此,實用上還需要一種兼具準確性及速度的文字偵測方法。
本發明的文字偵測方法1:連結文字單發多切片偵測器(Connectionist Text Single Shot Multi-Slice Detector, CT-SSD)
本發明提供一種混合CTPN和SSD的文字偵測方法,稱為連結文字單發多切片偵測器。CT-SSD的目的是要同時達到CTPN的文字偵測準確度和SSD的速度。圖2顯示CT-SSD的架構200;與SSD、CTPN類似,CT-SSD使用了一個預訓練的CNN模型的卷積骨幹204(例如,ResNet-18或VGG-16的卷積骨幹),但是CT-SSD既不包含SSD的附加卷積層,也不包含CTPN龐大的LSTM編碼器網路。
CT-SSD採用SSD的多框偵測機制,但如同CTPN,它僅採樣單一個卷積層206(例如,ResNet-18的Conv4層)來偵測精細的文字切片。雖然圖5、圖6中每個CNN卷積層包含了數個具有相同解析度(WxH)和深度(通道數)的特徵圖,但CT-SSD的文字偵測僅需採樣卷積層206的最後一個特徵圖就足夠了。此外,CT-SSD配置於每個特徵單元格的偵測框都有固定的寬度和數個不同的高度(即複數個高寬比),如圖11所示,而CT-SSD的較佳實施例採用的高寬比範圍為[1,8];這些精細的偵測框稱為「文字切片偵測器」。文字切片偵測的空間解析度由文字切片偵測器的寬度決定,而此寬度又由採樣的特徵單元格的寬度決定。如圖11所示的實施例,若輸入影像202為512×512像素,作為採樣的ResNet-18的Conv4層特徵圖解析度就是32×32,而文字切片偵測解析度則是16像素;若要使用其他偵測解析度,只需對不同解析度的特徵圖進行採樣即可實現。
文字切片偵測層208的輸出提供了初步(preliminary)候選文字切片的坐標、高度、文字/非文字分數;它們再經過非極大值抑制演算法210的過濾,選擇出最可能(most likely)候選文字切片。圖12(a)顯示了一個使用CT-SSD文字切片偵測的例子,其中被偵測到的候選文字切片各以高、寬不等的切片框所標注。與CTPN中固定寬度的文字切片提議不同,CT-SSD的候選文字切片的寬度是可變的。有了候選文字切片,輸出層212就可使用與CTPN相似的文字組合規則將它們連結成文字行:若相鄰的候選文字切片之間的水平距離小於預設值(例如50個像素)並且它們的垂直重疊超過預設值(例如0.7),就將它們組合到同一條文字行中,如圖12(b)所示。經過實驗比較CT-SSD和CTPN的文字偵測效率,結果顯示前者不僅可達成更好的準確度,速度更為後者的10倍。
U網(U-Net)
語義影像分割(semantic image segmentation)是從數位影像中偵測物件的另一類方法;在這類方法中,影像的每個像素(pixel)都依偵測物件的類別進行分類。U網是專為語義影像分割而設計的CNN方法(O. Ronneberger, P. Fischer, T. Brox, <U網:用於生物醫學影像分割的卷積網路> (U-Net: Convolutional networks for biomedical image segmentation), arXiv:1505.04597(2015))。本發明提供一種基於U網語義分割的文字偵測方法。
如圖13所示,U網架構包括一個典型的卷積路徑(Conv1至Conv5),用於從輸入影像中抽取不同尺寸的特徵,以及與卷積路徑相對稱的轉置卷積路徑(transposed-convolutional path, T-Conv1至T-Conv4),用於實現精確的像素級(pixel-level)定位。轉置卷積運算(在圖13中標示為「up conv」)將特徵圖中一個單元格的特徵值,投射到較高解析度特徵圖中多個單元格的加權特徵值;因此,轉置卷積路徑中的特徵圖尺寸(WxH)是逐步增大的。此外,每個轉置卷積層的上採樣(up-sampled)特徵圖與卷積路徑中對應的同尺寸特徵圖用序連運算(concatenation)連接起來(如圖13中的粗線箭頭所示),目的是加強物件的內容和位置的同步偵測。輸出層(表示為「1x1 conv, C」,其中C是欲偵測物件的類別數)提供了輸入影像中每個像素的類別分數。
本發明的文字偵測方法2:分水嶺U網分割(Watershed U-Net Segmentation)
如前所述,由於文字沒有明確的邊界,文字行外框的偵測有時會有歧義(ambiguity),當相鄰文字行的間距較小時尤其如此;單獨使用像素分割法作為文字偵測可能無法解決這類問題。因此,本發明提供了一種文字偵測方法,將U網分割與分水嶺(Watershed)演算法結合在一起(後者常被用於分割相互接觸的物件),這種新方法稱為分水嶺U網分割。
圖3是分水嶺U網分割架構圖300,其中包含了完整的U網模型304-322。除了正常的文字分布圖324(即像素級文字分布)輸出通道外,另外增加了一個輔助輸出通道:侵蝕(eroded)文字分布圖326,如圖14(b)和圖14(c)所示。為了訓練U網模型以同時輸出文字分布圖和侵蝕文字分布圖,本發明對原訓練影像集進行擴充:將原影像中每個標註的文字行的邊緣都裁切掉15%而產生出新的訓練影像。經U網分割之後,再使用分水嶺演算法328對兩幀半完成的文字分布圖進行處理,產生輸出層330的最佳化文字分布圖。
在實際應用中,輸入影像的解析度可能有很大範圍;為了做到全自動文字偵測,本發明實施例在前述文字偵測步驟之前,先用重疊方塊法(overlapping-tiles)做影像預處理。如圖15的示例,輸入影像(陰影矩形)的解析度為1920x1080像素,每個方塊(虛線矩形)的解析度固定為512x512像素,相鄰方塊之間的重疊部分為32像素,位於邊緣的方塊視需要加上填充補空(padding)。對每個方塊中的影像,先用CT-SSD或分水嶺U網分割來偵測文字行,再將結果合併,得出各文字行相對於原輸入影像中的位置和大小。
本發明的文字識別方法:連結時間分類卷積神經網路(Connectionist Temporal Classification CNN, CTC-CNN)
本發明的兩種文字偵測方法提供了輸入影像中文字行外框的位置和尺寸(wxh);接著是文字識別過程,用於識別每條文字行的文字內容,這是一種序列到序列(sequence-to-sequence)流程,可以使用基於連結時間分類(CTC)損失函數的CNN方法來執行。(F. Borisyuk, A. Gordo, V. Sivakumar, <羅塞塔:用於影像中文字偵測和識別的大規模系統> (Rosetta: Large scale system for text detection and recognition in images), arXiv:1910.05085(2019))。
圖4顯示CTC-CNN的架構圖400,它包括一個預訓練過的CNN模型的卷積骨幹404(例如,ResNet-18的Conv1-Conv5卷積骨幹)。在模型的訓練及測試中,所有文字行影像402 (text-line images)的尺寸均被等比例調整為wx32(即影像高度固定為32像素,高寬比與原尺寸相同)。因此,卷積骨幹末端(Conv5)的特徵圖406的解析度為w/32x1;這是個含有w/32單元格的一維特徵序列(feature sequence),每個單元格代表了輸入文字行影像402中的一個位置。接在Conv5層之後,是連續兩個使用3x1卷積核的一維卷積運算408和410,其輸出端的特徵序列410含有C個通道,對應於要辨識的文字元素的總數量。在本發明的一個實施例中,C = 4,593,對應於52個英文本母、10個數字、40個標點符號,和4,491個漢字。 結合了CTC損失函數414的Softmax運算412,為序列中的每個單元格提供了所有文字元素的概率分布;將其中空白和重複的文字元素刪除後,即可得到輸入文字行影像402的文字內容416。
本發明揭露以即時簡訊機器人實現機器人流程自動化(RPA)的系統和方法,以及基於卷積神經網路(CNN)從數位影像中抽取文字內容的新方法。這種系統包括為企業建置的對話機器人、軟體RPA管理器和即時簡訊平台。 該RPA管理器包含複數個企業工作流程模組,並能接收企業對話機器人的指令以執行各工作流程。該企業即時簡訊平台還通過網際網路連接到一個或多個公用即時簡訊平台。
透過即時簡訊,該系統讓連接到企業即時簡訊平台的企業用戶和連接到公用即時簡訊平台的外部用戶能夠與企業對話機器人以一對一或群組模式進行溝通。更進一步,企業用戶和外部用戶可利用該系統啟動企業內部或面對客戶的工作流程,並透過企業對話機器人的協助來實現工作流程自動化。
此外,本發明RPA管理器中的機器人流程的實施例還包含從數位影像中抽取文字內容,並為此類流程提供了改良的卷積神經網路(CNN)方法。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100:企業即時簡訊機器人
102:企業對話機器人
104:企業即時簡訊平台
106:RPA管理器
108:文字抽取流程
108a~108n:企業工作流程
108tp:第三方RPA工作流程
110:公用即時簡訊平台
112:企業用戶
114:外部用戶
116:企業資料庫
200:CT-SSD架構
204:ResNet-18卷積骨幹
206:Conv4卷積層
208:文字切片偵測層
210:非極大值抑制演算法
212:輸出:文字行外框
300:分水嶺U網分割架構
304~322:U網分割模型
324:文字分布圖
326:侵蝕文字分布圖
328:分水嶺演算法
330:輸出:最佳化文字分布圖
400:CTC-CNN架構
402:輸入文字行影像
404:ResNet-18卷積骨幹
406:Conv5特徵圖
408、410:一維卷積運算
412:Softmax運算
414:CTC損失函數
416:輸出:文字行內容
圖1是實施例用於提供機器人流程自動化的即時簡訊機器人的方塊示意圖。
圖2是實施例用於數位影像的文字偵測的CT-SSD架構圖。
圖3是實施例用於數位影像的文字偵測的分水嶺U網分割架構圖。
圖4是實施例用於數位文字行影像的文字辨識的CTC-CNN架構圖;其中輸入端文字行影像的解析度及其卷積層特徵圖的解析度分別標注於括號中。
圖5是用於影像識別的VGG-16架構圖。
圖6是用於影像識別的ResNet-18架構圖;其中卷積骨幹包含了繞過特定卷積運算的快捷連接(實線箭頭代表恆等式連接;虛線箭頭代表投射式連接)。
圖7是用於數位影像的一般物件偵測的SSD架構圖。
圖8是SSD物件偵測機制的示意圖(來自W. Liu, D. Anguelov, D. Erhan, C. Szegedy, S. Reed, C. Y. Fu, A. C. Berg, <SSD:單發多框偵測器>, arXiv:1512.02325(2016))。(a)輸入影像,並顯示SSD偵測到貓和狗兩個物件的外框。(b)8x8卷積特徵圖;每個單元格都配置了不同高寬比的偵測框,其中兩個偵測到貓的偵測框用粗虛線表示。(c)4x4卷積特徵圖;每個單元格都配置了不同高寬比的偵測框,其中一個偵測到狗的偵測框用粗虛線表示。
圖9是用於數位影像的文字偵測的CTPN架構圖。
圖10是CTPN文字偵測機制的示意圖。在Conv5特徵圖的水平方向上逐格滑動的3x3偵測框先產生一序列的文字切片提議,以供後續處理。VGG-16的Conv5特徵圖的空間解析度(WxH)視輸入影像的解析度而定;若輸入影像為512x512像素,則W = 32,即每個特徵單元格的寬度相當於原影像中的16像素。
圖11是實施例對ResNet-18的Conv4特徵圖進行採樣的CT-SSD文字切片偵測器的示意圖。若輸入影像為512x512像素,則偵測器的寬度固定為16像素(即特徵單元格的寬度)。
圖12是使用本發明CT-SSD文字偵測的示例,顯示(a)偵測到的候選文字切片,以及(b)文字切片經過組合演算後產生的文字行。
圖13是用於數位影像語義分割的U網架構圖。
圖14是使用本發明分水嶺U網分割執行文字偵測的示例,顯示(a)輸入影像,(b)經U網分割之後的文字分布圖,以及(c)經U網分割之後的侵蝕文字分布圖。將圖14(b)和(c)的兩幀半完成的文字分佈圖再經過分水嶺演算法處理,即可產生輸出端的最佳化文字分布圖。
圖15是實施例在文字偵測之前,使用重疊方塊法作影像預處理的示例。在此示例中,輸入影像(陰影矩形)的解析度為1920x1080像素,每個方塊(虛線矩形)的解析度為512x512像素,相鄰方塊之間的重疊為32像素,位於邊緣的方塊視需要作補空填充。
100:企業即時簡訊機器人
102:企業對話機器人
104:企業即時簡訊平台
106:RPA管理器
108:文字抽取流程
108a~108n:企業工作流程
108tp:第三方RPA工作流程
110:公用即時簡訊平台
112:企業用戶
114:外部用戶
116:企業資料庫
Claims (9)
- 一種即時簡訊機器人系統,用於機器人流程自動化(robotic process automation, RPA),該即時簡訊機器人系統包含: 一對話機器人(chatbot),用於一企業,用於以模擬真人的方式接收、處理、分析及回應人類訊息; 一機器人流程管理器(RPA manager),用於該企業,該機器人流程管理器包含複數個工作流程模組,用以由該對話機器人接收指令,以執行複數個工作流程;及 一企業即時簡訊(instant messaging)平台,耦接於該對話機器人,並通過網際網路連接到至少一公用即時簡訊平台; 其中該企業即時簡訊平台用於管理該對話機器人、連接至該企業即時簡訊平台的企業用戶與連接至該至少一公用即時簡訊平台的外部用戶之間的即時簡訊交換。
- 如請求項1所述之即時簡訊機器人系統,其中該些工作流程之一工作流程係於該企業內安排會議。
- 如請求項1所述之即時簡訊機器人系統,其中該些工作流程之一工作流程係於該企業內執行請假及准假流程。
- 如請求項1所述之即時簡訊機器人系統,其中該些工作流程之一工作流程係從該企業即時簡訊平台及/或一公用即時簡訊平台傳遞之一數位影像中抽取文字內容。
- 如請求項4所述之即時簡訊機器人系統,其中該些工作流程之另一工作流程係根據所抽取的文字內容執行退貨授權(return merchandise authorization)。
- 如請求項4所述之即時簡訊機器人系統,其中該工作流程包含基於一卷積神經網路偵測(detect)影像中所有文字行(text lines)影像的位置及尺寸,及基於另一卷積神經網路辨識(recognize)每條文字行影像的文字內容。
- 如請求項6所述之即時簡訊機器人系統,其中基於該卷積神經網路辨識每條文字行影像的文字內容包含: 使用一卷積神經網路骨幹抽取該文字行影像的空間特徵;及 藉由一解碼路徑抽取該文字行影像的文字內容; 其中該卷積神經網路骨幹包含複數個卷積層的序列,該些卷積層的序列係由複數個卷積(convolutional)運算、複數個線性整流函數(Rectified-Linear-Unit, ReLU)運算及複數個池化(pooling)運算所組成,用於自所有文字行影像產出一系列多通道(channel)的特徵圖(feature map); 其中該些卷積層之一卷積層包含複數個特徵圖,該些特徵圖皆具相同的空間解析度及相同的通道數,而該卷積層之次一卷積層所含特徵圖則具與前一層特徵圖相同或較低的空間解析度及較多的通道數;及 其中該解碼路徑包含至少一一維卷積層、一歸一化指數函數(Softmax)運算、一連結時序分類損失函數(Connectionist Temporal Classification loss function),以抽取該文字行影像的文字內容。
- 一種自動偵測數位影像中文字行的方法,包含: 一卷積神經網路骨幹抽取該數位影像的空間特徵; 一文字切片(text slice)偵測層偵測該數位影像中複數個候選文字切片; 一基於非極大值仰制(Non-Maximum Suppression)演算法的過濾層自該些候選文字切片中選擇一組最佳候選文字切片;及 一文字建構層將該組最佳候選文字切片組合成一或多條文字行,基於以下規則:相鄰兩個候選文字切片的水平距離若小於一預設值、且垂直重疊大於另一預設值,則二者屬於同一條文字行; 其中該卷積神經網路骨幹由複數個卷積層有序組成,內含複數個卷積運算、線性整流函數運算、池化運算,用於自該數位影像產出一系列多通道的特徵圖; 其中每一卷積層包含複數個特徵圖,該些特徵圖皆具相同的空間解析度及相同的通道數,而該卷積層之次一卷積層所含特徵圖則具與前一層特徵圖相同或較低的空間解析度及較多的通道數;及 其中該文字切片偵測層採樣於該卷積骨幹中單一卷積層之單一特徵圖,並於該特徵圖的每一單元格(cell)配置一組複數個文字切片偵測器,該組文字切片偵測器的寬度皆等同該單元格寬度,而高度各不相同,高寬比例介於1與8之間。
- 一種自動偵測像素化數位影像中文字的方法,包含: 一卷積神經網路自該數位影像產出兩幀半完成的像素級(pixel-level)文字分布圖,該卷積神經網路包含一卷積路徑後接一轉置(transposed)卷積路徑;及 一調整層產出一最佳像素級文字分布圖; 其中該卷積路徑由複數個卷積層依序組成,內含複數個卷積運算、線性整流函數運算、池化運算,用於自該數位影像產出一系列多通道的特徵圖; 其中每一卷積層包含複數個特徵圖,該些特徵圖皆具相同的空間解析度及相同的通道數,而該卷積層之次一卷積層所含特徵圖則具與前一層特徵圖相同或較低的空間解析度及較多的通道數; 其中該轉置卷積路徑由複數個轉置卷積層有序組成,內含複數個轉置卷積運算、序連(concatenation)運算、卷積運算、線性整流函數運算,用於產生一系列多通道的、解析度逐步升高的特徵圖; 其中每一轉置卷積層包含具相同空間解析度的複數個特徵圖,其中第一個特徵圖係由以下兩步驟產生:一、將前一層最後一特徵圖進行轉置卷積運算以提高解析度;二、將該運算所產生的特徵圖與該卷積路徑中具相同解析度的特徵圖進行序連運算; 其中該卷積神經網路所產出的該兩幀半完成的文字分布圖,一為原始文字,另一為侵蝕文字(eroded text);及 其中該調整層係應用分水嶺演算法,自該兩幀半完成的文字分布圖產出文字行不重疊的最佳化文字分布圖。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/067,787 US11539643B2 (en) | 2019-11-07 | 2020-10-12 | Systems and methods of instant-messaging bot for robotic process automation and robotic textual-content extraction from images |
US17/067,787 | 2020-10-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202215286A true TW202215286A (zh) | 2022-04-16 |
Family
ID=81260408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110105935A TW202215286A (zh) | 2020-10-12 | 2021-02-20 | 以即時簡訊機器人實現機器人流程自動化及從影像抽取文字內容的機器人流程 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114419611A (zh) |
TW (1) | TW202215286A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115019029B (zh) * | 2022-08-08 | 2022-11-04 | 杭州实在智能科技有限公司 | 一种基于神经自动机的rpa元素智能定位方法 |
CN115941782B (zh) * | 2023-01-09 | 2023-06-13 | 杭州实在智能科技有限公司 | 基于rpa与聊天机器人的消息推送方法及系统 |
-
2021
- 2021-02-20 TW TW110105935A patent/TW202215286A/zh unknown
- 2021-02-24 CN CN202110214915.2A patent/CN114419611A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN114419611A (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11539643B2 (en) | Systems and methods of instant-messaging bot for robotic process automation and robotic textual-content extraction from images | |
CN108427920B (zh) | 一种基于深度学习的边海防目标检测方法 | |
Vaidya et al. | Handwritten character recognition using deep-learning | |
US10846522B2 (en) | Speaking classification using audio-visual data | |
CN111950453A (zh) | 一种基于选择性注意力机制的任意形状文本识别方法 | |
TW202215286A (zh) | 以即時簡訊機器人實現機器人流程自動化及從影像抽取文字內容的機器人流程 | |
CN113297956B (zh) | 一种基于视觉的手势识别方法及系统 | |
CN110349167A (zh) | 一种图像实例分割方法及装置 | |
CN112163447B (zh) | 基于Attention和SqueezeNet的多任务实时手势检测和识别方法 | |
CN109523558A (zh) | 一种人像分割方法及系统 | |
Intwala et al. | Indian sign language converter using convolutional neural networks | |
Tewari et al. | Real Time Sign Language Recognition Framework For Two Way Communication | |
CN111414889B (zh) | 基于文字识别的财务报表识别方法及装置 | |
CN110163256B (zh) | 基于联合概率矩阵的试卷图像自动核分方法 | |
CN111738264A (zh) | 一种机房设备显示面板数据的智能采集方法 | |
CN116912872A (zh) | 图纸识别方法、装置、设备及可读存储介质 | |
CN113343773B (zh) | 基于浅层卷积神经网络的人脸表情识别系统 | |
Chen et al. | Design and Implementation of Second-generation ID Card Number Identification Model based on TensorFlow | |
CN116547704A (zh) | 太阳能电池片的图像分类方法及装置 | |
CN113435542A (zh) | 一种基于深度学习的煤矸实时检测方法 | |
Sawant et al. | Word Transcription of MODI Script to Devanagari Using Deep Neural Network | |
Cabutaje et al. | Ano Raw: A Deep Learning Based Approach to Transliterating the Filipino Sign Language | |
Milyaev et al. | Improving the processing of machine vision images of robotic systems in the Arctic | |
Samuel Mathew et al. | A Deep Learning Approach for Real-Time Analysis of Attendees’ Engagement in Public Events | |
Hwang et al. | Deep U-NET based heating film defect inspection system |