Sdílet prostřednictvím


Extrakce funkcí n-gramů z textu

Důležité

Podpora studia Machine Learning (Classic) skončí 31. srpna 2024. Doporučujeme do tohoto data přejít na službu Azure Machine Learning.

Od 1. prosince 2021 nebude možné vytvářet nové prostředky studia Machine Learning (Classic). Do 31. srpna 2024 můžete pokračovat v používání stávajících prostředků studia Machine Learning (Classic).

Dokumentace ke studiu ML (Classic) se vyřazuje z provozu a v budoucnu se nemusí aktualizovat.

Vytvoří funkce slovníku N-gramů a provede na nich výběr funkcí.

kategorie: Analýza textu

Poznámka

platí pro: jenom Machine Learning Studio (classic)

podobné moduly přetažení jsou k dispozici v návrháři Azure Machine Learning.

Přehled modulu

v tomto článku se dozvíte, jak používat extrahování N-gramových funkcí z modulu textu v Machine Learning studiu (classic), zpracování Text a extrahování jenom nejdůležitějších informací z dlouhých textových řetězců.

Modul funguje tak, že vytvoří slovník n-gramů ze sloupce volného textu, který zadáte jako vstup. Tento modul používá různé metriky informací na seznam n gramů ke snížení dimenzionální hodnoty a identifikaci n-gramů, které mají nejvíc informací.

Pokud jste již vytvořili slovník n-gramů, můžete aktualizovat jeho statistiku nebo sloučit nové výrazy s využitím algoritmu váhy podle vašeho výběru.

Vzhledem k tomu, že tento modul podporuje featurization z n-gramů, lze jej také použít při bodování.

Jak konfigurovat funkce extrakce N-gramů z textu

Tento modul podporuje následující scénáře pro vytváření, aktualizaci nebo použití slovníku n-gramů:

  • Vyvíjíte nový model pomocí sloupce volného textu a chcete extrahovat textové funkce založené čistě na vstupních datech. Viz pokyny.

  • Máte existující sadu textových funkcí a chcete aktualizovat váhy zpracováním nových textových vstupů. Viz pokyny.

  • Generujete skóre z prediktivního modelu a v rámci procesu bodování potřebujete vygenerovat a používat textové vstupy se slovníkem n-gramů. Viz pokyny.

Můžete použít vzorový experiment pro referenci.

