Tải bản đầy đủ (.pdf) (79 trang)

Nhận dạng một số ngôn ngữ tự nhiên

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.29 MB, 79 trang )



1

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ



Trần Bá Ánh



NHẬN DẠNG
MỘT SỐ NGÔN NGỮ TỰ NHIÊN


Ngành: Công nghệ Thông tin
Mã số : 1.01.10

LUẬN VĂN THẠC SĨ

NGƯỜI HƯỚNG DẪN KHOA HỌC
TS. Hồ Văn Canh




Hà Nội – 2007



4
MỤC LỤC
Trang
LỜI CAM ĐOAN 2
LỜI CẢM ƠN 3
MỤC LỤC 4
MỞ ĐẦU 6
CHƢƠNG 1: TỔNG QUAN VỀ NHẬN DẠNG 9
1.1. Tổng quan về nhận dạng 9
1.1.1. Không gian biểu diễn đối tượng, không gian diễn dịch 9
1.1.2. Mô hình và bản chất của quá trình nhận dạng 10
1.1.2.1. Mô hình 10
1.1.2.2. Bản chất của quá trình nhận dạng 12
1.2. Nhận dạng dựa trên phân hoạch không gian. 13
1.2.1. Phân hoạch không gian 13
1.2.2. Hàm phân lớp hay hàm ra quyết định 13
1.2.3. Nhận dạng thống kê 15
1.2.4. Một số thuật toán nhận dạng tiêu biểu trong tự học 16
1.2.4.1. Thuật toán dựa vào khoảng cách lớn nhất 16
1.2.4.2. Thuật toán K trung bình (giả sử có K lớp) 17
1.2.4.3. Thuật toán ISODATA 18
1.3. Nhận dạng theo cấu trúc 19
1.3.1. Biểu diễn định tính 19
1.3.2. Phương pháp ra quyết định dựa vào cấu trúc 19
1.3.2.1. Một số khái niệm 19
1.3.2.2. Phương pháp nhận dạng 20
1.4. Mạng nơron nhân tạo và nhận dạng theo mạng nơron 21
1.4.1. Bộ não và Nơron sinh học 21
1.4.2. Mô hình mạng nơron 24
1.4.2.1. Mô hình nơron nhân tạo 24

1.4.2.2. Mạng nơron 25
1.5. Kết luận 26
CHƢƠNG 2. VAI TRÒ CỦA PHƢƠNG PHÁP THỐNG KÊ TOÁN HỌC
ĐỐI VỚI NHẬN DẠNG NGÔN NGỮ TỰ NHIÊN 27
2.1. Bài toán 27


5
2.2. Nhận dạng có thày 28
2.3. Nhận dạng không có thày 33
2.3.1. Đặt bài toán 33
2.3.2. Giải bài toán trường hợp cho trước số k 34
2.3.3. Trường hợp số k chưa cho biết trước 37
2.4. Mô hình xích Markov 38
CHƢƠNG 3. KỸ THUẬT NHẬN DẠNG MỘT SỐ NGÔN NGỮ TỰ NHIÊN
ANH, PHÁP, ĐỨC 42
3.1. Bài toán 42
3.2. Thuật toán 1 42
3.2.1. Phần off-line 42
3.2.2. Phần on-line 46
3.2.3. Một số ví dụ 48
3.3. Thuật toán 2 50
3.3.1. Phần off-line. 50
3.3.2. Phần on-line 61
3.3.3. Một số ví dụ 63
CHƢƠNG 4. KẾT QUẢ ĐẠT ĐƢỢC 75
4.1. Kết quả đạt đƣợc 75
4.1.1. Kết quả nhận dạng theo thuật toán 1. 75
4.1.2. Kết quả nhận dạng theo thuật toán 2 75
4.2. So sánh giữa 2 thuật toán 75

4.3. Mã nguồn của chƣơng trình 76
KẾT LUẬN 79
TÀI LIỆU THAM KHẢO 80


6



MỞ ĐẦU

