NLP (természetes nyelv feldolgozása)

Ez a munka útmutató a francia nyelvű szövegszerkesztéshez,

természetes

Ez a cikk bemutatja az alapvető szókincset és egy javasolt munkafolyamatot az NLP alkalmazások készítéséhez, amelyek segítenek a leggyakoribb feladatok megkezdésében, mint például a hangulatelemzés, az entitásfelismerés, a szó beágyazásai és a fordítás. Automatikus ... stb.

Összesen 4 cikkből áll

NLP (Natural Language Processing) gépi tanulási osztályozás 2

Az előző cikkben,

medium.com

NLP (természetes nyelv feldolgozása) szövegosztályozási munkafolyamat (n-grammot vegyen be)

__PART__ 3

medium.com

A modern szövegelemzés ma már nagyon hozzáférhető Python és nyílt forráskódú eszközök segítségével, amelyek segítségével megtanulhatja, hogyan elemezze a szöveges adatait. Ez a cikk elmagyarázza a természetes nyelvi feldolgozás (NLP) és a szövegelemzés fogalmait. Röviden áttekintjük az előfeldolgozás különböző szakaszait.

Szöveges adatok, amelyek formátuma többnyire strukturálatlan. A strukturálatlan adatok nem ábrázolhatók táblázatos formában. Ezért elengedhetetlen a numerikus funkcionalitássá konvertálása, mivel a legtöbb gépi tanulási algoritmus csak számokat képes feldolgozni. Nagyobb hangsúlyt fognak fektetni az olyan lépésekre, mint a tokenizálás, a stemming, a lemmatization és a szóeltávolítás leállítása. Megtanulja a funkciók kibontásának két népszerű módszerét is: a word és TFIDF táskát, valamint a meglévő funkciókból új funkciók létrehozásának különféle módszereit.

Mielőtt elkezdenénk a cikket, telepítjük a scikit-learn és a cikkben használt többi (spacy) könyvtárat. A telepítés lépéseit itt találja:

  • pip install -U spacy
  • pip install scikit-learn

A szöveges adatok legtöbbször nem használhatók úgy, ahogy vannak. A különféle ismeretlen szimbólumok vagy linkek jelenléte ugyanis alkalmatlanná teszi a használatra. Az adattisztítás az értelmes adatrészletek kinyerésének művészete a felesleges részletek eltávolításával. Különböző szimbólumok, például a „_/\ _” és a „:),”. Ezek a szimbólumok például nem sokat járulnak hozzá a jelentéséhez. El kell távolítanunk ezeket a nem kívánt részleteket. Ez nemcsak azért történik, hogy jobban összpontosítson a tényleges tartalomra, hanem a számítások csökkentése érdekében is. Ennek elérése érdekében olyan módszereket alkalmaznak, mint a tokenizálás és a sztorning. . Részletesen megvitatjuk a különböző előfeldolgozási feladatokat, és példákkal bemutatjuk azokat.

Adott mondatot tokenizációnak nevezünk, amelyet karakterekre vagy szavakra bontunk. Vannak olyan könyvtárak, mint például a spaCy, amelyek komplex megoldásokat kínálnak a tokenizálásra.

Szöveg tokenizálása mondatokban.

[Ez egy első mondat. ’,„ Akkor írok egy másodikat. ”, Végül itt van egy harmadik nagybetű nélkül”]

A szöveg tokenizálása tokenekben.

['Ez', 'is', '1', 'első', 'mondat', '.', 'Akkor', 'j' ',' be ',' ír ',' egy ',' második ', '.', 'for', 'finish', 'in', 'here', 'one', 'third', 'without', 'put', 'of', 'nagybetűs]]

A szöveg karakterekké konvertálása

A Python listafüggvénye felvesz egy karakterláncot, és átalakítja azt egyedi karakterek listájává. Ez a szöveget karakterekké alakítja. A következő kódblokk bemutatja a használt kódot.

