Како издвојити кључне речи из текста у Р?

Слика која илуструје Р интерфејс са истакнутим исечком кода који се користи за издвајање кључне речи из текста.
Слика која илуструје Р интерфејс са истакнутим исечком кода који се користи за издвајање кључне речи из текста.

Eskritor 2023-07-06

Шта је издвајање кључних речи?

Екстракција кључне речи аутоматски издваја најкоришћеније и најважније речи и изразе из текста, користећи технику анализе текста. Помаже да се сумира садржај текстова и препознају главне теме о којима се расправља, што је од помоћи за истраживање тржишта , анализу расположења и друге врсте анализе података. Ова техника користи уграђивање реченица и може анализирати велике скупове података у реалном времену.

Вештачка интелигенција (АИ) машинског учења са обрадом природног језика (НЛП) (област рачунарских наука) разграђује људски језик тако да га машине могу разумети и анализирати. Екстракција кључних речи аутоматизује токове посла као што је означавање долазних одговора на анкету или одговарање на хитне упите клијената. Техника користи лингвистичке и семантичке информације о текстовима и речима које они садрже. Постоје различити алгоритми и технике машинског учења за издвајање најрелевантнијих кључних речи у тексту.

Зашто је издвајање кључних речи важно?

Екстракција кључне речи и издвајање кључне фразе су важне из неколико разлога:

  1. Оптимизација претраживача (СЕО) : Екстракција кључних речи помаже да се идентификују најважније речи и фразе у документу, који се могу користити за оптимизацију садржаја веб сајта за претраживаче.
  2. Сажимање текста: Екстракција кључне речи може се користити за сумирање документа идентификацијом најважнијих речи и фраза које представљају главну тему текста.
  3. Класификација текста: Екстракција кључних речи се може користити за класификацију текстуалних докумената у различите категорије на основу кључних речи које садрже. Ово је корисно у апликацијама као што је анализа осећања.
  4. Преузимање информација: Екстракција кључних речи може се користити за побољшање тачности система за проналажење информација идентификацијом релевантних кључних речи које одговарају упиту за претрагу корисника.

Како направити екстракцију кључне речи у Р?

Ево неких техника издвајања кључних речи и случајева њихове употребе:

  • Пронађите кључне речи тако што ћете означити делове говора да бисте идентификовали именице
  • Пронађите кључне речи на основу колокација и заједничких појављивања
  • Пронађите кључне речи на основу Тектранк алгоритма
  • Пронађите кључне речи на основу РАКЕ (брзо аутоматско издвајање кључних речи)
  • Пронађите кључне речи на основу резултата рашчлањивања зависности (добијање теме текста)
издвајање кључних речи из текста

Издвајање именица

Једноставан начин за проналажење кључних речи је гледање именица. Пошто сваки термин има ознаку Партс оф Спеецх ако сте коментарисали текст помоћу пакета удпипе:

код:

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")

Колокација и ко-појављивања

Добијте израз са више речи тако што ћете погледати или колокације (речи које следе једна за другом), упоредне појаве речи у свакој реченици или речи које се налазе у близини речи које су блиске једна другој.

код:

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)

Тектранк (мрежа речи поређана према Гоогле ранг-листи страница)

Тектранк је још један метод издвајања кључних речи. Текстранк Р пакет имплементира Тектранк алгоритам. Алгоритам Тектранк омогућава сумирање текста и издвајање кључних речи. Да би конструисао мрежу речи, алгоритам проверава да ли речи следе једна за другом. Алгоритам ‘Гоогле ПагеРанк’ издваја релевантне речи. Релевантне речи које следе једна другу комбинују се да би се добиле кључне речи. ТектРанк не произилази из оригиналног текста, јер је приступ заснован на графовима.

код:

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)

Рапид Аутоматиц Кеиворд Ектрацтион: РАКЕ

РАКЕ је следећи основни алгоритам који је акроним за Рапид Аутоматиц Кеиворд Ектрацтион. РАКЕ је алгоритам за екстракцију кључних речи независан од домена у обради природног језика.

  1. Израчунавање резултата за сваку реч која је део било које кључне речи кандидата врши се од стране
    • међу речима кључних речи кандидата, алгоритам гледа колико пута се свака реч појављује и колико пута се појављује заједно са другим речима
    • свака реч добија резултат који је однос степена речи (колико пута се појављује заједно са другим речима) и учесталости речи
  2. РАКЕ резултат за пуну кључну реч кандидата се израчунава сумирањем резултата сваке од речи које дефинишу кључну реч кандидата

код:

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)) 

Користите излаз рашчлањивања зависности да бисте добили номинални субјект и његов придев

Када сте извршили напомену користећи удпипе, поље деп_рел показује како су речи повезане једна са другом. Токен је повезан са родитељем користећи токен_ид и хеад_токен_ид . Поље деп_рел показује како се речи повезују једна са другом. Тип односа је на хттп://универсалдепенденциес.орг/у/деп/индек.хтмл.

код:

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"))

Шта је рударење текста?

Ископавање текста у Р односи се на процес анализе и издвајања увида из текстуалних података коришћењем програмског језика Р и придружених библиотека и пакета. Ископавање текста укључује неколико корака, укључујући чишћење и претходну обраду података, екстракцију карактеристика, статистичко моделирање и визуелизацију.
Тхе tm пакет пружа функције за читање текстуалних података, чишћење и претходну обраду података и креирање матрица термина документа, које се обично користе за анализу текстуалних података. Тхе tidytext пакет пружа алате за претварање текстуалних података у уредне оквире података.
Неки уобичајени задаци у рударењу текста укључују анализу расположења, моделирање тема, груписање докумената и класификацију текста. Ови задаци укључују примену статистичких техника и техника машинског учења за идентификацију образаца и односа унутар текстуалних података.

АПИ-ји за екстракцију кључних речи су софтверски интерфејси који омогућавају програмерима да издвоје кључне речи и кључне фразе из текста користећи унапред изграђене алгоритаме и моделе машинског учења. Ови АПИ-ји пружају лако за коришћење и скалабилно решење за аутоматизацију процеса издвајања кључних речи, без потребе да програмери граде и обучавају сопствене моделе.

Р је програмски језик отвореног кода и софтверско окружење за статистичко рачунање, анализу података и графику. Људи широко користе Р у академским круговима, истраживању и индустрији за задатке као што су статистичко моделирање, визуализација података, машинско учење и рударење података. Има интерфејсе са другим програмским језицима као што су Питхон и Ц++ . Пронађите детаљније информације уз онлајн туторијале на ГитХуб-у.

Deljenje objave

AI pisac

img

Eskritor

Kreiranje AI sadržaja