BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
——-o0o——-
ISO 9001:2008
ĐỒ ÁN TỐT NGHIỆP
NGÀNH CÔNG NGHỆ THÔNG TIN
HẢI PHÒNG – 2016
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
——-o0o——-
ÁP DỤNG KỸ THUẬT PHÂN TÍCH NGỮ NGHĨA TIỀM
ẨN TRONG ĐỐI SÁNH VĂN BẢN
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ LIÊN THÔNG
Ngành Công nghệ thông tin
HẢI PHÒNG – 2016
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
——-o0o——-
ÁP DỤNG KỸ THUẬT PHÂN TÍCH NGỮ NGHĨA TIỀM
ẨN TRONG ĐỐI SÁNH VĂN BẢN
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ LIÊN THÔNG
Ngành Công nghệ thông tin
Sinh viên thực hiện: Nguyễn Minh Thành
Mã số sinh viên:
1513101003
Giáo viên hướng dẫn: Nguyễn Trịnh Đông
HẢI PHÒNG – 2016
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
——-o0o——-
NHIỆM VỤ TỐT NGHIỆP
SINH VIÊN: NGUYỄN MINH THÀNH
MÃ SỐ:
1513101003
LỚP:
CTL901
NGÀNH:
CÔNG NGHỆ THÔNG TIN
TÊN ĐỀ TÀI:
ÁP DỤNG KỸ THUẬT PHÂN TÍCH NGỮ NGHĨA
TIỀM ẨN TRONG ĐỐI SÁNH VĂN BẢN
NHIỆM VỤ ĐỀ TÀI
NỘI DUNG VÀ YÊU CẦU CẦN GIẢI QUYẾT TRONG NHIỆM VỤ ĐỀ TÀI
TỐT NGHIỆP
A. NỘI DUNG.
– Tìm hiểu các phương pháp phân cụm.
– Tìm hiểu một số phương pháp tạo các luật cơ bản và các giải thuật liên quan.
– Đề ra phương pháp xâp dựng hệ thống.
– Thử nghiệm với các công cụ để giải quyết bài toán.
B. KẾT QUẢ CẦN ĐẠT ĐƯỢC:
a. Lý thuyết
– Nắm được các phương pháp phân cụm dữ liệu.
– Nắm được phương pháp luật hóa các chi thước và các giải thuật liên quan.
– Áp dụng kiến thức trong xâp dựng phần mềm thử nghiệm.
b. Thực nghiệm (chương trình)
– Thử nghiệm với các chương trình mã nguồn mở.
C. CÁC YÊU CẦU VỚI SINH VIÊN
– Có tinh thần trách nhiệm đối với công việc.
– Biết ít nhất một ngôn ngữ lập trình.
– Khả năng đọc và tổng hợp dữ liệu.
CÁN BỘ HƯỚNG DẪN ĐỀ TÀI TỐT NGHIỆP
Người hướng dẫn thứ nhất :
Họ và tên :
Nguyễn Trịnh Đông
Học hàm, học vị :
Thạc Sĩ
Cơ quan công tác : Trường Đại Học Dân Lập Hải Phòng
Nội dung hướng dẫn :
– Tìm hiểu các phương pháp phân cụm.
– Tìm hiểu một số phương pháp tạo các luật cơ bản và các giải thuật liên quan.
– Đề ra phương pháp xâp dựng hệ thống.
– Thử nghiệm với các công cụ để gải quyết bài toán.
Người hướng dẫn thứ hai :
Họ và tên : …………………………………………………………………………….
Học hàm, học vị :……………………………………………………..……………
Cơ quan công tác :
…………………………………………………………………….
Nội dung hướng dẫn : ……………………………………………………………….
Đề tài tốt nghiệp được giao ngày 03 tháng 10 năm 2016
Yêu cầu hoàn thành trước ngày 30 tháng 12 năm 2016
Đã nhận nhiệm vụ: Đ.T.T.N
Sinh viên
Đã nhận nhiệm vụ : Đ.T.T.N
Cán bộ hướng dẫn Đ.T.T.N
Hải Phòng, ngày……..tháng……..năm 2016
HIỆU TRƯỞNG
GS.TS.NGƯT Trần Hữu Nghị
7
PHẦN NHẬN XÉT TÓM TẮT CỦA CÁN BỘ HƯỚNG DẪN
1. Tinh thần thái độ của sinh viên trong quá trình làm đồ án
………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………..
………………………………………………………………………………..
2. Đánh giá chất lượng của đề tài (so với nội dung yêu cầu đã đề ra trong nhiệm vụ
đồ án)
……………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………….
……………………………………………………………………………….
3. Cho điểm của cán bộ hướng dẫn ( điểm ghi bằng số và chữ ):
………………………………………………………………………………………………………….
Ngày…….. tháng…….. năm 2016
CÁN BỘ HƯỚNG DẪN CHÍNH
( Ký, ghi rõ họ tên )
8
PHẦN NHẬN XÉT ĐÁNH GIÁ CỦA CÁN BỘ CHẤM PHẢN BIỆN ĐỀ TÀI TỐT NGHIỆP
1. Đánh giá chất lượng đề tài tốt nghiệp (về các mặt như cơ sở lý luận, thuyết minh
chương trình, giá trị thực tế, …)
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………
2. Cho điểm của cán bộ phản biện (điểm ghi bằng số ,chữ):
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
…………………………………………………………………………………………………
Ngày…….. tháng…….. năm 2016
CÁN BỘ CHẤM PHẢN BIỆN
(Ký, ghi rõ họ tên )
9
MỤC LỤC
MỤC LỤC 9
DANH MỤC HÌNH
……………………………………………………………………………
12
DANH MỤC BẢNG ………………………………………………………………………….
13
DANH MỤC TỪ VIẾT TẮT
……………………………………………………………….
14
LỜI NÓI ĐẦU …………………………………………………………………………………..
15
Chương 1: Giới thiệu đối sánh văn bản
……………………………………………….
17
1.1 Giới thiệu
……………………………………………………………………………………
17
1.2 Phân tách tài liệu thành các từ khóa (Filter)
………………………………..
17
1.2.1
Các nghiên cứu về cấu trúc của các nhà nghiên cứu Việt Nam 17
1.2.2
Tách tài liệu thành các từ khóa.
………………………………………
22
1.2.3
Giải pháp tách từ Tiếng Anh …………………………………………..
23
1.2.4
Giải pháp cho Tiếng Việt ………………………………………………..
23
1.3 Các hệ thống gợi ý (recommender systems – RS) ………………………….
25
1.3.1
Các khái niệm về Recommender System …………………………
25
1.3.2
Xử lý tài liệu tiếng Việt
……………………………………………………
26
1.3.3
Xử lý tài liệu theo ngữ nghĩa …………………………………………..
27
Chương 2: Phương pháp phân tích ngữ nghĩa tiềm ẩn …………………………….
30
2.1 Tiền xử lý
……………………………………………………………………………………
30
Phân nhóm văn bản
…………………………………………………………………..
30
Phương pháp phân nhóm phân cấp
……………………………………………
30
Phương pháp phân nhóm không phân cấp …………………………………
30
2.2 Tách từ ………………………………………………………………………………………
30
2.2.1
Tiếng trong tiếng Việt
……………………………………………………..
31
2.2.2
Từ trong tiếng Việt …………………………………………………………
31
2.2.3
Từ dừng và từ gốc
…………………………………………………………..
31
2.3 Các phương pháp tách từ phổ biến ……………………………………………..
32
2.3.1
Phương pháp Maximum Matching………………………………….
32
2.3.2
TF-IDF Term Frequency – Inverse Document Frequency ..
33
2.3.3
Phương pháp Transformation – based Learning (TBL) …..
34
2.3.4
Mô hình tách từ bằng WFST và mạng Neural …………………
34
2.3.5
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 ……………………………………………………………………………
35
2.4 Phương pháp phân tích ngữ nghĩa tiềm ẩn ………………………………….
36
10
2.4.1
Giới thiệu
……………………………………………………………………….
36
2.4.2
Khái niệm ………………………………………………………………………
37
2.4.3
Cách thức hoạt động ………………………………………………………
38
2.5 Đối sánh văn bản ………………………………………………………………………..
46
2.5.1
Độ tương đồng………………………………………………………………..
46
2.5.2
Độ tương đồng văn bản trong Tiếng Việt …………………………
49
2.6 Tính độ tương đồng cho toàn bộ văn bản …………………………………….
52
Chương 3: Bài toán áp dụng
………………………………………………………………
53
3.1 Giới thiệu ngôn ngữ R
…………………………………………………………………
53
3.1.1
Giới thiệu R ……………………………………………………………………
53
3.1.2
Các lện trong gói phân tích ngữ nghĩa tiềm ẩn trong R ……
54
3.2 Cài đặt và chạy chương trình
………………………………………………………
57
3.2.1
Cài đặt……………………………………………………………………………
57
3.2.2
Chạy chương trình ……………… Error! Bookmark not defined.
KẾT LUẬN ………………………………………………………………………………………
65
TÀI LIỆU THAM KHẢO …………………………………………………………………..
66
11
LỜI CẢM ƠN
Em xin chân thành cảm ơn thầy giáo Ths. Nguyễn Trịnh Đông đã tận tình chỉ
bảo, định hướng, góp ý cho em trong suốt thời gian qua. Để em có thể hoàn thành đồ
án tốt nghiệp. Cũng như em xin chân thành cảm ơn các thầy, cô trong Khoa công nghệ
thông tin trường ĐHDL Hải Phòng giúp đỡ em. Em cũng xin gửi lời cảm ơn tới gia
đình, bạn bè, những người luôn động viên, quan tâm và giúp đỡ em trong suốt thời
gian em làm đồ án.
Trong đồ án này không thể tránh được sẽ có nhiều thiếu sót. Em rất mong nhận
được những lời nhận xét, góp ý từ các thầy, cô và các bạn.
Hải phòng, ngày 24 tháng 12 năm 2016
Sinh viên
Nguyễn Minh Thành
12
DANH MỤC HÌNH
Hình 1: Sơ đồ cấu trúc từ của Nguyễn Tài Cẩn
…………………………………….
18
Hình 2: Hình minh họa tập tách văn bản ……………………………………………..
23
Hình 3: Giải thuật tách từ từ câu
…………………………………………………………
24
Hình 4: Cấu trúc giải thuật LSA …………………………………………………………
29
Hình 5: Sử dụng các khái niệm làm đại diện cho tài liệu ……………………….
37
Hình 6: Sơ đồ SVD của ma trận thuật ngữ tài liệu ………………………………..
42
Hình 7: Sơ đồ SVD được giảm lược của ma trận thuật ngữ – tài liệu ………
44
Hình 8: Cửa sổ làm việc của Rstudio ………………………………………………….
58
Hình 9: Cài đặt thư viện lsa ……………………………………………………………….
60
Hình 10: Các thư viện lsa ………………………………………………………………….
61
Hình 11: File lsa_plot.R
…………………………………………………………………….
62
Hình 12: Lệnh return…………………………………………………………………………
62
Hình 13: Các thuật ngữ-tài liệu…………………………………………………………..
63
Hình 14: Ma trận thuật ngữ tài liệu……………………………………………………..
63
Hình 15: Ma trận giảm chiều ……………………………………………………………..
64
Hình 16: Ma trận tài liệu-tài liệu ………………………………………………………..
64
Hình 17: Biểu đồ tương quan thuật ngữ-tài liệu ……………………………………
65
13
DANH MỤC BẢNG
Bảng 1: Bảng một số ví dụ về cấu trúc lưu trữ từ điển
…………………………..
25
Bảng 2: Số lần xuất hiện của thuật ngữ trong mỗi tài liệu ……………………..
41
14
DANH MỤC TỪ VIẾT TẮT
LSA
Latent Semantic Analysis
Phần tích ngữ nghĩa tiềm ẩn
SVD
Singular Value Decompotision
Tách giá trị số ít hoặc tách giá trị
riêng
TF-IDF
Term Frequency – Inverse
Document Frequency
Giải pháp đánh trọng số kết hợp
tính chất quan trọng của một từ
trong tài liệu chứa nó (TF-tần suất
xuất hiện của từ trong tài liệu) với
tính phân biệt của từ trong tập tài
liệu nguồn (IDF-nghịch đảo tần suất
tài liệu).
15
LỜI NÓI ĐẦU
Trong thời đại công nghệ số hiện nay, các nguồn tài liệu là vô cùng phong phú.
Việc tìm kiếm một tài liệu trở nên đơn giản hơn bao giờ hết, rất nhiều tài liệu, thông
tin tri thức mới mẻ đang phát triển từng giờ, giúp chúng ta thu nhận tri thức mọi lúc
và ở bất cứ đâu. Lợi ích là không thể bàn cãi. Nhưng như hai mặt của một vấn đề, ở
quy mô rộng lớn bao la như vậy, các thư viện điện tử ngày càng nhiều, một tài liệu có
thể được phát hành trên internet nhiều lần từ nhiều nguồn, theo nhiều định dạng khác
nhau, trong nhiều thư viện điện tử khác nhau, trên những trang web khác nhau. Tìm
kiếm là dễ dàng nhưng trích trọn ra được thông tin chính xác và hữu ích lại là vấn đề
không hề dễ dàng.
Làm thế nào để có thể nhận biết được đâu sẽ là tài liệu đúng, đâu sẽ là tài liệu đi
sao chép, góp nhặt từ các tài liệu khác mà tính chính xác không hề được kiểm chứng.
Chủ đề này đã được nghiên cứu từ gần 15 năm qua. Hiện tại, đã có một số giải pháp
khá hữu hiệu cho vấn đề này và một vài công cụ phần mềm cho phép phát hiện, tìm
kiếm một tài liệu hoặc một tập hợp các tài liệu nguồn phù hợp với yêu cầu. Tập hợp
các tài liệu nguồn có thể là đóng- tức là các tài liệu tập hợp trước trong một thư viện
điện tử hoặc là mở, chẳng hạn như các tập tài liệu văn bản trên internet.
Đã có một số nghiên cứu đề xuất các phương pháp khác nhau để xác định xem
một đoạn văn bản của một tài liệu có nằm trong có nằm trong một tài liệu khác hay
không. Các phương pháp này chủ yếu dựa trên tìm kiếm và so khớp chuỗi. Tuy nhiên,
các phương pháp so khớp chuỗi chỉ hiệu quả nếu từ hoặc tập từ, đoạn văn là “nguyên
văn”. Do vậy, một yêu cầu được đặt ra là làm thế nào để phát hiện việc được các tài
liệu có liên quan khi các tài liệu đó có sửa đổi như thay thế một số từ bằng từ đồng
nghĩa hoặc đổi thứ tự từ, câu trong văn bản. Từ đó, một ý tưởng được đưa ra, liệu rằng
tìm kiếm so sánh văn bản dựa trên nội dung, ý nghĩa sẽ cho hiệu quả cao hơn so với
các phương pháp tìm kiếm và so khớp chuỗi.
Xuất phát từ những lý do trên, em chọn đề tài: “Áp dụng phương pháp phân
tích ngữ nghĩa tiềm ẩn trong đối sánh văn bản”.
16
Mục tiêu của đề tài là đối sánh văn bản áp dụng phương pháp phân tích ngữ nghĩa
tiềm ẩn.
Đề tài được trình bày như sau:
Giới thiệu: Phát biểu bài toán
Chương 1: Trình bày các khái niệm và kiến thức cơ bản trong lĩnh vực đối sánh văn
bản.
Chương 2: Chương này tập trung trình bày các phương pháp phân tích xử lý và đối
sánh văn bản.
Chương 3: Chương này trình bày phần thực nghiệm chương trình dựa trên phân
tích ngữ nghĩa tiềm ẩn đã trình bày tại chương 2
Kết luận
Tài liệu tham khảo
17
CHƢƠNG 1: GIỚI THIỆU ĐỐI SÁNH VĂN BẢN
1.1 Giới thiệu
Trong các loại dữ liệu thì dữ liệu văn bản là dạng phổ biến nhất. Ngày nay, với sự
phát triển mạnh mẽ của Internet, dữ liệu văn bản đã trở nên phong phú về nội dung và
tăng nhanh về số lượng. Chỉ bằng một vài thao tác đơn giản, tại bất kì đâu, tại bất kì
thời điểm nào, ta cũng có thể nhận về một khối lượng khổng lồ các trang web và các
tài liệu điện tử liên quan đến nội dung tìm kiếm. Chính sự dễ dàng này cũng mang đến
cho chúng ta rất nhiều khó khăn trong việc chắt lọc ra các thông tin được coi là mới, là
riêng, là hữu ích giữa các tài liệu ấy. Và việc đầu tiên ta phải làm đó là biến đổi các
dạng văn bản ngôn ngữ tự nhiên thành dạng dữ liệu có cấu trúc, hay nói cách khác là
xử lý dữ liệu đầu vào.
1.2 Phân tách tài liệu thành các từ khóa (Filter)
Các tài nguyên là các tài liệu được thể hiện dưới dạng văn bản như một cuốn
sách, tạp chí, hay một bài báo, bài diễn văn điện tử nào đó. Với những tài liệu tiếng
Anh, một từ thường có một âm tiết, ta có thể dễ dàng xác định một từ dựa vào dấu
cách (space) hoặc dấu câu. Việc phân tách văn bản tiếng Anh thành các từ khóa không
khó khăn. Với những văn bản tiếng Việt, mỗi từ có thể có một, hai hoặc nhiều hơn số
lượng âm tiết. Việc phân tách thành từ khóa đối với văn bản tiếng Việt phải dựa trên từ
điển và các thuật toán đọc từ khóa sao cho đúng nghĩa nhất của câu.
Thí dụ: “Học sinh học sinh học” thì hệ thống sẽ tách thành Học sinh/học/sinh
học. Sau đó, loại bỏ các từ dừng (Stopword – Những từ mang ý nghĩa cảm thán, đại
từ…như anh, bạn, do đó…), những từ không mang nhiều ý nghĩa về nội dung.
1.2.1 Các nghiên cứu về cấu trúc của các nhà nghiên cứu Việt Nam
Các quan điểm trong nghiên cứu về ngữ pháp tiếng Việt, chúng ta có thể thấy rằng
chưa có một định nghĩa chuẩn thống nhất về cách gọi của từ loại cũng như cấu trúc các
ngữ của tiếng Việt. Trong đồ án này, người viết luận văn sẽ chủ trương bám sát theo
quan điểm được nhiều tác giả đã thống nhất, quan điểm này được đánh giá là khá phù
18
hợp với ngữ pháp tiếng Việt hiện tại. Đồng thời, trong quá trình xây dựng đồ án, tác
giả cũng tiến hành so sánh và bổ sung thêm những phần lý thuyết thuộc hai quan điểm
của Nguyễn Tài Cẩn và Diệp Quan Ban.
Nguyễn Tài Cẩn (1975) [Đặng Thị Hưởng] cho rằng cụm danh từ (danh ngữ) gồm
có ba phần: phần đầu, phần trung tâm và phần cuối như sơ đồ sau:
Ví dụ:
Trong thực tế danh ngữ còn có thể xuất hiện cả dưới dạng những dạng chỉ có hai
phần: phần đầu+phần trung tâm, phần trung tâm + phần sau hoặc phần đầu + phần sau.
Phần trung tâm của danh ngữ không phải chỉ có một từ trung tâm mà bao gồm cả
bộ phận trung tâm ghép gồm hai trung tâm T1 và T2, với hai vị trí T1, T2 bộ phận
trung tâm có thể xuất hiện dưới 3 biến dạng :
o Có đầy đủ : T1T2, ví dụ : con chim ( này)
o Dạng thiếu T1 : -T2, ví dụ : – chim (này)
o Dạng thiếu T2: T1-, ví dụ : con – ( này)
– Phần đầu của danh ngữ có tất cả 3 loại thành tố phụ (3 loại định tố) :
o Định tố “cái”, ví dụ : cái cậu học sinh ấy
o Định tố chỉ số lượng, ví dụ : mấy cái cậu học sinh ấy
o Định tố chỉ ý nghĩa toàn bộ, ví dụ : tất cả mấy cái cậu học sinh ấy
– Phần cuối của danh ngữ, có thể có 2 loại định tố có tổ chức hoàn toàn khác nhau:
o Loại định tố chỉ gồm một từ, ví dụ : một quyển sách quý
o Loại định tố do một mệnh đề đảm nhiệm, ví dụ : cuốn sách tôi vừa mua hôm qua
Phần đầu
Phần trung tâm
Phần sau
Ba
người
này
Cả hai
tỉnh
nhỏ ấy
Tất cả những cái
chủ trương
chính xác
Hình 1: Sơ đồ cấu trúc từ của Nguyễn Tài Cẩn
19
Trong tiếng Việt có thể dùng những từ loại sau đây để làm định tố cuối :
+ Danh từ, ví dụ : vườn cau
+ Tính từ, ví dụ : ghế dài, một cái ghể rất tốt
+ Động từ, ví dụ : bàn học
+ Từ chỉ trỏ, ví dụ : sáng nay, người ấy
+ Từ chỉ vị trí, ví dụ : nhà trong, cổng trước
+ Từ chỉ con số : giường một, ngày 27
Hồ Lê (1992) cho rằng vị trí của số lượng từ, đại từ chỉ định và sự kiện từ xoay
xung quanh danh từ theo mô hình sau :
Số lượng từ
D1
D2
Sự kiện từ (trừ đại từ chỉ định)
Đại từ chỉ định
Trong đó:
D1: gồm những danh từ như : con, cái, …; ông, bà…; loại, thứ, hạng, …; phía,
bên, nơi, chốn, buổi, hôm, ngày, giờ, khi, lúc…
D2: gồm những danh từ còn lại.
Ví dụ:
– Con mèo đen lớn rồi
– Cô y tá
– Phía ngoài sân
Nguyễn Kim Thản (1997) cho rằng việc nghiên cứu cụm danh từ chính là việc
nghiên cứu từ tổ danh từ, loại từ chiếm ưu thế tuyệt đối trong nhóm danh từ. Danh từ
có thể ghép với danh từ, thời vị từ, số từ, động từ, tính từ, đại từ và một số từ phụ khác
như : khi, lúc, hồi, dạo, thuở, khoảng, độ, bữa, buổi, đằng, phía, phương, nơi, bên, ngả,
lối, hạng, cái, loại, cỡ, khổ, bậc, ngạnh…
-Từ tố danh từ + danh từ (N):
o Từ tố N1 N2, ví dụ: cân gạo, bó rau, hòm sách, chùm cau, tóc mây, tiền nghìn,
sông Hồng, huyện Gia Lộc, nước Lào…
20
o Từ tố N1 z N2, ví dụ: quê của mẹ, nhà bằng gạch, kế hoạch về kinh tế, sách cho
thiếu nhi, nhãn ở Hưng yên…
oTừ tố N1 (z) N2, ví dụ: quê mẹ, nhà gạch, kế hoạch kinh tế, sách thiếu nhi, nhãn
Hưng yên…. (z : là giới từ).
-Từ tố danh từ + thời vị từ (E):
oTừ tổ N E, ví dụ: Ngoài nhà ngoài có cái giường mình nằm
oTừ tổ N (z) E, ví dụ: ý định (của) trên như thế nào ?
-Từ tố danh từ + số từ (F): từ chỉ số lượng bao giờ cũng đặt trước danh từ (FN),
ví dụ : hai cái bàn. Từ chỉ thứ tự bao giờ cũng đặt sau danh từ (NF), ví dụ : bàn số hai,
quyển thứ năm…
o Từ tố danh từ + động từ, ví dụ : cá sống, nước sôi, gió lùa, kế hoạch làm
việc….
o Từ tố danh từ + tính từ, ví dụ: quả táo vàng, cái áo trắng…
o Từ tố danh từ + đại từ chỉ định, ví dụ: con mèo ấy, cái xe này, …
Diệp Quang Ban (1999) đưa ra cấu tạo chung của cụm danh từ có ba phần: phần
trung tâm, phần phụ trước, phần phụ sau. Phần trung tâm thường là một danh từ hoặc
một ngữ danh từ. Trong phần phụ trước người ta đã xác định được ba vị trí khác nhau
sắp xếp theo một trật tự nhất định. Ở phần phụ sau thường nhận được hai vị trí có trật
tự ổn định. Phần phụ trước cụm danh từ chuyên dùng chỉ mặt số lượng của sự vật nêu
ở trung tâm, phần phụ sau chủ yếu dùng chỉ mặt chất lượng của sự vật nêu ở trung
tâm.
21
Phần phụ trước
Phần phụ trung tâm
Phần phụ sau
-3
-2
-1
0
1
2
Ví dụ:
tất cả
những con
mèo
đen
ấy
-3
-2
-1
0
1
2
Vị trí 0 là vị trí của danh từ chính
Vị trí -1 là vị trí của từ chỉ xuất cái
Vị trí -2 là vị trí của từ chỉ số lượng, ví dụ: một, hai,…; vài, ba, dăm, dăm ba…;
mỗi, từng, mọi…; những, các, một…; mấy
Vị trí -3 là vị trí của từ chỉ tổng lượng, ví dụ: hết thảy, tất cả, cả…
Vị trí 1 là vị trí của từ nêu đặc trưng miêu tả có thể gặp nhiều loại từ khác nhau
như: danh từ, động từ, tính từ, số từ, đại từ và thời vị từ.
Ví dụ:
phòng tạp chí, phòng đọc, phòng hẹp, phòng chúng tôi…
Vị trí 2 là vị trí của từ chỉ định, ví dụ: cái máy này, quả táo kia…
– Tóm tắt đặc trưng của cấu trúc ngữ pháp tiếng Việt, Anh
Các đặc điểm trong câu của tiếng Việt:
Câu được cấu tạo đa thành phần, có câu đơn, câu ghép, câu tối giản.
Các câu được phân tách bằng các dấu chấm câu.
Câu hoàn chỉnh có hoặc không sử dụng các trạng từ, từ cảm thán (các
stopword, sẽ được loại bỏ khi phân tách để lọc thông tin).
Câu được hình thành từ các từ, hoặc các câu đơn.
Mỗi câu mang một ý nghĩa thông tin hoàn chỉnh.
Như đã trình bày ở trên, ngày nay, các tài liệu viết tiếng Việt đang chuyển sang
khai thác trên font chữ chung, tuân theo chuẩn unicode. Điều này có lợi rất nhiều cho
việc đọc chính xác các tài liệu tiếng việt của các chương trình đọc.
22
Với các tài liệu tiếng Anh, các từ được phân cách nhau bởi dấu cách. Việc xử lý
phân tách từ từ các văn bản tiếng Anh tương đối dễ dàng.
Trong tiếng Việt không thể phân tách được thành những từ riêng bởi dấu cách. Vì
từ có thể gồm một, hai hoặc nhiều hơn số lượng âm tiết (số lượng từ ghép). Vì thế,
việc tách từ để chính xác đòi hỏi giải thuật tách từ tốt.
1.2.2 Tách tài liệu thành các từ khóa.
Mô hình này áp dụng cho những lần gợi ý đầu tiên, cho khi người dùng nhập từ
khóa.
Giải thuật tách từ khóa:
Input: tập tài nguyên là sách, tạp chí, trang thông tin (html) ở các định dạng tài
liệu.
Output: Tập các từ khóa với rank tương ứng.
Quá trình tìm kiếm sẽ ưu tiên với những khóa được lọc ra ở tập khóa có mức độ
ưu tiên được đánh giá bằng rank tương ứng của chúng.
Giải thuật này được thiết kế để chạy offline trong phiên bản đầu tiên. Quá trình
cập nhật tài liệu được người quản trị nhập. Chi phí thời gian cho modul này là khá lớn,
một cuốn sách điện tử tầm 200 trang tương ứng là 3 phút cho hệ thống đọc và tách
thành từ khóa.
Tập văn bản nguồn
Tập văn bản đã được phân tách
23
1.2.3 Giải pháp tách từ Tiếng Anh
Với các tài liệu tiếng Anh, từ của tiếng Anh được phân cách với nhau bằng dấu
cách. Điều đó có nghĩa là chúng ta có thể tách từ tiếng Anh bằng dấu phân tách là dấu
cách. Việc xử lý các stopword của tiếng anh thì chúng tôi cũng có một file gồm hơn 300
từ stopword của tiếng Anh để phục vụ cho việc loại bỏ stopword khỏi văn bản tách để
tách ra những từ quan trọng, tránh những từ mang ý nghĩa chung, hay chỉ là cảm thán.
1.2.4 Giải pháp cho Tiếng Việt
1.2.4.1 Các giải pháp đã có
Hiện có rất nhiều chương trình hỗ trợ việc phân tích cú pháp, tách từ, gán nhãn từ
tiếng Việt cùng với các giải thuật thuật toán khác nhau. Những đồ án được tham khảo là
chương trình Code_correct (chính xác loại văn bản dựa vào tập huấn luyện), chương
trình VNSegment của tác giả Phương Thái (chương trình khá hoàn chỉnh trong việc tách
từ và phân loại từ tiếng Việt. Chỉ có điều viết trên nền Java và không được cung cấp
sourcode và file thư viện), chương trình VNTokenizer (đề cập tới một số nghiên cứu
hữu ích cho việc tác từ).
1.2.4.2 Giải pháp sử dụng và nhận xét
Giải pháp được sử dụng được mô tả bằng giải thuật phía dưới. Dựa trên một bộ từ
điển tiếng Việt tương đối đầy đủ gồm hơn 99.000 từ và cụm từ.
Hình 2: Hình minh họa tập tách văn bản
24
Còn 1 từ
In Dictionary ?
Câu cần tách
Thêm từ mới vào mảng từ tách
STACK
Câu được cắt
Câu bên trái
Cắt tiếng bên trái
Giữ các từ đã cắt
Yes
Yes
No
No
Hình 3: Giải thuật tách từ từ câu
Tài liệu được tách thành các câu chuẩn (hoàn chỉnh). Giải thuật tách các từ khóa
từ các câu đó. Các từ trong câu sẽ được kiểm tra xem có tồn tại trong từ điển không
bằng các so sánh nó với các từ trong từ điển. Nếu nó “giống” từ trong từ điển, thì tách
từ đó và kiểm tra tiếp. Giải thuật trên giảm thiểu tối đa tình huống nhập nhằng. Tuy
nhiên trong trường hợp câu này thì giải thuật tách sai: Học sinh học sinh học
Học|sinh học|sinh học. Nhưng như tình huống này (thuộc địa bàn) thì lại giải quyết
tốt (thuộc|địa bàn).
25
Chi phí về thời gian cho giải thuật trên là rất lớn ở bước kiểm tra từ tách ra có
trong từ điển hay không. Từ điển với hơn 99.000 từ được load vào bộ nhớ trong dưới
với kiểu dữ liệu được tổ chức theo 2 kiểu như sau:
Một là mảng các string. Mỗi phần tử là từ hay cụm từ của từ điển. Mảng này được
sắp xếp theo thứ tự tăng dần của mã ASCII (Trong C#, kiểu dữ liệu mảng).
Tổ chức thành một arraylist mà mỗi phần tử của nó là mảng các string. Mảng các
string thuộc 1 phần tử nó giống nhau về âm tiết đầu tiên của từ. Ví dụ
Âm tiết
đầu
Từ, cụm từ
ả
ả đào
ả đầu
ả hoàn
ái
Ái
Ái ân
Ái chà
Ái
quốc
Ái nam
ái nữ
Ái thần
Ái tình
an
An cư lạc
nghiệp
An dưỡng
An giấc
Anh
Anh hàng
Anh hùng
Anh hùng
chủ nghĩa
Anh
kiệt
Anh linh Anh vũ
Ăn
Ăn
Ăn c ắp
Ăn tr ộm
Bảng 1: Bảng một số ví dụ về cấu trúc lưu trữ từ điển
Khi đọc một từ, ta tách âm tiết đầu tiên của nó và kiểm tra trước với các phần tử
đầu tiên của mảng, sau đó, kiểm tra tiếp với các phần tử trong mảng của nó. Khi đó, nó
sẽ tăng tốc độ tìm kiếm lên đáng kể.
1.3 Các hệ thống gợi ý (recommender systems – RS)
1.3.1 Các khái niệm về Recommender System
Recommender Systems (RS) là một hế thống lọc thông tin đặc biệt, hệ thống cho
phép lọc thông tin dựa trên sự quan tâm của người dùng và nội dung của văn bản. có hai