Khảo sát bài toán xây dựng và phát triển các mô hình biểu diễn tri thức cho các hệ giải toán tự động Trong phần này ta sẽ bàn luận các công trình lý thuyết cũng như ứng dụng đã có liênqu
Trang 1MỤC LỤC
PHẦN 1: TỔNG QUAN VỀ TIẾP NHẬN VÀ 3
BIỄU DIỄN TRI THỨC 3
1 Khảo sát bài toán xây dựng và phát triển các mô hình biểu diễn tri thức cho các hệ giải toán tự động 3
1.1 Giới thiệu 3
1.2 Vấn đề biểu diễn tri thức 4
1.3 Mô hình tri thức các đối tượng tính toán 5
1.4 Mô hình cơ sở tri thức COKB 7
1.4.1 Mô hình 7
1.4.2 Tổ chức cơ sở tri thức COKB 10
1.5 Bài toán giải toán một C-Object 11
1.6 Bài toán hình học phẳng 12
1.7 Ví dụ 13
2 Vấn đề còn tồn tại trong bài toán 13
3 Vấn đề cần tập trung nghiên cứu và giải quyết 14
PHẦN 2: CƠ SỞ LÝ THUYẾT 15
1 Tìm hiểu về ngôn ngữ tự nhiên 15
1.1 Định nghĩa 15
1.2 Bản chất của ngôn ngữ 16
1.3 Tính hệ thống của ngôn ngữ 16
1.4 Đặc điểm của ngôn ngữ tự nhiên tiếng Việt và Tiếng Anh 18
2 Các phương pháp xử lý ngôn ngữ tự nhiên ứng dụng trong dịch tự động 19
2.1 giới thiệu các ứng dụng của xử lý ngôn ngữ tự nhiên 19
2.2 Một số hệ dịch máy 20
2.3 Các bài toán trong dịch máy 20
PHẦN 3: NGHIÊN CỨU THỰC NGHIỆM 28
1 Mô tả bài toán cần xử lý 28
Trang 22 Giải quyết bài toán dịch ngôn ngữ tự nhiên sang ngôn ngữ đặc tả 29
2.1 Quy ước chung cho bài toán 30
2.2 Mô hình đặc tả tổng quát 32
3.2.3 Giải quyết vấn đề chuyển mẫu câu thành dạng tiền đặc tả 35
2.4 Chuyển văn bản từ ngôn ngữ tự nhiên sang dạng ngôn ngữ tiền đặc tả 39
3.2.5 Chuyển từ ngôn ngữ tiền đặc tả sang ngôn ngữ đặc tả bài toán 41
3 Thiết kế và cài đặt bài toán 45
3.1 Thiết kế giao diện 45
3.2 Các chức năng chính 46
3.3 Công nghệ sử dụng 50
3.4 Nhận xét 50
PHẦN 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 51
1 Kết luận 51
1.1 Vấn đề đạt được 51
1.2 Vấn đề chưa đạt được 51
2 Hướng phát triển 52
TÀI LIỆU THAM KHẢO 52
Trang 3PHẦN 1: TỔNG QUAN VỀ TIẾP NHẬN VÀ
BIỄU DIỄN TRI THỨC
1 Khảo sát bài toán xây dựng và phát triển các mô hình biểu diễn tri thức cho các hệ giải toán tự động
Trong phần này ta sẽ bàn luận các công trình lý thuyết cũng như ứng dụng đã có liênquan đến mục tiêu của đề tài từ đó nêu ra mục tiêu cụ thể mà đề tài tập trung nghiên cứu
- Biểu diễn tri thức
- Phương pháp và kỹ thuật tìm kiếm hay suy diễn
Bài toán xây dựng và phát triển các mô hình biểu diễn tri thức cho các hệ giải toán tựđộng giữ một vị trí rất quan trọng trong khoa học máy tính cũng như trong lĩnh vực trí tuệnhân tạo Mục tiêu của bài toán này là nhằm xây dựng và phát triển một số mô hình biểudiễn tri thức và các thuật giải tự động cho các dạng bài toán khác nhau dựa trên tri thức.Trong bài toán này ta chỉ quan tâm khảo sát đến việc xây dựng và phát triển một số
mô hình biểu diễn tri thức cho hệ giải toán tự động Các mô hình này được xây dựng vàphát triển dựa trên các phương pháp biểu diễn tri thức đã có với những phát triển nhất định
để tạo ra một số mô hình biểu diễn tri thức mới thể hiện được nhiều dạng kiến thức đa dạnghơn
Theo PGS.TS Đỗ Văn Nhơn đã đưa ra một số mô hình biểu diễn tri thức như: môhình mạng suy diễn và tính toán, mô hình một đối tượng tính toán (C-Object), mô hình trithức về các C-Object, và mô hình mạng các C-Object Các mô hình này được sử dụngtrong thiết kế và cài đặt một số chương trình giải tự động, một số lớp bài toán về các tam
Trang 4giác, các tứ giác, các bài toán hình học phẳng, các bài toán hình học giải tích và một số bàitoán trên các phản ứng hóa học.
Trước hết ta cần phải biết cấu trúc của một hệ giải toán thông minh như thế nào và
mô hình biểu diễn tri thức đóng vai trò ra sao Cấu trúc cơ bản của một hệ giải toán tự độngdựa trên tri thức bao gồm các thành phần được chỉ ra trên hình 1.1 bên dưới
Hình 1.1 cấu trúc của một hệ giải toán thông minh
Có thể thấy rằng cơ sở tri thức giữ vai trò như bộ não của hệ thống trong đó chứa cáckiến thức cần thiết cho việc giải một bài toán Bộ suy diễn sẽ áp dụng các kiến thức trong
cơ sở tri thức để tìm lời giải cho bài toán
1.2 Vấn đề biểu diễn tri thức
Biểu diễn tri thức đóng vai trò rất quan trọng trong hệ giải toán thông minh Theotổng kết thì có 4 loại biểu diễn tri thức khác nhau: biểu diễn dựa trên logic hình thức, biểudiễn tri thức thủ tục, biễu diễn dạng mạng, và biểu diễn cấu trúc Mỗi phương pháp này chỉbiểu diễn được một khía cạnh nào đó của tri thức trong khi tri thức cần được biểu diễn dadạng trong các hệ ứng dụng
Các phương pháp biểu diễn tri thức nêu trên đều có ưu điểm nhất định trong biểu diễntừng dạng tri thức Nhưng tất cả các phương pháp này đều có một nhược điểm chung là chỉbiểu diễn một khía cạnh tri thức rất đa dạng và chưa hướng tới biểu diễn một tri thức baohàm nhiều dạng thông tin, nhiều dạng sự kiện khác nhau Các hệ giải toán như: các chươngtrình tính toán hình học trong bộ phần mềm Engineering 2000, chương trình StudyWorks,
Cơ sở tri thức
Trang 5chương trình Math Express chúng đều có một hạn chế lớn nhất là không cho ta những môhình biểu diễn tri thức tốt giúp xây dựng một cơ sở tri thức, bộ suy diễn và các thành phầnkhác của hệ thống Từ đó ông nêu ra các mô hình biểu diễn tri thức như: mô hình một đốitượng tính toán (C-Object), mô hình tri thức về các C-Object, và mô hình mạng các C-Object và các ứng dụng của chúng vào các bài toán giải toán một C-Object, các bài toánhình học phẳng, giải các bài toán hình học giải tích ba chiều, và giải một số các bài toán vềphản ứng hóa học.
Ta sẽ đi vào nghiên cứu cách biểu diễn tri thức của các hệ giải toán này
1.3 Mô hình tri thức các đối tượng tính toán
Để giúp hệ giải toán tự động tối ưu có thể ứng dụng rộng rãi cho nhiều bài toán phứctạp, PGS.TS Đỗ Văn Nhơn và GS.TSKH.Hoàng Kiếm đã nêu ra mô hình tri thức gọi là môhình tri thức các đối tượng tính toán
Trước hết ta cần tìm hiểu thế nào là một đối tượng tính toán (C-Object): là một đốitượng O có cấu trúc bao gồm:
– Một danh sách các thuộc tính Attr(O) ={x1, x2, , xn} và giữa các thuộc tính có liên
hệ qua các sự kiện, các luật suy diễn hay công thức tính toán
– Các hành vi liên quan đến sự suy diễn và tính toán trên các thuộc tính của đối tượng
như:
o Xác định bao đóng của một tập thuộc tính A
o Xét tính giải được của một bài toán suy diễn tính toán có dạng A → B, với A và
B là con của Attr(O)
o Thực hiện các tính toán
o Thực hiện gợi ý bổ sung giả thiết cho bài toán
o Xem xét tính xác định của đối tượng
Một C-Object có thể được mô hình hóa bởi một bộ:
(Attrs, F, Facts, Rules)
Trang 6Trong đó: Attrs là tập thuộc tính của đối tượng, F là các quan hệ suy diễn tính toán,Facts là tập hợp các tính chất vốn có của đối tượng, và Rules là tập hợp các luật suy diễntrên các sự kiện.
Mô hình tri thức các đối tượng tính toán có thể dùng biểu diễn cho một dạng cơ sở trithức bao gồm các khái niệm về các đối tượng có cấu trúc cùng với các loại quan hệ và cáccông thức tính toán liên quan
Ta gọi một mô hình tri thức các C-Object, viết tắt là một mô hình COKB(Computational Objects Knowledge Base), là một hệ thống (C, H, R, Ops, Rules) gồm:
– Một tập hợp C các khái niệm về C-Object: mỗi khái niệm là một lớp C-Object có
cấu trúc bên trong như sau:
o Kiểu đối tượng
o Danh sách các thuộc tính
o Quan hệ trên cấu trúc thiết lập
o Tập hợp các điều kiện ràng buộc trên các thuộc tính
o Tập hợp các tính chất nội tại trên thuộc tính
o Tập hợp các quan hệ suy diễn - tính toán
o Tập hợp các luật suy diễn có dạng:
{các sự kiện giả thiết} → {các sự kiện kết luận}
– Một tập H các quan hệ phân cấp giữa các loại đối tượng: có thể nói rằng H là một
biểu đồ Hasse khi xem quan hệ phân cấp trên là một quan hệ thứ tự trên C
– Một tập R các loại quan hệ trên các đối tượng: mối quan hệ được xác định bởi <tên
quan hệ> và các loại đối tượng của quan hệ, và quan hệ có thể có một số tính chấtnhất định
– Một tập Ops các toán tử: các toán tử cho ta một số phép toán nhất định trên các biến
thực cũng như trên các đối tượng
Trang 7– Một tập hợp Rules gồm các luật được phân lớp: mỗi luật cho ta một qui tắc suy luận
để đi đến các sự kiện mới từ các sự kiện nào đó, và về mặt cấu trúc mỗi luật r có thểđược mô hình dưới dạng
r : {sk1, sk2, , skn} → {sk1, sk2, , skm}Một số loại sự kiện:
o Sự kiện thông tin về loại của một đối tượng
o Sự kiện về tính xác định của một đối tượng (các thuộc tính coi như đã biết) haycủa một thuộc tính
o Sự kiện về xác định của một thuộc tính hay một đối tượng thông qua một biểuthức hằng
o Sự kiện về phụ thuộc của một đối tượng hay của một thuộc tính theo những đốitượng hay các thuộc tính khác thông qua một công thức tính toán
o Sự kiện về một quan hệ trên các đối tượng hay trên các thuộc tính của đối tượng
1.4 Mô hình cơ sở tri thức COKB
1.4.1 Mô hình
Ta gọi một mô hình tri thức về các đối tượng tính toán, viết tắt là một mô hình COKB
(Computational Objects Knowledge Base), là một hệ thống (C, H, R, Ops, Funcs, Rules)
gồm:
° Một tập hợp C các khái niệm về các đối tượng tính toán:
– Mỗi khái niệm là một loại đối tượng tính toán có cấu trúc và được phân mức theo sự
thiết lập của cấu trúc đối tượng, gồm: biến thực, đối tượng cơ bản, đối tượng mức 1
và đối tượng mức 2
– Các đối tượng cơ bản có cấu trúc rỗng hoặc có cấu trúc gồm một số thuộc tính thuộc
kiểu thực Các đối tượng loại nầy có thể làm nền cho sự thiết lập các đối tượng ởmức cao hơn
– Các đối tượng tính toán mức 1 có một thuộc tính loại <real> và có thể được thiết lập
từ một danh sách nền các đối tượng cơ bản
Trang 8– Các đối tượng tính toán mức 2 có các thuộc tính loại real và các thuộc tính thuộc
loại đối tượng mức 1, và đối tượng có thể được thiết lập trên một danh sách nền cácđối tượng cơ bản
° Một tập hợp H các quan hệ phân cấp giữa các loại đối tượng
– Trên tập hợp C ta có một quan hệ phân cấp theo đó có thể có một số khái niệm là sự
đặc biệt hóa của các khái niệm khác, chẳng hạn như một tam giác cân cũng là mộttam giác, một hình bình hành cũng là một tứ giác Có thể nói rằng H là một biểu đồHasse khi xem quan hệ phân cấp trên là một quan hệ thứ tự trên C
° Một tập hợp R các khái niệm về các loại quan hệ trên các loại đối tượng
– Mỗi quan hệ được xác định bởi <tên quan hệ> và các loại đối tượng của quan hệ, và
quan hệ có thể có một số tính chất trong các tính chất sau đây: tính chất phản xạ,tính chất đối xứng, tính chất phản xứng và tính chất bắc cầu
° Một tập hơp Ops các toán tử
– Các toán tử cho ta một số phép toán trên các biến thực cũng như trên các đối tượng,
chẳng hạn các phép toán số học và tính toán trên các đối tượng đoạn và góc tương tựnhư đối với các biến thực
° Một tập hợp Funcs các chức năng:
– bao gồm các chức năng trên Com-Objects Chức năng cũng là một loại kiến thức
phổ biến trong các lĩnh vực thực tế, đặc biệt là lĩnh vực khoa học tự nhiên như cáclĩnh vực của toán học, lĩnh vực vật lý
– Trong hình học phân tích, chúng ta có các chức năng: khoảng cách giữa hai điểm,
khoảng cách từ một điểm đến một đường thẳng hoặc một máy bay, dự báo của mộtđiểm hoặc một dòng lên máy bay, yếu tố quyết định của ma trận vuông cũng là mộtchức năng trên ma trận vuông trong đại số tuyến tính
° Một tập hơp Rules gồm các luật
Trang 9– Các luật thể hiện các tri thức mang tính phổ quát trên các khái niệm và các loại sự
kiện khác nhau Mỗi luật cho ta một qui tắc suy luận để đi đến các sự kiện mới từcác sự kiện nào đó, và về mặt cấu trúc nó gồm 2 thành phần chính là: phần giả thiếtcủa luật và phần kết luận của luật Phần giả thiết và phần kết luận đều là các tập hợp
sự kiện trên các đối tượng nhất định
– Các loại tam giác và các loại tứ giác
° Các quan hệ phân cấp giữa các loại đối tượng :
Giữa các khái niệm về các loại tam giác và các loại tứ giác có các quan hệ phân cấp theo sự đặc biệt hóa của các khái niệm, được thể hiện bởi các biểu đồ sau đây:
° Các khái niệm về các loại quan hệ giữa các loại đối tượng :
Các quan hệ giữa các khái niệm bao gồm các loại quan hệ như:
– Quan hệ thuộc về của 1 điểm đối với một đoạn thẳng
– Quan hệ trung điểm của một điểm đối với một đoạn thẳng
– Quan hệ song song giữa 2 đoạn thẳng
– Quan hệ vuông góc giữa 2 đoạn thẳng
– Quan hệ bằng nhau giữa 2 tam giác
° Các toán tử :
Trang 10Các toán tử số học và các hàm sơ cấp cũng áp dụng đối với các đối tựng loại “đoạn thẳng” và các đối tượng loại “góc”.
° Các luật :
Các luật thể hiện các định lý hay qui tắc suy diễn trên các loại sự kiện khác nhau
Ví dụ: Một tam giác ABC có 2 cạnh AB và AC bằng nhau thì tam giac là tam giác cântại A Với 3 đoạn thẳng a, b và c, nếu a // b và a c thì ta có b c
1.4.2 Tổ chức cơ sở tri thức COKB
Cơ sở tri thức COKB có thể được tổ chức bởi một hệ thống tập tin văn bản có cấutrúc như sau:
– Tập tin “Objects.txt” lưu trữ các định danh cho các loại đối tượng C-Object.– Tập tin “RELATIONS.txt” lưu trữ thông tin về các loại quan hệ khác nhau trên các loại C-Object
– Tập tin “Hierarchy.txt” lưu lại các biễu đồ Hasse thể hiện quan hệ phân cấp trên các khái niệm
– Các tập tin với tên tập tin để lưu trữ các cấu trúc của loại đối tượng
– Tập tin “Operators.txt” lưu trữ các thông tin về các toán tử trên các đối tượng
– Tập tin “FACTS.txt” lưu trữ thông tin về các loại sự kiện khác nhau
– Tập tin “RULES.txt” lưu hệ luật của cơ sở tri thức
Trang 11Hình 1.2 : biểu đồ liên hệ giữa các thành phần trong mô hình COKB
Do cách tổ chức tri thức trong mô hình COKB rõ ràng và rành mạch với đầy đủ cácthông tin cùng với các liên hệ khác nhau rất đa dạng Và cũng chính vì thế ta phải phân tíchđầu vào rành mạch giống như các thành phần trong mô hình cơ sở tri thức quy định Do đó
đề bài toán sẽ được quy định với cấu trúc đặc biệt được gọi là ngôn ngữ đặc tả bài toán Ta
đi vào xem xét ngôn ngữ đặc tả đề bài toán của hai hệ giải toán tự động: giải toán một Object và giải bài toán hình học phẳng
C-1.5 Bài toán giải toán một C-Object
Hoạt động của chương trình giải toán C-Object dựa trên cơ sở tri thức các C-Objectđược tổ chức theo mô hình COKB
Hình 1.3 sơ đồ hoạt động giải một đề bài toán
Cấu trúc đối tượng
Các loại sự kiện
Biểu đồ phân cấp khái niệm
Các quan hệCác loại đối tượng
Các luậtCác toán tử
Cấu trúc đối tượng
Kết luận: B
Giải đề
Tri thứcLời giải
Dịch vụ tri thức
Trang 12Để đưa đầu vào cho chương trình giải toán Object dựa trên cơ sở tri thức các Object được tổ chức theo mô hình COKB thì cấu trúc của một đề bài toán có dạng như sau: begin_hypothesis
C-parameters: <các tham biến>
Trang 13Công việc đưa ra ngôn ngữ đặc tả cho đề bài toán cũng phải được người sử dụng tựđưa ra theo mẫu quy định mà chưa có hệ thống nào làm tự động thay cho việc này.
1.7 Ví dụ
Đề bài toán theo ngôn ngữ tự nhiên: Cho tam giác ABC, cân tại A, và cho biết trướcgóc đỉnh A bằng α, cạnh đáy a bằng m Bên ngoài tam giác có hai hình vuông ABDE vàACFG Tính độ dài EG
begin_goal
determine: O2.DOAN[E, G];
end_goal
2 Vấn đề còn tồn tại trong bài toán
Bài toán trên đã đưa ra mô hình biểu diễn tri thức khá tốt phục vụ cho giải bài toánmột cách tự động, tuy nhiên dữ liệu đầu vào của hệ không phải là đề bài toán theo ngônngữ tự nhiên mà là theo một định dạng cho trước, một ngôn ngữ đặc tả bài toán Vì thế,vấn đề gặp phải ở bài toán này là khi ta muốn giải một bài toán thì trước hết chúng ta phảilàm một cách thủ công để đưa ra dạng đặc tả của chúng rồi mới đưa vào hệ để giải Điều
Trang 14đó làm cho dữ liệu đầu vào của hệ giải toán không được tự nhiên và gây khó khăn chongười sử dụng.
3 Vấn đề cần tập trung nghiên cứu và giải quyết
Để giải quyết vấn đề đầu vào cho hệ giải toán tự động được tự nhiên hơn, trong đề tàinày em sẽ đi sâu vào nghiên cứu và xây dựng hệ thống “Dịch từ ngôn ngữ tự nhiên sangngôn ngữ đặc tả” Vấn đề ở đây có nghĩa là: khi ta nhập một đề bài toán bằng ngôn ngữ tựnhiên thì hệ thống sẽ tự động xử lý để đưa ra dạng ngôn ngữ đặc tả của bài toán để làm đầuvào cho hệ giải toán thông minh
Hướng giải quyết vấn đề:
– Dựa trên bộ từ điển toán học có ngữ nghĩa đã được xây dựng và các xử lý trên ngôn
ngữ tự nhiên như tách từ, tách câu, tách đoạn
– Lấy kết quả từ việc tách câu theo từ loại chuyển thành dạng tiền đặc tả cho từng
mẫu câu
– Từ dạng tiền đặc tả của từng loại mẫu câu ta đưa chúng về dạng đặc tả chi tiết và
lưu xuống file XML để làm dữ liệu đầu vào của các hệ giải toán thông minh
Trang 15PHẦN 2: CƠ SỞ LÝ THUYẾT
1 Tìm hiểu về ngôn ngữ tự nhiên
Trước hết ta cần phân biệt thuật ngữ ngôn ngữ tự nhiên ( Natural Language), nhưtiếng Việt, tiến Anh, tiếng Pháp, tiếng Nga…với ngôn ngữ nhân tạo (Artificial Language),như: ngôn ngữ máy tính (C, Pascal, C# )
Có khoảng 5600 ngôn ngữ trên thế giới, được phân bố không đồng đều , có ngôn ngữđược hàng trăm triệu người sử dụng như : Quan Thoại, Anh, Tây Ban Nha, Nga, Pháp…tiếng Việt đứng hàng thứ 20, nhưng chỉ có ngôn ngữ có vài chục người sử dụng (chủ yếu làngôn ngữ của các bộ tộc ít người và hiện nay các loại ngôn ngữ này đang dần bị mất đi).Trong số 5600 ngôn ngữ đó, chỉ có một số ít các ngôn ngữ là có chữ viết
– Ngôn ngữ: là hệ thống tín hiệu quan trọng và độc đáo nhất trong giao tiếp của loàingười; là phương tiện để biểu hiện và phát triển tư duy, bảo lưu và chuyển giao có hiệulực nhất các truyền thống lịch sử - văn hoá của một dân tộc
– Ngôn ngữ là một loại hệ thống tín hiệu bao gồm mặt hình thức và mặt nội dung
– Ngôn ngữ là âm thanh có ý nghĩa và hệ thống mà loài người dùng để liên lạc, cảmthông và diễn đạt tư tưởng với nhau
– Ngôn ngữ tự nhiên là ngôn ngữ sử dụng hằng ngày trong giao tiếp, có thể là tiếngAnh, Pháp, Nhật, Việt,…Nó có thể lưu trữ lại trên máy tính dưới dạng văn bản, email,
…hoặc thu âm lại giọng nói
Trang 16Tóm lại, ngôn ngữ có thể được hiểu là hệ thống những âm, những từ và những quytắc kết hợp chúng mà những người trong cùng một cộng đồng dùng làm phương tiện đểgiao tiếp với nhau.
Ngôn ngữ là một hệ thống tín hiệu nó có bản chất tín hiệu: giống như tín hiệu có haimặt: mặt biểu hiện vật chất (âm, chữ) và mặt được biểu hiện (nghĩa) Hai mặt cái biểu hiện
và cái được biểu hiện của tín hiệu ngôn ngữ có quan hệ gắn bó với nhau như hai mặt củamột tờ giấy, nhưng hai mặt lại có quan hệ võ đoán với nhau, nghĩa là quan hệ mà khônggiải thích được lý do, quan hệ chỉ do quy ước, thoái quen của cộng đồng
Vậy “ngôn ngữ là hệ thống ký hiệu đặc biệt dùng để làm phương tiện giao tiếp quantrọng nhất của con người”
– Hình vị: đơn vị nhỏ nhất mang nghĩa được cấu tạo bởi các âm vị
– Từ: đơn vị mang nghĩa độc lập, được cấu tạo bởi hình vị, có chức năng định danh
Trang 17– Ngữ: gồm hai hay nhiều từ có quan hệ ngữ pháp hay ngữ nghĩa với nhau.
– Câu: gồm các từ/ngữ có quan hệ ngữ pháp hay ngữ nghĩa với nhau và có chức năng
cơ bản là thông báo
– Văn bản: hệ thống các câu liên kết với nhau về mặt hình thức, ngữ pháp, ngữ nghĩa
và ngữ dụng
Các quan hệ trong ngôn ngữ
Mỗi loại đơn vị kể trên làm thành một tiểu hệ thống trong một hệ thống lớn là hệthống ngôn ngữ Người ta gọi mỗi tiểu hệ thống của ngôn ngữ là một cấp độ Vì các tiểu hệthống có quan hệ chi phối với nhau
– Ví dụ: This book; this book is interesting
– Quan hệ liên tưởng (associative relation): là quan hệ xâu chuỗi ; một yếu tố xuấthiện với những yếu tố khiếm diện “đứng sau lưng” nó, về nguyên tắc có thể thay thếcho nó
VD: I read book (newspaper, magazine ) thì các từ newspaper, magazine là tươngđương với book có thể thay thế được
Các phương diện trong ngôn ngữ
Ở mỗi cấp độ (hình vị, từ, ngữ, câu), các đơn vị ngôn ngữ thường có các phương diệnsau:
– Hình thái: mối quan hệ giữa đơn vị ngôn ngữ với hình thức cấu tạo của đơn vị đó
Trang 18– Ngữ pháp: mối quan hệ giữa đơn vị ngôn ngữ này với các đơn vị ngôn ngữ hữuquan.
– Ngữ nghĩa: mối quan hệ giữa đơn vị ngôn ngữ với nội dung (về mặt ý nghĩa) củađơn vị đó
– Ngữ dụng: mối quan hệ giữa đơn vị ngôn ngữ với mục đích sử dụng của đơn vị đó 1.4 Đặc điểm của ngôn ngữ tự nhiên tiếng Việt và Tiếng Anh
Đặc điểm của tiếng Anh
Tiếng Anh được xếp vào loại hình biến cách hay còn gọi là loại hình khuất chiết vớinhững đặc điểm chính như sau :
– Trong hoạt động ngôn ngữ, từ có biến đổi hình thái Ý nghĩa ngữ pháp nằm ở trongtừ
– Hiện tượng cấu tạo từ bằng cách ghép thêm phụ tố vào gốc từ rất phổ biến
– Kết hợp giữa các hình vị là chặt chẽ Ranh giới giữa các hình vị là khó xác định.Ranh giới từ được nhận diện bằng khoảng trắng hoặc dấu câu
Đặc điểm của tiếng Việt
Tiếng việt được xếp vào loại hình đơn lập hay còn gọi là loại hình phi hình thái, không biến hình, đơn tiết với những đặc điểm chính như sau :
– Trong hoạt động ngôn ngữ, từ không biến đổi hình thái Ý nghĩa ngữ pháp nằm ởngoài từ
– Phương thức ngữ pháp chủ yếu là: trật tự từ và từ hư
– Tồn tại một loại đơn vị đặc biệt, đó là “hình tiết” mà ngữ âm của chúng trùng khítvới âm tiết, và đơn vị đó cũng chính là “hình vị tiếng việt” hay còn gọi “tiếng”
– Ranh giới từ không được xác định mặc nhiên bằng khoảng trắng như các tiếng biếnhình khác
Trang 19Điều này khiến cho việc phân biệt hình thái tiếng việt trở nên khó khăn Việc nhậndiện ranh giới từ là quan trọng làm tiền đề cho các xử lý tiếp theo sau đó như: kiểm tra lỗichính tả, gán nhãn từ loại, thống kê tần suất từ,
– Tồn tại loại từ đặc biệt “từ chỉ loại” hay còn gọi là phó danh từ chỉ loại danh từ đikèm với danh từ
– Về mặt ngữ âm học, các âm tiết tiếng việt đều mang một trong 6 âm điệu : ngang,sắc, huyền, hỏi, ngã, nặng Đây là âm vị siêu đoạn tính
– Tiếng việt còn hiện tượng láy như: lấp lánh, lung linh…
Tóm tắt các điểm khác biệt giữa tiếng Anh và tiếng Việt.
Từ loại Không định nghĩa rõ Được định nghĩa rõ
Ranh giới từ Tổ hợp có nghĩa dựa vào ngữ
cảnh của các tiếng
Dựa vào khoảng trắng hoặc dấu câu
Bảng 3.1: sự khác nhau về đặc điểm tiếng Anh và Tiếng Việt
2 Các phương pháp xử lý ngôn ngữ tự nhiên ứng dụng trong dịch tự động2.1 giới thiệu các ứng dụng của xử lý ngôn ngữ tự nhiên
Nghiên cứu xử lý ngôn ngữ tự nhiên là nhằm mục đích làm cho máy tính có thể tự xử
lý ngôn ngữ tự nhiên, hiểu được ngôn ngữ tự nhiên Hiện nay kết quả của xử lý ngôn ngữ
tự nhiên được ứng dụng vào rất nhiều bài toán như: dịch tự động (MACHINETRANLATION), xử lý văn bản (kiểm tra lỗi chính tả, kiểm lỗi văn phạm, phân loại vănbản, tóm tắt văn bản ), nhận dạng ký tự (ORC) và các ứng dụng khác như: kiểm tra thôngtin theo ngữ nghĩa, truy vấn cơ sở dữ liệu Trong đó vấn đề dịch máy là vấn đề khó khănnhất trong việc ứng dụng của trí tuệ nhân tạo vào thực tế và cũng là vấn đề được tranh luận
và bàn cải nhiều nhất từ trước đến nay Gần đây vấn đề dịch máy đang được quan tâm
Trang 20mạnh mẽ và đạt được một số kết quả đáng khích lệ Kết quả này đạt được là do có đượccác nghiên cứu mới về lý thuyết ngôn ngữ học và sự ra đời của thế hệ máy tính mới mạnhhơn Tuy nhiên việc dịch máy cũng chỉ hạn chế đến việc dịch các tài liệu kỹ thuật, từ tiếngAnh sang tiếng Việt, Anh – Pháp,
2.2 Một số hệ dịch máy
Đến nay trên thế giới có nhiều nhóm/công ty dịch máy khác nhau: nhóm SYSTRANcủa Mỹ, CETA ở Pháp nhưng nổi tiếng và hiệu quả nhất là hệ dịch Anh – Pháp METÉOchuyên dịch các bản tin dự báo thời tiết ở Canada
Ở Nam Á, có dự án Nghiên cứu và triển khai hệ dịch đa ngôn ngữ giữa Nhật và cácnước Châu Á Trong những năm gần đây Nhật là nước đầu tư nhiều nhất vào những hệdịch thương mại (trên máy tính cá nhân PC và máy cầm tay PDA) để dịch Nhật – Anh Tại Việt Nam, cũng có nhiều đề tài nghiên cứu, phần mềm thực hiện việc dịch tựđộng từ Anh sang Việt như hệ dịch tài liệu Tin Học EVT của khoa CNTT, trường ĐHKhoa Học Tự Nhiên – ĐH Quốc Gia TPHCM (GS.Hoàng Kiếm – TS.Đinh Điền), đề tàidịch máy của khoa CNTT, trường ĐH Bách Khoa – ĐH Quốc Gia TPHCM (PGS.PhanThị Tươi), phần mềm dịch Anh – Việt EVTRAN của Viện Công Nghệ vi điện tử (TS.LêKhánh Hùng), trang Web dịch Anh – Việt, Pháp – Việt của TS.Đoàn Nguyên Hải Thậmchí cón có nhóm nghiên cứu kết hợp với bộ nhận dạng và tổng hợp tiếng nói để thực hiệnrobot phiên dịch tiếng nói giống như người thật (hệ MOBIL)
Nhìn chung tất cà các hệ dịch trên cũng chỉ dừng ở chổ dịch từ tiếng nước này sangtiếng nước khác thôi: Anh – Việt, Anh – Pháp, Việt – Anh, nhưng chưa có hệ dịch nào làdịch tự động nào dịch từ ngôn ngữ tự nhiên sang ngôn ngữ đặc tả của bài toán để làm đầuvào cho các hệ giải toán tự động mà những đặc tả đó phải do con người làm bằng tay.Trong đề tài này, em sẽ sử dụng kết quả của xử lý ngôn ngữ tự nhiên ứng dụng vào hệ dịch
tự động, nhưng không phải để xây dựng phần mềm dịch từ tiếng nước này sang tiếng nướckhác mà là xây dựng phần mềm dịch từ ngôn ngữ tự nhiên sang ngôn ngữ đặc tả để làmđầu vào cho các hệ giải toán tự động
Trang 212.3 Các bài toán trong dịch máy
Để thực hiện việc dịch văn bản ta cần phải giải quyết một số bài toán chính như sau:
– Tiền xử lý: tách câu, tách đoạn
– Phân tích hình thái ngôn ngữ: tách từ nhận diện tên riêng, từ viết tắt
– Phân tích từ pháp ngôn ngữ nguồn: gán nhãn từ loại
– Phân tích cú pháp ngôn ngữ nguồn: xây dựng cây cú pháp, quan hệ ngữ pháp
– Phân tích ngữ nghĩa ngôn ngữ nguồn: gán nhãn ngữ nghĩa cho các từ trong câu
– Chuyển đổi cây cú pháp từ ngôn ngữ nguồn sang ngôn ngữ đích
– Hình thành câu của ngôn ngữ đích từ cây cú pháp ngôn ngữ đích
Tiền xử lý
Khi đầu vào của hệ thống là một đoạn văn bản ta phải tiến hành xử lý sơ bộ văn bảnđầu vào rồi phân tích chúng thành các đơn vị rõ ràng để cho hệ thống chính dễ xử lý Bàitoán tiền xử lý sẽ bao gồm các bước sau:
– Trước hết xử lý sơ bộ văn bản đầu vào là làm sạch văn bản bằng cách xóa bỏ những
ký tự, những vùng không cần thiết cho hệ thống
– Mỗi đoạn văn bản đầu vào sẽ được bộ phận tiền xử lý nhận diện ra các chú thích,tiêu đề, đoạn văn trong văn bản số thứ tự và gạch đầu dòng
– Giai đoạn quan trọng và trọng tâm nhất của tiền xử lý là phân tích đoạn văn thànhcác câu Và hơn nữa là tách các câu thành các mệnh đề để giảm tính phức tạp cho hệthống cũng như chất lượng và tốc độ xử lý của hệ thống
Giai đoạn xử lý sơ bộ đoạn văn bản: đầu tiên đoạn văn bản đầu vào sẽ được
bộ phận tiền xử lý nhận diện các ký tự đặc biệt, các định dạng của văn bản sau đó xóa
bỏ chúng hoặc thay thế bằng ký tự định dạng riêng do hệ thống quy định hoặc lưu lạithông tin của chúng Sau đó văn bản gốc sẽ được đưa về dạng theo quy định của hệthống Dựa vào các định dạng riêng của hệ thống thì việc xử lý sẽ dể dàng hơn
Trang 22 Giai đoạn tách văn bản thành đoạn: Do sự đa dạng về trình bày và định
dạng văn bản của người dùng đặc biệt là trong văn bản dạng text Do đó, đây là một vấn
đề khó khăn trong xử lý tách văn bản thành từng đoạn
Đây là một khó khăn rất lớn cho hệ tiền xử lý vì không thể lường trước được hết tất
cả khả năng định dạng của người dùng
Ngoài ra trong các đoạn văn text thông thường cũng có nhiều cách trình bày khácnhau
VD: Đoạn văn có thể thụt vào ở dòng đầu tiên, có thể vừa thụt ở dòng đầu tiên và thụtdòng cả ở các dòng còn lại; đầu văn bản có thể đánh số 1, 2, 3, ; A, B, C, I, II, III, Cũng do sự đa dạng trong cách trình bày văn bản như vậy, việc phân tích kết cấu củavăn bản để phân tách đoạn gặp nhiều khó khăn và việc đưa ra những thông tin chính xác về
vị trí của câu cho hệ dịch chỉ có thể đạt được một kết quả tương đối
Để giảm bớt độ phức tạp bài toán gặp phải ta cần đưa ra quy ước trình bày văn bảnnhư sau: Do sự đa dạng trong cách trình bày văn bản cần dịch, mà cơ sở cùa tiền xử lý lạidựa trên cách trình bày nên cần phải có một quy cách trình bày chuẩn, để theo đó phân hệtiền xử lý có thể phân biệt các thành phần trong văn bản Quy cách này cũng cần phải được
sử dụng rộng rãi và tương đối linh hoạt để có thể phù hợp với một lượng lớn các văn bảncần dịch
Vì vậy, quy cách trình bày được đề nghị dựa trên cách trình bày văn bản tiếng Anhthông thường, được sử dụng nhiều trong các văn bản hành chính, sách báo, các tài liệu điệntử Đây chỉ là một cách trình bày phổ biến được sử dụng nhiều nên không thể bao hết tất
cả các cách trình bày khác nhau có thể có Tuy nhiên cách trình bày này dựa trên nhữngđặc điểm chung nhất của văn bản tiếng Anh để cố gắng tránh nhầm lẫn khi xử lý các loạivăn bản kiểu khác chuẩn
Ngoài ra, việc tách đoạn còn chú ý đến dấu hiệu bắt đầu đoạn như: viết hoa đầudòng, thụt đầu dòng và dấu hiệu kết thúc đoạn như dấu chấm câu
Trang 23Trong một đoạn văn bản tiếng Anh hay đa số các ngôn ngữ thông dụng khác, thôngthường thì người ta dùng dấu chấm (.), chấm than (!), chấm hỏi (?) và một số sấu khác nữa
để nhận biết kết thúc câu Ta gọi những dấu này là những dấu báo hiệu kết thúc câu haydấu chấm câu
Tuy nhiên do tính nhập nhằng của dấu báo hiệu kết thúc câu, nên việc xác định ranhgiới câu không còn đơn giản như chúng ta nghĩ
VD: dấu chấm, có thể biểu thị như một dấu chấm thập phân, một cụm từ viết tắt, sựkết thúc câu văn hoặc ngay cả từ viết tắt nằm ở cuối câu văn Một dấu chấm hỏi hay dấuchấm than có thể xuất hiện trong dấu ngoặc đơn, ngoặc kép hay cũng như ở cuối câu
Để nhận diện dấu chấm câu, người ta có thể dùng các heuristics hoặc các mô hình họcphức tạp hơn: mạng neural,
Phân tích hình thái ngôn ngữ
Nhận diện tên riêng: tên riêng chắc chắn là những chuỗi ký tự mà trong đó
ký tự đầu tiên phải được viết hoa, nhưng cũng có những chuỗi ký tự được viết hoa chữđầu (đầu câu, viết tắt, nhấn mạnh ) nhưng chúng không phải là tên riêng
Ví dụ ta xem xét các trường hợp sau: IBM, CNTT, I.T., Hanoi, Thanh, Lan, Readingis, trong đó tất cả không phải là tên riêng (như CNTT, Information Technology, Reading)
Vì vậy, bài toán nhận diện tên riêng nhằm giải quyết các nhập nhằng nói trên
Quan phân tích trên ta thấy: trong một văn bản, việc xác định đâu là tên riêng (có thểgọi là danh từ riêng) không chỉ đơn thuần là dựa vào viết hoa hay không viết hoa, mà phảidựa vào các thông tin ngữ cảnh chung quanh với nhiều cấp độ (hình thái, ngữ pháp và thậmchí cả ngữ nghĩa)
Để nhận diện được tên riêng, thì ngoài việc dựa trên hình thái bên ngoài (viết hoa,đầu dòng, tiêu đề ) ta thường xây dựng một danh sách các tên riêng có thể có (tên người,địa danh, ) và danh sách này được gọi là gazetteer (việc xây dựng danh sách như thế đòihỏi thời gian và công sức rất lớn) Đến nay, để giải quyết bài toán này, người ta sử dụngcác phương pháp sau:
Trang 24– Dựa trên các heuristics: chẳng hạn đi với các danh hiệu (title), các từ thường viếttắt, (như Dr., TS., ) là những từ riêng.
– Dựa trên danh sách các tên riêng (gazetteer): tên riêng có thể là tên của người, của tổchức, của địa danh, của sản phẩm, và hiện nay trên thế giới (có trên Internet) người ta
đã xây dựng một danh sách như thế
Bài toán nhận diện tên riêng có liên hệ chặt chẻ với bài toán nhận diện dấu chấm câu
Vì khi ta biết dấu chấm đó là thành phần thuộc tên riêng trong các trường hợp: Dr., TS., thì ta suy ra ngay dấu chấm đó không phải là dấu chấm câu
Việc nhận diện tên riêng rất cần thiết trong việc phân tích văn bản để gán nhãn từloại, phân tích cú pháp, phân tích ngữ nghĩa, dịch tự động, tóm tắt văn bản, hiểu văn bản,
Nhận diện ranh giới từ:
Nhận diện ranh giới từ (word boundary identification) hay còn gọi là phân đoạn từ(word segmentation) là một công đoạn tiên quyết đối với hầu hết các hệ xử lý ngôn ngữ tựnhiên Đối với các ngôn ngữ biến hình (tiếng Anh, tiếng Nga, ) thì ranh giới từ được xácđịnh chủ yếu bằng khoảng trắng hay dấu câu, còn đối với các ngôn ngữ đơn lập (tiếng Việt,tiếng Hoa, tiếng Thái, ) thì khoảng trắng không phải là tiêu chí nhận diện từ Muốn xácđịnh được ranh giới từ trong các ngôn ngữ này, chúng ta phải dựa vào các thông tin ở mứccao hơn, nhu hình thái, từ pháp, cú pháp, hoặc ngữ nghĩa hoặc và thậm chí cả ngữ dụng.Trong bài toán tách từ, chúng ta cần phải nắm vững các tiêu chí ranh giới từ tiếngViệt được xây dựng dựa trên cơ sở ngôn ngữ học Thật vậy, ta phải biết: xe đạp, cuốn sách,
vì sao, tìm ra, có phải là từ hay không để từ đó mới đưa cho máy cách nhận diện từ mộtcách tự động
Để nhận diện ranh giới từ, người ta đã sử dụng một số mô hình như: MM (MaximumMatching: forward / backward hay còn gọi LRMM: Left Right)
Theo phương pháp LRMM, để phân đoạn từ tiếng Việt trong một ngữ/câu , ta đi từtrái sang phải và chọn từ có nhiều âm nhất mà có mặt trong từ điển, rồi cứ tiếp tục cho từ
kế tiếp cho đến hết câu Với cách này, ta dễ dàng tách chính xác các ngữ/câu như: “nhân
Trang 25nhiên phương pháp này sẽ tách từ sai trong các trường hợp: “học sinh | học sinh | học”,
“một | ông | quan tài | giỏi”,
Có nhiều cách giải quyết vấn đề này, nhưng phương pháp WFST của Richard W.Sproat được xem là phương pháp hiệu quả nhất và độ chính xác của nó đến 95% khi ápdụng cho tiếng Hoa Nhưng khi hệ đưa ra nhiều kết quả có độ chính xác xấp xỉ như nhauthì việc chọn lời giải tối ưu là một vấn đề khó khăn Các tác giả Hoàng Kiếm, Đinh Điền đãđưa ra cách giải quyết cho vấn đề này là kết hợp mạng neural để tối ưu bài toán này
Phân tích từ pháp ngôn ngữ nguồn: gán nhãn từ loại
Đề xác định loại từ của từ một cách tự động, chủ yếu ta phải giải quyết trường hợpnhập nhằng từ loại vì một từ có nhiều từ loại, nhưng trong câu cụ thể nó chỉ có thể có một
từ loại đúng mà thôi Danh sách các từ loại có thể có của một ngôn ngữ được gọi là bộnhãn từ loại (POS-tagset) của ngôn ngữ đó
Để gán nhãn từ loại người ta có thể sử dụng nhiều phương pháp khác nhau như: môhình Markov ẩn (HMM), dựa trên bộ nhớ (memory-based), TBL, mạng Neural, cây quyếtđịnh, trong đó phương pháp TBL tỏ ra rất hiệu quả và được sử dụng phổ biến nhất hiệnnay Ngoài ra, phương pháp này còn có ưu thế là khả năng sửa sai trên đầu ra của hệ thốnggán nhãn từ loại cho tiếng Anh bằng giải thuật học fast-TBL tên là fTBL-toolkit được công
bố rộng rãi trên thế giới
Phân tích cú pháp ngôn ngữ nguồn
Gán nhãn ranh giới ngữ nghĩa: gán nhãn ranh giới ngữ nghĩa là bài toán
đánh dấu đâu là bắt đầu (dấu [) đâu là kết thúc (dấu ]) của các ngữ nghĩa (phrases), như:danh ngữ (Noun Phrase), động ngữ (Verb Phrase), dạng đánh dấu này còn gọi là dạngngoặc (brackets) Ví dụ: [I]NP [enterV [aDet newAdj bankN]NP]VP Nếu trong một ngữ khôngbao hàm một ngữ nào khác thì ngữ đó được gọi là ngữ cơ sở (base phrase) Việc xácđịnh rang giới ngữ phụ thuộc vào kết quả gán nhãn từ loại trước đó
Gán nhãn quan hệ ngữ pháp: gán nhãn quan hệ ngữ pháp (grammatical
relations) là công đoạn được thực hiện sau công đoạn gán nhãn từ loại và gán nhãn ranhgiới ngữ Ví dụ: trong câu “I enter an old bank”, sau khi qua hai phần gán nhãn trên tađược: [I]NP [enterV [anDet oldAdj bankN]NP]VP Bước tiếp theo là xác định một cách tường
Trang 26minh các quan hệ ngữ pháp có thể có giữa các thành phần cú pháp đã được xác định,chẳng hạn quan hệ S-V (Subject-Verb), V-O, như hình sau:
Hình 2.1 các quan hệ ngữ pháp
Gán nhãn cây cú pháp: gán nhãn cây cú pháp hay còn gọi là phân tích cú
pháp là nhằm phân tích một câu thành những thành phần văn phạm có liên quan vớinhau và được thể hiện thành cây cú pháp Khi nhập câu, ta phải phân thành các thànhphần như: chủ ngữ, vị ngữ; gán vai trò chủ từ/đối từ của động từ chính, bổ nghĩa,
Ví dụ: nhập câu “I enter the bank”, nó sẽ phân tích thành dạng như sau: [I]NP [enterV
[anDet oldAdj bankN]NP]VP và cây cú pháp tương ứng:
Hình 2.2: cây cú pháp của cây “I enter the bank”
Để phân tích cú pháp, ta có thể dùng cách tiếp cận dựa trên luật (rule-based) hoặc dựatrên thống kê từ kho ngữ liệu (corpus):
Với cách tiếp cận dựa trên luật, ta cần có bộ luật văn phạm và giải thuật phân tích cúpháp
A-ND-N
S
NPP