Trong các hệ thống thích nghi này, mỗi người dùng sở hữu một hồ sơ cá nhân hay còn gọi là profile hay đặc trưng người dùng và tùy theo lĩnh vực ứng dụng, đặc trưng người dùng sẽ bao gồm.
Trang 1Tôi xin cam đoan đây là kết quả công trình nghiên cứu của bản thân, không sao chép của người khác Các số liệu, kết quả trình bày trong luận văn này
là trung thực Tất cả những 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 chịu hoàn toàn trách nhiệm cho lời cam đoan của mình
Học viên
Đỗ Quốc Bảo
Trang 2Em xin bày tỏ lòng thành kính và biết ơn sâu sắc đến thầy tiến sĩ Phạm Trần Vũ đã nhiệt tình hướng dẫn, chỉ bảo em trong suốt quá trình thực hiện luận văn này
Em xin chân thành cảm ơn Quý thầy cô Khoa Công nghệ thông tin trường Đại học Lạc Hồng đã tạo điều kiện thuận lợi cho em trong suốt thời gian học tập
và nghiên cứu tại trường
Xin cảm ơn các anh chị em, bạn bè, đồng nghiệp đã giúp đỡ và động viên rất nhiều trong quá trình em thực hiện luận văn này
Xin cảm ơn cha mẹ, anh chị em và những người thân đã và luôn là chỗ dựa tinh thần, là nguồn động lực to lớn để em vượt qua những khó khăn trong quá trình thực hiện luận văn này
Xin chân thành cảm ơn!
Đồng Nai, ngày 15 tháng 5 năm 2013
Học viên
Đỗ Quốc Bảo
Trang 3LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC HÌNH v
DANH MỤC BẢNG vi
DANH MỤC CÁC TỪ VIẾT TẮT vii
MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ HỒ SƠ CÁ NHÂN VÀ SO SÁNH ĐỘ TƯƠNG ĐỒNG 5
1.1Tổng quan về hồ sơ cá nhân, độ tương đồng 5
1.1.1 Giới thiệu về hồ sơ cá nhân 5
1.1.2 Giới thiệu về bài toán so sánh độ tương đồng 6
1.1.3 Tổng quan về tình hình nghiên cứu 7
1.2 Quy trình so khớp profile 10
CHƯƠNG 2: MỘT SỐ KỸ THUẬT LIÊN QUAN TRONG XỬ LÝ SO SÁNH ĐỘ TƯƠNG ĐỒNG 13
2.1 Cấu trúc hồ sơ cá nhân 13
2.1.1 Cấu trúc hồ sơ cá nhân cho hệ thống tư vấn của Montainer 13
2.1.2 Cấu trúc hồ sơ cá nhân cho hệ thống đào tạo trực tuyến của Brusilouvsky 14
2.1.3 Cấu trúc hồ sơ cá nhân cho hệ thống đào tạo trực tuyến của Lê Đức Long và cộng sự 16
2.1.4 Kết luận 17
2.2 Xử lý thông tin profile 18
2.2.1 Đặc điểm của từ trong tiếng Việt 18
2.2.2 Tách từ trong tiếng Việt 19
2.2.2.1 Phương pháp Maximum Matching: Forward / Backward 19
2.2.2.2 Phương pháp Transformation – based Learning (TBL) 20
2.2.2.3 Mô hình tách từ bằng WFST và mạng Neural 20
2.2.2.4 Phương pháp tách từ tiếng Việt dựa trên thống kê từ Internet và thuật giải di truyền 22
2.2.2.5 Loại bỏ từ dừng 22
2.2.3 Đặc trưng văn bản tiếng Việt 22
Trang 42.3.1 Mô hình logic 24
2.3.2 Mô hình phân tích cú pháp 26
2.3.3 Mô hình không gian vector 27
2.3.3.1 Mô hình boolean 28
2.3.3.2 Mô hình tần suất 29
2.4 Độ tương đồng 31
2.4.1 Khái niệm độ tương đồng 31
2.4.2 Độ tương đồng 32
2.4.3 Các phương pháp tính độ tương đồng 32
2.4.3.1 Phương pháp tính độ tương đồng sử dụng độ đo Cosine 33
2.4.3.2 Phương pháp tính độ tương đồng dựa vào độ đo khoảng cách Euclide 34
2.4.3.3 Phương pháp tính độ tương đồng dựa vào độ đo khoảng cách Mahattan 34
CHƯƠNG 3: QUY TRÌNH THỰC HIỆN VÀ THỬ NGHIỆM 36
3.1 Quy trình thực hiện 36
3.1.1 Thu thập dữ liệu profile 36
3.1.2 Cấu trúc profile theo đề xuất của tác giả 37
3.1.3 Xử lý dữ liệu profile 39
3.1.3.1 Tách từ tiếng Việt 39
3.1.3.2 Loại bỏ dấu câu, từ dừng 41
3.1.4 Xây dựng tập dữ liệu đặc trưng 42
3.1.4.1 Giới thiệu mô hình phân tích chủ đề ẩn 42
3.1.4.2 Mô hình Latent Dirichlet Allocation 43
3.1.5 So sánh mức độ tương đồng giữa hai profile 45
3.2 Kết quả thực nghiệm 48
3.2.1 Môi trường thực nghiệm 48
3.2.2 Module và công cụ 48
3.2.3 Dữ liệu thực nghiệm 50
3.2.4 Xác định đặc trưng cho từng thuộc tính so sánh 50
3.2.5 Thực nghiệm so sánh profile 53
KẾT LUẬN 57 TÀI LIỆU THAM KHẢO
Trang 5Hình 1.1: Quy trình so khớp profile 11
Hình 2.1: Cấu trúc tổng quát của Profile do Lê Đức Long đề xuất 16
Hình 2.2: Biểu diễn vector văn bản trong không gian 2 chiều 27
Hình 3.1: Tổng quan giao diện thu thập dữ liệu từ Facebook 36
Hình 3.2: Thực hiện lấy dữ liệu cho profile 37
Hình 3.3: Cấu trúc profile tác giả đề xuất 38
Hình 3.4: Quy trình tách từ 40
Hình 3.5: Tài liệu với K chủ đề ẩn 43
Hình 3.6: Ước lượng tham số cho tập dữ liệu 44
Hình 3.7: Suy luận chủ đề cho các profile mạng xã hội facebook 45
Hình 3.8: Chi tiết so sánh hai profile 47
Hình 3.9: Giao diện module thực hiện lấy dữ liệu profile 48
Hình 3.10: Cấu trúc module hệ thống 49
Hình 3.11: Suy luận theo Employee 50
Hình 3.12: Suy luận theo StatusComments 51
Hình 3.13: Hệ thống xác định chủ đề đặc trưng thuộc tính 51
Hình 3.14: Hệ thống xác định tỉ lệ phần trăm của topic đặc trưng 52
Hình 3.15: Một phần đặc trưng của các topic chủ đề 52
Hình 3.16: Hình ảnh so sánh profile chi tiết 56
Trang 6Bảng 1: Biểu diễn văn bản trong mô hình Logic 25
Bảng 2: Biểu diễn văn bản bằng mô hình Vector 28
Bảng 3: Biểu diễn văn bản với mô hình Boolean 29
Bảng 4: Môi trường thực nghiệm 48
Bảng 5: Bảng khảo sát thu thập profile 53
Bảng 6: Một số kết quả thực nghiệm 55
Trang 7Từ viết tắt Từ đầy đủ
AEHS Adaptive Educational Hypermedia System
pLSA Probabilistic Latent Semantic Analysis
WFST Weighted Finit State Transducer
Trang 8MỞ ĐẦU
Chúng ta hiện đang ngập lụt trong kho dữ liệu khổng lồ của nhân loại, sự thành công và phát triển của các mạng xã hội như Facebook, Youtube, Linkedin trên nền web 2.0 đã thu hút một cộng đồng online đông đảo, cộng đồng này đã tạo ra một số lượng lớn tài liệu số trên web Họ có thể chia sẻ và cộng tác trong những lĩnh vực mà họ thấy thích thú Và tìm kiếm những người có cùng sở thích, cùng sự quan tâm đến một vấn đề nào đó trong các cộng đồng mạng trực tuyến
là điều không dễ dàng, đặc biệt là trong cộng đồng đa ngành nghề và cách trở về mặt địa lý, sự hợp tác liên ngành đóng một phần không thể thiếu Do đó, việc tìm
ra những người có cùng mối quan tâm để cùng chia sẻ, cộng tác trong giải quyết một công việc lớn, một bài toán lớn là cần thiết
Ở phương diện khác, nhu cầu giao lưu, giải trí, kết bạn của con người từ khắp các vùng miền là khá lớn và thiết thực trong đời sống xã hội hiện tại Bởi lẽ
đó, việc tìm kiếm những người có cùng sở thích, cùng sự đam mê để cùng nhau thỏa mãn hơn nữa đời sống tinh thần trong cuộc sống đầy bộn bề là hết sức có ý nghĩa
Hiện nay các hệ thống thích nghi cá nhân (Personalized System) đang phát triển rất mạnh và được ứng dụng trong nhiều lĩnh vực như: tìm kiếm thông tin (Information Retrieval ), thương mại điện tử (e - Commerce), hệ thống tư vấn (Recommender System) và gần đây là hệ thống đào tạo trực tuyến (e - Learning)
Chẳng hạn, hệ thống bán hàng trực tuyến sẽ tư vấn cho các khách hàng khác nhau chọn mua những sản phẩm khác nhau phù hợp với sở thích từng người Hệ thống tư vấn thông tin sẽ tư vấn cho các người dùng khác nhau những tài liệu khác nhau phù hợp với chủ đề mà từng người quan tâm Hệ thống đào tạo trực tuyến sẽ tư vấn cho các người học khác nhau phương pháp học phù hợp với trình độ và khả năng tiếp thu của từng người Trong các hệ thống thích nghi này, mỗi người dùng sở hữu một hồ sơ cá nhân hay còn gọi là profile hay đặc trưng người dùng và tùy theo lĩnh vực ứng dụng, đặc trưng người dùng sẽ bao gồm
Trang 9những thông tin khác nhau mô tả về người dùng như: họ tên, tuổi, nghề nghiệp,
sở thích, nhu cầu, mục tiêu, trình độ hay nền tảng kiến thức, v.v Đặc trưng người dùng chính là cơ sở để hệ thống cung cấp những thông tin, dịch vụ, tài nguyên phù hợp với từng người dùng Điều này đem đến sự tiện nghi, thoải mái cho người dùng trong quá trình khai thác hệ thống Người dùng có cảm giác là
hệ thống rất thông minh, hiểu được mình và đáp ứng đúng nhu cầu riêng của mình
Trong lĩnh vực đào tạo từ xa hay đào tạo trực tuyến (e - learning), các hệ thống thích nghi siêu truyền thông (Adaptive Hypermedia System – AHS) hay
hệ thống đào tạo thích nghi siêu truyền thông (Adaptive Educational Hypermedia System - AEHS) cũng khai thác profile người dùng để vận dụng sự thích nghi phù hợp với kiến thức cũng như mục tiêu đào tạo Do đó, việc xây dựng mô hình profile là rất quan trọng, dựa trên profile các hệ thống tính toán, so sánh để cung cấp thông tin, dịch vụ phù hợp nhất cho người sử dụng
Hồ sơ cá nhân là một tập hợp các thông tin được thể hiện dưới dạng văn bản, hình ảnh, trong đó văn bản là chủ yếu, mô hình biểu diễn văn bản phổ biến hiện nay là mô hình không gian vector, trong đó mỗi văn bản được biểu diễn bằng một vector của các từ khóa Một số khó khăn khi biểu diễn văn bản như tính nhiều chiều của văn bản, tính nhặp nhằng của ngôn ngữ, đồng thời bài toán
xử lý văn bản còn gặp phải một số khó khăn là để xây dựng được bộ dữ liệu đặc trưng chuẩn, có độ tin cậy cao thì đòi hỏi phải có một lượng các mẫu dữ liệu huấn luyện đủ tốt Các dữ liệu huấn luyện này thường rất hiếm và đắt vì đòi hỏi thời gian và công sức của con người Do vậy, cần phải có hệ thống xử lý văn bản hiệu quả và một phương pháp học có khả năng tận dụng được các nguồn dữ liệu
rất phong phú như hiện nay Đề tài “Giải pháp biểu diễn và so sánh mức độ tương đồng giữa các hồ sơ cá nhân trên mạng xã” là một việc làm không
những có ý nghĩa khoa học mà còn mang tính thực tiễn
Luận văn này sẽ tập trung giải quyết hai vấn đề chính sau:
Trang 10 Xây dựng mô hình profile của người sử dụng từ các thông tin trên mạng xã hội của họ
Xây dựng giải pháp đánh giá mức độ tương đồng giữa các profile
Luận văn áp dụng kết hợp kỷ thuật phân tích chủ đề ẩn Latent Dirichlet
Allocation và Cosin truyền thống để xác định sự tương đồng của các profile Latent Dirichlet Allocation được xem là phương pháp tập trung vào việc bổ sung các thành phần ngữ nghĩa hỗ trợ cho độ đo tương đồng Cosine tốt nhất hiện nay Thực nghiệm cho thấy độ chính xác rất khả quan trong so khớp
Mục tiêu của luận văn
Xây dựng giải pháp biểu diễn profile người sử dụng từ các thông tin trên mạng xã hội
Xây dựng giải pháp đánh giá mức độ tương đồng giữa các profile
Đối tượng nghiên cứu
Trong luận văn này, chỉ giới hạn các thông tin profile bằng tiếng Việt, và đối tượng người sử dụng là người Việt, mạng xã hội là facebook
Phạm vi nghiên cứu
Luận văn giới hạn phạm vi nghiên cứu trong cộng đồng người sử dụng tiếng Việt, mạng xã hội facebook Một số thông tin của hồ sơ cá nhân được xử lý trong luận văn như: thông tin về lịch sử cá nhân, ngày tháng năm sinh, nghề nghiệp, nền giáo dục, tình trạng hôn nhân, mối quan tâm, những hoạt động trên mạng xã hội, thông tin về quê quán, nơi sống hiện tại, về quan điểm tôn giáo, về giới tính, về quan điểm sống
Những vấn đề cần giải quyết trong phạm vi luận văn
Nghiên cứu các phương pháp rút trích hồ sơ cá nhân
Nghiên cứu các phương pháp biểu diễn hồ sơ cá nhân
Nghiên cứu phương pháp phân tích về mặt ngữ nghĩa của hồ sơ cá nhân
Trang 11 Nghiên cứu các thuật toán để so khớp các hồ sơ cá nhân: thuật toán LSA, Cosine
Đánh giá và chọn một thuật toán so khớp tối ưu để áp dụng so khớp hồ
sơ cá nhân
Kết hợp thuật toán được chọn với kỹ thuật so khớp ngữ nghĩa, tính toán
sự tương đồng của các hồ sơ cá nhân, khắc phục các trường hợp liên quan đến ngữ nghĩa trong so khớp
Đánh giá kết quả sau khi so khớp
Thử nghiệm trên các hồ sơ khác nhau của một mạng xã hội ở Việt Nam
Bố cục trình bày của luận văn
Chương 1: Giới thiệu tổng quan về bài toán so khớp, tổng quan về tình
hình nghiên cứu từ đó rút ra nhận xét, đánh giá Dựa trên sự tìm hiểu nghiên cứu
đó, đưa ra quy trình so khớp giữa các hồ sơ cá nhân
Chương 2: Trình bày một số kỷ thuật liên quan đến quá trình xử lý, tính
toán trong quá trình thực hiện bài toán so khớp hồ sơ cá nhân như: cấu trúc của một hồ sơ cá nhân, rút trích thông tin hồ sơ cá nhân, biểu diễn hồ sơ cá nhân, xử
lý tiếng Việt, các phương pháp tính toán độ tương đồng
Chương 3: Trình bày các bước thực hiện: thu thập thông tin hồ sơ cá nhân,
xử lý thông tin hồ sơ, biểu diễn hồ sơ cá nhân trên máy tính theo cấu trúc tác giả
đề xuất, quy trình chi tiết tính toán mức độ tương đồng giữa các hồ sơ cá nhân và báo cáo kết quả thực nghiệm
Kết luận: Những gì đã làm được trong việc xây dựng giải pháp biểu diễn
hồ sơ cá nhân và so sánh mức độ tương đồng giữa các hồ sơ cá nhân, chỉ ra những điểm cần hoàn thiện hơn cũng như hướng phát triển cho đề tài
Trang 12CHƯƠNG 1: TỔNG QUAN VỀ HỒ SƠ CÁ NHÂN VÀ SO
SÁNH ĐỘ TƯƠNG ĐỒNG
1.1 Tổng quan về hồ sơ cá nhân, độ tương đồng
1.1.1 Giới thiệu về hồ sơ cá nhân
Hồ sơ cá nhân là một tập hợp gồm những thông tin của một cá nhân Tùy theo lĩnh vực ứng dụng cụ thể, hồ sơ cá nhân sẽ có những thông tin khác nhau phù hợp cho miền ứng dụng đó Chẳng hạn: trong hệ thống bán hàng qua mạng,
hồ sơ cá nhân thường gồm: sở thích, thói quen mua sắm, các sản phẩm đã từng mua, v.v; trong hệ thống giáo dục, hồ sơ cá nhân thường gồm: tên, tuổi, trình độ học vấn, kết quả khóa trước, thói quen học tập, kiến thức nền, ngành học, v.v; trong hệ thống tư vấn thông tin, hồ sơ cá nhân có thể chứa những chủ đề mà người dùng quan tâm, trình độ tri thức, ngành nghề của người dùng, v.v Chính những thông tin được lưu trữ trong hồ sơ cá nhân này đã giúp hệ thống phục vụ cho người dùng tốt hơn, thông minh hơn Nói cách khác, sự thông minh và chất lượng của các hệ thống được xây dựng trên nền tảng chính là hồ sơ cá nhân Điều này đem đến sự tiện nghi, thoải mái cho người dùng trong quá trình khai thác hệ thống Người dùng có cảm giác là hệ thống rất thông minh, hiểu được mình và đáp ứng đúng nhu cầu riêng của mình
Để xây dựng được hồ sơ cá nhân tốt cho hệ thống thì cần phải xác định được những đặc trưng nào của người dùng sẽ cần thiết, hữu ích cho hệ thống Điều này không phải đơn giản bởi vì trong từng miền ứng dụng khác nhau, hồ sơ
cá nhân sẽ có những đặc trưng khác nhau Chẳng hạn, trong e- Commerce, các đặc trưng của hồ sơ cá nhân về sở thích là quan trọng nhất để giúp cho việc tư vấn hiệu quả Trong khi đó với hệ e-Learning thì các đặc trưng liên quan đến trình độ học tập, kiến thức nền mới là quan trọng nhất Ngay cả khi trong cùng một miền ứng dụng, hồ sơ cá nhân của hệ thống này có thể sẽ khác hồ sơ cá nhân của hệ thống kia Nói riêng trong miền e-Commerce, hồ sơ cá nhân của một hệ
Trang 13thống tư vấn bán đĩa CD sẽ cần có các thông tin liên quan đến âm nhạc, thể loại nhạc nhưng hồ sơ cá nhân của một hệ thống tư vấn bán tranh cần có các thông tin liên quan đến màu sắc, hội họa, kiến trúc Do vậy, xây dựng cấu trúc hồ sơ cá nhân là một trong số những khía cạnh quan trọng quyết định đến sự thành công của các hệ thống thích nghi
1.1.2 Giới thiệu về bài toán so sánh độ tương đồng
So sánh độ tương đồng là một vấn đề nghiên cứu phổ biến được biết đến như tìm kiếm chuyên gia hoặc so khớp hồ sơ cá nhân, trong rút trích thông tin
và đã được thực hiện bởi nhiều nghiên cứu trước đó
Về độ tương đồng: trong toán học, một độ đo là một hàm số tương ứng với một "chiều dài", một "thể tích" hoặc một "xác suất" với một phần nào đó của một tập hợp cho sẵn Nó là một khái niệm quan trọng trong giải tích và trong lý thuyết xác suất
Ví dụ: độ đo đếm được định nghĩa bởi µ(S) = số phần tử của S
Rất khó để đo sự giống nhau, sự tương đồng, tương đồng có thể định nghĩa
là một đại lượng (con số) phản ánh cường độ của mối quan hệ giữa hai đối tượng hoặc hai đặc trưng Đại lượng này thường ở trong phạm vi từ -1 đến 1 hoặc 0 đến 1 Như vậy, một độ đo tương đồng có thể coi là một loại Scoring Function (hàm tính điểm)
Ví dụ: trong mô hình không gian vector, ta sử dụng độ đo Cosine để tính độ tương đồng giữa hai văn bản, mỗi văn bản được biểu diễn bởi một vector
So khớp là quá trình tìm ra những đặc trưng chung trong các hồ sơ được so sánh, kết quả so sánh được qui ước hóa thành một số đo mà dựa vào số đo này
để thực hiện cho nhiều mục đích của con người như tìm đường đi, nhận dạng, gom nhóm, tư vấn, điều khiển hay đơn giản để phục vụ cho việc đào tạo, kinh doanh của một đơn vị Người ta có thể thực hiện so khớp một cách thủ công, tức
là quan sát các đặc trưng rồi đưa ra kết luận Nhưng với lượng thông tin cần so sánh là rất lớn nên việc làm này sẽ tốn khá nhiều thời gian, công sức, tiền của và
Trang 14thậm chí là khơng khả thi Do vậy mà phải cĩ các phương pháp so khớp tự động,
để so khớp tự động, người ta sử dụng các phương pháp thống kê như độ đo Cosine, độ đo khoảng cách Euclide, Manhattan,… dựa trên các đặc trưng rút trích qua quá trình học máy như Cây quyết định, Nạve Bayes, K láng giềng gần nhất
Một trong những ứng dụng quan trọng nhất của so khớp tự động là ứng dụng trong nhận dạng Nhận dạng để điều khiển, nhận dạng để tư vấn, nhận dạng
để xác minh, nhận dạng để phục vụ trong các hệ thống thích nghi
Một ứng dụng khác của so khớp là trong tìm kiếm Một sản phẩm cần tung
ra thị trường, một chương trình đào tạo từ xa, … rất cần xác định các thực thể cần tương tác và yêu cầu từ các thực thể đĩ Khi đĩ, việc tìm kiếm và so khớp thơng tin là rất cần thiết và thiết thực
1.1.3 Tổng quan về tình hình nghiên cứu
Liên quan đến xử lý ngơn ngữ tự nhiên nĩi chung và bài tốn xử lý so khớp nĩi riêng trong những năm gần đây là lĩnh vực đang được cộng đồng khoa học trong và ngồi nước quan tâm Các cơng trình liên quan đến chủ đề này như:
Ngồi nước:
Đề tài “Profile-Matching Techniques for On-Demand Software Management in Sensor Networks” tạm dịch là “kỷ thuật so khớp theo yêu cầu quản
lý phần mềm trong mạng cảm biến” [16] của Falko Dressler, Gerhard Fuchs,
Sebastien Truchat, Zheng Yao, Zengyu Lu, and Holger Marquardt, Autonomic Networking Group, Department of Computer Science 7, University of Erlangen,
Martensstraße 3, 91058 Erlangen, Germany, 2007
Đề tài là sự so sánh dựa trên đặc trưng của mạng cảm biến phục vụ cho việc quản lý mạng cảm biến Việc so sánh dựa trên đặc trưng, khơng chứa các
phân tích về mặt ngữ nghĩa
Đề tài “Road tracing by profile matching and Kalman filtering” tạm dịch là “tìm đường bằng cách so khớp theo đặc trưng và lọc Kalman” [17] của
Trang 15George Vosselman and Jurrien de Knecht, Delft University of Technology, The
cộng sự, Department of Computer Science and Engineering, Fudan Univerisity, 220 Handan Road, Shanghai 200433, China, 2006
Đề tài thực hiện so khớp hồ sơ và phân loại văn bản phục vụ cho việc khai khoáng trong TREC Genomics dựa vào các kỷ thuật Linear Least Squares Fit, Logistic Regression, SVM
Bài báo “Text Categorization with Support Vector Machines: Learning with Many Relevant Features” [22] tạm dịch “Phân loại văn bản dùng Support Vector Manchines: Huấn luyện với nhiều tính năng liên quan” của tác
giả Thorsten Joachims, trường Đại học Dortmund, Đức
Bài báo trình bày về việc sử dụng và cải tiến kỹ thuật Support Vector Machines (SVM) cho việc học máy có hiệu quả trong việc phân loại văn bản
Bài báo “Text Categorization Based on Regulazired Linear Classification Methods” [23] tạm dịch “Phân loại văn bản dựa trên phương pháp phân loại tuyến tính chính quy” của nhóm tác giả Tong Zhang và Franks J
Oles, Mathematical Sciences Department, IBM T.J Watson Research Center, NewYork
Bài báo trình bày phương pháp phân loại văn bản tuyến tính dựa vào các
kỹ thuật Linear Least Squares Fit, Logistic Regression, SVM
Hầu hết các đề tài trên đều tập trung xử lý, chú trọng đến phần học máy khá nhiều, các đề tài xử lý với ngôn ngữ tiếng nước ngoài Do đó, để áp cho tiếng Việt thì có thể có rất nhiều hạn chế
Trang 16Trong nước:
Luận án tiến sĩ “Một mô hình tạo lớp học thích nghi trong đào tạo điện tử” [1] của Nguyễn Việt Anh, khoa Công nghệ thông tin, trường Đại học
Công Nghệ, Đại học Quốc gia Hà Nội, 2009
Luận án nghiên cứu, đề xuất cách tạo một mô hình khóa học E-Learning hiệu quả, đáp ứng được yêu cầu của người học thông qua đặc điểm học tập Với mỗi người học, cùng một bài học nhưng hệ thống sẽ gợi ý để người học tìm hiểu các khái niệm, thực hiện các nhiệm vụ khác nhau,… Luận án xây dựng mạng xác xuất Bayes, đánh giá kiến thức người học, sử dụng cơ chế thích nghi để phân tích, so sánh sự khác nhau về tiến trình học và nhiệm vụ của từng người học
Đề tài “Độ tương đồng ngữ nghĩa giữa hai câu và ứng dụng trong tóm tắt văn bản” [5] của Hoàng Minh Hiền, khoa Công nghệ thông tin, trường Đại học Công Nghệ, Đại học Quốc gia Hà Nội, 2008
Đề tài thực hiện các phân tích và tính độ tương đồng giữa hai câu dựa trên độ tương tự về mặt ngữ nghĩa sử dụng Hidden Topic và tương tự về thứ tự của từ trong câu
Bài báo “Dynamic Profile Representation and Matching in Distributed Science Networks” [25] tạm dịch “Biểu diễn và so sánh động hồ sơ
cá nhân trong các mạng khoa học” của tác giả Phạm Trần Vũ, Trường Đại học
Bách Khoa, Đại học Quốc gia TP.HCM, đăng trên Journal of Science and Technology Development, Vol 14, No K2, 2011
Bài báo đề cập tới phương pháp so trùng các hồ sơ dựa trên các phân tích
về mặt ngữ nghĩa (LSA) Các phương pháp này không cần sử dụng ontology, nhưng vẫn có khả năng thực hiện các so sánh liên quan đến ngữ nghĩa, dựa vào các phương pháp thống kê
Bài báo “Social-aware Document Similarity Compution for Recommender System” [24] của tác giả Tran Vu Pham, Le Nguyen Thach,
Trang 17Faculty of Computer Science and Engineering, Ho Chi Minh City University of Technology, Ho Chi Minh City, Vietnam
Bài báo nói về tính toán sự tương đồng trong văn bản dựa vào kỹ thuật tính toán sự tương đồng qua 3 khía cạnh của văn bản: Content, Tag, User Tác giả nghiên cứu áp dụng kỹ thuật này để tính toán sự tương đồng của văn bản so với dữ liệu mẫu đã được học máy trước đó
Đề tài “Phát triển thuật toán gom cụm văn bản HTML và ứng dụng” [14] của tác giả Nguyễn Thế Quang
Đề tài nghiên cứu các khái niệm toán học nền tảng về mô hình không gian vector, mô hình Latent Semantic Indexing (LSI) được sử dụng để lập chỉ mục, quản lý và truy xuất trên các tập văn bản lớn và thuật toán gom cụm
Các đề tài trên đều có những ưu điểm nhất định của nó, tuy nhiên phạm vi xử lý của nó là khá rộng, do đó khó có thể đánh giá kết quả về độ chính xác cũng như tính đồng nhất của kết quả
1.2 Quy trình so khớp profile
Qua tìm hiểu nghiên cứu, tác giả rút ra quy trình so khớp chung cho các profile như sau:
Trang 18
Hình 1.1: Quy trình so khớp profile
P 1
Feature Extraction Input Document
w(a 1 ) w(a 2 ) w(a 3 )
… w(a n )
Weight Assignment
P 2
Feature Extraction
Input Document
w(a 1 ) w(a 2 ) w(a 3 )
… w(a n )
Weight Assignment
Result Matching
l
Trang 19Để tiến hành so khớp các profile, chúng ta sẽ thực hiện qua các bước như sau:
Bước 1: Với mỗi thông tin trong profile cần so khớp, xây dựng bộ dữ liệu
đặc trưng thông qua quá trình huấn luyện bằng một thuật toán học máy, việc học máy cho bộ dữ liệu học được tuyển chọn sau khi đã qua bước tiền xử lý Xử lý
và thu thập được dữ liệu của quá trình học là các đặc trưng riêng biệt cho từng thông tin cần so khớp
Bước 2: Các profile cần so khớp được tiền xử lý, rút ra đặc trưng Và với
mỗi thông tin cần so sánh chúng tôi kết hợp với đặc trưng được làm giàu trước
đó bởi Latent Dirichlet Allocationđể có được kết quả là một số đo
Bước 3: Từ tập kết quả tương ứng với từng thông tin trong profile cần so
khớp, chúng tôi dễ dàng có được kết quả so khớp cuối cùng giữa hai profile dựa trên một phương pháp tính độ đo tương đồng
Các phần xử lý của từng quá trình sẽ được trình bày chi tiết trong các chương tiếp theo
Trang 20CHƯƠNG 2: MỘT SỐ KỸ THUẬT LIÊN QUAN TRONG XỬ
LÝ SO SÁNH ĐỘ TƯƠNG ĐỒNG
2.1 Cấu trúc hồ sơ cá nhân
Như đã trình bày ở chương 1, hồ sơ cá nhân là phần cơ bản và không thế thiếu trong các hệ thống cung cấp thông tin, dịch vụ cho người sử dụng như hệ thống thích nghi cá nhân, nó đã được nghiên cứu và ứng dụng nhiều vào các lĩnh vực như: hệ thống tìm kiếm, hệ thống tư vấn, trong thương mại điện tử, trong đào tạo trực tuyến Tùy theo miền ứng dụng cụ thể mà hồ sơ cá nhân có những cấu trúc riêng khác nhau
Hồ sơ cá nhân cần lưu trữ những thông tin gì của người dùng? Các chuyên gia trong các miền ứng dụng đã dựa trên kiến thức chuyên môn và kinh nghiệm
về lĩnh vực của họ để cho ra đời các cấu trúc hồ sơ cá nhân tổng quát của từng miền ứng dụng, sau đây sẽ trình bày một số cấu trúc hồ sơ cá nhân như:
2.1.1 Cấu trúc hồ sơ cá nhân cho hệ thống tư vấn của Montainer [19]
Cấu trúc hồ sơ cá nhân cho hệ thống tư vấn thông tin được đề xuất bởi Montainer Montainer xem hồ sơ cá nhân như là sự đánh giá trong quá khứ (kinh nghiệm) của người dùng về đối tượng mà người dùng quan tâm Tùy trường hợp, đối tượng người dùng quan tâm có thể là món hàng, tài liệu, tài nguyên, thông tin Hồ sơ cá nhân được chia thành hai phần:
Một tập các đặc trưng mô tả về đối tượng mà người dùng quan tâm
Một tập các đặc trưng về sở thích mô tả sự quan tâm, sự đánh giá của người dùng đối với các đối tượng mà họ quan tâm
Ví dụ trong lĩnh vực nhà hàng tập các đặc trưng mà người dùng quan tâm là: {tên nhà hàng, địa chỉ, cách nấu nướng, giá cả, số chỗ, máy điều hòa, v.v} Và tập các đặc trưng về sở thích của người dùng đối với nhà hàng là: {đánh giá
Trang 21chung, sự tương xứng giữa giá cả và chất lượng, số lượng món ăn, lượng người vào website của nhà hàng, v.v}
Những website bán hàng trực tuyến đã ứng dụng hồ sơ cá nhân nhằm giúp
hệ thống tư vấn tốt như: hệ thống tư vấn sách Amazon.com, hệ thống tư vấn album nhạc CDNOW, hệ thống tư vấn mua sắm qua mạng eBay, hệ thống tư vấn mua sắm quần áo Levis, hệ thống tư vấn phim ảnh Moviefinder.com, hệ thống tư vấn phim ảnh Reel.com Nếu chúng ta đã từng vào các website này để mua hàng
và cung cấp email liên lạc thì về sau chúng ta sẽ nhận được những lời quảng cáo
về các món hàng mới phù hợp với sở thích của chúng ta và có những nét giống với món hàng chúng ta đã mua
2.1.2 Cấu trúc hồ sơ cá nhân cho hệ thống đào tạo trực tuyến của Brusilouvsky [20]
Lĩnh vực e - Learning lấy vai trò của người học làm trọng tâm và việc tự học của người học quyết định lớn đến chất lượng đào tạo Khác với hình thức giáo dục cổ điển với bảng đen, phấn trắng và người thầy/ cô luôn bên cạnh học sinh Hệ thống e – Learning đôi khi khiến người học cảm thấy bơ vơ, mất phương hướng Do vậy, việc tư vấn của hệ thống là rất cần thiết, và để thực hiện được việc tư vấn tốt cho từng người học, hệ thống cần phải biết rõ đặc trưng riêng của từng người học, đó chính là nhu cầu cần thiết về hồ sơ cá nhân trong e – Learning Cấu trúc hồ sơ người học trực tuyến bao gồm các nhóm đặc trưng về:
Kiến thức (Knowledge): là kiến thức của người học về chủ đề đang học, đây là thành phần quan trọng nhất của hồ sơ người học trực tuyến
và kiến thức có thể thay đổi theo chiều hướng tăng (tiếp thu) hoặc giảm (quên) khi chuyển từ bài này sang bài khác hay trong cùng một bài học
Sở thích/ mối quan tâm (Interests): được xem như là thành phần quan trọng của hồ sơ cá nhân trong các hệ thống tìm kiếm thông tin, tinh
Trang 22lọc thông tin Trái lại, trong các hệ AHS thời điểm đầu thường không chú trọng vào thành phần này mà chỉ chú trọng vào mục đích học tập Tuy nhiên khoảng vài năm gần đây, thành phần này được chú trọng nhiều hơn và có khả năng cạnh tranh với thành phần knowledge để trở thành thành phần quan trọng nhất
Mục tiêu (Goals/ Tasks): thể hiện mục đích tức thời của người dùng cho một tác vụ trong hệ thống thích nghi Cụ thể là thể hiện những gì
mà người dùng mong muốn đạt được Tùy thuộc loại hệ thống, mục đích có thể là mục tiêu của công việc (hệ thống ứng dụng), nhu cầu thông tin tức thời (hệ thống tìm kiếm thông tin), mục tiêu học tập (hệ thống đào tạo) Mục đích là đặc trưng dễ thay đổi nhất, đặc trưng này luôn luôn thay đổi từ nội dung này sang nội dung khác và thậm chí thay đổi vài lần trong một nội dung học
Kiến thức nền (Background): là tên gọi chung của một tập hợp các đặc trưng liên quan đến kinh nghiệm trước đây của người dùng và những đối tượng liên quan Thành phần này trong các hệ thống web thích nghi (adaptive web system) thường gồm: nghề nghiệp, trách nhiệm công việc, kinh nghiệm làm việc trong lĩnh vực có liên quan và thậm chí là quan điểm cụ thể trong phạm vi công tác Thành phần này thường là cố định trong suốt quá trình làm việc với hệ thống và cũng khó suy ra bằng cách quan sát quá trình người dùng tương tác với hệ thống
Những nét tiêu biểu của người dùng (Individual traits): là tên gọi chung của những đặc trưng giúp hình dung ra từng cá thể, ví dụ đặc trưng về nhân cách (hướng nội/ ngoại), cách nhận thức, cách học Đây
là đặc trưng tĩnh, nghĩa là không thay đổi sau một thời gian dài, và thậm chí không bao giờ thay đổi Khác với background, đặc trưng này
có thể thu được qua những bài kiểm tra về tâm lý được thiết kế riêng
Trang 232.1.3 Cấu trúc hồ sơ cá nhân cho hệ thống đào tạo trực tuyến của Lê Đức Long và cộng sự [7]
Đây là mô hình mở rộng của mô hình hồ sơ cá nhân do Brusilouvsky đề xuất Nhóm nghiên cứu của Lê Đức Long và cộng sự dựa trên kinh nghiệm của các chuyên gia sư phạm, các chuyên gia tâm lý đã đề xuất một cấu trúc chung cho hồ sơ cá nhân người học trực tuyến, ứng dụng trong hệ thống đào tạo trực tuyến thích nghi (Adaptive e – Learning System - AeLS) gồm bốn nhóm đặc trưng chính: demographics, training experiences, self-study activities, learning demands
Hình 2.1: Cấu trúc tổng quát của Profile do Lê Đức Long đề xuất
Demographics (nhân thân): nhóm này chứa thông tin về tiểu sử gia đình và tình trạng bản thân như: mã số sinh viên, lý lịch và nơi làm việc
Training experiences (kinh nghiệm học vấn): nhóm này chứa thông tin
về nền tảng kiến thức, kiến thức đã biết về chủ đề đang học và kiến thức có thể biết hoặc có khả năng biết trước của người học về chủ đề
đó Thành phần này nhằm hướng đến cung cấp một sự thích nghi dựa trên mức độ nhận thức, khả năng lĩnh hội tri thức về bài học/ chủ đề đang học của mỗi cá nhân người học Nhóm này gồm các đặc trưng như kiến thức nền, kiến thức đã biết, kiến thức về chủ đề
Self – study activities (hoạt động tự học): nhóm này chứa các thông tin về đặc điểm cá nhân liên quan đến các hoạt động học tập (đặc biệt
Nhu cầu và động cơ
Profile
Thông tin
nhân thân
Kinh nghiệm học vấn
Hoạt động
tự học
Trang 24là tự học) gồm các đặc trưng như thói quen học tập, mục tiêu học tập
và đặc điểm cá nhân
Learning demands (nhu cầu học tập): những đặc trưng của nhóm này
là cơ sở giúp cho hệ thống có thể cung cấp cho người học những tài nguyên/ dịch vụ đáp ứng được mục đích hay yêu cầu của bản thân người học và điều này sẽ giúp việc học tập trên mạng trở nên hấp dẫn hơn, kích thích được động cơ học tập của cá nhân người học Nhóm này gồm các đặc trưng như: động cơ học tập, nhu cầu học tập và sở thích
2.1.4 Kết luận
Trong những vấn đề liên quan đến hồ sơ cá nhân được nêu trên, chúng ta thấy có nhiều cấu trúc hồ sơ cá nhân được đề xuất cho những miền ứng dụng cụ thể Tuy vậy, trong một ứng dụng cụ thể nếu áp dụng máy móc cấu trúc hồ sơ cá nhân tổng quát của một miền tương ứng sẽ không tránh khỏi tình trạng có những đặc trưng không cần thiết Việc lưu trữ, xử lý các thông tin dư thừa làm hao tốn tài nguyên hệ thống trong quá trình hỗ trợ thích nghi người dùng
Mặc khác, hiện nay vẫn chưa có nghiên cứu nào đề cập đến các phương pháp chọn ra những thuộc tính hữu ích nhất, ngoài kinh nghiệm của các chuyên gia Các thuộc tính còn được chọn theo kinh nghiệm nên còn mang tính chủ quan cao Do vậy, bài toán đặt ra là cần tinh chỉnh cấu trúc tổng quát để tạo ra cấu trúc
hồ sơ cá nhân mới phù hợp với những hệ thống cụ thể
Luận văn nhằm hướng đến việc xây dựng giải pháp biểu diễn hồ sơ cá nhân người sử dụng từ các thông tin trên mạng xã hội để hỗ trợ so sánh mức độ tương đồng giữa các hồ sơ cá nhân Dựa trên đặc trưng hồ sơ cá nhân tổng quát, tác giả
sẽ tập trung nghiên cứu đề xuất những tiêu chí để đánh giá mức độ tương đồng giữa các hồ sơ cá nhân Chi tiết được trình bày chi tiết ở chương tiếp theo
Trang 252.2 Xử lý thông tin profile
Thông tin profile có thể ở dạng văn bản, hình ảnh, âm thanh và ứng với mỗi dạng thông tin khác nhau đó có các kỷ thuật xử lý cũng như phương pháp khác nhau để chúng ta có được đặc trưng cần so sánh Trong phạm vi luận văn này, xử lý so sánh sự tương đồng giữa các profile mà dữ liệu ở dạng văn bản tiếng Việt nên tác giả sẽ trình bày các kỷ thuật liên quan đến xử lý văn bản tiếng Việt
2.2.1 Đặc điểm của từ trong tiếng Việt
Tiếng Việt là ngôn ngữ đơn lập [4][14] Đặc điểm này bao quát tiếng Việt
cả về mặt ngữ âm, ngữ nghĩa, ngữ pháp Khác với các ngôn ngữ châu Âu, mỗi từ
là một nhóm các ký tự có nghĩa được cách nhau bởi một khoảng trắng Tiếng Việt và các ngôn ngữ đơn lập khác, thì khoảng trắng không phải là căn cứ để nhận diện từ
Tiếng trong tiếng Việt
Trong tiếng Việt trước hết cần chú ý đến đơn vị xưa nay vẫn quen gọi là tiếng, về mặt ngữ nghĩa, ngữ âm, ngữ pháp, đều có giá trị quan trọng
Sử dụng tiếng để tạo từ có hai trường hợp:
Trường hợp một tiếng: đây là trường hợp một tiếng được dùng làm một
từ, gọi là từ đơn Tuy nhiên, không phải tiếng nào cũng tạo thành một từ
Trường hợp hai tiếng trở lên: đây là trường hợp hai hay nhiều tiếng kết
hợp với nhau, cả khối kết hợp với nhau gắn bó tương đối chặt chẽ, mới
có tư cách ngữ pháp là một từ, đây là trường hợp từ ghép hay từ phức
Từ trong tiếng Việt
Có rất nhiều quan niệm về từ trong tiếng Việt, từ nhiều quan niệm về từ
tiếng Việt khác nhau đó chúng ta có thể thấy đặc trưng cơ bản của "từ" là sự
hoàn chỉnh về mặt nội dung, từ là đơn vị nhỏ nhất để đặt câu
Trang 26Người ta dùng "từ" kết hợp thành câu chứ không phải dùng "tiếng", do đó quá trình tách câu thành các "từ" cho kết quả tốt hơn là tách câu bằng “tiếng”
2.2.2 Tách từ trong tiếng Việt
Có nhiều phương pháp tách từ [4][14] trong tiếng Việt Luận văn sẽ trình bày các phương pháp tách từ phổ biến
2.2.2.1 Phương pháp Maximum Matching: Forward / Backward
Phương pháp so khớp tối đa (MM-Maximum Matching) hay còn gọi
là LRMM - Left Right Maximum Matching Ở phương pháp này, chúng ta sẽ duyệt một câu từ trái sang phải và chọn từ có nhiều âm tiết nhất có mặt trong từ điển và cứ thực hiện lặp lại như vậy cho đến hết câu
Dạng đơn giản: phương pháp dùng để giải quyết nhập nhằng từ đơn Giả sử chúng ta có một chuỗi ký tự C1, C2, …, Cn Chúng ta sẽ áp dụng phương pháp từ đầu chuỗi Đầu tiên kiểm tra xem C1 có phải là từ hay không, sau đó kiểm tra xem C1C2 có phải là từ hay không, tiếp tục thực hiện như thế cho đến khi tìm được từ dài nhất
Dạng phức tạp: quy tắc của dạng này là phân đoạn từ, thông thường người ta chọn phân đoạn ba từ có chiều dài tối đa Thuật toán bắt đầu từ dạng đơn giản, cụ thể là nếu phát hiện ra những cách tách từ gây nhập nhằng, như ở ví
dụ trên, giả sử C1 là từ và C1C2 cũng là một từ, khi đó chúng ta kiểm tra ký tự kế tiếp trong chuỗi C1, C2, , Cn để tìm tất cả các đoạn ba từ có bắt đầu với C1 hoặc
Trang 27Khi đó chuỗi dài nhất sẽ là chuỗi thứ ba Do đó từ đầu tiên của chuỗi thứ ba (C1C2) sẽ được chọn Thực hiện các bước cho đến khi được chuỗi từ hoàn chỉnh
Nhận xét
Phương pháp này thực hiện tách từ đơn giản, nhanh và chỉ cần dựa vào từ điển để thực hiện Tuy nhiên, khuyết điểm của phương pháp này cũng chính là từ điển, nghĩa là độ chính xác khi thực hiện tách từ phụ thuộc hoàn toàn vào tính đủ, tính chính xác của từ điển
2.2.2.2 Phương pháp Transformation – based Learning (TBL)
Phương pháp này tiếp cận dựa trên tập ngữ liệu đã đánh dấu Theo cách tiếp cận này để cho máy tính có thể nhận biết ranh giới giữa các từ để có thể tách từ chính xác, chúng ta sẽ cho máy học các câu mẫu trong tập ngữ liệu đã được đánh dấu ranh giới giữa các từ đúng Chúng ta thấy phương pháp rất đơn giản, vì chỉ cần cho máy học các tập câu mẫu và sau đó máy sẽ tự rút ra qui luật của ngôn ngữ và để từ đó sẽ áp dụng chính xác khi có những câu đúng theo luật
mà máy đã rút ra Và để tách từ được hoàn toàn chính xác trong mọi trường hợp thì đòi hỏi phải có một tập ngữ liệu tiếng Việt thật đầy đủ và phải được huấn luyện lâu để có thể rút ra các luật đầy đủ
2.2.2.3 Mô hình tách từ bằng WFST và mạng Neural
Mô hình mạng chuyển dịch trạng thái hữu hạn có trọng số Weighted Finit State Transducer (WFST) đã được áp dụng trong tách từ từ năm 1996 Ý tưởng cơ bản là áp dụng WFST với trọng số là xác suất xuất hiện của mỗi từ trong kho ngữ liệu Dùng WFST để duyệt qua các câu cần xét, khi đó từ có trọng
số lớn nhất là từ được chọn để tách Phương pháp này cũng đã được sử dụng trong công trình đã được công bố của tác giả Đình Điền năm 2001, tác giả đã sử dụng WFST kèm với mạng Neural để khử nhập nhằng khi tách từ, trong công trình tác giả đã xây dựng hệ thống tách từ gồm tầng WFST để tách từ và xử lý các vấn đề liên quan đến một số đặc thù riêng của ngôn ngữ tiếng Việt như từ
Trang 28láy, tên riêng, và tầng mạng Neural dùng để khử nhập nhằng về ngữ nghĩa sau
khi đã tách từ (nếu có)
Chi tiết về 2 tầng này như sau
Tầng WFST gồm có 3 bước
Bước 1: Xây dựng từ điển trọng số: theo mô hình WFST, thao tác
phân đoạn từ được xem như là một sự chuyển dịch trạng thái có xác suất Chúng ta miêu tả từ điển D là một đồ thị biến đổi trạng thái hữu hạn có trọng số
Giả sử:
H là tập các từ chính tả tiếng Việt (còn gọi là “tiếng”)
P là từ loại của từ
Mỗi cung của D có thể là:
Từ một phần tử của H tới một phần tử của H
Các nhãn trong D biểu diễn một chi phí được ước lượng theo công thức: Cost = -log(f/N)
Trong đó: f là tần số của từ, N là kích thước tập mẫu
Bước 2: Xây dựng các khả năng phân đoạn từ: Để giảm sự bùng nổ
tổ hợp khi sinh ra dãy các từ có thể từ một dãy các tiếng trong câu, tác giả
đã đề xuất phương pháp kết hợp dùng thêm từ điển để hạn chế sinh ra các bùng nổ tổ hợp, cụ thể là nếu phát hiện thấy một cách phân đoạn từ nào đó không phù hợp (không có trong từ điển, không có phải là tứ láy, không phải là danh từ riêng,…) thì tác giả loại bỏ các nhánh xuất phát từ cách phân đoạn đoạn đó
Bước 3: Lựa chọn khả năng phân đoạn từ tối ưu: Sau khi có được
danh sách các cách phân đoạn từ có thể có của câu, tác giả đã chọn trường hợp phân đoạn từ có trọng số bé nhất
Tầng mạng Neural
Trang 29Mô hình được sử dụng để khử nhập nhằng khi tách từ bằng cách kết hợp so sánh với từ điển
Nhận xét
Mô hình này đạt được độ chính xác trên 97% theo như công bố trong công trình của tác giả, bằng việc sử dụng thêm mạng Neural kết hợp với từ điển để khử các nhập nhằng có thể có khi tách ra được nhiều từ từ một câu và khi đó tầng mạng Neural sẽ loại bỏ đi các từ không phù hợp bằng cách kết hợp với từ điển Bên cạnh đó, cũng tương tự như phương pháp TBL điểm quan trọng của
mô hình này cần tập ngữ liệu học đầy đủ
2.2.2.4 Phương pháp tách từ tiếng Việt dựa trên thống kê từ Internet và thuật giải di truyền
Phương pháp tách từ tiếng Việt dựa trên thống kê từ Internet và thuật giải di truyền – IGATEC (Internet and Genetics Algorithm based Text Categorization for Documents in Vietnamese) do H Nguyễn đề xuất năm 2005 như một hướng tiếp cận mới trong tách từ với mục đích phân loại văn bản mà không cần dùng đến một từ điển hay tập ngữ liệu học nào Trong hướng tiếp cận này, tác giả kết hợp giữa thuật toán di truyền với dữ liệu thống kê được lấy từ Internet
2.2.2.5 Loại bỏ từ dừng
Từ dừng (stop-words) dùng để chỉ các từ mà xuất hiện quá nhiều trong văn bản của toàn tập kết quả, thường thì không giúp ích gì trong việc phân biệt nội dung của các tài liệu văn bản Ví dụ “và”, “hoặc”, “cũng”, “là”, “mỗi”,
“bởi”, …
2.2.3 Đặc trưng văn bản tiếng Việt
Các phương pháp rút trích thông tin [6][14][15] cổ điển thì coi mỗi một văn bản như là tập các từ khóa và gọi tập các từ khóa này là tập các term Một phần tử trong tập term thì đơn giản là một từ, mà ngữ nghĩa của từ này giúp
Trang 30tạo thành nên nội dung của văn bản Vì vậy, tập term được sử dụng để tạo các chỉ mục và tóm lược nội dung của văn bản
Giả sử cho một tập term của một văn bản nào đó, chúng ta có thể nhận thấy rằng không phải tất cả các từ trong tập term này đều có mức độ quan trọng như nhau trong việc mô tả nội dung văn bản Ví dụ, bây giờ chúng ta xét một tập gồm một trăm ngàn văn bản, giả sử có một từ A nào đó xuất hiện trong một trăm ngàn văn bản này thì chúng ta có thể khẳng định rằng từ A này không quan trọng
và chúng ta sẽ không quan tâm đến nó, bởi vì chắc chắn là nó sẽ không cho chúng ta biết được về nội dung của các văn bản này Vì vậy từ A sẽ bị loại ra khỏi tập các term, khi chúng ta xây dựng tập term cho văn bản để miêu tả nội dung ngữ nghĩa của các văn bản này Kết quả này có được thông qua thao tác xác định trọng số cho mỗi một từ trong tập term của một văn bản
Đặt ki là từ thứ i trong tập term, dj là văn bản j, và wij >= 0 là trọng số của từ ki trong văn bản dj Giá trị của trọng số này thì rất là quan trọng trong việc miêu tả nội dung của văn bản
Đặt t là số luợng các từ trong tập term của hệ thống K = {k1, k2, k3,
…, kt} là tập tất cả các từ trong tập term, trong đó ki là từ thứ i trong tập term Trọng số wij > 0 là trọng số của từ ki trong văn bản dj Với mỗi một từ, nếu nó không xuất hiện trong văn bản thì wij = 0 Do đó, văn bản dj thì được biểu diễn bằng vector dj, trong đó vector dj = {wj1,wj2,wj3, ….,wjt }
Các đặc trưng của văn bản khi biểu diễn dưới dạng vector
Không gian đặc trưng thường lớn
Các đặc trưng độc lập nhau
Các đặc trưng rời rạc: vector đặc trưng i d
có thể có nhiều thành phần mang giá trị 0 do có nhiều đặc trưng không xuất hiện trong văn bản di (nếu chúng ta tiếp cận theo cách sử dụng giá trị nhị phân
1, 0 để biểu diễn cho việc có xuất hiện hay không một đặc trưng nào đó trong văn bản đang được biểu diễn thành vector), tuy nhiên
Trang 31nếu đơn thuần cách tiếp cận sử dụng giá trị nhị phân 0, 1 này thì kết quả phân loại phần nào hạn chế là do có thể đặc trưng đó không có trong văn bản đang xét nhưng trong văn bản đang xét lại có từ khóa khác với từ đặc trưng nhưng có ngữ nghĩa giống với từ đặc trưng này, do đó một cách tiếp cận khác là không sử dụng số nhị phân 0,
1 mà sử dụng giá trị số thực để phần nào giảm bớt sự rời rạc trong vector văn bản
2.3 Biểu diễn văn bản tiếng Việt
Có nhiều cách biểu diễn văn bản [2], luận văn trình bày các phương pháp biểu diễn văn bản phổ biến
2.3.1 Mô hình logic
Theo mô hình này, các từ có nghĩa trong văn bản sẽ được đánh chỉ số và nội dung văn bản được quản lý theo các chỉ số Index đó Mỗi văn bản được đánh chỉ số theo quy tắc liệt kê các từ có nghĩa trong các văn bản với vị trí xuất hiện của nó trong văn bản Từ có nghĩa là từ mang thông tin chính về các văn bản lưu trữ, khi nhìn vào nó, người ta có thể biết chủ đề của văn bản cần biễu diễn
Tiến hành Index các văn bản đưa vào theo danh sách các từ khóa nói trên Với mỗi từ khóa người ta sẽ đánh số thứ tự vị trí xuất hiện của nó và lưu lại chỉ
số đó cùng với mã văn bản chứa nó Cách biểu diễn này cũng được các máy tìm kiếm ưa dùng
Ví dụ: có 2 văn bản với mã tương ứng là VB1, VB2:
VB1 là: “Trường Đại học Lạc Hồng”
VB2 là: “Con Lạc cháu Hồng”
Khi đó, ta có cách biểu diễn như sau:
Trang 32Bảng 1: Biểu diễn văn bản trong mô hình Logic
Từ mục Mã văn bản_Vị trí xuất hiện
Việc tìm kiếm trở nên nhanh và đơn giản Thật vậy, giả sử cần tìm kiếm
từ “Hồng” Hệ thống sẽ duyệt trên bảng Index để trỏ đến chỉ số Index tương ứng nếu từ “Hồng” tồn tại trên hệ thống Việc tìm kiếm này khá nhanh và đơn giản khi trước đó ta đã sắp xếp bảng Index theo vần chữ cái Phép tìm kiếm trên có độ phức tạp cấp nlog2n), với n là số từ trong bảng index Tương ứng với chỉ số index trên sẽ cho ta biết các tài liệu chứa từ khóa tìm kiếm Như vậy, việc tìm kiếm liên quan đến k từ thì các phép toán cần thực hiện là k*n*log2n (n là số từ trong bảng Index)
Nhược điểm
Đòi hỏi người sử dụng phải có kinh nghiệm và chuyên môn trong lĩnh vực tìm kiếm vì câu hỏi đưa vào dưới dạng logic nên kết quả cũng có giá trị logic (Boolean) Một số tài liệu sẽ được trả lại khi thỏa mãn mọi điều kiện đưa
Trang 33vào Như vậy muốn tìm được tài liệu theo nội dung thì phải biết chính xác về tài liệu
Việc Index các tài liệu rất phức tạp và làm tốn nhiều thời gian, đồng thời cũng tốn không gian để lưu trữ các bảng Index
Các tài liệu tìm được không được sắp xếp theo độ chính xác của chúng Các bảng Index không linh hoạt vì khi các từ vựng thay đổi (thêm, sửa, xóa, …) dẫn tới chỉ số Index cũng phải thay đổi theo
2.3.2 Mô hình phân tích cú pháp
Trong mô hình này, mỗi văn bản đều phải được phân tích cú pháp và trả lại thông tin chi tiết về chủ đề của văn bản đó Sau đó, người ta tiến hành Index các chủ đề của từng văn bản Cách Index trên chủ đề cũng giống như Index trên văn bản nhưng chỉ Index trên các từ xuất hiện trong chủ đề
Các văn bản được quản lý thông qua các chủ đề này để có thể tìm kiếm được khi có yêu cầu, câu hỏi tìm kiếm sẽ dựa trên các chủ đề trên
Một số ưu điểm, nhược điểm của phương pháp này
Trang 342.3.3 Mô hình không gian vector
Cách biểu diễn văn bản thông dụng nhất là biểu diễn bởi một vector thông qua mô hình không gian vector (Vector Space Model) Đây là một cách biểu diễn tương đối đơn giản và hiệu quả
Theo mô hình này, mỗi văn bản được biểu diễn thành một vector Mỗi thành phần của vector là một từ khóa riêng biệt trong tập văn bản gốc và được gán một giá trị là hàm f chỉ mật độ xuất hiện của từ khóa trong văn bản
Hình 2.2: Biểu diễn vector văn bản trong không gian 2 chiều
Giả sử ta có một văn bản và nó được biểu diễn bởi vector V(v1,v2, …, vn) Trong đó, vi là số lần xuất hiện của từ khóa thứ i trong văn bản Ta xét 2 văn bản sau:
VB1: Life is not only life
VB2: To life is to fight