Как извлечь ключевые слова из текста в R?

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

Что такое извлечение ключевых слов?

Извлечение ключевых слов автоматически извлекает из текста наиболее употребительные и важные слова и выражения, используя технику анализа текста. Он помогает обобщать содержание текстов и распознавать основные обсуждаемые темы, что полезно для маркетинговых исследований, анализа настроений и других видов анализа данных. Эта техника использует вкрапления предложений и может анализировать большие массивы данных в режиме реального времени.

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

Почему извлечение ключевых слов важно?

Извлечение ключевых слов и ключевых фраз важно по нескольким причинам:

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

Как сделать извлечение ключевых слов в R?

Ниже приведены некоторые методы извлечения ключевых слов и их применение:

  • Поиск ключевых слов с помощью маркировки частей речи для определения существительных
  • Поиск ключевых слов на основе коллокаций и совпадений
  • Поиск ключевых слов на основе алгоритма Textrank
  • Поиск ключевых слов на основе RAKE (быстрое автоматическое извлечение ключевых слов)
  • Поиск ключевых слов на основе результатов разбора зависимостей (получение темы текста)
извлечение ключевых слов из текста

Извлечение существительных

Простым способом поиска ключевых слов является изучение существительных. Поскольку каждый термин имеет тег части речи, если вы аннотировали текст с помощью пакета 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"))

Что такое текстовый майнинг?

Текстовый майнинг в R — это процесс анализа и извлечения информации из текстовых данных с помощью языка программирования R и связанных с ним библиотек и пакетов. Анализ текста включает в себя несколько этапов, в том числе очистку и предварительную обработку данных, извлечение признаков, статистическое моделирование и визуализацию.
Пакет tm предоставляет функции для чтения текстовых данных, очистки и предварительной обработки данных, а также создания матриц документ-термин, которые обычно используются для анализа текстовых данных. Пакет tidytext предоставляет инструменты для преобразования текстовых данных в аккуратные рамки данных.
Некоторые общие задачи текстового анализа включают анализ настроений, моделирование тем, кластеризацию документов и классификацию текстов. Эти задачи предполагают применение статистических методов и методов машинного обучения для выявления закономерностей и взаимосвязей в текстовых данных.

Что такое API извлечения ключевых слов?

API для извлечения ключевых слов — это программные интерфейсы, которые позволяют разработчикам извлекать ключевые слова и ключевые фразы из текста с помощью заранее созданных алгоритмов и моделей машинного обучения. Эти API обеспечивают простое в использовании и масштабируемое решение для автоматизации процесса извлечения ключевых слов, без необходимости для разработчиков создавать и обучать собственные модели.

Что такое R?

R — это язык программирования с открытым исходным кодом и программная среда для статистических вычислений, анализа данных и графики. Люди широко используют R в академических, научных и промышленных кругах для решения таких задач, как статистическое моделирование, визуализация данных, машинное обучение и добыча данных. Он имеет интерфейсы с другими языками программирования, такими как Python и C++. Более подробную информацию можно найти в онлайн-учебниках на GitHub.

Часто задаваемые вопросы

Что такое CSV?

CSV означает «Значения, разделенные запятыми». Это формат файла, который хранит и обменивается данными в формате обычного текста, где каждая строка представляет собой запись, а каждый столбец — поле или атрибут записи. В первой строке файла CSV обычно хранятся заголовки столбцов, которые содержат метки для каждого поля в наборе данных.

Что такое TF-IDF?

TF-IDF расшифровывается как «Term Frequency-Inverse Document Frequency». Это числовая статистика, отражающая важность термина в корпусе документов. TF-IDF широко используется в приложениях по поиску текстов, информационному поиску и обработке естественного языка.

Что такое стоп-слова?

Стоп-слова — это обычные слова, которые в задачах обработки естественного языка (NLP) исключаются, поскольку они не несут особого смысла или значения для анализа текста. Примеры стоп-слов включают «the», «and», «of», «to», «in», «a», «an», «is» и «for».

Поделиться сообщением:

Современное состояние A.I.

Начните работу с Eskritor прямо сейчас!

Похожие статьи

Изображение экрана компьютера, демонстрирующее разговор с GPT-3, на которое наложены диаграммы, иллюстрирующие этапы обработки языка ИИ
Eskritor

Как работает GPT-3?

Приведенные ниже шаги объясняют, как работает GPT-3 для создания ответных реакций: Почему полезен GPT-3? Вот список причин, по которым GPT-3 полезен: Какова история GPT-3? Разработка GPT-3 — это итерационный процесс.

Визуальная диаграмма, отображающая данные о влиянии искусственного интеллекта на рынок труда для контент-райтеров
Eskritor

Заменит ли ИИ авторов контента?

Да, ИИ-писатели могут заменить некоторых писателей, но они никогда не смогут заменить хороших писателей. Она заменит некоторые виды писательской работы. ИИ-генераторы контента могут генерировать базовый контент, который не требует оригинальных

Визуальное представление архитектуры ChatGPT, показывающее модель трансформатора, которая позволяет понимать и генерировать язык.
Eskritor

Как работает ChatGPT?

На высоком уровне ChatGPT — это модель глубокого обучения, которая использует нейронную сеть для генерации человекоподобного текста. Конкретная версия модели, ChatGPT-3, основана на технике, называемой трансформаторной архитектурой. Этот тип архитектуры

Визуальное представление образца формального письма, с четко выделенными разделами, иллюстрирующими плюсы и минусы
Eskritor

Как представить аргументы «за» и «против» в официальном письме?

Вы можете следовать приведенному ниже пошаговому руководству, чтобы узнать, как использовать плюсы и минусы в процессе написания текста: Каковы типы формального письма? Вот некоторые из наиболее распространенных видов формального письма: