Xin ý kiến với đồ án xử lý ngôn ngữ tự nhiên

Tình hình là nhóm em nhận một đồ án: “Xây dựng chương trình kiểm tra cặp câu tương đồng trong song ngữ Anh Việt”. Nhưng hiện tại nhóm em đang rơi vào bế tắc không biết nên làm bài này theo hướng thế nào. Nên em mạo muội lên đây xin các cao nhân gợi ý hướng đi cho tụi em hoàn thành đồ án này.

Yêu cầu them là dùng Python

Tôi nghĩ bạn nên tìm hiểu và định nghĩa rõ “tương đồng” là gì. Nếu đúng như bạn @rogp10 nói thì chắc chắn là không được rồi vì ngay cả các công ty phần mềm lớn trên thế giới hiện giờ như Google hay Microsoft cũng chưa thể dịch hoàn chỉnh sang các ngôn ngữ khác nhau. Nếu phải làm cho vui mà không quan tâm đến tính chính xác thì đơn giản nhất là sử dụng các translation service của MS hay Google (MS có cho free còn Google thì không) và so sánh câu được dịch với câu được cung cấp :slight_smile:

4 Likes

Trong Python có kiểu dữ liệu tên là dictionary. Nhiệm vụ của các bạn bây giờ là thu thập khoảng 1.000 câu thông dụng tiếng Anh rồi dịch ra tiếng Việt, mỗi ngôn ngữ chứa trong một từ điển. Người ta nhập vào một cụm từ thì dùng RegEx để mò trong từ điển này và đối chiếu qua từ điển kia để lôi câu đó ra.

Mình có thắc mắc là tại sao các chương trình dịch không áp dụng theo cách đó mà nghiên cứu xử lý ngôn ngữ tự nhiên chi cho mệt, bởi vì số lượng câu người ta nói (cho là từ khi có chữ viết tới giờ) là hữu hạn, có thể tập hợp lại được tất cả, điều này trong tầm tay của các hãng công nghệ như Google, Microsoft, việc quái gì phải cho máy nó tự suy nghĩ. Đoạn vừa viết cũng mang tính đùa vui thôi nhé các bợm, đừng quá quan trọng. Cách mình muốn nói là cứ tập hợp đủ lớn số câu chữ đã được dịch, như cách IBM từng làm với các ván cờ vua, từ cái mớ dữ liệu đó, việc dịch thuật sẽ dễ dàng hơn khi lập trình viên và nhà ngôn ngữ học ngồi làm việc với nhau.

3 Likes

Bạn có thể thử theo hướng này:

  1. Đưa 2 câu về cùng 1 ngôn ngữ (https://pypi.org/project/translate/)
  2. Tính độ tương đồng sử dụng một số đơn vị đo mà bạn mong muốn, nếu giá trị nằm trong ngưỡng do bạn đặt thì coi nó là tương đồng (https://pypi.org/project/textdistance/)
4 Likes

Người ta tiến hành cả hai hướng đấy chứ. Theo tôi biết thì một số chức năng “thông minh” mà Google đang sử dụng (ví dụ như khi bạn trả lời email từ Gmail thì nó có thể dự đoán và gợi ý ra một mẫu email phúc đáp có sẵn, bạn không cần đánh máy cả email) dựa trên việc phân tích và lấy ra các mẫu thích hợp với từng ngữ cảnh từ lượng dữ liệu khổng lồ mà họ có được.

2 Likes

Em xin cám ơn tất cả mọi người vì đã góp ý, em sẽ thử cách của anh Hieu Nguyen Van trước và sẽ thử nghiệm thêm những cách khác của mọi người.
Cám ơn mọi người nhiều.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?