[發明專利]一種序列學習的動態標識符表示方法、裝置及系統有效
| 申請號: | 201811220596.0 | 申請日: | 2018-10-19 |
| 公開(公告)號: | CN109325103B | 公開(公告)日: | 2020-12-04 |
| 發明(設計)人: | 李戈;金芝 | 申請(專利權)人: | 北京大學 |
| 主分類號: | G06F16/33 | 分類號: | G06F16/33 |
| 代理公司: | 北京辰權知識產權代理有限公司 11619 | 代理人: | 劉廣達 |
| 地址: | 100871*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 序列 學習 動態 標識符 表示 方法 裝置 系統 | ||
本發明提供了一種序列學習的動態標識符表示方法、裝置及系統,所述方法包括:將語境向量和標識符向量作為輸入,輸入相關性子模塊中,做相關性運算,得到相關性向量;將所述相關性向量輸入Softmax子模塊中,做歸一化運算,得到組合向量;將所述組合向量輸入記憶槽,使得所述記憶槽中的槽之間根據所述組合向量做線性運算,得到所述動態標識符表示。使用本發明DTR模塊的LSTM模型能夠更快和更穩定的收斂,更好的理解未知標識符,并且能夠提供更有競爭力的準確率,而且相比傳統LSTM方法,其詞匯量小得多。
技術領域
本發明涉及計算機軟件工程技術領域,尤其是涉及一種序列學習的動態標識符表示方法、裝置及系統。
背景技術
序列學習在自然語言處理(NLP)和程序源代碼分析中扮演著重要角色。標識符的表示對于序列學習非常重要。
離散標識符的表示方法是序列學習中非常重要。通常的辦法是使用一個靜態一對一查找表來生成輸入標識符的持續靜態嵌入,并且使用一個單一嵌入來表示所有的標識符。但是,一個標識符的確切意義經常隨著其出現的語境的變化而變化,所以靜態嵌入方法不能總是準確的表達一個標識符的確切含義,尤其是對那些多義詞和未知標識符而言。
發明內容
為解決以上問題,在本發明中,提出了一種基于記憶槽的動態標識符表示(Dynamic Token Representation,DTR)模塊,考慮了動態表示生成過程中的當前語境。其中,標識符表示通過結合記憶槽中存儲的語素向量而動態產生,考慮了當前語境。本發明設計了一個人工數據集(SAS)和兩個NLP工業級數據集(Java source、Yahoo Answers),分析了程序代碼。
具體的,本發明提供了一種序列學習的動態標識符表示方法,包括:
將語境向量和標識符向量作為輸入,輸入相關性子模塊中,做相關性運算,得到相關性向量;
將所述相關性向量輸入Softmax子模塊中,做歸一化運算,得到組合向量;
將所述組合向量輸入記憶槽,使得所述記憶槽中的槽之間根據所述組合向量做線性運算,得到所述動態標識符表示。
優選的,所述相關性運算采用相關性函數。
優選的,所述相關性函數是拼接函數。
優選的,所述組合向量是基于組合權重的概率分布函數。
優選的,所述記憶槽的數量是有限個而且每個槽之間互不相同。
優選的,所述Softmax子模塊使用L1-正則化算法。
優選的,所述記憶槽是一個二維矩陣,以存儲多義詞向量,其中,每個槽內存儲一個多義詞向量。
優選的,所述線性運算的組合權重根據所述相關性向量而產生。
根據本發明的另一個方面,本發明還提供了一種序列學習的動態標識符表示模塊,包括如下順序相連的如下結構:
相關性子模塊,將語境向量和標識符向量作為所述相關性子模塊的輸入,做相關性運算,得到相關性向量;
Softmax子模塊,將所述相關性向量輸入Softmax子模塊中,做歸一化運算,得到組合向量;
記憶槽,將所述組合向量輸入記憶槽,使得所述記憶槽中的槽之間根據所述組合向量做線性運算,得到所述動態標識符表示。
根據本發明的另一個方面,本發明還提供了一種序列學習的動態標識符表示裝置,包括:一個如上所述的動態標識符表示模塊,以及與所述動態標識符表示模塊相串連的循環神經網絡單元(RNN)或長短期記憶網絡(LSTM)。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京大學,未經北京大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811220596.0/2.html,轉載請聲明來源鉆瓜專利網。





