Paraphrase các câu Tiếng Việt trên Python với VietQuill
Paraphrase, hiểu đơn giản, là viết lại một câu sao cho nghĩa vẫn vậy nhưng cách diễn đạt thì khác đi. Ví dụ câu "Hôm nay trời đẹp quá, mình muốn đi dạo công viên" có thể viết lại thành "Hôm nay trời đẹp, tôi muốn đi dạo công viên". Với con người thì việc này rất tự nhiên, nhưng để máy tính tự làm được điều đó, đặc biệt với tiếng Việt, lại không hề đơn giản.
Với tiếng Anh, chuyện này đã có nhiều công cụ hỗ trợ từ lâu. Còn tiếng Việt thì gần như chưa có gì tử tế, phần lớn chỉ dừng ở mức thay vài từ đồng nghĩa, hoặc dịch câu sang tiếng Anh rồi dịch ngược lại tiếng Việt, cách này hay làm sai lệch nghĩa câu gốc. Đó là lý do mình làm VietQuill, một công cụ chuyên để tạo ra các câu paraphrase tiếng Việt, sao cho nghĩa vẫn giữ đúng mà cách diễn đạt thì đa dạng hơn.
Dùng để làm gì
Nghe có vẻ trừu tượng, nhưng paraphrase thực ra được dùng khá nhiều trong các ứng dụng quen thuộc. Khi xây dựng một chatbot hay hệ thống hỏi đáp, nếu chỉ dạy máy nhận một cách hỏi duy nhất thì máy sẽ "ngu" khi người dùng hỏi theo cách khác dù ý vẫn vậy. Paraphrase giúp tạo thêm nhiều cách diễn đạt cho cùng một câu hỏi, để hệ thống hiểu linh hoạt hơn. Ngoài ra, khi huấn luyện các mô hình AI xử lý tiếng Việt, càng có nhiều dữ liệu câu mẫu thì mô hình càng học tốt, mà việc thu thập dữ liệu thật thì tốn kém, nên người ta hay dùng paraphrase để tự sinh thêm dữ liệu từ những câu đã có.
Thử dùng
Cài đặt chỉ một dòng lệnh quen thuộc của Python.
pip install vietquill
Sau đó chỉ cần đưa vào một câu, VietQuill sẽ trả về câu paraphrase tương ứng.
from vietquill import AutoModelForControllableParaphraseGeneration
model = AutoModelForControllableParaphraseGeneration()
result = model.paraphrase("Hôm nay trời đẹp quá, mình muốn đi dạo công viên.")
print(result)
# >>> ['Hôm nay trời đẹp, tôi muốn đi dạo công viên.']
Nếu muốn có nhiều cách diễn đạt khác nhau cho cùng một câu, chỉ cần yêu cầu thêm vài kết quả.
result = model.paraphrase("Thủ đô của nước Pháp là thành phố nào?", num_candidates=3)
print(result)
# >>> ['Nước Pháp có thủ đô là thành phố nào?',
# 'Nước Pháp có thủ đô là thành phố tên gì?',
# 'Nước Pháp có thủ đô là thành phố tên là gì?']
VietQuill còn cho phép chọn mức độ "biến đổi nhiều hay ít" thông qua vài chế độ có sẵn, từ nhẹ nhàng gần như giữ nguyên câu gốc, đến thay đổi mạnh để câu trông khác hẳn nhưng nghĩa vẫn không đổi. Người dùng không rành kỹ thuật cũng chỉ cần chọn một trong ba mức có sẵn mà không phải tự tinh chỉnh gì thêm.
Vài lời cuối
VietQuill vẫn đang được phát triển tiếp, mã nguồn mở và miễn phí sử dụng. Nếu bạn đang làm gì đó liên quan đến xử lý tiếng Việt và cần công cụ để viết lại câu một cách tự nhiên, có thể thử ngay qua lệnh cài đặt ở trên, hoặc ghé repo để xem thêm chi tiết.
All rights reserved