Extrahování funkcí N-Gram z odkazu na textovou komponentu

Tento článek popisuje komponentu v návrháři služby Azure Machine Learning. Pomocí komponenty Extrahovat funkce N-Gram z textu můžete vytvořit nestrukturovaná textová data.

Konfigurace extrahování n-gramových prvků z komponenty Text

Komponenta podporuje následující scénáře použití n-gramového slovníku:

Vytvoření nového n-gramového slovníku

  1. Přidejte do kanálu komponentu Extrahovat funkce N-Gram z textu a připojte datovou sadu obsahující text, který chcete zpracovat.

  2. Sloupec Text slouží k výběru sloupce typu řetězce obsahujícího text, který chcete extrahovat. Vzhledem k tomu, že výsledky jsou podrobné, můžete najednou zpracovat jenom jeden sloupec.

  3. Pokud chcete označit, že vytváříte nový seznam n-gramových funkcí, nastavte Režim slovní zásoby na Vytvořit .

  4. Nastavte velikost N-gramů tak, aby se vyznačovala maximální velikost n-gramů, které se mají extrahovat a uložit.

    Pokud například zadáte 3, vytvoří se unigramy, bigramy a trigramy.

  5. Funkce vážení určuje, jak vytvořit vektor funkce dokumentu a jak extrahovat slovní zásobu z dokumentů.

    • Binární váha: Přiřadí hodnotu binární přítomnosti extrahovaným n-gramům. Hodnota každého n-gramu je 1, pokud existuje v dokumentu, a v opačném případě 0.

    • Váha TF: Přiřadí skóre frekvence termínů (TF) extrahovaným n-gramům. Hodnota každého n-gramu je jeho četnost výskytů v dokumentu.

    • Váha IDF: Přiřadí skóre inverzní frekvence dokumentu (IDF) k extrahovaným n-gramům. Hodnota každého n-gramu je protokol velikosti korpusu rozdělený četností výskytů v celém korpusu.

      IDF = log of corpus_size / document_frequency

    • Hmotnost TF-IDF: Přiřadí skóre frekvence/frekvence inverzního dokumentu (TF/IDF) k extrahovaným n-gramům. Hodnota každého n-gramu je skóre TF vynásobené skóre IDF.

  6. Nastavte Minimální délku slova na minimální počet písmen, která se dají použít v libovolném slově n-gramu.

  7. Pomocí možnosti Maximální délka slova můžete nastavit maximální počet písmen, které lze použít v libovolném slově v n-gramu.

    Ve výchozím nastavení je povoleno až 25 znaků na slovo nebo token.

  8. Pokud chcete nastavit minimální počet výskytů požadovaných pro zahrnutí n-gramů do slovníku n-gramů, použijte minimální počet n-gramových absolutních frekvencí dokumentu .

    Pokud například použijete výchozí hodnotu 5, musí se n-gram v korpusu objevit alespoň pětkrát, aby se zahrnul do n-gramového slovníku.

  9. Nastavte maximální poměr n-gram dokumentu na maximální poměr počtu řádků, které obsahují určitý n-gram, nad počtem řádků v celkovém korpusu.

    Například poměr 1 znamená, že i když je v každém řádku určitý n-gram, lze n-gram přidat do slovníku n-gram. Obvykle se slovo, které se vyskytuje v každém řádku, by bylo považováno za šumové slovo a bylo by odebráno. Pokud chcete odfiltrovat slova šumu závislá na doméně, zkuste tento poměr snížit.

    Důležité

    Četnost výskytu určitých slov není jednotná. U jednotlivých dokumentů se liší. Pokud například analyzujete komentáře zákazníků ke konkrétnímu produktu, název produktu může být velmi často používaný a může se blížit šumu, ale v jiných kontextech se může jednat o významný termín.

  10. Pokud chcete vektory funkcí normalizovat, vyberte možnost Normalizovat n-gramové vektory prvků . Pokud je tato možnost povolená, je každý vektor funkce n-gramu dělený normou L2.

  11. Odešlete kanál.

