日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【NLP】大模型时代,我们真的不再需要分词了吗?

發布時間:2025/3/12 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【NLP】大模型时代,我们真的不再需要分词了吗? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文 | 付奶茶
編 | 小軼

分詞是NLP的基礎任務,將句子、段落分解為字詞單位,方便后續的處理的分析。不知道NLPer有沒有思考過這個問題:

我們在各項研究工作中想要建模的文本單位究竟是什么?
What are the units of text that we want to model?

在這篇論文中,作者調查了pre-neural、neural era期的幾項工作,通過工作,作者提出了一個結論:

"there is and likely will never be a silver bullet solution for all applications and that thinking seriously about okenization remains important for many applications"

即對于所有的應用,有且可能永遠不會有靈丹妙藥般的解決方案(angular solution),認真思考研究的計劃對于很多應用仍然很重要.下面,我們一起來看下這篇論文:

論文標題:
Between words and characters: A Brief History of Open-Vocabulary Modeling and Tokenization in NLP
論文鏈接:
https://arxiv.org/abs/2112.10508

在關于什么是token這個問題上一直沒有蓋棺定論,我們可以看到知乎中大家的討論:

在這些回答中可以看到大部分同學都持有“按照特定需求切分”“有一定的意義”等想法,并未提煉出標準解決答案.在本篇論文開頭作者引用了twitter中的一個回答:

博主的大概意思是,token是人造的概念.在自然語言處理技術的研究中,NLP模型默認被認為文是本被分割成小塊,然后輸入計算機,最終只是一個整數序列的過程。而在Webster和Kit(1992)[1]提出將這些所謂的“小塊”稱為連續子字符串-token,token這個概念才正式出現。

1.0時代 token=word的近似

在早期的的認知中,token應該是語義上的切割單位,文本數據傳統上被分割為“句子”和“單詞”。

這些宏觀單位再被分割成微觀原子單位,而這些微觀單位的定義既要承接語言注釋(如詞性標記、形態句法注釋、句法依賴信息等),也是需承接語言動機,包括縮略詞(don't)、復合詞(如法語copier-coller)、形態衍生詞(如英語或法語antiTrump),以及眾多的命名實體類、遵循特定類型語法的其他序列(如數字、url)。

MAF(Morphological Annotation Framework,MAF定義的ISO標準)定義token為“non-empty contiguous sequence of graphemes or phonemes in a document”-文檔中字素或音素的非空連續序列,在通常的處理方式是用空格切分。

近年來,基于神經語言模型的方法進一步導致了句子如何被分割成原子單位的進化。

這種進化使得利用Tokenization任務將文本分割為“non-typographically (and indeed non-linguistically) motivated units”,即原來的token變為pre-token,原來的tokenization變為pre-tokenization,常見的工具Moses的tokenizer、Hugging Facede Tokenizers package。

2.0時代 token=subword

在神經網絡的時代基于單詞級別的模型雖然簡單容易理解上手,但是它們無法處理罕見和新奇的單詞(在訓練中罕見、或者未出現詞匯,out- vocabularyOOV)——即可以視為封閉的詞匯模型。

在訓練時,歷史上罕見的單詞類型被替換為一個新的單詞類型[UNK],任何不屬于模型原來封閉詞匯表的令牌都替換為[UNK]。這種方法會有很多問題,無法勝任NLG任務等。

除此之外,形態不同意思相近的詞在詞表中這些詞會被當作不同的詞處理使得訓練冗余。在解決怎么樣在有限詞匯表下有效地處理無限詞匯的問題,研究者們啟用更小、更細致的單位來代表存在以上問題的原來的word的單位。

subword tokenization最于常見的詞不做處理仍然取word,將稀有單詞分割為具有含義的子詞單詞語(subword)。

例如:unfriendly分解為un-friendly-ly,這些單位都是有意義的單位,un的意思是相反的,friend是一個名詞,ly則變成副詞。在文本的第六章,作者簡要的介紹了幾大subwords的常用算法:BPE、WordPiece、UnigramLM。

作者論述最為核心的算法即為- Byte Pair Encoding(BPE),算法來源自《Neural Machine Translation of Rare Words with Subword Units》[3]這篇論文,將字節對編碼(BPE)(Gage,1994)壓縮算法,應用于分詞任務,將編碼或二元編碼是一種簡單的數據壓縮形式,其中最常見的一對連續字節數據被替換為該數據中不存在的字節。

算法步驟:

(1)準備足夠大的訓練語料
(2)確定期望的subword詞表大小
(3)將單詞拆分為字符序列并在末尾添加后綴“ </ w>”,統計單詞頻率。本階段的subword的粒度是字符。例如,“ low”的頻率為5,那么我們將其改寫為“ l o w </ w>”:5
(4)統計每一個連續字節對的出現頻率,選擇最高頻者合并成新的subword
(5)重復第4步直到達到第2步設定的subword詞表大小或下一個最高頻的字節對出現頻率為1

▲BPE算法步驟舉例

停止符""的意義在于表示subword是詞后綴。舉例來說:"st"字詞不加""可以出現在詞首如"st ar",加了""表明改字詞位于詞尾,如"wide st",二者意義截然不同。每次合并后詞表可能出現3種變化:

+1,表明加入合并后的新字詞,同時原來在2個子詞還保留(2個字詞不是完全同時連續出現)
+0,表明加入合并后的新字詞,同時原來2個子詞中一個保留,一個被消解(一個字詞完全隨著另一個字詞的出現而緊跟著出現)
-1,表明加入合并后的新字詞,同時原來2個子詞都被消解(2個字詞同時連續出現)

通過以上步驟得到了subword的詞表,對該詞表按照subword長度由大到小排序。編碼時,對于每個單詞,遍歷排好序的子詞詞表尋找是否有token是當前單詞的子字符串,如果有,則該token是表示單詞的tokens之一。

從最長的token迭代到最短的token,嘗試將每個單詞中的子字符串替換為token。最終,將所有子字符串替換為tokens,對仍然沒被替換的子字符串情況,則將剩余的子詞替換為特殊token,如。

實際上,隨著合并的次數增加,詞表大小通常先增加后減小。BPE允許通過可變長度字符序列的固定大小詞匯表來表示一個開放的詞匯表,使其成為一種非常適合神經網絡模型的分詞策略。后期使用時需要一個替換表來重建原始數據。OpenAI GPT-2 與Facebook RoBERTa均采用此方法構建subword vector.該可以有效地平衡詞匯表大小和步數(編碼句子所需的token數量)。但是基于貪婪和確定的符號替換,不能提供帶概率的多個分片結果。

除此之外,作者還介紹了基于概率生成新的subword而不是下一最高頻字節對的WordPiece、從詞匯表中刪除概率最低的項目的UnigramLM、允許已學習的單元跨越這些邊界的SentencePiece.在一些研究者們的實驗中我們可以看到,例如英、日語中BERT-style模型在NLP任務重Unigram比BPE分割效果更好,而在翻譯方面的各項試驗中BPE最為可靠.在種種不同角度的論證中,究竟是誰一騎絕塵C位出道,仍舊沒有結論性的結果。

賣萌屋相關解讀:《NLP Subword三大算法原理:BPE、WordPiece、ULM》

在本章的末尾作者還有一個問題:

How many units do we need?

我們為了獲得最佳性能,應該選擇多少次merge?在這個問題上研究者們也各持一詞,如由于神經機器翻譯模型的輸出是有頻率偏差的,為保持一個更均勻的頻率分布是更好的,合并盡可能縮短整個序列的長度而確保95%的subword單位出現至少100次(大概在訓練數據),因此在這個問題上,現有的結論仍是表現最好的數字可能取決于任務和領域,并因語言而異。

3.0時代 tokenization-free

作者在本章中提出,如果我們一直依賴于一個預定義word(pretokenization output)概念,在沒有這樣的定義、或者無法獲得、不需要該怎么辦,有沒有一種方法可以 let our data-driven machine learning approach also learn the tokenization? 因此,在這章中,作者介紹了各種技術來生成不同大小、質量的units。在這里作者做了幾大熱門選項的分析:

(1) Characters?

研究者們認為word或sub-word級標記序列在噪聲存在時將發生顯著變化,從而character模型對噪聲和非分布數據更有魯棒性。但是限制采用字符級模型的一個主要因素是,字符序列往往比它們的字級或子字級的對應字符長得多,這使得訓練和推理變慢。為了提高訓練速度和效率,Libovicky、Chung、Cherry等人評估了各種策略和實驗,但是它們都沒有提供性能和速度的適當權衡。

(2)Character hashes?

在多語言環境中,使用字符級模型會導致非常大的詞匯量。不給每個字符自己的embedding,而是用多個哈希函數將所有可能的代碼點散列到更小的集合中,以便在代碼點之間共享參數,以獲得合理的計算效率,并專注于非生成序列標記任務。

(3)Bytes?

避免字符級模型詞匯量過大問題的另一種方法是使用UTF-8等標準編碼產生的字節序列來表示文本。這可以看作是使用了由標準團體(Unicode聯盟)創建的固定的標記化方案,而不是基于語言或統計信息的過程。

具體使用Unicode字節的主要優勢是遵循“建模數據中最小有意義單位的原則”時,字節級建模是一種自然選擇,ByT5最近的研究表明,字節級模型與字符級模型具有類似的好處(對噪聲有更好的魯棒性,避免詞匯量不足等問題),但也有類似的缺點(由于序列較長,訓練和推理時間較長)。

(4)Visual featurization: Pixels?

另一種 “tokenization-free” 的建模方式是基于視覺概念,字節級模型的目標是覆蓋磁盤上所表示的全部底層“詞匯”,而視覺表示的目標是編碼人類讀者在處理文本時可能使用的字符之間的相似性。

字節級模型依賴于一致的觀察序列,這使得它們容易受到變化和噪聲的影響,這些可能會在視覺上呈現相似的效果,而使用視覺特征的最初動機是創造反映共享字符組件的嵌入,如漢字或韓語,因此能夠更好地概括罕見的或不可見的字符,直接從像素分解進行轉換這種模型在機器翻譯的各種語言和腳本上都具有競爭力,而且對誘導噪聲具有更強的魯棒性。

總結

作者在結尾引用了一句話:

“It remains to ?nd effective neural architectures for learning the set of entities jointly with the rest of the neural model, and for generalising such methods from the level of character strings to higher levels of representation”

Tokenization,無論是分詞的演進過程還是術語的含義本身都隨著研究者的深耕有了顯著的發展。這篇論文追蹤了它們的進化,并展現了多年來研究者們一步步嘗試,立足于不同的motivation帶來的的重大變化。

我們從論文中的介紹可以看到,盡管tokenization有了重大的進步,但是知道現在還沒有完美的方法,所有選項都有缺點和優點,這片希望之鄉還很遙遠。“仍然需要找到有效的神經架構,以便與神經模型的其余部分一起學習實體集,并將這些方法從字符串級別推廣到更高級別的表示”。

萌屋作者:付奶茶

新媒體交叉學科在讀Phd,賣萌屋十級粉絲修煉上任小編,目前深耕多模態,希望可以和大家一起認真科研,快樂生活!

[1] Tokenization as the initial phase in NLP.https://www.researchgate.net/publication/221102283_Tokenization_as_the_initial_phase_in_NLP

[2] https://jishuin.proginn.com/p/763bfbd34ee4

[3] Neural Machine Translation of Rare Words with Subword Units.https://aclanthology.org/P16-1162/

往期精彩回顧適合初學者入門人工智能的路線及資料下載(圖文+視頻)機器學習入門系列下載中國大學慕課《機器學習》(黃海廣主講)機器學習及深度學習筆記等資料打印《統計學習方法》的代碼復現專輯 AI基礎下載機器學習交流qq群955171419,加入微信群請掃碼:

總結

以上是生活随笔為你收集整理的【NLP】大模型时代,我们真的不再需要分词了吗?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。