TW201939278A - 針對rpc資訊的向量處理方法、裝置以及設備 - Google Patents
針對rpc資訊的向量處理方法、裝置以及設備 Download PDFInfo
- Publication number
- TW201939278A TW201939278A TW108100046A TW108100046A TW201939278A TW 201939278 A TW201939278 A TW 201939278A TW 108100046 A TW108100046 A TW 108100046A TW 108100046 A TW108100046 A TW 108100046A TW 201939278 A TW201939278 A TW 201939278A
- Authority
- TW
- Taiwan
- Prior art keywords
- rpc information
- information unit
- rpc
- feature vector
- context
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/211—Selection of the most significant subset of features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/048—Activation functions
-
- 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
- G06N3/088—Non-supervised learning, e.g. competitive learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本說明書實施例公開了針對RPC資訊的向量處理方法、裝置以及設備。方案包括:獲取由使用者的多個RPC資訊單元構成的RPC資訊序列,建立並初始化RPC資訊單元的特徵向量,根據RPC資訊序列和特徵向量,對特徵向量進行訓練,從而得到表達較為準確的特徵向量。
Description
本說明書涉及電腦軟體技術領域,尤其涉及針對遠端程序呼叫(Remote Procedure Call,RPC)向量處理方法、裝置以及設備。
RPC是一種通過網路從遠端電腦程式上請求服務,而不需要瞭解底層網路技術的協定。在商業應用中常常會記錄使用者的RPC資訊序列,用來做推薦,自動問答、風控等。RPC資訊序列由多個RPC資訊單元構成,每個RPC單元通常是一個特定的字串編碼,代表一定的特定含義,比如,某些RPC資訊單元可能會代表「查詢某理財產品的即時值」,「搜索某服裝品牌的新品毛衣」等。
在現有技術中,往往人工對不同的RPC單元歸類,以及進行業務角度的知識總結等,以用於實現相關功能。
基於現有技術,需要更為有效的RPC資訊特徵刻畫方案。
在現有技術中,往往人工對不同的RPC單元歸類,以及進行業務角度的知識總結等,以用於實現相關功能。
基於現有技術,需要更為有效的RPC資訊特徵刻畫方案。
本說明書實施例提供針對RPC資訊的向量處理方法、裝置以及設備,用以解決如下技術問題:需要更為有效的RPC資訊特徵刻畫方案。
為解決上述技術問題,本說明書實施例是這樣實現的:
本說明書實施例提供的一種針對RPC資訊的向量處理方法,包括:
獲取由使用者的多個RPC資訊單元構成的RPC資訊序列;
建立並初始化所述RPC資訊單元的特徵向量;
根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練。
本說明書實施例提供的一種針對RPC資訊的向量處理裝置,包括:
獲取模組,獲取由使用者的多個RPC資訊單元構成的RPC資訊序列;
構建模組,建立並初始化所述RPC資訊單元的特徵向量;
訓練模組,根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練。
本說明書實施例提供的另一種針對RPC資訊的向量處理方法,包括:
步驟1,收集使用者的RPC資訊序列,統計所述RPC資訊序列中出現過且出現次數少於設定次數的RPC資訊單元並建表保存;跳轉步驟2;
步驟2,建立並初始化所述表中各RPC資訊單元的特徵向量;跳轉步驟3;
步驟3,遍歷所述RPC資訊序列,分別對當前遍歷到的RPC資訊單元執行步驟4,若遍歷完成則結束,否則繼續遍歷;
步驟4,以為中心,向兩側分別滑動至多個RPC資訊單元建立視窗,從所述視窗中選擇的多個上下文RPC資訊單元,以及從所述RPC資訊序列中隨機選擇的個負樣例RPC資訊單元;跳轉步驟5;
步驟5,為的各上下文RPC資訊單元分別判定或者整體判定特徵向量,作為上下文向量,按照如下損失函數計算對應的損失表徵值:
其中,表示的特徵向量,表示所述上下文向量,表示的負樣例RPC資訊單元,⊙表示相似度運算,所述相似度運算為點積運算、或者夾角餘弦運算,表示的特徵向量,是指滿足概率分佈的情況下,運算式的期望值,是神經網路激勵函數,定義為;
根據計算出的計算對應的梯度,根據所述梯度,對及其上下文RPC資訊單元的特徵向量進行更新。
本說明書實施例提供的一種針對RPC資訊的向量處理設備,包括:
至少一個處理器;以及,
與所述至少一個處理器通信連接的記憶體;其中,
所述記憶體儲存有可被所述至少一個處理器執行的指令,所述指令被所述至少一個處理器執行,以使所述至少一個處理器能夠:
獲取由使用者的多個RPC資訊單元構成的RPC資訊序列;
建立並初始化所述RPC資訊單元的特徵向量;
根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練。
本說明書實施例採用的上述至少一個技術方案能夠達到以下有益效果:能夠構建並訓練RPC資訊單元的特徵向量,訓練後的特徵向量能夠更為有效地刻畫RPC資訊單元間的內在的語義特徵。
為解決上述技術問題,本說明書實施例是這樣實現的:
本說明書實施例提供的一種針對RPC資訊的向量處理方法,包括:
獲取由使用者的多個RPC資訊單元構成的RPC資訊序列;
建立並初始化所述RPC資訊單元的特徵向量;
根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練。
本說明書實施例提供的一種針對RPC資訊的向量處理裝置,包括:
獲取模組,獲取由使用者的多個RPC資訊單元構成的RPC資訊序列;
構建模組,建立並初始化所述RPC資訊單元的特徵向量;
訓練模組,根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練。
本說明書實施例提供的另一種針對RPC資訊的向量處理方法,包括:
步驟1,收集使用者的RPC資訊序列,統計所述RPC資訊序列中出現過且出現次數少於設定次數的RPC資訊單元並建表保存;跳轉步驟2;
步驟2,建立並初始化所述表中各RPC資訊單元的特徵向量;跳轉步驟3;
步驟3,遍歷所述RPC資訊序列,分別對當前遍歷到的RPC資訊單元執行步驟4,若遍歷完成則結束,否則繼續遍歷;
步驟4,以為中心,向兩側分別滑動至多個RPC資訊單元建立視窗,從所述視窗中選擇的多個上下文RPC資訊單元,以及從所述RPC資訊序列中隨機選擇的個負樣例RPC資訊單元;跳轉步驟5;
步驟5,為的各上下文RPC資訊單元分別判定或者整體判定特徵向量,作為上下文向量,按照如下損失函數計算對應的損失表徵值:
其中,表示的特徵向量,表示所述上下文向量,表示的負樣例RPC資訊單元,⊙表示相似度運算,所述相似度運算為點積運算、或者夾角餘弦運算,表示的特徵向量,是指滿足概率分佈的情況下,運算式的期望值,是神經網路激勵函數,定義為;
根據計算出的計算對應的梯度,根據所述梯度,對及其上下文RPC資訊單元的特徵向量進行更新。
本說明書實施例提供的一種針對RPC資訊的向量處理設備,包括:
至少一個處理器;以及,
與所述至少一個處理器通信連接的記憶體;其中,
所述記憶體儲存有可被所述至少一個處理器執行的指令,所述指令被所述至少一個處理器執行,以使所述至少一個處理器能夠:
獲取由使用者的多個RPC資訊單元構成的RPC資訊序列;
建立並初始化所述RPC資訊單元的特徵向量;
根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練。
本說明書實施例採用的上述至少一個技術方案能夠達到以下有益效果:能夠構建並訓練RPC資訊單元的特徵向量,訓練後的特徵向量能夠更為有效地刻畫RPC資訊單元間的內在的語義特徵。
本說明書實施例提供針對RPC資訊的向量處理方法、裝置以及設備。
為了使本技術領域的人員更好地理解本說明書中的技術方案,下面將結合本說明書實施例中的附圖,對本說明書實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基於本說明書實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都應當屬於本申請保護的範圍。
針對背景技術中的問題,本說明書提供了一種無監督的演算法,將不同的RPC資訊單元映射到同一個固定維度的向量空間中,得到特徵向量(也可以稱為:RPC資訊單元的向量表示、或者RPC向量表示)。基於這種演算法,反映使用者的業務行為的RPC資訊序列就可以進一步地向量化,直接用於意圖識別、商品推薦等任務中;另一方面,RPC向量表示還可以進一步降維得到平面視覺化圖,方便業務人員直接進行資料分析。
為了便於理解,以一個風控場景的例子說明。比如,有代表以下資訊的RPC資訊序列「…‘登錄’‘改密驗證資訊錯誤’‘改密驗證資訊錯誤’‘改密驗證資訊錯誤’‘改密驗證資訊錯誤’…」,此時,風控系統就應該察覺到使用者操作有異常,傳統的方法是人工總結RPC資訊序列的這種特定模式,但是,RPC資訊單元數量一直增多,而且不斷有新的模式產生,人工總結難以覆蓋全面。可以使用機器學習中的分類模型,即將相同的RPC資訊單元看成是一個特徵,但是,這種方案的缺點在於難以刻畫RPC資訊單元間的內在聯繫,只是表面上把不同的RPC資訊單元不同對待而已。本說明書提出的就是能夠將RPC資訊單元轉化成向量表示,進而刻畫RPC資訊單元間的內在的語義特性的方案。
圖1為本說明書的方案在一種實際應用場景下涉及的一種整體架構示意圖。該整體架構中,主要涉及四部分:使用者的RPC資訊序列、RPC資訊序列包含的多個RPC資訊單元、RPC資訊單元的特徵向量、向量訓練伺服器。通過向量訓練伺服器對RPC資訊單元的特徵向量進行訓練,可以獲得更為準確的特徵向量。在實際應用中,前三部分涉及的動作可以由相應的軟體和/或硬體功能模組執行。
下面主要基於圖1的示例性架構,對本說明書的方案詳細說明。
圖2為本說明書實施例提供的一種針對RPC資訊的向量處理方法的流程示意圖。從程式角度而言,該流程的執行主體可以是具有向量訓練功能的程式等;從設備角度而言,該流程的執行主體可以包括但不限於可搭載所述程式的以下至少一種設備:個人電腦、大中型電腦、電腦集群、手機、平板電腦、智慧可穿戴設備、車機等。
圖2中的流程可以包括以下步驟:
S202:獲取由使用者的多個RPC資訊單元構成的RPC資訊序列。
在本說明書實施例中,RPC資訊序列中的RPC資訊單元一般按照時序排列,反映使用者一段時間內依次的若干個業務行為。在上述風控場景的例子中,RPC資訊序列可以反映使用者登錄、進而連續幾次嘗試修改密碼(但是由於改密驗證資訊錯誤,改密失敗)的行為,‘登錄’、‘改密驗證資訊錯誤’等資訊可以分別由RPC資訊序列中的一個RPC資訊單元代表,RPC資訊單元本身的表現形式不限,可以是字串本身,也可以是該字串的編碼等。
S204:建立並初始化所述RPC資訊單元的特徵向量。
在本說明書實施例中,步驟S204中的RPC資訊單元指:RPC資訊序列中出現過的至少部分RPC資訊單元。為了便於後續處理,可以將這些RPC資訊單元記錄在表中,需要使用時根據表中讀取RPC資訊單元即可。
在本說明書實施例中,每個RPC資訊單元分別有自己的特徵向量,相同的RPC資訊單元的特徵向量相同。
在本說明書實施例中,在初始化特徵向量時,可能會有一些限制條件,比如,不將各特徵向量都初始化為相同的向量;又比如,某些特徵向量中的元素取值不全為0;等等。可以採用隨機初始化的方式或者按照指定概率分佈(如0-1分佈等)初始化的方式,初始化各RPC資訊單元的特徵向量。
另外,若之前已經基於其他訓練資料,訓練過某些RPC資訊單元的特徵向量,則在進一步地基於圖2中的RPC資訊序列訓練時,可以不再重新建立並初始化這些RPC資訊單元的特徵向量,而是基於之前的訓練結果,進一步地訓練即可。
S206:根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練。
在本說明書實施例中,可以根據RPC資訊序列中的上下文關係,通過無監督學習,對特徵向量進行訓練。
通過圖2的方法,能夠構建並訓練RPC資訊單元的特徵向量,訓練後的特徵向量能夠更為有效地刻畫RPC資訊單元間的內在的語義特徵。
基於圖2的方法,本說明書實施例還提供了該方法的一些具體實施方案,以及擴展方案,下面進行說明。
在本說明書實施例中,考慮到若某個RPC資訊單元在RPC資訊序列中出現的次數太少,則基於該RPC資訊序列訓練時對應的訓練樣本與訓練次數也較少,會給訓練結果的可信度帶來不利影響,因此,可以將這類RPC資訊單元篩除,暫不訓練。後續可以利用其他合適的訓練資料進行訓練。在實際應用中,RPC資訊序列本身也可以預先被篩除過這類RPC資訊單元。
基於上一段的分析,對於步驟S204,所述建立並初始化所述RPC資訊單元的特徵向量,具體可以包括:判定在所述RPC資訊序列中出現次數不少於設定次數的RPC資訊單元;建立並初始化判定的各RPC資訊單元的特徵向量,其中,相同RPC資訊單元的特徵向量也相同。設定次數不少於1次,具體是多少次可以根據實際需要設定。
在本說明書實施例中,對於步驟S206,具體的訓練方式可以有多種,比如基於上下文的訓練方式、基於近義或同義RPC資訊單元的訓練方式等,為了便於理解,以前一種方式為例進行詳細介紹。
所述根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練,具體可以包括:判定所述RPC資訊序列中的指定RPC資訊單元,以及所述指定RPC資訊單元在所述RPC資訊序列中的一個或多個上下文RPC資訊單元;為所述指定RPC資訊單元的各上下文RPC資訊單元分別判定或者整體判定特徵向量,作為上下文向量;根據所述指定RPC資訊單元的特徵向量,以及所述上下文向量,判定所述指定RPC資訊單元與其上下文RPC資訊單元的相似度;根據所述指定RPC資訊單元與其上下文RPC資訊單元的相似度,對所述指定RPC資訊單元的特徵向量進行更新。
其中,若有多個上下文RPC資訊單元:對於分別判定特徵向量的情況,則上下文向量相應地有多個,即為各上下文RPC資訊單元的特徵向量;而對於整體判定特徵向量的情況,則上下文向量可以只有一個,比如是根據各上下文RPC資訊單元分別的特徵向量,進行取平均值或者取最值等運算判定的。
本說明書對相似度的度量方式並不做限定。比如,可以基於向量的夾角餘弦運算度量相似度,可以基於向量的平方和運算度量相似度,等等。
所述指定RPC資訊單元可以有多個,指定RPC資訊單元可以重複而在RPC資訊序列中的位置不同,可以分別針對每個指定RPC資訊單元執行上一段中的處理動作。優選地,可以將RPC資訊序列中包含的RPC資訊單元(可以篩除一部分RPC資訊單元)分別作為一個指定RPC資訊單元。
在本說明書實施例中,步驟S206中的訓練可以使得:指定RPC資訊單元與其上下文RPC資訊單元的相似度相對變高(在這裡,相似度可以反映關聯度,RPC資訊單元與其上下文RPC資訊單元的關聯度相對較高,而且語義相同或相近的各RPC資訊單元分別的上下文RPC資訊單元的語義往往也是相同或相近的),而指定RPC資訊單元與其非上下文RPC資訊單元的相似度相對地變低,非上下文RPC資訊單元可以作為下述的負樣例RPC資訊單元,上下文RPC資訊單元相對地可以作為正樣例RPC資訊單元。
由此可見,在訓練過程中,可以判定一些負樣例RPC資訊單元作為對照,有利於提高訓練效果。可以在RPC資訊序列中隨機選擇一個或多個RPC資訊單元作為負樣例RPC資訊單元,也可以嚴格地選擇非上下文RPC資訊單元作為負樣例RPC資訊單元。以前一種方式為例,所述根據所述指定RPC資訊單元與其上下文RPC資訊單元的相似度,對所述指定RPC資訊單元的特徵向量進行更新,具體可以包括:從所述RPC資訊序列中選擇一個或多個RPC資訊單元,作為所述指定RPC資訊單元的負樣例RPC資訊單元;判定所述指定RPC資訊單元與其負樣例RPC資訊單元的相似度;根據指定的損失函數、所述指定RPC資訊單元與其上下文RPC資訊單元的相似度,以及所述指定RPC資訊單元與其負樣例RPC資訊單元的相似度,判定所述指定RPC資訊單元對應的損失表徵值;根據所述損失表徵值,對所述指定RPC資訊單元的特徵向量進行更新;另外,根據所述損失表徵值,還可以對所述指定RPC資訊單元的上下文RPC資訊單元和/或負樣例RPC資訊單元的特徵向量進行更新。
其中,所述損失表徵值用於衡量當前的向量值與訓練目標之間的誤差程度。所述損失函數的參數可以以上述的幾種相似度作為參數,具體的損失函數運算式本說明書並不做限定,後面會詳細舉例說明。
在本說明書實施例中,對特徵向量更新實際上對所述誤差程度的修正。當採用神經網路實現本說明書的方案時,這種修正可以基於反向傳播和梯度下降法實現。在這種情況下,所述梯度即為損失函數對應的梯度。
則所述根據所述損失表徵值,對所述指定RPC資訊單元的特徵向量進行更新,具體可以包括:根據所述損失表徵值,判定所述損失函數對應的梯度;根據所述梯度,對所述指定RPC資訊單元的特徵向量進行更新。
在本說明書實施例中,對特徵向量的訓練過程可以是基於RPC資訊序列中的至少部分RPC資訊單元反覆運算進行的,直至訓練收斂。
前面已經提到兩種訓練時判定上下文向量的方案:為各上下文RPC資訊單元分別判定或者整體判定特徵向量,作為上下文向量。分別基於這兩種方案,對訓練過程進一步地說明。
以基於RPC資訊序列中的全部RPC資訊單元進行訓練為例。若採用第一種判定上下文向量的方案,則對於步驟S206,所述根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練,具體可以包括:
對所述RPC資訊序列進行遍歷,分別對遍歷到的RPC資訊單元(即作為上述的指定RPC資訊單元)執行:
判定該RPC資訊單元在所述RPC資訊序列中的一個或多個上下文RPC資訊單元;
分別對所述上下文RPC資訊單元執行:
根據該RPC資訊單元的特徵向量,以及該上下文RPC資訊單元的特徵向量,判定該RPC資訊單元與該上下文RPC資訊單元的相似度;
根據該RPC資訊單元與該上下文RPC資訊單元的相似度,對該RPC資訊單元的特徵向量,以及該上下文RPC資訊單元的特徵向量進行更新。
以基於RPC資訊序列中的全部RPC資訊單元進行訓練為例。若採用第二種判定上下文向量的方案,則對於步驟S206,所述根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練,具體可以包括:
對所述RPC資訊序列進行遍歷,分別對所述RPC資訊序列中的RPC資訊單元執行:
判定該RPC資訊單元在所述RPC資訊序列中的一個或多個上下文RPC資訊單元;根據所述一個或多個上下文RPC資訊單元分別的特徵向量,通過求平均值運算或者求最值運算,判定上下文向量;根據該RPC資訊單元的特徵向量,以及所述上下文向量,判定該RPC資訊單元與其上下文RPC資訊單元的相似度;根據該RPC資訊單元與其上下文RPC資訊單元的相似度,對該RPC資訊單元及其上下文RPC資訊單元的特徵向量進行更新。
具體如何進行更新上面已經進行說明,不再贅述。
在本說明書實施例中,為了便於電腦處理,可以基於視窗實現上面的遍歷過程。
例如,判定RPC資訊單元在所述RPC資訊序列中的一個或多個上下文RPC資訊單元,具體可以包括:在所述RPC資訊序列中,通過以該RPC資訊單元為中心,向左和/或向右滑動指定數量個RPC資訊單元的距離,建立視窗;在所述視窗中判定一個或多個RPC資訊單元,作為上下文RPC資訊單元。
當然,也可以以RPC資訊序列的第一個RPC資訊單元為開始位置,建立一個設定長度的視窗,視窗中包含第一個RPC資訊單元以及之後連續的設定數量個RPC資訊單元;處理完視窗內的各RPC資訊單元後,將視窗向後滑動以處理RPC資訊序列中的下一批RPC資訊單元,直至遍歷完RPC資訊序列。
基於與圖2同樣的思路,本說明書實施例提供了另一種針對RPC資訊的向量處理方法。圖3為該另一種針對RPC資訊的向量處理方法的流程示意圖。
圖3中的流程可以包括以下步驟:
步驟1,收集使用者的RPC資訊序列,統計所述RPC資訊序列中出現過且出現次數少於設定次數的RPC資訊單元並建表保存;跳轉步驟2;
步驟2,建立並初始化所述表中各RPC資訊單元的特徵向量;跳轉步驟3;
步驟3,遍歷所述RPC資訊序列,分別對當前遍歷到的RPC資訊單元執行步驟4,若遍歷完成則結束,否則繼續遍歷;
步驟4,以為中心,向兩側分別滑動至多個RPC資訊單元建立視窗,從所述視窗中選擇的多個上下文RPC資訊單元,以及從所述RPC資訊序列中隨機選擇的個負樣例RPC資訊單元;跳轉步驟5;
步驟5,為的各上下文RPC資訊單元分別判定或者整體判定特徵向量,作為上下文向量,按照如下損失函數計算對應的損失表徵值:
其中,表示的特徵向量,表示所述上下文向量,表示的負樣例RPC資訊單元,⊙表示相似度運算,所述相似度運算為點積運算、或者夾角餘弦運算,表示的特徵向量,是指滿足概率分佈的情況下,運算式的期望值,是神經網路激勵函數,定義為;
根據計算出的計算對應的梯度,根據所述梯度,對及其上下文RPC資訊單元的特徵向量進行更新。
為了便於理解,本說明書實施例還提供了實際應用場景下,圖3的方法的兩種具體實施方案(分別對應上述的兩種判定上下文向量的方案)的流程示意圖。分別如圖4、圖5所示,一般地,圖4的方案準確性相對高,圖5的方案處理速度較快,區別主要在於步驟4,可以根據實際需求選擇採用哪種方案。
圖4中的流程主要包括以下步驟:
步驟1,收集使用者的RPC資訊序列,統計所有出現過的RPC資訊單元並建表保存,在表中篩除在RPC資訊序列中出現次數小於次(也即,上述的設定次數)的RPC資訊單元;跳轉步驟2;
步驟2,針對表中每個RPC資訊單元都建立一個維度為的特徵向量,隨機初始化建立的所有特徵向量;跳轉步驟3;
步驟3,從第一個RPC資訊單元開始逐一滑動,每次選擇一個RPC資訊單元作為「當前遍歷到的RPC資訊單元」,若遍歷過RPC資訊序列中所有RPC資訊單元,則結束;否則跳轉步驟4;
步驟4,以為中心,向兩側滑動個RPC資訊單元建立視窗,從視窗內的第一個RPC資訊單元到最後一個RPC資訊單元(可以除以外),每次選擇一個RPC資訊單元作為「上下文RPC資訊單元」,若遍歷過視窗內的所有RPC資訊單元,則跳轉步驟3;否則,跳轉步驟5;
步驟5,對於,隨機抽取個詞作為負樣例RPC資訊單元,並且按照如下公式計算損失得分,損失得分即可以作為上述的損失表徵值:
根據損失得分計算梯度,根據梯度更新和。
圖5中的流程主要包括以下步驟:
步驟1,收集使用者的RPC資訊序列,統計所有出現過的RPC資訊單元並建表保存,在表中篩除在RPC資訊序列中出現次數小於次(也即,上述的設定次數)的RPC資訊單元;跳轉步驟2;
步驟2,針對表中每個RPC資訊單元都建立一個維度為的特徵向量,隨機初始化建立的所有特徵向量;跳轉步驟3;
步驟3,從第一個RPC資訊單元開始逐一滑動,每次選擇一個RPC資訊單元作為「當前遍歷到的RPC資訊單元」,若遍歷過RPC資訊序列中所有RPC資訊單元,則結束;否則跳轉步驟4;
步驟4,以為中心,向兩側滑動個RPC資訊單元建立視窗,從視窗內判定多個上下文RPC資訊單元,並根據這些上下文RPC資訊單元的特徵向量,按照以下兩個公式中的任一公式,整體地計算出一個上下文向量:
;
;
其中,表示第個上下文RPC資訊單元的特徵向量的第維的值,表示的第維的值;跳轉步驟5;
步驟5,對於,隨機抽取個詞作為負樣例RPC資訊單元,並且按照公式(1)公式計算損失得分,損失得分即可以作為上述的損失表徵值:
;
根據損失得分計算梯度,根據梯度更新,以及更新和/或上下文RPC資訊單元的特徵向量。
上面對本說明書實施例提供的針對RPC資訊的向量處理方法進行了說明,基於同樣的思路,本說明書實施例還提供了對應的裝置,如圖6所示。
圖6為本說明書實施例提供的對應於圖2的一種針對RPC資訊的向量處理裝置的結構示意圖,該裝置可以位於圖2中流程的執行主體,包括:
獲取模組601,獲取由使用者的多個RPC資訊單元構成的RPC資訊序列;
構建模組602,建立並初始化所述RPC資訊單元的特徵向量;
訓練模組603,根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練。
可選地,所述構建模組602建立並初始化所述RPC資訊單元的特徵向量,具體包括:
所述構建模組602判定在所述RPC資訊序列中出現次數不少於設定次數的RPC資訊單元;
建立並初始化判定的各RPC資訊單元的特徵向量,其中,相同RPC資訊單元的特徵向量也相同。
可選地,所述訓練模組603根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練,具體包括:
所述訓練模組603判定所述RPC資訊序列中的指定RPC資訊單元,以及所述指定RPC資訊單元在所述RPC資訊序列中的一個或多個上下文RPC資訊單元;
為所述指定RPC資訊單元的各上下文RPC資訊單元分別判定或者整體判定特徵向量,作為上下文向量;
根據所述指定RPC資訊單元的特徵向量,以及所述上下文向量,判定所述指定RPC資訊單元與其上下文RPC資訊單元的相似度;
根據所述指定RPC資訊單元與其上下文RPC資訊單元的相似度,對所述指定RPC資訊單元的特徵向量進行更新。
可選地,所述訓練模組603根據所述指定RPC資訊單元與其上下文RPC資訊單元的相似度,對所述指定RPC資訊單元的特徵向量進行更新,具體包括:
所述訓練模組603從所述RPC資訊序列中選擇一個或多個RPC資訊單元,作為所述指定RPC資訊單元的負樣例RPC資訊單元;
判定所述指定RPC資訊單元與其負樣例RPC資訊單元的相似度;
根據指定的損失函數、所述指定RPC資訊單元與其上下文RPC資訊單元的相似度,以及所述指定RPC資訊單元與其負樣例RPC資訊單元的相似度,判定所述指定RPC資訊單元對應的損失表徵值;
根據所述損失表徵值,對所述指定RPC資訊單元的特徵向量進行更新。
可選地,所述訓練模組603從所述RPC資訊序列中選擇一個或多個RPC資訊單元,作為所述指定RPC資訊單元的負樣例RPC資訊單元,具體包括:
所述訓練模組603從所述RPC資訊序列中隨機選擇一個或多個RPC資訊單元,作為所述指定RPC資訊單元的負樣例RPC資訊單元。
可選地,所述訓練模組603根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練,具體包括:
所述訓練模組603對所述RPC資訊序列進行遍歷,分別對遍歷到的RPC資訊單元執行:
判定該RPC資訊單元在所述RPC資訊序列中的一個或多個上下文RPC資訊單元;
分別對所述上下文RPC資訊單元執行:
根據該RPC資訊單元的特徵向量,以及該上下文RPC資訊單元的特徵向量,判定該RPC資訊單元與該上下文RPC資訊單元的相似度;
根據該RPC資訊單元與該上下文RPC資訊單元的相似度,對該RPC資訊單元的特徵向量,以及該上下文RPC資訊單元的特徵向量進行更新。
可選地,所述訓練模組603根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練,具體包括:
所述訓練模組603對所述RPC資訊序列進行遍歷,分別對所述RPC資訊序列中的RPC資訊單元執行:
判定該RPC資訊單元在所述RPC資訊序列中的一個或多個上下文RPC資訊單元;
根據所述一個或多個上下文RPC資訊單元分別的特徵向量,通過求平均值運算或者求最值運算,判定上下文向量;
根據該RPC資訊單元的特徵向量,以及所述上下文向量,判定該RPC資訊單元與其上下文RPC資訊單元的相似度;
根據該RPC資訊單元與其上下文RPC資訊單元的相似度,對該RPC資訊單元及其上下文RPC資訊單元的特徵向量進行更新。
可選地,所述訓練模組603判定RPC資訊單元在所述RPC資訊序列中的一個或多個上下文RPC資訊單元,具體包括:
所述訓練模組603在所述RPC資訊序列中,通過以該RPC資訊單元為中心,向左和/或向右滑動指定數量個RPC資訊單元的距離,建立視窗;
在所述視窗中判定一個或多個RPC資訊單元,作為上下文RPC資訊單元。
基於同樣的思路,本說明書實施例還提供了對應於圖2的一種針對RPC資訊的向量處理設備,包括:
至少一個處理器;以及,
與所述至少一個處理器通信連接的記憶體;其中,
所述記憶體儲存有可被所述至少一個處理器執行的指令,所述指令被所述至少一個處理器執行,以使所述至少一個處理器能夠:
獲取由使用者的多個RPC資訊單元構成的RPC資訊序列;
建立並初始化所述RPC資訊單元的特徵向量;
根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練。
基於同樣的思路,本說明書實施例還提供了對應於圖2的一種非揮發性電腦儲存媒體,儲存有電腦可執行指令,所述電腦可執行指令設置為:
獲取由使用者的多個RPC資訊單元構成的RPC資訊序列;
建立並初始化所述RPC資訊單元的特徵向量;
根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練。
上述對本說明書特定實施例進行了描述。其它實施例在所附申請專利範圍的範圍內。在一些情況下,在申請專利範圍中記載的動作或步驟可以按照不同於實施例中的順序來執行並且仍然可以實現期望的結果。另外,在附圖中描繪的過程不一定要求示出的特定順序或者連續順序才能實現期望的結果。在某些實施方式中,多工處理和並行處理也是可以的或者可能是有利的。
本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於裝置、電子設備、非揮發性電腦儲存媒體實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
本說明書實施例提供的裝置、電子設備、非揮發性電腦儲存媒體與方法是對應的,因此,裝置、電子設備、非揮發性電腦儲存媒體也具有與對應方法類似的有益技術效果,由於上面已經對方法的有益技術效果進行了詳細說明,因此,這裡不再贅述對應裝置、電子設備、非揮發性電腦儲存媒體的有益技術效果。
在20世紀90年代,對於一個技術的改進可以很明顯地區分是硬體上的改進(例如,對二極體、電晶體、開關等電路結構的改進)還是軟體上的改進(對於方法流程的改進)。然而,隨著技術的發展,當今的很多方法流程的改進已經可以視為硬體電路結構的直接改進。設計人員幾乎都通過將改進的方法流程程式設計到硬體電路中來得到相應的硬體電路結構。因此,不能說一個方法流程的改進就不能用硬體實體模組來實現。例如,可程式設計邏輯裝置(Programmable Logic Device, PLD)(例如現場可程式設計閘陣列(Field Programmable Gate Array,FPGA))就是這樣一種積體電路,其邏輯功能由使用者對裝置程式設計來判定。由設計人員自行程式設計來把一個數位系統「集成」在一片PLD上,而不需要請晶片製造廠商來設計和製作專用的積體電路晶片。而且,如今,取代手工地製作積體電路晶片,這種程式設計也多半改用「邏輯編譯器(logic compiler)」軟體來實現,它與程式開發撰寫時所用的軟體編譯器相類似,而要編譯之前的原始代碼也得用特定的程式設計語言來撰寫,此稱之為硬體描述語言(Hardware Description Language,HDL),而HDL也並非僅有一種,而是有許多種,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)與Verilog。本領域技術人員也應該清楚,只需要將方法流程用上述幾種硬體描述語言稍作邏輯程式設計並程式設計到積體電路中,就可以很容易得到實現該邏輯方法流程的硬體電路。
控制器可以按任何適當的方式實現,例如,控制器可以採取例如微處理器或處理器以及儲存可由該(微)處理器執行的電腦可讀程式碼(例如軟體或韌體)的電腦可讀媒體、邏輯閘、開關、專用積體電路(Application Specific Integrated Circuit,ASIC)、可程式設計邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限於以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,記憶體控制器還可以被實現為記憶體的控制邏輯的一部分。本領域技術人員也知道,除了以純電腦可讀程式碼方式實現控制器以外,完全可以通過將方法步驟進行邏輯程式設計來使得控制器以邏輯閘、開關、專用積體電路、可程式設計邏輯控制器和嵌入微控制器等的形式來實現相同功能。因此這種控制器可以被認為是一種硬體組件,而對其內包括的用於實現各種功能的裝置也可以視為硬體組件內的結構。或者甚至,可以將用於實現各種功能的裝置視為既可以是實現方法的軟體模組又可以是硬體組件內的結構。
上述實施例闡明的系統、裝置、模組或單元,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦。具體的,電腦例如可以為個人電腦、膝上型電腦、蜂窩電話、相機電話、智慧型電話、個人數位助理、媒體播放機、導航設備、電子郵件設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任何設備的組合。
為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本說明書時可以把各單元的功能在同一個或多個軟體和/或硬體中實現。
本領域內的技術人員應明白,本說明書實施例可提供為方法、系統、或電腦程式產品。因此,本說明書實施例可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本說明書實施例可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
本說明書是參照根據本說明書實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方塊圖來描述的。應理解可由電腦程式指令實現流程圖和/或方塊圖中的每一流程和/或方塊、以及流程圖和/或方塊圖中的流程和/或方塊的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可程式設計資料處理設備的處理器以產生一個機器,使得通過電腦或其他可程式設計資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的裝置。
這些電腦程式指令也可儲存在能引導電腦或其他可程式設計資料處理設備以特定方式工作的電腦可讀記憶體中,使得儲存在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能。
這些電腦程式指令也可裝載到電腦或其他可程式設計資料處理設備上,使得在電腦或其他可程式設計設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可程式設計設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的步驟。
在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和記憶體。
記憶體可能包括電腦可讀媒體中的非永久性記憶體,隨機存取記憶體(RAM)和/或非揮發性記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。記憶體是電腦可讀媒體的示例。
電腦可讀媒體包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存媒體的例子包括,但不限於相變記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式設計唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁磁片儲存或其他磁性存放裝置或任何其他非傳輸媒體,可用於儲存可以被計算設備訪問的資訊。按照本文中的界定,電腦可讀媒體不包括暫存電腦可讀媒體(transitory media),如調製的資料信號和載波。
還需要說明的是,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句「包括一個……」限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
本領域技術人員應明白,本說明書實施例可提供為方法、系統或電腦程式產品。因此,本說明書可採用完全硬體實施例、完全軟體實施例或結合軟體和硬體方面的實施例的形式。而且,本說明書可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
本說明書可以在由電腦執行的電腦可執行指令的一般上下文中描述,例如程式模組。一般地,程式模組包括執行特定任務或實現特定抽象資料類型的常式、程式、物件、元件、資料結構等等。也可以在分散式運算環境中實踐本說明書,在這些分散式運算環境中,由通過通信網路而被連接的遠端處理設備來執行任務。在分散式運算環境中,程式模組可以位於包括存放裝置在內的本地和遠端電腦儲存媒體中。
本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於系統實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
以上所述僅為本說明書實施例而已,並不用於限制本申請。對於本領域技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本申請的申請專利範圍之內。
為了使本技術領域的人員更好地理解本說明書中的技術方案,下面將結合本說明書實施例中的附圖,對本說明書實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基於本說明書實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都應當屬於本申請保護的範圍。
針對背景技術中的問題,本說明書提供了一種無監督的演算法,將不同的RPC資訊單元映射到同一個固定維度的向量空間中,得到特徵向量(也可以稱為:RPC資訊單元的向量表示、或者RPC向量表示)。基於這種演算法,反映使用者的業務行為的RPC資訊序列就可以進一步地向量化,直接用於意圖識別、商品推薦等任務中;另一方面,RPC向量表示還可以進一步降維得到平面視覺化圖,方便業務人員直接進行資料分析。
為了便於理解,以一個風控場景的例子說明。比如,有代表以下資訊的RPC資訊序列「…‘登錄’‘改密驗證資訊錯誤’‘改密驗證資訊錯誤’‘改密驗證資訊錯誤’‘改密驗證資訊錯誤’…」,此時,風控系統就應該察覺到使用者操作有異常,傳統的方法是人工總結RPC資訊序列的這種特定模式,但是,RPC資訊單元數量一直增多,而且不斷有新的模式產生,人工總結難以覆蓋全面。可以使用機器學習中的分類模型,即將相同的RPC資訊單元看成是一個特徵,但是,這種方案的缺點在於難以刻畫RPC資訊單元間的內在聯繫,只是表面上把不同的RPC資訊單元不同對待而已。本說明書提出的就是能夠將RPC資訊單元轉化成向量表示,進而刻畫RPC資訊單元間的內在的語義特性的方案。
圖1為本說明書的方案在一種實際應用場景下涉及的一種整體架構示意圖。該整體架構中,主要涉及四部分:使用者的RPC資訊序列、RPC資訊序列包含的多個RPC資訊單元、RPC資訊單元的特徵向量、向量訓練伺服器。通過向量訓練伺服器對RPC資訊單元的特徵向量進行訓練,可以獲得更為準確的特徵向量。在實際應用中,前三部分涉及的動作可以由相應的軟體和/或硬體功能模組執行。
下面主要基於圖1的示例性架構,對本說明書的方案詳細說明。
圖2為本說明書實施例提供的一種針對RPC資訊的向量處理方法的流程示意圖。從程式角度而言,該流程的執行主體可以是具有向量訓練功能的程式等;從設備角度而言,該流程的執行主體可以包括但不限於可搭載所述程式的以下至少一種設備:個人電腦、大中型電腦、電腦集群、手機、平板電腦、智慧可穿戴設備、車機等。
圖2中的流程可以包括以下步驟:
S202:獲取由使用者的多個RPC資訊單元構成的RPC資訊序列。
在本說明書實施例中,RPC資訊序列中的RPC資訊單元一般按照時序排列,反映使用者一段時間內依次的若干個業務行為。在上述風控場景的例子中,RPC資訊序列可以反映使用者登錄、進而連續幾次嘗試修改密碼(但是由於改密驗證資訊錯誤,改密失敗)的行為,‘登錄’、‘改密驗證資訊錯誤’等資訊可以分別由RPC資訊序列中的一個RPC資訊單元代表,RPC資訊單元本身的表現形式不限,可以是字串本身,也可以是該字串的編碼等。
S204:建立並初始化所述RPC資訊單元的特徵向量。
在本說明書實施例中,步驟S204中的RPC資訊單元指:RPC資訊序列中出現過的至少部分RPC資訊單元。為了便於後續處理,可以將這些RPC資訊單元記錄在表中,需要使用時根據表中讀取RPC資訊單元即可。
在本說明書實施例中,每個RPC資訊單元分別有自己的特徵向量,相同的RPC資訊單元的特徵向量相同。
在本說明書實施例中,在初始化特徵向量時,可能會有一些限制條件,比如,不將各特徵向量都初始化為相同的向量;又比如,某些特徵向量中的元素取值不全為0;等等。可以採用隨機初始化的方式或者按照指定概率分佈(如0-1分佈等)初始化的方式,初始化各RPC資訊單元的特徵向量。
另外,若之前已經基於其他訓練資料,訓練過某些RPC資訊單元的特徵向量,則在進一步地基於圖2中的RPC資訊序列訓練時,可以不再重新建立並初始化這些RPC資訊單元的特徵向量,而是基於之前的訓練結果,進一步地訓練即可。
S206:根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練。
在本說明書實施例中,可以根據RPC資訊序列中的上下文關係,通過無監督學習,對特徵向量進行訓練。
通過圖2的方法,能夠構建並訓練RPC資訊單元的特徵向量,訓練後的特徵向量能夠更為有效地刻畫RPC資訊單元間的內在的語義特徵。
基於圖2的方法,本說明書實施例還提供了該方法的一些具體實施方案,以及擴展方案,下面進行說明。
在本說明書實施例中,考慮到若某個RPC資訊單元在RPC資訊序列中出現的次數太少,則基於該RPC資訊序列訓練時對應的訓練樣本與訓練次數也較少,會給訓練結果的可信度帶來不利影響,因此,可以將這類RPC資訊單元篩除,暫不訓練。後續可以利用其他合適的訓練資料進行訓練。在實際應用中,RPC資訊序列本身也可以預先被篩除過這類RPC資訊單元。
基於上一段的分析,對於步驟S204,所述建立並初始化所述RPC資訊單元的特徵向量,具體可以包括:判定在所述RPC資訊序列中出現次數不少於設定次數的RPC資訊單元;建立並初始化判定的各RPC資訊單元的特徵向量,其中,相同RPC資訊單元的特徵向量也相同。設定次數不少於1次,具體是多少次可以根據實際需要設定。
在本說明書實施例中,對於步驟S206,具體的訓練方式可以有多種,比如基於上下文的訓練方式、基於近義或同義RPC資訊單元的訓練方式等,為了便於理解,以前一種方式為例進行詳細介紹。
所述根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練,具體可以包括:判定所述RPC資訊序列中的指定RPC資訊單元,以及所述指定RPC資訊單元在所述RPC資訊序列中的一個或多個上下文RPC資訊單元;為所述指定RPC資訊單元的各上下文RPC資訊單元分別判定或者整體判定特徵向量,作為上下文向量;根據所述指定RPC資訊單元的特徵向量,以及所述上下文向量,判定所述指定RPC資訊單元與其上下文RPC資訊單元的相似度;根據所述指定RPC資訊單元與其上下文RPC資訊單元的相似度,對所述指定RPC資訊單元的特徵向量進行更新。
其中,若有多個上下文RPC資訊單元:對於分別判定特徵向量的情況,則上下文向量相應地有多個,即為各上下文RPC資訊單元的特徵向量;而對於整體判定特徵向量的情況,則上下文向量可以只有一個,比如是根據各上下文RPC資訊單元分別的特徵向量,進行取平均值或者取最值等運算判定的。
本說明書對相似度的度量方式並不做限定。比如,可以基於向量的夾角餘弦運算度量相似度,可以基於向量的平方和運算度量相似度,等等。
所述指定RPC資訊單元可以有多個,指定RPC資訊單元可以重複而在RPC資訊序列中的位置不同,可以分別針對每個指定RPC資訊單元執行上一段中的處理動作。優選地,可以將RPC資訊序列中包含的RPC資訊單元(可以篩除一部分RPC資訊單元)分別作為一個指定RPC資訊單元。
在本說明書實施例中,步驟S206中的訓練可以使得:指定RPC資訊單元與其上下文RPC資訊單元的相似度相對變高(在這裡,相似度可以反映關聯度,RPC資訊單元與其上下文RPC資訊單元的關聯度相對較高,而且語義相同或相近的各RPC資訊單元分別的上下文RPC資訊單元的語義往往也是相同或相近的),而指定RPC資訊單元與其非上下文RPC資訊單元的相似度相對地變低,非上下文RPC資訊單元可以作為下述的負樣例RPC資訊單元,上下文RPC資訊單元相對地可以作為正樣例RPC資訊單元。
由此可見,在訓練過程中,可以判定一些負樣例RPC資訊單元作為對照,有利於提高訓練效果。可以在RPC資訊序列中隨機選擇一個或多個RPC資訊單元作為負樣例RPC資訊單元,也可以嚴格地選擇非上下文RPC資訊單元作為負樣例RPC資訊單元。以前一種方式為例,所述根據所述指定RPC資訊單元與其上下文RPC資訊單元的相似度,對所述指定RPC資訊單元的特徵向量進行更新,具體可以包括:從所述RPC資訊序列中選擇一個或多個RPC資訊單元,作為所述指定RPC資訊單元的負樣例RPC資訊單元;判定所述指定RPC資訊單元與其負樣例RPC資訊單元的相似度;根據指定的損失函數、所述指定RPC資訊單元與其上下文RPC資訊單元的相似度,以及所述指定RPC資訊單元與其負樣例RPC資訊單元的相似度,判定所述指定RPC資訊單元對應的損失表徵值;根據所述損失表徵值,對所述指定RPC資訊單元的特徵向量進行更新;另外,根據所述損失表徵值,還可以對所述指定RPC資訊單元的上下文RPC資訊單元和/或負樣例RPC資訊單元的特徵向量進行更新。
其中,所述損失表徵值用於衡量當前的向量值與訓練目標之間的誤差程度。所述損失函數的參數可以以上述的幾種相似度作為參數,具體的損失函數運算式本說明書並不做限定,後面會詳細舉例說明。
在本說明書實施例中,對特徵向量更新實際上對所述誤差程度的修正。當採用神經網路實現本說明書的方案時,這種修正可以基於反向傳播和梯度下降法實現。在這種情況下,所述梯度即為損失函數對應的梯度。
則所述根據所述損失表徵值,對所述指定RPC資訊單元的特徵向量進行更新,具體可以包括:根據所述損失表徵值,判定所述損失函數對應的梯度;根據所述梯度,對所述指定RPC資訊單元的特徵向量進行更新。
在本說明書實施例中,對特徵向量的訓練過程可以是基於RPC資訊序列中的至少部分RPC資訊單元反覆運算進行的,直至訓練收斂。
前面已經提到兩種訓練時判定上下文向量的方案:為各上下文RPC資訊單元分別判定或者整體判定特徵向量,作為上下文向量。分別基於這兩種方案,對訓練過程進一步地說明。
以基於RPC資訊序列中的全部RPC資訊單元進行訓練為例。若採用第一種判定上下文向量的方案,則對於步驟S206,所述根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練,具體可以包括:
對所述RPC資訊序列進行遍歷,分別對遍歷到的RPC資訊單元(即作為上述的指定RPC資訊單元)執行:
判定該RPC資訊單元在所述RPC資訊序列中的一個或多個上下文RPC資訊單元;
分別對所述上下文RPC資訊單元執行:
根據該RPC資訊單元的特徵向量,以及該上下文RPC資訊單元的特徵向量,判定該RPC資訊單元與該上下文RPC資訊單元的相似度;
根據該RPC資訊單元與該上下文RPC資訊單元的相似度,對該RPC資訊單元的特徵向量,以及該上下文RPC資訊單元的特徵向量進行更新。
以基於RPC資訊序列中的全部RPC資訊單元進行訓練為例。若採用第二種判定上下文向量的方案,則對於步驟S206,所述根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練,具體可以包括:
對所述RPC資訊序列進行遍歷,分別對所述RPC資訊序列中的RPC資訊單元執行:
判定該RPC資訊單元在所述RPC資訊序列中的一個或多個上下文RPC資訊單元;根據所述一個或多個上下文RPC資訊單元分別的特徵向量,通過求平均值運算或者求最值運算,判定上下文向量;根據該RPC資訊單元的特徵向量,以及所述上下文向量,判定該RPC資訊單元與其上下文RPC資訊單元的相似度;根據該RPC資訊單元與其上下文RPC資訊單元的相似度,對該RPC資訊單元及其上下文RPC資訊單元的特徵向量進行更新。
具體如何進行更新上面已經進行說明,不再贅述。
在本說明書實施例中,為了便於電腦處理,可以基於視窗實現上面的遍歷過程。
例如,判定RPC資訊單元在所述RPC資訊序列中的一個或多個上下文RPC資訊單元,具體可以包括:在所述RPC資訊序列中,通過以該RPC資訊單元為中心,向左和/或向右滑動指定數量個RPC資訊單元的距離,建立視窗;在所述視窗中判定一個或多個RPC資訊單元,作為上下文RPC資訊單元。
當然,也可以以RPC資訊序列的第一個RPC資訊單元為開始位置,建立一個設定長度的視窗,視窗中包含第一個RPC資訊單元以及之後連續的設定數量個RPC資訊單元;處理完視窗內的各RPC資訊單元後,將視窗向後滑動以處理RPC資訊序列中的下一批RPC資訊單元,直至遍歷完RPC資訊序列。
基於與圖2同樣的思路,本說明書實施例提供了另一種針對RPC資訊的向量處理方法。圖3為該另一種針對RPC資訊的向量處理方法的流程示意圖。
圖3中的流程可以包括以下步驟:
步驟1,收集使用者的RPC資訊序列,統計所述RPC資訊序列中出現過且出現次數少於設定次數的RPC資訊單元並建表保存;跳轉步驟2;
步驟2,建立並初始化所述表中各RPC資訊單元的特徵向量;跳轉步驟3;
步驟3,遍歷所述RPC資訊序列,分別對當前遍歷到的RPC資訊單元執行步驟4,若遍歷完成則結束,否則繼續遍歷;
步驟4,以為中心,向兩側分別滑動至多個RPC資訊單元建立視窗,從所述視窗中選擇的多個上下文RPC資訊單元,以及從所述RPC資訊序列中隨機選擇的個負樣例RPC資訊單元;跳轉步驟5;
步驟5,為的各上下文RPC資訊單元分別判定或者整體判定特徵向量,作為上下文向量,按照如下損失函數計算對應的損失表徵值:
其中,表示的特徵向量,表示所述上下文向量,表示的負樣例RPC資訊單元,⊙表示相似度運算,所述相似度運算為點積運算、或者夾角餘弦運算,表示的特徵向量,是指滿足概率分佈的情況下,運算式的期望值,是神經網路激勵函數,定義為;
根據計算出的計算對應的梯度,根據所述梯度,對及其上下文RPC資訊單元的特徵向量進行更新。
為了便於理解,本說明書實施例還提供了實際應用場景下,圖3的方法的兩種具體實施方案(分別對應上述的兩種判定上下文向量的方案)的流程示意圖。分別如圖4、圖5所示,一般地,圖4的方案準確性相對高,圖5的方案處理速度較快,區別主要在於步驟4,可以根據實際需求選擇採用哪種方案。
圖4中的流程主要包括以下步驟:
步驟1,收集使用者的RPC資訊序列,統計所有出現過的RPC資訊單元並建表保存,在表中篩除在RPC資訊序列中出現次數小於次(也即,上述的設定次數)的RPC資訊單元;跳轉步驟2;
步驟2,針對表中每個RPC資訊單元都建立一個維度為的特徵向量,隨機初始化建立的所有特徵向量;跳轉步驟3;
步驟3,從第一個RPC資訊單元開始逐一滑動,每次選擇一個RPC資訊單元作為「當前遍歷到的RPC資訊單元」,若遍歷過RPC資訊序列中所有RPC資訊單元,則結束;否則跳轉步驟4;
步驟4,以為中心,向兩側滑動個RPC資訊單元建立視窗,從視窗內的第一個RPC資訊單元到最後一個RPC資訊單元(可以除以外),每次選擇一個RPC資訊單元作為「上下文RPC資訊單元」,若遍歷過視窗內的所有RPC資訊單元,則跳轉步驟3;否則,跳轉步驟5;
步驟5,對於,隨機抽取個詞作為負樣例RPC資訊單元,並且按照如下公式計算損失得分,損失得分即可以作為上述的損失表徵值:
根據損失得分計算梯度,根據梯度更新和。
圖5中的流程主要包括以下步驟:
步驟1,收集使用者的RPC資訊序列,統計所有出現過的RPC資訊單元並建表保存,在表中篩除在RPC資訊序列中出現次數小於次(也即,上述的設定次數)的RPC資訊單元;跳轉步驟2;
步驟2,針對表中每個RPC資訊單元都建立一個維度為的特徵向量,隨機初始化建立的所有特徵向量;跳轉步驟3;
步驟3,從第一個RPC資訊單元開始逐一滑動,每次選擇一個RPC資訊單元作為「當前遍歷到的RPC資訊單元」,若遍歷過RPC資訊序列中所有RPC資訊單元,則結束;否則跳轉步驟4;
步驟4,以為中心,向兩側滑動個RPC資訊單元建立視窗,從視窗內判定多個上下文RPC資訊單元,並根據這些上下文RPC資訊單元的特徵向量,按照以下兩個公式中的任一公式,整體地計算出一個上下文向量:
;
;
其中,表示第個上下文RPC資訊單元的特徵向量的第維的值,表示的第維的值;跳轉步驟5;
步驟5,對於,隨機抽取個詞作為負樣例RPC資訊單元,並且按照公式(1)公式計算損失得分,損失得分即可以作為上述的損失表徵值:
;
根據損失得分計算梯度,根據梯度更新,以及更新和/或上下文RPC資訊單元的特徵向量。
上面對本說明書實施例提供的針對RPC資訊的向量處理方法進行了說明,基於同樣的思路,本說明書實施例還提供了對應的裝置,如圖6所示。
圖6為本說明書實施例提供的對應於圖2的一種針對RPC資訊的向量處理裝置的結構示意圖,該裝置可以位於圖2中流程的執行主體,包括:
獲取模組601,獲取由使用者的多個RPC資訊單元構成的RPC資訊序列;
構建模組602,建立並初始化所述RPC資訊單元的特徵向量;
訓練模組603,根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練。
可選地,所述構建模組602建立並初始化所述RPC資訊單元的特徵向量,具體包括:
所述構建模組602判定在所述RPC資訊序列中出現次數不少於設定次數的RPC資訊單元;
建立並初始化判定的各RPC資訊單元的特徵向量,其中,相同RPC資訊單元的特徵向量也相同。
可選地,所述訓練模組603根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練,具體包括:
所述訓練模組603判定所述RPC資訊序列中的指定RPC資訊單元,以及所述指定RPC資訊單元在所述RPC資訊序列中的一個或多個上下文RPC資訊單元;
為所述指定RPC資訊單元的各上下文RPC資訊單元分別判定或者整體判定特徵向量,作為上下文向量;
根據所述指定RPC資訊單元的特徵向量,以及所述上下文向量,判定所述指定RPC資訊單元與其上下文RPC資訊單元的相似度;
根據所述指定RPC資訊單元與其上下文RPC資訊單元的相似度,對所述指定RPC資訊單元的特徵向量進行更新。
可選地,所述訓練模組603根據所述指定RPC資訊單元與其上下文RPC資訊單元的相似度,對所述指定RPC資訊單元的特徵向量進行更新,具體包括:
所述訓練模組603從所述RPC資訊序列中選擇一個或多個RPC資訊單元,作為所述指定RPC資訊單元的負樣例RPC資訊單元;
判定所述指定RPC資訊單元與其負樣例RPC資訊單元的相似度;
根據指定的損失函數、所述指定RPC資訊單元與其上下文RPC資訊單元的相似度,以及所述指定RPC資訊單元與其負樣例RPC資訊單元的相似度,判定所述指定RPC資訊單元對應的損失表徵值;
根據所述損失表徵值,對所述指定RPC資訊單元的特徵向量進行更新。
可選地,所述訓練模組603從所述RPC資訊序列中選擇一個或多個RPC資訊單元,作為所述指定RPC資訊單元的負樣例RPC資訊單元,具體包括:
所述訓練模組603從所述RPC資訊序列中隨機選擇一個或多個RPC資訊單元,作為所述指定RPC資訊單元的負樣例RPC資訊單元。
可選地,所述訓練模組603根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練,具體包括:
所述訓練模組603對所述RPC資訊序列進行遍歷,分別對遍歷到的RPC資訊單元執行:
判定該RPC資訊單元在所述RPC資訊序列中的一個或多個上下文RPC資訊單元;
分別對所述上下文RPC資訊單元執行:
根據該RPC資訊單元的特徵向量,以及該上下文RPC資訊單元的特徵向量,判定該RPC資訊單元與該上下文RPC資訊單元的相似度;
根據該RPC資訊單元與該上下文RPC資訊單元的相似度,對該RPC資訊單元的特徵向量,以及該上下文RPC資訊單元的特徵向量進行更新。
可選地,所述訓練模組603根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練,具體包括:
所述訓練模組603對所述RPC資訊序列進行遍歷,分別對所述RPC資訊序列中的RPC資訊單元執行:
判定該RPC資訊單元在所述RPC資訊序列中的一個或多個上下文RPC資訊單元;
根據所述一個或多個上下文RPC資訊單元分別的特徵向量,通過求平均值運算或者求最值運算,判定上下文向量;
根據該RPC資訊單元的特徵向量,以及所述上下文向量,判定該RPC資訊單元與其上下文RPC資訊單元的相似度;
根據該RPC資訊單元與其上下文RPC資訊單元的相似度,對該RPC資訊單元及其上下文RPC資訊單元的特徵向量進行更新。
可選地,所述訓練模組603判定RPC資訊單元在所述RPC資訊序列中的一個或多個上下文RPC資訊單元,具體包括:
所述訓練模組603在所述RPC資訊序列中,通過以該RPC資訊單元為中心,向左和/或向右滑動指定數量個RPC資訊單元的距離,建立視窗;
在所述視窗中判定一個或多個RPC資訊單元,作為上下文RPC資訊單元。
基於同樣的思路,本說明書實施例還提供了對應於圖2的一種針對RPC資訊的向量處理設備,包括:
至少一個處理器;以及,
與所述至少一個處理器通信連接的記憶體;其中,
所述記憶體儲存有可被所述至少一個處理器執行的指令,所述指令被所述至少一個處理器執行,以使所述至少一個處理器能夠:
獲取由使用者的多個RPC資訊單元構成的RPC資訊序列;
建立並初始化所述RPC資訊單元的特徵向量;
根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練。
基於同樣的思路,本說明書實施例還提供了對應於圖2的一種非揮發性電腦儲存媒體,儲存有電腦可執行指令,所述電腦可執行指令設置為:
獲取由使用者的多個RPC資訊單元構成的RPC資訊序列;
建立並初始化所述RPC資訊單元的特徵向量;
根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練。
上述對本說明書特定實施例進行了描述。其它實施例在所附申請專利範圍的範圍內。在一些情況下,在申請專利範圍中記載的動作或步驟可以按照不同於實施例中的順序來執行並且仍然可以實現期望的結果。另外,在附圖中描繪的過程不一定要求示出的特定順序或者連續順序才能實現期望的結果。在某些實施方式中,多工處理和並行處理也是可以的或者可能是有利的。
本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於裝置、電子設備、非揮發性電腦儲存媒體實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
本說明書實施例提供的裝置、電子設備、非揮發性電腦儲存媒體與方法是對應的,因此,裝置、電子設備、非揮發性電腦儲存媒體也具有與對應方法類似的有益技術效果,由於上面已經對方法的有益技術效果進行了詳細說明,因此,這裡不再贅述對應裝置、電子設備、非揮發性電腦儲存媒體的有益技術效果。
在20世紀90年代,對於一個技術的改進可以很明顯地區分是硬體上的改進(例如,對二極體、電晶體、開關等電路結構的改進)還是軟體上的改進(對於方法流程的改進)。然而,隨著技術的發展,當今的很多方法流程的改進已經可以視為硬體電路結構的直接改進。設計人員幾乎都通過將改進的方法流程程式設計到硬體電路中來得到相應的硬體電路結構。因此,不能說一個方法流程的改進就不能用硬體實體模組來實現。例如,可程式設計邏輯裝置(Programmable Logic Device, PLD)(例如現場可程式設計閘陣列(Field Programmable Gate Array,FPGA))就是這樣一種積體電路,其邏輯功能由使用者對裝置程式設計來判定。由設計人員自行程式設計來把一個數位系統「集成」在一片PLD上,而不需要請晶片製造廠商來設計和製作專用的積體電路晶片。而且,如今,取代手工地製作積體電路晶片,這種程式設計也多半改用「邏輯編譯器(logic compiler)」軟體來實現,它與程式開發撰寫時所用的軟體編譯器相類似,而要編譯之前的原始代碼也得用特定的程式設計語言來撰寫,此稱之為硬體描述語言(Hardware Description Language,HDL),而HDL也並非僅有一種,而是有許多種,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)與Verilog。本領域技術人員也應該清楚,只需要將方法流程用上述幾種硬體描述語言稍作邏輯程式設計並程式設計到積體電路中,就可以很容易得到實現該邏輯方法流程的硬體電路。
控制器可以按任何適當的方式實現,例如,控制器可以採取例如微處理器或處理器以及儲存可由該(微)處理器執行的電腦可讀程式碼(例如軟體或韌體)的電腦可讀媒體、邏輯閘、開關、專用積體電路(Application Specific Integrated Circuit,ASIC)、可程式設計邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限於以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,記憶體控制器還可以被實現為記憶體的控制邏輯的一部分。本領域技術人員也知道,除了以純電腦可讀程式碼方式實現控制器以外,完全可以通過將方法步驟進行邏輯程式設計來使得控制器以邏輯閘、開關、專用積體電路、可程式設計邏輯控制器和嵌入微控制器等的形式來實現相同功能。因此這種控制器可以被認為是一種硬體組件,而對其內包括的用於實現各種功能的裝置也可以視為硬體組件內的結構。或者甚至,可以將用於實現各種功能的裝置視為既可以是實現方法的軟體模組又可以是硬體組件內的結構。
上述實施例闡明的系統、裝置、模組或單元,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦。具體的,電腦例如可以為個人電腦、膝上型電腦、蜂窩電話、相機電話、智慧型電話、個人數位助理、媒體播放機、導航設備、電子郵件設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任何設備的組合。
為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本說明書時可以把各單元的功能在同一個或多個軟體和/或硬體中實現。
本領域內的技術人員應明白,本說明書實施例可提供為方法、系統、或電腦程式產品。因此,本說明書實施例可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本說明書實施例可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
本說明書是參照根據本說明書實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方塊圖來描述的。應理解可由電腦程式指令實現流程圖和/或方塊圖中的每一流程和/或方塊、以及流程圖和/或方塊圖中的流程和/或方塊的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可程式設計資料處理設備的處理器以產生一個機器,使得通過電腦或其他可程式設計資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的裝置。
這些電腦程式指令也可儲存在能引導電腦或其他可程式設計資料處理設備以特定方式工作的電腦可讀記憶體中,使得儲存在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能。
這些電腦程式指令也可裝載到電腦或其他可程式設計資料處理設備上,使得在電腦或其他可程式設計設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可程式設計設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的步驟。
在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和記憶體。
記憶體可能包括電腦可讀媒體中的非永久性記憶體,隨機存取記憶體(RAM)和/或非揮發性記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。記憶體是電腦可讀媒體的示例。
電腦可讀媒體包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存媒體的例子包括,但不限於相變記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式設計唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁磁片儲存或其他磁性存放裝置或任何其他非傳輸媒體,可用於儲存可以被計算設備訪問的資訊。按照本文中的界定,電腦可讀媒體不包括暫存電腦可讀媒體(transitory media),如調製的資料信號和載波。
還需要說明的是,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句「包括一個……」限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
本領域技術人員應明白,本說明書實施例可提供為方法、系統或電腦程式產品。因此,本說明書可採用完全硬體實施例、完全軟體實施例或結合軟體和硬體方面的實施例的形式。而且,本說明書可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
本說明書可以在由電腦執行的電腦可執行指令的一般上下文中描述,例如程式模組。一般地,程式模組包括執行特定任務或實現特定抽象資料類型的常式、程式、物件、元件、資料結構等等。也可以在分散式運算環境中實踐本說明書,在這些分散式運算環境中,由通過通信網路而被連接的遠端處理設備來執行任務。在分散式運算環境中,程式模組可以位於包括存放裝置在內的本地和遠端電腦儲存媒體中。
本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於系統實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
以上所述僅為本說明書實施例而已,並不用於限制本申請。對於本領域技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本申請的申請專利範圍之內。
601‧‧‧獲取模組
602‧‧‧構建模組
603‧‧‧訓練模組
為了更清楚地說明本說明書實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本說明書中記載的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本說明書的方案在一種實際應用場景下涉及的一種整體架構示意圖;
圖2為本說明書實施例提供的一種針對RPC資訊的向量處理方法的流程示意圖;
圖3為本說明書實施例提供的另一種針對RPC資訊的向量處理方法的流程示意圖;
圖4為本說明書實施例提供的實際應用場景下,上述向量處理方法的一種具體實施方案的流程示意圖;
圖5為本說明書實施例提供的實際應用場景下,上述向量處理方法的另一種具體實施方案的流程示意圖;
圖6為本說明書實施例提供的對應於圖2的一種針對RPC資訊的向量處理裝置的結構示意圖。
Claims (18)
- 一種針對遠端程序呼叫RPC資訊的向量處理方法,包括: 獲取由使用者的多個RPC資訊單元構成的RPC資訊序列; 建立並初始化所述RPC資訊單元的特徵向量; 根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練。
- 如申請專利範圍第1項所述的方法,所述建立並初始化所述RPC資訊單元的特徵向量,具體包括: 判定在所述RPC資訊序列中出現次數不少於設定次數的RPC資訊單元; 建立並初始化判定的各RPC資訊單元的特徵向量,其中,相同RPC資訊單元的特徵向量也相同。
- 如申請專利範圍第1項所述的方法,所述根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練,具體包括: 判定所述RPC資訊序列中的指定RPC資訊單元,以及所述指定RPC資訊單元在所述RPC資訊序列中的一個或多個上下文RPC資訊單元; 為所述指定RPC資訊單元的各上下文RPC資訊單元分別判定或者整體判定特徵向量,作為上下文向量; 根據所述指定RPC資訊單元的特徵向量,以及所述上下文向量,判定所述指定RPC資訊單元與其上下文RPC資訊單元的相似度; 根據所述指定RPC資訊單元與其上下文RPC資訊單元的相似度,對所述指定RPC資訊單元的特徵向量進行更新。
- 如申請專利範圍第3項所述的方法,所述根據所述指定RPC資訊單元與其上下文RPC資訊單元的相似度,對所述指定RPC資訊單元的特徵向量進行更新,具體包括: 從所述RPC資訊序列中選擇一個或多個RPC資訊單元,作為所述指定RPC資訊單元的負樣例RPC資訊單元; 判定所述指定RPC資訊單元與其負樣例RPC資訊單元的相似度; 根據指定的損失函數、所述指定RPC資訊單元與其上下文RPC資訊單元的相似度,以及所述指定RPC資訊單元與其負樣例RPC資訊單元的相似度,判定所述指定RPC資訊單元對應的損失表徵值; 根據所述損失表徵值,對所述指定RPC資訊單元的特徵向量進行更新。
- 如申請專利範圍第4項所述的方法,所述從各所述RPC資訊單元中選擇一個或多個RPC資訊單元,作為所述指定RPC資訊單元的負樣例RPC資訊單元,具體包括: 從各所述RPC資訊單元中隨機選擇一個或多個RPC資訊單元,作為所述指定RPC資訊單元的負樣例RPC資訊單元。
- 如申請專利範圍第1項所述的方法,所述根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練,具體包括: 對所述RPC資訊序列進行遍歷,分別對遍歷到的RPC資訊單元執行: 判定該RPC資訊單元在所述RPC資訊序列中的一個或多個上下文RPC資訊單元; 分別對所述上下文RPC資訊單元執行: 根據該RPC資訊單元的特徵向量,以及該上下文RPC資訊單元的特徵向量,判定該RPC資訊單元與該上下文RPC資訊單元的相似度; 根據該RPC資訊單元與該上下文RPC資訊單元的相似度,對該RPC資訊單元的特徵向量,以及該上下文RPC資訊單元的特徵向量進行更新。
- 如申請專利範圍第1項所述的方法,所述根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練,具體包括: 對所述RPC資訊序列進行遍歷,分別對所述RPC資訊序列中的RPC資訊單元執行: 判定該RPC資訊單元在所述RPC資訊序列中的一個或多個上下文RPC資訊單元; 根據所述一個或多個上下文RPC資訊單元分別的特徵向量,通過求平均值運算或者求最值運算,判定上下文向量; 根據該RPC資訊單元的特徵向量,以及所述上下文向量,判定該RPC資訊單元與其上下文RPC資訊單元的相似度; 根據該RPC資訊單元與其上下文RPC資訊單元的相似度,對該RPC資訊單元及其上下文RPC資訊單元的特徵向量進行更新。
- 如申請專利範圍第3至7項中任一項所述的方法,判定RPC資訊單元在所述RPC資訊序列中的一個或多個上下文RPC資訊單元,具體包括: 在所述RPC資訊序列中,通過以該RPC資訊單元為中心,向左和/或向右滑動指定數量個RPC資訊單元的距離,建立視窗; 在所述視窗中判定一個或多個RPC資訊單元,作為上下文RPC資訊單元。
- 一種針對遠端程序呼叫RPC資訊的向量處理裝置,包括: 獲取模組,獲取由使用者的多個RPC資訊單元構成的RPC資訊序列; 構建模組,建立並初始化所述RPC資訊單元的特徵向量; 訓練模組,根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練。
- 如申請專利範圍第9項所述的裝置,所述構建模組建立並初始化所述RPC資訊單元的特徵向量,具體包括: 所述構建模組判定在所述RPC資訊序列中出現次數不少於設定次數的RPC資訊單元; 建立並初始化判定的各RPC資訊單元的特徵向量,其中,相同RPC資訊單元的特徵向量也相同。
- 如申請專利範圍第9項所述的裝置,所述訓練模組根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練,具體包括: 所述訓練模組判定所述RPC資訊序列中的指定RPC資訊單元,以及所述指定RPC資訊單元在所述RPC資訊序列中的一個或多個上下文RPC資訊單元; 為所述指定RPC資訊單元的各上下文RPC資訊單元分別判定或者整體判定特徵向量,作為上下文向量; 根據所述指定RPC資訊單元的特徵向量,以及所述上下文向量,判定所述指定RPC資訊單元與其上下文RPC資訊單元的相似度; 根據所述指定RPC資訊單元與其上下文RPC資訊單元的相似度,對所述指定RPC資訊單元的特徵向量進行更新。
- 如申請專利範圍第11項所述的裝置,所述訓練模組根據所述指定RPC資訊單元與其上下文RPC資訊單元的相似度,對所述指定RPC資訊單元的特徵向量進行更新,具體包括: 所述訓練模組從所述RPC資訊序列中選擇一個或多個RPC資訊單元,作為所述指定RPC資訊單元的負樣例RPC資訊單元; 判定所述指定RPC資訊單元與其負樣例RPC資訊單元的相似度; 根據指定的損失函數、所述指定RPC資訊單元與其上下文RPC資訊單元的相似度,以及所述指定RPC資訊單元與其負樣例RPC資訊單元的相似度,判定所述指定RPC資訊單元對應的損失表徵值; 根據所述損失表徵值,對所述指定RPC資訊單元的特徵向量進行更新。
- 如申請專利範圍第12項所述的裝置,所述訓練模組從所述RPC資訊序列中選擇一個或多個RPC資訊單元,作為所述指定RPC資訊單元的負樣例RPC資訊單元,具體包括: 所述訓練模組從所述RPC資訊序列中隨機選擇一個或多個RPC資訊單元,作為所述指定RPC資訊單元的負樣例RPC資訊單元。
- 如申請專利範圍第9項所述的裝置,所述訓練模組根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練,具體包括: 所述訓練模組對所述RPC資訊序列進行遍歷,分別對遍歷到的RPC資訊單元執行: 判定該RPC資訊單元在所述RPC資訊序列中的一個或多個上下文RPC資訊單元; 分別對所述上下文RPC資訊單元執行: 根據該RPC資訊單元的特徵向量,以及該上下文RPC資訊單元的特徵向量,判定該RPC資訊單元與該上下文RPC資訊單元的相似度; 根據該RPC資訊單元與該上下文RPC資訊單元的相似度,對該RPC資訊單元的特徵向量,以及該上下文RPC資訊單元的特徵向量進行更新。
- 如申請專利範圍第9項所述的裝置,所述訓練模組根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練,具體包括: 所述訓練模組對所述RPC資訊序列進行遍歷,分別對所述RPC資訊序列中的RPC資訊單元執行: 判定該RPC資訊單元在所述RPC資訊序列中的一個或多個上下文RPC資訊單元; 根據所述一個或多個上下文RPC資訊單元分別的特徵向量,通過求平均值運算或者求最值運算,判定上下文向量; 根據該RPC資訊單元的特徵向量,以及所述上下文向量,判定該RPC資訊單元與其上下文RPC資訊單元的相似度; 根據該RPC資訊單元與其上下文RPC資訊單元的相似度,對該RPC資訊單元及其上下文RPC資訊單元的特徵向量進行更新。
- 如申請專利範圍第11至15項中任一項所述的裝置,所述訓練模組判定RPC資訊單元在所述RPC資訊序列中的一個或多個上下文RPC資訊單元,具體包括: 所述訓練模組在所述RPC資訊序列中,通過以該RPC資訊單元為中心,向左和/或向右滑動指定數量個RPC資訊單元的距離,建立視窗; 在所述視窗中判定一個或多個RPC資訊單元,作為上下文RPC資訊單元。
- 一種針對遠端程序呼叫RPC資訊的向量處理方法,包括: 步驟1,收集使用者的RPC資訊序列,統計所述RPC資訊序列中出現過且出現次數少於設定次數的RPC資訊單元並建表保存;跳轉步驟2; 步驟2,建立並初始化所述表中各RPC資訊單元的特徵向量;跳轉步驟3; 步驟3,遍歷所述RPC資訊序列,分別對當前遍歷到的RPC資訊單元執行步驟4,若遍歷完成則結束,否則繼續遍歷; 步驟4,以為中心,向兩側分別滑動至多個RPC資訊單元建立視窗,從所述視窗中選擇的多個上下文RPC資訊單元,以及從所述RPC資訊序列中隨機選擇的個負樣例RPC資訊單元;跳轉步驟5; 步驟5,為的各上下文RPC資訊單元分別判定或者整體判定特徵向量,作為上下文向量,按照如下損失函數計算對應的損失表徵值: 其中,表示的特徵向量,表示所述上下文向量,表示的負樣例RPC資訊單元,⊙表示相似度運算,所述相似度運算為點積運算、或者夾角餘弦運算,表示的特徵向量,是指滿足概率分佈的情況下,運算式的期望值,是神經網路激勵函數,定義為; 根據計算出的計算對應的梯度,根據所述梯度,對及其上下文RPC資訊單元的特徵向量進行更新。
- 一種針對遠端程序呼叫RPC資訊的向量處理設備,包括: 至少一個處理器;以及, 與所述至少一個處理器通信連接的記憶體;其中, 所述記憶體儲存有可被所述至少一個處理器執行的指令,所述指令被所述至少一個處理器執行,以使所述至少一個處理器能夠: 獲取由使用者的多個RPC資訊單元構成的RPC資訊序列; 建立並初始化所述RPC資訊單元的特徵向量; 根據所述RPC資訊序列和所述特徵向量,對所述特徵向量進行訓練。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
??201810215719.5 | 2018-03-15 | ||
CN201810215719.5 | 2018-03-15 | ||
CN201810215719.5A CN108681490B (zh) | 2018-03-15 | 2018-03-15 | 针对rpc信息的向量处理方法、装置以及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201939278A true TW201939278A (zh) | 2019-10-01 |
TWI705378B TWI705378B (zh) | 2020-09-21 |
Family
ID=63800141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108100046A TWI705378B (zh) | 2018-03-15 | 2019-01-02 | 針對rpc資訊的向量處理方法、裝置以及設備 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210011788A1 (zh) |
CN (1) | CN108681490B (zh) |
TW (1) | TWI705378B (zh) |
WO (1) | WO2019174392A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108681490B (zh) * | 2018-03-15 | 2020-04-28 | 阿里巴巴集团控股有限公司 | 针对rpc信息的向量处理方法、装置以及设备 |
CN110990164B (zh) * | 2019-11-08 | 2022-05-24 | 支付宝(杭州)信息技术有限公司 | 账户检测方法和装置、账户检测模型的训练方法和装置 |
CN112862075A (zh) * | 2021-02-10 | 2021-05-28 | 中国工商银行股份有限公司 | 训练神经网络的方法、对象推荐方法及对象推荐装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3361663B2 (ja) * | 1994-10-03 | 2003-01-07 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 通信管理方法 |
US5682534A (en) * | 1995-09-12 | 1997-10-28 | International Business Machines Corporation | Transparent local RPC optimization |
DE60045552D1 (de) * | 1999-06-30 | 2011-03-03 | Apptitude Inc | Verfahren und gerät um den netzwerkverkehr zu überwachen |
US6925452B1 (en) * | 2000-05-22 | 2005-08-02 | International Business Machines Corporation | Method and system for recognizing end-user transactions |
US7146617B2 (en) * | 2001-09-29 | 2006-12-05 | Siebel Systems, Inc. | Method, apparatus, and system for implementing view caching in a framework to support web-based applications |
GB2403636A (en) * | 2003-07-02 | 2005-01-05 | Sony Uk Ltd | Information retrieval using an array of nodes |
CN102567306B (zh) * | 2011-11-07 | 2013-11-27 | 苏州大学 | 一种不同语言间词汇相似度的获取方法及系统 |
CN107103548A (zh) * | 2011-11-17 | 2017-08-29 | 阿里巴巴集团控股有限公司 | 网络行为数据的监控方法和系统以及风险监控方法和系统 |
CN107292412A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种问题预测方法及预测系统 |
EP3475890A1 (en) * | 2016-08-25 | 2019-05-01 | Google LLC | Reward augmented model training |
CN106357654B (zh) * | 2016-09-27 | 2020-02-07 | 青岛海信电器股份有限公司 | 远程过程调用方法、装置及通信系统 |
CN107025270A (zh) * | 2017-03-09 | 2017-08-08 | 珠海昊星自动化系统有限公司 | 一种分布式高性能高并发大数据系统 |
CN107665230B (zh) * | 2017-06-21 | 2021-06-01 | 海信集团有限公司 | 用于智能家居控制的用户行为预测模型的训练方法及装置 |
CN107451199B (zh) * | 2017-07-05 | 2020-06-26 | 阿里巴巴集团控股有限公司 | 问题推荐方法及装置、设备 |
CN108681490B (zh) * | 2018-03-15 | 2020-04-28 | 阿里巴巴集团控股有限公司 | 针对rpc信息的向量处理方法、装置以及设备 |
-
2018
- 2018-03-15 CN CN201810215719.5A patent/CN108681490B/zh active Active
-
2019
- 2019-01-02 TW TW108100046A patent/TWI705378B/zh active
- 2019-01-16 US US16/960,302 patent/US20210011788A1/en not_active Abandoned
- 2019-01-16 WO PCT/CN2019/071853 patent/WO2019174392A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2019174392A1 (zh) | 2019-09-19 |
CN108681490B (zh) | 2020-04-28 |
TWI705378B (zh) | 2020-09-21 |
US20210011788A1 (en) | 2021-01-14 |
CN108681490A (zh) | 2018-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI701588B (zh) | 詞向量處理方法、裝置以及設備 | |
TWI685761B (zh) | 詞向量處理方法及裝置 | |
WO2019192261A1 (zh) | 一种支付方式推荐方法、装置及设备 | |
CN107957989B9 (zh) | 基于集群的词向量处理方法、装置以及设备 | |
TWI689831B (zh) | 詞向量產生方法、裝置以及設備 | |
US10452702B2 (en) | Data clustering | |
CN109101620A (zh) | 相似度计算方法、聚类方法、装置、存储介质及电子设备 | |
CN109086961A (zh) | 一种信息风险监测方法及装置 | |
CN107644286A (zh) | 工作流处理方法及装置 | |
TW201939278A (zh) | 針對rpc資訊的向量處理方法、裝置以及設備 | |
CN108874765B (zh) | 词向量处理方法及装置 | |
TWI686713B (zh) | 詞向量產生方法、裝置以及設備 | |
TW201833851A (zh) | 風控事件自動處理方法及裝置 | |
CN107402945A (zh) | 词库生成方法及装置、短文本检测方法及装置 | |
US10846483B2 (en) | Method, device, and apparatus for word vector processing based on clusters | |
TW201918916A (zh) | 隨機游走、基於分散式系統的隨機游走方法、裝置以及設備 | |
CN116151363A (zh) | 分布式强化学习系统 | |
CN110245978A (zh) | 策略组中的策略评估、策略选择方法及装置 | |
CN107562715A (zh) | 词向量处理方法、装置以及电子设备 | |
CN107577659A (zh) | 词向量处理方法、装置以及电子设备 | |
WO2022199261A1 (zh) | 一种模型推荐的方法、装置和计算机设备 | |
CN107844472A (zh) | 词向量处理方法、装置以及电子设备 |