การสกัดคำหลักคืออะไร?
การแยกคำหลักจะแยกคำและสำนวนที่ใช้มากที่สุดและสำคัญที่สุดออกจากข้อความโดยอัตโนมัติ โดยใช้เทคนิคการวิเคราะห์ข้อความ ช่วยในการสรุปเนื้อหาของข้อความและจดจำหัวข้อหลักที่กล่าวถึง ซึ่งเป็นประโยชน์สำหรับการวิจัย ตลาด การวิเคราะห์ความรู้สึก และการวิเคราะห์ข้อมูลประเภทอื่นๆ เทคนิคนี้ใช้ประโยชน์จากการฝังประโยคและสามารถวิเคราะห์ชุดข้อมูลขนาดใหญ่ได้แบบเรียลไทม์
การเรียนรู้ของเครื่อง ปัญญาประดิษฐ์ (AI) พร้อมการประมวลผลภาษาธรรมชาติ (NLP) (สาขาวิทยาการคอมพิวเตอร์) แยกย่อยภาษามนุษย์เพื่อให้เครื่องจักรสามารถเข้าใจและวิเคราะห์ได้ การแยกคำสำคัญทำให้เวิร์กโฟลว์เป็นไปโดยอัตโนมัติ เช่น การติดแท็กการตอบแบบสำรวจที่เข้ามา หรือการตอบคำถามเร่งด่วนของลูกค้า เทคนิคนี้ใช้ข้อมูลทางภาษาและความหมายเกี่ยวกับข้อความและคำที่มีอยู่ มีอัลกอริทึมและเทคนิคการเรียนรู้ของเครื่องที่แตกต่างกันเพื่อแยกคำหลักที่เกี่ยวข้องมากที่สุดในข้อความ
เหตุใดการสกัดคำหลักจึงสำคัญ
การแยกคีย์เวิร์ดและคีย์วลีมีความสำคัญเนื่องจากสาเหตุหลายประการ:
- การปรับแต่งเว็บไซต์ให้ติดอันดับบนเครื่องมือการค้นหา (SEO) : การแยกคำหลักช่วยในการระบุคำและวลีที่สำคัญที่สุดในเอกสาร ซึ่งสามารถใช้เพื่อเพิ่มประสิทธิภาพเนื้อหาเว็บไซต์สำหรับเครื่องมือค้นหา
- การสรุปข้อความ: การแยกคำหลักสามารถใช้เพื่อสรุปเอกสารโดยการระบุคำและวลีที่สำคัญที่สุดที่แสดงถึงธีมหลักของข้อความ
- การจัดประเภทข้อความ: การแยกคำหลักสามารถใช้เพื่อจัดประเภทเอกสารข้อความเป็นหมวดหมู่ต่างๆ ตามคำหลักที่มีอยู่ ซึ่งมีประโยชน์ในการใช้งาน เช่น การวิเคราะห์ความรู้สึก
- การดึงข้อมูล: การแยกคีย์เวิร์ดสามารถใช้เพื่อปรับปรุงความแม่นยำของระบบดึงข้อมูลโดยการระบุคีย์เวิร์ดที่เกี่ยวข้องซึ่งตรงกับคำค้นหาของผู้ใช้
วิธีการแยกคำหลักใน 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 เป็นอัลกอริธึมการแยกคำหลักที่ไม่ขึ้นกับโดเมนในการประมวลผลภาษาธรรมชาติ
-
การคำนวณคะแนนสำหรับแต่ละคำที่เป็นส่วนหนึ่งของคำหลักที่เป็นตัวเลือก ดำเนินการโดย
- อัลกอริทึมจะพิจารณาว่าแต่ละคำเกิดขึ้นกี่ครั้งและเกิดร่วมกับคำอื่นกี่ครั้ง
- แต่ละคำได้คะแนนซึ่งเป็นอัตราส่วนของระดับคำ (เกิดร่วมกับคำอื่นกี่ครั้ง) ต่อความถี่ของคำ
- คะแนน 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