C004|什麼是符元化文本?

閱讀時間約 3 分鐘

在學習大語言模型的技術細節時,


弄清楚「輸入文本 Input Text」與「符元化文本 Tokenized Text」之間的差異會很方便[1]。


舉個具體的例子:


輸入文本:Hello, 你好. Obsidian is great!


符元化文本:['Hello', ',', '你好', '.', 'Obsidian', 'is', 'great', '!']


可以看到文本被拆成一塊一塊的,


接著每一塊送進去編碼器,


成為「嵌入向量 Embedding Vector」,


那麼深度學習就可以發揮其作用了!


而怎麼去將一個輸入文本轉為符元化文本呢?


其實可以用「正則表達式 Regular Expression」就能做到簡單的符元化效果。

import re
text = "Hello, 你好. Obsidian is great!"
result = re.split(r'([,.:;?_!"()\']|--|\s)', text)
result = [item.strip() for item in result if item.strip()]
print(result)


第一行的`import re`,


就是呼叫Python中操作正則表達式的模組 re [2]。


第三行的指令`result = re.split(r'([,.:;?_!"()\']|--|\s)', text)`,


是根據指定的標點符號(逗號、句點、冒號、分號、問號、驚嘆號、引號、圓括號)、


兩個短橫線或任何空白字符來分割字串,


並且將這些分隔符也包含在結果中。


這樣可以保留文本中的標點符號和空白字符,方便後續處理。


第四行的指令`result = [item.strip() for item in result if item.strip()]` ,


則是去除每個元素兩端的空白字符,並且只保留非空的元素,


最後得到的效果就是['Hello', ',', '你好', '.', 'Obsidian', 'is', 'great', '!'] 。


原則上,不同的文本,


會需要不同的「符元化方案 Tokenization Scheme」,


來將輸入文本轉為符元化文本,


以更加符合目前有的資料與任務。


Reference

[1] Section 2.2 Tokenizing Text, https://www.manning.com/books/build-a-large-language-model-from-scratch

[2] https://docs.python.org/3/library/re.html

