Как да извлечем ключови думи от текст в R?

Изображение, илюстриращо интерфейса на R с подчертан фрагмент от код, използван за извличане на ключови думи от текст.

Какво представлява извличането на ключови думи?

Извличането на ключови думи автоматично извлича най-използваните и най-важните думи и изрази от даден текст, като използва техника за анализ на текст. Той помага за обобщаване на съдържанието на текстове и разпознаване на основните обсъждани теми, което е полезно за пазарни проучвания, анализ на настроенията и други видове анализ на данни. Тази техника използва вграждане на изречения и може да анализира големи набори от данни в реално време.

Машинното обучение на изкуствения интелект (ИИ) с обработката на естествен език (NLP) (област от компютърните науки) разбива човешкия език, така че машините да могат да го разбират и анализират. Извличането на ключови думи автоматизира работните процеси, като например маркиране на входящи отговори на проучвания или отговаряне на спешни запитвания на клиенти. Техниката използва лингвистична и семантична информация за текстовете и съдържащите се в тях думи. Съществуват различни алгоритми и техники за машинно обучение за извличане на най-подходящите ключови думи в даден текст.

Защо е важно извличането на ключови думи?

Извличането на ключови думи и ключови фрази е важно по няколко причини:

  1. Оптимизация за търсачки (SEO): Извличането на ключови думи помага да се идентифицират най-важните думи и фрази в даден документ, които могат да се използват за оптимизиране на съдържанието на уебсайта за търсачките.
  2. Обобщаване на текст: Извличането на ключови думи може да се използва за обобщаване на даден документ чрез идентифициране на най-важните думи и фрази, които представят основната тема на текста.
  3. Класификация на текста: Извличането на ключови думи може да се използва за класифициране на текстови документи в различни категории въз основа на съдържащите се в тях ключови думи. Това е полезно в приложения като анализ на настроенията.
  4. Извличане на информация: Извличането на ключови думи може да се използва за подобряване на точността на системите за извличане на информация чрез идентифициране на подходящи ключови думи, които отговарят на заявката за търсене на потребителя.

Как да направим извличане на ключови думи в R?

Ето някои техники за извличане на ключови думи и случаите на тяхното използване:

  • Намиране на ключови думи чрез маркиране на частите на речта, за да се идентифицират съществителните имена
  • Намиране на ключови думи въз основа на колокации и съвпадения
  • Намиране на ключови думи въз основа на алгоритъма Textrank
  • Намиране на ключови думи въз основа на RAKE (бързо автоматично извличане на ключови думи)
  • Намиране на ключови думи въз основа на резултатите от анализа на зависимостите (получаване на темата на текста)
извличане на ключови думи от текст

Извличане на съществителни имена

Лесен начин за намиране на ключови думи е да се разгледат съществителните имена. Тъй като всеки термин има таг 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 е следващият основен алгоритъм, който е акроним на Rapid Automatic Keyword Extraction (бързо автоматично извличане на ключови думи). RAKE е независим от домейна алгоритъм за извличане на ключови думи в обработката на естествен език.

  1. Изчисляването на резултата за всяка дума, която е част от някоя от кандидатстващите ключови думи, се извършва чрез
    • сред думите на кандидат-ключовите думи алгоритъмът разглежда колко пъти се среща всяка дума и колко пъти се среща съвместно с други думи.
    • всяка дума получава оценка, която представлява съотношението между степента на думата (колко пъти се среща с други думи) и честотата на думата
  2. Оценката на 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"))

Какво е Text-Mining?

Извличането на информация от текстове в R се отнася до процеса на анализиране и извличане на информация от текстови данни с помощта на езика за програмиране R и свързаните с него библиотеки и пакети. Извличането на информация от текстове включва няколко етапа, включително почистване и предварителна обработка на данните, извличане на характеристики, статистическо моделиране и визуализация.
Пакетът tm предоставя функции за четене на текстови данни, почистване и предварителна обработка на данните и създаване на матрици „документ-термин“, които обикновено се използват за анализ на текстови данни. Пакетът tidytext предоставя инструменти за преобразуване на текстови данни в подредени рамки от данни.
Някои често срещани задачи в областта на извличането на информация от текстове включват анализ на настроенията, моделиране на теми, клъстериране на документи и класификация на текстове. Тези задачи включват прилагане на статистически техники и техники за машинно обучение за идентифициране на модели и връзки в текстови данни.

Какво представляват API за извличане на ключови думи?

API за извличане на ключови думи са софтуерни интерфейси, които позволяват на разработчиците да извличат ключови думи и ключови фрази от текст с помощта на предварително създадени алгоритми и модели за машинно обучение. Тези приложни програмни интерфейси предоставят лесно за използване и мащабируемо решение за автоматизиране на процеса на извличане на ключови думи, без да е необходимо разработчиците да изграждат и обучават свои собствени модели.

Какво е R?

R е програмен език с отворен код и софтуерна среда за статистически изчисления, анализ на данни и графики. R се използва широко в академичните среди, научните изследвания и индустрията за задачи като статистическо моделиране, визуализация на данни, машинно обучение и извличане на данни. Той има интерфейси с други езици за програмиране, като Python и C++. Намерете по-подробна информация с онлайн уроци в GitHub.

Често задавани въпроси

Какво е CSV?

CSV означава „стойности, разделени със запетая“. Това е файлов формат, в който се съхраняват и обменят данни в обикновен текстов формат, като всеки ред представлява запис, а всяка колона – поле или атрибут на записа. В първия ред на CSV файла обикновено се съхраняват заглавията на колоните, които предоставят етикет за всяко поле в набора от данни.

Какво е TF-IDF?

TF-IDF означава „честота на термините – честота на обратните документи“. Това е цифрова статистика, която отразява важността на даден термин в корпуса от документи. TF-IDF е често използван в приложенията за извличане на текст, извличане на информация и обработка на естествен език.

Какво представляват стоп думите?

Думите-спирки са често срещани думи, които задачите за обработка на естествен език (NLP) изключват, тъй като те имат малко значение или смисъл при анализа на текст. Примери за стоп думи са „the“, „and“, „of“, „to“, „in“, „a“, „an“, „is“ и „for“.

Споделяне на публикацията:

Най-съвременните технологии за автоматична идентификация.

Започнете работа с Eskritor сега!

Свързани статии

Изображение на компютърен екран, показващ разговор с GPT-3, с диаграми, илюстриращи етапите на езиковата обработка на AI.
Eskritor

Как действа GPT-3?

Стъпките по-долу обясняват как GPT-3 работи, за да генерира отговори: Защо е полезен GPT-3? Ето списък с причините, поради които GPT-3 е полезен: Каква е историята на GPT-3? Разработването на

Визуална диаграма, показваща данни, свързани с влиянието на AI върху пазара на труда за автори на съдържание
Eskritor

Ще замени ли AI авторите на съдържание?

Да, писателите с изкуствен интелект могат да заменят някои писатели, но никога не могат да заменят добрите писатели. Тя ще замени някои видове работа по писане. Генераторите на съдържание с

Визуално представяне на архитектурата на ChatGPT с модела на трансформатора, който позволява разбирането на езика и генерирането му
Eskritor

Как работи ChatGPT?

На високо ниво ChatGPT е модел за дълбоко обучение, който използва невронна мрежа за генериране на текст, подобен на човешкия. Конкретната версия на модела, ChatGPT-3, се основава на техника, наречена