NLP-progress: bộ theo dõi NLP benchmarks trên GitHub
NLP-progress là một tài liệu tham khảo dạng markdown trên GitHub, theo dõi kết quả SOTA cho hàng chục tác vụ NLP, từ named entity recognition đến question answering. Nó đáng lưu lại vì mỗi mục đều dẫn thẳng về bài báo gốc và, nếu có, cả code — chứ không phải vì nó cố làm một leaderboard sống. Điểm trừ là độ mới: một bảng chỉ được cập nhật khi có ai đó mở pull request, nên có thể chậm hơn những gì vừa được công bố.
NLP-progress là gì
NLP-progress là một repo GitHub được tuyển chọn, do Sebastian Ruder và cộng đồng duy trì, tập hợp các bộ dữ liệu benchmark và kết quả SOTA cho các tác vụ NLP phổ biến. Mỗi tác vụ — language modeling, dịch máy, named entity recognition, phân tích cảm xúc và hàng chục tác vụ khác — có một file markdown riêng với bảng kết quả đã sắp xếp, nên bạn chỉ cần mở một file là thấy mô hình SOTA hiện tại kèm bài báo gốc.
Repo này bao phủ những gì
- ✓Hàng chục trang tác vụ tiếng Anh, từ part-of-speech tagging và dependency parsing đến natural language inference, summarization và paraphrase generation
- ✓Các mục riêng cho nhiều ngôn ngữ ngoài tiếng Anh, gồm tiếng Việt, Trung, Hindi, Tây Ban Nha, Pháp, Nga, Đức, Ả Rập, Hàn, Ba Tư, Thổ Nhĩ Kỳ, Bengal, Nepal và Bồ Đào Nha
- ✓Mỗi bảng kết quả liệt kê mô hình, điểm số, bài báo hoặc nguồn, và cột Code đánh dấu Official hoặc Link khi có implementation
- ✓Trang 'Missing elements' ghi lại những khoảng trống mà nhóm duy trì đã biết
- ✓Đường xuất dữ liệu structured/ chuyển các bảng markdown thành JSON máy đọc được
- ✓Hướng dẫn build bằng Jekyll để chạy trang web đi kèm nlpprogress.com trên máy cá nhân
Ai dùng NLP-progress và vì sao
- •Một nhà nghiên cứu đang lên ý tưởng bài báo mới lướt qua file tác vụ liên quan để biết SOTA hiện tại và trích dẫn của nó trước khi thiết kế thí nghiệm
- •Người mới vào một nhánh nghiên cứu đọc các bài báo được liên kết theo từng tác vụ thay vì lục tìm trên nhiều leaderboard riêng lẻ
- •Một kỹ sư chọn baseline cho tác vụ như named entity recognition hay phân tích cảm xúc bằng cách xem hàng nào có cột Code đã điền
- •Một người vừa có bài báo được chấp nhận mở pull request để thêm kết quả của mình vào bảng tương ứng
Điểm mạnh
- ✓Mỗi mục đều dẫn về bài báo gốc, nên bạn không phải tin vào một con số không rõ nguồn
- ✓Cột Code cho biết ngay có implementation chính thức hay không trước khi bạn phải tự đi tìm
- ✓Mỗi tác vụ gói gọn trong một file markdown, giữ các kết quả liên quan ở cùng một chỗ thay vì tản mát trên nhiều leaderboard
- ✓Giấy phép MIT nên việc fork một file tác vụ vào literature review của riêng bạn không cần xin phép
Những gì NLP-progress không bao phủ
- △Độ phủ hoàn toàn phụ thuộc vào pull request, nên một bảng có thể lỗi thời giữa hai lần chỉnh sửa — chính README khuyên contributor nhường chỗ cho leaderboard công khai nếu leaderboard đó đang được duy trì tích cực
- △Danh sách wish list trong README nêu rõ các tác vụ còn thiếu, gồm bilingual dictionary induction, discourse parsing và semi-supervised learning
- △Độ phủ ngoài tiếng Anh không đều: các ngôn ngữ như Pháp, Bồ Đào Nha, Hàn, Nepal và Thổ Nhĩ Kỳ chỉ có một hoặc hai trang tác vụ, trong khi tiếng Anh có hàng chục
- △Không có code để chạy ở đây. Đây là tài liệu để đọc, không phải một benchmark harness hay thư viện đánh giá
Những cách khác để theo dõi NLP benchmarks
Câu hỏi thường gặp
NLP-progress bao phủ hàng chục tác vụ NLP trong mục lục tiếng Anh, từ các tác vụ nền tảng như part-of-speech tagging và dependency parsing đến những tác vụ mới hơn như natural language inference và paraphrase generation. Nhóm duy trì không công bố một tổng số cố định; các trang tác vụ được thêm dần theo thời gian qua pull request.
NLP-progress có các mục riêng ngoài tiếng Anh, gồm tiếng Việt, Trung, Hindi, Tây Ban Nha, Pháp, Nga, Đức, Ả Rập, Hàn, Ba Tư, Thổ Nhĩ Kỳ, Bengal, Nepal và Bồ Đào Nha. Tuy nhiên độ phủ mỏng hơn nhiều so với tiếng Anh — hầu hết các mục này chỉ liệt kê một vài trang tác vụ.
NLP-progress dựa vào pull request của cộng đồng để cập nhật kết quả, nên độ mới của mỗi bảng khác nhau tùy tác vụ chứ không theo lịch cố định. README yêu cầu contributor rằng khi một tác vụ đã có leaderboard công khai đang được duy trì tích cực, hãy dẫn người đọc tới đó thay vì lặp lại trong NLP-progress.
Đóng góp cho NLP-progress được thực hiện qua pull request trên GitHub: sửa file markdown của tác vụ, thêm một hàng vào bảng kết quả với điểm cao nhất ở trên cùng, và đánh dấu cột Code là Official hoặc Link nếu có implementation. Một tác vụ hoàn toàn mới cần file riêng, phần mô tả, chỉ số đánh giá và một ví dụ đã gán nhãn.
NLP-progress được phát hành theo giấy phép MIT, áp dụng cho cả nội dung lẫn code trong repo. Điều đó giúp việc fork một file tác vụ hoặc tái sử dụng một bảng kết quả vào ghi chú hay literature review của riêng bạn không cần xin phép trước.
NLP-progress là một tài liệu markdown tĩnh do cộng đồng chỉnh sửa, không phải leaderboard chấm điểm theo thời gian thực — kết quả chỉ thay đổi khi có người gửi pull request, và không có pipeline đánh giá hay nộp bài tự động phía sau. README nói rõ sẽ nhường chỗ cho leaderboard chính thức ở những tác vụ đã có sẵn.
Nên thử — và nên bỏ qua
Hãy thử NLP-progress nếu bạn đang bắt đầu nghiên cứu một tác vụ NLP cụ thể và muốn có đường dẫn tới bài báo gốc đằng sau một kết quả, chứ không chỉ một con số leaderboard trần trụi. Bỏ qua nó nếu bạn cần bảng xếp hạng theo thời gian thực — README đã tự nhường chỗ cho leaderboard công khai đang được duy trì tích cực khi leaderboard đó tồn tại, nên NLP-progress phát huy tốt nhất ở những tác vụ chưa có leaderboard như vậy.
Repo liên quan
Vẫn đang phân vân về NLP-progress?
Một cú bấm sẽ gửi câu hỏi kèm trang này cho AI — xem AI nói gì về NLP-progress.
