Tải bản đầy đủ (.docx) (25 trang)

Báo cáo máy học Tính toán độ tương tự ngữ nghĩa văn bản dựa vào độ tương tự giữa từ với từ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (274.25 KB, 25 trang )

LỜI CẢM ƠN
Em xin chân thành cảm ơn các thầy, cô giáo trong Khoa Công nghệ thông tin,
trường Đại học Điện Lực, đã tạo điều kiện cho em thực hiện đề tài này.
Xin cảm ơn Tiến sỹ Nguyễn Thị Thu Hà đã tận tình hướng dẫn, chỉ bảo nhóm em
trong suốt thời gian thực hiện đề tài. Trong thời gian được làm việc với cô, em không
những học hỏi được nhiều kiến thức bổ ích mà còn học được tinh thần làm việc, thái độ
nghiên cứu khoa học nghiêm túc của cô.
Xin gửi lời cảm ơn chân thành đến gia đình, và bè bạn vì đã luôn là nguồn động
viên to lớn, giúp đỡ em vượt qua những khó khăn trong suốt quá trình học tập.
Mặc dù đã cố gắng hoàn thiện đồ án với tất cả sự nỗ lực của bản thân, nhưng chắc
chắn không thể tránh khỏi những thiếu sót. Kính mong quý Thầy Cô tận tình chỉ bảo.
Một lần nữa, em xin chân thành cảm ơn và luôn mong nhận được sự đóng góp quý
báu của tất cả mọi người
Hà Nội, tháng 12 năm 2014
Sinh viên thực hiện
NHẬN XÉT
····························································································
····························································································
····························································································
····························································································
····························································································
····························································································
····························································································
····························································································
····························································································
····························································································
····························································································
····························································································
····························································································
····························································································
····························································································


MỤC LỤC

LỜI MỞ ĐẦU
1. Tính cấp thiết của đề tài
Trong thời đại công nghệ số như hiện nay, các nguồn tài liệu là vô cùng phong
phú. Việc “sao chép tài liệu” theo nghĩa tiêu cực như đạo văn, sao chép các luận án,
luận văn, đồ án trở nên phổ biến và đang là vấn nạn. Ở qui mô rộng hơn, 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
trong những thư viện điện tử khác nhau, trên các trang web khác nhau.
Làm thế nào để phát hiện sự sao chép tài liệu theo nghĩa tiêu cực? Làm thế nào
ngăn chặn việc sao chép trái phép, đạo văn, đạo nhạc, đạo luận văn, đồ án? Chủ đề này
đã được nghiên cứu từ khoảng hơn 10 năm qua. Hiện tại, đã có một số giải pháp cho
việc phát hiện sao chép và một vài công cụ phần mềm cho phép phát hiện một tài liệu
(gọi là văn bản kiểm tra) có sao chép từ một tập hợp các tài liệu nguồn hay không. 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ư tập các 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 một tài liệu nào 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ỉ có hiệu quả nếu việc sao chép là “nguyên văn”. Do vậy một
yêu cầu cấp bách đặt ra là làm thế nào để phát hiện việc sao chép khi có sửa đổi đôi
chút như thay thế một số từ bằng từ đồng nghĩa hay thay đổi một ít trong thứ tự các
câu trong văn bản.
Chính vì vậy, đề tài “Tính toán độ tương tự ngữ nghĩa văn bản dựa vào độ tương
tự giữa từ với từ” được chọn làm đề tài luận văn tốt nghiệp của tôi.
2. Mục tiêu của đề tài
Vận dụng các phương pháp tính độ tương tự giữa từ với từ để tính độ tương đồng
ngữ nghĩa giữa hai văn bản giúp phát hiện một văn bản có được sao chép từ văn bản
kia hay không.
3. Đối tượng và nhiệm vụ của đề tài:

• Tập các văn bản trong bộ dữ liệu mẫu.
• Tập các tài liệu trên Internet.
Nhiệm vụ: đề tài tập trung vào tính độ tương tự ngữ nghĩa văn bản dựa trên tập
ngữ liệu có sẵn. Trong đó có tận dụng tối đa các đặc điểm của kho ngữ liệu, đến độ
tương tự giữa từ với từ và tập các từ đồng nghĩa.
4. Phương pháp và nội dung nghiên cứu
• Nghiên cứu lý thuyết về độ tương tự, các cách tính độ tương tự giữa từ với từ.
• Nghiên cứu về kho ngữ liệu, hiện tượng từ đồng nghĩa.
• Tìm hiều các cách tách từ trong văn bản tiếng Việt.
• Nghiên cứu các phương pháp tính độ tương tự ngữ nghĩa văn bản dựa trên độ tương
tự giữa từ với từ.
5. Kết cấu của báo cáo
Nội dung chính của luận văn gồm 4 chương:
• Chương I: Khái niệm độ tương tự.
• Chương II: Độ tương tự từ-từ.
• Chương III: Độ tương tự văn bản-văn bản.
• Chương IV: Tính độ tương tự ngữ nghĩa văn bản dựa vào độ tương tự giữa từ với từ.
6
CHƯƠNG 1. KHÁI NIỆM ĐỘ TƯƠNG TỰ
1.1. Tổng quan về độ tương tự
Nghiên cứu “sự tương tự” (thường ở dạng đối ngẫu của nó là “khoảng cách”)
thuộc phạm vi toán học, chẳng hạn trong lý thuyết tôpô và xấp xỉ; nhưng trong khoa
học máy tính và các ứng dụng máy tính có phần khác. Trong khoa học máy tính, phép
tính xấp xỉ thường được sử dụng theo một lối không có tính hệ thống (non-systematic)
và không theo thể thức (ad-hoc). Trong ngữ cảnh này, khái niệm “sự tương tự” xuất
hiện ở nhiều dạng, diễn xuất, và nhiều ứng dụng.
Khái niệm “sự tương tự” có nhiều dạng khác nhau. Bất chấp những khác biệt,
chúng đều có điểm chung: “sự tương tự” được sử dụng để so sánh hai (hay nhiều) đối
tượng, hai hoàn cảnh, hai vấn đề, v.v… với nhiều nguyên do khác nhau. Luôn có mục
đích nào đó với một phép so sánh như thế, bởi vì một hành động tiếp sau đó được thực

hiện và cuối cùng thì một vấn đề nào đó phải được giải quyết. Vì lý do đó, hai đối
tượng được đem so sánh giữ những vai trò khác nhau. Đối tượng thứ nhất đang được
xem xét và được gọi là vấn đề (problem). Đối tượng thứ hai là đã biết và đã lưu;
thường được gọi là bản mẫu (prototype) hay tình huống (case).
“Sự tương tự” được sử dụng một cách gián tiếp trong quá trình giải quyết vấn
đề, nổi bật là các phương pháp dựa trên phép loại suy (Analogy), lập luận dựa theo
tình huống (Case-Based Reasoning), và nhận dạng mẫu (Pattern Recognition). Chúng
có liên hệ với nhau và không có ranh giới rõ ràng giữa phép loại suy và các phương
pháp khác. Ở đây, chúng ta chấp nhận quan điểm rằng phép loại suy gắn với các đối
tượng thuộc nhiều lĩnh vực, trong khi CBR và nhận dạng mẫu sử dụng độ tương tự
trong cùng một lĩnh vực. Một khác biệt cơ bản giữa CBR và phép loại suy là CBR
thường (không phải luôn luôn) xét các đối tượng được mô tả theo cùng ngôn ngữ mô
tả và thuật ngữ, trong khi phép loại suy có thể xét các lý thuyết hoàn toàn khác nhau.
Dưới đây là một số ngữ cảnh cần đến “sự tương tự”:
• Lập luận dựa theo tình huống (CBR) là một cách rất tổng quát để giải quyết vấn
đề bằng cách sử dụng các kinh nghiệm trước đó. Những kinh nghiệm này được
ghi lại trong một cơ sở dữ liệu gọi là kho tình huống. Ý tưởng bên dưới nhằm tái
sử dụng những kinh nghiệm là: “Nếu hai vấn đề là tương tự thì chúng có các giải
pháp tương tự”. CBR cũng có một giả định cơ bản là luôn tồn tại kinh nghiệm.
7
Với điều kiện này, CBR có thể được áp dụng cho hầu hết các dạng ứng dụng.
Thường thì có rất nhiều kinh nghiệm được lưu trữ và một khía cạnh thiết yếu là
nhanh chóng tìm ra những kinh nghiệm hữu ích (bài toán thu hồi).
• Trong cơ sở dữ liệu (Databases), “sự tương tự” cũng có liên quan với tìm kiếm,
và có quan hệ nào đó với CBR. Đa phần cơ sở dữ liệu cần so trùng chính xác.
Các phép đo độ tương tự giữ một vai trò trong một số cơ sở dữ liệu đặc biệt như
cơ sở dữ liệu không gian (spatial database) hay cơ sở dữ liệu địa lý (geo-
database).
• Nhận dạng mẫu (Pattern Recognition) cũng là một vấn đề rất tổng quát, nghiên
cứu sự vận hành và thiết kế các hệ thống nhận dạng các mẫu trong dữ liệu. Vì

