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
Công cụ
chuyển đổi liệu chuẩn Kho ngữ
đâ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 quá 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 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ác
loạ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.
Để 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.
t1 t2 t3 t4 t5 t6 t7 … tn
+ 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à quá trình
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ố)
phâ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.
Q 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ó 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à đánh trọng số làm ảnh hưởng đến kết
quả dịch. Chẳng hạn nội dung của các tập tin từ điển được hiển thị tại Hình 2.15 khi sử dụng mơ hình dịch thống kê (Hình 2.15c) và khi sử dụng mơ hình dịch mạng nơ ron (Hình 2.15a và Hình 2.15b).
(a) (b) (c)
Hình 2.15. Trích nội dung tập tin từ điển khi sử dụng mơ hình dịch thống kê và dịch sử dụng mạng nơ ron
Có nhiều phương pháp đã được nghiên cứu để phân tách ranh giới của các từ phục vụ cho các bài tốn xử lý ngơn ngữ tự nhiên như dựa trên từ điển, dựa trên thống kê, phương pháp lai. Trong luận án này, từ nghiên cứu về biểu diễn phân tán của các từ và cụm từ tại [56], có thể tính điểm của các từ đơn âm tiết đứng cạnh nhau để dự đốn các từ này có phải là từ ghép hay khơng bởi cơng thức:
, = −
( ) × ( )
Trong đó, score(wiwj) là điểm của hai từ đứng cạnh nhau được thống kê từ kho ngữ liệu đơn ngữ số lượng lớn; count(wiwj) là số lần xuất hiện cụm từ wiwj, count(wi) là số lần xuất hiện của từ wi, δ là hệ số để loại trừ các cụm từ xuất hiện với tần suất thấp. Từ điểm số trên, có thể điều chỉnh và chọn một ngưỡng phù hợp để các từ đứng cạnh nhau có xác suất cao là các từ ghép trong tiếng Việt.
Phương pháp này dễ dàng triển khai vì chỉ cần kho ngữ liệu đơn ngữ để xây