Rumah  >  Artikel  >  Peranti teknologi  >  Fahami Tokenisasi dalam satu artikel!

Fahami Tokenisasi dalam satu artikel!

PHPz
PHPzke hadapan
2024-04-12 14:31:26537semak imbas

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', '.']

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结果:['我', '喜欢', '吃', '苹果', '。']

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', '!']

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

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

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

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

Kebutiran kata kunci Keputusan Tokenized:

['hel', 'low', 'orld']
"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:

我喜欢吃苹果

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

我, 喜, 欢, 吃, 苹, 果, 我喜欢, 吃苹果

Kebutiran kata kunci Keputusan Token:

['我', '喜欢', '吃', '苹果']
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}

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

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!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam