Megosztás a következőn keresztül:


Szöveg előfeldolgozása

Fontos

A (klasszikus) Machine Learning Studio támogatása 2024. augusztus 31-én megszűnik. Javasoljuk, hogy addig térjen át az Azure Machine Learning használatára.

2021. december 1-től kezdve nem fog tudni létrehozni új (klasszikus) Machine Learning Studio-erőforrásokat. 2024. augusztus 31-ig továbbra is használhatja a meglévő (klasszikus) Machine Learning Studio-erőforrásokat.

A (klasszikus) ML Studio dokumentációjának kivezetése folyamatban van, és a jövőben nem várható a frissítése.

Tisztítási műveleteket végez a szövegen

Kategória: Text Analytics

Megjegyzés

A következőkre vonatkozik: Machine Learning Studio (klasszikus)

Hasonló húzással használható modulok érhetők el Azure Machine Learning tervezőben.

A modul áttekintése

Ez a cikk azt ismerteti, hogyan használható a szöveg előfeldolgozása Machine Learning Studio (klasszikus) szövegének tisztítására és egyszerűsítésére. A szöveg előfeldolgozása által könnyebben hozhat létre jelentéssel bíró jellemzőket a szövegből.

Az Előfeldolgozási szöveg modul például a szövegekkel kapcsolatos gyakori műveleteket támogatja:

  • A leállítási szavak eltávolítása
  • Reguláris kifejezések használata adott célsringek keresésére és cseréjére
  • Lemmatizálás, amely több kapcsolódó szót egyetlen canonikus formába konvertál
  • Szűrés a beszéd bizonyos részeire
  • Eset normalizálása
  • Bizonyos karakterosztályok, például számok, speciális karakterek és ismétlődő karakterek sorozatának (például "aaaa" ) eltávolítása
  • E-mailek és URL-címek azonosítása és eltávolítása

Kiválaszthatja a használni kívánt tisztítási beállításokat, és igény szerint megadhat egy egyéni stop-szólistát is.

A modul jelenleg hat nyelvet támogat: angol, spanyol, francia, holland, német és olasz.

A szöveg előfeldolgozásának konfigurálása

  1. Adja hozzá a Preprocess Text (Szöveg előfeldolgozása ) modult a kísérlethez a Studióban (klasszikus). Ezt a modult a Text Analytics.

  2. Csatlakozás egy olyan adatkészletet, amely legalább egy szöveget tartalmazó oszloppal rendelkezik.

  3. Ha az előfeldolgozáshoz használt szöveg azonos nyelvű, válassza ki a nyelvet a Nyelv legördülő listából. Ezzel a beállítással a szöveg előfeldolgozása a kiválasztott nyelvre vonatkozó nyelvi szabályokkal lesz előfeldolgozásra.

  4. A több nyelvet tartalmazó szövegek előfeldolgozáshoz válassza az Oszlop nyelvi adatokat tartalmaz lehetőséget .

    Ezután a Kulturális környezet oszloptulajdonság használatával válasszon ki egy oszlopot az adatkészletben, amely az egyes sorokban használt nyelvet jelzi. Az oszlopnak tartalmaznia kell egy szabványos nyelvi azonosítót, például "Angol" vagy en.

    Ezen azonosító alapján a modul megfelelő nyelvi erőforrásokat alkalmaz a szöveg feldolgozásához.

    Ha az adatkészlet nem tartalmaz ilyen azonosítókat, a Nyelv felismerése modullal előre elemezheti a nyelvet, és létrehozhat egy azonosítót.

    Tipp

    Ha nem támogatott nyelvet tartalmaz, hiba történik. További információért tekintse meg a Műszaki megjegyzések szakaszt.

  5. Eltávolítás beszédrész alapján: Válassza ezt a lehetőséget, ha a beszédrészek elemzését szeretné alkalmazni. Ezután a beszédrészcímkék használatával eltávolíthat bizonyos szavakat.

    • Főnevek eltávolítása: Válassza ezt a lehetőséget a főnevek eltávolításához.
    • Melléknevek eltávolítása: Ezzel a beállítással eltávolíthatja a mellékneveket.
    • Műveletek eltávolítása: Válassza ezt a lehetőséget a műveletek eltávolításához.

    A használt beszédrész-azonosítási módszerrel kapcsolatos további információkért tekintse meg a Műszaki megjegyzések szakaszt .

  6. Megtisztítani kívánt szövegoszlop: Válassza ki az előfeldolgozáshoz kívánt oszlopot vagy oszlopokat.

  7. Leállítási szavak eltávolítása: Válassza ezt a lehetőséget, ha előre definiált stopword listát szeretne alkalmazni a szöveges oszlopra. A leállítási szóeltávolítást a rendszer a többi folyamat előtt végzi el.

    A stopword listák nyelvfüggők és testreszabhatók; További információért tekintse meg a Műszaki megjegyzések szakaszt.

  8. Lemmatization: Válassza ezt a lehetőséget, ha azt szeretné, hogy a szavak a saját canonical formjukban is jelen legyen. Ez a lehetőség akkor hasznos, ha csökkenteni kell az egyébként hasonló szöveges jogkivonatok egyedi előfordulásának számát.

    A lemmatizálási folyamat nagy mértékben függ a nyelvtől; további részletekért tekintse meg a Műszaki megjegyzések szakaszt.

  9. Mondatok felismerése: Válassza ezt a lehetőséget, ha azt szeretné, hogy a modul mondathatárjelet szúrjon be az elemzéshez.

    Ez a modul három sorból áll, ||| amelyek a mondatok lezáróját képviselik.

  10. Reguláris kifejezésekkel egyéni keresés és csere műveleteket is végrehajthat.

    • Egyéni reguláris kifejezés: Adja meg a keresett szöveget.
    • Egyéni helyettesítő sztring: Egyetlen helyettesítő érték definiálható.
  11. Kis- és nagybetűk normalizálása: Akkor válassza ezt a lehetőséget, ha az ASCII nagybetűket kisbetűs formára szeretné konvertálni.

    Ha a karakterek nincsenek normalizálva, a kis- és nagybetűkben szereplő szavak két különböző szónak számítanak: például ugyanaz, AMammint a .

  12. Az alábbi típusú karaktereket vagy karaktersorozatokat is eltávolíthatja a feldolgozott kimeneti szövegből:

    • Számok eltávolítása: Ezzel a beállítással eltávolíthatja a megadott nyelv összes numerikus karakterét.

    A számnak minősülő adatok azonosítása a tartománytól és a nyelvtől függ. Ha a numerikus karakterek egy ismert szó szerves részei, előfordulhat, hogy a szám nem lesz eltávolítva.

    • Speciális karakterek eltávolítása: Ezzel a beállítással a nem alfanumerikus speciális karaktereket a pipe karakterre cserélheti | .

      További információ a speciális karakterekről: Technikai megjegyzések .

    • Ismétlődő karakterek eltávolítása: Ezzel a beállítással eltávolíthatja a karaktereket megismétlő sorozatokat. Egy "aaaaa" vagy hasonló sorozatot például eltávolít a rendszer.

    • E-mail-címek eltávolítása: Ezzel a beállítással eltávolíthatja a formátum bármely sorozatát <string>@<string>.

    • URL-címek eltávolítása: Ezzel a beállítással eltávolíthatja a következő URL-előtagokat tartalmazó sorozatokat:

      • http, https
      • ftp
      • www
  13. Bontsa ki az igealak-összekötéseket: Ez a beállítás csak olyan nyelvekre vonatkozik, amelyek igés összekötéseket alkalmaznak; jelenleg csak angol nyelven.

    Ha például ezt a lehetőséget választja, lecserélheti a "would'would't stay there" kifejezést a "would not stay there" (nem marad ott) kifejezésre.

  14. A perjeleket perjelre normalizálja: Ezzel a beállítással a összes példányát a következőre lehet \\ leképezni: /.

  15. Jogkivonatok felosztása speciális karakterekre: Akkor &válassza ezt a lehetőséget, ha szavakat szeretne felosztani az olyan karaktereken, mint a , -és így tovább.

    A sztringet például MS-WORD két jogkivonatra( MS és ) kell elválasztani WORD.

Példák

A dokumentum alábbi Azure AI Gallery a Szöveg előfeldolgozása modul használatát szemléltetik:

Technikai megjegyzések

Ez a szakasz további információkat tartalmaz az alapul szolgáló szöveg előfeldolgozási technológiáról és az egyéni szöveges erőforrások megadásáról.

Támogatott nyelvek

Jelenleg Machine Learning támogatott a szöveg előfeldolgozása az alábbi nyelveken:

  • Holland
  • Angol
  • Francia
  • Német
  • Olasz
  • Spanyol

További nyelveket tervezünk. Közleményeket a Microsoft Machine Learning blogján talál.

Alapalak-keresés

A lemmatizálás egy olyan folyamat, amely egyetlen canonikus űrlapot azonosít több szótoken ábrázolása érdekében.

A Machine Learning Studio (klasszikus) által tartalmazott természetes nyelvi feldolgozási kódtárak a következő nyelvi műveleteket kombinálják a lemmatizálás érdekében:

  • Mondatok elkülönítése: Hangulatelemzéshez és más szövegelemzéshez használt szabad szövegben a mondatok gyakran futnak le vagy írásjelek hiányoznak. A bemeneti szövegek tetszőlegesen hosszú szövegtömbök lehetnek, amelyek egy tweettől vagy töredéktől egy teljes bekezdésig, vagy akár dokumentumokig is lehetnek.

    A Studio (klasszikus) által használt természetes nyelvi eszközök a mögöttes lexikális elemzés részeként végrehajtják a mondatok elválasztását. A mondatok azonban nincsenek elválasztva a kimenetben. Azt is megadhatja, hogy egy mondathatár más szövegfeldolgozásban és -elemzésben is segítséget nyújtson.

  • Tokenization: A szavak határait határozzák meg szabályok nyelvfüggőek, és még olyan nyelveken is összetettek, amelyek szavak közötti szóközöket tartalmaznak.

    Egyes nyelvek (például a kínai vagy a japán) nem használják a szavak közötti térközt, és a szavak elválasztásamorfológiai elemzést igényel.

    Ezért az ebben a modulban használt tokenization metódusok és szabályok különböző eredményeket biztosítanak a nyelvtől a nyelvhez. Ezeket a tokenizálási szabályokat a Microsoft Research által az egyes támogatott nyelvekhez biztosított szövegelemzési kódtárak határozzák meg, és nem szabhatók testre.

  • Beszédrészek azonosítása: Bármilyen szósorozatban nehéz lehet a szavak pontos részét számításilag meghatározni. Még az olyan egyszerű mondatok is sok tucat elemből állnak (ez egy híres példa). A beszédrészek a különböző nyelvekmorfológiától függően is eltérnek.

    Ebben Machine Learning egy kétértelmű modellel választjuk ki a beszéd egyetlen legvalószínűbb részét az aktuális mondatkörnyezet alapján. A beszédrész-információk segítenek a jellemzőkként használt szavak szűrésében és a kulcskifejezések kinyerésében. A modul kimenete azonban nem tartalmaz kifejezetten POS-címkéket, ezért nem használható POS-címkével ellátott szöveg létrehozásához.

  • Szótárűrlap létrehozása: Egy szó több lemmával vagy szótárűrlapokkal is lehet, amelyek mindegyikét más-más elemzésből lehet kihozni. Az angol nyelvű épületnek például két lehetséges lemmája van: az összeállítás, ha a szó főnév ("magas épület"), vagy build, ha a szó igét ("házépítést" tartalmaz). Ebben Machine Learning csak a legvalószínűbb szótárűrlap jön létre.

Példa a lemmatizálás kimenetére

Forrás Lemmatizálva kis- és esetkonverzióval
Ő úszó i i
Most egy siratot keres i go for a egyruhás
Az úszók jóak az épületekben A (rossz) jó a buildhez
Épít egy épület ő buildet építek
Mindannyian épületeket építünk mi mind buildet építünk

Megjegyzés

A szótárűrlap létrehozásához használt nyelvi modelleket számos általános célú és technikai szöveggel tanítják be és tesztelik, és számos más, természetes nyelvi API-kat igénylő Microsoft-termékben használják őket. A természetes nyelv természetéből adódóan nem egyértelmű, és nem valósítható meg 100%-os pontosság az összes szókészletben. Például a lemmatizálásra hatással lehet a beszéd más részei vagy a mondatok elemzési módja.

