Nhận dạng là một lý thuyết toán học có nhiều ứng dụng trong thực tiễn, như nhận dạng tiếng nói, nhận dạng hình ảnh, nhận dạng chữ ký, phân loại ngôn ngữ , xây dựng tiêu chuẩn bản rõ ứng dụng trong phân tích các bản mã v.v..Thông qua mạng Internet, tôi được biết trên thế giới cũng như trong nước đã có nhiều nhà nghiên cứu về vấn đề này và đã có những phần mềm áp dụng cho nhiều lĩnh vực khác nhau: phần mềm nhận dạng tiếng việt, phần mềm nhận dạng vân tay, phần mềm kiểm soát Email trên hệ thống Internet…
Trang 1ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Trang 2Công trình được hoàn thành tại : Trường Đại học Công nghệ Thông tin và Truyền thông - Đại học Thái Nguyên
Người hướng dẫn khoa học: TS Hồ Văn Canh
Phản biện 1:
Phản biện 2:
Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn họp tại:
Trường Đại học Công nghệ Thông tin và Truyền thông - Đại học Thái NguyênVào hồi …… giờ ngày … tháng … năm 2017
Có thể tìm hiểu luận văn tại trung tâm học liệu Đại học Thái Nguyên
Và thư viện Trường : Trường Đại học Công nghệ Thông tin và Truyền thông
Trang 3MỞ ĐẦU
Nhận dạng là một lý thuyết toán học có nhiều ứng dụng trong thực tiễn, như nhậndạng tiếng nói, nhận dạng hình ảnh, nhận dạng chữ ký, phân loại ngôn ngữ , xây dựngtiêu chuẩn bản rõ ứng dụng trong phân tích các bản mã v.v Thông qua mạng Internet,tôi được biết trên thế giới cũng như trong nước đã có nhiều nhà nghiên cứu về vấn đềnày và đã có những phần mềm áp dụng cho nhiều lĩnh vực khác nhau: phần mềm nhậndạng tiếng việt, phần mềm nhận dạng vân tay, phần mềm kiểm soát E-mail trên hệthống Internet…
Nhận dạng chữ là bài toán rất hữu ích, quen thuộc được ứng dụng nhiều trong thực
tế đặc biệt là trong lĩnh vực nhận dạng và phân loại văn bản vì thế đã thu hút nhiều tácgiả quan tâm nghiên cứu bằng các phương pháp nhận dạng khác nhau: logic mờ, giảithuật di truyền, mô hình xác suất thống kê, mô hình mạng nơ ron Đã có rất nhiều côngtrình nghiên cứu thực hiện việc nhận dạng, phân loại văn bản La Tinh đã đạt tỷ lệ chínhxác cao, tuy nhiên các ứng dụng đó cũng chưa thể đáp ứng hoàn toàn nhu cầu của người
sử dụng nên ngày nay người ta vẫn tiếp tục nghiên cứu những phương pháp nhận dạngtốt hơn hướng đến dùng cho các thiết bị di động, và các bài toán thời gian thực Sau khitìm hiểu về sự tiến bộ của công nghệ nhận dạng chữ La Tinh cũng như các tính năng cơbản của các phần mềm nhận dạng chữ, được sự tư vấn của giáo viên hướng dẫn, tôi đã
lựa chọn được một hướng nghiên cứu thiết thực với đề tài: "Nhận dạng văn bản một số
ngôn ngữ La Tinh".
Trong khuôn khổ của luận văn, tôi tập trung nghiên cứu, giải quyết bài toán nhậndạng ngôn ngữ (Recognition of language) tự nhiên dựa vào phân hoạch không gian(nhận dạng theo thống kê toán học), trong đó một lớp ngôn ngữ tiêu biểu được nghiêncứu đó là ngôn ngữ La Tinh như tiếng Anh, tiếng Pháp, v.v
Việc nghiên cứu này là quan trọng và cần thiết, kết quả của nghiên cứu có khảnăng mở rộng ứng dụng trong việc xây dựng chương trình kiểm soát E-mail đặc biệt làchương trình phân tích bản mã tự động Cả hai chương trình này đang rất cần và thiếu
trong vấn đề an ninh quốc gia; trong khoa học, giúp ta nắm được kiến thức tốt và dễ
dàng hơn trong việc chuyển sang nghiên cứu các vấn đề khác trong lĩnh vực nhận dạng
Nội dung của luận văn và các vấn đề cần giải quyết
1 Nghiên cứu quá trình Markov hữu hạn trạng thái
2 Nghiên cứu và xây dựng mô hình Markov ứng với các ngôn ngữ tự nhiên như:Tiếng Anh, Tiếng Pháp, Tiếng Đức, Tiếng Tây Ban Nha
Trang 43 Giải bài toán phân lớp các đối tượng cho trường hợp số lớp đã biết trước và số lớpchưa biết.
4 Nghiên cứu xây dựng các ước lượng tham số của xích Markov
5 Ứng dụng bài toán kiểm định giả thiết thống kê (testing of statistic hypothesis) đểgiải quyết bài toán nhận dạng ngôn ngữ
6 Lập trình thử nghiệm
Phương pháp nghiên cứu
Phương pháp cơ bản là nghiên cứu ứng dụng các phương pháp toán học, nhận dạng và
xử lý ngôn ngữ, nghiên cứu khảo sát lý thuyết và xây dựng các thuật toán, lập trìnhkiểm thử thuật toán và đánh giá Cụ thể:
- Tìm hiểu và cập nhật các kiến thức và phương pháp cơ bản về nhận dạng ngôn ngữ tựnhiên, trí tuệ nhân tạo, khảo sát lý thuyết các mô hình, công cụ toán học, thiết kế và xâydựng thuật toán, kỹ thuật tổ chức dữ liệu và ngôn ngữ lập trình
- Tìm đọc các bài báo, các công trình nghiên cứu khoa học liên quan đến chủ đề nghiêncứu trong nước và trên thế giới Cụ thể là các tài liệu kỹ thuật thống kê toán học các quátrình Markov; các quy luật ngôn ngữ như là một quá trình ngẫu nhiên dừng, không hậuquả; các kỹ thuật nhận dạng ngôn ngữ tự nhiên Hình thành được tổng quan tương đốiđầy đủ về tình hình nghiên cứu liên quan đến chủ đề hiện nay trên thế giới
- Lập trình cài đặt một số kỹ thuật nhận dạng ngôn ngữ La Tinh và đánh giá kết quả
Cấu trúc luận văn được chia thành 3 chương:
Chương 1: " Tổng quan về nhận dạng ", trình bày tổng quan các hướng nghiên cứu
hiện nay về nhận dạng
Chương 2: " Kỹ thuật nhận dạng bằng thống kê ", trình bày các ứng dụng kỹ thuật
thống kê Toán học để nhận dạng các ngôn ngữ tự nhiên và tìm hiểu đặc trưngcủa một số ngôn ngữ tự nhiên tiêu biểu
Chương 3: " Thực Nghiệm ", trình bày thuật toán nhận dạng văn bản La Tinh và đưa ra
kết quả với một số mẫu ngôn ngữ điển hình
Trang 5CHƯƠNG I TỔNG QUAN VỀ NHẬN DẠNG
1.1 Tổng quan về nhận dạng
Nhận dạng là quá trình phân loại các đối tượng được biểu diễn theo một mô hìnhnào đó và gán cho chúng vào một lớp (gán cho đối tượng một tên gọi) dựa theo nhữngquy luật và các mẫu chuẩn Quá trình nhận dạng dựa vào những mẫu học biết trước gọi
là nhận dạng có giám sát hay học có giám sát (supervised learning); trong trường hợpngược lại là nhận dạng không có giám sát hay học không có giám sát (unsupervised
learning)
1.1.1 Không gian biểu diễn đối tượng, không gian diễn dịch
- Không gian biểu diễn đối tượng:
Các đối tượng khi quan sát hay thu thập được, thường được biểu diễn bởi tập cácđặc trưng hay đặc tính Giả sử đối tượng X được biểu diễn bởi n thành phần (n đặctrưng): X={x1,x2, ,xn}; mỗi xi biểu diễn một đặc tính Không gian biểu diễn đối tượngthường gọi tắt là không gian đối tượng X và được ký hiệu là: X ={X1,X2, ,Xn}
trong đó mỗi Xi biểu diễn một đối tượng Không gian này có thể là vô hạn Để tiện xemxét chúng ta chỉ xét tập X là hữu hạn
- Không gian diễn dịch:
Không gian diễn dịch là tập các tên gọi của đối tượng Kết thúc quá trình nhậndạng ta xác định được tên gọi cho các đối tượng trong tập không gian đối tượng hay nói
là đã nhận dạng được đối tượng Một cách hình thức gọi là tập tên đối tượng:
={w1,w2, ,wk} với wi, i =1,2, ,k là tên các đối tượng
1.1.2 Mô hình và bản chất của quá trình nhận dạng
Việc chọn lựa một quá trình nhận dạng có liên quan mật thiết đến kiểu mô tả màngười ta sử dụng để đặc tả đối tượng Trong nhận dạng, người ta phân chia làm hai họlớn
- Họ mô tả theo tham số;
- Họ mô tả theo cấu trúc
Trang 6Cách mô tả được lựa chọn sẽ xác định mô hình của đối tượng Như vậy, chúng ta sẽ có
hai loại mô hình: mô hình theo tham số và mô hình cấu trúc
Quá trình nhận dạng gồm 3 giai đoạn chính :
- Lựa chọn mô hình biểu diễn đối tượng,
- Lựa chọn luật ra quyết định (phương pháp nhận dạng) và suy diễn quá trìnhhọc
- Học nhận dạng
1.2 Nhận dạng dựa trên phân hoạch không gian
1.2.1 Phân hoạch không gian
Giả sử không gian đối tượng X được định nghĩa: X={Xi,i=1,2, ,m}, Xi là mộtvectơ Người ta nói P là một phân hoạch của không gian X thành các lớp Ci, CiX nếu:
Ci Cj = với ij và Ci = X
1.2.2 Hàm phân lớp hay hàm ra quyết định
Để phân đối tượng vào các lớp, ta phải xác định số lớp và ranh giới giữa các lớp
đó Hàm phân lớp hay hàm phân biệt là một công cụ rất quan trọng Gọi {g} là lớp cáchàm phân lớp Lớp hàm này được định nghĩa như sau:
2 2
1.2.4 Một số thuật toán nhận dạng tiêu biểu trong tự học
Thực tế có nhiều thuật toán nhận dạng học không có thầy Ở đây, chúng ta xem xét
ba thuật toán hay được sử dụng: Thuật toán nhận dạng dựa vào khoảng cách lớn nhất,
Trang 7thuật toán K-trung bình (K mean) và thuật toán ISODATA Các thuật toán này có bướctiếp nối, cải tiến từ thuật toán này qua thuật toán khác.
1.3 Nhận dạng theo cấu trúc
1.3.1 Biểu diễn định tính
Ngoài cách biểu diễn theo định lượng như đã mô tả ở trên, tồn tại nhiều kiểu đốitượng mang tính định tính Trong cách biểu diễn này, người ta quan tâm đến các dạng
và mối quan hệ giữa chúng Giả thiết rằng mỗi đối tượng được biểu diễn bởi một dãy ký
tự Các đặc tính biểu diễn bởi cùng một số ký tự Phương pháp nhận dạng ở đây là nhậndạng lôgic, dựa vào hàm phân biệt là hàm Bool Cách nhận dạng là nhận dạng các từ cócùng độ dài
1.3.2 Phương pháp ra quyết định dựa vào cấu trúc
Các đối tượng cần nhận dạng theo phương pháp này được biểu diễn bởi một câu trongngôn ngữ L(G) Khi đó thao tác phân lớp chính là xem xét một đối tượng có thuộc vănphạm L(G) không? Nói cách khác nó được sinh ra bởi các luật của văn phạm G không?Như vậy sự phân lớp là theo cách tiếp cận cấu trúc đòi hỏi phải xác định:
- Tập Vt chung cho mọi đối tượng
- Các quy tắc sinh V để sản sinh ra một câu và chúng khác nhau đối với mỗi lớp
- Quá trình học với các câu biểu diễn các đối tượng mẫu l nhằm xác định vănphạm G
- Quá trình ra quyết định: Xác định một đối tượng X được biểu diễn một câu lx.Nếu lx nhận biết bởi ngôn ngữ L(Gx) thì ta nói rằng X Ck
1.4 Nhận dạng bằng mạng nơron
1.4.1 Bộ não và Nơron sinh học
Các nhà nghiên cứu sinh học về bộ não cho ta thấy rằng các nơron là đơn vị cơ sở đảm nhiệm những chức năng xử lý nhất định trong hệ thần kinh, bao gồm não, tủy sống, các dây thần kinh Mỗi nơron có phần thân với nhân bên trong một đầu thần kinh ra và một
hệ thống dạng cây các dây thần kinh vào Đường kính của nhân tế bào thường chỉ là
Trang 810-4m Trục dây thần kinh ra cũng có thể phân nhánh theo dạng cây để nối các dây thần kinh vào hoặc trực tiếp với nhân tế bào các nơron khác thông qua các khớp nối
1.4.2 Mô hình mạng nơron
Mạng nơron nhân tạo bao gồm các nút được nối với nhau bởi các liên kết nơron.Mỗi liên kết kèm theo một trọng số nào đó, đặc trưng cho hoạt tính kích hoạt/ức chếgiữa các nơron Có thể xem các trọng số là phương tiện để lưu giữ thông tin dài hạntrong mạng nơron và nhiệm vụ của quá trình huấn luyện mạng là cập nhật các trọng sốkhi có thêm các thông tin về các mẫu mô phỏng hoàn toàn phù hợp môi trường đangxem xét.Trong mạng, một số nơron được nối với môi trường bên ngoài như các đầu ra,đầu vào
1.5 Kết luận
Có rất nhiều vấn đề nhận dạng khác mà chúng ta chưa đề cập đến như nhận dạng tín hiệu, nhận dạng tiếng nói, v.v Các vấn đề này nằm trong lý thuyết nhận dạng Mục đích của chương này nhằm cung cấp một cách nhìn tổng quan về nhận dạng Các hướng nghiên cứu khác nhau hiện nay trên thế giới về lĩnh vực nhận dạng nói chung.
Trang 9CHƯƠNG II
KỸ THUẬT NHẬN DẠNG BẰNG THỐNG KÊ
Kỹ thuật nhận dạng bằng thống kê có nhiều ý nghĩa trong nghiên cứu và thực tiễn
Nó không những được ứng dụng trong nhận dạng ngôn ngữ mà còn đối với hình ảnh,
âm thanh, tiếng nói v.v Trong phạm vi luận văn này, tôi trình bày một ứng dụng quantrọng Đó là ứng dụng kỹ thuật thống kê để nhận dạng các ngôn ngữ tự nhiên (lớp vănbản la tinh) Đây là ứng dụng có ý nghĩa trong thực tiễn, đặc biệt đối với an ninh quốcphòng
Ưu việt chính của phương pháp thống kê là nó rất hiển nhiên, đơn giản và không tốn kém nhiều cho việc đầu tư công nghệ phần cứng Sau đây là nội dung mà tôi đã tìm hiểu
Như vậy rõ ràng là ứng với mỗi x R n, có tồn tại một i (i=1,2, ,k) sao cho x A i
Bây giờ giả sử rằng: Chúng ta có một vectơ x R n, thực tế thì x A inhưng ta lạigán cho x A j với i≠j, ta nói rằng, trong trường hợp này chúng ta đã mắc một sai lầm(hay một tổn thất) Có nhiều cách phân hoạch không gian R nthành k tập con A1,
A2, , Ak sao cho thỏa mãn 3 điều kiện vừa nêu ở trên Vấn đề đặt ra là hãy xây dựngmột phân hoạch sao cho về trung bình giá trị tổn thất trong quyết định là bé nhất Đểgiải quyết bài toán này bằng lý thuyết thống kê toán học, chúng ta chia bài toán thànhhai trường hợp.Trường hợp 1 (nhận dạng có giám sát) và trường hợp 2 (nhận dạngkhông có giám sát)
Trang 10Để việc tìm hiểu của ta có ý nghĩa, giả thiết rằng Pi(.) liên tục tuyệt đối đối với độ
đo nào đó Độ đo này là _ hữu hạn, tức là nó phải thỏa mãn điều kiện sau đây:Giả sử A là một _ đại số nhỏ nhất đối với R n Khi đó, nếu với mỗi AA
mà ( A ) 0 Pi( A ) 0
2.3 Nhận dạng không có giám sát
Trong thực hành, nhiều trường hợp chúng ta chưa biết trước được mẫu X được lấy
từ tập hợp có phân bố xác suất đã biết nào Trong trường hợp này chúng ta không thể sửdụng lý thuyết trên Vậy làm thế nào để phân hoạch tập hợp đã cho thành k lớp sao chotổn thất của quyết định là tối ưu? Trường hợp này, phức tạp hơn trường hợp nhận dạng
có giám sát (supervised learning)
2.3.1 Đặt bài toán
Giả sử G là một tập hợp hữu hạn và khác rỗng,
G={X1, X2, , Xn} n2 trong đóX R m , i 1,2, , n
Hãy phân hoạch G thành k tập con G1, G2, ,Gk Nghĩa là hãy chia G thành k phần
G1, G2, ,Gk thỏa mãn các điều kiện:
sao cho tổn thất trong phân lớp là bé nhất
Ở đây có hai trường hợp xảy ra
i) Trường hợp số lớp k cho trước
ii) Trường hợp số lớp k chưa biết
Trang 112.3.2 Giải bài toán trường hợp cho trước số k
Tư tưởng của phương pháp giải là tìm cách ghép các đối tượng có quan hệ gầnnhau nhất vào chung một lớp Như vậy để giải quyết bài toán chúng ta cần xây dựng độ
đo của sự gần gũi
2.3.3 Trường hợp số k chưa cho biết trước
Trong trường hợp này, chúng ta xây dựng thuật toán xác định số k Sau khi tìmđược số k, bài toán trở về trường hợp 2.3.2
2.4 Mô hình xích Markov
Mô hình xích Markov (gọi tắt là Markov) hay xích ngôn ngữ với giả định Markov làmột dạng mô hình xác suất thống kê nhận dạng mẫu được áp dụng phổ biến trong xử lýngôn ngữ Mô hình xích Markov của ngôn ngữ là mô hình hữu hạn trạng thái có tínhdừng (ergodic)
Mô hình Markov của ngôn ngữ được định nghĩa bằng tập 5 tham số
(m, A, {Yt}, P, r)
Trong đó
mZ+: là số các trạng thái mô hình Markov có thể nhận
A={a1, a2, ,am}: là không gian các trạng thái
{Yt} tT: là quá trình ngẫu nhiên dừng TZ={0, 1, }
P: là ma trận các xác suất chuyển trạng thái
r: là cấp của xích Markov
2.5 Đặc trưng của ngôn ngữ tự nhiên
Tần số bộ đôi móc xích của Tiếng Anh, Tiếng Pháp, Tiếng Đức, Tiếng Tây Ban Nha.
Tần số bộ đôi móc xích là số lần xuất hiện của các cặp ký tự liên tiếp nhau trong
đó ký tự sau của cặp đôi trước là ký tự trước của cặp đôi sau
Trang 15Bảng 2.4 Bảng tần số bộ đôi móc xích của Tiếng Tây Ban Nha (tính trên 10.000 ký tự)
Trang 16CHƯƠNG III THỰC NGHIỆM 3.1 Bài toán nhận dạng văn bản La Tinh
Cho một mẫu văn bản x nào đó thuộc lớp ngôn ngữ La Tinh cụ thể là một trong 5loại ngôn ngữ Tiếng Anh, Tiếng Pháp,Tiếng Đức, Tiếng Tây Ban Nha hoặc dãy ngẫunhiên (chữ cái hoặc chuyển sang mã cơ số 16) nhưng chưa biết x thuộc loại nào trong 5loại nêu trên Hãy xác định xem x thuộc ngôn ngữ cụ thể nào
Ta ký hiệu A0 là lớp đại diện cho ngôn ngữ không đọc được, A1 đại diện cho lớpngôn ngữ tiếng Anh, A2 đại diện cho lớp ngôn ngữ tiếng Pháp và A3 đại diện cho lớpngôn ngữ tiếng Đức, A5 đại diện cho lớp ngôn ngữ tiếng Tây Ban Nha Vậy bài toán làhãy xác định xem x thuộc lớp đại diện nào trong 5 lớp vừa nêu ? (ở đây số k đã đượcbiết trước là k=5)
3.2 Thuật toán dựa trên xích Markov cấp 1 hữu hạn trạng thái
3.2.1 Xây dựng cơ sở dữ liệu để máy học
Xây dựng ước lượng ma trận các xác suất chuyển trạng thái P của mô hình Markov ứngvới các ngôn ngữ tự nhiên tiếng Đức, Pháp, Tây Ban Nha và Anh Trong ước lượngnày, tác giả chọn độ dài mẫu xấp xỉ 10000 ký tự bỏ qua dấu gián cách từ, dấu chấm (.),dấu phẩy (,), , không phân biệt chữ in hoa và chữ in thường Nó là tổng hợp các loạivăn bản thuộc các chuyên ngành khác nhau Tính tần số bộ đôi móc xích của dãy X, tức
là ta tính số lần xuất hiện các cặp chữ cái la tinh của dãy đó