1. Trang chủ
  2. » Công Nghệ Thông Tin

MỘT SỐ THUẬT TOÁN NHẬN DẠNG VÀ CHUYỂN MÃ TIẾNG VIỆT pptx

4 576 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 279,75 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

PHẠM XUÂN TÍCH Bộ môn Khoa học máy tính Khoa Công nghệ thông tin Trường Đại học Giao thông Vận tải Tóm tắt: Hiện nay, tiếng Việt có hơn 40 loại bảng mã khác nhau được sử dụng để mã hóa

Trang 1

MỘT SỐ THUẬT TOÁN NHẬN DẠNG

VÀ CHUYỂN MÃ TIẾNG VIỆT

ThS PHẠM XUÂN TÍCH

Bộ môn Khoa học máy tính Khoa Công nghệ thông tin Trường Đại học Giao thông Vận tải

Tóm tắt: Hiện nay, tiếng Việt có hơn 40 loại bảng mã khác nhau được sử dụng để mã hóa

các loại văn bản: từ trang web, các dữ liệu điện tử đến các cơ sở dữ iệu… Việc nhận biết bảng

mã và chuyển đổi giữa các bảng mã tiếng Việt là rất cần thiết, không chỉ mang lại lợi ích cho

các lập trình viên mà cho cả nhân viên văn phòng, nhân viên xử lý văn bản Công việc này cũng

tạo tiền đề cho các việc xử lý tiếp theo trong tiếng Việt như: kiểm tra phát hiện lỗi chính tả, tóm

tắt văn bản, làm từ điển, thậm chí cả dịch máy và xử lý ngôn ngữ tự nhiên Trong khuôn khổ bài

báo này, chúng tôi đưa ra một thuật toán nhận dạng mã để dễ dàng chuyển đổi mã tiếng Việt mà

các chương trình hiện nay hầu hết chỉ chuyển mã biết trước mà không nhận dạng được các bảng

mã, cũng như không xử lý được các văn bản tiếng Việt có nhiều loại mã trong cùng một văn bản

Summary: In recent years, there are over 40 Vietnamese codes for encoding on all types of

data from websites, databases to documents, and many others Codes recognization and

conversion have so many advantages for not only programmers but office clients and secretaries

as well It makes premises for advanced Vietnamese processing such as: spell checking, syntact

correcting, document abstracting, dictionary constructing, even machine translating and natural

language processing

In this article, we present an algorithrm which can recognize many kinds of Vietnamese

codes to make them easy to convert, while almost other programs can only convert some known

codes and cannot recognize codes or process Vietnamese documents having more than one code

CNTT-CB

I MÃ HOÁ TIẾNG VIỆT TRONG CÔNG NGHỆ THÔNG TIN

Công nghệ thông tin là một ngành non trẻ ở nước ta, với khoảng 20 năm phát triển nhưng

nó cũng đang là một ngành có nhiều đóng góp đối với nền kinh tế đất nước Với chi phí rất ít

nhưng nó đem lại lợi nhuận cao, là một hướng đi tắt đón đầu cho các nước đang phát triển bắt

kịp với các nước khác Không những thế công nghệ thông tin làm hiện đại hóa, công nghiệp hóa

không chỉ nền sản xuất xã hội, mà còn làm thay đổi bộ mặt đời sống văn hóa tinh thần của toàn

xã hội

Việc đưa tiếng Việt vào máy tính không chỉ để soạn thảo văn bản mà còn xây dựng phát

triển các phần mềm có giao diện tiếng Việt, thậm chí xử lý tiếng Việt Dẫn tới việc xuất hiện

các bảng mã tiếng Việt, cho phép soạn thảo và xử lý chúng Hiện nay, với trên 40 bảng mã khác

nhau được sử dụng, nên việc khai thác tài liệu, xử lý dữ liệu rất phức tạp Các bảng mã tự bản

thân cũng phức tạp bởi có loại 1 byte có loại 2 byte; có loại tổ hợp nguyên âm và dấu lại có loại

dựng sẵn cho cả nguyên âm lẫn dấu Nhưng về cơ bản các phụ âm, nguyên âm không dấu đều

