共計 1535 個字符,預計需要花費 4 分鐘才能閱讀完成。
今天給大家介紹一下 RNN 在做語義分析該怎么理解。文章的內(nèi)容丸趣 TV 小編覺得不錯,現(xiàn)在給大家分享一下,覺得有需要的朋友可以了解一下,希望對大家有所幫助,下面跟著丸趣 TV 小編的思路一起來閱讀吧。
這個例子是 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.
口語理解是為給定的一個句子分配標簽。是一個分類問題。
數(shù)據(jù)集
采用的數(shù)據(jù)集是 ATIS (Airline Travel Information System) dataset, 是一個文本的數(shù)據(jù)分類的數(shù)據(jù)集,是根據(jù)航天公司電話預約時的電話記錄,已通過語音處理轉(zhuǎn)成了文字,采用(IOB)的表示方式。
IOB 的表示方式:B 是表示一個類的開始,I 是表示一個類的中間,O 是表示空類。如下表示:
Input (words)showflightsfromBostontoNewYorktodayOutput (labels)OOOB-deptOB-arrI-arrB-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 官方把整個數(shù)據(jù)集分為訓練集 / 測試集 –4978/893 個句子,一共有 56590/9198 單詞(平均每一個句子有 15 個單詞)。分為 128 個類,里面包含了 O(空類)。
如果沒有出現(xiàn)的詞用 UNK 類表示。
對數(shù)據(jù)分類的準確性用如下三個指標:Precision(精度),Recall(召回率),F(xiàn)1 score。這個百度一下就知道了,簡單地說,這三個都能表示分類準確率,滿分是 100,其中 Precision,Recall 有一定互斥性,故 F1 score,是最好的。
我們還可以使用 conlleval.pl 的 PERL 程序看出分類后的結(jié)果。
RNN 模型與數(shù)據(jù)處理
數(shù)據(jù)表示:每一個單詞一開始的代表是一個 token,編程表示為一個數(shù)字,一句話就是多個數(shù)字組成的,這是輸入表示,不過不是最終表示,輸出對應的一個標簽。
上下文窗口:
The index -1 corresponds to the PADDING index we insert at the beginning/end of the sentence.
從上可以看出,窗口設的越大,數(shù)據(jù)長度越長。
詞向量:
詞向量是很有創(chuàng)新性的表示方式,一個單詞表示如果用 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 維比較常見。這個詞向量不是固定的,也是要經(jīng)過訓練得到的。
RNN 要學習的參數(shù):
RNN 整個架構(gòu)設置好的參數(shù):
跑程序
以上就是 RNN 在做語義分析該怎么理解的全部內(nèi)容了,更多與 RNN 在做語義分析該怎么理解相關的內(nèi)容可以搜索丸趣 TV 之前的文章或者瀏覽下面的文章進行學習哈!相信丸趣 TV 小編會給大家增添更多知識, 希望大家能夠支持一下丸趣 TV!