ML.TF_IDF-Funktion
Der Begriff für die Häufigkeit des umgekehrten Dokuments (TF-IDF) gibt an, wie wichtig ein Wort für ein Dokument in einer Sammlung oder einem Korpus ist. Verwenden Sie die Funktion ML.TF_IDF
, um die TF-IDF von Begriffen in einem Dokument zu berechnen, wenn die vorausberechnete umgekehrte Dokumenthäufigkeit für die Erstellung des Modells für maschinelles Lernen verwendet wird. Sie können ML.TF_IDF
in der TRANSFORM-Klausel verwenden.
Diese Funktion verwendet einen TF-IDF-Algorithmus, um die Relevanz von Begriffen in einer Reihe von tokenisierten Dokumenten zu berechnen. Bei TF-IDF werden zwei Messwerte multipliziert: die Häufigkeit, mit der ein Begriff in einem Dokument auftaucht (Begriffshäufigkeit), und die umgekehrte Dokumenthäufigkeit des Begriffs in einer Sammlung von Dokumenten (umgekehrte Dokumenthäufigkeit).
TF-IDF:
term frequency * inverse document frequency
Laufzeithäufigkeit:
(count of term in document) / (document size)
Umgekehrte Dokumenthäufigkeit:
log(1 + num_documents / (1 + token_document_count))
Begriffe werden einem Wörterbuch der Begriffe hinzugefügt, wenn sie die Kriterien für top_k
und frequency_threshold
erfüllen. Andernfalls werden sie als unbekannter Begriff betrachtet. Der unbekannte Begriff ist immer der erste Begriff im Wörterbuch und wird als 0
dargestellt. Der Rest des Wörterbuchs ist alphabetisch sortiert.
Syntax
ML.TF_IDF( tokenized_document [, top_k] [, frequency_threshold] ) OVER()
Argumente
ML.TF_IDF
verwendet die folgenden Argumente:
tokenized_document
:ARRAY<STRING>
-Wert, der ein Dokument darstellt, das tokenisiert wurde. Ein tokenisiertes Dokument ist eine Sammlung von Begriffen (Tokens), die für die Textanalyse verwendet werden.top_k
: Optionales Argument. Verwendet den WertINT64
, der die Größe des Wörterbuchs ohne den unbekannten Begriff darstellt. Die in den meisten Dokumenten verwendetentop_k
-Begriffe werden dem Wörterbuch hinzugefügt, bis dieser Schwellenwert erreicht ist. Wenn dieser Wert beispielsweise20
ist, werden die 20 besten eindeutigen Begriffe in den meisten Dokumenten hinzugefügt und dann werden keine zusätzlichen Begriffe hinzugefügt.frequency_threshold
: Optionales Argument. Verwenden Sie einenINT64
-Wert, der die Mindestanzahl von Dokumenten darstellt, in denen ein Begriff in das Wörterbuch enthalten sein muss. Wenn dieser Wert beispielsweise3
ist, muss ein Begriff in mindestens drei Dokumenten enthalten sein, die dem Wörterbuch hinzugefügt werden sollen.
Ausgabe
ML.TF_IDF
gibt die Eingabetabelle sowie die folgenden beiden Spalten zurück:
ARRAY<STRUCT<index INT64, value FLOAT64>>
Definitionen:
index
: der Index des Begriffs, der dem Wörterbuch hinzugefügt wurde. Unbekannte Begriffe haben einen Index von 0.value
: Die TF-IDF-Berechnung für den Begriff.
Kontingente
Siehe Kontingente und Limits für Cloud AI-Dienstfunktionen.
Beispiel
Im folgenden Beispiel wird die Tabelle ExampleTable
erstellt und die Funktion ML.TF_IDF
angewendet:
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;
Die Ausgabe sieht in etwa so aus:
+----+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 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"}] | +----+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Nächste Schritte
- Weitere Informationen zu TF-IDF außerhalb des maschinellen Lernens.