1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Nhập môn Natural Language Processing bằng Python

Connected

Bài tập

Bag-of-words với Gensim

Bây giờ, bạn sẽ dùng corpus và dictionary của gensim vừa tạo để xem các thuật ngữ phổ biến nhất theo từng tài liệu và trên toàn bộ tập tài liệu. Bạn có thể dùng dictionary để tra cứu từ. Hãy thử đoán các chủ đề và thoải mái khám phá thêm các tài liệu khác trong IPython Shell!

Bạn có sẵn các đối tượng dictionary và corpus đã tạo ở bài trước, cùng với defaultdict và itertools của Python để hỗ trợ tạo các cấu trúc dữ liệu trung gian cho việc phân tích.

  • defaultdict cho phép khởi tạo một dictionary gán giá trị mặc định cho các khóa chưa tồn tại. Bằng cách truyền đối số int, ta đảm bảo mọi khóa chưa tồn tại sẽ tự động nhận giá trị mặc định là 0. Điều này rất phù hợp để lưu số lần xuất hiện của từ trong bài này.

  • itertools.chain.from_iterable() cho phép ta lặp qua một tập các dãy như thể đó là một dãy liên tục. Dùng hàm này, ta có thể dễ dàng lặp qua đối tượng corpus (vốn là một danh sách các danh sách).

Tài liệu thứ năm từ corpus được lưu trong biến doc, đã được sắp xếp theo thứ tự giảm dần.

Hướng dẫn 1/2

undefined XP
    1
    2
  • Trong vòng lặp for đầu tiên, in năm từ đứng đầu của bow_doc bằng cách dùng mỗi word_id với dictionary cùng với word_count.

    • Có thể truy cập word_id bằng phương thức .get() của dictionary.
  • Tạo một defaultdict tên là total_word_count trong đó các khóa là tất cả token id (word_id) và giá trị là tổng số lần xuất hiện của chúng trên toàn bộ tài liệu (word_count).

    • Nhớ chỉ định int khi tạo defaultdict, và bên trong vòng lặp for thứ hai, tăng mỗi word_id của total_word_count theo word_count.