Sdílet prostřednictvím


Předzpracování 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.

Provádí operace čištění textu.

Kategorie: Analýza textu

Poznámka

Platí pro: Machine Learning Studio (classic)

Podobné moduly s přetahováním jsou k dispozici v Azure Machine Learning návrháři.

Přehled modulu

Tento článek popisuje, jak pomocí modulu Předzpracování textu v Machine Learning Studiu (klasickém) vyčistit a zjednodušit text. Díky předběžnému zpracování textu můžete snadněji vytvářet smysluplné funkce z textu.

Například modul Předzpracování textu podporuje tyto běžné operace s textem:

  • Odebrání stop slov
  • Použití regulárních výrazů k vyhledání a nahrazení konkrétních cílových řetězců
  • Kanomatizace, která převede více souvisejících slov na jeden kanonický tvar
  • Filtrování konkrétních částí řeči
  • Normalizace případu
  • Odebrání určitých tříd znaků, jako jsou čísla, speciální znaky a sekvence opakovaných znaků, například "aaaa".
  • Identifikace a odebrání e-mailů a adres URL

Můžete zvolit, které možnosti čištění použít, a volitelně můžete zadat vlastní seznam stop slov.

Modul aktuálně podporuje šest jazyků: angličtinu, španělštinu, francouzštinu, nizozemštinu, němčinu a italštinu.

Konfigurace předběžného zpracování textu

  1. Přidejte do experimentu v nástroji Studio (classic) modul Předzpracování textu. Tento modul najdete v části Analýza textu.

  2. Připojení datovou sadu, která obsahuje alespoň jeden sloupec obsahující text.

  3. Pokud je text, který předzpracování, ve stejném jazyce, vyberte jazyk z rozevíracího seznamu Jazyk. Při použití této možnosti se text předzpracuje pomocí lingvistických pravidel specifických pro vybraný jazyk.

  4. Pokud chcete předzpracování textu, který může obsahovat více jazyků, zvolte možnost Sloupec obsahuje jazyk .

    Potom pomocí vlastnosti sloupce Jazyková verze zvolte sloupec v datové sadě, který označuje jazyk použitý v každém řádku. Sloupec musí obsahovat standardní identifikátor jazyka, například angličtinu nebo en.

    Na základě tohoto identifikátoru modul použije příslušné lingvistické prostředky ke zpracování textu.

    Pokud vaše datová sada takové identifikátory neobsahuje, použijte modul Zjistit jazyk k analýze jazyka předem a vygenerujte identifikátor.

    Tip

    Pokud je součástí nepodporovaného jazyka, dojde k chybě. Další informace najdete v části Technické poznámky.

  5. Odebrat částí řeči: Tuto možnost vyberte, pokud chcete použít analýzu části řeči. Pak můžete pomocí značek části řeči odebrat určité třídy slov.

    • Odebrat podstatné jméno: Tuto možnost vyberte, pokud chcete podstatné jméno odebrat.
    • Odebrat přídavná jména: Tuto možnost vyberte, pokud chcete odebrat přídavná jména.
    • Odebrat příkazy: Tuto možnost vyberte, pokud chcete příkazy odebrat.

    Další informace o použité metodě identifikace části řeči najdete v části Technické poznámky.

  6. Textový sloupec, který se má vyčistit: Vyberte sloupec nebo sloupce, které chcete předběžně zpracovat.

  7. Odebrat stop slova: Tuto možnost vyberte, pokud chcete u textového sloupce použít předdefinovaný seznam stopwordů. Před jinými procesy se provede zastavení odebrání slov.

    Seznamy skončené slov jsou závislé na jazyce a lze je přizpůsobit. Další informace najdete v části Technické poznámky.

  8. Přimětování: Tuto možnost vyberte, pokud chcete, aby slova byla reprezentována v kanonickém tvaru. Tato možnost je užitečná pro snížení počtu jedinečných výskytů jinak podobných textových tokenů.

    Proces lematizace je vysoce závislý na jazyce. Podrobnosti najdete v části Technické poznámky.

  9. Rozpoznat věty: Tuto možnost vyberte, pokud chcete, aby modul při provádění analýzy vložil značku hranice věty.

    Tento modul používá řadu tří znaků kanálu k ||| reprezentaci ukončovací věty.

  10. Volitelně můžete provádět vlastní operace hledání a nahrazení pomocí regulárních výrazů.

    • Vlastní regulární výraz: Definujte text, který hledáte.
    • Vlastní nahrazování řetězce: Definujte jednu nahrazování hodnoty.
  11. Normalizovat malá a velká písmena: Tuto možnost vyberte, pokud chcete převést velká písmena ASCII na jejich malá písmena.

    Pokud znaky nejsou normalizovány, AM je stejné slovo velkými a malými písmeny považováno za dvě různá slova: například je stejné jako am.

  12. Volitelně můžete z zpracovaného výstupního textu odebrat následující typy znaků nebo sekvence znaků:

    • Odebrat čísla: Tuto možnost vyberte, pokud chcete odebrat všechny číselné znaky pro zadaný jazyk.

    Identifikace toho, co představuje číslo, závisí na doméně a závisí na jazyce. Pokud jsou číselné znaky nedílnou součástí známého slova, nemusí být číslo odebráno.

    • Odebrat speciální znaky: Tuto možnost použijte, pokud chcete nahradit všechny jiné než alfanumerické speciální znaky znakem kanálu | .

      Další informace o speciálních znacích najdete v části Technické poznámky.

    • Odebrat duplicitní znaky: Tuto možnost vyberte, pokud chcete odebrat všechny sekvence, které znaky opakují. Například sekvence jako "aaaaa" by byla odebrána.

    • Odebrat e-mailové adresy: Tuto možnost vyberte, pokud chcete odebrat libovolnou posloupnost formátu <string>@<string>.

    • Odebrat adresy URL: Tuto možnost vyberte, pokud chcete odebrat libovolnou sekvenci, která obsahuje následující předpony adresy URL:

      • http, https
      • ftp
      • www
  13. Rozbalit souvětí sloves: Tato možnost se vztahuje pouze na jazyky, které používají souvětí sloves. v současné době pouze v angličtině.

    Když například vyberete tuto možnost, můžete nahradit frázi "nezůrazní se tam" výrazem "nezůrazí se tam".

  14. Normalizovat zpětná lomítka na lomítka: Tuto možnost vyberte, pokud chcete mapovat všechny instance \\/na .

  15. Rozdělit tokeny na speciální znaky: Tuto možnost vyberte, pokud chcete rozdělit slova &na znaky, jako jsou , -a tak dále.

    Například řetězec by byl MS-WORD rozdělen do dvou tokenů, MSWORDa .

Příklady

Následující příklady v Azure AI Gallery ilustrují použití modulu Předzpracování textu:

Technické poznámky

Tato část obsahuje další informace o základní technologii předběžného zpracování textu a o tom, jak zadat vlastní textové prostředky.

Podporované jazyky

V Machine Learning podporuje předběžné zpracování textu v těchto jazycích:

  • Nizozemština
  • Angličtina
  • Francouzština
  • Němčina
  • Italština
  • Španělština

Plánují se další jazyky. Oznámení najdete na Machine Learning Microsoftu.

Lemmatizace

Při identifikaci jednoho kanonického formuláře reprezentující vícesložkových tokenů je proces symmatizace.

Knihovny pro zpracování přirozeného jazyka, které jsou součástí Machine Learning Studia (klasického), kombinují následující několik lingvistických operací, aby poskytovaly operaci namatizaci:

  • Oddělení vět: Ve volném textu používaném k analýze mínění a jiné analýze textu se věty často spouštějí nebo chybí interpunkce. Vstupní texty můžou představovat libovolně dlouhý blok textu, od tweetu nebo fragmentu až po úplný odstavec nebo dokonce dokument.

    Nástroje přirozeného jazyka používané v nástroji Studio (klasickém) provádějí rozdělení vět jako součást podkladové lexikální analýzy. Ve výstupu ale nejsou oddělené věty. Volitelně můžete určit, že hranice věty bude označena jako pomůcka při jiném zpracování a analýze textu.

  • Tokenizace: pravidla, která určují hranice slov, jsou závislá na jazyce a můžou být složitá i v jazycích, které používají mezery mezi slovy.

    Některé jazyky (například čínština nebo japonština) nepoužívají žádné prázdné znaky mezi slovy a oddělení slov vyžaduje morfologickou analýzu.

    Proto metody a pravidla tokenizace používané v tomto modulu poskytují různé výsledky od jazyka až po jazyk. Tato pravidla tokenizace jsou určena knihovnami analýzy textu poskytovanými nástrojem Microsoft Research pro každý podporovaný jazyk a nelze je přizpůsobit.

  • Identifikace částí řeči: v jakékoli posloupnosti slov může být obtížné výpočetně identifikovat přesnou část řeči pro každé slovo. Dokonce i zdánlivě jednoduchá věta, jako je například "čas rozletí jako šipka", může mít mnoho desítek analýz (například slavných). Části řeči se také velmi liší v závislosti na morfologii různých jazyků.

    v Machine Learning se k výběru jediné nejpravděpodobnější součásti řečipoužívá model nejednoznačnosti, který je dán aktuálním kontextem věty. Informace o částech mluveného slova slouží jako pomůcka pro filtrování slov používaných jako funkce a podpora při extrakci klíčových frází. Výstup tohoto modulu však explicitně neobsahuje značky POS, a proto jej nelze použít ke generování textu označeného POS.

  • Vygenerování formátu slovníku: slovo může mít několik lemmasnebo slovníkových formulářů, z nichž každá přichází z jiné analýzy. Například budova v anglickém slově má dvě možné lemmas: sestavování , pokud je slovo podstatným názvem ("vyšší budova"), nebo pokud je slovo sloveso (" sestavování domu"). v Machine Learning je vygenerován pouze jeden nejpravděpodobnější formulář slovníku.