Vytvoří nový slovník n-gramů z textového sloupce.

  1. Přidejte funkce extrahovat N-gram z modulu textu do experimentu a připojte datovou sadu, která obsahuje text, který chcete zpracovat.

  2. V poli textový sloupecvyberte sloupec typu řetězec , který obsahuje text, který chcete extrahovat.

    Ve výchozím nastavení modul vybere všechny řetězcové sloupce. Vzhledem k tomu, že výsledky jsou podrobné, může být potřeba zpracovat jeden sloupec současně.

  3. V části režim slovníkuvyberte vytvořit a určete, že vytváříte nový seznam funkcí n-gramů.

    Informace o tom, jak aktualizovat existující sadu funkcí n-gramů, najdete v této části.

  4. Pro velikost n-gramůzadejte číslo, které určuje maximální velikost N-gramů k extrakci a uložení.

    Například pokud zadáte 3 , unigrams, bigrams a trigrams, vytvoří se.

  5. Pro možnost k přeskočení velikostizadejte maximální počet znaků, které se mohou lišit při identifikaci variant n-gramů. Pokud je hodnota k k nastavená na 0, n-gramů se dá vytvořit jenom z jedinečné souvislé sekvence znaků.

    Předpokládejme například, že váš slovník obsahuje unigram "Computer". Hodnota k s hodnotou 0 znamená, že "Computer" je jediný platný unigram. Pokud zvýšíte hodnotu k na 1, můžete přeskočit jeden odpovídající znak, který vám umožní najít více podobných sekvencí. Hodnota Skip-gram s hodnotou 1 typu 1 by se lišila o jeden znak od 0-k unigram. Proto by se Skip-gramy "conputer" a "compuuter" považovaly za součást stejné položky slovníku jako "Computer". Nastavení hodnoty k 2 by odpovídalo ještě více podobným slovům.

    Další informace o tom, jak se v analýze textu používají funkce Skip-gramů, najdete v tomto dokumentu: generace kandidátů a inženýrské funkce pro dohledovou normalizaci .

  6. Možnost, funkce váženíje vyžadována pouze v případě, že slučujete nebo aktualizujete slovníky. Určuje, jakým způsobem mají být v obou slovnících a jejich skóre mezi sebou navzájem vážené výrazy.

  7. Pro minimální délku slovazadejte minimální délku slova řetězce, který se dá analyzovat.

    Předpokládejme například, že minimální délka slova byla nastavena na hodnotu 3 (výchozí hodnota) a máte jeden vstup, který měl jedno slovo a druhý, který obsahoval nějaký krátký text jako "dobrý místo". Oba řádky by byly ignorovány.

  8. V poli Maximální délka slovazadejte maximální počet písmen, která se dají použít v libovolném slově v n-gramu.

    Ve výchozím nastavení je povolený až 25 znaků na jedno slovo nebo token. Slova, která jsou delší než, jsou odebrána na předpokladu, že jsou případně sekvence libovolného znaku, nikoli skutečné lexikální položky.

  9. Pro Minimální četnost relativních dokumentů n-gramůzadejte číslo, které označuje minimální počet výskytů vyžadovaných u libovolného slova nebo tokenu, které se mají zahrnout do slovníku n-gramů.

    Pokud například použijete výchozí hodnotu 5, všechny n-gramy nebo Skip-gram se musí v Corpus objevit alespoň pětkrát, aby bylo možné zahrnout do slovníku n-gramů.

  10. Pro maximální poměr dokumentů n-gramůzadejte číslo, které představuje tento poměr: počet řádků, které obsahují konkrétní n-gram, nad počet řádků v celkové corpus.

    Například poměr 1 znamená, že i v případě, že je v každém řádku k dispozici konkrétní n-gram, nelze do slovníku n-gramů přidat n-gram. Obvykle se slovo, které se vyskytuje v každém řádku, považuje za neobsažných slov a bude odebráno. Pokud chcete vyfiltrovat neobsažných slov závislých na doméně, zkuste tento poměr omezit.

    Důležité

    Míra výskytu konkrétních slov není jednotná, ale je odlišná od dokumentu k dokumentu. Pokud například analyzujete Komentáře zákazníků k určitému produktu, může být název produktu velmi vysokým kmitočtem a blízko neobsažných slov, ale v jiných kontextech se jedná o významné období.

  11. Tuto možnost vyberte, pokud chcete vygenerovat indikátor pro všechny řádky, které obsahují slova, která nejsou ve slovníku n-gramů, které se nazývají slova "out of-gram" (OOV).

    Všechny lexikony jsou omezené; Proto je corpus textu skoro zaručeno zahrnout slova, která nejsou ve slovníku lexikonu nebo n-gram. Taková slova ale můžou mít různé účinky na jazykové modely, včetně vyšších výpočetních hodnot ve srovnání se slovy ve slovníku (IV). V závislosti na vaší doméně můžou tato OOV slova představovat důležitá slova týkající se obsahu.

    Tím, že identifikujete řádky, které obsahují tato slova, můžete buď kompenzovat účinky těchto podmínek, nebo zpracovávat tyto termíny a související řádky samostatně.

  12. Pokud chcete přidat speciální sekvenci znaků, která označuje začátek věty ve slovníku n-gramů, vyberte možnost, označit začátek věty. Předpony n-gramů, které spouštějí větu se speciálním znakem, jsou běžné při analýze textu a můžou být užitečné při analýze hranic pro konání.

    Azure ML Studio (classic) vloží symbol ||| . Nemůžete zadat vlastní znak.

  13. Pokud chcete normalizovat vektory funkce, vyberte možnost normalizovat vektory funkcí n-gram . Když to uděláte, každý n-gram funkce Vector se vydělí podle jeho normy L2.

    Normalizace se používá ve výchozím nastavení.

  14. Pokud chcete povolit další možnosti správy velikosti vektoru funkce text, nastavte možnost použít výběr funkcí založených na filtrech na hodnotu true .

    • Výběr funkcí může být užitečný při snižování dimenzionálního množství n-gramů.
    • Pokud nepoužijete výběr filtru, budou vytvořeny všechny možné n-gramy, čímž se zvýší pokrytí za cenu toho, že je slovník delší a pravděpodobně zahrnuje mnoho málo častých podmínek.
    • V malém corpus může použití výběru funkcí významně snížit počet vytvořených podmínek.
    • Další informace najdete v tématu Výběr funkcí na základě filtru.

    Pokud používáte výběr funkcí, je nutné vybrat metodu z rozevíracího seznamu Metoda bodování funkce :

    • PearsonCorrelation: vypočítá korelační Pearsonova na základě hodnoty sloupce popisku a vektoru textu.
    • MutualInformation: vypočítá vzájemné skóre informací na základě hodnoty sloupce popisku a vektoru textu.
    • KendallCorrelation: vypočítá korelační Kendall na základě hodnoty sloupce popisku a vektoru textu.
    • SpearmanCorrelation: vypočítá korelační Spearman na základě hodnoty sloupce popisku a vektoru textu.
    • ChiSquared: používá metodu chí-kvadrát pro výpočet korelace mezi hodnotou sloupce popisku a vektorem textu.
    • FisherScore: vypočítá Fisherové skóre hodnoty sloupce popisku a vektoru textu.
    • Výběr funkcí založených na počtu: vytvoří nové funkce založené na počtu hodnot. Sloupec popisku není touto metodou vyžadován.

    V závislosti na zvolené metodě nastavte jednu z následujících možností:

    • Počet požadovaných funkcí: povinné, pokud používáte jinou metodu výběru funkcí než výběr funkcí založenou na počtu.

      V průběhu výběru funkcí všechny n-gramy získají skóre funkcí a n-gramů je seřazené podle skóre. Hodnota, kterou tady nastavíte, určuje, kolik z nejvysoce hodnocených funkcí je výstup. N-gramy s nižším skórem funkcí se zahodí.

    • Minimální počet nenulových prvků: vyžaduje se, pokud použijete výběr funkce na základě počtu.

      Zadejte celé číslo, které představuje minimální počet instancí (celkem) potřebných k uspořádejte počtu možných funkcí.

  15. Spusťte experiment.

    V této části najdete vysvětlení výsledků a jejich formátu.