những mẫu như thế không phải lúc nào cũng giống hệt nhau, khái niệm “sự
tương tự” thường đóng một vai trò quyết định.
• Trong phân loại (Classification) và phân tích cụm (Cluster Analysis), “sự tương
tự” được sử dụng để phân loại các đối tượng: các đối tượng tương tự thuộc về
cùng một lớp/cụm, các đối tượng không tương tự thuộc về các lớp/cụm khác
nhau.
• Trong diễn xuất hình ảnh (Image Interpretation), các hình ảnh được diễn xuất
theo ý nghĩa của chúng và chúng được so sánh với nhau. Ví dụ, một ảnh y khoa
thực tế và một ảnh không có bệnh lý nào đó được so sánh với nhau; độ tương tự
giữa những ảnh này được sử dụng để cho biết ảnh thực kia có chứa bệnh lý hay
không. Xác minh hình ảnh (Image Identification) cũng thuộc về lĩnh vực này.
• Trong tâm lý học nhận thức và xã hội (Cognitive and Social Psychology), “sự
tương tự” là cái gì đó chủ quan; ám chỉ thái độ, giá trị, sở thích, và cá tính giữa
những con người tương xứng mức độ nào. Có nhiều dạng mô hình về sự tương tự
trong tâm lý học, bốn mô hình nổi bật là hình học (geometric), đặc tính (featural),
dựa trên canh lề (alignment-based), và biến đổi (transformational).
• Trong lĩnh vực an ninh, quốc phòng để xác định đối tượng ảnh khi muốn xác
định vân tay, kiểm tra những băng đĩa mang những nội dung cần kiểm soát,…
Độ đo tương tự là một trong những phương pháp tốt để máy tính phân biệt được
các văn bản qua nội dung của chúng. Xét trên khía cạnh nào đó, độ tương tự càng
lớn, hai văn bản giống nhau càng nhiều.
1.2. Khái niệm độ tương tự
8
Độ tương tự là một khái niệm quan trọng và đã được sử dụng rộng rãi. Các định
nghĩa trước đây về độ tương tự được trói buộc trong một ứng dụng cụ thể hoặc một dạng
thể hiện của tri thức.
Nhiều độ đo độ tương tự đã được đưa ra, chẳng hạn như nội dung thông tin (Resnik,
1995b), độ đo thông tin chung(mutual information – Hindle, 1990), độ đo 7 dựa trên
khoảng cách (Lee et al., 1998; Rada et al 1998) và mô hình đặc trưng tương phản
(Tversky, 1977). McGill etc đã khảo sát và so sánh 67 độ đo độ tương tự đã sử dụng

