您好,登錄后才能下訂單哦!
今天給大家介紹一下RNN在做語義分析該怎么理解。文章的內容小編覺得不錯,現在給大家分享一下,覺得有需要的朋友可以了解一下,希望對大家有所幫助,下面跟著小編的思路一起來閱讀吧。
這個例子是deeplearnling/tutorial/rnnslu.html中的例子。
任務:
The Slot-Filling (Spoken Language Understanding) consists in assigning a label to each word given a sentence. It’s a classification task.
口語理解是為給定的一個句子分配標簽。是一個分類問題。
數據集
采用的數據集是ATIS (Airline Travel Information System) dataset,是一個文本的數據分類的數據集,是根據航天公司電話預約時的電話記錄,已通過語音處理轉成了文字,采用(IOB)的表示方式。
IOB的表示方式:B是表示一個類的開始,I是表示一個類的中間,O是表示空類。如下表示:
Input (words) | show | flights | from | Boston | to | New | York | today |
Output (labels) | O | O | O | B-dept | O | B-arr | I-arr | B-date |
The ATIS offical split contains 4,978/893 sentences for a total of 56,590/9,198 words (average sentence length is 15) in the train/test set. The number of classes (different slots) is 128 including the O label (NULL).
ATIS官方把整個數據集分為訓練集/測試集--4978/893個句子,一共有56590/9198單詞(平均每一個句子有15個單詞)。分為128個類,里面包含了O(空類)。
如果沒有出現的詞用<UNK>類表示。
對數據分類的準確性用如下三個指標:Precision(精度),Recall(召回率),F1 score 。這個百度一下就知道了,簡單地說,這三個都能表示分類準確率,滿分是100,其中Precision,Recall有一定互斥性,故F1 score,是最好的。
我們還可以使用conlleval.pl 的PERL程序看出分類后的結果。
RNN模型與數據處理
數據表示:每一個單詞一開始的代表是一個token,編程表示為一個數字,一句話就是多個數字組成的,這是輸入表示,不過不是最終表示,輸出對應的一個標簽。
上下文窗口:
The index -1
corresponds to the PADDING
index we insert at the beginning/end of the sentence.
從上可以看出,窗口設的越大,數據長度越長。
詞向量:
詞向量是很有創新性的表示方式,一個單詞表示如果用One-hot Representation,如,
“話筒”表示為 [0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 …]
“麥克”表示為 [0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 …]
其中只有一個為1,有很多有缺陷,故有了詞向量。把一個詞表示成[0.792, ?0.177, ?0.107, 0.109, ?0.542, …]。維度以 50 維和 100 維比較常見。這個詞向量不是固定的,也是要經過訓練得到的。
RNN要學習的參數:
RNN整個架構設置好的參數:
跑程序
以上就是RNN在做語義分析該怎么理解的全部內容了,更多與RNN在做語義分析該怎么理解相關的內容可以搜索億速云之前的文章或者瀏覽下面的文章進行學習哈!相信小編會給大家增添更多知識,希望大家能夠支持一下億速云!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。