sử dụng theo mã ASCII Sự khác nhau chỉ là nguyên âm có dấu

Trang 2

Ví dụ: Bảng mã Unicode dựng sẵn cho các nguyên âm và nguyên âm có dấu [2.]

CNTT-CB

II NGÔN NGỮ HÌNH THỨC VÀ OTOMAT HỮU HẠN CÓ LỐI RA

Ở đây, chúng tôi không trình bày các thuật ngữ trong ngôn ngữ hình thức gồm: bảng chữ cái, từ, xâu ký tự, ngôn ngữ hình thức, văn phạm và phân loại của Chomsky Chúng tôi chỉ giới thiệu sơ lược về văn phạm chính quy, otomat hữu hạn Đặc biệt otomat hữu hạn có lối ra, qua đó xây dựng giải thuật cho bài toán đặt ra ở mục trước:

Định nghĩa 1: Văn phạm hay văn phạm sinh là một bộ bốn G = Σ ( , V, , P σ ) với ,

và Σ ∩ trong đó:

Σ ≠ ∅

≠ ∅

- Bảng chữ cái chính hay bảng chữ cái các từ của văn phạm,

Σ

V - Bảng chữ cái phụ hay bảng chữ cái hỗ trợ của văn phạm,

σ ∈ V được gọi là tiên đề hay ký hiệu xuất phát của văn phạm,

Trang 3

{ ϕ ψ ϕ + ψ ∗ }

P ( V) , ( V) , ( V) - Tập các quy tắc sinh

của văn phạm [1.]

Định nghĩa 2: Văn phạm sao cho tất cả các quy tắc sinh thuộc một trong

hai dạng: , được gọi là văn phạm chính quy hay văn

phạm otomat [1]

= Σ

Σ

A aB, A a víi A,B V, a

Định nghĩa 3: Otomat hữu hạn có lối ra là một bộ sáu A = ( , , , , , ) S X Y s0 ϕ ψ trong đó S,

X, Y là các tập hữu hạn được gọi một cách tương ứng là tập trạng thái, bảng chữ cái vào và

bảng chữ cái ra của otomat A [1]

0

sS được gọi là trạng thái khởi đầu

ϕ- hàm chuyển trạng thái là ánh xạ từ tích Đề các S X × vào S

ψ - hàm ra là ánh xạ từ tích Đề các S X × vào Y

Ví dụ 4: Cho otomat có lối ra A = ( { s s s0, ,1 2} { , , , , 0,1 , , a b c } { } ϕ ψ ) với hàm chuyển và

hàm ra như sau:

Hàm chuyển trạng thái ϕ

CNTT-CB

0

Hàm chuyển trạng thái ψ

0

a 0 0 1

b 1 0 1

c 0 1 0 Mỗi một văn phạm chính quy đều tồn tại một nguồn và một otomat hữu hạn tương đương

với nó và ngược lại Ngoài ra, người ta đã chứng minh được lớp ngôn ngữ chính quy đóng đối

với các phép toán hợp, tích ghép, lấy phần bù, giao và phép đồng cấu

III THUẬT TOÁN NHẬN DẠNG VÀ CHUYỂN MÃ

Sự phức tạp ở nhận dạng mã tiếng Việt ở chỗ có rất nhiều mã nếu trong bảng mã này thì là

chữ này nhưng trong bảng mã kia lại là chữ khác Hay nói cách khác là có rất nhiều ký tự ở các

bảng mã khác nhau có cùng một mã ASCII Ví dụ ký tự “ỏ” trong mã UNICODE dựng sẵn và

ký tự “á” trong TCVN3 đều có mã là 0x00e1; hay ký tự “ơ” trong mã VNIWIN và ký tự “ụ”

trong TCVN3 cũng có chung một mã là 0x00f4 Do đó, để nhận dạng một văn bản có nhiều

bảng mã khác nhau, chúng ta phải xây dựng văn phạm chính quy, cho phép phân tích từ vựng

của các từ trong bảng mã đó Vì mọi văn phạm chính quy đều có một otomat tương đương Nên

ta có thể dùng otomat đó để phân tích từ vựng và trên cơ sở otomat có lối ra ta sẽ chuyển mã

