Thuật toán tìm kiếm từ khóa Python

Khai thác từ khóa là một phương pháp phân tích văn bản được sử dụng trong khoa học dữ liệu để có được những hiểu biết cần thiết từ một văn bản trong một khoảng thời gian ngắn. Nó sẽ hỗ trợ trong việc lấy các từ khóa có liên quan từ bất kỳ văn bản nào và giúp bạn tiết kiệm thời gian tìm kiếm toàn bộ trang. Có các tính năng khác trong các dự án khác nhau mà bạn có thể sử dụng loại thư viện này, chẳng hạn như tự động trích xuất từ ​​khóa khi xuất bản blog, vì vậy nếu bạn cảm thấy lười biếng hoặc ít sáng tạo hơn bình thường, bạn có thể tự động tạo chúng từ văn bản gốc của mình

Một ví dụ thực tế tuyệt vời khác là khi bạn xuất bản một sản phẩm trong cửa hàng và sản phẩm đó nhận được đánh giá. Bạn có thể sử dụng công cụ này để tự động trích xuất các lỗi của các mặt hàng bằng cách phân tích hàng nghìn đánh giá mà không cần phải đọc tất cả

Trong bài viết này, chúng tôi sẽ đề cập đến mọi thứ bạn cần biết để bắt đầu trích xuất từ ​​khóa bằng ngôn ngữ lập trình Python, chẳng hạn như lợi ích của việc trích xuất từ ​​khóa, nó có lợi cho ai, các thư viện Python quan trọng và cuối cùng là cách trích xuất từ ​​khóa trong

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

Trước khi đi sâu vào khai thác từ khóa, trước tiên chúng ta phải xác định từ khóa là gì. Từ khóa, thường được gọi là từ khóa trọng tâm, là từ thể hiện tốt nhất thông tin trên trang web hoặc bài đăng của bạn. Đó là từ khóa tìm kiếm mà bạn muốn xếp hạng với một trang cụ thể. Mọi người sẽ có thể định vị trang đó trên trang web của bạn nếu họ tìm kiếm cụm từ hoặc cụm từ đó trong Google hoặc các công cụ tìm kiếm khác. Nói cách khác, từ khóa là bất kỳ thuật ngữ hoặc cụm từ có ý nghĩa nào được sử dụng để xác định nội dung của tài liệu. Với từ khóa, bạn có thể tăng sức mạnh của nội dung hiện tại, cải thiện điều hướng đến trang web của mình, tăng số lần nhấp vào SERP, v.v.

Trích xuất từ ​​khóa là một phương pháp phân tích văn bản tự động trích xuất các từ và cụm từ có liên quan nhất từ ​​​​văn bản của một tài liệu nhất định. Nó có thể hỗ trợ chúng ta phân tích khối lượng dữ liệu khổng lồ bằng cách tóm tắt nội dung của văn bản và cô đọng nó bằng cách xác định các vấn đề chính được đề cập. Do đó, nó rất có thể mở rộng và hiệu quả khi đánh giá khối lượng dữ liệu khổng lồ. Tác giả/nhà văn, nhà tiếp thị, chuyên gia SEO, doanh nghiệp, doanh nghiệp vừa và nhỏ và chủ sở hữu công ty có thể sử dụng tính năng trích xuất từ ​​khóa để trích xuất các cụm từ quan trọng nhất từ ​​số lượng lớn văn bản trong một khoảng thời gian rất ngắn. Điều này cho phép họ có được cái nhìn sâu sắc về các vấn đề mà người tiêu dùng của họ quan tâm, cũng như phản hồi về hàng hóa của họ

Lợi ích của việc khai thác từ khóa

  1. Nó đáng tin cậy vì nó sử dụng các tiêu chí được xác định trước và do đó luôn nhất quán
  2. Trích xuất từ ​​khóa cho phép phân tích theo thời gian thực, cho phép bạn xử lý dữ liệu từ nhiều nguồn khác nhau như phương tiện truyền thông xã hội, đánh giá, thăm dò ý kiến, v.v.
  3. Nó có thể mở rộng, cho phép bạn đánh giá và phân tích lượng lớn dữ liệu văn bản đồng thời tự động hóa các cụm từ khóa và nhận dạng thông tin khác

Phương pháp khai thác từ khóa

