Xây từ vựng từ tần số từ
Bước đầu tiên khi chuẩn bị dữ liệu văn bản là xây từ vựng. Người ta đếm tần số từng từ,
Tiến độ của tôi ở bài này
Điểm và code bạn nộp được lưu vào tài khoản sau khi chấm bài.
Đang tải điểm của bạn…
Kiến thức và chủ đề
Kiến thức tiên quyết: python-basics, python-dicts.
Nội dung đề bài
Mô tả bài toán
Bước đầu tiên khi chuẩn bị dữ liệu văn bản là xây từ vựng. Người ta đếm tần số từng từ, loại bỏ những từ quá hiếm, rồi xếp các từ còn lại thành một danh sách có thứ tự xác định để mã hoá ổn định.
Yêu cầu
Viết hàm build_vocabulary(frequencies, min_freq) trả về danh sách từ đã lọc và sắp xếp.
Quy ước nộp bài
Nộp hàm build_vocabulary trong solution.py. Hệ thống gọi hàm trực tiếp và so giá trị; không đọc stdin và không in ra stdout.
Input
- frequencies: từ điển ánh xạ từ sang số lần xuất hiện.
- min_freq: tần số tối thiểu để một từ được giữ lại.
Output
Danh sách từ có tần số >= min_freq, sắp theo tần số giảm dần; khi bằng tần số thì theo thứ tự chữ cái tăng dần.
Ràng buộc
- Bộ lọc dùng >=, không dùng >.
- Khi hai từ cùng tần số phải so theo thứ tự chữ cái để kết quả tất định.
- Không dùng thư viện ngoài.
Ví dụ 1
Input
build_vocabulary(frequencies={"the": 5, "cat": 2, "sat": 2, "on": 1, "mat": 1}, min_freq=2)
Output
["the", "cat", "sat"]
Ví dụ 2
Input
build_vocabulary(frequencies={"the": 5, "cat": 2, "sat": 2, "on": 1, "mat": 1}, min_freq=1)
Output
["the", "cat", "sat", "mat", "on"]
Giải thích
Với frequencies = {"the": 5, "cat": 2, "sat": 2, "on": 1, "mat": 1} và min_freq = 2, các từ on và mat bị loại. Còn lại the (5) rồi cat, sat (cùng 2), nên kết quả là ["the", "cat", "sat"].
Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.
Góp ý & báo lỗi bài tập
Đề bài chưa rõ, test có vấn đề hay bạn có ý tưởng giúp bài tốt hơn? Gửi cho đội ngũ AI Empire nhé — mỗi góp ý đều được đọc.
