Chương trình không đòi hỏi nhiều về phân cứng, nhưng do phát triển dựa trên công nghệ .NET, hệ thống cần đáp ứng những yêu cầu tối thiểu của công nghệ này.
- CPU Pentum III 800Mhz - 128MB RAM
- Hệ điều hành WinME
- Đã cài đặt Dotnetframework v1.1
5.1.2 Ngôn ngữ lập trình và cơ sở dữ liệu
VTA (Vietnamese Text Analyzer) được xây dựng trên môi trường .NET bằng ngôn ngữ C#. Đây là ngôn ngữ có khả năng xử lí các cơ sở dữ liệu phẳng một cách nhanh chóng, ngoài ra các đối tượng cấu trúc dữ liệu có sẵn của C# như
DictionaryBase, HashTable, ArrayList… có cơ chế quản lý tìm kiếm và truy xuất phần tử tối ưu, linh hoạt, rất thích hợp cho các bài toán phân tích văn bản. Cơ sở dữ liệu của chương trình là cơ sở dữ liệu phẳng, chỉ gồm các file *.txt. Điều này cho phép dễ dàng truy nhập và sửa đổi thêm bớt dữ liệu.
Cơ sở dữ liệu chính của chương trình gồm các từ điển sau
- Từ điển thuật ngữ chính, bao gồm 83.768 mục từ trong đó có 60.299 mục từ có 2 tiếng đã được phân loại theo cường độ liên kết. (Dic.txt)
- Từ điển các từ viết tắt và các kí hiệu đo lường (Abb.txt)
- Từ điển và các từ định danh trong việc phân tích danh từ riêng (DicRole.txt)
5.1.3 Giao diện chƣơng trình
Với mục đích là chương trình thử nghiệm, dùng để đánh giá các kết quả đã phân tích trên, nên giao diện được thiết kế đơn giản. Đầu vào là các văn bản dạng thuần text, đầu ra là văn bản đã được đánh dấu XML hoặc thuần text. Đầu ra chính là đầu vào cho modul tổng hợp tiếng nói tiếp theo.
Hình 5. 2: Giao diện chính
5.2 Cấu trúc của chƣơng trình
Dựa trên mô hình chung của bài toán Phân tích văn bản, mô hình ứng dụng được xây dựng như sau:
Xác định cấu trúc văn bản: gồm modul phân tách đoạn và câu.
Việc phân tách đoạn và câu khá đơn giản. Trong modul này bao gồm cả việc xử lí nhập nhằng trong dấu câu như các dấu chấm (.) trong dãy số hoặc địa chỉ email.
Tiền xử lí: bao bồm các modul chuẩn hoá y-i và chuẩn hoá dấu thanh
Chuẩn hoá y- i và chuẩn hoá dấu thanh theo nguyên tắc đã phân tích trong chương 3.
Phân tích ngôn ngữ: bao gồm các modul nhận dạng tên riêng, xử lí từ
viết tắt, xử lí các con số và tách từ.
Nhận dạng tên riêng được chia thành hai modul nhỏ hơn là : nhận dạng tên riêng về tên người, địa danh; modul còn lại là nhận dạng tên cơ quan tổ chức. Qui
tắc nhận dạng đã được phân tích như trong chương 4.
Phần modul tách từ được xử lí như đã phân tích trong chương 4. Điểm đặc biệt là trong quá trình xử lí tách từ có nhận dạng từ đơn không phải là một từ, do vậy khi có một từ đơn như vậy nó được nhận dạng và xử lí là:
- Từ viết tắt - Các con số - Ngày tháng - Thời gian - Từ nước ngoài Hình 5.2 Mô hình ứng dụng 5.3 Các kết quả thực nghiệm 5.3.1 Kết quả phân tích
Các kết quả sau được thực nghiệm trên bộ ngữ liệu đã sưu tập được từ một số nguồn cho nhiều lĩnh vực khác nhau nhằm bao quát nhiều kiểu văn phong trình bày trong văn bản. Văn bản thô Tách đoạn và câu Tiền xử lí Xử lí tên riêng Tách từ Xử lí từ viết tắt và các kí hiệu Xử lí các con số Văn bản đã được xử lý Từ điển các từ viết tắt Từ điển thuật ngữ Xử lí từ đơn Từ điển từ định danh
Kết quả đánh giá dựa trên một số tiêu chí sau: - Kết quả tách từ
- Kết quả nhận dạng tên riêng
- Kết quả chuẩn hoá văn bản các từ viết tắt, chữ số, số điện thoại, ngày tháng để đưa về dạng phát âm được (LTS)
Câu đúng là câu được phân tích không có lỗi do thực hiện modul.
Bảng 5.1 Kết quả đánh giá phân tích văn bản
Thể loại Số câu phân tích Xử lí tên riêng Tách từ LTS Đúng Tỉ lệ (%) Đúng Tỉ lệ (%) Đúng Tỉ lệ (%) Khoa học-kỹ thuật 247 244 98,78 241 97,57 247 100 Văn học 313 310 99,04 301 96,17 310 100 Pháp luật 277 277 100 271 97,83 277 100 Kinh tế -Chính trị 426 425 99,77 410 96,24 421 98,82 Thể thao – Giải trí 357 354 99,16 343 96,08 349 97,76 Giáo dục 355 353 99,44 343 96,61 353 99,44 Test chung 445 441 99,10 431 96,85 436 97,98 Nhận xét:
- Phần tách từ được đánh giá theo số câu đúng nên tỉ lệ chính xác có giảm so với đánh giá trong chương 4. Nhìn chung tỉ lệ tách từ đúng là khá cao. Đây là một kết quả quan trọng nhất.
- Việc nhận dạng tên riêng là tốt với các tên tổ chức nhưng với tên người tên địa lí thường bị nhập nhằng ở đầu câu. Tỉ lệ nhận dạng đúng là cao, do số lượng tên riêng xuất hiện không nhiều.
- Phần LTS được đánh giá dựa trên nhận dạng đúng các con số, ngày tháng và chữ viết tắt... Các lỗi sai thường là do các từ viết tắt chưa được cập nhập vào trong từ điển . Tỉ lệ phần xử lí chữ số đúng là rất cao, kể cả trong các con số thể hiện tỉ số thi đấu thể thao và các con số trong các kí hiệu... Phần LTS không đưa ra cách phiên âm cho từ nước ngoài, nên trong khảo sát không đánh giá phần này. Các nhận dạng từ viết tắt chỉ dành cho các từ thuần Việt.
- Tỉ lệ chính xác đối với các thể loại phân bố khá đều nhau. Sự chênh lệch chỉ trong khoảng 1%..
5.3.2 Đánh giá tốc độ thực hiện
Để đánh giá về tốc độ thực hiện của các modul cũng như tốc độ chung của ứng dụng, khảo sát được thực hiện trên các loại văn bản khác nhau. Các phép thử được tiến hành 5 lần cho mỗi loại, sau đó lấy giá trị trung bình.
Vì cấu trúc chương trình, các modul chỉ được thực hiện khi có kết quả của modul trước, do vậy giá trị khảo sát được đo gián tiếp thông qua công thức
T(Mi)=T(M)-T(Mi-1) Trong đó :
T(Mi) : Thời gian thực hiện của modul thứ i T(M): Thời gian đến modul thứ i
T(Mi-1): Thời gian thực hiện đến modul thứ i-1
Khảo sát được thực hiện trên cấu hình tối thiểu (Pentum III 800MHz, 128MB RAM). Thời gian thực hiện modul tách từ bao gồm các việc thực hiện LTS (xử lí từ đơn : các con số, từ viết tắt...). Thời gian thực hiện toàn bộ ứng dụng cho một văn bản bao gồm cả thời gian thực hiện phần lưu trữ và hiển thị. Với các văn bản lớn thì khoảng thời gian này là khá lớn vì phải xử lí ghép các xâu có độ dài lớn.
Bảng 5.2 Kết quả tốc độ thực hiện
Thể loại Số câu Số âm
tiết Số từ
Thời gian thực hiện (ms) Tốc độ Tách đoan, câu Tiền xử lí Xử lí tên riêng Tách từ Toàn bộ Tách từ (ms/từ) Toàn bộ ms/âm tiết ms/từ Khoa học-kỹ thuật 247 3.152 2.287 15 48 38 247 406 0,108 0,129 0,178 Văn học 313 2.857 2.181 15 48 53 218 391 0,100 0,137 0,179 Pháp luật 277 3.243 2.099 16 48 53 227 391 0,108 0,121 0,186 Kinh tế -Chính trị 426 3.328 2.387 16 48 62 218 446 0,091 0,134 0,187 Thể thao – Giải trí 357 3.375 2.418 16 48 55 241 428 0,100 0,127 0,177 Giáo dục 355 3.094 2.109 16 48 47 212 387 0,100 0,125 0,183 Test chung 445 4.501 3.320 16 78 62 328 590 0,100 0,131 0,178
Nhận xét:
- Ta thấy rằng các chỉ số về tốc độ thực hiện chung của ứng dụng khá đồng đều trên các thể loại kể cả văn bản test chung: là 0,18ms/từ và tốc độ 0,13ms/âm tiết. Khi thực hiện với các văn bản lớn thì mất một số thời gian khá lớn vào việc lưu trữ xử lí, mặc dù tốc độ của riêng phần tách từ là khá nhỏ 0,1ms/từ.
- Tốc độ thực hiện chung phụ thuộc chủ yếu vào modul tách từ. (chiếm khoảng 60% tốc độ thực hiện chung). Hiện tại cấu trúc dữ liệu từ điển tìm kiếm trong khảo sát này chỉ là cấu trúc mảng và việc tìm kiếm sử dụng thuật toán tìm kiếm nhị phân. Do thuật toán tách từ chủ yếu dựa trên tìm kiếm từ điển, nếu như có cấu trúc dữ liệu thích hợp và thuật toán tìm kiếm tốt thì sẽ giảm được đáng kể thời gian của ứng dụng.
Với tốc độ thực hiện như trên, ứng dụng thực hiện cho một văn bản trung bình khoảng 2.000 từ chỉ mất 360ms , tức là chưa đến ½ giây!
KẾT LUẬN VÀ ĐỊNH HƢỚNG NGHIÊN CỨU
Các bài toán xử lí văn bản tiếng Việt luôn là các bài toán khó nhưng hay và hữu ích, đang được quan tâm và nghiên cứu nhiều ở nước ta hiện nay. Trong luận văn này, đã trình bày về những vấn đề cơ bản, những khó khăn thách thức, triển vọng phát triển cũng như phạm vi ứng dụng rộng rãi của bài toán phân tích văn bản tiếng Việt.
Các kết quả đạt được của luận văn :
- Tìm hiểu những đặc trưng ngôn ngữ cơ bản của tiếng Việt, từ đó đề xuất những phương pháp riêng, phù hợp hơn đối với một ứng dụng Phân tích văn bản tiếng Việt cho việc tổng hợp tiếng nói có chất lượng cao. Xây dựng mô hình và cài đặt thành công ứng dụng.
- Xây dựng được modul tách từ tiếng Việt là một thành phần quan trọng trong các bước đi đầu tiên của việc phân tích văn bản.
Hướng phát triển sắp tới của đề tài :
- Cải tiến các thuật toán đối sánh và cấu trúc dữ liệu để giảm thiểu thời gian sắp xếp, thời gian xử lí cũng như không gian lưu trữ.
- Nghiên cứu sâu về phân loại cường độ liên kết nhằm tìm ra sự phân loại hợp lí hơn.
- Cài đặt mô hình học máy trong việc cải thiện phân tích cho những câu có sự nhập nhằng đòi hỏi xử lí tri thức
- Cài đặt các module còn thiếu như : LTS cho các từ viết tắt cũng như các từ nước ngoài phiên âm theo tiếng Việt
- Tích hợp ứng dụng với phân tích ngôn điệu để tạo ra các hệ thống thật sự cho đầu vào xử lí tín hiệu số.
- Tham gia vào quá trình xây dựng các tài nguyên ngôn ngữ phục vụ cho ngành công nghệ thông tin và truyền thông cũng như các ngành khác liên quan.
TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Diệp Quang Ban, Hoàng Văn Thung (2004), Ngữ pháp tiếng Việt 1, NXB Giáo Dục, Hà Nội.
[2] Diệp Quang Ban (2004), Ngữ pháp tiếng Việt 2, NXB Giáo Dục, Hà Nội. [3]Nguyễn Tài Cẩn (1998), Ngữ pháp tiếng Việt (Tiếng - Từ ghép - Đoản Ngữ),
NXB Đại học Quốc gia Hà Nội.
[4] Mai Ngọc Chừ, Vũ Đức Nghiệu, Hoàng Ngọc Phiến, (2005) Cơ sở ngôn ngữ học và tiếng Việt, NXB Giáo Dục, Hà Nội
[5]Nguyễn Thị Minh Huyền, Vũ Xuân Lương, Lê Hồng Phương (2003), Sử dụng bộ gán nhãn từ loại xác suất QTAG cho văn bản tiếng Việt - Kỉ yếu hội thảo khoa học quốc gia lần thứ nhất về nghiên cứu, phát triển và ứng dụng công nghệ thông tin và truyền thông (ICT.rda 2003), Nhà xuất bản Khoa học và kĩ thuật, Hà nội. [6] Đoàn Thiện Thuật(1999), Ngữ âm tiếng Việt, NXB Đại học Quốc Gia Hà Nội. [7] Đỗ Xuân Thảo, Lê Hữu Tỉnh(1997), Giáo trình tiếng Việt 2, NXB Giáo Dục, Hà Nội.
Tiếng Anh
[8] Chen, K. J., & Liu, S. H. (1992), Word identification for Mandarin Chinese sentences. Proceedings of the Fifteenth International Conference on Computational Linguistics, Nantes: COLING-92
[9] Dinh Dien, Hoang Kiem, Nguyen Van Toan, Vietnamese Word Segmentation, Proceedings of NLPRS’01 ,Tokyo, Japan, 11/2001.
[10] Dinh Dien , Pham Phu Hoi, Ngo Quoc Hung (2004), Some Lexical Issues in Building Electronic VietnameseDictionary
[11] Chih Hao Tsai, MMSEG: A Word Identification System for Mandarin Chinese Text Based on Two Variants of the Maximum Matching Algorithm, [On- line]. Available: http://technology.chtsai.org/wordlist/
[12] Jianfeng Gao, Mu Li, and Chang-Ning Huan (2003), Improved source-chanel models for Chinese word segmentation.
[14] Thiery Dutoit (1997), High quality text to speech synthesis: an overview, Faculte Polytechnique de Món, TCTS Lab.
[15]. Xuedong Huang, Alex Acero, Hsiao Wuen Hon (2001), Spoken Language Procesing, Prentice-Hall Internation (UK) Limited , London.