Miten poimia avainsanat tekstistä R:ssä?

Kuva, joka havainnollistaa R-käyttöliittymää, jossa on korostettu koodinpätkä, jota käytetään avainsanojen poimimiseen tekstistä.

Mikä on avainsanan poiminta?

Avainsanojen poiminta poimii automaattisesti käytetyimmät ja tärkeimmät sanat ja ilmaisut tekstistä käyttäen tekstianalyysitekniikkaa. Se auttaa tiivistämään tekstien sisällön ja tunnistamaan tärkeimmät keskustelunaiheet, mikä on hyödyllistä markkinatutkimuksessa, tunneanalyysissä ja muunlaisessa tietojen analysoinnissa. Tämä tekniikka hyödyntää lauseiden upotuksia ja voi analysoida suuria tietomääriä reaaliajassa.

Koneoppiminen tekoälyn ja luonnollisen kielen käsittelyn (NLP) avulla (tietotekniikan ala) pilkkoo ihmisen kielen niin, että koneet voivat ymmärtää ja analysoida sitä. Avainsanojen poiminta automatisoi työnkulkuja, kuten saapuvien kyselyvastausten merkitsemistä tai vastaamista kiireellisiin asiakaskyselyihin. Tekniikassa käytetään kielellistä ja semanttista tietoa teksteistä ja niiden sisältämistä sanoista. On olemassa erilaisia koneoppimisalgoritmeja ja -tekniikoita, joiden avulla tekstistä voidaan poimia olennaisimmat avainsanat.

Miksi avainsanojen poiminta on tärkeää?

Avainsanojen ja avainsanalausekkeiden poiminta on tärkeää useista syistä:

  1. Hakukoneoptimointi (SEO): Avainsanojen louhinta auttaa tunnistamaan asiakirjan tärkeimmät sanat ja lausekkeet, joita voidaan käyttää verkkosivuston sisällön optimointiin hakukoneita varten.
  2. Tekstin tiivistäminen: Tunnistamalla tärkeimmät sanat ja lauseet, jotka edustavat tekstin pääteemaa.
  3. Tekstin luokittelu: Avainsanojen louhintaa voidaan käyttää tekstidokumenttien luokitteluun eri luokkiin niiden sisältämien avainsanojen perusteella. Tämä on hyödyllistä esimerkiksi tunneanalyysin kaltaisissa sovelluksissa.
  4. Tiedonhaku: Avainsanojen louhinta: Avainsanojen louhintaa voidaan käyttää tiedonhakujärjestelmien tarkkuuden parantamiseen tunnistamalla olennaiset avainsanat, jotka vastaavat käyttäjän hakukyselyä.

Miten tehdä avainsanan poiminta R:ssä?

Seuraavassa on joitakin avainsanojen louhintatekniikoita ja niiden käyttötapauksia:

  • Etsi avainsanoja tekemällä puheosien tunnistaminen substantiivien tunnistamiseksi.
  • Etsi avainsanoja kollokaatioiden ja yhteisesiintymien perusteella.
  • Etsi avainsanoja Textrank-algoritmin perusteella
  • Etsi avainsanoja RAKE:n (nopea automaattinen avainsanojen poiminta) perusteella.
  • Etsi avainsanoja riippuvuusanalyysin tulosten perusteella (tekstin aiheen selvittäminen).
avainsanojen poimiminen tekstistä

Substantiivien poimiminen

Helppo tapa löytää avainsanoja on tarkastella substantiiveja. Koska jokaisella termillä on puheen osat -tunniste, jos olet kommentoinut tekstiä udpipe-paketilla:

Koodi:

stats <- subset(x, upos %in% "NOUN") 
stats <- txt_freq(x = stats$lemma) 
library(lattice) 
stats$key <- factor(stats$key, levels = rev(stats$key)) 
barchart(key ~ freq, data = head(stats, 30), col = "cadetblue", main = "Most occurring nouns", xlab = "Freq")

Kollokaatio ja yhteisesiintymät

Hanki monisanaisia ilmauksia tarkastelemalla joko kollokaatioita (toisiaan seuraavia sanoja), sanojen yhteisesiintymiä kussakin lauseessa tai sellaisten sanojen yhteisesiintymiä, jotka ovat lähellä toisiaan.

Koodi:

Collocation (words following one another)

stats <- keywords_collocation(x = x,
term = "token", group = c("doc_id", "paragraph_id", "sentence_id"),
ngram_max = 4)

Co-occurrences: How frequent do words occur in the same sentence, in this case only nouns or adjectives

stats <- cooccurrence(x = subset(x, upos %in% c("NOUN", "ADJ")),
term = "lemma", group = c("doc_id", "paragraph_id", "sentence_id"))

## Co-occurrences: How frequent do words follow one another

stats <- cooccurrence(x = x$lemma,
relevant = x$upos %in% c("NOUN", "ADJ"))

## Co-occurrences: How frequent do words follow one another even if we would skip 2 words in between

stats <- cooccurrence(x = x$lemma,
relevant = x$upos %in% c("NOUN", "ADJ"), skipgram = 2)

Textrank (sanaverkko järjestettynä Google Pagerankin mukaan)

Textrank on toinen avainsanojen uuttamismenetelmä. Textrank R-paketti toteuttaa Textrank-algoritmin. Textrank-algoritmi mahdollistaa tekstin tiivistämisen ja avainsanojen poimimisen. Sanaverkon rakentamiseksi algoritmi tarkistaa, seuraavatko sanat toisiaan. Google Pagerank -algoritmi poimii relevantteja sanoja. Toisiaan seuraavat merkitykselliset sanat yhdistyvät avainsanoiksi. TextRank ei perustu alkuperäiseen tekstiin, sillä se on graafipohjainen lähestymistapa.

Koodi:

stats <- textrank_keywords(x$lemma, relevant = x$upos %in% c("NOUN", "ADJ"), ngram_max = 8, sep = " ") 
stats <- subset(stats$keywords, ngram > 1 & freq >= 5) library(wordcloud) wordcloud(words = stats$keyword, freq = stats$freq)

Nopea automaattinen avainsanojen poiminta: RAKE

RAKE on seuraava perusalgoritmi, joka on lyhenne sanoista Rapid Automatic Keyword Extraction. RAKE on toimialueesta riippumaton avainsanojen poiminta-algoritmi luonnollisen kielen käsittelyssä.

  1. Pistemäärän laskeminen jokaiselle sanalle, joka on osa ehdolla olevaa avainsanaa, tapahtuu seuraavasti.
    • Algoritmi tarkastelee avainsanaehdokkaiden sanojen joukosta, kuinka monta kertaa kukin sana esiintyy ja kuinka monta kertaa se esiintyy yhdessä muiden sanojen kanssa.
    • kukin sana saa pistemäärän, joka on sanan asteen (kuinka monta kertaa se esiintyy yhdessä muiden sanojen kanssa) ja sanan esiintymistiheyden suhde.
  2. Koko hakusanaehdokkaan RAKE-pisteet lasketaan laskemalla yhteen kaikkien hakusanaehdokkaan määrittelevien sanojen pisteet.

Koodi:

stats <- keywords_rake(x = x, term = "token", group = c("doc_id", "paragraph_id", "sentence_id"), relevant = x$upos %in% c("NOUN", "ADJ"), ngram_max = 4) 
head(subset(stats, freq > 3)) 

Käytä riippuvuusanalyysin tulosta saadaksesi nimellisen subjektin ja sen adjektiivin.

Kun suoritat annotaation udpipe-ohjelmalla, dep_rel-kenttä osoittaa, miten sanat liittyvät toisiinsa. Token liittyy vanhempaan token_id:n ja head_token_id:n avulla. Dep_rel-kenttä osoittaa, miten sanat liittyvät toisiinsa. Suhteiden tyyppi on osoitteessa http://universaldependencies.org/u/dep/index.html.

Koodi:

stats <- merge(x, x, by.x = c("doc_id", "paragraph_id", "sentence_id", "head_token_id"), by.y = c("doc_id", "paragraph_id", "sentence_id", "token_id"), all.x = TRUE, all.y = FALSE, suffixes = c("", "_parent"), sort = FALSE) 
stats <- subset(stats, dep_rel %in% "nsubj" & upos %in% c("NOUN") & upos_parent %in% c("ADJ")) 
stats$term <- paste(stats$lemma_parent, stats$lemma, sep = " ") 
stats <- txt_freq(stats$term) 
library(wordcloud) 
wordcloud(words = stats$key, freq = stats$freq, min.freq = 3, max.words = 100, random.order = FALSE, colors = brewer.pal(6, "Dark2"))

Mitä on tekstinlouhinta?

Tekstinlouhinta R:llä tarkoittaa prosessia, jossa analysoidaan ja poimitaan oivalluksia tekstidatasta käyttäen R-ohjelmointikieltä ja siihen liittyviä kirjastoja ja paketteja. Tekstinlouhintaan kuuluu useita vaiheita, kuten tietojen puhdistus ja esikäsittely, ominaisuuksien louhinta, tilastollinen mallintaminen ja visualisointi.
tm -paketti tarjoaa funktioita tekstidatan lukemiseen, datan puhdistamiseen ja esikäsittelyyn sekä dokumentti-termi-matriisien luomiseen, joita käytetään yleisesti tekstidatan analysoinnissa. Paketti tidytext tarjoaa työkaluja, joilla tekstidatan voi muuntaa siistiksi datakehykseksi.
Tekstinlouhinnan yleisiä tehtäviä ovat esimerkiksi tunneanalyysi, aihepiirien mallintaminen, asiakirjojen klusterointi ja tekstiluokittelu. Näissä tehtävissä sovelletaan tilastollisia ja koneoppimisen tekniikoita tekstidatan kuvioiden ja suhteiden tunnistamiseen.

Mitä ovat avainsanojen poiminta API:t?

