Bagaimana untuk Mengekstrak Kata Kunci daripada Teks dalam R?

Imej yang menggambarkan antara muka R dengan coretan kod yang diserlahkan digunakan untuk pengekstrakan kata kunci daripada teks.
Imej yang menggambarkan antara muka R dengan coretan kod yang diserlahkan digunakan untuk pengekstrakan kata kunci daripada teks.

Eskritor 2023-07-06

Apakah Pengekstrakan Kata Kunci?

Pengekstrakan kata kunci secara automatik mengekstrak perkataan dan ungkapan yang paling banyak digunakan dan paling penting daripada teks, menggunakan teknik analisis teks. Ia membantu untuk meringkaskan kandungan teks dan mengenali topik utama yang dibincangkan, yang berguna untuk penyelidikan pasaran , analisis sentimen dan jenis analisis data yang lain. Teknik ini memanfaatkan benam ayat dan boleh menganalisis set data yang besar dalam masa nyata.

Pembelajaran mesin kecerdasan buatan (AI) dengan pemprosesan bahasa semula jadi (NLP) (bidang sains komputer) memecahkan bahasa manusia supaya mesin dapat memahami dan menganalisisnya. Pengekstrakan kata kunci mengautomasikan aliran kerja seperti menandai respons tinjauan masuk atau menjawab pertanyaan pelanggan yang mendesak. Teknik ini menggunakan maklumat linguistik dan semantik tentang teks dan perkataan yang terkandung di dalamnya. Terdapat algoritma dan teknik pembelajaran mesin yang berbeza untuk mengekstrak kata kunci yang paling berkaitan dalam teks.

Mengapa Pengekstrakan Kata Kunci Penting?

Pengekstrakan kata kunci dan pengekstrakan frasa kunci adalah penting atas beberapa sebab:

  1. Pengoptimuman Enjin Carian (SEO) : Pengekstrakan kata kunci membantu mengenal pasti perkataan dan frasa yang paling penting dalam dokumen, yang boleh digunakan untuk mengoptimumkan kandungan tapak web untuk enjin carian.
  2. Ringkasan teks: Pengekstrakan kata kunci boleh digunakan untuk meringkaskan dokumen dengan mengenal pasti perkataan dan frasa paling penting yang mewakili tema utama teks.
  3. Pengelasan teks: Pengekstrakan kata kunci boleh digunakan untuk mengklasifikasikan dokumen teks ke dalam kategori berbeza berdasarkan kata kunci yang terkandung di dalamnya. Ini berguna dalam aplikasi seperti analisis sentimen.
  4. Pendapatan semula maklumat: Pengekstrakan kata kunci boleh digunakan untuk meningkatkan ketepatan sistem perolehan maklumat dengan mengenal pasti kata kunci yang berkaitan yang sepadan dengan pertanyaan carian pengguna.

Bagaimana untuk Membuat Pengekstrakan Kata Kunci dalam R?

Berikut ialah beberapa teknik pengekstrakan kata kunci dan kes penggunaannya:

  • Cari kata kunci dengan melakukan penandaan Bahagian Pertuturan untuk mengenal pasti kata nama
  • Cari kata kunci berdasarkan Kolokasi dan Kejadian Bersama
  • Cari kata kunci berdasarkan algoritma Textrank
  • Cari kata kunci berdasarkan RAKE (pengeluaran kata kunci automatik yang pantas)
  • Cari kata kunci berdasarkan hasil penghuraian kebergantungan (mendapatkan subjek teks)
mengekstrak kata kunci daripada teks

Mengekstrak Kata Nama

Cara mudah untuk mencari kata kunci adalah dengan melihat kata nama. Memandangkan setiap istilah mempunyai teg Bahagian Pertuturan jika anda membuat anotasi teks menggunakan pakej udpipe:

Kod:

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

Kolokasi & kejadian bersama

Dapatkan ungkapan berbilang perkataan dengan melihat sama ada pada kolokasi (perkataan mengikut satu sama lain), pada kejadian bersama perkataan dalam setiap ayat, atau pada kejadian bersama perkataan bagi perkataan yang berdekatan dalam kejiranan antara satu sama lain.

Kod:

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 (rangkaian perkataan yang dipesan oleh Google Pagerank)

