- Terminologi (A til D)
- AI-kapacitetskontrol
- AI Ops
- Albummenteringer
- Aktiv ydeevne
- Autoencoder
- Tilbageformning
- Bayes sætning
- Big data
- Chatbot: En begyndervejledning
- Beregningstænkning
- Computer Vision
- Forvirringsmatrix
- Konvolutional neurale netværk
- Cybersecurity
- Datastof
- Data storytelling
- data, Science
- Datavarehousing
- Beslutningstræ
- Deepfakes
- Deep Learning
- Dyb forstærkning læring
- DevOps
- DevSecOps
- Diffusionsmodeller
- Digital tvilling
- Dimensionalitetsreduktion
- Terminologi (E til K)
- Edge AI
- Følelse AI
- Ensemble læring
- Etisk Hacking
- ETL
- Forklarelig AI
- Federeret læring
- FinOps
- Generativ AI
- Generativt kontradiktorisk netværk
- Generativ vs. diskriminerende
- Gradientforstærkning
- Gradient nedstigning
- Få-Shot læring
- Billedklassificering
- IT-drift (ITOps)
- Hændelsesautomatisering
- Influence Engineering
- K-Betyder Clustering
- K-Nærmeste Naboer
- Terminologi (L til Q)
- Terminologi (R til Z)
AI 101
Hvordan fungerer tekstklassificering?
Indholdsfortegnelse
Tekstklassificering er processen med at analysere tekstsekvenser og tildele dem en etiket og placere dem i en gruppe baseret på deres indhold. Tekstklassificering ligger til grund for næsten enhver AI- eller maskinlæringsopgave, der involverer Natural Language Processing (NLP). Med tekstklassificering kan et computerprogram udføre en lang række forskellige opgaver som spamgenkendelse, sentimentanalyse og chatbot-funktioner. Hvordan fungerer tekstklassificering præcist? Hvad er de forskellige metoder til at udføre tekstklassificering? Vi vil undersøge svarene på disse spørgsmål nedenfor.
Definition af tekstklassificering
Det er vigtigt at tage lidt tid og sørge for, at vi forstår hvad tekstklassificering ergenerelt, før du dykker ned i de forskellige metoder til at lave tekstklassificering. Tekstklassificering er et af de udtryk, der anvendes på mange forskellige opgaver og algoritmer, så det er nyttigt at sikre, at vi forstår det grundlæggende koncept for tekstklassificering, før vi går videre for at udforske de forskellige måder, det kan udføres på.
Alt, hvad der involverer at oprette forskellige kategorier for tekst og derefter mærke forskellige teksteksempler som disse kategorier, kan betragtes som tekstklassificering. Så længe et system udfører disse grundlæggende trin, kan det betragtes som en tekstklassifikator, uanset den nøjagtige metode, der bruges til at klassificere teksten, og uanset hvordan tekstklassificeringen i sidste ende anvendes. Detektering af e-mail-spam, organisering af dokumenter efter emne eller titel og genkendelse af følelsen af en anmeldelse af et produkt er alle eksempler på tekstklassificering, fordi de opnås ved at tage tekst som input og udskrive en klasseetiket for det pågældende stykke tekst.
Hvordan fungerer tekstklassificering?
De fleste tekstklassificeringsmetoder kan placeres i en af tre forskellige kategorier: regelbaserede metoder eller maskinlæringsmetoder.
Regelbaserede klassificeringsmetoder
Regelbaserede tekstklassificeringsmetoder fungerer ved brug af eksplicit udviklede sproglige regler. Systemet bruger de regler, som ingeniøren har oprettet, til at bestemme, hvilken klasse et givet stykke tekst skal tilhøre, og leder efter spor i form af semantisk relevante tekstelementer. Hver regel har et mønster, som teksten skal matche for at blive placeret i den tilsvarende kategori.
For at være mere konkret, lad os sige, at du ønskede at designe en tekstklassificering, der er i stand til at skelne almindelige samtaleemner, såsom vejret, film eller mad. For at gøre det muligt for din tekstklassificering at genkende diskussioner om vejret, kan du bede den om at lede efter vejrrelaterede ord i brødteksten af de teksteksempler, den bliver fodret med. Du vil have en liste over søgeord, sætninger og andre relevante mønstre, der kan bruges til at skelne mellem emnet. For eksempel kan du bede klassificereren om at lede efter ord som "vind", "regn", "sol", "sne" eller "sky". Du kan derefter få klassificereren til at se gennem inputtekst og tælle antallet af gange, disse ord optræder i tekstens brødtekst, og hvis de forekommer mere almindeligt end ord relateret til film, vil du klassificere teksten som tilhørende vejrklassen.
Fordelen ved regelbaserede systemer er, at deres input og output er forudsigelige og fortolkbare af mennesker, og de kan forbedres gennem manuel indgriben fra ingeniøren. Regelbaserede klassifikationsmetoder er dog også noget skrøbelige, og de har ofte svært ved at generalisere, fordi de kun kan overholde de foruddefinerede mønstre, der er programmeret i. Som et eksempel kan ordet "sky" referere til fugt i himmel, eller det kan være at henvise til en digital sky, hvor data er gemt. Det er svært for regelbaserede systemer at håndtere disse nuancer, uden at ingeniørerne bruger ret meget tid på at forsøge manuelt at forudse og justere for disse finesser.
Maskinlæringssystemer
Som nævnt ovenfor har regelbaserede systemer begrænsninger, da deres funktioner og regler skal forprogrammeres. Derimod fungerer maskinlæringsbaserede klassifikationssystemer ved at anvende algoritmer, der analyserer datasæt for mønstre, der er forbundet med en bestemt klasse.
Maskinlæringsalgoritmer tilføres præ-mærkede/præklassificerede forekomster, der analyseres for relevante funktioner. Disse præ-mærkede forekomster er træningsdataene.
Maskinlæringsklassifikatoren analyserer træningsdataene og lærer mønstre, der er forbundet med de forskellige klasser. Herefter fjernes usynlige forekomster for deres etiketter og føres til klassificeringsalgoritmen, som tildeler forekomsterne en etiket. De tildelte etiketter sammenlignes derefter med de originale etiketter for at se, hvor nøjagtig maskinlæringsklassifikatoren var, og måler, hvor godt modellen lærte hvilke mønstre, der forudsiger hvilke klasser.
Maskinlæringsalgoritmer fungerer ved at analysere numeriske data. Det betyder, at for at bruge en maskinlæringsalgoritme på tekstdata, skal teksten konverteres til et numerisk format. Der er forskellige metoder til at kode tekstdata som numeriske data og skabe maskinlæringsmetoder omkring disse data. Vi vil dække nogle af de forskellige måder at repræsentere tekstdata på nedenfor.
Bag-of-words
Pose med ord er en af de mest brugte metoder til kodning og repræsentation af tekstdata. Udtrykket "pose-of-words" kommer fra det faktum, at du i det væsentlige tager alle ordene i dokumenterne og lægger dem alle sammen i én "pose" uden at være opmærksom på ordrækkefølge eller grammatik, og kun være opmærksom på hyppighed af ord i tasken. Dette resulterer i et langt array eller vektor, der indeholder en enkelt repræsentation af alle ordene i inputdokumenterne. Så hvis der er 10000 unikke ord i alt i inputdokumenterne, vil funktionsvektorerne være 10000 ord lange. Sådan beregnes størrelsen af ordet taske/funktionsvektor.
Efter at funktionsvektorstørrelsen er blevet bestemt, tildeles hvert dokument på listen over samlede dokumenter sin egen vektor fyldt med tal, der angiver, hvor mange gange det pågældende ord forekommer i det aktuelle dokument. Dette betyder, at hvis ordet "mad" forekommer otte gange i et tekstdokument, vil den tilsvarende funktionsvektor/funktionsmatrix have en otte i den tilsvarende position.
Sagt på en anden måde bliver alle de unikke ord, der optræder i inputdokumenterne, alle stablet i én pose, og så får hvert dokument en ordvektor af samme størrelse, som så udfyldes med det antal gange, de forskellige ord optræder i dokumentet .
Tekstdatasæt vil ofte indeholde et stort antal unikke ord, men de fleste af dem bruges ikke særlig ofte. Af denne grund er antallet af ord, der bruges til at skabe ordvektoren, typisk begrænset til en valgt værdi (N), og så vil trækvektordimensionen være Nx1.
Term Frequency-Inverse Document Frequency (TF-IDF)
En anden måde at repræsentere et dokument på baseret på ordene i det er eftersynkroniseret Term Frequency-Inverse Document Frequency (TF-IDF). En TF-IDF tilgang skaber også en vektor, der repræsenterer dokumentet baseret på ordene i det, men i modsætning til Bag-of-words er disse ord vægtet med mere end blot deres frekvens. TF-IDF overvejer betydningen af ordene i dokumenterne og forsøger at kvantificere, hvor relevant dette ord er for dokumentets emne. Med andre ord analyserer TF-IDF relevans i stedet for frekvens, og ordtal i en featurevektor erstattes af en TF-IDF score, der beregnes med hensyn til hele datasættet.
En TF-IDF tilgang fungerer ved først at beregne termfrekvensen, det antal gange, de unikke termer optræder i et specifikt dokument. TF-IDF sørger dog også for at begrænse den indflydelse, som ekstremt almindelige ord som "det", "eller" og "og", da disse "stopord" er meget almindelige, men alligevel formidler meget lidt information om indholdet af dokumentet. Disse ord skal udelukkes, hvilket er hvad "omvendt dokumentfrekvens"-delen af TF-IDF refererer til. Dette gøres, fordi jo flere dokumenter et specifikt ord dukker op i, jo mindre nyttigt er ordet til at skelne det fra de andre dokumenter på listen over alle dokumenter. Formlen, som TF-IDF bruger til at beregne betydningen af et ord, er designet til at bevare de ord, der er de hyppigste og mest semantisk rige.
Funktionsvektorerne skabt af TF-IDF-tilgangen indeholder normaliserede værdier, der summerer til én, og tildeler hvert ord en vægtet værdi, som beregnes af TF-IDF-formlen.
Ordindlejringer
Ordindlejringer er metoder til at repræsentere tekst, der sikrer, at ord med lignende betydninger har lignende numeriske repræsentationer.
Ordindlejringer operere ved at "vektorisere" ord, hvilket betyder, at de repræsenterer ord som vektorer med virkelig værdi i et vektorrum. Vektorerne findes i et gitter eller en matrix, og de har en retning og længde (eller størrelse). Når ord repræsenteres som vektorer, konverteres ordene til vektorer bestående af reelle værdier. Hvert ord er kortlagt til én vektor, og ord, der har samme betydning, har samme retning og størrelse. Denne type kodning gør det muligt for en maskinlæringsalgoritme at lære komplicerede forhold mellem ord.
De indlejringer, der repræsenterer forskellige ord, skabes med hensyn til, hvordan de pågældende ord bruges. Fordi ord, der bruges på lignende måder, vil have lignende vektorer, oversætter processen med at skabe ordindlejringer automatisk noget af den betydning, ordene har. En pose med ord-tilgang skaber derimod sprøde repræsentationer, hvor forskellige ord vil have uens repræsentationer, selvom de bruges i meget ens sammenhænge.
Som et resultat er ordindlejringer bedre til at fange konteksten af ord i en sætning.
Der er forskellige algoritmer og tilgange, der bruges til at skabe ordindlejringer. Nogle af de mest almindelige og pålidelige ordindlejringsmetoder inkluderer: indlejringslag, word2vec og GloVe.
Indlejring af lag
En potentiel måde at bruge ordindlejringer sammen med et maskinlærings-/deep learning-system er at brug et indlejringslag. Indlejringslag er deep learning-lag, der konverterer ord til indlejringer, som derefter føres ind i resten af deep learning-systemet. Ordet indlejringer læres efterhånden som netværket træner til en specifik tekstbaseret opgave.
For at bruge indlejringslag skal teksten først forbehandles. Teksten i dokumentet skal være one-hot-kodet, og vektorstørrelsen skal angives på forhånd. Den one-hot-tekst konverteres derefter til ordvektorer, og vektorerne overføres til maskinlæringsmodellen.
Word2Vec
Word2Vec er en anden almindelig metode til indlejring af ord. Word2Vec bruger statistiske metoder til at konvertere ord til indlejringer, og det er optimeret til brug med neurale netværksbaserede modeller. Word2Vec er udviklet af Google-forskere, og det er en af de mest almindeligt anvendte indlejringsmetoder, da det pålideligt giver nyttige, rige indlejringer. Word2Vec-repræsentationer er nyttige til at identificere semantiske og syntaktiske fællestræk i sprog. Dette betyder, at Word2Vec-repræsentationer fanger relationer mellem lignende begreber, idet de er i stand til at skelne, at fællesskabet mellem "King" og "Queen" er royalty, og at "King" implicerer "man-ness", mens Queen implicerer "Woman-ness".
Handske
GloVE eller Global Vector til ordrepræsentation, bygger på de indlejringsalgoritmer, der bruges af Word2Vec. GloVe-indlejringsmetoder kombinerer aspekter af både Word2Vec og matrixfaktoriseringsteknikker som Latent Semantic Analysis. Fordelen ved Word2Vec er, at det kan fange kontekst, men som en afvejning fanger det dårligt global tekststatistik. Omvendt er traditionelle vektorrepræsentationer gode til at bestemme global tekststatistik, men de er ikke nyttige til at bestemme konteksten af ord og sætninger. GloVE trækker fra det bedste fra begge tilgange og skaber ord-kontekst baseret på global tekststatistik.
Blogger og programmør med speciale i Maskinelæring , Deep Learning emner. Daniel håber at kunne hjælpe andre med at bruge AI's kraft til socialt gode.
Du kan godt lide
The Rise of AI Software Engineers: SWE-Agent, Devin AI and the Future of Coding
InstructIR: Billedgendannelse af høj kvalitet efter menneskelige instruktioner
NLP-stigning med transformatormodeller | En omfattende analyse af T5, BERT og GPT
Analogisk og tilbageskridt: Et dyk ind i de seneste fremskridt af Google DeepMind
LlamaIndex: Udvid dine LLM-applikationer nemt med tilpassede data
Rollen af vektordatabaser i moderne generative AI-applikationer