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.

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.
Thetm pakej menyediakan fungsi untuk membaca data teks, membersihkan dan pramemproses data, dan mencipta matriks jangka dokumen, yang biasanya digunakan untuk menganalisis data teks. Thetidytext 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.

Apakah API Pengekstrakan Kata Kunci?

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.

Apakah R?

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.

Soalan Lazim

Apakah itu CSV?

CSV bermaksud “Nilai Dipisahkan Koma”. Ia ialah format fail yang menyimpan dan menukar data dalam format teks biasa, di mana setiap baris mewakili rekod dan setiap lajur mewakili medan atau atribut rekod. Baris pertama fail CSV biasanya menyimpan pengepala lajur, yang menyediakan label untuk setiap medan dalam set data.

Apakah TF-IDF?

TF-IDF bermaksud “Term Frequency-Inverse Document Frequency”. Ia ialah statistik berangka yang menggambarkan kepentingan istilah dalam korpus dokumen. TF-IDF biasanya berguna dalam perlombongan teks, mendapatkan maklumat dan aplikasi pemprosesan bahasa semula jadi.

Apa itu Stopwords?

Kata henti ialah perkataan biasa yang dikecualikan oleh tugas pemprosesan bahasa semula jadi (NLP) kerana ia membawa sedikit makna atau kepentingan dalam analisis teks. Contoh kata henti termasuk “the”, “and”, “of”, “to”, “in”, “a”, “an”, “is” dan “for”.

Kongsi Siaran:

AI yang canggih

Mulakan dengan Eskritor Sekarang!

artikel berkaitan

Imej skrin komputer yang mempamerkan perbualan dengan GPT-3, ditindan dengan gambar rajah yang menggambarkan langkah pemprosesan bahasa AI
Eskritor

Bagaimanakah GPT-3 Berfungsi?

Langkah di bawah menerangkan cara GPT-3 berfungsi untuk menjana respons: Mengapa GPT-3 Berguna? Berikut ialah senarai sebab GPT-3 berguna: Apakah Sejarah GPT-3? Pembangunan GPT-3 adalah proses berulang. Berikut adalah perkembangan

Carta visual yang memaparkan data yang berkaitan dengan kesan AI terhadap pasaran kerja untuk penulis kandungan
Eskritor

Adakah AI Menggantikan Penulis Kandungan?

Ya, penulis AI boleh menggantikan beberapa penulis, tetapi mereka tidak boleh menggantikan penulis yang baik. Ia akan menggantikan jenis pekerjaan menulis tertentu. Penjana kandungan AI boleh menjana kandungan asas yang

Perwakilan visual seni bina ChatGPT , menampilkan model pengubah yang membolehkan pemahaman bahasa dan keupayaan penjanaannya
Eskritor

Bagaimanakah ChatGPT Berfungsi?

Pada tahap yang tinggi, ChatGPT ialah model pembelajaran mendalam yang menggunakan rangkaian saraf untuk menjana teks seperti manusia. Versi khusus model, ChatGPT-3, adalah berdasarkan teknik yang dipanggil seni bina transformer.