Textrank ialah kaedah pengekstrakan lain untuk kata kunci. Pakej textrank R melaksanakan algoritma Textrank. Algoritma Textrank membolehkan ringkasan teks dan pengekstrakan kata kunci. Untuk membina rangkaian perkataan, algoritma menyemak sama ada perkataan mengikut satu sama lain. Algoritma ‘Google Pagerank’ sedang mengekstrak perkataan yang berkaitan. Perkataan berkaitan yang mengikut satu sama lain bergabung bersama untuk mendapatkan kata kunci. TextRank tidak berpunca daripada teks asal, kerana ia adalah pendekatan berasaskan graf.

Kod:

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)

Pengekstrakan Kata Kunci Automatik Pantas: RAKE

RAKE ialah algoritma asas seterusnya yang merupakan akronim untuk Pengekstrakan Kata Kunci Automatik Rapid. RAKE ialah algoritma pengekstrakan kata kunci Bebas Domain dalam Pemprosesan Bahasa Semulajadi.

  1. Pengiraan markah untuk setiap perkataan yang merupakan sebahagian daripada mana-mana kata kunci calon, dilakukan oleh
    • antara perkataan kata kunci calon, algoritma melihat berapa kali setiap perkataan itu berlaku dan berapa kali ia berlaku bersama dengan perkataan lain
    • setiap perkataan mendapat skor iaitu nisbah perkataan darjah (berapa kali ia berlaku bersama dengan perkataan lain) kepada kekerapan perkataan
  2. Skor RAKE untuk kata kunci calon penuh dikira dengan merumuskan markah setiap perkataan yang mentakrifkan kata kunci calon

Kod:

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

Gunakan output penghuraian kebergantungan untuk mendapatkan subjek nominal dan kata sifatnya

Apabila anda melaksanakan anotasi menggunakan udpipe, medan dep_rel menunjukkan cara perkataan berkaitan antara satu sama lain. Token berkaitan dengan induk menggunakan token_id dan head_token_id . Medan dep_rel menunjukkan cara perkataan dipautkan antara satu sama lain. Jenis perhubungan adalah di http://universaldependencies.org/u/dep/index.html.

Kod:

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

Apakah Text-Mining?

Perlombongan teks dalam R merujuk kepada proses menganalisis dan mengekstrak cerapan daripada data teks menggunakan bahasa pengaturcaraan R dan perpustakaan serta pakej yang berkaitan. Perlombongan teks melibatkan beberapa langkah, termasuk pembersihan dan prapemprosesan data, pengekstrakan ciri, pemodelan statistik dan visualisasi.
The tm pakej menyediakan fungsi untuk membaca data teks, membersihkan dan pramemproses data, dan mencipta matriks jangka dokumen, yang biasanya digunakan untuk menganalisis data teks. The tidytext pakej menyediakan alat untuk menukar data teks kepada bingkai data yang kemas.
Beberapa tugas biasa dalam perlombongan teks termasuk analisis sentimen, pemodelan topik, pengelompokan dokumen dan klasifikasi teks. Tugas-tugas ini melibatkan penggunaan teknik statistik dan pembelajaran mesin untuk mengenal pasti corak dan perhubungan dalam data teks.

API pengekstrakan kata kunci ialah antara muka perisian yang membolehkan pembangun mengekstrak kata kunci dan frasa utama daripada teks menggunakan algoritma pra-bina dan model pembelajaran mesin. API ini menyediakan penyelesaian yang mudah digunakan dan berskala untuk mengautomasikan proses pengekstrakan kata kunci, tanpa memerlukan pembangun membina dan melatih model mereka sendiri.

R ialah bahasa pengaturcaraan sumber terbuka dan persekitaran perisian untuk pengkomputeran statistik, analisis data dan grafik. Orang ramai menggunakan R secara meluas dalam akademik, penyelidikan dan industri untuk tugas seperti pemodelan statistik, visualisasi data, pembelajaran mesin dan perlombongan data. Ia mempunyai antara muka dengan bahasa pengaturcaraan lain seperti Python dan C++ . Dapatkan maklumat lebih terperinci dengan tutorial dalam talian di GitHub.

Kongsi Siaran

AI Penulis

img

Eskritor

Mencipta kandungan AI dijana