Làm cách nào để trích xuất từ khóa từ văn bản trong R?

Hình ảnh minh họa giao diện R với đoạn mã được đánh dấu được sử dụng để trích xuất từ ​​khóa từ văn bản.

Khai thác từ khóa là gì?

Trích xuất từ khóa tự động trích xuất các từ và cụm từ được sử dụng nhiều nhất và quan trọng nhất từ văn bản, sử dụng kỹ thuật phân tích văn bản. Nó giúp tóm tắt nội dung của văn bản và nhận ra các chủ đề chính được thảo luận, giúp ích cho việc nghiên cứu thị trường , phân tích cảm tính và các loại phân tích dữ liệu khác. Kỹ thuật này thúc đẩy nhúng câu và có thể phân tích các tập dữ liệu lớn trong thời gian thực.

Máy học trí tuệ nhân tạo (AI) với xử lý ngôn ngữ tự nhiên (NLP) (một lĩnh vực khoa học máy tính) phá vỡ ngôn ngữ của con người để máy móc có thể hiểu và phân tích ngôn ngữ đó. Trích xuất từ khóa tự động hóa các quy trình công việc như gắn thẻ các câu trả lời khảo sát sắp tới hoặc trả lời các truy vấn khẩn cấp của khách hàng. Kỹ thuật này sử dụng thông tin ngôn ngữ và ngữ nghĩa về văn bản và các từ chứa trong đó. Có các thuật toán và kỹ thuật học máy khác nhau để trích xuất các từ khóa phù hợp nhất trong văn bản.

Tại sao trích xuất từ khóa lại quan trọng?

Trích xuất từ khóa và trích xuất cụm từ khóa rất quan trọng vì một số lý do:

  1. Search Engine Optimization (SEO) : Trích xuất từ khóa giúp xác định các từ và cụm từ quan trọng nhất trong tài liệu, có thể được sử dụng để tối ưu hóa nội dung trang web cho các công cụ tìm kiếm.
  2. Tóm tắt văn bản: Trích xuất từ khóa có thể được sử dụng để tóm tắt tài liệu bằng cách xác định các từ và cụm từ quan trọng nhất thể hiện chủ đề chính của văn bản.
  3. Phân loại văn bản: Trích xuất từ khóa có thể được sử dụng để phân loại tài liệu văn bản thành các danh mục khác nhau dựa trên các từ khóa mà chúng chứa. Điều này rất hữu ích trong các ứng dụng như phân tích tình cảm.
  4. Truy xuất thông tin: Trích xuất từ khóa có thể được sử dụng để cải thiện độ chính xác của hệ thống truy xuất thông tin bằng cách xác định các từ khóa có liên quan phù hợp với truy vấn tìm kiếm của người dùng.

Làm cách nào để trích xuất từ khóa trong R?

Dưới đây là một số kỹ thuật khai thác từ khóa và các trường hợp sử dụng của chúng:

  • Tìm từ khóa bằng cách thực hiện gắn thẻ Các bộ phận của Bài phát biểu để xác định danh từ
  • Tìm từ khóa dựa trên Collocations và Co-occurrences
  • Tìm từ khóa dựa trên thuật toán Textrank
  • Tìm từ khóa dựa trên RAKE (khai thác từ khóa tự động nhanh chóng)
  • Tìm từ khóa dựa trên kết quả phân tích cú pháp phụ thuộc (lấy chủ đề của văn bản)
trích xuất từ khóa từ văn bản

trích xuất danh từ

Một cách dễ dàng để tìm từ khóa là nhìn vào danh từ. Vì mỗi thuật ngữ có một thẻ Phần của bài phát biểu nếu bạn chú thích văn bản bằng gói udpipe:

Mã số:

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")

Sắp xếp thứ tự & sự xuất hiện đồng thời

Nhận biểu thức nhiều từ bằng cách xem xét các cụm từ (các từ nối tiếp nhau), các từ cùng xuất hiện trong mỗi câu hoặc các từ cùng xuất hiện của các từ ở gần nhau.

Mã số:

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 (mạng từ được sắp xếp theo Google Pagerank)

Textrank là một phương pháp trích xuất khác cho các từ khóa. Gói textrank R thực hiện thuật toán Textrank. Thuật toán Textrank cho phép tóm tắt văn bản và trích xuất từ khóa. Để xây dựng một mạng từ, thuật toán sẽ kiểm tra xem các từ có theo nhau không. Thuật toán ‘Google Pagerank’ đang trích xuất các từ có liên quan. Các từ có liên quan nối tiếp nhau kết hợp với nhau để có được từ khóa. TextRank không bắt nguồn từ văn bản gốc, vì đây là cách tiếp cận dựa trên biểu đồ.

Mã số:

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)

Trích xuất từ khóa tự động nhanh chóng: RAKE

RAKE là thuật toán cơ bản tiếp theo, viết tắt của Rapid Automatic Keyword Extraction. RAKE là thuật toán trích xuất từ khóa độc lập với miền trong Xử lý ngôn ngữ tự nhiên.

  1. Tính điểm cho mỗi từ là một phần của bất kỳ từ khóa ứng viên nào, được thực hiện bởi
    • trong số các từ của từ khóa ứng cử viên, thuật toán xem xét mỗi từ xuất hiện bao nhiêu lần và bao nhiêu lần từ đó xuất hiện cùng với các từ khác
    • mỗi từ nhận được một số điểm là tỷ lệ giữa mức độ của từ (số lần nó xuất hiện cùng với các từ khác) với tần suất xuất hiện của từ
  2. Điểm RAKE cho từ khóa ứng cử viên đầy đủ được tính bằng tổng điểm của từng từ xác định từ khóa ứng cử viên