Aktualizace existujícího slovníku n-gramů nebo sloučení slovníků

  1. Přidejte funkce extrakce N-gramů z modulu textu do experimentu a připojte datovou sadu, která obsahuje text, který chcete zpracovat na port datové sady .

  2. V poli textový sloupecvyberte textový sloupec obsahující text, který chcete zpracování. Ve výchozím nastavení modul vybere všechny sloupce typu řetězec. Nejlepších výsledků dosáhnete, když najednou zpracujete jeden sloupec.

  3. Přidejte uloženou datovou sadu obsahující dříve generovaný slovník n-gramů a připojte ho ke vstupnímu portu slovníku . Můžete také propojit výstup slovníku výsledků z nadřazené instance extrahovat N-gram funkcí z modulu textu .

    Aby bylo možné sloučit nebo aktualizovat slovník, musí schéma vstupního slovníku přesně odpovídat očekávanému formátu. Neodstraňujte žádné sloupce z nebo nepřidávejte žádné sloupce do vstupního slovníku.

  4. V části režim slovníkuv rozevíracím seznamu vyberte jednu z následujících možností aktualizace:

    • ReadOnly: představuje vstupní corpus z pohledu vstupního slovníku. To znamená, že místo výpočetní frekvence z nové datové sady textu (na levém vstupu) se použije n-gram závaží ze vstupního slovníku, jak je.

      Tip

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

    • Aktualizace: vytvoří nový slovník n-gramů ze vstupního corpus a sloučí ho se vstupním slovníkem. Jinými slovy můžete přidat nové položky do vytvořeného slovníku ze vstupního slovníku nebo můžete aktualizovat existující položky.

      Tip

      Tuto možnost použijte pro přírůstkové aktualizace slovníku s příchozími datovými balíky.

    • Sloučení: vygeneruje nový slovník n-gramů ze vstupního corpus.

      Tato možnost je užitečná, Pokud předáváte slovník na pozadí jako vstup do modulu a chcete snížit váhu stopových slov. Jinými slovy, každý záznam, který má vysoké skóre četnosti dokumentů ve slovníku pozadí, bude v vytvořeném slovníku přiřazeno nižší skóre četnosti dokumentů pro invertování.

      Tip

      Tuto možnost použijte, pokud nechcete přidat nové položky do vytvořeného slovníku ze vstupu a chcete upravit pouze skóre stávajících položek.

  5. Pokud slučujete nebo aktualizujete slovníky, Volba možnosti váženíse vyžaduje. Funkce váhy určuje, jak mají být skóre sv a IDF v obou slovnících mezi sebou vážená:

    • Binární váha: přiřadí hodnotu binární přítomnosti extrahovaných n-gramů. Jinými slovy, hodnota pro každý n-gram je 1, pokud existuje v daném dokumentu, a 0 jinak.
    • TF Weight: přiřadí skóre Term-frekvence (TF) do extrahovaných n-gramů. Hodnota pro každý n-gram je jeho četnost výskytů v daném dokumentu.
    • IDF Weight: přiřadí skóre (IDF) pro extrahované n-gramy. Hodnota pro každý n-gram je protokol velikosti corpus dělené četností výskytů v celém corpus. To je: IDF = log of corpus_size / document_frequency
    • TF-IDF Weight: přiřadí extrahované n-gramy termínu pro vyhodnocení četnosti dokumentů (TF/IDF). Hodnota pro každé n-gram je jeho skóre TF vynásobené skóre IDF.
    • Graph váha: přiřadí skóre extrahovaných n-gramů na základě řazení grafu TextRank. TextRank je model řazení založený na grafu pro zpracování textu. algoritmy hodnocení založené na Graph jsou v podstatě způsobem rozhodováním významu na základě globálních informací. Další informace najdete v tématu TextRank: uspořádání objednávek do textu podle řada Mihalcea a Paul Tarau.
  6. Všechny ostatní možnosti najdete v popisech vlastností v předchozí části.

  7. Spusťte experiment.

    V této části najdete vysvětlení výsledků a jejich formátu.

