Ý tại ngôn ngoại và xử lý ngôn ngữ tự nhiên

Cổ nhân có câu: "Ý tại ngôn ngoại". Câu này muốn nói đến ý nghĩa của câu được diễn tả không phải chỉ những từ trong câu mà dựa vào những thứ liên quan. Cụ thể là: người nói, viết có thể chỉ với vài chữ có thể diễn đạt một ý phức tạp mà nếu chỉ hiểu đơn giản qua nghĩa đen, hình thái bên ngoài của nó thì không thể hiểu được ý nghĩa sâu sắc mà người nói, viết đang truyền đạt. Cái này một phần do ngữ cảnh giao tiếp chi phối. Những bậc vĩ nhân thời xưa thường dùng cách này để truyền đạt những ý thâm sâu. Hiện nay, việc thể hiện ý nằm ngoài câu thường thấy là:


  • Ẩn dụ
  • Hoán dụ
  • Sử dụng điển tích, điển cố
  • Thành ngữ tục ngữ
  • Ngữ cảnh giao tiếp: về con người, môi trường, xã hội. Nếu xét như trong tử vi thì nó như là cung Thiên Di của câu nói.
Những vấn đề trên đã được học ở ngữ văn, nó là những đặc trưng thông dụng. Tuy nhiên, ẩn ý trong câu còn được thể hiện ở hình thái khó kiểm soát hơn, đặc biệt là sử dụng các sự kiện nổi bật trong đời sống hằng ngày hay những sự kiện đặc trưng của một tầng lớp hay thậm chí là một nhóm nhỏ cũng được đưa vào để diễn đạt, mà thường chỉ có người trong cuộc mới hiểu hết ý được. Có thể lấy ví dụ như:  dùng một nhân vật nổi tiếng "Mày hát như Lệ Rơi", sử dụng từ hay cụm từ trong một bài viết "Biết rồi, khổ lắm, nói mãi", dạng viết tắt cũng một phần nào đó xem như là cách thể hiện ý mà nếu không có hiểu biết nhất định (ví dụ: dlv), ...
Bằng những phương pháp ẩn ý trong câu, việc dịch các câu này cần một lượng kiến thức nhất định, kể cả người dịch tốt nhất vẫn không đảm bảo được rằng có họ có thể dịch tốt các văn bản từ ngôn ngữ này qua ngôn ngữ khác mà không mất đi ý mà người viết, nói diễn tả. Đó cũng là vấn đề thách thức trong dịch máy mà nếu giải quyết xong thì chắc không cần người phiên dịch nữa. Lưu ý là hiện nay, ở các ứng dụng dịch của các ông lớn, thường chỉ dịch tốt những câu cơ bản, thông thường nhất thôi. Không đạt đến trình độ thượng thừa, nhưng có thể chấp nhận được.
Để hiểu được các ẩn ý, trước tiên ta phải
  • Có kiến thức về nó (với máy tính thì đây không đơn thuần chỉ là dữ liệu mà đó là tri thức, máy phải nắm được ý đằng sau của câu chuyện, một điều mà người ta làm trong lĩnh vực máy học đang theo đuổi mà kết quả chưa mấy khả quan, dù đã có nhiều đề xuất thú vị)
  • Nhận biết được ẩn ý này trong câu (đối với máy thì phải nhận diện được đâu là ẩn ý mà nó có thể hiểu được). Tất nhiên, để nhận biết được nó thì phải có kiến thức về nó trước đã.

Một trong những ứng dụng đơn giản của tư tưởng "Ý tại ngôn ngoại" này là dịch máy bằng thống kê (SMT)1. Khi huấn luyện một mô hình ngôn ngữ (Language Model)2, người ta sử dụng các n-grams3 để tìm ra quy luật của trật tự từ trong dữ liệu đó. Tất nhiên, phương pháp này chỉ là ứng dụng thống kê nhưng đã mô phỏng được phần nào đặc trưng của ngôn ngữ.
Về ứng dụng cao siêu của thành ngữ này như đã trình bày ở đầu, nếu được thực hiện thành công thì việc dịch máy coi như hoàn thành. Tuy nhiên, một phần mềm dịch máy đạt được trình độ thượng thừa này thì không phải trong một sớm một chiều, nói là có thể làm được. Bởi việc dịch được những câu chứa ý tại ngôn ngoại thì cần phải dịch ý (tức là ngữ nghĩa semantic) - đây là đỉnh cao của xử lý ngôn ngữ tự nhiên. Để thực hiện được điều này thì cần phải có một lượng tri thức nhất định về các ẩn ý như đã kể trên. Để am tường được hết những vấn đề này trong một ngôn ngữ đã rất khó (chưa kể là trong mỗi ngôn ngữ sẽ có nhiều nhóm người có những ẩn ý khác nhau), thì việc dịch được các ẩn ý này qua các ngôn ngữ lại càng khó hơn, vì bản chất ngôn ngữ thể hiện đặc trưng của người sử dụng nó. 
Ví dụ như: người Việt ta nói: "Khỏe như trâu" còn người Anh lại nói: "Strong as a horse".
Về thành ngữ, điển tích, điển cố thì có thể đơn giản hơn vì những cụm từ này thường có cùng một hình thái, nên có thể dễ dàng bắt được bằng một bộ lọc, tuy nhiên việc dịch nó lại cần phải hiểu các ẩn ý này, nếu dùng các chuyên gia là con người để dịch mẫu thì rất tốn chi phí, còn nếu dùng máy thì có cách nào? Phần trả lời xin nhường các bạn suy nghĩ.
Sau đây là một số ví dụ cũng như cách để chỉnh lỗi chính tả nhờ mô hình ngôn ngữ, sự kiện trong đời sống hằng này:

  • Đỗ Nam Trung: có thể dùng soundex kết hợp với các sự kiện hot để tìm ra từ mà gốc bị nói nhại đi, ở đây là Donald Trump
  • b4, cul: trước tiên, cũng cần phải có soundex của các thành phần trong từ viết tắt (4 ~ for, c ~ see, u ~ you). Công đoạn này sẽ sinh ra khá nhiều tổ hợp. Từ những tổ hợp này phải qua bộ lọc (cu ~ see you chứ không phải cu ~ cute 😂 vì nó cùng dựa trên trên âm của chữ cái) để tìm ra cái có thể là phù hợp nhất. Điều này dựa vào thống kê. Tiếp theo là phục hồi, thứ nhất là dựa trên model của từ (b4->before), thứ hai là mô hình ngôn ngữ (see you thường đi theo bởi một từ bắt đầu bằng l -> later). Đây là hai cách mình biết. Do kiến thức còn nông cạn, ếch ngồi đáy giếng nên không biết nhiều hơn để viết cho các bạn. Nếu có ý kiến xin để ở phần bình luận hoặc gửi thư điện tử cho mình.
Lưu ý, soundex ở đây là ý tưởng chung. Soundex mình chỉ mới biết có ở tiếng anh như trường hợp b4, cul, chứ chưa thấy soundex cho 2 ngôn ngữ khác nhau như trong trường Đỗ Nam Trung, để có những soundex kiểu này cần có thời gian xây dựng. Và một điều nữa, soundex đã có nhưng cải tiếng nâng cấp với tên khác, các bạn tò mò có thể tìm hiểu trên wikipedia.
Phần sau là một số thuật ngữ:
(1): Dịch máy bằng thống kê sử dụng dữ liệu song ngữ gồm các cặp câu là bản dịch của nhau trong 2 ngôn ngữ đó.
(2): Mô hình ngôn ngữ có thể hiểu là từ này thường sẽ đi trước bởi từ nào với xác suất bao nhiêu. Ví dụ trong một mô hình ngôn ngữ của tiếng Anh: I would thường đi sau bởi like với xác suất 0.9. Nó được dùng để chọn từ phù hợp cho việc dịch theo LM đó.
(3): n-grams: là một tập các chữ gần nhau. Ví dụ "I" là uni-gram, "I would" là bigrams, "I would like" là trigams, ... Về lĩnh vực xử lý ngôn ngữ tự nhiên thì phrase là một dạng n-grams nhưng nó có ý nghĩa rõ ràng.
Bonus: Khái niệm corpus và training set nó gần như nhau, được dùng để huấn luyện. Tuy nhiên, trong xử lý ngôn ngữ tự nhiên (NLP) thì dùng corpus còn trong máy học (ML) thì dùng training set. Mình không hiểu tại sao, chỉ thấy tên gọi nó khác vậy thôi. Ai biết thì chỉ mình với.

Comments

Popular Posts