Ha további előzetes feldolgozást vagy nyelvi elemzést kell végeznie egy speciális vagy tartományfüggő szókincs használatával, javasoljuk, hogy testre szabható NLP-eszközöket használjon, például a Pythonban és az R-ben elérhető eszközöket.

Speciális karakterek

A speciális karakterek olyan egyszeres karakterek, amelyek nem azonosíthatók a beszéd más részeiként, és írásjeleket tartalmazhatnak: kettőspontokat, pontosvesszőket stb.

Stopwords

A stop szó (vagy stopword) egy olyan szó, amely gyakran el van távolítva az indexből, mert gyakori, és kevés értéket biztosít az információk lekérése számára annak ellenére, hogy nyelvi szempontból értelmezhető.

Sok nyelv például szemantikai különbséget tesz a végtelen és a végtelen cikkek között ("az épület" és az "épület") között, de a gépi tanulás és az információk lekérése esetén az információ néha nem releváns. Ezért dönthet úgy, hogy elveti ezeket a szavakat.

A Machine Learning környezet tartalmazza az egyes támogatott nyelvek leggyakoribb stopwords listáját.

Nyelv A stopwords száma Példák
Holland 49 aan, af, al
Angol 312 a, about, above
Francia 154 de, des, d', la
Német 602 a, ab, aber
Olasz 135 a, adesso, ai
Spanyol 368 ésa, ésta, éste

Az Ön kényelme érdekében az Azure Storage-ban elérhetővé lett egy tömörített fájl, amely az összes jelenlegi nyelv alapértelmezett stopwordsét tartalmazza:Stopwords.zip.

A stopword lista módosítása

Arra számítunk, hogy sok felhasználó szeretne létrehozni egy saját stopword listát, vagy módosítani az alapértelmezett listában szereplő kifejezéseket. A következő kísérlet a Cortana Intelligence Galleryben bemutatja, hogyan szabható testre egy leállítási szólista.

Ha módosítja a listát, vagy saját stop szólistát hoz létre, kövesse az alábbi követelményeket:

  • A fájlnak egyetlen szöveges oszlopot kell tartalmaznia. Ha további oszlop is található, a következő hibaüzenet jelenhet meg: "A szöveghiba oszlopának előfeldolgozása mintának a "Text column to clean" (Szövegoszlop megtisztítása) minta várhatóan 1 oszlopot ad meg a bemeneti adatkészletben, de 2 oszlop van/van ténylegesen megjelölve. ( 0022-es hiba )"

    Ebben az esetben keresse meg azokat a szóközöket, lapokat vagy rejtett oszlopokat, amelyek abban a fájlban vannak, amelyből eredetileg importálta a stopword listát. A fájl előkészített állapotától függően a szövegben szereplő tabulátorok vagy vesszők több oszlopot is okozhatnak.

    Ha ez a hiba jelenik meg, tekintse át a forrásfájlt, vagy használja az Adatkészlet oszlopainak kijelölése modult, hogy egyetlen oszlopot válasszon az Előfeldolgozási szöveg modulnak való bérlethez.

  • Minden sor csak egy szót tartalmazhat. A fájl elemezése céljából a szavakat szóközök beszúrása határozza meg.

  • A stopword lista nem lehet üres.

Műveleti sorrend

Ebben a modulban több műveletet is alkalmazhat szövegre. A műveletek alkalmazásának sorrendje azonban nem módosítható. Ez hatással lehet a várt eredményekre.

Ha például lemmatizálást alkalmaz a szövegre, és a stopword eltávolítást is használja, a rendszer az összes szót a lemma-űrlapjukká alakítja a stopword lista alkalmazása előtt. Ezért ha a szöveg olyan szót is tartalmaz, amely nem szerepel a stopword listában, de a lemma szerepel a stopword listában, a rendszer eltávolítja a szót.

A helyes eredmények garantálás érdekében mindenképpen tesztelje előre a cél kifejezéseket.

Nem támogatott nyelvek

Ha a szöveges oszlop olyan nyelveket tartalmaz, Machine Learning nem támogatja, javasoljuk, hogy csak azokat a beállításokat használja, amelyekhez nincs szükség nyelvfüggő feldolgozásra. Ez segíthet elkerülni a szokatlan eredményeket.

