Як виділити ключові слова з тексту в 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"))

Що таке Text-Mining?

Інтелектуальний аналіз тексту в R – це процес аналізу та вилучення інформації з текстових даних за допомогою мови програмування R та пов’язаних з нею бібліотек і пакетів. Інтелектуальний аналіз тексту складається з кількох етапів, включаючи очищення та попередню обробку даних, вилучення ознак, статистичне моделювання та візуалізацію.
Пакет tm надає функції для читання текстових даних, очищення та попередньої обробки даних, а також створення матриць термінів документів, які зазвичай використовуються для аналізу текстових даних. Пакет tidytext надає інструменти для перетворення текстових даних в охайні фрейми даних.
Деякі з поширених завдань у текстовому аналізі включають аналіз настроїв, моделювання тем, кластеризацію документів і класифікацію текстів. Ці завдання передбачають застосування методів статистики та машинного навчання для виявлення закономірностей і взаємозв’язків у текстових даних.

Що таке API вилучення ключових слів?

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, накладену на діаграми, що ілюструють етапи обробки мови штучним інтелектом
Eskritor

Як працює GPT-3?

Наведені нижче кроки пояснюють, як працює GPT-3 для створення відповідей: Чому GPT-3 корисний? Ось список причин, чому GPT-3 корисний: Яка історія GPT-3? Розробка GPT-3 – це ітеративний процес. Ось як

Візуальна діаграма, що відображає дані, пов'язані з впливом ШІ на ринок праці для авторів контенту
Eskritor

Чи замінить ШІ авторів контенту?

Так, ШІ може замінити деяких авторів, але він ніколи не замінить хороших авторів. Він замінить певні види письмової роботи. Генератори контенту зі штучним інтелектом можуть створювати базовий контент, який не

Візуальне представлення архітектури ChatGPT, що включає модель трансформатора, яка забезпечує розуміння мови та можливості генерації.
Eskritor

Як працює ChatGPT?

На високому рівні ChatGPT – це модель глибокого навчання, яка використовує нейронну мережу для створення тексту, схожого на людський. Конкретна версія моделі, ChatGPT-3, базується на техніці, яка називається трансформаторною архітектурою.

Візуальне представлення зразка офіційної письмової роботи з розділами, що ілюструють плюси та мінуси, чітко виділеними.
Eskritor

Як представити аргументи “за” і “проти” в офіційному письмовому документі?

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