Bao giờ mới có BNS Translate thay thế QT

chienthanlubu

Đạo Tổ Nhân Cảnh
Moderator
Bản demo này làm được phần sau:
- Chia mỗi dòng thành các "cụm câu nhỏ" với dấu ngăn cách là dấu "." hoặc ","
- Dịch từ trong VietPhrase (thực ra là tìm và thay thế từ, mình tạm gọi là dịch)
- Tìm các cụm luật nhân có trong "cụm câu nhỏ"
+ Phần luật nhân mình chỉ làm được dịch các cụm ví dụ như 这{0}, 自{0}中 (sẽ dịch tất cả các từ {0} ở giữa),一种{0}的{1} (đây là thêm 1 cụm nữa,cụm {0} sẽ được dịch tất cả các từ ở trong này, còn cụm {1} chỉ dịch các cụm có sẵn trong VietPhrase
+ Luật nhân mình chưa làm được các cụm có {0} ở đầu như : {0}的手中
- Trong bản demo này, mình đã để mặc định làm đảo ngữ phần 的, ví dụ như 我的自行车, dịch là "xe đạp của tôi", nếu vietphrase tìm được từ "của" đứng độc lập, lặp tức sẽ đổi 2 vế, và dịch thành "xe đạp tôi" bỏ từ "của" ở giữa. Để không bị đảo ngữ, trong phần VietPharse phải có "cụm từ+的"
- Và thêm phần mà mình mới làm hôm qua là chọn nghĩa của từ trong VietPharse đối với các từ nhiều nghĩa, nhằm khai thác tối VietPhrase cũng như nghĩa của từ được phù hợp hơn trong câu. Ví dụ từ 被 (bị/được), nếu trong "cụm câu nhỏ" có từ 救(cứu), thì nghĩa là trả về trong vietphrase là "được". Phần này mình để trong file Means.txt.
- Bản demo mình chưa có giao diện, mặc định sẽ lấy dữ liệu trong file "nguon.txt" để dịch và tạo ra file kết quả "kq.txt" trong cùng thư mục.
- File VietPhrase mình nhỏ là do lượm nhặt trên internet về rồi, xài VietPhrase của các nguồn khác dịch, mình đã bỏ phần đánh số, phần này nếu có thời gian mình sẽ làm thẳng vào chương trình, góp phần giảm dung lượng file Vietphrase
- Do đây là những kiến thức lượm nhặt và mình tự học trên internet nên chương trình khó tránh khỏi sai sót, tốc độ thực hiện hơi chậm mong các bạn góp ý để mình hoàn thiện thêm chương trình.
- Cuối cùng mình xin tác giả QuickTrans bỏ qua vì đã mô phỏng chức năng của chương trình mà chưa hỏi qua ý kiến của tác giả.
File exe chia sẻ trên google drive bị kiểm duyệt !
Thuật toán mà QT dùng thì nó là một trong những thuật toán cổ điển những năm đầu thế kỉ 21, từ đó đến nay thì thế giới đã xuất diện nhiều bước tiến vượt bậc trong lĩnh vực dịch máy. Nếu bạn chỉ mô phỏng lại QT thì tại sao không dùng QT luôn, cụ thể là sử dụng luôn thư viện Python.NET của python để load file dll của QT, rồi gọi hàm translate của nó là xong. Nếu bạn vẫn muốn đi theo hướng này thì có thể tham khảo cách c-h-i-v-i đã làm
Code:
https://github.com/np-nam/libcv

Hướng đi khác mà mình từng tìm hiểu là statistical machine translation và neural machine translation, cả hai đều có ưu nhược điểm nhưng mình thiên về neural machine translation vì nó cho ra câu đúng ngữ pháp, tự nhiên hơn.
 

nthgiang

Phàm Nhân
Ngọc
100,52
Tu vi
0,00
Thuật toán mà QT dùng thì nó là một trong những thuật toán cổ điển những năm đầu thế kỉ 21, từ đó đến nay thì thế giới đã xuất diện nhiều bước tiến vượt bậc trong lĩnh vực dịch máy. Nếu bạn chỉ mô phỏng lại QT thì tại sao không dùng QT luôn, cụ thể là sử dụng luôn thư viện Python.NET của python để load file dll của QT, rồi gọi hàm translate của nó là xong. Nếu bạn vẫn muốn đi theo hướng này thì có thể tham khảo cách c-h-i-v-i đã làm
Code:
https://github.com/np-nam/libcv

Hướng đi khác mà mình từng tìm hiểu là statistical machine translation và neural machine translation, cả hai đều có ưu nhược điểm nhưng mình thiên về neural machine translation vì nó cho ra câu đúng ngữ pháp, tự nhiên hơn.
Bạn ơi thông cảm dùm, kiến thức mình chỉ là lượm nhặt dc mấy tháng nay thôi nên cũng chỉ làm dc tới như vậy. Còn về ML mình có đọc qua nhưng thực sự vẫn chưa hiểu được. Hy vọng tương lai sẽ hiểu được vấn đề này.
 

chienthanlubu

Đạo Tổ Nhân Cảnh
Moderator
Bạn ơi thông cảm dùm, kiến thức mình chỉ là lượm nhặt dc mấy tháng nay thôi nên cũng chỉ làm dc tới như vậy. Còn về ML mình có đọc qua nhưng thực sự vẫn chưa hiểu được. Hy vọng tương lai sẽ hiểu được vấn đề này.
Mấy tháng mà làm được như vậy là siêu rồi. Với lại QT có mã nguồn trên github đó, bạn có thể chỉnh sửa trên đó cũng được.
 

nthgiang

Phàm Nhân
Ngọc
100,52
Tu vi
0,00
Bản demo này làm được phần sau:
- Chia mỗi dòng thành các "cụm câu nhỏ" với dấu ngăn cách là dấu "." hoặc ","
- Dịch từ trong VietPhrase (thực ra là tìm và thay thế từ, mình tạm gọi là dịch)
- Tìm các cụm luật nhân có trong "cụm câu nhỏ"
+ Phần luật nhân mình chỉ làm được dịch các cụm ví dụ như 这{0}, 自{0}中 (sẽ dịch tất cả các từ {0} ở giữa),一种{0}的{1} (đây là thêm 1 cụm nữa,cụm {0} sẽ được dịch tất cả các từ ở trong này, còn cụm {1} chỉ dịch các cụm có sẵn trong VietPhrase
+ Luật nhân mình chưa làm được các cụm có {0} ở đầu như : {0}的手中
- Trong bản demo này, mình đã để mặc định làm đảo ngữ phần 的, ví dụ như 我的自行车, dịch là "xe đạp của tôi", nếu vietphrase tìm được từ "của" đứng độc lập, lặp tức sẽ đổi 2 vế, và dịch thành "xe đạp tôi" bỏ từ "của" ở giữa. Để không bị đảo ngữ, trong phần VietPharse phải có "cụm từ+的"
- Và thêm phần mà mình mới làm hôm qua là chọn nghĩa của từ trong VietPharse đối với các từ nhiều nghĩa, nhằm khai thác tối VietPhrase cũng như nghĩa của từ được phù hợp hơn trong câu. Ví dụ từ 被 (bị/được), nếu trong "cụm câu nhỏ" có từ 救(cứu), thì nghĩa là trả về trong vietphrase là "được". Phần này mình để trong file Means.txt.
- Bản demo mình chưa có giao diện, mặc định sẽ lấy dữ liệu trong file "nguon.txt" để dịch và tạo ra file kết quả "kq.txt" trong cùng thư mục.
- File VietPhrase mình nhỏ là do lượm nhặt trên internet về rồi, xài VietPhrase của các nguồn khác dịch, mình đã bỏ phần đánh số, phần này nếu có thời gian mình sẽ làm thẳng vào chương trình, góp phần giảm dung lượng file Vietphrase
- Do đây là những kiến thức lượm nhặt và mình tự học trên internet nên chương trình khó tránh khỏi sai sót, tốc độ thực hiện hơi chậm mong các bạn góp ý để mình hoàn thiện thêm chương trình.
- Cuối cùng mình xin tác giả QuickTrans bỏ qua vì đã mô phỏng chức năng của chương trình mà chưa hỏi qua ý kiến của tác giả.
File exe chia sẻ trên google drive bị kiểm duyệt !
mình xin bổ sung link download
hoc4
 

nthgiang

Phàm Nhân
Ngọc
100,52
Tu vi
0,00
link down thêm phần giao diện, chỉ có giao diện thô sơ đến mức ko thể thô sơ hơn!
MediaFire
lần này mình có thêm phần 2 dịch cụm luật nhân lồng ghép vào nhau
Ví dụ câu :
"村民们看到这条长达三丈有余的大蛇仰着头向自己冲来"
"Dân làng nhìn thấy con rắn dài hơn ba trượng này ngửa đầu hướng mình xông đến"
Trong ví dụ trên tìm được 3 cụm luật nhân
1. 长达{0}有余=dài hơn {0}
2. 这{0}={0} này
3. 条{0}的大蛇=con rắn {0}
Các bạn test dùm xem còn lỗi gì ko nhé, hy vọng phần mềm này sẽ giúp các bạn phần nào trong dịch thuật
 

GLogHorizon

Phàm Nhân
Ngọc
209,50
Tu vi
0,00
T newbie chưa rành cách edit bản Convert nên toàn dùng QT để xem nghĩa các từ đơn xong kết hợp với bản dịch Google rồi mới edit lại. Làm thế khá mất tg + chất lượng bản dịch phụ thuộc nhiều vào vốn từ của mình nên nếu public bản dịch khả năng ăn gạch khá cao.
 

thieuphong

Phi Thăng kiếp
Dịch Giả Trường Sinh
Câu gốc: 给王师弟与宋师妹报仇

Trong file LuatNhan mình add:

给{0}与{0}报仇=báo thù cho {0} và {0} => báo thù cho Vương sư đệ và Vương sư đệ.
给{0}与{1}报仇=báo thù cho {0} và {1} => cho Vương sư đệ cùng Tống sư muội báo thù.

Có ai biết rành LuatNhan xin chỉ giáo cho mình ạ. Cho mình xin cách add cho đúng với ạ, mình đang xài bảng QT 2013

Xin cám ơn
 

Những đạo hữu đang tham gia đàm luận

Top