trong tìm kiếm thông tin (McGill et al., 1979).
Một vấn đề trong độ đo độ tương tự trước đây là mỗi một trong số chúng bị trói
buộc trong một ứng dụng cụ thể hoặc đảm đương một mô hình cụ thể. Ví dụ độ đo về độ
tương tự giữa các khái niệm dựa trên khoảng cách (Lee et al., 1989; Rada et al.,và mô
hình đặc trưng tương phản(Tversky,1997).McGill etc đã khảo sát và so sánh 67 độ đo độ
tương tự đã sử dụng trong tìm kiếm thông tin(McGill et al,1979).
Một vấn đề trong độ đo độ tương tự trước đây là một trong số chúng bị trói buộc
trong một ứng dụng cụ thể hoặc đảm đương một mô hình cụ thể .Ví dụ độ đo về độ tương
tự giwuax các khái niệm dựa trên khoảng cách(Lê et al,1989;Rada et al,1989)thừa nhận
rằng phạm vi đã được thể hiện trong 1 mạng.Nếu 1 tập các tài liệu không được thể hiện
nhưu 1 mạng,ddoooj đo dựa trên khoaongr cách sẽ không được áp dụng.Hệ số dice(súc
sắc) và hệ số cosin chỉ có thể áp dụng khi các đối tượng được thể hiện nhưu các vecto đặc
trưng bằng số.
Một vấn đề khác với các độ đo độ tương tự trước đây là các điều giả định cơ bản
của chúng thường không ở trạng thái rõ ràng. Ngoài việc biết các giả định này, không thể
tạo ra sự tranh luận về mặt lý thuyết hay phản đối bất cứ độ đo cụ thể nào. Hầu hết tất cả
các so sánh và đánh giá của các độ đo độ tương tự trước đây đều dựa trên kết quả do kinh
nghiệm.
Định nghĩa độ tương tự đạt được 2 mục đích:
• Tính phổ biến (universality): Chúng ta định nghĩa độ tương tự trong thuật ngữ lý
thuyết thông tin. Điều đó có thể được áp dụng miễn là phạm vi có một mô hình xác
suất. Từ đó lý thuyết xác suất có thể được tích hợp với nhiều loại thể hiện của tri thức,
chẳng hạn như thứ tự logic (Bacchus, 1988) và mạng ngữ nghĩa (Pearl, 1988), định
nghĩa của chúng ta về độ tương tự có thể được áp dụng cho nhiều loại lĩnh vực mà
9
mỗi độ đo có một giả định riêng trước. Hơn nữa, tính phổ biến của định nghĩa còn cho
phép độ đo được sử dụng trong lĩnh vực không có giả định trước, chẳng hạn như độ
tương tự giữa các giá trị có thứ tự.
• Tính giả định (Theoretical Justification): độ đo độ tương tự không được định nghĩa
một cách trực tiếp bởi công thức. Hơn nữa, nó được phân phát từ một tập các giả định

về độ tương tự. Mặt khác, nếu các giả định được cho là hợp lý, độ đo độ tương tự cần
thiết phải xảy ra.
1.2.1.Định nghĩa độ tương tự (Definition of Similarity)
Mục đích của chúng ta là cung cấp định nghĩa chính thức về khái niệm độ tương tự,
đầu tiên chúng ta đưa ra các trực giác (intuitions) về độ tương tự.
• Trực giác 1: Độ tương tự giữa A và B có liên quan tới sự tương đồng của
chúng. Sự tương đồng càng nhiều, độ tương tự càng lớn.
• Trực giác 2: Độ tương tự giữa A và B có liên quan tới những sự khác biệt giữa
chúng. Càng nhiều sự khác biệt, độ tương tự càng thấp.
• Trực giác 3: Độ tương tự lớn nhất giữa A và B đạt được khi A và B giống hệt
nhau (đồng nhất - identical)
1.2.2.Độ tương tự giữa các giá trị có thứ tự ưu tiên (ordinal values)
Rất nhiều các đặc trưng có các giá trị ưu tiên. Ví dụ, thuộc tính “chất lượng” có
thể mang một trong các giá trị sau: “excellent”, “good”, “average”, “bad”, “awful”.
Không có một định nghĩa nào ở trên cung cấp độ đo độ tương tự giữa hai giá trị có thứ tự.
Bây giờ chúng ta sẽ chỉ ra cách định nghĩa của chúng ta có thể được áp dụng.
Nếu “chất lượng của X là excellent” và “chất lượng của Y là average”, sự mô tả cụ
thể nhất của cả X và Y là “chất lượng của X và Y ở giữa hai giá trị excellent và average”.
Do đó, sự tương đồng giữa hai giá trị ưu tiên được giới hạn bên trong giữa chúng.
1.2.3.Độ tương tự chuỗi (String Similarity-A case study)
Xem xét công việc tìm kiếm từ một danh sách từ các từ mà được xuất phát từ cùng
một gốc như là một từ cho sẵn.
Ví dụ, cho trước từ “eloquently”, mục đích của chúng ta là để tìm ra các từ liên
quan khác như “ineloquent”, “ineloquently”, “eloquent” và “eloquence”. Để làm điều đó,
ta có thể định nghĩa độ đo tương tự giữa hai chuỗi và xếp hạng các từ trong danh sách từ
theo thứ tự giảm dần của độ tương tự với từ cho sẵn. Những từ xuất phát từ cùng một từ
gốc nên xuất hiện sớm trong bảng xếp hạng.
10
1.3. Độ tương tự ngữ nghĩa
Độ tương tự ngữ nghĩa là một khái niệm ở đó tập các tài liệu hoặc các thuật ngữ

trong một danh sách các thuật ngữ được gán một tỷ lệ dựa trên sự giống nhau về nội dung
ý nghĩa của chúng.
Độ đo độ tương tự ngữ nghĩa gần đây được áp dụng và phát triển trong rất nhiều
lĩnh vực như trong y học (so sánh các gen), trong phân lớp văn bản (các văn bản tương tự
nhau thì cùng thuộc một lớp),…
Mỗi lĩnh vực khác nhau có các cách để tính độ tương ngữ nghĩa khác nhau. Sau đây
chúng ta sẽ tìm hiểu các phương pháp tính độ đo tương tự từ-từ và độ đo tương từ giữa
văn bản-văn bản.
11
CHƯƠNG 2. ĐỘ TƯƠNG TỰ GIỮA TỪ VÀ TỪ
2.1. Định nghĩa từ
Khái niệm từ nghe rất thông dụng dễ hiểu nhưng định nghĩa chính xác thế nào thì
không đơn giản. Từ trước tới nay cũng có nhiều định nghĩa được đưa ra, tất cả đều đúng
nhưng chưa hoàn chỉnh. Dưới đây, tôi nêu ra một số định nghĩa về từ.
Thời Hy Lạp cổ đại, trường phái ngôn ngữ Alexandre định nghĩa: “Từ là đơn vị nhỏ
nhất trong chuỗi lời nói”. Theo E.Sapir: “Từ là một đoạn nhỏ nhất có ý nghĩa, hoàn toàn
có khả năng độc lập và bản thân có thể làm thành câu tối giản”.
Còn với những nhà ngôn ngữ học tiếng Việt, thì theo Lê Văn Lý: “Từ là một tín
hiệu ngữ âm có thể cấu tạo bằng một âm vị hay sự kết hợp với âm vị, mà sự phát âm chỉ
tiến hành trong một lần, hoặc là một âm tiết mà chữ viết biểu thị bằng một đơn vị nhỏ
nhất trong chuỗi lời nói”. Theo E.Sapir: “Từ là một đoạn nhỏ nhất có ý nghĩa, hoàn toàn
có khả năng độc lập và bản thân có thể làm thành câu tối giản”.
Còn với những nhà ngôn ngữ học tiếng Việt, thì theo Lê Văn Lý: “Từ là một tín
hiệu ngữ âm có thể cấu tạo bằng một âm vị hay sự kết hợp với âm vị, mà sự phát âm chỉ
tiến hành trong một lần, hoặc là một âm tiết mà chữ viết biểu thị bằng một đơn vị tách rời
có thể hiểu được”. Theo Nguyễn Kim Thản thì “Từ là đơn vị cơ bản của ngôn ngữ, có thể
tách khỏi các đơn vị khác của lời nói để vận dụng một cách độc lập và là một khối hoàn
chỉnh về mặt ý nghĩa và cấu tạo”. Quan niệm của ông về “đơn vị cơ bản” là những đơn vị
có số lượng hữu hạn để thông báo, trao đổi tư tưởng cho nhau. Đơn vị này phải có ý
nghĩa, và khi sử dụng, người dùng phải có ý thức về nó. Chính vì thế, từ không thể là câu,

và không thể là âm tiết (vì nhiều khi âm tiết không có nghĩa và khi sử dụng, người dùng
không ý thức về nó).
Có người lại cho rằng “Từ là đơn vị nhỏ nhất có nghĩa, có kết cấu vỏ ngữ âm bền
vững, hoàn chỉnh, có chức năng gọi tên, được vận dụng độc lập, tái hiện tự do trong lời
nói để tạo câu”. Ví dụ: nhà, người, áo, nếu, sẽ, thì, đường sắt, sân bay, dạ dày, đen sì,
v.v
12
2.2. Cấu trúc từ
Từ tiếng Việt không giống với ngôn ngữ phương Tây khác là không thể tách để xác
định từ loại. Từ trong tài liệu tiếng Việt có thể là từ đơn (từ có cấu tạo từ một âm tiết)
hoặc từ ghép (từ có cấu tạo từ hai âm tiết trở lên).
2.3. Nghĩa của từ
Nghĩa của từ là một khái niệm đã được nêu ra từ lâu và cũng đã có nhiều cách hiểu,
nhiều định nghĩa khác nhau.
Nghĩa của từ cũng phản ánh những đặc trưng chung, khái quát của sự vật, hiện
tượng do con người nhận thức được trong đời sống thực tiễn tự nhiên và xã hội. Tuy
nhiên, nó có thể chưa phải là kết quả của nhận thức đã tiệm cận đến chân lí khoa học. Vì
thế, sự vật, hiện tượng nào mà càng ít được nghiênc cứu, phám phá thì nhận thức về nó
được phản ánh trong nghĩa của từ gọi tên nó càng xa với khái niệm khoa học.
Việc xác định nghĩa của từ trong văn bản là một trong những thách thức lớn nhất
trong xử lý ngôn ngữ tự nhiên. Nghĩa của từ chưa biết thường được suy ra từ văn cảnh sử
dụng chúng. Sự nhận dạng các từ đồng nghĩa là bước khởi đầu trong việc học định nghĩa
một từ.
13
CHƯƠNG 3. THUẬT TOÁN
3.1. Một số kết quả đã đạt được
Tiếng nói và chữ viết là hai yếu tố cơ bản nhất của bất kỳ ngôn ngữ nào. Trong sự
phát triển của công nghệ thông tin (CNTT) ở Việt Nam, một số việc liên quan đến “tiếng
Việt” đã được làm và ít nhiều có kết quả ban đầu:
Trước hết là các bộ gõ chữ Việt và thành công của việc đưa được bộ mã chữ Việt

vào bảng mã Unicode, cũng như việc chọn Unicode cho bộ mã chuẩn tiếng Việt (nhân
đây cũng xin nói thêm, do chưa ý thức về chuẩn, rất nhiều cán bộ CNTT, nhiều cơ quan
nhà nước vẫn chưa chịu đổi thói quen cũ để dùng bộ mã chuẩn Unicode, một việc rất
quan trọng của xử lý tiếng Việt). Bảo tồn chữ Nôm trên máy tính cũng là một việc đầy nỗ
lực và nhiều ý nghĩa được nhiều người theo đuổi lâu nay, cần được nhà nước tiếp tục ủng
hộ lâu dài ().
Tiếp theo có thể kể đến các chương trình nhận dạng chữ Việt in (OCR: optical
character recognition), như hệ VnDOCR của Viện Công nghệ Thông tin, Viện Khoa học
và Công nghệ Việt Nam. Các chương trình nhận dạng chữ in nhằm chuyển các tài liệu in
trên giấy thành các tài liệu điện tử (dưới dạng các tệp văn bản trên máy tính)
Các phần mềm hỗ trợ việc sử dụng tiếng nước ngoài, tiêu biểu là các từ điển song
ngữ trên máy tính, thí dụ như các từ điển điện tử của Lạc Việt đã được dùng rộng rãi trên
máy tính để tra cứu từ Anh-Việt, Việt-Anh. Điều ta cần phân biệt là các từ điển điện tử
này dành cho con người sử dụng, khác với từ điển điện tử dành cho máy tính sử dụng
trong xử lý ngôn ngữ tự nhiên (sẽ được đề cập ở phần sau).
Các nỗ lực trong việc làm các phần mềm dịch Anh-Việt, Việt-Anh, chẳng hạn như
các hệ dịch EVTRAN và VETRAN.
Một loại việc nữa là Việt hóa các phần mềm mà gần đây tiêu biểu là kết quả Việt
hóa Windows và Microsoft Office của Microsoft. Việc này có thể xem như việc “dịch”
các thông báo tiếng Anh cố định trong các phần mềm thành các thông báo tiếng Việt. Các
dữ liệu liên quan đến ngôn ngữ viết (văn bản) và nói (tiếng nói) đang dần trở nên kiểu dữ
liệu chính con người có và lưu trữ dưới dạng điện tử. Với sự ra đời và phổ biến của
Internet, của sách báo điện tử, của máy tính cá nhân,, của viễn thông, của thiết bị âm
thanh,…người người ai cũng có thể tạo ra dữ liệu văn bản hay tiếng nói. Vấn đề là làm
14
sao ta có thể xử lý chúng, tức chuyển chúng từ các dạng ta chưa hiểu được thành các
dạng ta có thể hiểu và giải thích được, tức là ta có thể tìm ra thông tin, tri thức hữu ích
cho mình. Sau đây là một số bài toán tiêu biểu của xử lý ngôn ngữ với các mức độ khác
nhau về xử lý và sử dụng ngôn ngữ tự nhiên của con người:
Nhận dạng tiếng nói (speech recognition): từ sóng tiếng nói, nhận biết và chuyển

chúng thành dữ liệu văn bản tương ứng [Jelinek, 1998], [Jurafsky and Martin, 2000].
Tổng hợp tiếng nói (speech synthesis): từ dữ liệu văn bản, phân tích và chuyển
thành tiếng người nói [Jelinek, 1998], [Jurafsky and Martin, 2000].
Nhận dạng chữ viết (optical character recognition, OCR): từ một văn bản in trên
giấy, nhận biết từng chữ cái và chuyển chúng thành một tệp văn bản trên máy tính.
Dịch tự động (machine translation): từ một tệp dữ liệu văn bản trong một ngôn ngữ
(tiếng Anh chẳng hạn), máy tính dịch và chuyển thành một tệp văn bản trong một ngôn
ngữ khác (tiếng Việt chẳng hạn) [Dorr et al, 2000], [Nagao, 1989].
Tóm tắt văn bản (text summarization): từ một văn bản dài (mười trang chẳng hạn)
máy tóm tắt thành một văn bản ngắn hơn (một trang) với những nội dung cơ bản [Mani
and Maybury, 1999].
Tìm kiếm thông tin (information retrieval): từ một nguồn rất nhiều tệp văn bản hay
tiếng nói, tìm ra những tệp có nội dung liên quan đến một vấn đề (câu hỏi) ta cần biết
(hay trả lời) [Baeza-Yates and Riberio-Neto, 1999]. Điển hình của công nghệ này là
Google, một hệ tìm kiếm thông tin trên Web, mà hầu như chúng ta đều dùng thường
xuyên.
Trích chọn thông tin (information extraction): từ một nguồn rất nhiều tệp văn bản
hay tiếng nói, tìm ra những đoạn bên trong một số tệp liên quan đến một Dịch tự động
(machine translation): từ một tệp dữ liệu văn bản trong một ngôn ngữ (tiếng Anh chẳng
hạn), máy tính dịch và chuyển thành một tệp văn bản trong một ngôn ngữ khác (tiếng
Việt chẳng hạn) [Dorr et al, 2000], [Nagao, 1989].
Tóm tắt văn bản (text summarization): từ một văn bản dài (mười trang chẳng hạn)
máy tóm tắt thành một văn bản ngắn hơn (một trang) với những nội dung cơ bản [Mani
and Maybury, 1999].
15
Tìm kiếm thông tin (information retrieval): từ một nguồn rất nhiều tệp văn bản hay
tiếng nói, tìm ra những tệp có nội dung liên quan đến một vấn đề (câu hỏi) ta cần biết
(hay trả lời) [Baeza-Yates and Riberio-Neto, 1999]. Điển hình của công nghệ này là
Google, một hệ tìm kiếm thông tin trên Web, mà hầu như chúng ta đều dùng thường
xuyên.

Trích chọn thông tin (information extraction): từ một nguồn rất nhiều tệp văn bản
hay tiếng nói, tìm ra những đoạn bên trong một số tệp liên quan đến một vấn đề (câu hỏi)
ta cần biết hay trả lời [Cohen and McCallum, 2003].
Phát hiện tri thức và khai phá dữ liệu văn bản (knowledge discovery and text data
mining): từ những nguồn rất nhiều văn bản thậm chí hầu như không có quan hêj với
nhau, tìm ra được những tri thức trước đấy chưa ai biết. Đây là một vấn đề rất phức tạp
và đang ở giai đoạn đầu của các nghiên cứu trên thế giới [Berry, 2004], [Sirmakessis,
2004].
Còn nhiều bài toán và công nghệ xử lý ngôn ngữ khác, như giao diện người máy
bằng ngôn ngữ tự nhiên, các hệ hỏi đáp, các hệ sinh ra ngôn ngữ,…
3.2. Tách từ trong văn bản
Tách từ là một khó khăn chính trong việc xử lý văn bản theo ngữ nghĩa đối với các
ngôn ngữ châu Á như tiếng Hoa, tiếng Nhật, tiếng Hàn và cả tiếng Việt. Mặc dù được
viết bằng các ký tự Latinh mở rộng, tiếng Việt cũng có những đặc tính chung với các
ngôn ngữ Đông Nam Á khác như khó xác định ranh giới giữa các từ và có các điểm khác
biệt về ngữ âm, văn phạm và ngữ nghĩa so với các ngôn ngữ Ấn Âu. Do đó rất khó có
thể áp dụng các kỹ thuật và hướng tiếp cận đã được nghiên cứu và thử nghiệm thành
công trên các ngôn ngữ Ấn Âu cho tiếng Việt nếu không xây dựng thành công giải pháp
cho việc tách từ trong văn bản tiếng Việt.
3.3. Độ tương tự văn bản-văn bản
Các độ đo độ tương tự văn bản đã được dùng từ rất lâu trong các ứng dụng của xử
lý ngôn ngữ tự nhiên và các lĩnh vực liên quan. Một trong những ứng dụng sớm nhất của
độ tương tự văn bản có lẽ là mô hình vecto trong tìm kiếm thông tin, ở đó tài liệu có liên
quan nhất tới câu truy vấn đầu vào được xác định bằng cách xếp hạng các tài liệu trong
tập theo thứ tự ngược của độ tương tự (Salton f Lesk 1971). Độ tương tự văn bản cũng
được dùng cho phản hồi liên quan (relevance feedback), phân lớp văn bản (Rochio 1971),
16
và gần đây hơn là cho trích chọn văn bản (Salton et al. 1997), và phương pháp cho việc
đánh giá dịch máy tự động (Papineni et al. 2002) hay tóm tắt văn bản (Lin f Hovy 2003).
Độ đo độ tương tự văn bản cũng được sử dụng cho việc đánh giá tính chặt chẽ của văn

bản (Lapata f Barzilay 2005).
3.4. Thuật toán
3.4.1. Tính tần suất của từ chủ đề
- Kiểm tra từ chủ đề có trong văn bản không
private static string KiemtraTuChuDe(string tuchude, string vanban)
{
Regex thegex = new Regex(tuchude.ToLower());// truyền vào từ cần tìm
MatchCollection theMatches = thegex.Matches(vanban.ToLower());//trả về các
phần tử trong văn bản
int str = 0;
foreach (Match theMatch in theMatches)
{
str++;
}// đếm số lần xuất hiện. vd như có 3 phần tử tức là 3 lần xuất hiện.
if (str!=0)// nếu xuất hiện thì trả về từ chủ đề
{
return tuchude;
}
else// ngược lại trả về null
{
return null;
}

}
- Đếm số lần xuất hiện của từ chủ đề trong văn bản
private static int LanXuatHienTuChuDe (string tuchude, string vanban)
{
Regex thegex = new Regex(tuchude.ToLower());
MatchCollection theMatches = thegex.Matches(vanban.ToLower());
int str = 0;

//tương tự nhưng khi nó trả về thì trả về số lần xuất hiện luôn
foreach (Match theMatch in theMatches)
{
17
str++;
}
return str;
}
- Trả về danh sách các từ chủ đề trong văn bản
public static List<string> DanhSachTuChuDe(string Vanban)
{
List<string> list = new List<string>();
DataSet ds = new DataSet();
ArrayList arr1 = new ArrayList();
ArrayList arr2 = new ArrayList();
Vocabulary vb = new Vocabulary();
ds = vb.get_PhanLoaiInfo();// lay danh sách các từ chủ đề
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)// duyệt tất cả các từ chủ
đề xem có từ nào có trong văn bản ko
{
string tuchude = ds.Tables[0].Rows[i]["Name_Vbl"].ToString();//lấy từ
chủ đề thứ i
string str = "";
str = KiemtraTuChuDe(tuchude, Vanban);// kiểm tra từ thứ i có trong văn
bản không
if (str != null)// nếu có thì thêm từ chủ đề này vào danh sách
{
list.Add(str);
}


}
return list;
}
- Trả về 1 ma trận tần xuất của mỗi từ chủ đề
public static string[,] TanSuatCuaTuChuDe(string vanban)
{
List<string> DanhSachTu = DanhSachTuChuDe(vanban);// lấy ra các từ chủ đề
trong văn bản
string[,] ketqua = new string[DanhSachTu.Count, 2];// khải báo ma trận 2
chiều
18
int tongsotu = 0;
for (int i = 0; i < DanhSachTu.Count; i++)
{
string tu = DanhSachTu[i].ToString();
tongsotu += LanXuatHienTuChuDe(tu, vanban);
}
for (int i = 0; i < DanhSachTu.Count; i++)// duyêt từng từ để tính tần suất
xuất hiện của từng từ
{
string tu = DanhSachTu[i].ToString();
int solanxuathien = LanXuatHienTuChuDe(tu, vanban);

if (solanxuathien!=0)
{
double tanxuat = (double)solanxuathien / (double)tongsotu;
ketqua[i, 0] = tu;
ketqua[i, 1] = tanxuat.ToString();
}



}
return ketqua;
}
3.4.2. Tính khoảng cách từng cặp văn bản
- Kiểm tra văn bản 1
for (int i = 0; i < tuchudevb1.GetLength(0); i++)
{
double kq=-1;
for (int j = 0; j < tuchudevb2.GetLength(0); j++)
{
if (tuchudevb1[i, 0].ToString() == tuchudevb2[j, 0].ToString())
{
kq=(Math.Abs(double.Parse(tuchudevb1[i, 1]) -
double.Parse(tuchudevb2[j, 1])));
}
}
if (kq==-1.0)
19
{
captu.Add(Math.Abs(double.Parse(tuchudevb1[i,1])-0));
}
else
{
captu.Add(kq);
}

}
- Kiểm tra văn bản 2
for (int i = 0; i < tuchudevb2.GetLength(0); i++)

