91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

電子發(fā)燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>PyTorch教程15.6之子詞嵌入

PyTorch教程15.6之子詞嵌入

2023-06-05 | pdf | 0.13 MB | 次下載 | 免費

資料介紹

在英語中,諸如“helps”、“helped”和“helping”之類的詞是同一個詞“help”的變形形式。“dog”與“dogs”的關(guān)系與“cat”與“cats”的關(guān)系相同,“boy”與“boyfriend”的關(guān)系與“girl”與“girlfriend”的關(guān)系相同。在法語和西班牙語等其他語言中,許多動詞有超過 40 種變形形式,而在芬蘭語中,一個名詞可能有多達 15 種格。在語言學中,形態(tài)學研究詞的形成和詞的關(guān)系。然而,word2vec 和 GloVe 都沒有探索單詞的內(nèi)部結(jié)構(gòu)。

15.6.1。fastText 模型

回想一下單詞在 word2vec 中是如何表示的。在skip-gram模型和連續(xù)詞袋模型中,同一個詞的不同變形形式直接由不同的向量表示,沒有共享參數(shù)。為了使用形態(tài)信息,fastText 模型提出了一種子詞嵌入方法,其中一個子詞是一個字符n-gram Bojanowski等人,2017 年與學習詞級向量表示不同,fastText 可以被視為子詞級 skip-gram,其中每個中心由其子詞向量的總和表示。

讓我們舉例說明如何使用單詞“where”為 fastText 中的每個中心詞獲取子詞。首先,在單詞的首尾添加特殊字符“<”和“>”,以區(qū)別于其他子詞的前綴和后綴。然后,提取字符n-克從字。例如,當n=3,我們得到所有長度為 3 的子詞:“”,以及特殊子詞“”。”、“whe”、“her”、“ere”、“re>

在 fastText 中,對于任何單詞w, 表示為Gw其所有長度在 3 到 6 之間的子字及其特殊子字的并集。詞匯表是所有詞的子詞的并集。出租zg是子詞的向量g在字典中,向量vw為詞w作為 skip-gram 模型中的中心詞的是其子詞向量的總和:

(15.6.1)vw=∑g∈Gwzg.

fastText 的其余部分與 skip-gram 模型相同。與skip-gram模型相比,fastText中的詞匯量更大,導致模型參數(shù)更多。此外,為了計算一個詞的表示,必須將其所有子詞向量相加,從而導致更高的計算復雜度。然而,由于具有相似結(jié)構(gòu)的詞之間的子詞共享參數(shù),稀有詞甚至詞匯表外的詞可能會在 fastText 中獲得更好的向量表示。

15.6.2。字節(jié)對編碼

在 fastText 中,所有提取的子詞都必須具有指定的長度,例如36,因此無法預定義詞匯量大小。為了允許在固定大小的詞匯表中使用可變長度的子詞,我們可以應用一種稱為字節(jié)對編碼(BPE) 的壓縮算法來提取子詞 ( Sennrich et al. , 2015 )。

字節(jié)對編碼對訓練數(shù)據(jù)集進行統(tǒng)計分析,以發(fā)現(xiàn)單詞中的常見符號,例如任意長度的連續(xù)字符。從長度為 1 的符號開始,字節(jié)對編碼迭代地合并最頻繁的一對連續(xù)符號以產(chǎn)生新的更長的符號。請注意,為了提高效率,不考慮跨越單詞邊界的對。最后,我們可以使用子詞這樣的符號來分詞。字節(jié)對編碼及其變體已用于流行的自然語言處理預訓練模型中的輸入表示,例如 GPT-2 Radford等人,2019 年和 RoBERTa Liu等人,2019 年. 下面,我們將說明字節(jié)對編碼的工作原理

首先,我們將符號詞匯表初始化為所有英文小寫字符、一個特殊的詞尾符號'_'和一個特殊的未知符號'[UNK]'。

import collections

symbols = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
      'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
      '_', '[UNK]']
import collections

symbols = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
      'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
      '_', '[UNK]']

由于我們不考慮跨越單詞邊界的符號對,我們只需要一個字典raw_token_freqs將單詞映射到它們在數(shù)據(jù)集中的頻率(出現(xiàn)次數(shù))。請注意,特殊符號'_'附加到每個單詞,以便我們可以輕松地從輸出符號序列(例如,“a_ tall er_ man”)中恢復單詞序列(例如,“a taller man”)。由于我們從僅包含單個字符和特殊符號的詞匯表開始合并過程,因此在每個單詞中的每對連續(xù)字符之間插入空格(字典的鍵token_freqs)。換句話說,空格是單詞中符號之間的分隔符。

raw_token_freqs = {'fast_': 4, 'faster_': 3, 'tall_': 5, 'taller_': 4}
token_freqs = {}
for token, freq in raw_token_freqs.items():
  token_freqs[' '.join(list(token))] = raw_token_freqs[token]
