fastText a ako ju použiť na analýzu textu?

Všetci používame Facebook a musíte mať skúsenosti s tým, že ste nejako uverejnili príspevok, a Facebook vám začína zobrazovať reklamy presne súvisiace s touto vecou.

Ak napríklad vytvoríte príspevok na Facebooku, ktorý opustíte svoju prácu, aby ste založili svoj nový podnik a zrazu vám Facebook začne zobrazovať reklamy ako je tento,

Ako presne Facebook vie, čo ukázať?

Je to kúzlo jeho NLP knižnice - fastText.

FastText je bezplatná a ľahká knižnica s otvoreným zdrojom, ktorá bola nedávno otvorená a ktorá pochádza z Facebooku. FTextText je knižnica vytvorená výskumným tímom Facebooku pre efektívne učenie sa reprezentácií slov a klasifikácie viet.

Táto knižnica si získala veľkú pozornosť v komunite NLP, pretože preukázala vynikajúce výsledky v rôznych doménach NLP.

Ako sa to používa?

V tomto článku vám poviem, ako ho použiť na klasifikáciu textu.

Krok 1: Dajte svoje údaje do správneho formátu

Pre fastText je veľmi dôležité mať údaje v predpísanom správnom formáte.

Formát:

_label_0 your_text

Tu sa musí použiť „_label_“ tak, ako je.

„0“ hovorí váš štítok (hodnota v stĺpci štítkov pre tento konkrétny riadok)

„Your_text“ je text, v ktorom chcete trénovať svojho klasifikátora.

Vo vyššie uvedenom kóde som ukázal spôsob, ako otvoriť nový súbor „train.txt“ na zapisovanie a zapisovanie do neho údajového rámca.

Krok 2: Klonovanie repo

Aby sme mohli využívať jeho funkcie, musíme klonovať repasiu fastText do nášho notebooku.

ID opakovania: https://github.com/facebookresearch/fastText.git

Po klonovaní postupujte podľa týchto krokov:

Uistite sa, že súbor „train.txt“ je v priečinku fastText vytvorenom klonovaním repo.

Krok 3: Hrajte sa s príkazmi

Teraz je váš model pripravený na trénovanie, dajte nasledujúci príkaz na zaškolenie svojho klasifikátora-

./fasttext kontrolovaný -input train.txt -output

-label __label__ -lr 0,1 -epoch 40

Nasledujúce argumenty sú povinné:

  • - vstupná cesta k školiacemu súboru
  • - výstupná cesta k výstupnému súboru

S týmito parametrami by ste mohli hrať, aby ste svoj model doladili (pred použitím akéhokoľvek argumentu použite pomlčku (-))

Poskytnutý argument bez pomlčky!

využitie:

Nasledujúce argumenty sú voliteľné:

  • - podrobná úroveň výrečnosti [2]

Nasledujúce argumenty pre slovník sú voliteľné:

  • -minPočet minimálneho počtu výskytov slov [1]
  • -minCountLabel minimálny počet výskytov štítkov [0]
  • -wordNgramy maximálna dĺžka slova ngram [2]
  • počet vedier [2000000]
  • -minn min. dĺžka znaku [0]
  • -maxn maximálna dĺžka znaku [0]
  • prahová hodnota odberu vzorky [0,0001]
  • - predpona štítkov [__label__]

Nasledujúce argumenty týkajúce sa odbornej prípravy sú voliteľné:

  • -lr miera učenia [0,1]
  • -lrUpdateRate zmena rýchlosti aktualizácií pre mieru učenia [100]
  • - veľkosť slovných vektorov [100]
  • -ws veľkosť kontextového okna [5]
  • - počet epoch [40]
  • - nový počet negatívov zaradených do vzorky [5]
  • - funkcia straty lesku {ns, hs, softmax, one-vs-all} [softmax]
  • -otáčkový počet vlákien [12]
  • -interpretovanéVektory predškolené slovné vektory pre učenie pod dohľadom []
  • -saveOutput, či sa majú uložiť výstupné parametre [false]

Nasledujúce argumenty pre kvantizáciu sú voliteľné:

  • medzný počet slov a ngramov, ktoré sa majú zachovať [0]
  • -Ukontrolujte, či sú vloženia dokončené, ak sa použije medzná hodnota [true]
  • - normálne, či je norma kvantovaná samostatne [nepravda]
  • - otázka, či je klasifikátor kvantizovaný [false]
  • - veľkosť každého sub-vektora [2]

Krok 4: Predpovedanie pomocou uloženého modelu

Nasledujúcim príkazom je otestovať model na vopred anotovanom testovacom dátovom súbore a porovnať pôvodné štítky s predpokladanými štítkami a vygenerovať skóre vyhodnotenia vo forme hodnôt presnosti a spätného vyvolania.

Presnosť je počet správnych štítkov medzi štítkami predpovedanými fastText. Odvolanie je počet štítkov, ktoré boli úspešne predpovedané.

./fasttext test   k

Uistite sa, že testovací súbor je tiež v rovnakom formáte ako súbor vlaku.

Predpovedanie nových štítkov:

./fasttext predpovedať   k> 

kde k znamená, že model bude predpovedať najvyššie značky k pre každú kontrolu.

Menovky predpokladané pre vyššie uvedené recenzie sú nasledujúce:

__label__2
__label__1
__label__2
__label__2
__label__2
__label__2
__label__2
__label__2
__label__1
__label__2
__label__2

Predikčný súbor sa potom môže použiť na ďalšiu podrobnú analýzu a vizualizáciu.

fastText vykázal vynikajúce výsledky aj v iných oblastiach, ako sú napríklad textové reprezentácie atď., ktoré sa uvedú v nasledujúcich článkoch.

Ďakujeme vám za prečítanie tohto článku.