{
double kq1 = -1;
for (int j = 0; j < tuchudevb1.GetLength(0); j++)
{
if (tuchudevb2[i, 0].ToString() == tuchudevb1[j, 0].ToString())
{
kq1 = (Math.Abs(0 - double.Parse(tuchudevb2[i, 1])));
}
}
if (kq1==-1.0)
{
captu.Add(Math.Abs(0-double.Parse(tuchudevb2[i, 1])));
}
}
- Tính khoảng cách
for (int i = 0; i < captu.Count; i++)
{
khoangcach = khoangcach + double.Parse(captu[i].ToString()) *
double.Parse(captu[i].ToString());
}
return Math.Sqrt(khoangcach);
20
CHƯƠNG 4. XÂY DỰNG HỆ THỐNG
4.1. Phần mềm sử dụng
- Visual studio 2010
- Microsoft sql 2008
4.2. Giao diện chính
Hình 4.1. Giao diện khi nhập vào 2 văn bản giống hệt nhau
- Input: chọn cùng 1 văn bản vào 2 ô text
- Nhấn so sánh

- Khoảng cách sẽ ra 0 do đầu vào là 2 văn bản giống hệt nhau
- Kết luận đưa ra là 2 văn bản có sự sao chép 100%
21
Hình 4.2. Giao diện khi nhập vào 2 văn bản khác nhau
- Input: chọn 2 văn bản khác nhau vào 2 ô text.
- Nhấn so sánh.
- Khoảng cách sẽ ra khác 0 do đầu vào là 2 văn bản không giống nhau.
- Kết luận đưa ra là 2 văn bản khác nhau.
22
Hình 4.3. Giao diện khi nhập vào 2 văn bản có phần giống nhau
- Input: chọn cùng 1 văn bản vào 2 ô text.
- Nhấn so sánh.
- Khoảng cách sẽ ra khác 0 do đầu vào là 2 văn bản không giống hệt nhau
- Kết luận đưa ra là 2 văn bản có sự nghi ngờ sao chép.
4.3. Hướng dẫn sử dụng
- Chọn văn bản 1 vào ô text 1.
- Chọn văn bản 2 vào ô text 2.
- Nhấn button so sánh để thực hiện so sánh 2 văn bản
- Kết quả sẽ được hiện lên ở dòng khoảng cách chính là độ tương đồng giữa 2
văn bản ta vừa chọn.
- Kết luận đưa ra là sao chép hay nghi ngờ hay khác nhau.
KẾT LUẬN
Độ đo độ tương tự văn bản nếu tính chính xác thì đó sẽ là một độ đo tốt để xác
minh việc sao chép tài liệu, hơn nữa nó còn có thể áp dụng cho hệ thống tìm kiếm
thông tin,…Lí do là hiện nay các nguồn tài liệu trên Internet là quá nhiều, việc nội
dung của các loại tin tức bị trùng lặp là điều không thể tránh khỏi.
Sau một thời gian nghiên cứu và bắt tay vào thực hiện, với mong muốn xây dựng
website hệ thống quản lý các khóa học ngắn hạn, được sự quan tâm và hướng dẫn tận
tình của cô… nhóm đã bước đầu hoàn thành đồ án :”…”
Hệ thống xây dựng được ở đây có thể được sử dụng trong việc học tập, nghiên