Ha az Oszlop nyelveket tartalmaz beállítást használja, győződjön meg arról, hogy a feldolgozott szöveg nem tartalmaz nem támogatott nyelveket. Ha az adatkészlet nem támogatott nyelvet vagy annak azonosítóját tartalmazza, a következő futásidő-hiba jön létre:

"Szöveg előfeldolgozása hiba (0039): Adjon meg egy támogatott nyelvet."

Ha nem sikerül a teljes kísérlet, mert a rendszer nem támogatott nyelvet észlelt, használja az Adatok felosztása modult, és adjon meg egy reguláris kifejezést az adatkészlet támogatott és nem támogatott nyelvekre való felosztására.

Az alábbi reguláris kifejezés például az oszlop észlelt nyelvének alapján osztja fel az adatkészletet Sentence:

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

Ha rendelkezik olyan oszloppal, amely tartalmazza a nyelvazonosítót, vagy ha ilyen oszlopot generált, az azonosító oszlopra az alábbihoz hasonló reguláris kifejezéssel szűrhet:

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

Várt bemenetek

Név Típus Description
Adathalmaz Adattábla Bemeneti adatok
Szavak leállítása Adattábla Eltávolítható leállítási szavak egyéni listája (nem kötelező)

Modulparaméterek

Név Típus Tartomány Választható Alapértelmezett Description
URL-címek eltávolítása Logikai Igaz

Hamis
Kötelező true URL-címek eltávolítása
Nyelv Nyelv Angol

Spanyol

Francia

Holland

Német

Olasz
Kötelező Angol Az előfeldolgozás nyelvének kiválasztása
Megtisztítani a szövegoszlopot Oszlop kiválasztása Kötelező StringFeature (Sztringfeature) Jelölje ki a megtisztítani kívánt szövegoszlopot
Egyéni reguláris kifejezés Sztring Választható Az egyéni reguláris kifejezés megadása
Egyéni helyettesítő sztring Sztring Választható Az egyéni reguláris kifejezés egyéni helyettesítő sztringének megadása
Leállítási szavak eltávolítása Logikai Kötelező true Leállítási szavak eltávolítása
Alapalak-keresés Logikai Kötelező true Lemmatizálás használata
Eltávolítás beszédrész alapján True False Type true

hamis
Kötelező Hamis Annak jelzése, hogy a beszédrészek elemzése használható-e bizonyos szóosztályok azonosítására és eltávolítására
Főnevek eltávolítása Logikai Akkor érvényes, ha a Szűrés beszédrész alapján beállítás ki van jelölve true Főnevek eltávolítása
Melléknevek eltávolítása Logikai Akkor érvényes, ha a Szűrés beszédrész alapján beállítás ki van jelölve true Melléknevek eltávolítása
Műveletek eltávolítása Logikai Akkor érvényes, ha a Szűrés beszédrész alapján beállítás ki van jelölve true Műveletek eltávolítása
Mondatok észlelése Logikai Kötelező true Mondatok felismerése mondatok befogyó \"||| \" az n-gram jellemzők kinyerőmodulja által használható
Kis- és nagybetűk normalizálása Logikai Kötelező true Kis- és nagybetűk normalizálása
Számok eltávolítása Logikai Kötelező true Számok eltávolítása
Speciális karakterek eltávolítása Logikai Kötelező true Távolítsa el a nem alfanumerikus speciális karaktereket, és cserélje le őket a \"|\" karakterre
Ismétlődő karakterek eltávolítása Logikai Kötelező true Ismétlődő karakterek eltávolítása
E-mail-címek eltávolítása Logikai Kötelező true E-mail-címek eltávolítása

Kimenetek

Név Típus Description
Eredményadatkészlet Adattábla Eredményadatkészlet

Kivételek

Kivétel Description
0003-as hiba Kivétel történik, ha egy vagy több bemenet null vagy üres.
0030-as hiba a kivétel akkor jelentkezik, ha nem lehet letölteni egy fájlt.
0048-as hiba Kivétel történik, ha nem lehet megnyitni egy fájlt.
0049-es hiba Kivétel történik, ha nem lehet fájlokat elemezni.

A Studio (klasszikus) moduljaival kapcsolatos hibák listájáért tekintse meg a Machine Learning hibakódokat.

Az API-kivételek listájáért tekintse meg a Machine Learning REST API hibakódokat.

Lásd még

Text Analytics

A–Z modullista