TRƯỜNG ĐẠI HỌC CÔNG NGHỆTRẦN PHƯƠNG NAM NHẬN DẠNG THỰC THỂ TÊN CHO NGÔN NGỮ NÓI TIẾNG VIỆT VÀ ỨNG DỤNG TRONG TƯƠNG TÁC VỚI ĐIỆN THOẠI THÔNG MINH LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN H
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
TRẦN PHƯƠNG NAM
NHẬN DẠNG THỰC THỂ TÊN CHO NGÔN NGỮ NÓI TIẾNG VIỆT VÀ ỨNG DỤNG TRONG TƯƠNG
TÁC VỚI ĐIỆN THOẠI THÔNG MINH
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
HÀ NỘI – 2015
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
TRẦN PHƯƠNG NAM
NHẬN DẠNG THỰC THỂ TÊN CHO NGÔN NGỮ NÓI TIẾNG VIỆT VÀ ỨNG DỤNG TRONG TƯƠNG
TÁC VỚI ĐIỆN THOẠI THÔNG MINH
Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60 48 01 04
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS PHAN XUÂN HIẾU
HÀ NỘI - 2015
Trang 3Lời cam đoan
Tôi xin cam đoan báo cáo luận văn này được viết bởi tôi dưới sự hướng dẫn của cán bộ hướng dẫn khoa học, thầy giáo, TS Phan Xuân Hiếu Tất cả các kết quả đạt được trong luận văn này là quá trình tìm hiểu, nghiên cứu của riêng tôi Trong toàn bộ nội dung của luận văn, những điều được trình bày là của cá nhân tôi hoặc là được tổng hợp từ nhiều nguồn tài liệu khác Các tài liệu tham khảo đều có xuất xứ rõ ràng và được trích dẫn hợp pháp
Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của mình
Hà Nội, ngày …… tháng … năm 2015
Người cam đoan
Trần Phương Nam
Trang 4Mục lục
Lời cam đoan i
Mục lục ii
Bảng từ viết tắt v
Danh sách bảng biểu vi
Danh sách hình vẽ vii
Lời cảm ơn viii
MỞ ĐẦU Error! Bookmark not defined Chương 1 Nhận dạng tiếng nói và nhận dạng thực thể tên cho ngôn ngữ nói Error!
Bookmark not defined.
1.1 Sự phát triển và ứng dụng của công nghệ nhận dạng tiếng nói Error!
Bookmark not defined.
1.2 Nhận dạng thực thể tên Error! Bookmark not defined 1.2.1 Tại sao cần nhận dạng thực thể tên? Error! Bookmark not defined 1.2.2 Định nghĩa thực thể tên và nhận dạng thực thể tênError! Bookmark not
defined.
1.3 Bài toán nhận dạng thực thể tên cho ngôn ngữ nói tiếng Việt và những khó khăn
thách thức Error! Bookmark not defined 1.3.1 Bài toán nhận dạng thực thể tên cho ngôn ngữ nói tiếng Việt Error!
Bookmark not defined.
1.3.2 Những khó khăn và thách thức đặc thù của bài toán và dữ liệu Error!
Bookmark not defined.
1.4 Ứng dụng của nhận dạng thực thể tên Error! Bookmark not defined.
1.5 Ý nghĩa của bài toán nhận dạng thực thể tên cho ngôn ngữ nói tiếng Việt ứng
dụng trong tương tác với điện thoại thông minh Error! Bookmark not defined Chương 2 Các cách tiếp cận và phương pháp nhận dạng thực thể tên Error!
Bookmark not defined.
2.1 Các hướng tiếp cận và các kỹ thuật chính áp dụng trong nhận dạng thực thể tên
Error! Bookmark not defined 2.2 Cơ sở lý thuyết phương pháp học máy Maximum EntropyError! Bookmark not defined.
Trang 52.3 Cơ sở lý thuyết mô hình Conditional Random FieldsError! Bookmark not
defined.
2.4 Các phương pháp đánh giá nhận hệ thống dạng thực thể tênError! Bookmark
not defined.
2.4.1 Độ chính xác, độ hồi tưởng, độ đo F Error! Bookmark not defined 2.4.2 Giá trị trung bình Macro, Micro và độ đo F Error! Bookmark not defined 2.4.3 Kiểm tra đánh giá chéo k – tập (k-fold cross-validation)Error! Bookmark
not defined.
2.5 Các phương pháp lặp và tối ưu số trong ước lượng tham số mô hình Error!
Bookmark not defined.
2.5.1 Thuật toán Generalized Iterative Scaling (GIS)Error! Bookmark not defined.
2.5.2 Thuật toán Improved Iterative Scaling (IIS) Error! Bookmark not defined 2.5.3 Các kỹ thuật tối ưu số Error! Bookmark not defined.
2.6 Một số nghiên cứu liên quan với bài toán nhận dạng thực thể tên cho ngôn ngữ
nói tiếng Việt Error! Bookmark not defined 2.6.1 Các nghiên cứu liên quan Error! Bookmark not defined.
2.6.2 Tìm hiểu Google Now – một phần mềm có xử lý cho ngôn ngữ nói tiếng
Việt trên các điện thoại thông minh Error! Bookmark not defined.
Chương 3 Nhận dạng thực thể tên cho ngôn ngữ nói tiếng Việt sử dụng phương pháp
học máy Error! Bookmark not defined 3.1 Hệ thống trợ lý ảo cho người Việt trên điện thoại thông minhError! Bookmark
not defined.
3.2 Nhận dạng thực thể tên cho ngôn ngữ nói tiếng ViệtError! Bookmark not defined.
3.2.1 Mô hình hóa bài toán nhận dạng thực thể tên ngôn ngữ nói tiếng Việt ứng
dụng trong tương tác với điện thoại thông minh Error! Bookmark not defined 3.2.2 Xây dựng tập dữ liệu huấn luyện Error! Bookmark not defined 3.3 Xây dựng mô hình dựa trên phương pháp tiếp cận học máyError! Bookmark
not defined.
3.3.1 Xây dựng mô hình cực đại hóa Entropy Error! Bookmark not defined 3.3.2 Lựa chọn thuộc tính Error! Bookmark not defined 3.4 Huấn luyện mô hình Error! Bookmark not defined.
Trang 63.4.1 Quá trình huấn luyện mô hình nhận dạng thực thể tênError! Bookmark not defined.
3.4.2 Các tham số huấn luyện khi sử dụng mô hình MaxEntError! Bookmark not defined.
3.4.3 Các tham số huấn luyện khi sử dụng mô hình CRFsError! Bookmark not
defined.
Chương 4 Thực nghiệm và đánh giá mô hình nhận dạng thực thể tên cho ngôn ngữ nói
tiếng Việt Error! Bookmark not defined 4.1 Dữ liệu thực nghiệm và cài đặt Error! Bookmark not defined 4.2 Kết quả thực nghiệm và phân tích Error! Bookmark not defined 4.2.1 Kết quả thực nghiệm sử dụng MaxEnt Error! Bookmark not defined 4.2.2 Kết quả thực nghiệm sử dụng CRFs Error! Bookmark not defined 4.3 Hệ điều hành Android trên các thiết bị thông minhError! Bookmark not defined.
4.4 Kết quả ứng dụng mô hình nhận dạng thực thể tên cho ngôn ngữ nói tiếng Việt
trên điện thoại thông minh chạy hệ điều hành AndroidError! Bookmark not defined.
Chương 5 Kết luận Error! Bookmark not defined 5.1 Những vấn đề giải quyết được trong luận văn nàyError! Bookmark not defined.
5.2 Công việc nghiên cứu trong tương lai Error! Bookmark not defined Danh mục công trình khoa học của tác giả liên quan đến luận vănError! Bookmark not defined.
Tài liệu tham khảo 1
Trang 7Bảng từ viết tắt
Từ hoặc cụm từ Từ viết tắt Từ tiếng Anh
Điện thoại thông minh ĐTTM Smartphones
Thiết bị thông minh TBTM Smart device
Phần mềm trợ lý ảo cho người Việt VAV Virtual Assistant for Vietnamese Cực đại hóa Entropy MaxEnt Maximum Entropy
Trường điều kiện ngẫu nhiên CRFs Conditional Random Fields
Trang 8Danh sách bảng biểu
Bảng 3.1: Một số mẫu câu lệnh ngôn ngữ nói mà ứng dụng phần mềm trợ lý ảo cho
người Việt (VAV) có thể xử lý Error! Bookmark not defined.
Bảng 3.2: Các loại thực thể tên áp dụng trong phạm vi tương tác với điện thoại thông
minh Error! Bookmark not defined Bảng 3.3: Một số mẫu câu lệnh ngôn ngữ nói tự nhiên với gán nhãn thực thể tênError!
Bookmark not defined.
Bảng 3.4: Ví dụ gán nhãn cho các câu theo định dạng IOB2Error! Bookmark not
defined.
Bảng 3.5: Các mẫu ngữ cảnh từ vựng theo N-Grams Error! Bookmark not defined Bảng 3.6: Ví dụ về mẫu ngữ cảnh được sinh khi sử dụng N-GramsError! Bookmark
not defined.
Bảng 3.7: Các mẫu ngữ cảnh khi sử dụng biểu thức chính quyError! Bookmark not
defined.
Trang 9Bảng 3.8: Các mẫu ngữ cảnh khi sử dụng từ điển Error! Bookmark not defined.
Bảng 3.9: Ví dụ các mẫu ngữ cảnh khi tìm kiếm trong từ điển cho tên đường phố
Error! Bookmark not defined Bảng 3.10: Ví dụ các mẫu ngữ cảnh khi tìm kiếm trong từ điển cho kiểu ngày Error!
Bookmark not defined.
Bảng 3.11: Các thuộc tính sử dụng kết hợp giữa biểu thức chính quy và từ điển Error!
Bookmark not defined.
Bảng 3.12: Ví dụ các mẫu ngữ cảnh khi kết hợp sử dụng cả biểu thức chính quy và từ
điển Error! Bookmark not defined Bảng 3.13: Danh sách các mẫu biểu thức chính quy Error! Bookmark not defined Bảng 3.14: Các tham số trong quá trình huấn luyện bằng MaxEntError! Bookmark not defined.
Bảng 3.15: Các tham số trong quá trình huấn luyện bằng CRFsError! Bookmark not
defined.
Bảng 4.1: Đánh giá theo Chunk của fold cho kết quả tốt nhất bằng MaxEnt Error!
Bookmark not defined.
Bảng 4.2: Kết quả đánh giá chéo của cả 4 lần thực nghiệm bằng MaxEnt Error!
Bookmark not defined.
Bảng 4.3: Đánh giá theo Chunk của fold cho kết quả tốt nhất CRFsError! Bookmark
not defined.
Bảng 4.4: Kết quả đánh giá chéo của cả 4 lần thực nghiệm bằng CRFs Error!
Bookmark not defined.
Danh sách hình vẽ
Hình 1.1: Quá trình nhận dạng tiếng nói tự động chuyển sang dạng văn bản ngôn ngữ
nói Error! Bookmark not defined.
Trang 10Hình 1.2: Quá trình phân tích để hiểu văn bản ngôn ngữ nóiError! Bookmark not
defined.
Hình 1.3: Quá trình nhận dạng thực thể tên sử dụng mô hình đã được huấn luyện
Error! Bookmark not defined Hình 3.1: Mô hình tổng thể hệ thống của VAV Error! Bookmark not defined Hình 3.2: Số lớp thực thể được chú thích trên toàn bộ tập dữ liệu đầu vào Error!
Bookmark not defined.
Hình 3.3: Dữ liệu cho từng nhóm tính năng Error! Bookmark not defined Hình 3.4: Dữ liệu từ điển cho từng phục vụ tìm kiếm các thực thể tên Error!
Bookmark not defined.
Hình 3.5: Quá trình huấn luyện tạo ra mô hình nhận dạng thực thể tên Error!
Bookmark not defined.
Hình 4.1: Kết quả trung bình của độ chính xác, độ hồi tưởng, độ đo F1 của 4 lần kiểm
tra đánh giá chéo các kết quả thực nghiệm dùng MaxEntError! Bookmark not defined.
Hình 4.2: Kết quả trung bình của độ chính xác, độ hồi tưởng, độ đo F1 của 4 lần kiểm
tra đánh giá chéo các kết quả thực nghiệm dùng CRFs Error! Bookmark not defined Hình 4.3: Tính năng hỏi ngày âm lịch Error! Bookmark not defined Hình 4.4: Tính năng tìm đường đi từ vị trí A tới vị trí B trên bản đồError! Bookmark
not defined.
Hình 4.5: Kết quả trả về sau khi mô hình nhận dạng được hai địa điểm cần tìm trên
bản đồ Error! Bookmark not defined Hình 4.6: Tính năng thiết lập lịch họp Error! Bookmark not defined Hình 4.7: Kết quả thiết lập lịch theo đúng đối số mà người dùng yêu cầu Error!
Bookmark not defined.
Hình 4.8: Tính năng đặt chuông báo thức Error! Bookmark not defined Hình 4.9: Kết quả đặt chuông báo thức Error! Bookmark not defined.
Trang 11Lời cảm ơn
Đầu tiên, tôi muốn gửi lời cảm ơn sâu sắc nhất đến cán bộ hướng dẫn khoa học, thầy giáo, TS Phan Xuân Hiếu, người đã đưa tôi đến lĩnh vực nghiên cứu này và đã trực tiếp giảng dạy trong suốt quá trình tôi học tập, nghiên cứu tại trường Đại học Công Nghệ - Đại học Quốc Gia Hà Nội Thầy luôn truyền cho tôi nguồn cảm hứng, nhiệt huyết nghiên cứu khoa học và hết sức tận tình hướng dẫn tôi, cho tôi những lời khuyên quý báu Mặc dù thầy rất bận với công việc giảng dạy và nghiên cứu nhưng thầy đã dành cho tôi nhiều thời gian thảo luận các ý tưởng nghiên cứu, chỉ dẫn cách nghiên cứu, giải đáp thắc mắc và động viên tôi vượt qua những vấn đề khó khăn cũng như hướng tôi tới nhiều vấn đề có giá trị khác khiến tôi muốn tìm hiểu và nghiên cứu trong tương lai
Tôi xin bày tỏ lời cảm ơn chân thành tới các thầy cô giáo đã giảng dạy tôi trong suốt thời gian tôi học tại trường như PGS, TS Hà Quang Thụy, PGS, TS Trịnh Nhật Tiến, PGS, TS Đỗ Trung Tuấn, PGS, TS Nguyễn Ngọc Hóa, TS Bùi Quang Hưng,
TS Nguyễn Văn Vinh, TS Nguyễn Thị Hậu, TS Võ Đình Hiếu, TS Trần Trúc Mai cùng các thầy cô giáo khác trong khoa
Tôi cũng muốn gửi lời cảm ơn tới những thành viên trong nhóm seminar về “Học máy, khai phá dữ liệu và xử lý ngôn ngữ tự nhiên” như NCS Lương Thái Lê, NCS Ngô Thị Lan, ThS Trương Thị Minh Ngọc, ThS Nguyễn Minh Thưa, ThS Trần Thị Hạnh, CN Nguyễn Thạc Thống, CN Trương Quốc Tuấn, CN Vương Thị Hải Yến,
CN Nguyễn Văn Hợp, CN Dương Quang Vũ, CN Phí Thị Thu, vv Họ là những người bạn đã sát cánh bên tôi trong lĩnh vực nghiên cứu này, có những góp ý chuyên môn trong học máy và xử lý ngôn ngữ tự nhiên cũng như sự có động viên tinh thần với tôi rất đáng trân trọng
Cuối cùng tôi xin gửi lời cảm ơn sâu sắc tới Bố, Mẹ, Vợ, cùng các Con và tất cả những người thân trong gia đình, bạn bè tôi Họ đã luôn ủng hộ tôi với tình yêu lớn và không ngừng khuyến khích, động viên tôi vượt qua tất những khó khăn trong cuộc sống
Học viên thực hiện luận văn
Trang 12Trần Phương Nam
Trang 13Tài liệu tham khảo
Tài liệu tiếng Việt:
1 PGS TS Nguyễn Hà Nam, PGS TS Nguyễn Trí Thành, PGS TS Hà Quang
Thụy (2013), Giáo trình khai phá dữ liệu, Nhà xuất bản Đại học Quốc Gia Hà Nội
tr 249-286
Tài liệu tiếng Anh:
2 Angelov, K., Bringert, B., Ranta, A (2014), “Speech–enabled hybrid multilingual translation for mobile devices”, In EACL
3 Berger, A., Pietra, S.A.D., Pietra, V.J.D (1996), A maximum entropy approach to
natural language processing, Computational Linguistics, 22(1), 39–71
4 Borthwick, A (1999), A maximum entropy approach to named entity recognition
PhD dissertation, Dept of CS, New York University
5 Chieu, H.L., Ng, H.T (2003), “Named entity recognition with a maximum entropy approach”, In The 7th CoNLL, pp.160–163
6 Chinchor, N., Marsh, E (1998), MUC–7 information extraction task definition (version 5.1), In The 7th Message Understanding Conference (MUC)
7 Florian, R., Ittycheriah, A., Jing, H., Zhang, T (2003), “Named entity recognition through classifier combination”, In CoNLL, pp.168–171
8 Graves, A., Jaitly, N (2014), “Towards end–to–end speech recognition with recurrent neural networks”, In ICML
9 Grishman, R., Sundheim, B (1995), Message understanding conference 6: a brief history, In The 6th Message Understanding Conference (MUC–6)
10 Hatmi, M., Jacquin, C., Morin, E., Meignier, S (2013), “Named entity recognition
in speech transcripts following an extended taxonomy”, In The First Workshop on Speech, Language, and Audio in Multimedia (SLAM)
11 Hannun, A., Case, C., Casper, J., Catanzaro, B., Diamos, G., Elsen, E., Prenger, R., Satheesh, S., Sengupta, S., Coates, A., Ng, A.Y (2014), Deep Speech: scaling up end– to–end speech recognition, In arXiv:1412.5567v2, arxiv.org/abs/1412.5567v2
12 Hinton, G., Deng, L., Yu, D., Dahl, G., Mohamed, A., Jaitly, N., Senior, A., Vanhoucke, V., Nguyen, P., Sainath, T., Kingsbury, B (2012), “Deep neural networks for acoustic modeling in speech recognition”, IEEE Signal Process, Mag,
29, pp.82–97
13 Lafferty, J.D., McCallum, A., Pereira, F (2001), Conditional random fields: probabilistic models for segmenting and labeling sequence data, In ICML, pp.282–
289
Trang 1414 Liu, D., Nocedal, J (1989), On the limited memory BFGS method for large–scale optimization, Mathematical Programming, 45, pp.503–528
15 Molla, D., Zaanen, M., Cassidy, S (2007), “Named entity recognition in question answering of speech data”, In The Australasian Language Technology Workshop
16 Nguyen, C.T., Tran, T.O., Phan, X.H., Thuy, H.Q (2007), “Named entity recognition in Vietnamese free–text and web documents using CRFs”, In The Workshop on Asian Applied Natural Language Processing and Language Resource Development
17 Nigam, K., Lafferty, J., McCallum, A (1999), “Using maximum entropy for text classification”, In IJCAI Workshop on Machine Learning, for Info Filtering, pp.61–67
18 Pan, Y.C., Liu, Y.Y., Lee, L.S (2005), “Named entity recognition from spoken documents using global evidences and external knowledge sources with applications on Mandarin Chinese”, In IEEE Auto Speech Recognition & Understanding
19 Popkin, J (2013), Google, Apple Siri and IBM Watson: the future of natural– language question answering in your enterprise Gartner Technical Professional Advice
20 Ratnaparkhi, A (1996), “A maximum entropy model for part–of–speech tagging”,
In The Empirical Methods in Natural Language Processing Conference
21 Tur, G., Mori, R.D (2011), Spoken language understanding: systems for extracting semantic information from speech, Wiley
22 Andrew McCallum, Maximum Entropy Markov Models for Extraction Information and Segmentation
23 William W.Cohen, Adrew McCallum (2003), Slides “Information Extraction from the World Wide Web”, KDD
24 A.McCallum, D.Freitag, and F Pereira (2000), Maximum entropy markov models for information extraction and segmentation, In Proc Iternational Conference on Mechine Learning, pp 591-598
25 Grishman, R., Morgan Kaufmann (1995), The NYU system for MUC-6 or where's the syntax? In Proceedings of the Sixth Message Understanding Conference
26 Lawrence R Rabiner (1989), A tutorial on hidden markov models and selected applications in speech recognition, In Proc the IEEE, 77(2):257-286
27 Darroch, J., and Ratcliff, D (1972), Generalized iterative scaling for log-linear models, The Annals of Mathematical Statistics 43, 1470-1480