Gensim - Giới thiệu
Chương này sẽ giúp bạn hiểu lịch sử và các tính năng của Gensim cùng với các công dụng và ưu điểm của nó.
Gensim là gì?
Gensim = “Generate Similar”là một thư viện xử lý ngôn ngữ tự nhiên (NLP) nguồn mở phổ biến được sử dụng để lập mô hình chủ đề không có giám sát. Nó sử dụng các mô hình học thuật hàng đầu và máy học thống kê hiện đại để thực hiện các nhiệm vụ phức tạp khác nhau như -
- Xây dựng vectơ tài liệu hoặc từ
- Corpora
- Thực hiện xác định chủ đề
- Thực hiện so sánh tài liệu (truy xuất các tài liệu tương tự về ngữ nghĩa)
- Phân tích tài liệu văn bản thuần túy cho cấu trúc ngữ nghĩa
Ngoài việc thực hiện các tác vụ phức tạp trên, Gensim, được triển khai bằng Python và Cython, được thiết kế để xử lý các bộ sưu tập văn bản lớn bằng cách sử dụng luồng dữ liệu cũng như các thuật toán trực tuyến gia tăng. Điều này làm cho nó khác với những gói phần mềm học máy chỉ nhắm mục tiêu xử lý trong bộ nhớ.
Lịch sử
Năm 2008, Gensim bắt đầu như một bộ sưu tập các tập lệnh Python khác nhau cho Toán học Kỹ thuật số của Séc. Ở đó, nó phục vụ để tạo ra một danh sách ngắn các bài báo tương tự nhất với một bài báo cụ thể. Nhưng vào năm 2009, RARE Technologies Ltd. đã phát hành bản phát hành đầu tiên. Sau đó, vào cuối tháng 7 năm 2019, chúng tôi đã có bản phát hành ổn định (3.8.0).
Các tính năng khác nhau
Sau đây là một số tính năng và khả năng được cung cấp bởi Gensim:
Khả năng mở rộng
Gensim có thể dễ dàng xử lý kho tài liệu lớn và quy mô web bằng cách sử dụng các thuật toán đào tạo trực tuyến gia tăng của nó. Nó có thể mở rộng về bản chất, vì không cần toàn bộ kho dữ liệu đầu vào phải nằm trọn vẹn trong Bộ nhớ truy cập ngẫu nhiên (RAM) tại bất kỳ thời điểm nào. Nói cách khác, tất cả các thuật toán của nó đều không phụ thuộc vào bộ nhớ đối với kích thước kho dữ liệu.
Mạnh mẽ
Gensim có bản chất mạnh mẽ và đã được nhiều người cũng như tổ chức sử dụng trong nhiều hệ thống khác nhau trong hơn 4 năm. Chúng ta có thể dễ dàng cắm vào kho dữ liệu hoặc luồng dữ liệu đầu vào của riêng mình. Nó cũng rất dễ mở rộng với các Thuật toán Không gian Vector khác.
Nền tảng bất khả tri
Như chúng ta biết rằng Python là một ngôn ngữ rất linh hoạt vì là Python Gensim thuần túy chạy trên tất cả các nền tảng (như Windows, Mac OS, Linux) hỗ trợ Python và Numpy.
Triển khai Đa lõi hiệu quả
Để tăng tốc độ xử lý và truy xuất trên các cụm máy, Gensim cung cấp các triển khai đa lõi hiệu quả của các thuật toán phổ biến khác nhau như Latent Semantic Analysis (LSA), Latent Dirichlet Allocation (LDA), Random Projections (RP), Hierarchical Dirichlet Process (HDP).
Nguồn mở và sự hỗ trợ dồi dào của cộng đồng
Gensim được cấp phép theo giấy phép GNU LGPL do OSI phê duyệt, cho phép nó được sử dụng miễn phí cho cả mục đích cá nhân cũng như thương mại. Bất kỳ sửa đổi nào được thực hiện trong Gensim đều có nguồn mở và cũng có rất nhiều sự hỗ trợ của cộng đồng.
Công dụng của Gensim
Gensim đã được sử dụng và trích dẫn trong hơn nghìn ứng dụng thương mại và học thuật. Nó cũng được trích dẫn bởi nhiều bài báo nghiên cứu và luận văn của sinh viên. Nó bao gồm các triển khai song song được truyền trực tuyến của những điều sau:
fastText
fastText, sử dụng mạng nơ-ron để nhúng từ, là một thư viện để học cách nhúng từ và phân loại văn bản. Nó được tạo ra bởi phòng thí nghiệm Nghiên cứu AI (FAIR) của Facebook. Về cơ bản, mô hình này cho phép chúng ta tạo một thuật toán có giám sát hoặc không được giám sát để thu được các biểu diễn vectơ cho các từ.
Word2vec
Word2vec, được sử dụng để sản xuất nhúng từ, là một nhóm các mô hình mạng nơ ron nông và hai lớp. Các mô hình được đào tạo cơ bản để tái tạo các ngữ cảnh ngôn ngữ của từ.
LSA (Phân tích ngữ nghĩa tiềm ẩn)
Đây là một kỹ thuật trong NLP (Xử lý ngôn ngữ tự nhiên) cho phép chúng ta phân tích mối quan hệ giữa một tập hợp các tài liệu và các điều khoản chứa chúng. Nó được thực hiện bằng cách tạo ra một tập hợp các khái niệm liên quan đến các tài liệu và điều khoản.
LDA (Phân bổ Dirichlet tiềm ẩn)
Nó là một kỹ thuật trong NLP cho phép các nhóm quan sát được giải thích bởi các nhóm không được quan sát. Các nhóm không được quan sát này giải thích, tại sao một số phần của dữ liệu lại giống nhau. Đó là lý do, nó là một mô hình thống kê tổng hợp.
tf-idf (tần suất tài liệu nghịch đảo tần số thuật ngữ)
tf-idf, một thống kê số trong việc truy xuất thông tin, phản ánh tầm quan trọng của một từ đối với một tài liệu trong kho ngữ liệu. Nó thường được các công cụ tìm kiếm sử dụng để chấm điểm và xếp hạng mức độ liên quan của một tài liệu với một truy vấn của người dùng. Nó cũng có thể được sử dụng để lọc từ dừng trong phân loại và tóm tắt văn bản.
Tất cả chúng sẽ được giải thích chi tiết trong các phần tiếp theo.
Ưu điểm
Gensim là một gói NLP thực hiện mô hình hóa chủ đề. Những ưu điểm quan trọng của Gensim như sau:
Chúng tôi có thể nhận được các cơ sở của mô hình chủ đề và nhúng từ trong các gói khác như ‘scikit-learn’ và ‘R’, nhưng các cơ sở do Gensim cung cấp để xây dựng các mô hình chủ đề và nhúng từ là vô song. Nó cũng cung cấp các phương tiện tiện lợi hơn cho việc xử lý văn bản.
Một ưu điểm đáng kể khác của Gensim là nó cho phép chúng tôi xử lý các tệp văn bản lớn ngay cả khi không tải toàn bộ tệp vào bộ nhớ.
Gensim không yêu cầu chú thích tốn kém hoặc gắn thẻ tài liệu bằng tay vì nó sử dụng các mô hình không được giám sát.