token_freqs
{'f a s t _': 4, 'f a s t e r _': 3, 't a l l _': 5, 't a l l e r _': 4}
raw_token_freqs = {'fast_': 4, 'faster_': 3, 'tall_': 5, 'taller_': 4}
token_freqs = {}
for token, freq in raw_token_freqs.items():
  token_freqs[' '.join(list(token))] = raw_token_freqs[token]
token_freqs
{'f a s t _': 4, 'f a s t e r _': 3, 't a l l _': 5, 't a l l e r _': 4}

我們定義了以下get_max_freq_pair函數(shù),該函數(shù)返回單詞中出現(xiàn)頻率最高的一對連續(xù)符號,其中單詞來自輸入字典的鍵token_freqs。

def get_max_freq_pair(token_freqs):
  pairs = collections.defaultdict(int)
  for token, freq in token_freqs.items():
    symbols = token.split()
    for i in range(len(symbols) - 1):
      # Key of `pairs` is a tuple of two consecutive symbols
      pairs[symbols[i], symbols[i + 1]] += freq
  return max(pairs, key=pairs.get) # Key of `pairs` with the max value
def get_max_freq_pair(token_freqs):
  pairs = collections.defaultdict(int)
  for token, freq in token_freqs.items():
    symbols = token.split()
    for i in range(len(symbols) - 1):
      # Key of `pairs` is a tuple of two consecutive symbols
      pairs[symbols[i], symbols[i + 1]] += freq
  return max(pairs, key=pairs.get) # Key of `pairs` with the max value

作為一種基于連續(xù)符號頻率的貪婪方法,字節(jié)對編碼將使用以下merge_symbols函數(shù)合并最頻繁的一對連續(xù)符號以產(chǎn)生新的符號。

def merge_symbols(max_freq_pair, token_freqs, symbols):
  symbols.append(''.join(max_freq_pair))
  new_token_freqs = dict()
  for token, freq in token_freqs.items():
    new_token = token.replace(' '.join(max_freq_pair),
                 ''.join(max_freq_pair))
    new_token_freqs[new_token] = token_freqs[token]
  return new_token_freqs
def merge_symbols(max_freq_pair, token_freqs, symbols):
  symbols.append(''.join(max_freq_pair))
  new_token_freqs = dict()
  for token, freq in token_freqs.items():
    new_token = token.replace(' '.join(max_freq_pair),
                 ''.join(max_freq_pair))
    new_token_freqs[new_token] = token_freqs[token]
  return new_token_freqs

現(xiàn)在我們在字典的鍵上迭代執(zhí)行字節(jié)對編碼算法token_freqs。在第一次迭代中,出現(xiàn)頻率最高的一對連續(xù)符號是't''a',因此字節(jié)對編碼將它們合并以產(chǎn)生新的符號'ta'<

編碼 字節(jié) pytorch
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1新一代網(wǎng)絡可視化(NPB 2.0)
  2. 3.40 MB  |  1次下載  |  免費
  3. 2冷柜-電氣控制系統(tǒng)講解
  4. 13.68 MB   |  1次下載  |  10 積分
  5. 3MDD品牌三極管MMBT3906數(shù)據(jù)手冊
  6. 2.33 MB  |  次下載  |  免費
  7. 4MDD品牌三極管S9012數(shù)據(jù)手冊
  8. 2.62 MB  |  次下載  |  免費
  9. 5LAT1218 如何選擇和設置外部晶體適配 BlueNRG-X
  10. 0.60 MB   |  次下載  |  3 積分
  11. 6LAT1216 Blue NRG-1/2 系列芯片 Flash 操作與 BLE 事件的互斥處理
  12. 0.89 MB   |  次下載  |  3 積分
  13. 7收音環(huán)繞擴音機 AVR-1507手冊
  14. 2.50 MB   |  次下載  |  免費
  15. 8MS1000TA 超聲波測量模擬前端芯片技術(shù)手冊
  16. 0.60 MB   |  次下載  |  免費

本月

  1. 1愛華AIWA HS-J202維修手冊
  2. 3.34 MB   |  37次下載  |  免費
  3. 2PC5502負載均流控制電路數(shù)據(jù)手冊
  4. 1.63 MB   |  23次下載  |  免費
  5. 3NB-IoT芯片廠商的資料說明
  6. 0.31 MB   |  22次下載  |  1 積分
  7. 4UWB653Pro USB口測距通信定位模塊規(guī)格書
  8. 838.47 KB  |  5次下載  |  免費
  9. 5蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
  10. 0.04 MB   |  4次下載  |  1 積分
  11. 6蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
  12. 0.08 MB   |  2次下載  |  1 積分
  13. 7100W準諧振反激式恒流電源電路圖資料
  14. 0.09 MB   |  2次下載  |  1 積分
  15. 8FS8025B USB的PD和OC快充協(xié)議電壓誘騙控制器IC技術(shù)手冊
  16. 1.81 MB   |  1次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935137次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設計
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191439次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183353次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81602次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73822次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65991次下載  |  10 積分