Có một vài phương pháp trong khai thác từ khóa cụ thể là

  1. phương pháp ngôn ngữ học. Phương pháp ngôn ngữ sử dụng thông tin liên quan đến văn bản và các từ có trong đó. Thông tin bao gồm các phần của bài phát biểu, mối quan hệ từ, đánh dấu diễn ngôn, thông tin ngữ nghĩa và sự xuất hiện của từ. Để tăng độ chính xác của đầu ra, hầu hết các hệ thống trích xuất từ ​​khóa đều kết hợp một số loại phương pháp ngôn ngữ
  2. Phương pháp đồ họa. Ở đây, văn bản được biểu thị bằng nhiều cách khác nhau bằng cách sử dụng kỹ thuật đồ họa. Các từ được tạo thành từ các đỉnh được kết nối bởi một cạnh có hướng (kết nối một chiều giữa các đỉnh). Các cạnh đó trong cây phụ thuộc thể hiện mối quan hệ giữa các từ
  3. phương pháp thống kê. Để đánh giá và trích xuất các từ khóa thiết yếu, phương pháp thống kê không yêu cầu dữ liệu đào tạo. Tuy nhiên, vì các thuật toán này dựa trên dữ liệu thống kê nên chúng chỉ có thể xem xét các cụm từ xuất hiện nhiều lần. Các cụm từ sắp xếp từ, tần suất từ, TF-IDF (thuật ngữ tần suất nghịch đảo tần số tài liệu) và RAKE (Trích xuất từ ​​khóa tự động nhanh) là một vài ví dụ
  4. Phương pháp lai. Hệ thống kết hợp là một cách xây dựng mô hình trích xuất từ ​​khóa kết hợp hai hoặc nhiều phương pháp. Mục đích chính của việc này là để tăng độ chính xác của hệ thống

Thư viện Python để khai thác từ khóa

RAKE (Trích xuất từ ​​khóa tự động nhanh). RAKE là một kỹ thuật trích xuất từ ​​khóa không liên quan đến tên miền, cố gắng xác định các cụm từ quan trọng trong phần nội dung văn bản bằng cách đánh giá tần suất xuất hiện của từ và sự xuất hiện của từ đó với các cụm từ khác trong văn bản

YAKE (Yet Another Keyword Extractor). YAKE là phương pháp trích xuất từ ​​khóa tự động không giám sát đơn giản, dựa trên dữ liệu thống kê văn bản được thu thập từ các văn bản đơn lẻ để xác định các từ khóa phù hợp nhất trong văn bản.
Vui lòng xem github của YAKE tại đây.

PKE (Trích xuất cụm từ khóa Python). PKE là một công cụ trích xuất khóa mã nguồn mở dựa trên Python. Nó cung cấp quy trình trích xuất khóa từ đầu đến cuối, với mỗi thành phần có thể dễ dàng sửa đổi hoặc mở rộng để tạo các mô hình mới

keyBERT. KeyBERT là một phương pháp trích xuất từ ​​khóa đơn giản và dễ sử dụng, sử dụng các nhúng BERT để tạo các từ khóa và cụm từ khóa có thể so sánh nhất cho một trang

MultiRake (Trích xuất từ ​​khóa tự động nhanh đa ngôn ngữ). MiltiRake là một thư viện RAKE python làm nổi bật. không cần biết trước ngôn ngữ của văn bản, không cần có danh sách từ dừng, trích xuất từ ​​khóa tự động từ văn bản được viết bằng bất kỳ ngôn ngữ nào và trích xuất từ ​​khóa tự động từ văn bản được viết bằng bất kỳ ngôn ngữ nào, với 26 ngôn ngữ hiện có

Xếp hạng văn bản. là một triển khai TextRank của Python dưới dạng mở rộng đường dẫn spaCy để xử lý ngôn ngữ tự nhiên dựa trên biểu đồ — và các kỹ thuật biểu đồ tri thức liên quan

Đôi khi các giải pháp đơn giản mang lại kết quả tốt nhất. Chúng tôi đã thực hiện các tối ưu hóa phần cứng nhỏ để tăng thông lượng rất nhiều. Tham khảo dự án tại đây

Cách trích xuất từ ​​khóa

Trong phần này, chúng tôi sẽ trích xuất các từ khóa bằng các thư viện ngôn ngữ lập trình Python đã đề cập ở trên

Trước tiên, hãy sử dụng RAKE (Trích xuất từ ​​khóa tự động nhanh) vì nó thân thiện với người dùng và đơn giản để thiết lập

  • Cài đặt
pip install rake-nltk
  • Hãy nhập Rake và khởi tạo Class
from rake_nltk import Rake
rake_class = Rake()
  • Bước tiếp theo là thêm một văn bản dài vào một biến
text = """ Programming is writing computer code to create a program, to solve a problem. 
Programs are created to implement algorithms. Algorithms can be represented as pseudocode or a flowchart ,
and programming is the translation of these into a computer program."""
  • Hãy trích xuất các từ khóa từ văn bản và xuất kết quả
rake_class.extract_keywords_from_text(text)
extracted_keyword = rake_class.get_ranked_phrases()
print(extracted_keyword)

Đầu ra trích xuất từ ​​khóa Rake

2. Sử dụng YAKE (Yet Another Keyword Extractor)

  • Cài đặt
pip install git+https://github.com/LIAAD/yake
  • Nhập thư viện Yake
import yake
  • Chèn văn bản vào một biến