Skóre nebo publikování modelu, který používá n-gramů

  1. Zkopírujte funkce extrakce N-gramů z modulu textu z školicího toku dat do toku dat bodování.

  2. Připojení výstup slovníku výsledků z toku dat školení do vstupního slovníku v toku dat bodování.

  3. V pracovním postupu bodování upravte funkce extrakce N-gramů z modulu textu a udělejte tyto změny, přičemž všechny ostatní zůstanou stejné:

    • Nastavte parametr režimu slovníku na jen pro čtení.

    • Změňte možnost použít výběr funkce založený na filtrech na False .

  4. Chcete-li publikovat experiment, uložte výsledky slovníku jako datovou sadu.

    Pak připojte uloženou datovou sadu k extrakci N-gram funkcí z modulu textu v grafu bodování.

Výsledky

Extrahování N-gramů funkcí z textového modulu vytvoří dva typy výstupu:

  • Datová sada výsledků: Souhrn analyzovaného textu společně s n-gramy, které byly extrahovány. Sloupce, které jste nevybrali v možnosti textový sloupec , se předávají do výstupu. Pro každý sloupec textu, který analyzujete, modul vygeneruje tyto sloupce:

    • NgramsString: řetězec obsahující všechny jedinečné n-gramy.
    • NumUniqueNgrams: počet n-gramů extrahovaných pomocí zadaných vlastností.
    • Zhuštěná matice n-gramů výskytů: modul vygeneruje sloupec pro každý n-gram, který byl nalezen v celkové corpus, a přidá skóre do každého sloupce, aby označovala váhu n-gramů pro daný řádek.
  • Slovník výsledků: slovník obsahuje skutečný slovník n-gramů spolu s termínem četnosti, která se generují jako součást analýzy. Datovou sadu můžete uložit pro opakované použití s jinou sadou vstupů nebo pro pozdější aktualizace. Můžete také aktualizovat skóre nebo použít slovník pro modelování a bodování.

Ukázkové výsledky

K ilustraci, jak můžete použít výsledky, následující krátký příklad používá datovou sadu pro kontrolu příručky Amazon v aplikaci Studio (Classic). Filtr dataaset byl filtrován tak, aby zobrazoval pouze recenze s skóre 4 nebo 5 a recenze s délkou řetězce pod 300 znaků.

Z této datové sady bylo vybráno krátké přezkoumání obsahující pouze 92 slov. Tady je jméno autora nahrazené Xxx a název knihy se nahradil Yyy :

"Xxx at his best ! Yyy is one of Xxx's best yet! I highly recommend this novel."

Datová sada výsledků pro ukázkový text Revize

V této ukázce modul vygeneroval tyto sloupce:

  • NumUniqueNgrams: pro tuto 92 kontrolu slov používá výchozí nastavení, 11 n-gramů bylo extrahováno z ukázkové recenze.

    Pokud se délka n-gramu zvýšila na 3 a hodnota přeskočit-gram je nastavená na 1, našla se 15 n-gramů.

    Při použití výběru funkce na výchozí hodnotu nebyly extrahovány žádné n-gramy.

  • NgramsString: s výchozími nastaveními byly vráceny tyto n-gramy: ["jeho", "nejlepší", "jedna", "vysoká", "doporučit", "This", "nové", "his_best", "highly_recommend", "," recommend_this "," this_novel "]

    S n-gramovou délkou 3 a přeskočit-gram hodnoty 1, tyto n-gramy byly vráceny: ["jeho", "nejlepší", "jedna", "vysoká", "doporučit", "This", "nové", "his_best", "highly_recommend", "recommend_this", "this_novel", "best_one", "one_best", "highly_this", "highly_recommend_this"]

  • Zhuštěná matice výskytů n-gramů

    Pro tuto konkrétní kontrolu výsledky obsahují tyto sloupce:

    ReviewText. obsluh ReviewText. [and_highly] ReviewText. Doporučujeme ReviewText. [highly_recommend]
    0 0 0,301511 0,301511

    Tip

    Pokud máte potíže se zobrazením konkrétního sloupce, připojte modul Výběr sloupců v datové sadě k výstupu a potom pomocí funkce Search vyfiltrujte sloupce podle názvu.

Slovník výsledků pro ukázkový text Revize

Slovník obsahuje skutečný slovník n-gramů spolu s termínem četnosti, která jsou generována jako součást analýzy. Datovou sadu můžete uložit pro opakované použití s jinou sadou vstupů nebo pro pozdější aktualizace. Skóre DF a IDF se vygenerují bez ohledu na jiné možnosti. Při kombinování slovníků se tyto uložené hodnoty používají jako vstup pro funkci vážení, kterou zvolíte.

  • ID: identifikátor generovaný pro každý jedinečný n-gram.
  • Ngram: n-gram. Mezery nebo jiné oddělovače slov jsou nahrazeny znakem podtržítka.
  • DF: skóre četnosti pro n-gram v původní corpus.
  • IDF: inverzní četnosti dokumentů pro n-gram v původní Corpus

Tuto datovou sadu je možné ručně aktualizovat. Buďte ale opatrní, protože můžete zavádět chyby. Například:

  • Pokud modul nalezne v vstupním slovníku duplicitní řádky se stejným klíčem, vyvolá se chyba. 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 skóre DF musí být celočíselného typu.
  • Sloupec IDF musí být typu FLOAT (plovoucí desetinná čárka).

Technické poznámky

Doporučujeme experimentovat s různými rozsahy hodnot pro délku n-gramů, počtem přeskočení gramů a použitím výběru prvků určit dimenzionalitu textového korpusu a optimální poměr vlastností.

Další informace o n-gramech a skip-gramech najdete v těchto zdrojích informací:

Očekávané vstupy

Název Typ Description
Datová sada Tabulka dat Vstupní data
Vstupní slovník Tabulka dat Vstupní slovník

Parametry modulu

Název Typ Rozsah Volitelné Výchozí Description
Minimální počet nenulových prvků Integer >=1 Platí pouze při použití následující metody:

Count Based
1 Zadejte počet funkcí, které se mají zobrazit (pro metodu CountBased).
Textový sloupec Výběr sloupce Vyžadováno StringFeature (Řetězec) Název nebo index textového sloupce založený na jednom
Režim slovníku Slovníkový režim Vytvořit

ReadOnly

Aktualizace

Sloučit
Vyžadováno Vytvořit Určení způsobu vytváření slovníku n-gramů z korpusu
Velikost N gramů Integer >=1 Vyžadováno 1 Určete maximální velikost n gramů, které se má vytvořit.
Velikost K-Skip Integer >=0 Vyžadováno 0 Označení velikosti k-skip
Funkce váhy Vážená funkce Binární váha

Hmotnost TF

Váha IDF

Váha TF-IDF

Graph hmotnost
Vyžadováno Binární váha Zvolte váhovou funkci, která se použije na každou hodnotu n-gramů.
Minimální délka slova Integer >=1 Vyžadováno 3 Určení minimální délky slov, která se mají zahrnout do n gramů
Maximální délka slova Integer >=2 Vyžadováno 25 Zadejte maximální délku slov, která se mají zahrnout do n gramů.
Absolutní frekvence dokumentu minimální n-gramů Float >=1,0 Vyžadováno 5.0 Absolutní frekvence dokumentu minimální n-gramů
Maximální poměr n gramů dokumentů Float >=0,0001 Vyžadováno 1.0 Maximální poměr n gramů dokumentů
Detekce řádků mimo slovník Logická hodnota Vyžadováno true Rozpoznání řádků, které mají slova, která nejsou v slovníku n-gramů (OOV)
Označení začátku věty Logická hodnota Vyžadováno false (nepravda) Určuje, jestli se má přidat počáteční věta k n gramům.
Normalizovat n-gram vektorů funkcí Logická hodnota Vyžadováno Normalizuje n-gram vektorů funkcí. Je-li nastavena hodnota true, je vektor funkce n-gram rozdělen podle normy L2.
Použití výběru funkcí založených na filtrech Typ true false Ano

Ne
Vyžadováno Ano Použití výběru funkcí založených na filtrech k omezení rozměrů
Metoda bodování funkce Metoda bodování Korelace Pearsonova

Vzájemné informace

Korelace Kendall

Korelace Spearman

Chí na druhou

Fisherský výsledek

Podle počtu
Platí pouze v případě, že možnost použít výběr funkcí založených na filtrech je pravdivá. Fisherský výsledek Vyberte metodu, která se má použít pro bodování.
Cílový sloupec Výběr sloupce Platí při použití jedné z následujících metod:

Korelace Pearsonova

Vzájemné informace

Korelace Kendall

Korelace Spearman

Chí na druhou

Fisherský výsledek
Zadejte cílový sloupec.
Počet požadovaných funkcí Integer >= 1 Platí při použití jedné z následujících metod:

Korelace Pearsonova

Vzájemné informace

Korelace Kendall

Korelace Spearman

Chí na druhou

Fisherský výsledek
1 Zadejte počet funkcí pro výstup ve výsledcích

Výstupy

Název Typ Description
Datová sada výsledků Tabulka dat Extrahované funkce
Slovník výsledků Tabulka dat Slovník výsledků

Viz také

Analýza textu
seznam A – z Machine Learningch modulů