Nhận dạng (pattern of Recognition) 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ý, nhận dạng ngôn ngữ v.v. Em đƣợc biết kỹ thuật nhận dạng ngôn ngữ tự nhiên
bằng công cụ xác suất thống kê đƣợc rất nhiều tác giả trên thế giới nghiên cứu và
hiện nay họ đã có phiên bản về nhận dạng một số ngôn ngữ tự nhiên đƣợc giới thiệu
bán, trên mạng Internet với giá 99,9 USD. Tuy nhiên nếu chúng ta mua về dùng thì
cũng chỉ nhƣ là một hộp đen. Trong khi đó, hiện nay ở nƣớc ta, em thấy chƣa có
nhiều công trình nghiên cứu đã có kết quả tốt.
Chẳng hạn [3], chỉ phân biệt đƣợc ngôn ngữ Tiếng Anh với dãy giả ngẫu nhiên
(tức là văn bản không đọc đƣợc) mà độ dài mẫu cũng phải trên 100 ký tự.
Ngày nay lý thuyết này đang phát triển rất mạnh. Đối với an ninh Quốc gia
việc ứng dụng lý thuyết nhận dạng vào giải quyết nhiều bài toán rất quan trọng nhƣ
nhận dạng ngôn ngữ, nhận dạng tiếng nói, nhận dạng chữ ký v.v. Trong khuôn khổ
bản luận văn, tôi tập trung nghiên cứu, giải quyết bài toán nhận dạng ngôn ngữ
(Recognition of language) tự nhiên dựa vào phân hoạch không gian (hay 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ên cứu đó là
Tiếng Anh, Tiếng Pháp và Tiếng Đức. Việc chọn 3 ngôn ngữ này làm mục tiêu
nghiên cứu là vì các lý do sau đây:
1. Ngôn ngữ Anh, Pháp, Đức là 3 loại ngôn ngữ nổi tiếng nhất hiện nay, nó

đƣợc sử dụng rộng rãi.
2. Qua gần 10 năm kiểm soát thƣ điện tử trên hệ thống của cung cấp dịch vụ:
VDC, FPT, NetNam, Saigonpostel, cho thấy Tiếng Anh đƣợc sử dụng đến
75%, Tiếng Pháp và Đức sử dụng đến 8%. Nhƣ vậy các thứ tiếng này chiếm
tỷ lệ khá cao so với tất cả các ngôn ngữ đƣợc sử dụng trên 4 hệ thống nêu
trên.


7
3. Ba thứ tiếng này dễ tìm kiếm, đã đƣợc nhiều ngƣời Việt Nam quen biết nên
dễ tiếp cận với chúng. Mặc dù vậy, nếu hoàn chỉnh việc nghiên cứu 3 ngôn
ngữ này, chúng ta có thể dễ dàng mở rộng sang các ngôn ngữ khác kể cả
ngôn ngữ Phi La Tinh.
Hơn nữa, nhận dạng ngôn ngữ tự nhiên là một vấn đề không thể thiếu trong
việc phân tích mật mã hiện đại. Ngoài ra, nó còn góp phần giảm thiểu nhân lực và
chi phí trong việc kiểm soát thông tin trên mạng Internet của các cơ quan chức
năng. Đó chính là ý nghĩa thực tiễn của đề tài.
 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 và Tiếng Đức.
3. 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ớp chƣa biết.
4. Nghiên cứu xây dựng các ƣớc lƣợng tham số của xích Markov ứng với 3 ngôn
ngữ tự nhiên nêu trên.
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
+ Nghiên cứu tài liệu (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ậu
quả;
 Cấu trúc luận văn đƣợc chia thành 4 chƣơng:


8
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: "Vai trò của phƣơng pháp thống kê toán học đối với nhận dạng
ngôn ngữ tự nhiên", 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.
Chƣơng 3: "Kỹ thuật nhận dạng một số ngôn ngữ tự nhiên Anh, Pháp, Đức",
trình bày thuật toán nhận dạng 3 ngôn ngữ Anh, Pháp và Đức.
Chƣơng 4: "Kết quả đạt đƣợc", đƣa ra kết quả nhận dạng với các mẫu ngôn ngữ
Anh, Pháp và Đức


9
CHƢƠNG 1: 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ình nà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ững quy 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ó thày hay học có thày (supervised learning); trong trƣờng
hợp ngƣợc lại là học không có thày (non supervised 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. Nhƣ trong trƣờng hợp xử lý ảnh, ảnh sau khi đƣợc tăng

cƣờng để nâng cao chất lƣợng, phân vùng và trích chọn đặc tính đƣợc biểu diễn bởi
các đặc trƣng nhƣ biên, miền đồng nhất,v.v. Ngƣời ta thƣờng phân các đặc trƣng
này theo các loại nhƣ: đặc trƣng tôpô, đặc trƣng hình học và đặc trƣng chức năng.
Việc biểu diễn ảnh theo đặc trƣng nào phụ thuộc vào ứng dụng tiếp theo. Ở đây ta
đƣa ra một cách hình thức việc biểu diễn các đối tƣợng. Giả sử đối tƣợng X (ảnh,
chữ viết, dấu vân tay,v.v.); đƣợc biểu diễn bởi n thành phần (n đặc trƣng):
X={x
1,
x
2
, ,x
n
}; mỗi x
i
biểu diễn một đặc tính. Không gian biểu diễn đối tƣợng
thƣờng gọi tắt là không gian đối tƣợng X và đƣợc ký hiệu là:
X ={X
1
,X
2
, ,X
n
}
trong đó mỗi X
i
biểu diễn một đối tƣợng. Không gian này có thể là vô hạn. Để tiện
xem xé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ận dạ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:
={w
1
,w
2
, ,w
k
} với w
i
, i =1,2, ,k là tên các đối tƣợng:


10
Quá trình nhận dạng đối tƣợng là một ánh xạ f: X   với f là tập các quy
luật để định một phần tử trong X ứng với một phần tử . Nếu tập các quy luật và
tập tên các đối tƣợng là biết trƣớc nhƣ trong nhận dạng chữ viết (có 26 lớp từ A đến
Z), ngƣời ta gọi là nhận dạng có thày. Trƣờng hợp thứ hai là nhận dạng không có
thày. Đƣơng nhiên trong trƣờng hợp này việc nhận dạng có khó khăn hơn.
1.1.2. Mô hình và bản chất của quá trình nhận dạng
1.1.2.1. Mô hình
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: [1]
- Họ mô tả theo tham số;
- Họ mô tả theo cấu trúc.
Cá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.
 Mô hình tham số sử dụng một vectơ để đặc tả đối tƣợng, mỗi phần tử của
vectơ mô tả một đặc tính của đối tƣợng. Thí dụ nhƣ trong các đặc trƣng chức năng,

ngƣời ta sử dụng các hàm cơ sở trực giao để biểu diễn. Và nhƣ vậy ảnh sẽ đƣợc
biểu diễn bởi một chuỗi các hàm trực giao. Giả sử C là đƣờng bao của ảnh và C(i,j)
là điểm thứ i trên đƣờng bao, i = 1, 2, , N (đƣờng bao gồm N điểm)
Giả sử tiếp:




N
1i
i0
x
N
1
x





N
1i
i0
y
N
1
y

là tọa độ tâm điểm. Nhƣ vậy, momen trung tâm bậc p, q của đƣờng bao là




N
1i
q
0i
p
0ipq
)yy()xx(
N
1
(1.1)


11
Vectơ tham số trong trƣờng hợp này chính là các momen
ij

với i=1,2, ,p
và j=1,2, ,q. Còn trong các đặc trƣng hình học ngƣời ta hay sử dụng chu tuyến,
đƣờng bao, diện tích và tỉ lệ T = 4

S/p
2
, với S là diện tích, p là chu tuyến.
Việc lựa chọn phƣơng pháp biểu diễn sẽ làm đơn giản cách xây dựng. Tuy
nhiên, việc lựa chọn đặc trƣng nào là hoàn toàn phụ thuộc vào ứng dụng. Thí dụ,
trong nhận dạng chữ, các tham số là các dấu hiệu:
- Số điểm chạc ba, chạc tƣ,
- Số điểm chu trình,

- Số điểm ngoặt,
- Số điểm kết thúc,
Chẳng hạn với chữ t


có 4 điểm kết thúc, 1 điểm chạc tƣ,
 Mô hình cấu trúc: Cách tiếp cận của mô hình này dựa vào việc mô tả đối
tƣợng nhờ một số khái niệm biểu thị các đối tƣợng cơ sở trong ngôn ngữ tự nhiên.
Để mô tả đối tƣợng, ngƣời ta dùng một số dạng nguyên thủy nhƣ đoạn thẳng,
cung,.v.v Chẳng hạn, một hình chữ nhật đƣợc định nghĩa gồm 4 đoạn thẳng vuông
góc với nhau từng đôi một. Trong mô hình này ngƣời ta sử dụng một bộ kí hiệu kết
thúc V
t
, một bộ kí hiệu không kết thúc gọi là V
n
. Ngoài ra, có dùng một tập các luật
sản xuất để mô tả cách xây dựng các đối tƣợng phù hợp dựa trên các đối tƣợng đơn
giản hơn các đối tƣợng nguyên thủy (tập V
t
). Trong cách tiếp cận này, ta chấp nhận
một khẳng định là: Cấu trúc một dạng là kết quả của việc áp dụng luật sản xuất theo
những nguyên tắc xác định từ một dạng gốc bắt đầu. Một cách hình thức, ta có thể
coi mô hình này tƣơng đƣơng một văn phạm G = (V
t
, V
n
, P, S) với:
- V
t
là bộ kí hiệu kết thúc,

- V
n
là bộ kí hiệu không kết thúc,
- P là luật sản xuất,
- S là dạng (kí hiệu bắt đầu)


12
1.1.2.2. Bản chất của quá trình nhận dạng
Quá trình nhận dạng gồm 3 giai đoạn chính [1]:
- 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ình
học.
- Học nhận dạng.
Khi mô hình biểu diễn đã đƣợc xác định, có thể là định lƣợng (mô hình tham
số) hay định tính (mô hình cấu trúc), quá trình nhận dạng chuyển sang giai đoạn
học. Học là giai đoạn rất quan trọng. Thao tác học nhằm cải thiện, điều chỉnh việc
phân hoạch tập đối tƣợng thành các lớp.
Việc nhận dạng là tìm ra quy luật và các thuật toán để có thể gán đối tƣợng
vào một lớp hay nói một cách khác gán cho đối tƣợng một tên.
Học có thày (supervised learning)
Kỹ thuật phân loại nhờ kiến thức biết trƣớc gọi là học có thày. Đặc điểm cơ
bản của kỹ thuật này là ngƣời ta có một thƣ viện các mẫu chuẩn. Mẫu cần nhận
dạng sẽ đƣợc đem đối sánh với mẫu chuẩn để xem nó thuộc loại nào. Thí dụ nhƣ
trong một ảnh viễn thám, ngƣời ta muốn phân biệt một cánh đồng lúa, một cánh
rừng hay một vùng đất hoang mà đã có các miêu tả về các đối tƣợng đó. Vấn đề chủ
yếu là thiết kế một hệ thống để có thể đối sánh đối tƣợng trong ảnh với mẫu chuẩn
và quyết định gán cho chúng vào một lớp. Việc đối sánh nhờ vào các thủ tục ra
quyết định dựa trên một công cụ gọi là hàm phân lớp hay hàm ra quyết định. Hàm
này sẽ đƣợc đề cập trong phần sau.

Học không có thày (unsupervised learning)
Kỹ thuật học này tự định ra các lớp khác nhau và xác định các tham số đặc
trƣng cho từng lớp. Học không có thày đƣơng nhiên là khó khăn hơn. Một mặt, do
số lớp không đƣợc biết trƣớc, mặt khác những đặc trƣng của các lớp cũng không
biết trƣớc. Kỹ thuật này nhằm tiến hành mọi cách gộp nhóm có thể và chọn lựa cách
tốt nhất. Bắt đầu từ tập dữ liệu, nhiều thủ tục xử lý khác nhau nhằm phân lớp và
nâng cấp dần để đƣợc một phƣơng án phân loại.


13
Nhìn chung, dù là mô hình nào và kỹ thuật nhận dạng ra sao, một hệ thống
nhận dạng có thể tóm tắt theo sơ đồ sau:








1.2. Nhận dạng dựa trên phân hoạch không gian.
Trong kỹ thuật này, các đối tƣợng nhận dạng là các đối tƣợng định lƣợng,
mỗi đối tƣợng đƣợc biểu diễn bởi một vectơ nhiều chiều. Trƣớc tiên, ta xem xét một
số khái niệm nhƣ: phân hoạch không gian, hàm phân biệt sau đó sẽ đi vào một số kỹ
thuật cụ thể.
1.2.1. Phân hoạch không gian
Giả sử không gian đối tƣợng X đƣợc định nghĩa: X={X
i
,i=1,2, ,m}, X
i


một vectơ. 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 C
i
,
C
i

X nếu: C
i


C
j
=

với i

j và

C
i
= X
Nói chung, đây là trƣờng hợp lý tƣởng: tập X tách đƣợc hoàn toàn. Trong
thực tế, thƣờng gặp không gian biểu diễn tách đƣợc từng phần. Nhƣ vậy phân loại là
dựa vào việc xây dựng một ánh xạ f: X P. Công cụ xây dựng ánh xạ này là các
hàm phân biệt (Descriminant functions).
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ác hàm phân lớp. Lớp hàm này đƣợc định nghĩa nhƣ sau:

nếu  i ≠ k, g
k
(X)>g
i
(X) thì ta quyết định Xlớp k.
Trích chọn đặc tính
biểu diễn đối tƣợng
Phân lớp
ra quyết định
Đánh
giá






Khối nhận dạng
Quá trình tiền xử lý
Hình 1.1. Sơ đồ tổng quát một hệ nhận dạng.

×