stub Kuidas teksti klassifitseerimine töötab? - Ühendage.AI
Ühenda meile

AI 101

Kuidas teksti klassifitseerimine töötab?

mm
Ajakohastatud on

Teksti klassifitseerimine on tekstijadade analüüsimise ja neile sildi määramise protsess, mille sisu alusel rühmitatakse. Teksti klassifitseerimine on peaaegu kõigi AI- või masinõppeülesannete aluseks, mis hõlmab loomuliku keele töötlemist (NLP). Teksti klassifikatsiooni abil saab arvutiprogramm täita paljusid erinevaid ülesandeid, nagu rämpsposti tuvastamine, tundeanalüüs ja vestlusroti funktsioonid. Kuidas teksti klassifitseerimine täpselt töötab? Millised on teksti klassifitseerimise erinevad meetodid? Allpool uurime vastuseid neile küsimustele.

Teksti klassifikatsiooni määratlemine

Oluline on võtta veidi aega ja veenduda, et me mõistame mis on teksti klassifikatsioonüldiselt, enne kui hakkate süvenema teksti klassifitseerimise erinevatesse meetoditesse. Teksti klassifitseerimine on üks neist terminitest, mida kasutatakse paljude erinevate ülesannete ja algoritmide puhul, seega on kasulik veenduda, et mõistame teksti klassifitseerimise põhikontseptsiooni, enne kui hakkame uurima selle erinevaid viise.

Teksti klassifitseerimiseks võib pidada kõike, mis hõlmab teksti jaoks erinevate kategooriate loomist ja seejärel erinevate tekstinäidiste märgistamist nendeks kategooriateks. Kuni süsteem neid põhietappe täidab, võib seda pidada teksti klassifikaatoriks, olenemata teksti klassifitseerimiseks kasutatud täpsest meetodist ja sellest, kuidas teksti klassifikaatorit lõpuks rakendatakse. E-posti rämpsposti tuvastamine, dokumentide korraldamine teema või pealkirja järgi ja toote arvustuste tundmise äratundmine on kõik näited teksti klassifitseerimisest, kuna need saavutatakse teksti sisestamisel ja selle tekstilõigu klassisildi väljastamisega.

Kuidas teksti klassifitseerimine töötab?