text = """ Programming is writing computer code to create a program, to solve a problem. 
Programs are created to implement algorithms. Algorithms can be represented as pseudocode or a flowchart ,
and programming is the translation of these into a computer program."""
  • Chúng ta phải xây dựng một đối tượng KeywordExtractor từ phiên bản Yake bằng cách sử dụng hàm tạo KeywordExtractor, chấp nhận nhiều tham số, trong đó quan trọng nhất là. số lượng từ được khôi phục (trên cùng), mà chúng tôi đặt ở đây là 10. Lan. Chúng tôi sử dụng tiêu chuẩn “en” ở đây. Một danh sách các từ dừng có thể được gửi như một đối số. Sau đó, văn bản được gửi tới chức năng trích xuất từ ​​khóa, chức năng này tạo ra một danh sách các bộ (từ khóa. điểm). Độ dài của các từ khóa nằm trong khoảng từ một đến ba
extractor = yake.KeywordExtractor(top=10, stopwords=None)
keywords = extractor.extract_keywords(text)
for kw, u in keywords:
print("Keyphrase: ",kw, ": score", u)

Đầu ra khai thác từ khóa Yake

Sử dụng TextRank

  • Cài đặt
________số 8
  • Mặt khác để tạo từ khóa bằng phương pháp TextRank, chúng ta phải cài đặt gói summa và nhập từ khóa mô-đun
from summa import keywords
  • Chúng ta phải thêm văn bản vào một biến
from rake_nltk import Rake
rake_class = Rake()
0
  • Cuối cùng, tất cả những gì bạn phải làm là gọi hàm từ khóa và cung cấp văn bản sẽ được xử lý. Chúng tôi cũng sẽ đặt điểm số thành true để báo cáo tầm quan trọng của từng từ khóa được tạo
from rake_nltk import Rake
rake_class = Rake()
1

Đầu ra trích xuất từ ​​khóa TextRank

Phần kết luận

Các phương pháp trích xuất từ ​​khóa giúp chúng ta xác định ý nghĩa của từ trong văn bản. Kỹ thuật này cũng có thể được sử dụng để mô hình hóa các chủ đề. nhưng vẫn còn những kỹ thuật khác để trích xuất từ ​​khóa bằng Python mà chúng tôi không trình bày trong bài viết này, vì vậy hãy đảm bảo bạn nghiên cứu thêm nếu muốn biết thêm. Một số ứng dụng trích xuất từ ​​khóa bao gồm hỗ trợ khách hàng, tối ưu hóa SEO, giám sát phương tiện truyền thông xã hội, v.v.

Ghi chú của biên tập viên. Heartbeat là một cộng đồng và ấn phẩm trực tuyến dựa trên cộng tác viên chuyên cung cấp các tài nguyên giáo dục hàng đầu về khoa học dữ liệu, học máy và những người thực hành học sâu. Chúng tôi cam kết hỗ trợ và truyền cảm hứng cho các nhà phát triển cũng như kỹ sư từ mọi tầng lớp xã hội

Độc lập về mặt biên tập, Heartbeat được tài trợ và xuất bản bởi Comet, một nền tảng MLOps cho phép các nhà khoa học dữ liệu & nhóm ML theo dõi, so sánh, giải thích và tối ưu hóa các thử nghiệm của họ. Chúng tôi trả tiền cho những người đóng góp và chúng tôi không bán quảng cáo

Nếu bạn muốn đóng góp, hãy tham gia cuộc gọi cộng tác viên của chúng tôi. Bạn cũng có thể đăng ký để nhận bản tin hàng tuần của chúng tôi (Deep Learning Weekly và Bản tin Comet), tham gia với chúng tôi trên Slack và theo dõi Comet trên Twitter và LinkedIn để biết các tài nguyên, sự kiện, v.v. sẽ giúp bạn xây dựng các mô hình ML tốt hơn, nhanh hơn

Từ khóa trong thuật toán là gì?

Từ khóa tham khảo các cụm từ/biểu thức quan trọng đại diện cho tài liệu cơ bản . Từ khóa từ tài liệu có thể mô tả chính xác nội dung của tài liệu và có thể hỗ trợ xử lý thông tin nhanh chóng.

Thuật toán Yake hoạt động như thế nào?

YAKE không trực tiếp sử dụng vị trí của từ mà nó sử dụng vị trí của câu mà từ xuất hiện . Ý tưởng là đánh giá các từ trong câu xuất hiện ở phần đầu cao hơn các từ trong các câu xuất hiện ở cuối tài liệu.

Trích xuất cụm từ khóa hoạt động như thế nào?

Trích xuất từ ​​khóa sử dụng trí tuệ nhân tạo (AI) của máy học với công nghệ xử lý ngôn ngữ tự nhiên (NLP) để phân tách ngôn ngữ của con người sao cho máy có thể hiểu và phân tích ngôn ngữ đó.

KeyBERT là gì?

KeyBERT là kỹ thuật trích xuất từ ​​khóa tối thiểu và dễ sử dụng, tận dụng nhúng BERT để tạo từ khóa và cụm từ khóa giống nhất với tài liệu.