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

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

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

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

การเรียนรู้ของเครื่อง ปัญญาประดิษฐ์ (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 การแยกคำหลักเป็นอินเทอร์เฟซซอฟต์แวร์ที่ช่วยให้นักพัฒนาสามารถแยกคำหลักและวลีสำคัญจากข้อความโดยใช้อัลกอริทึมที่สร้างไว้ล่วงหน้าและโมเดลการเรียนรู้ของเครื่อง API เหล่านี้มอบโซลูชันที่ใช้งานง่ายและปรับขนาดได้สำหรับกระบวนการแยกคำหลักโดยอัตโนมัติ โดยนักพัฒนาไม่จำเป็นต้องสร้างและฝึกโมเดลของตนเอง

R คืออะไร?

R เป็นภาษาการเขียนโปรแกรมแบบโอเพ่นซอร์สและสภาพแวดล้อมซอฟต์แวร์สำหรับการคำนวณเชิงสถิติ การวิเคราะห์ข้อมูล และกราฟิก ผู้คนใช้ R อย่างกว้างขวางในด้านวิชาการ การวิจัย และอุตสาหกรรมสำหรับงานต่างๆ เช่น การสร้างแบบจำลองทางสถิติ การสร้างภาพข้อมูล การเรียนรู้ของเครื่อง และการขุดข้อมูล มีอินเตอร์เฟสกับภาษาโปรแกรมอื่นๆ เช่น Python และ C++ ค้นหาข้อมูลรายละเอียดเพิ่มเติมด้วยบทช่วยสอนออนไลน์บน GitHub

คำถามที่พบบ่อย

CSV คืออะไร?

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

TF-IDF คืออะไร?

TF-IDF ย่อมาจาก “Term Frequency-Inverse Document Frequency” เป็นสถิติตัวเลขที่สะท้อนถึงความสำคัญของคำศัพท์ในคลังเอกสาร TF-IDF มีประโยชน์โดยทั่วไปในการขุดข้อความ การดึงข้อมูล และแอปพลิเคชันการประมวลผลภาษาธรรมชาติ

Stopwords คืออะไร?

คำหยุดเป็นคำทั่วไปที่งานการประมวลผลภาษาธรรมชาติ (NLP) ไม่รวมไว้ เนื่องจากคำเหล่านี้มีความหมายหรือความสำคัญเพียงเล็กน้อยในการวิเคราะห์ข้อความ ตัวอย่างของคำหยุด ได้แก่ “the”, “and”, “of”, “to”, “in”, “a”, “an”, “is” และ “for”

แบ่งปันโพสต์:

AI ที่ทันสมัย

เริ่มต้นด้วย Eskritor ตอนนี้!

บทความที่เกี่ยวข้อง