Foto: Quinn Dombrowski Flickri kaudu, CC BY SA 2.0, (https://www.flickr.com/photos/quinnanya/4714794045)

Enamiku teksti klassifitseerimise meetodeid saab paigutada ühte kolmest erinevast kategooriast: reeglipõhised meetodid või masinõppemeetodid.

Reeglipõhised klassifitseerimismeetodid

Reeglipõhised tekstide klassifitseerimismeetodid toimivad selgesõnaliselt loodud keelereeglite kasutamise kaudu. Süsteem kasutab inseneri loodud reegleid, et määrata, millisesse klassi antud tekstiosa peaks kuuluma, otsides vihjeid semantiliselt asjakohaste tekstielementide kujul. Igal reeglil on muster, millele tekst peab vastavasse kategooriasse paigutamiseks sobima.

Täpsemalt oletame, et soovisite luua tekstiklassifikaatori, mis suudab eristada levinud vestlusteemasid, nagu ilm, filmid või toit. Selleks, et teie tekstiklassifikaator tunneks ära arutelu ilmateate üle, võite käskida sellel otsida talle edastatavate tekstinäidiste põhiosast ilmaga seotud sõnu. Teil on märksõnade, fraaside ja muude asjakohaste mustrite loend, mida saaks kasutada teema eristamiseks. Näiteks võite anda klassifikaatorile korralduse otsida selliseid sõnu nagu "tuul", "vihm", "päike", "lumi" või "pilv". Seejärel võiksite lasta klassifikaatoril sisendteksti läbi vaadata ja loendada, mitu korda need sõnad teksti põhiosas esinevad. Kui need esinevad sagedamini kui filmidega seotud sõnad, siis liigitaksite teksti ilmaklassi kuuluvaks.

Reeglipõhiste süsteemide eeliseks on see, et nende sisendid ja väljundid on inimestele etteaimatavad ja tõlgendatavad ning neid saab täiustada inseneri käsitsi sekkumise teel. Reeglipõhised klassifitseerimismeetodid on aga ka mõnevõrra rabedad ja nende üldistamine on sageli keeruline, kuna need suudavad kinni pidada ainult eelnevalt määratletud mustritest, mis on sisse programmeeritud. Näiteks võib sõna "pilv" viidata niiskusele taevas või see võib viidata digitaalsele pilvele, kus andmeid salvestatakse. Reeglipõhistel süsteemidel on raske nende nüanssidega toime tulla, ilma et insenerid kulutaks üsna palju aega, et neid peensusi käsitsi ette näha ja kohandada.

Masinõppesüsteemid

Nagu eespool mainitud, on reeglipõhistel süsteemidel piirangud, kuna nende funktsioonid ja reeglid peavad olema eelnevalt programmeeritud. Seevastu masinõppepõhised klassifitseerimissüsteemid kasutavad algoritme, mis analüüsivad konkreetse klassiga seotud mustrite andmekogumeid.

Masinõppe algoritmidele antakse eelmärgistatud/eelnevalt klassifitseeritud eksemplarid, mida analüüsitakse asjakohaste funktsioonide osas. Need eelmärgistatud juhtumid on koolitusandmed.

Masinõppe klassifikaator analüüsib koolitusandmeid ja õpib erinevate klassidega seotud mustreid. Pärast seda eemaldatakse nähtamatutelt eksemplaridelt sildid ja need suunatakse klassifitseerimisalgoritmile, mis määrab eksemplaridele sildi. Määratud silte võrreldakse seejärel algsete siltidega, et näha, kui täpne oli masinõppe klassifikaator, mõõtes, kui hästi mudel õppis, millised mustrid milliseid klasse ennustavad.

Masinõppe algoritmid töötavad arvandmete analüüsimise teel. See tähendab, et tekstiandmetel masinõppe algoritmi kasutamiseks tuleb tekst teisendada numbrivormingusse. Tekstiandmete arvandmetena kodeerimiseks ja nende andmete ümber masinõppemeetodite loomiseks on erinevaid meetodeid. Allpool käsitleme mõningaid erinevaid viise tekstiandmete esitamiseks.

Sõnade kott

Sõnade kott on üks kõige sagedamini kasutatavaid lähenemisviise tekstiandmete kodeerimiseks ja esitamiseks. Mõiste "sõnade kott" tuleneb asjaolust, et te võtate sisuliselt kõik dokumentides olevad sõnad ja asetate need kõik ühte "kotti", pööramata tähelepanu sõnade järjekorrale või grammatikale, pöörates tähelepanu ainult sõnade sagedus kotis. Selle tulemuseks on pikk massiiv või vektor, mis sisaldab kõigi sisenddokumentide sõnade ühtset esitust. Nii et kui sisenddokumentides on kokku 10000 10000 unikaalset sõna, on funktsioonivektorid XNUMX XNUMX sõna pikad. Nii arvutatakse sõnakoti/tunnuse vektori suurus.

Foto: gk_ Machinelearning.co kaudu (https://machinelearnings.co/text-classification-using-neural-networks-f5cd7b8765c6)

Pärast tunnusvektori suuruse määramist määratakse igale dokumentide loendis olevale dokumendile oma vektor, mis on täidetud numbritega, mis näitavad, mitu korda kõnealune sõna aktiivses dokumendis esineb. See tähendab, et kui sõna "toit" esineb ühes tekstidokumendis kaheksa korda, on vastaval funktsioonivektoril/funktsioonimassiivil kaheksa vastaval positsioonil.

Teisisõnu, kõik sisenddokumentides esinevad kordumatud sõnad kuhjatakse kõik ühte kotti ja seejärel saab iga dokument sama suurusega sõnavektori, mis seejärel täidetakse erinevate sõnade arvuga dokumendis. .

Tekstiandmed sisaldavad sageli palju kordumatuid sõnu, kuid enamikku neist ei kasutata väga sageli. Sel põhjusel on sõnavektori loomiseks kasutatud sõnade arv tavaliselt piiratud valitud väärtusega (N) ja siis on tunnusvektori mõõde Nx1.

Termini sagedus - dokumendi pöördsagedus (TF-IDF)

Teine viis dokumendi esitamiseks selles sisalduvate sõnade põhjal on dubleerimine Termini sagedus - dokumendi pöördsagedus (TF-IDF). TF-IDF lähenemine loob ka vektori, mis esindab dokumenti selles sisalduvate sõnade põhjal, kuid erinevalt sõnadest on need sõnad kaalutud rohkem kui lihtsalt nende sagedusega. TF-IDF arvestab sõnade olulisust dokumentides, püüdes kvantifitseerida, kui asjakohane see sõna on dokumendi teema jaoks. Teisisõnu, TF-IDF analüüsib sageduse asemel asjakohasust ja sõnade arv funktsioonivektoris asendatakse TF-IDF skooriga, mis arvutatakse kogu andmekogumi kohta.

TF-IDF lähenemine toimib nii, et esmalt arvutatakse välja termini sagedus, mis on korduste arv, mil korduvad terminid konkreetses dokumendis ilmuvad. Kuid TF-IDF hoolitseb ka selle eest, et piirata väga levinud sõnade nagu "the", "or" ja "and" mõju, kuna need "stopsõnad" on väga levinud, kuid annavad dokumendi sisu kohta väga vähe teavet. Need sõnad tuleb maha arvata, millele viitab TF-IDF osa "dokumentide pöördsagedus". Seda tehakse seetõttu, et mida rohkemates dokumentides konkreetne sõna kuvatakse, seda vähem kasulik on see sõna selle eristamisel teistest dokumentidest kõigi dokumentide loendis. Valem, mida TF-IDF sõna olulisuse arvutamiseks kasutab, on loodud kõige sagedasemate ja semantiliselt kõige rikkalikumate sõnade säilitamiseks.

TF-IDF-meetodi abil loodud tunnusvektorid sisaldavad normaliseeritud väärtusi, mille summa on üks, omistades igale sõnale kaalutud väärtuse, mis on arvutatud TF-IDF valemiga.

Sõna manustamine

Sõna manustamine on teksti esitamise meetodid, mis tagavad, et sarnase tähendusega sõnadel on sarnased numbrilised esitused.

Sõna manustamine toimivad sõnade "vektoriseerimisega"., mis tähendab, et nad esindavad sõnu reaalväärtuslike vektoritena vektorruumis. Vektorid eksisteerivad ruudustikus või maatriksis ning neil on suund ja pikkus (või suurusjärk). Sõnade esitamisel vektoritena teisendatakse sõnad reaalväärtustest koosnevateks vektoriteks. Iga sõna on kaardistatud ühe vektoriga ja sõnadel, mis on tähenduselt sarnased, on sarnane suund ja suurus. Seda tüüpi kodeering võimaldab masinõppealgoritmil õppida keerulisi seoseid sõnade vahel.

Manused, mis esindavad erinevaid sõnu, luuakse vastavalt sellele, kuidas kõnealuseid sõnu kasutatakse. Kuna sõnadel, mida kasutatakse sarnasel viisil, on sarnased vektorid, tõlgib sõnade manustamise loomise protsess automaatselt osa sõnade tähendusest. Seevastu sõnakoti lähenemine loob hapraid esitusi, kus erinevatel sõnadel on erinevad esitused, isegi kui neid kasutatakse väga sarnases kontekstis.

Selle tulemusena suudavad sõna manustused paremini tabada lause sees olevate sõnade konteksti.

Sõna manustamise loomiseks kasutatakse erinevaid algoritme ja lähenemisviise. Mõned kõige levinumad ja usaldusväärsemad sõna manustamismeetodid on: kihtide manustamine, word2vec ja GloVe.

Kihtide manustamine

Üks potentsiaalne viis sõnade manustamise kasutamiseks masinõppe/sügavõppe süsteemiga on see kasutage manustuskihti. Manuskihid on sügavad õppekihid, mis muudavad sõnad manusteks, mis seejärel sisestatakse ülejäänud süvaõppesüsteemi. Sõna manustamist õpitakse selgeks, kui võrk treenib konkreetse tekstipõhise ülesande jaoks.

Sõna manustamise lähenemisviisi korral on sarnastel sõnadel sarnased esitused ja need on üksteisele lähemal kui erinevad sõnad.

Manustuskihtide kasutamiseks tuleb tekst esmalt eeltöödelda. Dokumendi tekst peab olema ühekordselt kodeeritud ja vektori suurus tuleb eelnevalt kindlaks määrata. Seejärel teisendatakse üks kuum tekst sõnavektoriteks ja vektorid edastatakse masinõppemudelisse.

Word2Vec

Word2Vec on veel üks levinud meetod sõnade manustamiseks. Word2Vec kasutab sõnade teisendamiseks manusteks statistilisi meetodeid ja on optimeeritud kasutamiseks närvivõrgupõhiste mudelitega. Word2Vec on välja töötatud Google'i teadlaste poolt ja see on üks kõige sagedamini kasutatavaid manustamismeetodeid, kuna see annab usaldusväärselt kasulikke ja rikkalikke manuseid. Word2Vec esitused on kasulikud keele semantiliste ja süntaktiliste ühisjoonte tuvastamiseks. See tähendab, et Word2Vec esitused kajastavad seoseid sarnaste mõistete vahel, suutes eristada, et "kuninga" ja "kuninganna" vaheline sarnasus on autoritasu ja "kuningas" tähendab "mehelikkust", samas kui Queen tähendab "naislikkust".

Kinnas

GloVE ehk sõna esituse globaalne vektor, põhineb Word2Vec kasutatavatel manustamisalgoritmidel. GloVe'i manustamismeetodid ühendavad nii Word2Vec kui ka maatriksfaktoriseerimise tehnikate aspekte, nagu latentne semantiline analüüs. Word2Vec'i eeliseks on see, et see suudab jäädvustada konteksti, kuid kompromissina jäädvustab see halvasti globaalset tekstistatistikat. Seevastu traditsioonilised vektoresitlused on head globaalse tekstistatistika määramisel, kuid need pole kasulikud sõnade ja fraaside konteksti määramiseks. GloVE lähtub mõlemast lähenemisviisist parimast, luues globaalsel tekstistatistil põhineva sõnakonteksti.

Erialadega blogija ja programmeerija Masinõpe ja Sügav õppimine teemasid. Daniel loodab aidata teistel kasutada tehisintellekti jõudu sotsiaalseks hüvanguks.