Avainsanojen poiminta-apit ovat ohjelmistorajapintoja, joiden avulla kehittäjät voivat poimia tekstistä avainsanoja ja avainsanoja käyttämällä valmiita algoritmeja ja koneoppimismalleja. Nämä sovellusliittymät tarjoavat helppokäyttöisen ja skaalautuvan ratkaisun avainsanojen poimintaprosessin automatisointiin ilman, että kehittäjien tarvitsee rakentaa ja kouluttaa omia mallejaan.

Mikä on R?

R on avoimen lähdekoodin ohjelmointikieli ja ohjelmistoympäristö tilastolaskentaa, data-analyysiä ja grafiikkaa varten. R-ohjelmaa käytetään laajalti yliopistoissa, tutkimuksessa ja teollisuudessa esimerkiksi tilastolliseen mallintamiseen, tietojen visualisointiin, koneoppimiseen ja tiedonlouhintaan. Sillä on rajapinnat muihin ohjelmointikieliin, kuten Pythoniin ja C++:aan. Löydät yksityiskohtaisempia tietoja online-oppaista GitHubista.

Usein kysytyt kysymykset

Mikä on CSV?

CSV on lyhenne sanoista ”Comma-Separated Values”. Se on tiedostomuoto, jossa tiedot tallennetaan ja vaihdetaan tavallisessa tekstimuodossa, jossa jokainen rivi edustaa tietuetta ja jokainen sarake tietueen kenttää tai ominaisuutta. CSV-tiedoston ensimmäiselle riville tallennetaan tavallisesti sarakeotsikot, joissa on kunkin tietokannan kentän nimi.

Mikä on TF-IDF?

TF-IDF on lyhenne sanoista ”Term Frequency-Inverse Document Frequency”. Se on numeerinen tilasto, joka kuvastaa termin tärkeyttä asiakirjakorpuksessa. TF-IDF on yleisesti käyttökelpoinen tekstinlouhinnassa, tiedonhaussa ja luonnollisen kielen käsittelyssä.

Mitä ovat stop-sanat?

Stop-sanat ovat yleisiä sanoja, jotka luonnollisen kielen prosessointitehtävissä (NLP) jätetään pois, koska niillä on vain vähän merkitystä tai merkitystä tekstianalyysissä. Esimerkkejä stop-sanoista ovat ”the”, ”and”, ”of”, ”to”, ”in”, ”a”, ”an”, ”is” ja ”for”.

Jaa viesti:

Viimeisintä tekniikkaa edustava tekoäly

Aloita Eskritorin käyttö nyt!

Aiheeseen liittyvät artikkelit

Kuva tietokoneen näytöltä, jossa näytetään keskustelu GPT-3:n kanssa, ja sen päällä on kaaviot, jotka havainnollistavat AI kielenkäsittelyn vaiheita.
Eskritor

Miten GPT-3 toimii?

Alla olevissa vaiheissa selitetään, miten GPT-3 toimii vastausten tuottamiseksi: Miksi GPT-3 on hyödyllinen? Tässä on luettelo syistä, joiden vuoksi GPT-3 on hyödyllinen: Mikä on GPT-3:n historia? GPT-3:n kehittäminen on iteratiivinen

Visuaalinen kaavio, jossa esitetään tietoja AI vaikutuksesta sisällöntuottajien työmarkkinoihin.
Eskritor

Korvaako tekoäly sisällöntoimittajat?

Kyllä, tekoälykirjailijat voivat korvata joitakin kirjailijoita, mutta he eivät voi koskaan korvata hyviä kirjailijoita. Se korvaa tietyntyyppisiä kirjoitustöitä. Tekoälyn sisältötuottajat voivat tuottaa perussisältöä, joka ei edellytä alkuperäistä tutkimusta tai asiantuntemusta.

Visuaalinen esitys ChatGPT:n arkkitehtuurista, jossa on muunnosmalli, joka mahdollistaa sen kielen ymmärtämisen ja tuottamisen.
Eskritor

Miten ChatGPT toimii?

Korkealla tasolla ChatGPT on syväoppimismalli, joka käyttää neuroverkkoa ihmisen kaltaisen tekstin tuottamiseen. Mallin erityinen versio ChatGPT-3 perustuu tekniikkaan, jota kutsutaan muuntajaarkkitehtuuriksi. Tällaisen arkkitehtuurin ansiosta malli tunnistaa kielessä olevia malleja ja

Visuaalinen esitys muodollisesta kirjallisesta näytteestä, jossa on selkeästi korostettu hyviä ja huonoja puolia kuvaavat kohdat.
Eskritor

Miten esittää hyvät ja huonot puolet virallisessa kirjoituksessa?

Voit seurata alla olevaa vaiheittaista opasta ja oppia, miten voit käyttää hyviä ja huonoja puolia kirjoittamisprosessissasi: Millaisia ovat virallisen kirjoittamisen tyypit? Seuraavassa on joitakin yleisimpiä virallisen kirjoittamisen muotoja: Mitkä ovat