מהי חילוץ מילות מפתח?

חילוץ מילות מפתח מחלץ אוטומטית את המילים והביטויים הנפוצים והחשובים ביותר מטקסט, באמצעות טכניקת ניתוח טקסט. זה עוזר לסכם את התוכן של טקסטים ולהכיר את הנושאים העיקריים שנדונו. טכניקה זו ממנפת הטמעות משפטים ויכולה לנתח קבוצות גדולות של נתונים בזמן אמת.

למידת מכונה בינה מלאכותית (AI) עם עיבוד שפה טבעית (NLP) (תחום של מדעי המחשב) מפרקת את השפה האנושית כך שמכונות יוכלו להבין ולנתח אותה. חילוץ מילות מפתח הופך תהליכי עבודה לאוטומטיים כמו תיוג תגובות נכנסות לסקרים או מענה לשאילתות דחופות של לקוחות. הטכניקה משתמשת במידע לשוני וסמנטי על טקסטים ועל המילים שהם מכילים. ישנם אלגוריתמים וטכניקות שונות של למידת מכונה כדי לחלץ את מילות המפתח הרלוונטיות ביותר בטקסט.

חילוץ מילות מפתח מטקסט

מדוע שליפת מילות מפתח חשובה?

מיצוי מילות מפתח וחילוץ ביטוי מפתח חשובים מכמה סיבות:

  1. אופטימיזציה למנועי חיפוש (SEO) : חילוץ מילות מפתח עוזר לזהות את המילים והביטויים החשובים ביותר במסמך, אשר ניתן להשתמש בהם כדי לייעל את תוכן האתר למנועי החיפוש.
  2. סיכום טקסט: ניתן להשתמש בחילוץ מילות מפתח כדי לסכם מסמך על ידי זיהוי המילים והביטויים החשובים ביותר המייצגים את הנושא המרכזי של הטקסט.
  3. סיווג טקסט: ניתן להשתמש בחילוץ מילות מפתח כדי לסווג מסמכי טקסט לקטגוריות שונות על סמך מילות המפתח שהם מכילים. זה שימושי ביישומים כגון ניתוח סנטימנטים.
  4. אחזור מידע: ניתן להשתמש בחילוץ מילות מפתח כדי לשפר את הדיוק של מערכות אחזור מידע על ידי זיהוי מילות מפתח רלוונטיות התואמות לשאילתת החיפוש של המשתמש.

כיצד לבצע מיצוי מילות מפתח ב-R?

להלן כמה טכניקות לחילוץ מילות מפתח ומקרי השימוש בהן:

חילוץ שמות עצם

דרך קלה למצוא מילות מפתח היא עיון בשמות עצם. מכיוון שלכל מונח יש תג חלקי דיבור אם הוספת הערות לטקסט באמצעות חבילת 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 הוא האלגוריתם הבסיסי הבא שהוא ראשי תיבות של Rapid Automatic Keyword Extraction. 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"))

מהי כריית טקסט?

כריית טקסט ב-R מתייחסת לתהליך של ניתוח והפקת תובנות מנתוני טקסט באמצעות שפת התכנות R וספריות וחבילות קשורות. כריית טקסט כרוכה במספר שלבים, כולל ניקוי נתונים ועיבוד מוקדם, מיצוי תכונות, מודלים סטטיסטיים והדמיה.
הtm החבילה מספקת פונקציות לקריאת נתוני טקסט, ניקוי ועיבוד מקדים של הנתונים, ויצירת מטריצות למונחי מסמך, המשמשות בדרך כלל לניתוח נתוני טקסט. הtidytext החבילה מספקת כלים להמרת נתוני טקסט למסגרות נתונים מסודרות.
כמה משימות נפוצות בכריית טקסט כוללות ניתוח סנטימנטים, מודלים של נושאים, קיבוץ מסמכים וסיווג טקסט. משימות אלו כוללות יישום טכניקות סטטיסטיות ולמידת מכונה כדי לזהות דפוסים ויחסים בתוך נתוני טקסט.

מהם ממשקי API לחילוץ מילות מפתח?

ממשקי תוכנה לחילוץ מילות מפתח הם ממשקי תוכנה המאפשרים למפתחים לחלץ מילות מפתח וביטויי מפתח מטקסט באמצעות אלגוריתמים מובנים מראש ומודלים של למידת מכונה. ממשקי API אלו מספקים פתרון קל לשימוש וניתן להרחבה לאוטומציה של תהליך מיצוי מילות המפתח, ללא צורך במפתחים לבנות ולהכשיר מודלים משלהם.

מה זה R?

R היא שפת תכנות קוד פתוח וסביבת תוכנה עבור מחשוב סטטיסטי, ניתוח נתונים וגרפיקה. אנשים משתמשים ב-R באופן נרחב באקדמיה, במחקר ובתעשייה עבור משימות כמו מודלים סטטיסטיים, הדמיית נתונים, למידת מכונה וכריית נתונים. יש לו ממשקים עם שפות תכנות אחרות כמו Python ו- C++ . מצא מידע מפורט יותר עם הדרכות מקוונות ב-GitHub.

שאלות נפוצות

מה זה CSV?

CSV מייצג "ערכים מופרדים בפסיקים". זהו פורמט קובץ המאחסן ומחליף נתונים בפורמט טקסט רגיל, כאשר כל שורה מייצגת רשומה, וכל עמודה מייצגת שדה או תכונה של הרשומה. השורה הראשונה של קובץ CSV מאחסנת בדרך כלל את כותרות העמודות, המספקות תווית לכל שדה במערך הנתונים.

מה זה TF-IDF?

TF-IDF ראשי תיבות של "תדר תדירות מסמך הפוך". זהו נתון מספרי המשקף את החשיבות של מונח בקורפוס מסמכים. TF-IDF שימושי בדרך כלל ביישומי כריית טקסט, אחזור מידע ויישומי עיבוד שפה טבעית.

מהן מילות עצירה?

מילות עצירה הן מילים נפוצות שמטלות עיבוד שפה טבעית (NLP) אינן כוללות משום שהן נושאות מעט משמעות או משמעות בניתוח טקסט. דוגמאות למילות עצור כוללות "ה", "ו", "של", "אל", "ב", "א", "אן", "יש" ו"עבור".