Mã số:

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)) 

Sử dụng đầu ra phân tích cú pháp phụ thuộc để lấy chủ đề danh nghĩa và tính từ của nó

Khi bạn thực hiện chú thích bằng udpipe, trường dep_rel cho biết các từ có liên quan với nhau như thế nào. Mã thông báo có liên quan đến cấp độ gốc bằng cách sử dụng token_idhead_token_id . Trường dep_rel cho biết cách các từ liên kết với nhau. Loại quan hệ có tại http://universaldependencies.org/u/dep/index.html.

Mã số:

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"))

Khai thác văn bản là gì?

Khai thác văn bản trong R đề cập đến quá trình phân tích và trích xuất thông tin chuyên sâu từ dữ liệu văn bản bằng ngôn ngữ lập trình R cũng như các thư viện và gói liên quan. Khai thác văn bản bao gồm một số bước, bao gồm làm sạch và tiền xử lý dữ liệu, trích xuất tính năng, mô hình hóa thống kê và trực quan hóa.
Cáctm gói cung cấp các chức năng để đọc dữ liệu văn bản, làm sạch và tiền xử lý dữ liệu cũng như tạo ma trận thuật ngữ tài liệu, thường được sử dụng để phân tích dữ liệu văn bản. Cáctidytext gói cung cấp các công cụ để chuyển đổi dữ liệu văn bản thành các khung dữ liệu gọn gàng hơn.
Một số nhiệm vụ phổ biến trong khai thác văn bản bao gồm phân tích cảm xúc, lập mô hình chủ đề, phân cụm tài liệu và phân loại văn bản. Những nhiệm vụ này liên quan đến việc áp dụng các kỹ thuật thống kê và học máy để xác định các mẫu và mối quan hệ trong dữ liệu văn bản.

API trích xuất từ khóa là gì?

API trích xuất từ khóa là giao diện phần mềm cho phép nhà phát triển trích xuất từ khóa và cụm từ khóa từ văn bản bằng thuật toán dựng sẵn và mô hình máy học. Các API này cung cấp giải pháp dễ sử dụng và có thể mở rộng để tự động hóa quy trình trích xuất từ khóa mà không cần nhà phát triển xây dựng và đào tạo mô hình của riêng họ.

R là gì?

R là ngôn ngữ lập trình mã nguồn mở và môi trường phần mềm dành cho tính toán thống kê, phân tích dữ liệu và đồ họa. Mọi người sử dụng rộng rãi R trong học viện, nghiên cứu và công nghiệp cho các nhiệm vụ như lập mô hình thống kê, trực quan hóa dữ liệu, học máy và khai thác dữ liệu. Nó có giao diện với các ngôn ngữ lập trình khác như PythonC++ . Tìm thông tin chi tiết hơn với hướng dẫn trực tuyến trên GitHub.

Các câu hỏi thường gặp

CSV là gì?

CSV là viết tắt của “Giá trị được phân tách bằng dấu phẩy”. Đó là định dạng tệp lưu trữ và trao đổi dữ liệu ở định dạng văn bản thuần túy, trong đó mỗi hàng biểu thị một bản ghi và mỗi cột biểu thị một trường hoặc thuộc tính của bản ghi. Hàng đầu tiên của tệp CSV thường lưu trữ tiêu đề cột, cung cấp nhãn cho từng trường trong tập dữ liệu.

TF-IDF là gì?

TF-IDF là viết tắt của “Tần số tài liệu nghịch đảo tần số thuật ngữ”. Đó là một thống kê số phản ánh tầm quan trọng của một thuật ngữ trong kho tài liệu. TF-IDF thường hữu ích trong các ứng dụng khai thác văn bản, truy xuất thông tin và xử lý ngôn ngữ tự nhiên.

Từ dừng là gì?

Từ dừng là những từ phổ biến mà các tác vụ xử lý ngôn ngữ tự nhiên (NLP) loại trừ vì chúng mang ít ý nghĩa hoặc tầm quan trọng trong phân tích văn bản. Ví dụ về từ dừng bao gồm “the”, “and”, “of”, “to”, “in”, “a”, “an”, “is” và “for”.

Chia sẻ bài viết:

Nhà nước của nghệ thuật AI

Bắt đầu với Eskritor ngay!

Những bài viết liên quan

Hình ảnh màn hình máy tính hiển thị cuộc trò chuyện với GPT-3, được phủ bằng các sơ đồ minh họa các bước xử lý ngôn ngữ của AI
Eskritor

GPT-3 hoạt động như thế nào?

Các bước dưới đây giải thích cách hoạt động của GPT-3 để tạo phản hồi: Tại sao GPT-3 hữu ích? Dưới đây là danh sách các lý do tại sao

Một bản trình bày trực quan về kiến ​​trúc của ChatGPT, có mô hình máy biến áp cho phép khả năng hiểu và tạo ngôn ngữ của nó
Eskritor

ChatGPT hoạt động như thế nào?

Ở cấp độ cao, ChatGPT là một mô hình học sâu sử dụng mạng thần kinh để tạo văn bản giống con người. Phiên bản cụ thể của mô hình,