จะแยกคำหลักจากข้อความใน R ได้อย่างไร

รูปภาพที่แสดงส่วนต่อประสาน R พร้อมส่วนย่อยของโค้ดที่เน้นไว้ซึ่งใช้สำหรับการแยกคำหลักจากข้อความ
รูปภาพที่แสดงส่วนต่อประสาน R พร้อมส่วนย่อยของโค้ดที่เน้นไว้ซึ่งใช้สำหรับการแยกคำหลักจากข้อความ

Eskritor 2023-07-06

การสกัดคำหลักคืออะไร?

การแยกคำหลักจะแยกคำและสำนวนที่ใช้มากที่สุดและสำคัญที่สุดออกจากข้อความโดยอัตโนมัติ โดยใช้เทคนิคการวิเคราะห์ข้อความ ช่วยในการสรุปเนื้อหาของข้อความและจดจำหัวข้อหลักที่กล่าวถึง ซึ่งเป็นประโยชน์สำหรับการวิจัย ตลาด การวิเคราะห์ความรู้สึก และการวิเคราะห์ข้อมูลประเภทอื่นๆ เทคนิคนี้ใช้ประโยชน์จากการฝังประโยคและสามารถวิเคราะห์ชุดข้อมูลขนาดใหญ่ได้แบบเรียลไทม์

การเรียนรู้ของเครื่อง ปัญญาประดิษฐ์ (AI) พร้อมการประมวลผลภาษาธรรมชาติ (NLP) (สาขาวิทยาการคอมพิวเตอร์) แยกย่อยภาษามนุษย์เพื่อให้เครื่องจักรสามารถเข้าใจและวิเคราะห์ได้ การแยกคำสำคัญทำให้เวิร์กโฟลว์เป็นไปโดยอัตโนมัติ เช่น การติดแท็กการตอบแบบสำรวจที่เข้ามา หรือการตอบคำถามเร่งด่วนของลูกค้า เทคนิคนี้ใช้ข้อมูลทางภาษาและความหมายเกี่ยวกับข้อความและคำที่มีอยู่ มีอัลกอริทึมและเทคนิคการเรียนรู้ของเครื่องที่แตกต่างกันเพื่อแยกคำหลักที่เกี่ยวข้องมากที่สุดในข้อความ

เหตุใดการสกัดคำหลักจึงสำคัญ

การแยกคีย์เวิร์ดและคีย์วลีมีความสำคัญเนื่องจากสาเหตุหลายประการ:

  1. การปรับแต่งเว็บไซต์ให้ติดอันดับบนเครื่องมือการค้นหา (SEO) : การแยกคำหลักช่วยในการระบุคำและวลีที่สำคัญที่สุดในเอกสาร ซึ่งสามารถใช้เพื่อเพิ่มประสิทธิภาพเนื้อหาเว็บไซต์สำหรับเครื่องมือค้นหา
  2. การสรุปข้อความ: การแยกคำหลักสามารถใช้เพื่อสรุปเอกสารโดยการระบุคำและวลีที่สำคัญที่สุดที่แสดงถึงธีมหลักของข้อความ
  3. การจัดประเภทข้อความ: การแยกคำหลักสามารถใช้เพื่อจัดประเภทเอกสารข้อความเป็นหมวดหมู่ต่างๆ ตามคำหลักที่มีอยู่ ซึ่งมีประโยชน์ในการใช้งาน เช่น การวิเคราะห์ความรู้สึก
  4. การดึงข้อมูล: การแยกคีย์เวิร์ดสามารถใช้เพื่อปรับปรุงความแม่นยำของระบบดึงข้อมูลโดยการระบุคีย์เวิร์ดที่เกี่ยวข้องซึ่งตรงกับคำค้นหาของผู้ใช้

วิธีการแยกคำหลักใน R?

ต่อไปนี้เป็นเทคนิคการแยกคำหลักและกรณีการใช้งาน:

  • ค้นหาคำหลักโดยทำการแท็ก Parts of Speech เพื่อระบุคำนาม
  • ค้นหาคำหลักตามการจัดระเบียบและเหตุการณ์ร่วม
  • ค้นหาคำหลักตามอัลกอริทึม 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 เป็นอัลกอริทึมพื้นฐานถัดไปซึ่งเป็นตัวย่อสำหรับการสกัดคำหลักอัตโนมัติอย่างรวดเร็ว 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 อย่างกว้างขวางในด้านวิชาการ การวิจัย และอุตสาหกรรมสำหรับงานต่างๆ เช่น การสร้างแบบจำลองทางสถิติ การสร้างภาพข้อมูล การเรียนรู้ของเครื่อง และการขุดข้อมูล มีอินเตอร์เฟสกับภาษาโปรแกรมอื่นๆ เช่น Python และ C++ ค้นหาข้อมูลรายละเอียดเพิ่มเติมด้วยบทช่วยสอนออนไลน์บน GitHub

แชร์โพสต์

นักเขียน AI

img

Eskritor

สร้างเนื้อหาที่ AI สร้างขึ้น