avatar-img
531會員
1.8K內容數
Outline as Content
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
王啟樺的沙龍 的其他內容
「如果不去Push Science的Boundary,那麼這個系就會漸漸變成主要Teaching的系。」 2024年6月6日, 在我們實驗室為即將畢業的新科博士舉行的餞別餐會上, 我從我老闆程光老師這句話上得到相當多啟發。 我們實驗室雖然處於統計與資料科學系, 但自從我
2023年的3月到4月,我有幸參加了美國國家科學基金的I-Corps™計畫。這項計畫的初衷是賦予科學研究人員企業家精神,鼓勵他們思考如何使科學研究為社會帶來真正的價值。 明眼人都知道,許多教授的研究與實務脫節,學生畢業後往往成為為五斗米折腰的打工人。參與I-Corps™計畫對我而言最大的收穫,
這篇文章適合那些希望提高工作效率的知識工作者, 通過間歇工作法, 你能有效利用時間, 保持高效狀態。 我將分享我每天完成300分鐘深度專注工作的秘密。 ▋步驟1 - 設定明確的目標 在開始50分鐘的深度工作之前, 我會先確定這50分鐘內的具體目標產出。
認識我有一段時間的人,總是對我晚上九點睡、早上四點起的生活習慣感到驚訝。我成為晨型人已經17年了,這個習慣給我帶來了無數好處。 ▋建立晨型習慣的契機 我成為晨型人的契機是在15歲的時候,那時我在書店買了一本書,名叫《早上3小時完成一天工作》。這本書是由日本作家所寫,內容講述了在早上完成重
今天分享一些我參加研討會的經驗。 我在博士一年級到三年級時, 把研討會當作是一個「讓別人認識我的機會」。 例如我曾在統計年會Joint Statistical Meetings (JSM) 2019與2020, 這兩屆研討會去Present我在博士早期的工作。 在會議中
大語言模型通常會生產自己的「嵌入 Embedding」作為部分的輸入層, 並且在大語言模型的訓練途中不斷優化嵌入的方式, 以對特定的任務特定的數據優化。 而大語言模型使用的「嵌入維度 Embedding Dimension」通常是高維度的, 例如最小的GPT-2模型有1億1千
「如果不去Push Science的Boundary,那麼這個系就會漸漸變成主要Teaching的系。」 2024年6月6日, 在我們實驗室為即將畢業的新科博士舉行的餞別餐會上, 我從我老闆程光老師這句話上得到相當多啟發。 我們實驗室雖然處於統計與資料科學系, 但自從我
2023年的3月到4月,我有幸參加了美國國家科學基金的I-Corps™計畫。這項計畫的初衷是賦予科學研究人員企業家精神,鼓勵他們思考如何使科學研究為社會帶來真正的價值。 明眼人都知道,許多教授的研究與實務脫節,學生畢業後往往成為為五斗米折腰的打工人。參與I-Corps™計畫對我而言最大的收穫,
這篇文章適合那些希望提高工作效率的知識工作者, 通過間歇工作法, 你能有效利用時間, 保持高效狀態。 我將分享我每天完成300分鐘深度專注工作的秘密。 ▋步驟1 - 設定明確的目標 在開始50分鐘的深度工作之前, 我會先確定這50分鐘內的具體目標產出。
認識我有一段時間的人,總是對我晚上九點睡、早上四點起的生活習慣感到驚訝。我成為晨型人已經17年了,這個習慣給我帶來了無數好處。 ▋建立晨型習慣的契機 我成為晨型人的契機是在15歲的時候,那時我在書店買了一本書,名叫《早上3小時完成一天工作》。這本書是由日本作家所寫,內容講述了在早上完成重
今天分享一些我參加研討會的經驗。 我在博士一年級到三年級時, 把研討會當作是一個「讓別人認識我的機會」。 例如我曾在統計年會Joint Statistical Meetings (JSM) 2019與2020, 這兩屆研討會去Present我在博士早期的工作。 在會議中
大語言模型通常會生產自己的「嵌入 Embedding」作為部分的輸入層, 並且在大語言模型的訓練途中不斷優化嵌入的方式, 以對特定的任務特定的數據優化。 而大語言模型使用的「嵌入維度 Embedding Dimension」通常是高維度的, 例如最小的GPT-2模型有1億1千
你可能也想看
Google News 追蹤
Thumbnail
本文介紹了在進行資料分析時,將類別欄位轉換為數值欄位的方法,包括Label Encoding、One-Hot Encoding、Binary Encoding、Target Encoding和Frequency Encoding。每種方法的應用範例、優缺點和適用場景都有詳細說明。
前言 在閱讀《強化式學習:打造最強 AlphaZero 通用演算法》時,對一些看似基本,但是重要且會影響到之後實作的項目概念有點疑惑,覺得應該查清楚,所以搞懂後記錄下來,寫下這篇文章(應該說是筆記?)。 正文 下面這段程式碼: model = Sequential() model.add
Thumbnail
透過適當的語言和文字表達,人們可以溝通訊息和態度。轉折詞的運用和標點符號的使用會影響溝通的準確性和情緒表達。
Thumbnail
語言模型與文字表示以不同的方式來分析自然語言的詞語分佈及語意關係。本文章簡要介紹了語言模型、Word2vec、FastText、GloVe和Transformer等技術,並提供了實際的應用參考點,幫助讀者深入理解自然語言處理的技術。
Thumbnail
英語是一種行之有效的全球溝通工具,但其複雜性卻常讓學習者感到頭痛。從文法的變化,到發音的細微差異,再到詞彙的廣泛運用,每一個環節都對準確地表達意思至關重要。詞彙是溝通的基礎,良好的詞彙力不僅能讓你流暢地表達自己的想法,也能幫助你更精確地理解他人的意見。
Thumbnail
如何透過 CSS 來美化和增強文本的可讀性,對於提升用戶體驗至關重要。本文將介紹如何使用 CSS 來處理網頁上的文本,包括字型設定、文本排列、裝飾等多方面。
Thumbnail
編輯的基本功,是對文字的敏感度。
Thumbnail
本文介紹了在進行資料分析時,將類別欄位轉換為數值欄位的方法,包括Label Encoding、One-Hot Encoding、Binary Encoding、Target Encoding和Frequency Encoding。每種方法的應用範例、優缺點和適用場景都有詳細說明。
前言 在閱讀《強化式學習:打造最強 AlphaZero 通用演算法》時,對一些看似基本,但是重要且會影響到之後實作的項目概念有點疑惑,覺得應該查清楚,所以搞懂後記錄下來,寫下這篇文章(應該說是筆記?)。 正文 下面這段程式碼: model = Sequential() model.add
Thumbnail
透過適當的語言和文字表達,人們可以溝通訊息和態度。轉折詞的運用和標點符號的使用會影響溝通的準確性和情緒表達。
Thumbnail
語言模型與文字表示以不同的方式來分析自然語言的詞語分佈及語意關係。本文章簡要介紹了語言模型、Word2vec、FastText、GloVe和Transformer等技術,並提供了實際的應用參考點,幫助讀者深入理解自然語言處理的技術。
Thumbnail
英語是一種行之有效的全球溝通工具,但其複雜性卻常讓學習者感到頭痛。從文法的變化,到發音的細微差異,再到詞彙的廣泛運用,每一個環節都對準確地表達意思至關重要。詞彙是溝通的基礎,良好的詞彙力不僅能讓你流暢地表達自己的想法,也能幫助你更精確地理解他人的意見。
Thumbnail
如何透過 CSS 來美化和增強文本的可讀性,對於提升用戶體驗至關重要。本文將介紹如何使用 CSS 來處理網頁上的文本,包括字型設定、文本排列、裝飾等多方面。
Thumbnail
編輯的基本功,是對文字的敏感度。