sang các mã đích theo mong muốn Khi đó, thuật toán nhận dạng và chuyển mã được tiến hành

theo 2 bước:

Bước 1 Xây dựng otomat có lối ra để phân tích từ vựng và chuyển mã

Ta xây dựng otomat A = (S, X, Y, s0, ϕ, ψ) trong đó:

S – tập trạng thái là tập các mã tiếng Việt đang được dùng: BKHCM1, BKHCM2,

BKED60, TCVN1, TCVN2, TCVN3, VNIDOS, VNIWIN, UNICODE1, UNICODE2 …

Trang 4

(khoảng 40 bảng mã)

X – Tập tất cả các mã tiếng Việt của các ký tự của tất cả các mã có thể

Y – Là một tập mã nhất định (chẳng hạn TCVN3) làm bảng mã trung gian chuyển đổi về

nó trước khi chuyển sang mã đích

ϕ - Là hàm chuyển dựa vào các mã trong tập X thuộc vào bảng mã nào của tập S ta xây dựng tương ứng để nhận biết mã từ S X × vào S định hướng để nhận các mã tiếp theo

ψ - Là hàm ra, sau khi đã nhận biết được bảng mã của ký tự dựa vào ϕ ta chuyển sang một

mã trung gian hoặc mã đích luôn

Bước 2 Viết thuật toán chuyển mã có độ phức tạp tuyến tính

Khi đã có otomat, thuật toán đơn giản chỉ hoạt động biến đổi trạng thái theo otomat đã được xây dựng với cấu trúc dữ liệu là 2 bảng phi và xi thay cho 2 hàm để tra cứu tính toán cho nhanh

function recognize_and_convert(Phi,Xi:Array,source:string):string Begin

destination:= “”;

state:=recognize();

for i:=1 to length(source) do begin

state:= Phi[source[i]][state];

destination:=concat(destination,Xi[state]);

end return destination;

CNTT-CB

end;

Vì mọi otomat không tất định ta đều xây dựng được một otomat tất định tương đương mà việc phân tích dựa trên otomat tất định là tuyến tính Do đó, ta luôn xây dựng được một thuật toán tuyến tính để nhận dạng và chuyển đổi mã tiếng Việt

IV KẾT LUẬN

Việc xây dựng thuật toán nhận dạng được các loại mã tiếng Việt khác nhau và chuyển đổi

mã tiếng Việt về một bảng mã thống nhất, đã giúp cho việc xử lý tiếng Việt đơn giản hơn, xây dựng các thư viện xử lý tiếng Việt trở lên dễ dàng hơn chẳng hạn các hàm so sánh tiếng Việt nhận biết được các từ bỏ dấu ở các nguyên âm khác nhau là giống nhau Ngoài ra, nó cũng hỗ trợ cho việc sắp xếp từ điển, làm từ điển dịch máy Hơn nữa, dùng lý thuyết ngôn ngữ hình thức còn có thể bóc tách dữ liệu từ các dữ liệu có định dạng thẻ như rtf, html, xml…, phân tích từ vựng, phân tích cú pháp từ đó ta có thể kiểm tra lỗi chính tả, rút gọn văn bản, tóm tắt dữ liệu, thậm chí là dịch máy và xử lý ngôn ngữ tự nhiên Đây là các hướng mở cho tác giả và các đồng nghiệp nghiên cứu tiếp theo

Tài liệu tham khảo

[1] Đặng Huy Ruận (2005), Lý thuyết ngôn ngữ hình thức và otomat, NXB Đại học Quốc gia Hà Nội

[2] Bảng mã UNICODE Tiếng Việt, Viện Công Nghệ Thông Tin – Trung tâm Khoa học tự nhiên và Công nghệ Quốc gia♦

Ngày đăng: 10/07/2014, 13:21

HÌNH ẢNH LIÊN QUAN

Bảng chữ cái ra của otomat A [1]. - MỘT SỐ THUẬT TOÁN NHẬN DẠNG VÀ CHUYỂN MÃ TIẾNG VIỆT pptx
Bảng ch ữ cái ra của otomat A [1] (Trang 3)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w