Fungsi ML.TF_IDF
Istilah frekuensi dokumen invers frekuensi (TF-IDF) mencerminkan seberapa penting sebuah kata bagi dokumen dalam koleksi atau korpus. Gunakan fungsi ML.TF_IDF
untuk menghitung TF-IDF suku dalam dokumen, mengingat frekuensi dokumen terbalik yang telah dihitung sebelumnya untuk digunakan dalam pembuatan model machine learning. Anda dapat menggunakan ML.TF_IDF
dalam klausa
TRANSFORM.
Fungsi ini menggunakan algoritma TF-IDF untuk menghitung relevansi istilah dalam sekumpulan dokumen dengan token. TF-IDF mengalikan dua metrik: berapa kali istilah muncul dalam dokumen (frekuensi istilah), dan kebalikan frekuensi dokumen dari istilah tersebut di seluruh kumpulan dokumen (frekuensi dokumen terbalik).
TF-IDF:
term frequency * inverse document frequency
Frekuensi istilah:
(count of term in document) / (document size)
Frekuensi dokumen terbalik:
log(1 + num_documents / (1 + token_document_count))
Istilah ditambahkan ke kamus istilah jika memenuhi kriteria untuk
top_k
dan frequency_threshold
. Jika tidak, istilah tersebut dianggap
istilah yang tidak diketahui. Istilah yang tidak diketahui selalu menjadi istilah pertama dalam kamus
dan direpresentasikan sebagai 0
. Kamus lainnya diurutkan menurut abjad.
Sintaksis
ML.TF_IDF( tokenized_document [, top_k] [, frequency_threshold] ) OVER()
Argumen
ML.TF_IDF
menggunakan argumen berikut:
tokenized_document
: NilaiARRAY<STRING>
yang mewakili dokumen yang telah ditokenkan. Dokumen yang ditokenkan adalah kumpulan istilah (token), yang digunakan untuk analisis teks.top_k
: Argumen opsional. Mengambil nilaiINT64
, yang mewakili ukuran kamus, tidak termasuk istilah yang tidak diketahui. Istilahtop_k
yang muncul di sebagian besar dokumen ditambahkan ke kamus sampai nilai minimum ini terpenuhi. Misalnya, jika nilai ini adalah20
, 20 istilah unik teratas yang muncul di sebagian besar dokumen akan ditambahkan, lalu tidak ada istilah tambahan yang ditambahkan.frequency_threshold
: Argumen opsional. Ambil nilaiINT64
yang mewakili jumlah minimum dokumen yang harus mencakup sebuah istilah untuk disertakan dalam kamus. Misalnya, jika nilai ini adalah3
, sebuah istilah harus muncul di setidaknya tiga dokumen untuk ditambahkan ke kamus.
Output
ML.TF_IDF
menampilkan tabel input dan dua kolom berikut:
ARRAY<STRUCT<index INT64, value FLOAT64>>
Definisi:
index
: Indeks istilah yang ditambahkan ke kamus. Istilah yang tidak diketahui memiliki indeks 0.value
: Komputasi TF-IDF untuk istilah tersebut.
Kuota
Lihat Kuota dan batas fungsi layanan Cloud AI.
Contoh
Contoh berikut membuat tabel ExampleTable
dan menerapkan fungsi
ML.TF_IDF
:
WITH
ExampleTable AS (
SELECT 1 AS id, ['I', 'like', 'pie', 'pie', 'pie', NULL] AS f
UNION ALL
SELECT 2 AS id, ['yum', 'yum', 'pie', NULL] AS f
UNION ALL
SELECT 3 AS id, ['I', 'yum', 'pie', NULL] AS f
UNION ALL
SELECT 4 AS id, ['you', 'like', 'pie', NULL] AS f
)
SELECT id, ML.TF_IDF(f, 3, 1) OVER () AS results
FROM ExampleTable
ORDER BY id;
Outputnya mirip dengan hal berikut ini:
+----+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | id | results | +----+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 1 | [{"index":"0","value":"0.12679902142647365"},{"index":"1","value":"0.1412163100645339"},{"index":"2","value":"0.1412163100645339"},{"index":"3","value":"0.29389333245105953"}] | | 2 | [{"index":"0","value":"0.5705955964191315"},{"index":"3","value":"0.14694666622552977"}] | | 3 | [{"index":"0","value":"0.380397064279421"},{"index":"1","value":"0.21182446509680086"},{"index":"3","value":"0.14694666622552977"}] | | 4 | [{"index":"0","value":"0.380397064279421"},{"index":"2","value":"0.21182446509680086"},{"index":"3","value":"0.14694666622552977"}] | +----+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Langkah selanjutnya
- Pelajari lebih lanjut TF-IDF di luar machine learning.