Ukázkový výstup lemmatizátor nebo předzpracování

Zdroj Lemmatized s převodem velkých a malých písmen
Je na něm plavecké
Vychází z plavecké plavecké
Ta je vhodná pro stavební svalovou tkáň plavecké je dobré pro svalovou tkáň sestavení
Sestavuje sestavení. vytvořím sestavení
Máme všechny budovy. sestavuje se všechno sestavení

Poznámka

Jazykové modely použité ke generování formátu slovníku byly vyzkoušeny a testovány na nejrůznějších obecných a technických textech a jsou používány v mnoha dalších produktech Microsoftu, které vyžadují rozhraní API pro přirozené jazyky. Přirozený jazyk je však z vlastního slovníku nejednoznačný a 100% přesnost ve všech slovnících není proveditelné. Například lemmatizátor nebo předzpracování může mít vliv na jiné části řeči nebo na způsob, jakým se tato věta analyzuje.

Pokud potřebujete provést další předběžné zpracování nebo provést lingvistickou analýzu pomocí specializovaného slovníku nebo slovníku závislého na doméně, doporučujeme použít přizpůsobitelné nástroje NLP, například ty, které jsou k dispozici v Pythonu a R.

Speciální znaky

Speciální znaky jsou definovány jako jednotlivé znaky, které nelze identifikovat jako jakoukoli jinou část řeči, a mohou obsahovat interpunkční znaménka: dvojtečky, středníky a tak dále.

Stopslova

Stop Word (nebo stopslovo) je slovo, které se často odebírá z indexů, protože je běžné a poskytuje malou hodnotu pro načítání informací, i když může být lingvisticky smysluplnější.

Mnoho jazyků například představuje sémantické rozlišení mezi určitými a neurčitými články ("sestavou" vs "sestavou"), ale pro strojové učení a načítání informací se někdy tyto informace nevztahují. Proto se můžete rozhodnout tato slova zrušit.

prostředí Machine Learning obsahuje seznam nejběžnějších stopslova pro každý z podporovaných jazyků.

Jazyk Počet stopslova Příklady
Nizozemština 49 aan, AF, Al
Angličtina 312 a, o, nad
Francouzština 154 de, des, d, La
Němčina 602 a, AB, aber
Italština 135 a, Adesso, AI
Španělština 368 ésa, ésta, éste

Pro usnadnění práce je ve službě Azure Storage k dispozici soubor ZIP obsahující výchozí stopslova pro všechny aktuální jazyky: Stopwords.zip.

Postup úpravy seznamu stopslovo

Očekáváme, že mnoho uživatelů chce vytvořit vlastní stopslovo seznamy, nebo můžete změnit výrazy obsažené ve výchozím seznamu. následující experiment v Cortana Intelligence Gallery ukazuje, jak lze přizpůsobit seznam stop-slov.

Pokud seznam upravíte nebo vytvoříte vlastní seznam stopových aplikací, postupujte podle těchto požadavků:

  • Soubor musí obsahovat jeden textový sloupec. Pokud je k dispozici další sloupec, může se zobrazit následující chyba: "vzorek výběru sloupce chyba při chybě textu", který má být vyčištěný "sloupec" text " (Error 0022)

    Pokud k tomu dojde, hledejte mezery, tabulátory nebo skryté sloupce přítomné v souboru, ze kterého byl původně importován seznam stopslovo. V závislosti na tom, jak byl soubor připravený, můžou tabulátory nebo čárky zahrnuté v textu také způsobit vytvoření více sloupců.

    Když se zobrazí tato chyba, zkontrolujte zdrojový soubor nebo použijte modul Vybrat sloupce v datové sadě k výběru jednoho sloupce, který se předá modulu textu předběžného zpracování .

  • Každý řádek může obsahovat pouze jedno slovo. Pro účely analýzy souboru jsou slova určena vložením mezer.

  • Seznam stopslovo nemůže být prázdný.

Pořadí operací

V tomto modulu můžete použít více operací na text. Pořadí, ve kterém se tyto operace používají, ale nelze změnit. To může mít vliv na očekávané výsledky.

Například pokud použijete lemmatizátor nebo předzpracování na text a také použijete odebrání stopslovo, všechna slova budou převedena na jejich lemma formuláře před použitím seznamu stopslovo. Proto pokud text obsahuje slovo, které není v seznamu stopslovo, ale jeho lemma je v seznamu stopslovo, slovo by se odebralo.

Nezapomeňte předem otestovat cílové podmínky, abyste zaručili správné výsledky.

Nepodporované jazyky

pokud textový sloupec zahrnuje jazyky, které nejsou podporovány nástrojem Machine Learning, doporučujeme použít pouze ty možnosti, které nevyžadují zpracování závislé na jazyce. To může zabránit neobvyklým výsledkům.

Pokud použijete sloupec možnost jazyk, musíte zajistit, aby se v zpracovávaném textu neobsahovaly žádné nepodporované jazyky. Pokud datová sada obsahuje nepodporovaný jazyk nebo jeho identifikátor, vygeneruje se následující chyba za běhu:

"Chyba při zpracování textu (0039): zadejte podporovaný jazyk."

Aby nedošlo k selhání celého experimentu, protože byl zjištěn nepodporovaný jazyk, použijte modul Split data a zadejte regulární výraz pro rozdělení datové sady na podporované a nepodporované jazyky.

Například následující regulární výraz rozdělí datovou sadu na základě zjištěného jazyka sloupce Sentence :

\"Sentence Language" Dutch|English|French|Italian|Spanish

Pokud máte sloupec, který obsahuje identifikátor jazyka, nebo pokud jste tento sloupec vygenerovali, můžete použít regulární výraz, jako je například následující pro filtrování ve sloupci identifikátor:

\"Sentence Iso6391 Name" nl|en|fr|it|es

Očekávané vstupy

Název Typ Description
Datová sada Tabulka dat Vstupní data
Stop – slova Tabulka dat Volitelný vlastní seznam stop slov k odebrání

Parametry modulu

Název Typ Rozsah Volitelné Výchozí Description
Odebrání adres URL Logická hodnota Ano

Ne
Vyžadováno true Odebrání adres URL
Jazyk Jazyk Angličtina

Španělština

Francouzština

Nizozemština

Němčina

Italština
Vyžadováno Angličtina Vyberte jazyk, který se má předzpracován.
Textový sloupec, který se má vyčistit Výběr sloupce Vyžadováno StringFeature (Řetězec) Výběr textového sloupce, který se má vyčistit
Vlastní regulární výraz Řetězec Volitelné Zadání vlastního regulárního výrazu
Vlastní nahrazování řetězce Řetězec Volitelné Zadání vlastního nahrazování řetězce pro vlastní regulární výraz
Odebrání stop slov Logická hodnota Vyžadováno true Odebrání stop slov
Lemmatizace Logická hodnota Vyžadováno true Použití lematizace
Odebrání částí řeči True False Type true

false (nepravda)
Vyžadováno Ne Určete, jestli se má část analýzy řeči použít k identifikaci a odebrání určitých tříd slov.
Odebrání podstatného jména Logická hodnota Platí, když je vybraná možnost Filtrovat podle části řeči. true Odebrání podstatného jména
Odebrání přídavných jména Logická hodnota Platí, když je vybraná možnost Filtrovat podle části řeči. true Odebrání přídavných jména
Odebrání operací Logická hodnota Platí, když je vybraná možnost Filtrovat podle části řeči. true Odebrání operací
Rozpoznání vět Logická hodnota Vyžadováno true Rozpoznání vět přidáním ukončovací znaku věty \"||| \", který může používat modul extrahovače funkcí n-gramů
Normalizujte velká a malá písmena. Logická hodnota Vyžadováno true Normalizujte velká a malá písmena.
Odebrání čísel Logická hodnota Vyžadováno true Odebrání čísel
Odebrání speciálních znaků Logická hodnota Vyžadováno true Odeberte jiné než alfanumerické speciální znaky a nahraďte je znakem \"|\".
Odebrání duplicitních znaků Logická hodnota Vyžadováno true Odebrání duplicitních znaků
Odebrání e-mailových adres Logická hodnota Vyžadováno true Odebrání e-mailových adres

Výstupy

Název Typ Description
Datová sada výsledků Tabulka dat Datová sada výsledků

Výjimky

Výjimka Description
Chyba 0003 K výjimce dojde, pokud má jeden nebo více vstupů hodnotu null nebo je prázdný.
Chyba 0030 K výjimce dojde v nástroji , když není možné stáhnout soubor.
Chyba 0048 K výjimce dojde, když není možné otevřít soubor.
Chyba 0049 K výjimce dochází v případě, že není možné parsovat soubor.

Seznam chyb specifických pro moduly sady Studio (classic) najdete v Machine Learning kódy chyb.

Seznam výjimek rozhraní API najdete v tématu Machine Learning REST API kódy chyb.

Viz také

Analýza textu

Seznam modulů A až Z