Rumah > Peranti teknologi > AI > teks badan

Fahami Tokenisasi dalam satu artikel!

PHPz
Lepaskan: 2024-04-12 14:31:26
ke hadapan
608 orang telah melayarinya

Model bahasa menaakul tentang teks, yang biasanya dalam bentuk rentetan, tetapi input kepada model hanya boleh menjadi nombor, jadi teks perlu ditukar kepada bentuk berangka.

Tokenisasi ialah tugas asas pemprosesan bahasa semula jadi Ia boleh membahagikan urutan teks berterusan (seperti ayat, perenggan, dll.) ke dalam urutan aksara (seperti perkataan, frasa, aksara, tanda baca, dll.) mengikut tertentu. keperluan. Antaranya Unit itu dipanggil token atau perkataan.

Mengikut proses khusus yang ditunjukkan dalam rajah di bawah, mula-mula bahagikan ayat teks kepada unit, kemudian digitalkan elemen tunggal (petakannya ke dalam vektor), kemudian masukkan vektor ini ke dalam model untuk pengekodan, dan akhirnya keluarkannya ke tugas hiliran untuk mendapatkan lagi keputusan akhir.

Fahami Tokenisasi dalam satu artikel!

Segmentasi teks

Mengikut butiran segmentasi teks, Tokenisasi boleh dibahagikan kepada tiga kategori: Tokenisasi berbutir perkataan, Tokenisasi berbutir aksara dan Tokenisasi berbutir subkata.

1. Tokenisasi kebutiran perkataan

Tokenisasi kebutiran perkataan ialah kaedah pembahagian perkataan yang paling intuitif, yang bermaksud membahagikan teks mengikut perbendaharaan kata. Contohnya:

The quick brown fox jumps over the lazy dog.词粒度Tokenized结果:['The', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog', '.']
Salin selepas log masuk

Dalam contoh ini, teks dibahagikan kepada perkataan bebas, setiap perkataan digunakan sebagai token, dan tanda baca '.' juga dianggap sebagai token bebas.

Teks bahasa Cina biasanya dibahagikan mengikut koleksi perbendaharaan kata standard yang disertakan dalam kamus atau frasa, simpulan bahasa, kata nama khas, dsb. yang dikenali melalui algoritma segmentasi perkataan.

我喜欢吃苹果。词粒度Tokenized结果:['我', '喜欢', '吃', '苹果', '。']
Salin selepas log masuk

Teks bahasa Cina ini terbahagi kepada lima perkataan: "Saya", "suka", "makan", "epal" dan titik ".", setiap perkataan berfungsi sebagai tanda.

2. Tokenisasi berbutir aksara

Tokenisasi berbutir aksara membahagikan teks kepada unit aksara terkecil, iaitu, setiap aksara dianggap sebagai token yang berasingan. Contohnya:

Hello, world!字符粒度Tokenized结果:['H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '!']
Salin selepas log masuk

Tokenisasi kebutiran aksara dalam bahasa Cina adalah untuk membahagikan teks mengikut setiap aksara Cina bebas.

我喜欢吃苹果。字符粒度Tokenized结果:['我', '喜', '欢', '吃', '苹', '果', '。']
Salin selepas log masuk

3.Tokenisasi berbutir subkata

Tokenisasi berbutir subkata ialah antara kebutiran perkataan dan kebutiran aksara Ia membahagikan teks kepada subkata (subkata) antara perkataan dan aksara sebagai token. Kaedah Tokenisasi subkata biasa termasuk Pengekodan Pasangan Byte (BPE), WordPiece, dsb. Kaedah ini menjana kamus pembahagian perkataan secara automatik dengan mengira frekuensi subrentetan dalam data teks, yang boleh menangani masalah perkataan di luar perkhidmatan (OOV) dengan berkesan sambil mengekalkan integriti semantik tertentu.

helloworld
Salin selepas log masuk

Andaikan bahawa selepas latihan dengan algoritma BPE, kamus subkata yang dijana mengandungi entri berikut:

h, e, l, o, w, r, d, hel, low, wor, orld
Salin selepas log masuk

Kebutiran kata kunci Keputusan Tokenized:

['hel', 'low', 'orld']
Salin selepas log masuk
"terbahagi kepada threeworld"re, "

HelloHello" hel", "rendah", "orld", ini semua gabungan subrentetan frekuensi tinggi yang muncul dalam kamus. Kaedah pembahagian ini bukan sahaja boleh mengendalikan perkataan yang tidak diketahui (contohnya, "helloworld" bukan perkataan Inggeris standard), tetapi juga mengekalkan maklumat semantik tertentu (gabungan sub-perkataan boleh memulihkan perkataan asal).

Dalam bahasa Cina, Tokenisasi berbutir subkata juga membahagikan teks kepada subkata antara aksara Cina dan perkataan sebagai token. Contohnya:

我喜欢吃苹果
Salin selepas log masuk

Andaikan selepas latihan dengan algoritma BPE, kamus subkata yang dijana mengandungi entri berikut:

我, 喜, 欢, 吃, 苹, 果, 我喜欢, 吃苹果
Salin selepas log masuk

Kebutiran kata kunci Keputusan Token:

['我', '喜欢', '吃', '苹果']
Salin selepas log masuk
I
dalam contoh ini, "rreeeI

epal" Ia terbahagi kepada empat perkataan kecil "Saya", "suka", "makan" dan "epal", dan semua perkataan kecil ini muncul dalam kamus. Walaupun aksara Cina tidak lagi digabungkan seperti sub-perkataan bahasa Inggeris, kaedah Tokenisasi sub-perkataan telah mempertimbangkan gabungan perkataan frekuensi tinggi, seperti "Saya suka" dan "makan epal" semasa menjana kamus. Kaedah segmentasi ini mengekalkan maklumat semantik peringkat perkataan sambil memproses perkataan yang tidak diketahui.

Mengindeks

Andaikan korpus atau perbendaharaan kata telah dicipta seperti berikut.
vocabulary = {'我': 0,'喜欢': 1,'吃': 2,'苹果': 3,'。': 4}
Salin selepas log masuk

boleh mencari indeks setiap token dalam urutan dalam perbendaharaan kata.
indexed_tokens = [vocabulary[token] for token in token_sequence]print(indexed_tokens)
Salin selepas log masuk

Output: [0, 1, 2, 3, 4].

🎜

Atas ialah kandungan terperinci Fahami Tokenisasi dalam satu artikel!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:51cto.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan