6. Đóng góp chính của luận án
2.3. Giải pháp cải tiến chất lượng dịch tiếng Việt dựa vào mơ hình máy học mạng nơ ron
R = {(x,y) | x ∈ R1 y ∈ R2 x y}
Trong đó: x là đơn vị dữ liệu của kho ngữ liệu R1, y là đơn vị dữ liệu của kho ngữ liệu R2 sao cho x tương đồng nội dung với y.
Đối với việc liên kết các đơn vị dữ liệu khác ngôn ngữ, việc liên kết dữ liệu sẽ được thực hiện thông qua các thuật tốn và cơng cụ đối sánh văn bản (text aligner) đã tồn tại [56] [57]. Một cách tổng quát, liên kết dữ liệu khác ngôn ngữ giữa hai kho ngữ liệu có thể biểu diễn bằng cơng thức sau:
R = {(x,y) | x ∈ R1L1 y ∈ R2L2 f(x) f(y)} (2.4)
Trong đó: x là đơn vị dữ liệu trong ngôn ngữ L1 của kho ngữ liệu R1L1, y là đơn vị dữ liệu trong ngôn ngữ L2 của kho ngữ liệu R2L2 và f là hàm xác định tính tương đồng giữa x và y.
Công cụ
chuyển đổi liệu chuẩnKho ngữ
Dịch
Một vấn đề lớn cần giải quyết đối với bài tốn hợp nhất các kho ngữ liệu đó là hợp nhất các định dạng và cấu trúc các kho ngữ liệu. Thật vậy, hiện nay các kho ngữ liệu được xây dựng bởi các tổ chức, cá nhân và nhóm nghiên cứu khác nhau. Do đó, các kho ngữ liệu sẽ khác nhau về kích thước, định dạng dữ liệu và cấu trúc. Để có thể hợp nhất được các kho ngữ liệu trước tiên chúng ta cần nghiên cứu đề xuất một cấu trúc và định dạng chuẩn có thể biểu diễn được tất cả các kho ngữ liệu. Sau đó nghiên cứu và xây dựng được cơng cụ chuyển đổi các kho ngữ liệu đang tồn tại để xây dựng được kho ngữ liệu với cấu trúc và định dạng chuẩn đã đề xuất [48][54].
Hình 2.11. Giải pháp chuyển đổi các kho ngữ liệu
b)Mở rộng ngôn ngữ của kho ngữ liệu
Ngôn ngữ 1 Ngôn ngữ 2 …. Ngôn ngữ N
Dữ liệu Dữ liệu Dữ liệu
Dữ liệu Dữ liệu Dữ liệu
…. …. ….
Hình 2.12. Giải pháp mở rộng ngơn ngữ cho kho ngữ liệu
Việc mở rộng ngôn ngữ cho các kho ngữ liệu được thực hiện bằng cách gọi các hệ thống dịch tự động như Google Translate, Microsoft Translator, Systrans, Reverso… để dịch các dữ liệu nguồn sang ngôn ngữ cần mở rộng. Về mặt kỹ thuậtđây không phải là vấn đề dễ thực hiện. Bởi vì để thực hiện ý tưởng này, chúng ta phải nghiên cứu cách thức gọi các hệ thống dịch một cách tự động. Hệ thống Google Translator cung cấp phương thức gọi dưới dạng dịch vụ (web services), chúng ta cần thực hiện là xây dựng công cụ đọc lần lượt từng bộ phận của kho ngữ liệu và gửi đến hệ thống Google Translator thông qua lời gọi dịch vụ của Google Translator. Còn đối với các hệ thống dịch như Systran, Reverso… chúng ta cần phải nghiên cứu các hàm API hay thư viện lập trình mà các hệ thống này cung cấp để xây dựng các chương trình gọi các hệ thống này thực thi tự động.
c)Thêm dữ liệu vào kho ngữ liệu
Tương tự giải pháp mở rộng khối lượng kho ngữ liệu bằng cách mở rộng ngôn ngữ, thêm dữ liệu vào kho ngữ bằng cách thu thập dữ liệu từ các nguồn dữ liệu khác không phải là ý tưởng mới và đã được nhiều người thực hiện. Tuy nhiên, vấn đề khó ở đây là một giải pháp tổng thể và tự động cho bất kỳ ngôn ngữ nào. Bởi lẽ để thực hiện được điều này chúng ta phải giải quyết được tất cả các bước như mơ tả ở hình dưới đây của q trình này một cách tổng thể, tự động cho tất cả các ngơn ngữ [51].
Theo Hình 2.13, các vấn đề khó của q trình thu thập dữ liệu để xây dựng và bổ sung dữ liệu cho kho ngữ liệu bao gồm nhận dạng ngôn ngữ tự động từ nguồn tài nguyên hỗn tạp; xác định văn bản song song ở nhiều mức khác nhau như trang, đoạn, câu; tách câu, tách đoạn; liên kết câu hoặc đoạn. Các vấn đề này được xem là rất khó để thực hiện một cách tổng thể cho bất kỳ ngơn ngữ nào vì đặc điểm của mỗi ngơn ngữ [51].
Hình 2.13. Giải pháp thêm dữ liệu vào kho ngữ liệu
2.3.3.2. Cải tiến chất lượng kho ngữ liệu
Trong phần này luận án đề xuất các giải pháp nhằm cải tiến chất lượng kho ngữ liệu thơng qua q trình hậu xử lý và mở rộng ngữ nghĩa cho kho ngữ liệu.
a)Cải tiến thơng qua q trình hậu xử lý
Một kho ngữ liệu song ngữ có thể được xây dựng tự động bằng cách thu thập dữ liệu song song từ các nguồn tài nguyên khác như các website hoặc có thể được xây dựng bằng cách mở rộng ngơn ngữ thơng qua q trình dịch tự động. Vì thế chất lượng của các kho ngữ liệu thường rất thấp, để cải tiến chất lượng dữ liệu của các kho ngữ liệu cần phải có sự tham gia kiểm tra, chỉnh sửa của con người trên dữ liệu của kho ngữ liệu.
Do đó, vấn đề cần giải quyết ở đây đó là nghiên cứu xây dựng được một hệ thống hỗ trợ cho quá trình hậu xử lý. Hệ thống này cần cho phép nạp các kho ngữ liệu lớn và hiển thị dữ liệu một cách trực quan và khoa học sao cho dễ dàng cho người dùng kiểm tra và cải tiến dữ liệu. Ngoài ra, hệ thống này cần phải hoạt động như một môi trường cộng tác, cho phép nhiều người dùng tham gia cải tiến dữ liệu.
b)Xây dựng kho ngữ liệu làm giàu ngữ nghĩa
Hạn chế hiện tại của các kho ngữ liệu dùng trong dịch tự động khơng chỉ ở kích cỡ của kho ngữ liệu mà cịn ở thơng tin được làm giàu cho kho ngữ liệu. Cácloại định dạng thông tin phổ biến được làm giàu cho kho ngữ liệu như hình ảnh, âm, các loại đồ thị,… chưa thật sự đầy đủ để giúp cho các hệ thống khai thác có thể sử dụng hiệu quả các kho ngữ liệu hiện tại. Do đó, vấn đề đặt ra là cần phải mở rộng các kho ngữ liệu hiện tại theo hướng ngữ nghĩa. Khi đó, kho ngữ liệu sẽ được mô tả đầy đủ thông tin hơn.
Việc mô tả thông tin cho kho ngữ liệu không chỉ dừng lại ở mức chung như hiện nay như mô tả thông tin bởi phần thông tin chung của kho (như tên kho, ngơn ngữ, tác giả, kích thước, lĩnh vực,…), mà cần phải mở rộng đến thực thể của kho ngữ liệu như mỗi đoạn, mỗi câu và thậm chí mỗi cụm từ, mỗi từ đều được mô tả thông tin rõ ràng hơn. Hay nói cách khác, việc mở rộng kho ngữ liệu theo hướng ngữ nghĩa chính là việc xây dựng thêm một tầng ngữ nghĩa cho kho ngữ liệu. Khi đó, mỗi thực thể trong kho ngữ liệu được gắn kết với tầng ngữ nghĩa. Ở mức độ đơn giản, tầng ngữ nghĩa có thể bao gồm các chú thích, các từ/cụm từ đồng nghĩa, các từ/cụm từ trái nghĩa… Ở mức độ phức tạp, tầng ngữ nghĩa được xây dựng thành mạng lưới ontology, trong đó mỗi ontology gồm tập hợp các lớp thuộc một lĩnh vực hẹp nào đó, định nghĩa cụ thể hơn cho các thực thể của kho ngữ liệu.
Vấn đề đặt ra là làm cách nào để xây dựng tầng ngữ nghĩa cho các kho ngữ liệu một cách bán tự động, tức là xây dựng những chương trình có thể tự xác định các thực thể trong kho ngữ liệu thuộc các lớp được xây dựng sẵn, tự trích rút giá trị để xây dựng thuộc tính cho các lớp. Giải pháp xây dựng kho ngữ liệu làm giàu ngữ nghĩa được triển khai bằng các bước dưới đây:
Bước 1: Với mỗi kho ngữ liệu, định nghĩa các loại lớp dựa vào ngữ cảnh của kho (lĩnh vực của kho) và mối
quan hệ giữa chúng.
Bước 2: Xây dựng thuộc tính cho các lớp đã định nghĩa ở bước 1.
Bước 3: Với mỗi thực thể trong kho ngữ liệu, nhận biết thực thể thuộc lớp đã định nghĩa theo ngữ cảnh. Bước 4: Với mỗi thực thể đã xác định và phân loại theo lớp, tiến hành xây dựng thơng tin cho thực thể đó dưới
dạng gán giá trị cho các thuộc tính của các đối tượng thực thể đã xác định. Thực nghiệm các bước triển khai chi tiết được trình bày ở Chương 3.
c)Nhận dạng và phân loại thử thể danh từ riêng trong kho ngữ liệu
Đối với giải pháp cải tiến chất lượng kho ngữ liệu theo hướng ngữ nghĩa, có nhiều cách tiếp cận khác nhau để giải quyết từng vấn đề đối với kho ngữ liệu. Trong luận án này, nghiên cứu sinh đề xuất giải pháp nhận dạng và phân loại danh từ riêng trong kho ngữ liệu và giải pháp xác định ranh giới từ, thơng qua đó có thể chuẩn hóa và làm tăng chất lượng của kho ngữ liệu. Nghiên cứu tại [55] cũng chỉ ra rằng, việc nhận dạng danh từ riêng có ảnh hưởng đến chất lượng của các mơ hình dịch mạng nơ ron Anh – Việt.
Thực thể dữ liệu của kho ngữ liệu bao gồm nhiều loại, trong đó nghiên cứu này chỉ tập trung đối thực nghiệm đối với danh từ riêng. Thực tế, danh từ riêng rất đa dạng và thường nhập nhằng, cùng một danh từ riêng có thể khác nhau với ngữ cảnh khác nhau. Vấn đề cốt lõi và quan trọng nhất đối với cơng việc này là nhận dạng và trích rút danh từ riêng để sau đó tiến hành thêm tầng ngữ nghĩa.
Luận án đề xuất giải pháp kết hợp giữa thuật tốn Maximum Matching và phân tích mối quan hệ giữa các thành tố văn bản, cụ thể là quan hệ của thực thể cần kiểm tra với các thực thể tiền tố và hậu tố của nó. Sau khi có danh sách các danh từ riêng, chúng ta tiến hành nhận biết các danh từ riêng đó thuộc lớp danh từ riêng nào. Việc nhận biết, phân loại danh từ riêng này dựa vào quan hệ giữa các thực thể trong văn bản và so khớp các thực thể tiền tố và hậu tố với tập hợp các từ ngữ cảnh nhằm chỉ địa danh hoặc tên người.
Bài tốn rút trích thơng tin và nhận diện danh từ riêng đã được tiếp cận theo nhiều phương pháp như (1) Hướng tiếp cận thủ công sử dụng hệ luật; (2) Tiếp cận sử dụng các phương pháp học máy như sử dụng Mơ hình Markov ẩn, mơ hình Maximum Entropy Markov Models, Mơ hình ngẫu nhiên. Các mơ hình này đều có những ưu nhược điểm nhất định, tuy nhiên điểm hạn chế đó là phải tiến hành tiền xử lý dữ liệu. Cả ba mơ hình đều phải sử dụng các công cụ để thực hiện phân lớp dữ liệu trước khi đưa chúng vào xử lý, việc đó khiến cho hệ thống trở nên cồng kềnh, tốn kém tài nguyên hệ thống và làm chậm tốc độ trong trường hợp áp dụng đối với các hệ thống thời gian thực.
t1 t2 t3 t7 … tn
Để khắc phục tình trạng trên, luận án hướng đến giải pháp nhận diện danh từ riêng ngay trên dữ liệu thô. Giải pháp đề xuất là sự kết hơp giữa thuật tốn Maximum Matching và phân tích mối quan hệ giữa các thành tố văn bản. Mơ hình tổng qt của giải pháp này gồm các bước sau:
+ Tách từ
Tách từ được thực hiện bằng quá trình lần lượt tách đoạn, tách câu và tách từ để xây dựng danh sách các từ, cụm từ. Sử dụng thuật toán so khớp tối đa (Maximum Matching), với so khớp giới hạn lớn nhất là 3 từ tố. Cho khuôn dịch chuyển theo từng phần tử trong danh sách tiếng theo thứ tự từ đầu đến cuối danh sách, kết hợp với so sánh từ điển để tách từ và loại bỏ các từ không phải là danh từ riêng.
t4 t5 t6
+ Nhận diện danh từ riêng
Nhận diện danh từ riêng thuộc các lớp danh từ riêng nào dựa vào phân tích quan hệ giữa các thành tố trong văn bản cùng với việc so khớp các thực thể tiền tố và hậu tố với tập hợp các từ chỉ địa danh và con người theo ngữ cảnh. Như vậy, việc phân lớp danh từ riêng theo các lớp danh từ riêng tên người hay địa điểm là q trìnhphân tích quan hệ ngữ cảnh giữa thực thể cần kiểm tra với các thực thể tiền tố, hậu tố của nó theo ngữ cảnh.
Quá trình nhận diện và phân loại danh từ riêng gồm bốn bước sau:
Bước 1: Kiểm tra dựa vào tiền tố.
Từ danh sách các cụm từ tố không có nghĩa tìm được ở trên, duyệt theo từng phần tử để kiểm tra tiền tố của nó. Dựa vào danh sách các từ tố, tìm ra một từ tố nằm trước phần tử đó trong văn bản (tiền tố một từ tố). Kiểm tra xem từ tố này có nằm trong từ điển tiền tố một từ tố của lớp danh từ riêng cần xác định hay khơng và tìm ra được các phần tử của các lớp danh từ riêng thơng qua tiền tố của nó.
Bước 2: Kiểm tra dựa vào hậu tố.
Tiếp tục tìm các phần tử của các lớp danh từ riêng từ các cụm từ tố khơng có nghĩa cịn lại dựa vào hậu tố của nó. Dựa vào danh sách các từ tố, xác định hậu tố một từ tố của cụm từ tố đó trong văn bản. Kiểm tra xem từ tố này có
Kho ngữ liệu
Tách từ
Từ điển
Phân loại
dựa vào quan hệ giữa các thực thể (Tiền tố, hậu tố)
nằm trong từ điển hậu tố một từ tố của lớp danh từ riêng cần xác định hay khơng và tìm ra được các phần tử của các lớp danh từ riêng thơng qua hậu tố của nó.
Bước 3: Từ danh sách cụm từ tố khơng có nghĩa cịn lại, tìm ra các cụm từ tố là chuỗi con của các cụm có trong
danh sách danh từ riêng của các lớp danh từ riêng. Nếu tìm có trong danh sách danh từ riêng lớp nào thì thêm chuỗi con đó vào danh sách danh từ riêng lớp đó và đưa nó ra khỏi danh sách cụm từ tố khơng có nghĩa.
Bước 4: Nhận diện các tên riêng khơng có tiền tố và hậu tố nhưng đứng sát các tên riêng đã nhận dạng. Từ danh
sách các từ tố khơng có nghĩa còn lại, ta duyệt theo từng phần tử của danh sách cụm từ tố khơng có nghĩa, tìm ra các phần tử đứng trước nó là khoảng trống và kế sát trước khoảng trống là dấu phẩy hoặc từ “và”. Nếu từ tố đứng sát trước dấu phẩy “,” hoặc từ “và” đó là chuỗi con của một phần tử trong danh sách danh từ riêng của lớp danh từ riêng nào thì thêm nó là danh sách danh từ riêng lớp đó.
Luận án đã thử nghiệm thuật tốn với 10 tài liệu, thu được kết quả về độ chính xác trung bình là 71%. Để nâng cao hơn nữa hiệu quả của giải pháp này, hệ thống cho phép người dùng hiệu chỉnh kết quả nhận diện bằng tay. Hệ thống sẽ hiển thị
danh sách các từ, cụm từ đã được nhận diện để người dùng có thể xác nhận, chỉnh sửa,…
Hình 2.14. Hệ thống nhận dạng và phân loại thực thể danh từ riêng từ kho ngữ liệu
d)Giải pháp xác định ranh giới từ tiếng Việt
Bên cạnh đó, nhằm nâng cao chất lượng kho ngữ liệu, luận án cũng đã nghiên cứu các giải pháp xác định ranh giới từ trong tiếng Việt. Do đặc điểm của tiếng Việt mỗi từ chứa một hoặc nhiều âm tiết, vì vậy nếu phân biệt rõ ranh giới giữa các từ thì sẽ giảm bớt tính nhập nhằng của ngữ nghĩa, xác định từ loại sẽ chính xác hơn, từ đó giúp q trình xử lý và huấn luyện dữ liệu đạt hiệu quả tốt. Nghiên cứu tại [39] cũng chỉ rõ, trong bài tốn gióng hàng, nhất thiết phải xác định trước tiên đâu là từ thì mới có thể thực hiện q trình gióng hàng.
Đối với bất kỳ mơ hình dịch máy nào, chẳng hạn mơ hình dịch thống kê hoặc mơ hình dịch máy sử dụng mạng nơ ron, quá trình tiền xử lý dữ liệu kết hợp tách từ vựng sẽ làm giảm kích thước của bộ từ điển, tăng tính chính xác khi gióng hàng và giúp cải tiến chất lượng của bản dịch máy. Trong q trình huấn luyện dữ liệu, mơ hình dịch sẽ thống kê và tạo lập bộ từ điển của ngơn ngữ nguồn và ngơn ngữ đích trên cơ sở liệt kê các từ xuất hiện với mặc định các từ được phân cách nhau bởi khoảng trắng. Chính vì vậy, nếu dữ liệu không được tiền xử lý với phương pháp tách từ, từ điển được tạo ra sẽ bao gồm các từ đơn vô nghĩa hoặc kết hợp n-gram tạo thành những cụm từ vô nghĩa nhưng vẫn được thống kê và