Nagy mennyiségű szöveg feldolgozása

Ha nagyszámú szöveget kell feldolgoznia, és több Doc objektumot kell létrehoznia egymás után, az nlp.pipe módszer jelentősen felgyorsíthatja ezt a műveletet. A szövegeket folyamként kezeli, és Doc objektumokat generál. Sokkal gyorsabb, mint az nlp meghívása minden szövegre.

[["Ez", "is", "1", "első", "mondat", "."], ["Akkor", "j", "en", "írj", "a", " második ','. '], [' for ',' finish ',' in ',' voila ',' one ',' third ',' without ',' put ',' of ',' nagybetű ']]

A stop szavak olyan általános szavak, amelyek egyszerűen a mondatok felépítésének megkönnyítésére szolgálnak. Mivel nagyon gyakran fordulnak elő, és jelenlétük nem sok hatással van a mondat értelmére, törölni kell őket. A "megállító szavak" a szavak listájához hasonlóan jönnek létre. Ezek a listák általában elérhetőek egy spacy nevű könyvesboltban, és sok különböző nyelven.

Minden nyelvhez nincs univerzális állítólista-lista, nagy része a használati esettől és az elvárt eredmények típusától függ. Általában ez a nyelv leggyakoribb szavainak felsorolása. A spaCy stop szavakkal nagyon könnyű azonosítani az egyes tokenek IS_STOP attribútumát, amely lehetővé teszi számunkra, hogy a szó üres szó-e vagy sem. Hozzáadhatjuk saját megállító szavainkat is a megálló szavak listájához.

Ilyen módon érhetjük el a listákat francia nyelven.

Stop szavak száma: 600
Az első tíz megállító szó: [ötvenedik ”,„ tes ”, egymásra helyez,„ render ”, különféle”, „n”, „minden bizonnyal”, most ’, utána”, „les”]

Törölőszavak törlése

Eredeti szöveg: [’Ez 1 első mondat.’, „Aztán írok egy másodikat.”, „Végül itt van egy harmadik nagybetű nélkül”]
szöveg szó nélkül: [[1, mondat,.], [ír, második,.], [befejez, betesz, nagybetű]]

Adjon hozzá egyéni leállítási szavakat

Eredeti szöveg: [’Ez 1 első mondat.’, „Aztán írok egy másodikat.”, „Végül itt van egy harmadik nagybetű nélkül”]
szöveg szó nélkül: [[’mondat’], [ír ”,’ második ’], [befejez’, betesz ’, nagybetű’]]

Egyes szavak írása, kiejtése és másképp van ábrázolva, például Mumbai és Bombay, valamint az Egyesült Államok és az Egyesült Államok. Bár különböznek, ugyanazt jelentik. Különböző szavak is léteznek, amelyeket át kell alakítani alapalakokká. Például az olyan szavak, mint a „kész” és a „fesait”, amikor átalakítják alapformájukra, „do” -akká válnak. Ezen vonalak mentén a szöveg normalizálása egy olyan folyamat, amelynek során a szöveg különböző variációit átalakítják szabványos formává. A szöveg normalizálását el kell végeznünk, mert egyes szavak ugyanazt jelenthetik. A szöveg normalizálásának többféle módja van, például a helyesírás-ellenőrzés, a szóalkotás és a lemmatizálás. A téma jobb megértése érdekében megnézzük a gyakorlati megvalósítást.

[['ez', 'is', '1', 'első', 'mondat', '.'], ['majd', „j", 'en', 'írj', 'a', ' második ','. '], [' for ',' finish ',' in ',' voila ',' one ',' third ',' without ',' put ',' of ',' nagybetű ']]

Az „US” helyett „United States”, a „18” helyett „2018”. Ehhez a csere funkciót használjuk

Ha nagy terminológiai listákra van szüksége, használhatja a PhraseMatcher objektumokat is spacy a közös, több szóból álló kifejezések egyszerű elemekké alakításához