Statistisk tekstanalyse.
Merk deg
Se fanen Tekst og bilder for mer informasjon!
Etter å ha delt opp et tekstkorpus i dets bestanddeler og forberedt dem for analyse; Det finnes noen vanlige statistiske analyseteknikker du kan bruke for å utlede mening fra teksten.
Frekvensanalyse
Kanskje den mest åpenbare måten å fastslå temaene som diskuteres i et dokument på, er rett og slett å telle hvor mange ganger hver normalisert token dukker opp. Antakelsen er at begreper som brukes oftere i dokumentet kan hjelpe med å identifisere temaene eller temaene som diskuteres. Enkelt sagt, hvis du kan identifisere de mest brukte ordene i et gitt dokument, kan du ofte få en god idé om hva dokumentet handler om.
For eksempel, vurder følgende tekst:
AI in modern business delivers transformative benefits by enhancing efficiency, decision-making, and customer experiences. Businesses can leverage AI to automate repetitive tasks, freeing employees to focus on strategic work, while predictive analytics and machine learning models enable data-driven decisions that improve accuracy and speed. AI-powered tools like Copilot streamline workflows across marketing, finance, and operations, reducing costs and boosting productivity. Additionally, intelligent applications personalize customer interactions, driving engagement and loyalty. By embedding AI into core processes, businesses benefit from the ability to innovate faster, adapt to market changes, and maintain a competitive edge in an increasingly digital economy.
Etter tokenisering, normalisering og påføring av lemmatisering av teksten, kan frekvensen av hvert term telles og tabelleres; som gir følgende delvise resultater:
| Begrep | Frekvens |
|---|---|
ai |
4 |
business |
3 |
benefit |
2 |
customer |
2 |
decision |
2 |
market |
2 |
ability |
1 |
accuracy |
1 |
| ... | ... |
Ut fra disse resultatene indikerer de mest forekommende begrepene at teksten omhandler AI og dens forretningsfordeler.
Termfrekvens - Invers dokumentfrekvens (TF-IDF)
Enkel frekvensanalyse der du teller antall forekomster av hvert token kan være en effektiv måte å analysere et enkelt dokument på, men når du må differensiere på tvers av flere dokumenter i samme korpus, trenger du en måte å finne ut hvilke tokens som er mest relevante i hvert enkelt dokument.
For eksempel, vurder følgende to teksteksempler:
Eksempel A:
Microsoft Copilot Studio enables declarative AI agent creation using natural language, prompts, and templates. With this declarative approach, an AI agent is configured rather than programmed: makers define intents, actions, and data connections, then publish the agent to channels. Microsoft Copilot Studio simplifies agent orchestration, governance, and lifecycles so an AI agent can be iterated quickly. Using Microsoft Copilot Studio helps modern businesses deploy Microsoft AI agent solutions fast.
Eksempel B:
Microsoft Foundry enables code‑based AI agent development with SDKs and APIs. Developers write code to implement agent conversations, tool calling, state management, and custom pipelines. In Microsoft Foundry, engineers can use Python or Microsoft C#, integrate Microsoft AI services, and manage CI/CD to deploy the AI agent. This code-first development model supports extensibility and performance while building Microsoft Foundry AI agent applications.
De tre mest brukte begrepene i disse utvalgene vises i følgende tabeller:
Eksempel A:
| Begrep | Frekvens |
|---|---|
agent |
6 |
ai |
4 |
microsoft |
4 |
Eksempel B:
| Begrep | Frekvens |
|---|---|
microsoft |
5 |
agent |
4 |
ai |
4 |
Som du kan se fra resultatene, er de vanligste ordene i begge utvalgene de samme ("agent", "Microsoft", og "AI"). Dette forteller oss at begge dokumentene dekker et lignende overordnet tema, men hjelper oss ikke å skille mellom de enkelte dokumentene. Å undersøke antall mindre brukte termer kan hjelpe, men du kan lett forestille deg en analyse av et korpus basert på Microsofts AI-dokumentasjon, som ville resultert i et stort antall termer som er felles i alle dokumenter; noe som gjør det vanskelig å finne ut hvilke spesifikke temaer som dekkes i hvert dokument.
For å løse dette problemet er Term Frequency - Inverse Document Frequency (TF-IDF) en teknikk som beregner poeng basert på hvor ofte et ord eller begrep forekommer i ett dokument sammenlignet med dets mer generelle frekvens over hele samlingen av dokumenter. Ved hjelp av denne teknikken brukes en høy grad av relevans for ord som ofte vises i et bestemt dokument, men relativt sjelden på tvers av et bredt spekter av andre dokumenter. For å beregne TF-IDF for termer i et individuelt dokument, kan du bruke følgende tretrinnsprosess:
Beregn termfrekvens (TF): Dette er ganske enkelt hvor mange ganger et ord forekommer i et dokument. For eksempel, hvis ordet
"agent"forekommer 6 ganger i et dokument, såtf(agent) = 6.Beregn invers dokumentfrekvens (IDF): Dette sjekker hvor vanlig eller sjelden et ord er på tvers av alle dokumenter. Hvis et ord dukker opp i hvert dokument, er det ikke spesielt. Formelen som brukes for å beregne IDF er
idf(t) = log(N / df(t))(hvorNer totalt antall dokumenter ogdf(t)er antall dokumenter som inneholder ordett)Kombiner dem for å beregne TF-IDF: Multipliser TF og IDF for å få poengsummen:
tfidf(t, d) = tf(t, d) * log(N / df(t))
En høy TF-IDF-score indikerer at et ord ofte forekommer i ett dokument, men sjelden i andre. En lav poengsum indikerer at ordet er vanlig i mange dokumenter. I to utvalg om AI-agenter, fordi , , og "agent" forekommer i begge prøvene (N = 2, df(t) = 2), er log(2/2) = 0deres IDF , så de har ingen diskriminerende vekt i TF-IDF. "Microsoft""AI" De tre beste TF-IDF resultatene for utvalgene er:
Eksempel A:
| Begrep | TF-IDF |
|---|---|
copilot |
2.0794 |
studio |
2.0794 |
declarative |
1.3863 |
Eksempel B:
| Begrep | TF-IDF |
|---|---|
code |
2.0794 |
develop |
2.0794 |
foundry |
2.0794 |
Ut fra disse resultatene er det tydeligere at prøve A handler om deklarativ agentopprettelse med Copilot Studio, mens prøve B handler om kodebasert agentutvikling med Microsoft Foundry.
"Pose-av-ord" maskinlæringsteknikker
Ordposen er navnet på en funksjonsutvinningsteknikk som representerer teksttokens som en vektor av ordfrekvenser eller forekomster, uten å ta hensyn til grammatikk og ordstilling. Denne representasjonen blir input for maskinlæringsalgoritmer som Naive Bayes, en sannsynlighetsklassifisator som anvender Bayes' teorem for å forutsi sannsynlig klasse i et dokument basert på ordfrekvens.
For eksempel kan du bruke denne teknikken til å trene en maskinlæringsmodell som utfører e-postspamfiltrering. Ordene "miracle cure", "lose weight fast", og «anti-aldring»» kan dukke opp oftere i spam-e-poster om tvilsomme helseprodukter enn i vanlige e-poster, og en trent modell kan flagge meldinger med disse ordene som potensiell spam.
Du kan implementere sentimentanalyse ved å bruke samme metode for å klassifisere tekst etter emosjonell tone. Posen med ord gir funksjonene, og modellen bruker disse funksjonene til å estimere sannsynligheter og tildele sentiment-etiketter som «positiv» eller «negativ».
TextRank
TextRank er en uovervåket grafbasert algoritme som modellerer tekst som et nettverk av sammenkoblede noder. For eksempel kan hver setning i et dokument betraktes som en node, og forbindelsene (kantene) mellom dem scores basert på likheten til ordene de inneholder. TextRank brukes ofte til å oppsummere tekst basert på å identifisere et delsett av setninger i et dokument som best representerer det overordnede emnet.
TextRank-algoritmen anvender samme prinsipp som Googles PageRank-algoritme (som rangerer nettsider basert på lenker mellom dem) på tekst. Hovedideen er at en setning er viktig hvis den ligner mange andre viktige setninger. Algoritmen går gjennom følgende trinn:
Bygg en graf: Hver setning blir en node, og kantene som forbinder dem vektes etter likhet (ofte målt ved hjelp av ordoverlapp eller cosinuslikhet mellom setningsvektorer).
Beregn rangeringer iterativt: Hver nodes poengsum beregnes basert på poengsummene til nodene som er koblet til den. Formelen er: (hvor
der en dempingsfaktor, typisk 0,85,wⱼᵢer vekten av kanten fra setningjtil setningi, og summen itererer over alle setninger knyttet tili).TextRank(Sᵢ) = (1-d) + d * Σ(wⱼᵢ / Σwⱼₖ) * TextRank(Sⱼ)Trekk ut topprangerte setninger: Etter konvergens velges setningene med høyest poengsum som sammendrag.
For eksempel, vurder følgende dokument om skybasert databehandling:
Cloud computing provides on-demand access to computing resources. Computing resources include servers, storage, and networking. Azure is Microsoft's cloud computing platform. Organizations use cloud platforms to reduce infrastructure costs. Cloud computing enables scalability and flexibility.
For å generere et sammendrag av dette dokumentet starter TextRank-prosessen med å dele dokumentet opp i setninger:
Cloud computing provides on-demand access to computing resources.Computing resources include servers, storage, and networking.Azure is Microsoft's cloud computing platform.Organizations use cloud platforms to reduce infrastructure costs.Cloud computing enables scalability and flexibility.
Deretter lages kanter mellom setninger med vekter basert på likhet (ordoverlapp). For dette eksempelet kan kantvektene være:
- Setning 1 <-> Setning 2: 0,5 (andeler
"computing resources") - Setning 1 <-> Setning 3: 0,6 (andel)
"cloud computing" - Setning 1 <-> Setning 4: 0,2 (andeler
"cloud") - Setning 1 <-> Setning 5: 0,7 (andel)
"cloud computing" - Setning 2 <-> Setning 3: 0,2 (begrenset overlapp)
- Setning 2 <-> Setning 4: 0,1 (begrenset overlapp)
- Setning 2 <-> Setning 5: 0,1 (andeler
"computing") - Setning 3 <-> Setning 4: 0,5 (andel)
"cloud platforms" - Setning 3 <-> Setning 5: 0,4 (andeler
"cloud computing") - Setning 4 <-> Setning 5: 0,3 (begrenset overlapp)
Etter å ha beregnet TextRank-poeng iterativt ved bruk av disse vektene, kan setningene 1, 3 og 5 få de høyeste poengene fordi de henger godt sammen med andre setninger gjennom delt terminologi og konsepter. Disse setningene ville bli valgt for å danne en kortfattet oppsummering: "Cloud computing provides on-demand access to computing resources. Azure is Microsoft's cloud computing platform. Cloud computing enables scalability and flexibility."
Merk deg
Å generere et dokumentsammendrag ved å velge de mest relevante setningene er en form for ekstraktiv oppsummering. I denne tilnærmingen genereres ingen ny tekst – sammendraget består av en delmengde av originalteksten. Nyere utviklinger innen semantisk modellering muliggjør også abstrakt oppsummering, hvor nytt språk som oppsummerer hovedtemaene i kildedokumentet genereres.
TextRank kan også brukes på ordnivå for nøkkelordekstraksjon, der ord (i stedet for setninger) blir noder, og kanter representerer samforekomst innenfor et fast vindu. De høyest rangerte ordene trekkes ut som nøkkelbegreper som representerer dokumentets hovedtemaer.