cứu cho sinh viên cũng như các giáo viên có nhu cầu.
Chương trình được xây dựng vận hành tương đối tốt nhưng còn nhiều hạn chế, cần tiếp
tục hiệu chỉnh để chương trình chạy tốt hơn.Nhóm em rất mong nhận được sự đóng
góp ý kiến và hướng dẫn của thầy cô để đồ án thêm hoàn thiện.
Chúng em xin chân thành cảm ơn!
Hướng phát triển
• Tìm hiều về khái niệm độ tương tự, độ tương tự về mặt ngữ nghĩa.
23
• Tìm hiều các cách tính độ tương tự giữa từ với từ (dựa trên cơ sở tri thức và
dựa trên kho ngữ liệu).
• Trên cơ sở tính toán độ tương tự từ-từ, luận văn đã xây dựng được hệ thống
tính độ tương tự giữa hai tệp văn bản và nội dung của hai trang web trên các
site VnExpress.net, Dantri.com
TÀI LIỆU THAM KHẢO
Tiếng Việt
- Nguyễn Thanh Hùng, Hướng tiếp cận mới trong việc tách từ để phân loại văn
- bản tiếng Việt sử dụng giải thuật di truyền và thống kê trên Internet.
- Trần Cao Đệ, Đo độ tương tự ngữ nghĩa tiềm ẩn để phát hiện việc sao chép tài liệu.
- Đỗ Phúc, Đỗ Hoàng Cường, Nguyễn Tri Tuấn, Huỳnh Thụy Bảo Trân, Nguyễn Văn
Khiết, Nguyễn Việt Hoàng, Nguyễn Việt Thành, Phạm Phú Hội, Dương Ngọc Long
Nam, Nguyễn Phước Thanh Hải, Phát triển một hệ thống S.E hỗ trợ tìm kiếm thông
tin, thuộc lãnh vực CNTT trên Internet qua từ khóa bằng tiếng Việt.
Tiếng Anh
- Rada Mihalcea, Courtey Corley, Carlo Strapparava, Corpus-based and Knowledge-
based Measures of Text Semantic Similarity, in Proceedings of the American
Association for Artificial Intelligence (AAAI 2006), Boston, July 2006.
- Michael Mohler and Rada Mihalcea, Text-to-text Semantic Similarity for Automatic
Short Answer Grading, in Proceedings of the European Chapter of the Association
for Computational Linguistics (EACL 2009), Athens, Greece, March 2009
Internet

- />dua-vao-do-tuong-tu-giua-tu-voi-tu-53112/
- />24
25

×