Použití existujícího n-gramového slovníku

  1. Přidejte do kanálu komponentu Extrahovat funkce N-Gram z textu a připojte datovou sadu obsahující text, který chcete zpracovat, k portu datové sady .

  2. Pomocí textového sloupce vyberte textový sloupec, který obsahuje text, který chcete upravit. Ve výchozím nastavení komponenta vybere všechny sloupce typu řetězec. Nejlepších výsledků dosáhnete, když najednou zpracujete jenom jeden sloupec.

  3. Přidejte uloženou datovou sadu, která obsahuje dříve vygenerovaný slovník n-gramů, a připojte ji k portu vstupního slovníku . Můžete také připojit výstup slovního zásob Výsledku upstream instance komponenty Extrahovat funkce N-Gram z textu.

  4. V části Režim slovníku vyberte v rozevíracím seznamu možnost Jen pro čtení.

    Možnost ReadOnly představuje vstupní korpus pro vstupní slovní zásobu. Místo výpočtu četností termínů z nové textové datové sady (na levém vstupu) se váhy n-gramů ze vstupního slovníku použijí tak, jak jsou.

    Tip

    Tuto možnost použijte při vyhodnocování klasifikátoru textu.

  5. Všechny ostatní možnosti najdete v popisech vlastností v předchozí části.

  6. Odešlete kanál.

Vytvoření kanálu odvozování, který k nasazení koncového bodu v reálném čase používá n-gramů

Trénovací kanál, který obsahuje funkci Extrahovat N-Gramy z textu a Určit skóre modelu pro predikci testovací datové sady, je sestaven v následující struktuře:

Příklad extrakce trénovacího kanálu N-Grams

Režim slovníku komponenty Extrahovat N-Gramy z textu je Vytvořit a Režim slovníku komponenty, která se připojuje k komponentě Určit skóre modelu , je Jen pro čtení.

Po úspěšném odeslání výše uvedeného trénovacího kanálu můžete zaregistrovat výstup zakroužkované komponenty jako datovou sadu.

zaregistrovat datovou sadu

Pak můžete vytvořit kanál odvozování v reálném čase. Po vytvoření kanálu odvozování musíte kanál odvozování upravit ručně následujícím způsobem:

kanál odvozování

Pak odešlete kanál odvozování a nasaďte koncový bod v reálném čase.

Výsledky

Komponenta Extrahovat funkce N-Gram z textu vytvoří dva typy výstupu:

  • Výsledná datová sada: Tento výstup je souhrn analyzovaného textu v kombinaci s extrahovanými n-gramy. Sloupce, které jste nevybrali v možnosti Sloupec text , se předají do výstupu. Pro každý sloupec textu, který analyzujete, komponenta vygeneruje tyto sloupce:

    • Matice n-gram výskytů: Komponenta vygeneruje sloupec pro každý n-gram nalezený v celkovém korpusu a přidá skóre v každém sloupci, které označuje váhu n-gramu pro daný řádek.
  • Slovní zásoba výsledků: Slovník obsahuje skutečný slovník n-gramů spolu se skóre četnosti termínů, které se vygenerují jako součást analýzy. Datovou sadu můžete uložit pro opakované použití s jinou sadou vstupů nebo pro pozdější aktualizaci. Slovník můžete také znovu použít pro modelování a bodování.

Slovní zásoba výsledků

Slovník obsahuje n-gram slovník s termínem frequency scores, které jsou generovány jako součást analýzy. Skóre DF a IDF se generují bez ohledu na jiné možnosti.

  • ID: Identifikátor vygenerovaný pro každý jedinečný n-gram.
  • NGram: N-gram. Mezery nebo jiné oddělovače slov se nahradí znakem podtržítka.
  • DF: Termín frekvenční skóre pro n-gram v původním korpusu.
  • IDF: Skóre frekvence inverzního dokumentu pro n-gram v původním korpusu.

Tuto datovou sadu můžete aktualizovat ručně, ale může docházet k chybám. Příklad:

  • Pokud komponenta najde duplicitní řádky se stejným klíčem ve vstupním slovníku, dojde k chybě. Ujistěte se, že žádné dva řádky ve slovníku nemají stejné slovo.
  • Vstupní schéma datových sad slovníku se musí přesně shodovat, včetně názvů sloupců a typů sloupců.
  • Sloupec ID a sloupec DF musí být celočíselného typu.
  • Sloupec IDF musí být typu float.

Poznámka

Nepřipojujte výstup dat přímo ke komponentě Trénování modelu. Volné textové sloupce byste měli odebrat před jejich dodáním do trénování modelu. V opačném případě budou volné textové sloupce považovány za kategorické funkce.

Další kroky

Podívejte se na sadu komponent dostupných pro Azure Machine Learning.