Што е екстракција на клучни зборови?
Извлекувањето на клучни зборови автоматски ги извлекува најкористените и најважните зборови и изрази од текстот, користејќи техника за анализа на текст. Тоа помага да се сумира содржината на текстовите и да се препознаат главните теми за кои се дискутира, што е корисно за истражување на пазарот , анализа на чувствата и други видови на анализа на податоци. Оваа техника користи вградување реченици и може да анализира големи групи на податоци во реално време.
Вештачката интелигенција (АИ) за машинско учење со обработка на природни јазици (НЛП) (област на компјутерски науки) го разложува човечкиот јазик за машините да можат да го разберат и анализираат. Извлекувањето на клучни зборови ги автоматизира работните текови, како што е означување на дојдовните одговори на анкетите или одговарање на итни прашања од клиентите. Техниката користи лингвистички и семантички информации за текстовите и зборовите што ги содржат. Постојат различни алгоритми и техники за машинско учење за извлекување на најрелевантните клучни зборови во текстот.
Зошто е важно извлекувањето на клучни зборови?
Извлекувањето на клучни зборови и екстракција на клучни фрази се важни поради неколку причини:
- Оптимизација на пребарувачи (SEO) : Извлекувањето на клучни зборови помага да се идентификуваат најважните зборови и фрази во документот, што може да се користи за оптимизирање на содржината на веб-локацијата за пребарувачите.
- Резимирање на текст: Извлекувањето на клучни зборови може да се користи за сумирање на документ со идентификување на најважните зборови и фрази што ја претставуваат главната тема на текстот.
- Класификација на текст: Извлекувањето на клучни зборови може да се користи за класификација на текстуалните документи во различни категории врз основа на клучните зборови што ги содржат. Ова е корисно во апликации како што е анализата на чувствата.
- Враќање информации: Извлекувањето на клучни зборови може да се користи за да се подобри точноста на системите за пронаоѓање информации преку идентификување на релевантни клучни зборови кои одговараат на барањето за пребарување на корисникот.
Како да направите екстракција на клучни зборови во R?
Еве неколку техники за екстракција на клучни зборови и случаи на нивна употреба:
- Најдете клучни зборови со означување на делови од говорот за да ги идентификувате именките
- Најдете клучни зборови засновани на Колокации и истовремени појави
- Најдете клучни зборови врз основа на алгоритмот Textrank
- Најдете клучни зборови врз основа на RAKE (брзо автоматско екстракција на клучни зборови)
- Најдете клучни зборови врз основа на резултатите од парсирањето на зависност (добивање на темата на текстот)
![извлекување клучни зборови од текст](/img/inline-images/campaign-creators-pypeCEaJeZY-unsplash-edited.avif)
Извлекување именки
Лесен начин да се најдат клучни зборови е со гледање на именките. Бидејќи секој термин има ознака Parts of Speech, ако сте бележеле текст користејќи го пакетот udpipe:
Код:
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)
Textrank (мрежа на зборови нарачана од Google PageRank)
Textrank е уште еден метод за екстракција за клучни зборови. Пакетот textrank R го имплементира алгоритмот Textrank. Алгоритмот Textrank овозможува сумирање на текст и екстракција на клучни зборови. За да се изгради мрежа на зборови, алгоритмот проверува дали зборовите се следат еден по друг. Алгоритмот „Google PageRank“ извлекува релевантни зборови. Релевантните зборови што следат еден по друг се комбинираат заедно за да добијат клучни зборови. TextRank не произлегува од оригиналниот текст, бидејќи е пристап базиран на графикони.
Код:
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)
Брзо автоматско екстракција на клучни зборови: RAKE
RAKE е следниот основен алгоритам кој е акроним за Брзо автоматско екстракција на клучни зборови. RAKE е алгоритам за екстракција на клучни зборови независен од домен во обработката на природен јазик.
-
Пресметувањето на резултат за секој збор што е дел од кој било клучен збор кандидат, се врши од
- меѓу зборовите на клучните зборови кандидати, алгоритмот гледа колку пати секој збор се појавува и колку пати се појавува заедно со други зборови
- секој збор добива оценка што е односот на зборот степен (колку пати се појавува заедно со други зборови) со зборот фреквенција
- Оценката RAKE за целосниот клучен збор кандидат се пресметува со сумирање на резултатите на секој од зборовите што го дефинираат клучниот збор кандидат
Код:
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))
Користете го излезот за парсирање на зависност за да го добиете номиналниот предмет и придавката за него
Кога сте ја извршиле прибелешката користејќи udpipe, полето dep_rel покажува како зборовите се поврзани еден со друг. Токен е поврзан со родителот кој користи token_id и head_token_id . Полето dep_rel покажува како зборовите се поврзуваат еден со друг. Видот на односите е на http://universaldependencies.org/u/dep/index.html.
Код:
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"))
Што е рударство за текст?
Текст рударството во R се однесува на процес на анализа и извлекување на увиди од текстуални податоци користејќи го програмскиот јазик R и придружните библиотеки и пакети. Текст рударството вклучува неколку чекори, вклучувајќи чистење и преобработка на податоци, екстракција на карактеристики, статистичко моделирање и визуелизација.
На
tm
пакетот обезбедува функции за читање на текстуални податоци, чистење и претпроцесирање на податоците и создавање матрици со термини за документи, кои вообичаено се користат за анализа на текстуални податоци. На
tidytext
пакет обезбедува алатки за конвертирање на текстуални податоци во уредни рамки за податоци.
Некои вообичаени задачи во рударството на текст вклучуваат анализа на чувства, моделирање на теми, групирање документи и класификација на текст. Овие задачи вклучуваат примена на статистички техники и техники за машинско учење за да се идентификуваат обрасците и односите во текстуалните податоци.
API-ите за извлекување клучни зборови се софтверски интерфејси кои им овозможуваат на програмерите да извлечат клучни зборови и клучни фрази од текст користејќи претходно изградени алгоритми и модели за машинско учење. Овие API обезбедуваат лесно за употреба и скалабилно решение за автоматизирање на процесот на екстракција на клучни зборови, без потреба од развивачите да градат и обучуваат свои модели.
R е програмски јазик со отворен код и софтверска средина за статистички пресметки, анализа на податоци и графика. Луѓето широко го користат R во академијата, истражувањето и индустријата за задачи како што се статистичко моделирање, визуелизација на податоци, машинско учење и ископување податоци. Има интерфејси со други програмски јазици како што се Python и C++ . Најдете подетални информации со онлајн упатства на GitHub.