Xây dựng hệ thống thông tin tra cứu từ điển chuyên ngành có ngữ cảnh

Ngữ cảnh của từ điển chuyên ngành là rất quan trọng. Ngữ cảnh là một phần thông tin bằng văn bản

giúp cho người tra từ hiểu rõ nội dung ý nghĩa của từ khoá nhằm giúp việc sử dụng từ đúng vào từng

trường hợp cụ thể trong văn bản chuyên ngành, đặc biệt là trong học tập, nghiên cứu. Tuy nhiên, các hệ

thống tra cứu từ hiện tại thường tập trung hỗ trợ tra cứu từ và giải thích từ mà chưa quan tâm đến ngữ

cảnh của từ. Khi có được ngữ cảnh của từ, câu hỏi đặt ra là làm thế nào để có thể tìm kiếm được chính

xác ngữ cảnh hoặc hiển thị kết quả tìm kiếm gợi ý có liên quan đến từ khoá trong kho dữ liệu văn bản

ngữ cảnh? Trong bài báo này, chúng tôi đề xuất xây dựng phương pháp và mô hình tra từ điển chuyên

ngành có ngữ cảnh trên cơ sở phân tích, đánh giá và lựa chọn giải thuật tối ưu trong các phương pháp

so khớp văn bản. Sau đó, chúng tôi áp dụng giải thuật vào kỹ thuật tra từ của hệ thống. Tích hợp mô

hình đề xuất trên hệ thống website và thực nghiệm trên 1500 từ chuyên ngành cùng với ngữ cảnh thuộc

lĩnh vực Hệ thống thông tin quản lý và Thương mại điện tử. Hệ thống có thể hỗ trợ cùng lúc việc tra từ

điển bằng tiếng Anh và tiếng Việt.

pdf 11 trang kimcuc 7500
Bạn đang xem tài liệu "Xây dựng hệ thống thông tin tra cứu từ điển chuyên ngành có ngữ cảnh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Xây dựng hệ thống thông tin tra cứu từ điển chuyên ngành có ngữ cảnh

Xây dựng hệ thống thông tin tra cứu từ điển chuyên ngành có ngữ cảnh
Science & Technology Development, Vol 18, No Q3 - 2015 
Trang 82 
XÂY DỰNG HỆ THỐNG THÔNG TIN TRA CỨU TỪ ĐIỂN CHUYÊN NGÀNH CÓ 
NGỮ CẢNH 
BUILDING A INFORMATION SYSTEM FOR LOOKING UP CONTEXTUAL TECHNICAL 
DICTIONARY 
Hồ Trung Thành, Trần Thị Ánh 
Trường Đại học Kinh tế - Luật, ĐHQG HCM - Email: thanhht@uel.edu.vn 
Nguyễn Khánh Hoà 
Trường Đại học RMIT 
(Bài báo nhận ngày 28 tháng 07 năm 2015, hoàn chỉnh sửa chữa ngày 12 tháng 09 năm 2015) 
TÓM TẮT 
Ngữ cảnh của từ điển chuyên ngành là rất quan trọng. Ngữ cảnh là một phần thông tin bằng văn bản 
giúp cho người tra từ hiểu rõ nội dung ý nghĩa của từ khoá nhằm giúp việc sử dụng từ đúng vào từng 
trường hợp cụ thể trong văn bản chuyên ngành, đặc biệt là trong học tập, nghiên cứu. Tuy nhiên, các hệ 
thống tra cứu từ hiện tại thường tập trung hỗ trợ tra cứu từ và giải thích từ mà chưa quan tâm đến ngữ 
cảnh của từ. Khi có được ngữ cảnh của từ, câu hỏi đặt ra là làm thế nào để có thể tìm kiếm được chính 
xác ngữ cảnh hoặc hiển thị kết quả tìm kiếm gợi ý có liên quan đến từ khoá trong kho dữ liệu văn bản 
ngữ cảnh? Trong bài báo này, chúng tôi đề xuất xây dựng phương pháp và mô hình tra từ điển chuyên 
ngành có ngữ cảnh trên cơ sở phân tích, đánh giá và lựa chọn giải thuật tối ưu trong các phương pháp 
so khớp văn bản. Sau đó, chúng tôi áp dụng giải thuật vào kỹ thuật tra từ của hệ thống. Tích hợp mô 
hình đề xuất trên hệ thống website và thực nghiệm trên 1500 từ chuyên ngành cùng với ngữ cảnh thuộc 
lĩnh vực Hệ thống thông tin quản lý và Thương mại điện tử. Hệ thống có thể hỗ trợ cùng lúc việc tra từ 
điển bằng tiếng Anh và tiếng Việt. 
Từ khoá: Giải thuật so khớp mẫu, hệ thống thông tin, từ điển, chuyên ngành, ngữ cảnh. 
ABSTRACT 
The context of technical terms is very important. It is part of information in text which supports users in 
understanding the exact meaning of technical terms in particular specialized circumstances, especially 
in education and research. However, most of current dictionary systems only focus on the lookup 
function and the standard meaning of terms without considering related contexts. In this paper, we 
proposed the model for searching technical terms and context of terms based on analyzing, evaluating 
and choosing an optimal algorithm in pattern matching technique. Then, the model was integrated on a 
dictionary system and experimented on 1500 terms in the context of information system and electronic 
commerce. This dictionary system supports searching with technical terms both in Vietnamese and 
English. 
Keywords: Pattern - matching algorithm, information system, dictionary, technical term, context. 
1. GIỚI THIỆU 
Dựa trên nền tảng phát triển Internet, hiện 
nay có rất nhiều công cụ hỗ trợ việc tra cứu 
nghĩa của từ tiếng Anh và nhiều ngôn ngữ 
khác. Tại Việt Nam, có thể dễ dàng tìm thấy 
nhiều sách từ điển Anh - Việt được xuất bản, 
 TẠP CHÍ PHÁT TRIỂN KH & CN, TẬP 18, SỐ Q3 - 2015 
Trang 83 
các phần mềm tra cứu như Lạc Việt1, hay nhiều 
website hỗ trợ tra cứu online như: Vdict2, 
Google translate
3
, tratu.soha
4
, oxford 
dictionaries.com
5
, Dictionary.com
6 Các 
website này có thể cung cấp đầy đủ từ điển mà 
người dùng cần. Đa phần các website đều có 
cấu trúc tương đối giống nhau với giao diện 
thân thiện, dễ sử dụng. Các hệ thống website 
này hỗ trợ tra cứu trên nhiều bộ từ điển như: 
Anh - Việt, Việt - Anh, Anh - Anh và một số 
ngôn ngữ khác như: Trung Quốc, Nhật, Pháp 
Các hệ thống website từ điển hầu hết đều hỗ trợ 
dịch nghĩa của một từ và cả đoạn văn dài. 
Người dùng có thể truy cập vào hệ thống, thực 
hiện tra từ và hệ thống sẽ cung cấp một danh 
sách các nghĩa của từ, kể cả từ đồng nghĩa, từ 
liên quan,... Trong số các website tra từ điển 
tác giả đã khảo sát trên, trong đó một số 
website cho phép tra cứu từ chuyên ngành như 
thefreedictionary.com, whatis.techtarget.com, 
cambridge.org
7 Các website này có công cụ 
lọc theo từng lĩnh vực chuyên ngành cụ thể. 
Trong đó, whatis.techtarget.com là một website 
hỗ trợ tra cứu và cho kết quả là định nghĩa các 
từ liên quan đến kỹ thuật và công nghệ; 
tudienthuoc.net
8
 và ykhoanet.com là các 
website từ điển chuyên ngành về thuốc, y khoa; 
latin-phrases.co.uk/
9
 là từ điển về câu thành 
ngữ; fetp, tratu.soha là các website hỗ trợ tra từ 
chuyên ngành về kinh tế; 
www.lawyerintl.com/law-dictionary
10
 chuyên 
về lĩnh vực luật học; và một số website như 
tratu.soha, Vdict,.. hỗ trợ tra từ thuộc nhiều 
lĩnh vực như tin học, kinh tế, luật, Tuy 
1  
2
3https://translate.google.com.vn/?hl=vi&tab=wT&authuser
=0 
4  
5  
6  
7  
8  
9 www.lawyerintl.com/law-dictionary 
10  
nhiên, hầu như vẫn chưa có hệ thống website 
nào hỗ trợ tra từ điển Anh - Việt, Việt - Anh 
thuộc chuyên ngành thương mại điện tử và hệ 
thống thông tin quản lý, đây là một trong 
những đóng góp của chúng tôi trong nghiên 
cứu này. 
Bên cạnh đó, các website hỗ trợ tra từ hiện 
tại chỉ dừng lại ở mức độ giải thích nghĩa của 
từ hay định nghĩa từ mà chưa quan tâm đến 
ngữ cảnh của từ chuyên ngành giúp hiểu rõ 
cách sử dụng từ trong trường hợp cụ thể. Để 
hiểu rõ được từ chuyên ngành, chúng tôi đề 
xuất xây dựng một hệ thống dữ liệu ngữ cảnh 
văn bản tương ứng với từng từ chuyên ngành. 
Tuy nhiên, việc xây dựng hệ thống dữ liệu ngữ 
cảnh của từ sẽ làm hạn chế tốc độ xử lý trên hệ 
thống website tra từ điển vì phải tìm kiếm trên 
hệ thống dữ liệu ngữ cảnh để trả lời kết quả 
cho yêu cầu tìm kiếm từ người dùng. Vì thế, 
ngoài những yếu tố ảnh hưởng đến kết quả tìm 
kiếm như phần cứng, băng thông, thiết kế 
yêu cầu đặt ra của một hệ thống tìm kiếm là tốc 
độ xử lý và sự chính xác. Chúng tôi quan tâm 
đến việc xử lý bên trong hệ thống để có kết quả 
chính xác hơn. Để xử lý trên bộ ngữ liệu tiếng 
Việt (gồm từ chuyên ngành và ngữ cảnh của 
từ) và quá trình tìm kiếm, chúng tôi phải tìm ra 
sự liên kết giữa các từ dựa trên các ngữ cảnh 
khác nhau. Vì thế, giải thuật tìm kiếm là một 
trong những yếu tố quan trọng để đáp ứng yêu 
cầu về tốc độ trong tra cứu từ. Trong nghiên 
cứu này, dựa trên cơ chế tìm kiếm từ có ngữ 
cảnh hay nói cách khác là tìm kiếm từ trong 
văn bản, chúng tôi lựa chọn bài toán so sánh 
mẫu để giải quyết yêu cầu tìm kiếm đặt ra. Các 
giải thuật tìm kiếm như KMP [5], Naïve [7], 
Rubin – Karp [12] được chúng tôi khảo sát và 
so sánh để tìm ra giải thuật phù hợp nhất trong 
việc giải quyết yêu cầu. Chi tiết của việc khảo 
sát và so sánh các thuật giải sẽ được trình bày 
trong phần 2. 
Science & Technology Development, Vol 18, No Q3 - 2015 
Trang 84 
Mục tiêu tiếp theo trong hệ thống tìm kiếm 
từ điển chuyên ngành của chúng tôi là hỗ trợ 
chức năng tìm các từ chuyên ngành có liên 
quan. Để đạt được mục tiêu này, ngoài phương 
pháp sử dụng giải thuật, có thể sử dụng câu 
truy vấn thông thường như SQL. Tuy nhiên 
việc phải so sánh từ chuyên ngành với số lượng 
ngữ cảnh lớn sẽ dẫn đến tốc độ xử lý chậm 
trong quá trình tìm kiếm [5][11][15]. Việc trả 
về các dữ liệu không cần thiết (nếu không tìm 
thấy từ khóa trong ngữ cảnh) cũng là một 
nguyên nhân khiến những câu truy vấn chậm 
[5]. Chính vì vậy, trước khi đưa dữ liệu vào 
quá trình tìm kiếm, chúng tôi phải thực hiện 
trước việc lọc những từ trong stopwords11 để 
cải thiện tốc độ tìm kiếm. Phần 2 của bài báo sẽ 
trình bày về các nghiên cứu liên quan. Trong 
phần 2, các giải thuật sẽ được so sánh và giải 
thuật phù hợp sẽ được chọn. Trong phần 3, 
chúng tôi đề xuất mô hình và phương pháp tra 
từ có ngữ cảnh. Phần 4 sẽ trình bày việc thử 
nghiệm và thảo luận kết quả. Cuối cùng là kết 
luận và hướng phát triển nghiên cứu. 
2. CÁC NGHIÊN CỨU LIÊN QUAN 
Trong phần này, chúng tôi tập trung khảo 
sát các kỹ thuật và phương pháp liên quan đến 
tìm kiếm và so sánh mẫu từ trong văn bản tiếng 
Việt. Từ đó, chúng tôi lựa chọn kỹ thuật phù 
hợp áp dụng và mô hình đề suất cho hệ thống 
tra từ chuyên ngành có ngữ cảnh. 
Phương pháp so sánh chuỗi là phương pháp 
tìm kiếm tất cả các lần xuất hiện của một chuỗi 
mẫu (pattern) trong một chuỗi khác [1], [2], 
[8], [15], [17], [20]. Quá trình so sánh chuỗi là 
hoạt động diễn ra rất thường xuyên trong các 
chương trình chỉnh sửa văn bản, các trình duyệt 
web, các bộ máy tìm kiếm, và các hệ thống gợi 
ý trên các trang thương mại điện tử [9][16]. 
Trong nghiên cứu này, chúng tôi khảo sát các 
11 Stopwords là những từ, cụm từ phổ biến hay nói chung 
chung không có ý nghĩa trong kết quả tìm kiếm 
giải thuật so sánh chuỗi cho bài toán của hệ 
thống từ điển chuyên ngành có ngữ cảnh. 
Bài toán đặt ra, với một bộ dữ liệu từ điển 
có số lượng từ khóa lớn, kèm theo đó là ngữ 
cảnh trong từng trường hợp sử dụng từ, làm sao 
để xác định mối liên hệ giữa các từ với nhau? 
Ngoài ra, việc tra từ có ngữ cảnh đòi hỏi 
phương pháp tra từ phải làm việc trên một 
lượng dữ liệu lớn là văn bản (ngữ cảnh). Vậy 
làm sao để có thể tra từ nhanh và trả về nghĩa 
và ngữ cảnh của từ tìm kiếm chính xác? Để giải 
quyết các vấn đề trên, trong phần này chúng tôi 
tập trung khảo sát các phương pháp, giải thuật 
so khớp mẫu với ba giải thuật để từ đó chọn ra 
một phương pháp hỗ trợ tốt cho việc xây dựng 
hệ thống từ điển chuyên ngành có ngữ cảnh. 
Cụ thể, chúng tôi đã khảo sát các giải thuật 
Naive [7], giải thuật Rabin - Karp [3], [12] và 
giải thuật Knuth – Morris - Pratt (KMP)[5] dựa 
trên một mô tả bài toán sau: 
“Cho mẫu P có độ dài M và văn bản S có 
độ dài N trên cùng bảng chữ A. Tìm một (hoặc 
tất cả) các lần xuất hiện của mẫu P trong S”. 
Với việc xuất hiện một bài toán so sánh mẫu 
như trên, giải thuật nào là phù hợp để giải bài 
toán với thời gian tìm kiếm có giới hạn? 
Trong bài toán trên, giả sử ta có tập văn bản 
S’= [S, S1, S2Sn], lúc này bài toán sẽ được 
thực hiện đối với mỗi cặp [P,S] [P,S1] [P,S2] 
Trong trường hợp độ dài N của văn bản Sx là 
rất lớn và tập S’ có n phần tử con (n rất lớn) thì 
thời gian tìm kiếm sẽ rất tốn kém. Do đó, việc 
tìm hiểu một giải thuật để giải quyết vấn đề là 
cần thiết. Dựa vào việc phân tích, thiết kế, xây 
dựng bộ dữ liệu, chúng tôi có một số nhận xét 
sau: 
Độ dài N của văn bản Sx (phần tử của tập 
ngữ cảnh) là không quá lớn. 
Tập S’ gồm khoảng 1000 phần tử (và có thể 
phát triển nhiều hơn). 
 TẠP CHÍ PHÁT TRIỂN KH & CN, TẬP 18, SỐ Q3 - 2015 
Trang 85 
2.1. Giải thuật Naive 
Đây là giải thuật cơ bản và đơn giản nhất, 
sử dụng nguyên lý vét cạn. Giải thuật Naive [7] 
kiểm tra tất cả các khả năng của chuỗi mẫu 
P[1..m] nằm trong chuỗi S[1..n] bằng cách 
duyệt từ đầu tới cuối chuỗi S. 
Giải thuật 1. Naive Algorithm [7] 
NAIVE-STRING-MATCHER(S, P) 
1. n = S.length 
2. m = P.length 
3. for s = 0 to n-m do 
4. j = 1 
5. while (j <= m AND S[s+j] == P[j]) do 
6. j = j+1 
7. if (j > m) 
8. “Tìm thấy mẫu với độ dịch chuyển s” 
Nhận xét: Vòng lặp while bên trong chạy 
tối đa m lần, vòng lặp for bên ngoài chạy tối đa 
n-m+1 lần. Do vậy, thời gian chạy của giải 
thuật này là S(n) = O((n-m+1)*m) = O(n*m). 
Rõ ràng, giải thuật này không hiệu quả vì bỏ 
qua mọi thông tin hữu ích có được trong quá 
trình so sánh chuỗi tại từng giá trị của S. 
2.2. Giải thuật Rabin - Karp 
Giải thuật này do Rabin và Karp đề xuất 
trong [3][12]. Giải thuật với độ phức tạp O(m) 
để tiền xử lý các dữ liệu nhập, và thời gian 
chạy tệ nhất là O((n-m+1)m). Mặc dù vậy, 
trung bình các trường hợp đều tiêu tốn thời 
gian ít hơn. 
Ta nhận thấy rằng mỗi chuỗi S có thể số 
hóa thành một số. Ví dụ S = {0,1,2..,9}, S = 
“1234” thì ta sử dụng hàm digit(S) = 1,234. 
Gọi p là giá trị số hóa của P, hay nói cách khác 
p là giá trị thập phân tương ứng của P. Gọi ts là 
giá trị thập phân tương ứng của T[s+1,,s+m] 
, s<n-m+1. Ta nhận thấy rằng tS =p khi và chỉ 
khi P = T[s+1,,s+m]. 
Mặt khác, ta có thể tính p và t0 theo 2 công 
thức: 
p = P[m] * 10
0
 + P[m-1]*10
1
 + .+ 
P[1]*10
m-1
(1) 
t0 = T[1]*10
m-1
 +T[2]*10
m-
2+.+T[m]*100 
(2) 
Hai công thức trên cho cùng tiêu tốn thời 
gian là O(m). Sau khi tính t0 , việc tính 
các t1,t2,..tn-m-1 trở nên đơn giản hơn và chỉ tiêu 
tốn O(1) cho mỗi ti. Ta tính các t1,t2,.tn-m-1 lần 
lượt theo công thức sau: 
ti = 10*(ti-1 – 10
m-1
*T[i]) + T[i+m] (3) 
Sau khi tính được các giá trị của p và ti, bài 
toán trở nên đơn giản khi được qui về bài toán 
“tìm một số trong một mảng số nguyên”. Điều 
này có nghĩa là tìm sự xuất hiện của p trong ti . 
Vì vậy để tính được tất cả các giá trị p và ti, 
hay nói cách khác là tìm được chuỗi P trong T 
sẽ có độ phức tạp là O(m) + O(n-m-1). Và điều 
này cũng cho thấy giải thuật Rabin - Karp với 
thời gian tiêu tốn là O(m) cho tiền xử lí và O(n-
m-1) để so sánh chuỗi. 
Nhận xét: 
Quá trình tiền xử lý với giải thuật tiêu tốn 
O(m) thời gian, với 1 vòng lặp là for i =1 to n. 
Quá trình so sánh trong trường hợp tốt nhất 
là p’! = t’i với mọi i thì việc so sánh với thời 
gian tiêu tốn là O(n-m). Tuy nhiên, trong 
trường hợp xấu nhất khi p’ = t’I thì việc so sánh 
phải thực hiện thêm lệnh kiểm tra P[1..m] và 
T[i+1,i+m], điều này có thời gian tiêu tốn là 
O(m). Như vậy, độ phức tạp của Rabin - Karp 
là O((n-m+1)*m). 
Giải thuật Knutt – Morris - Pratt được trình 
bày trong các phần sau tỏ ra tốt hơn nhiều so 
với Naïve và Rabin - Karp Algorithm vì tận 
dụng các thông tin hữu ích khi tìm kiếm. 
Science & Technology Development, Vol 18, No Q3 - 2015 
Trang 86 
2.3. Giải thuật Knuth – Morris - Pratt 
(KMP) 
Giải thuật KMP [5] với độ phức tạp tuyến 
tính này được Knuth, Morris và Pratt phát hiện 
ra nhờ việc phân tích chặt chẽ giải thuật 
Naive[8]. Giả sử ta muốn tìm chuỗi mẫu 
P[1..m] trong S[1..n], đến một lúc nào đó thì ta 
sẽ có P[i] != S[j]. 
Xét về độ phức tạp và chạy thực tế với 4 
mẫu thử ngẫu nhiên cho 3 giải thuật (Naïve, 
Rabin - Karp và KMP), nhận thấy KMP có 
những ưu điểm vượt trội so với 2 giải thuật còn 
lại là Naive và Rabin - Karp, kết quả thử 
nghiệm thực tế cũng nói lên rằng, dù kích cỡ 
Text (T) và từ khóa (Paragraph - P) có khác 
nhau giữa các mẫu thử thì giải thuật KMP luôn 
đạt hiệu suất trung bình tốt nhất. 
Trong quá trình tiền xử lý chuỗi P, mỗi p[i], 
1 ≤ i ≤ m, lưu lại độ dài của biên rộng nhất của 
P[1..i]. Vì chuỗi rỗng không có biên nên ta gán: 
p[0] = -1. Giả sử các giá trị p[0], , p[i] đã 
biết, giá trị p[i+1] sẽ được tính bằng cách kiểm 
tra xem biên của chuỗi P[1..i] có thể được mở 
rộng bằng ký tự P[i+1] hay không. Ta sử dụng 
biến k lưu trữ các p[i]. Nếu P[i+1] = P[k] thì 
khi đó ta gán p[i+1] = k+1, ngược lại ta xét k = 
p[k] và quay lại các bước so sánh P[i+1] với 
P[k] ở trên. 
Giải thuật so khớp chuỗi KMP - 
Matcher được trình bày trong đoạn mã giả sau 
đây. Giải thuật này gọi tới giải thuật tiền xử 
lý Compute - Prefix - Function để tính p. 
Giải thuật 2. KMP - Matcher [5] 
KMP - Matcher(S, P) 
1. n ← length[S ] 
2. m ← length[P] 
3. π ← Compute – Prefix - Function(P) 
4. q ← 0 //Số lượng ký tự trùng nhau 
5. for i ← 1 to n //Duyệt chuỗi S từ trái qua phải 
6. do while q > 0 and P[q + 1] ≠ S [i ] 
7. do q ← π[q] //Ký tự không trùng nhau 
8. if P[q + 1] = S [i ] 
9. then q ← q + 1 //Ký tự trùng nhau 
10. if q = m //Nếu đã kiểm tra toàn bộ chuỗi P 
11. then print “Mẫu xuất hiện với độ dịch 
c ... từng ngữ 
cảnh và ý nghĩa khác nhau thuộc 2 lĩnh vực: 
“tiếp thị trực tiếp”, và “tiếp thị tương tác”. Vậy, 
cơ sở chúng tôi đưa ra cách giải quyết bài toán 
trên là dựa vào ngữ cảnh từ, từ đó người dùng 
có thể hiểu hơn về cách sử dụng từ khóa cần 
tìm trong từng trường hợp, và gia đình từ (word 
family) của từ khóa đó. 
Một ý nghĩa quan trọng nữa trong mô hình 
đề xuất (xem giải thuật 4) là khai thác ngữ cảnh 
để tìm ra từ gợi ý giúp cho người tra từ mở 
rộng thêm kiến thức liên quan đến từ đã tra 
cứu. 
Giải thuật 4. Khai thác ngữ cảnh từ điển 
chuyên ngành và tìm từ gợi ý. 
Đầu vào: từ khóa và ngữ cảnh của từ. 
Đầu ra: thông tin liên quan từ khoá, tập những 
từ khóa được gợi ý có chứa từ khóa đầu vào và 
ngữ cảnh từ 
Xử lý: Bài toán tra từ điển có ngữ cảnh và tìm 
từ gợi ý được chuyển về một dạng toán kinh 
điển trong giải thuật so sánh mẫu. 
Ý tưởng, nếu người dùng nhập từ khóa gồm hai 
chữ hoặc nhiều hơn hai chữ, quy trình xử lý 
như sau: 
Bước 1: Lọc những từ không có ý nghĩa, 
sau đó tìm kiếm theo những từ còn lại. 
Việc này sẽ xảy ra trường hợp có thể có 
nhiều từ có ý nghĩa. 
Bước 2: Thực hiện tách từ tìm kiếm 
Bước 2.1: Nếu trong một ngữ cảnh có 
tất cả những từ được tách sẽ trả về kết 
quả từ gợi ý hay gọi là từ tương 
đương. Qua bước 2.3. 
Bước 2.2: Nếu những từ được tách 
không xuất hiện trong ngữ cảnh, thì 
kết quả sẽ không trả về từ gợi ý hay từ 
tương đương. Quan bước 3. 
Bước 2.3: Bổ sung danh sách từ gợi ý 
có liên quan và hiển thị ngữ cảnh của 
từ. 
 Bước 3: Kết thúc tìm kiếm từ 
Science & Technology Development, Vol 18, No Q3 - 2015 
Trang 88 
Hình 2 trình bày quy trình khai thác ngữ 
cảnh và tìm kiếm từ gợi ý, gồm bốn thành 
phần: (1) trình bày về từ khoá cần tìm, (2) trình 
bày về nội dung ngữ cảnh có liên quan đến từ 
chuyên ngành cần tìm, (3) gồm các từ chuyên 
ngành có chứa từ khoá cần tìm và (4) trình bày 
kết quả tìm kiếm các từ liên quan đến từ khoá 
và có chứa từ khoá cần tìm. 
(1) (2) (3) (4) 
Hình 2. Quy trình khai thác ngữ cảnh và tìm kiếm từ gợi ý 
Trên thực tế bài toán so sánh mẫu nhằm xác 
định vị trí của một “từ” hoặc “cụm từ” trong 
một đoạn văn bản cho trước. Với cách xác định 
này, chúng tôi sẽ sử dụng giải thuật để xác định 
ngữ cảnh nào có chứa từ khóa, từ đó đưa ra từ 
gợi ý. Bên cạnh đó, dạng phổ biến nhất của bài 
toán so khớp chuỗi như sau: cho trước nguồn 
tìm kiếm là một tập D các văn bản. Cho một q - 
một từ, hoặc một cụm từ, tìm tất cả các văn bản 
thuộc D mà có chứa q. Để thực hiện bài toán, 
hệ thống phải kiểm tra văn bản xem q có là một 
cụm từ thuộc các văn bản thuộc tập D hay 
không và đưa ra các văn bản gợi ý. 
Trong phần tiếp theo, chúng tôi áp dụng mô 
hình, ý tưởng đề xuất trên và sử dụng các kỹ 
thuật để xây dựng hệ thống thông tin website 
hỗ trợ tra cứu từ điển chuyên ngành có ngữ 
cảnh. 
4. THỬ NGHIỆM VÀ THẢO LUẬN 
KẾT QUẢ 
4.1. Dữ liệu từ điển và ngữ cảnh từ 
Mục tiêu đặt ra là xây dựng bộ từ điển 
chuyên ngành có ngữ cảnh trong lĩnh vực 
HTTTQL và TMĐT. Dữ liệu được xây dựng từ 
các giáo trình, sách và bài viết chính thức của 
từng chuyên ngành. Trong quá trình xây dựng 
bộ dữ liệu phục vụ cho việc tìm kiếm từ điển, 
chúng tôi sử dụng các “bản thuật ngữ” của các 
sách chuyên ngành HTTTQL và TMĐT [6], 
[10], [13], [18]. Tất cả sách trên được viết bằng 
tiếng Anh. Với mỗi từ tiếng Anh, “bản thuật 
ngữ” cũng cung cấp các giải thích ý nghĩa của 
từ bằng tiếng Anh. Tuy nhiên, để phục vụ nhu 
cầu tra từ theo nghĩa tiếng Việt, cần tiến hành 
dịch thuật những giải thích bằng tiếng Anh nêu 
trên sang tiếng Việt. Quá trình tìm hiểu ngữ 
nghĩa của từ, cụm từ và thuật ngữ chuyên 
ngành không chỉ dựa trên cơ sở ngữ nghĩa của 
Từ khóa cần 
tìm 
Ngữ cảnh 1 có chứa từ khóa 
cần tìm 
Ngữ cảnh 1 không chứa từ 
khóa cần tìm 
Ngữ cảnh 2 có chứa từ khóa 
cần tìm 
Ngữ cảnh 2 không chứa từ 
khóa cần tìm 
Từ khóa 1 
Từ khóa 2 
Từ khóa 1 
Từ khóa 2 
Ngữ cảnh từ khóa Từ khóa Kết quả 
 TẠP CHÍ PHÁT TRIỂN KH & CN, TẬP 18, SỐ Q3 - 2015 
Trang 89 
“bản thuật ngữ” cung cấp mà còn đòi hỏi phải 
có những hiểu biết nhất định về chuyên ngành 
ấy. Do đó, trong quá trình dịch thuật, bên cạnh 
tìm hiểu thông tin liên quan đến từ, cụm từ và 
thuật ngữ trong các giáo trình liên quan và trên 
Internet, chúng tôi cũng nhận được sự hỗ trợ 
rất lớn từ các chuyên gia về ngôn ngữ và các 
chuyên gia trong lĩnh vực chuyên ngành. Hiện 
tại, bộ dữ liệu được xây dựng với hơn 1500 từ 
cùng với nghĩa của từ và 1500 ngữ cảnh (bằng 
văn bản) tương ứng từng từ. Mỗi từ sẽ được 
cung cấp các thông tin cần thiết cho nhu cầu tra 
từ có ngữ cảnh như từ tiếng Anh, từ tiếng Việt, 
giải thích nghĩa bằng tiếng Anh, giải thích 
nghĩa bằng tiếng Việt, từ viết tắt và ngữ cảnh 
của từng từ. Hệ thống từ được chúng tôi tổ 
chức và quản lý trên Hệ quản trị CSDL SQL 
Server 2012. 
Trong phần tiếp theo, chúng tôi sẽ trình bày 
kết quả xây dựng hệ thống thông tin website 
tìm kiếm từ điển chuyên ngành có ngữ cảnh. 
4.2. Hệ thống website từ điển chuyên 
ngành 
Trong phần này, chúng tôi trình bày kết quả 
xây dựng hệ thống website theo từng bước thực 
hiện tra từ trên hệ thống. 
Bước 1: Truy cập vào hệ thống website12 để 
tra từ điển chuyên ngành 
Bước 2: Người dùng nhập từ vào khung tìm 
kiếm (xem hình 3). Hệ thống xử lý để đưa ra 
các dự đoán từ khi người dùng chưa nhập hoàn 
chỉnh một từ nhằm giúp cho người dùng chọn 
nhanh từ cần tra. 
12 Website này chúng tôi đang trong quá trình hoàn thiện về 
hạ tầng kỹ thuật bảo mật cũng như kiểm định cơ sở dữ liệu 
từ điển. Bên cạnh đó, chúng tôi sẽ phát triển tiếp những 
ứng dụng tiện ích liên quan được tích hợp trên website và 
tiến hành đưa website công bố lên Internet. 
Hình 3. Giao diện hệ thống tra từ điển 
chuyên ngành 
Bước 3: Người dùng nhấn nút “Search” để 
tra cứu từ (hình 3). Hệ thống xử lý truy vấn từ 
CSDL và hiển thị kết quả tìm kiếm trên giao 
diện chi tiết. Trong quá trình xử lý truy vấn kết 
quả, hệ thống ứng dụng giải thuật tìm kiếm 
KMP (hình 4). 
Hình 4. Giao diện chi tiết trình bày kết 
quả tra từ điển chuyên ngành 
Bước 4: Người dùng xem kết quả trả về 
trên hình 4. Kết quả tìm kiếm thể hiện trên hình 
4 bao gồm 2 nội dung: (1) nghĩa của từ được 
tra, (2) ngữ cảnh của từ được tra. Ngữ cảnh này 
được thể hiện ở cả hai ngôn ngữ tiếng Việt và 
tiếng Anh. Phần ngữ cảnh cũng giúp cho việc 
phân tích để tìm ra những từ điển bổ sung vào 
danh sách từ gợp ý có liên quan đến từ được ra. 
Science & Technology Development, Vol 18, No Q3 - 2015 
Trang 90 
Ngoài ra phần bên phải của hình 4, thể hiện 
danh sách các từ thường được người dùng tìm 
kiếm “Most popular”, người dùng có thể chọn 
và xem chi tiết ngữ cảnh của từ đó trong danh 
sách đó. Hệ thống xử lý và trả kết quả chi tiết 
tra cứu liên quan đến từ, đồng thời gợi ý tiếp 
các từ liên quan được trình bày trong mô hình 
đề xuất trong phần 3 để thực hiện khai thác ngữ 
cảnh của từ và đưa ra các từ gợi ý liên quan 
đến từ cần tìm nhằm giúp người dùng hiểu rõ 
và rộng hơn ý nghĩa của từ đã tra. Trên hình 4 
cũng thể hiện chức năng cho người dùng thảo 
luận. Mục đích chúng tôi xây dựng chức năng 
này nhằm giúp người dùng có thể trao đổi về từ 
điển, về các từ mới hoặc người dùng có thể 
đóng góp ý kiến cho nội dung liên quan đến từ 
điển và hệ thống tra từ. 
Bên cạnh hỗ trợ tra từ điển chuyên ngành 
và tìm kiếm từ gợi ý được trình bày trong hình 
3 và hình 4. Trên hệ thống website, chúng tôi 
còn xây dựng thêm các chức năng tiện ích khác 
nhằm giúp cho người dùng có thể tìm hiểu 
thêm những vấn đề, thông tin liên quan đến 
ngành nghề như trang tin tức, thảo luận (hình 
5). 
Hình 5. Giao diện trang tin tức về 
chuyên ngành HTTTQL và TMĐT 
Ngoài ra, một tính năng quan trọng khác 
được xây dựng trên hệ thống website là chức 
năng giúp người dùng tham gia bổ sung mới từ 
chuyên ngành, chỉnh sửa nội dung liên quan 
đến từ chuyên ngành. 
4.3. Thảo luận kết quả 
Ngoài những yếu tố ảnh hưởng đến kết quả 
tìm kiếm như phần cứng, băng thông, thiết 
kế, yêu cầu đặt ra của một công cụ tìm kiếm 
là tốc độ xử lý và sự chính xác. Vì vậy, việc xử 
lý bên trong để có thể cho ra kết quả tốt nhất là 
rất quan trọng. Để xử lý một tập ngữ liệu lớn 
và tìm sự liên kết giữa các từ dựa trên cơ sở 
ngữ cảnh, giải thuật được tính đến như một giải 
pháp đạt hiệu quả cao. Với cơ sở tìm kiếm dựa 
trên ngữ cảnh, bài toán so sánh mẫu được chọn 
để giải quyết yêu cầu đặt ra, giải thuật tìm kiếm 
như KMP được chúng tôi áp dụng vì những ưu 
điểm và sự linh hoạt trong tìm kiếm mà giải 
thuật mang lại. Dù chưa phải là lựa chọn tối ưu 
nhất nhưng việc áp dụng giải thuật KMP đã 
mang lại hiệu quả nhất định trong nghiên cứu. 
Bằng việc kết hợp với công cụ tìm kiếm tối ưu 
được trang bị từ Microsoft SQL Server là SQL 
Full Text Search hay còn được gọi là FTS 
[4][5], mỗi kỹ thuật được áp dụng nhằm tùy 
biến kết quả tìm kiếm, nhưng vẫn đáp ứng 
được những yêu cầu đặt ra trong tìm kiếm 
chính xác từ theo ngữ cảnh. 
Việc đánh giá tính chính xác kết quả thực 
hiện của mô hình và hệ thống đề xuất, chúng 
tôi thực hiện theo phương pháp kiểm tra trực 
tiếp để đối chiếu từng dữ liệu kết quả với dữ 
liệu được lưu trữ trong hệ thống từ điển. Bên 
cạnh đó, chúng tôi đã kiểm tra kết quả bằng 
cách thực hiện các kỹ thuật truy vấn trực tiếp 
trên dữ liệu để so sánh với kết quả tìm kiếm 
trên hệ thống website. Kết quả cho độ chính 
xác 100% giữa kết quả thực hiện mô hình đề 
xuất trên hệ thống website so sánh với kiểm tra 
trực tiếp dữ liệu. 
Tóm lại, dựa trên mô hình và phương pháp 
đề xuất, việc sử dụng SQL Full Text Search 
[11] để tìm kiếm từ khóa ban đầu, đồng thời 
 TẠP CHÍ PHÁT TRIỂN KH & CN, TẬP 18, SỐ Q3 - 2015 
Trang 91 
kết hợp giải thuật KMP để đưa ra từ gợi ý dựa 
trên cơ sở ngữ cảnh là ý tưởng chính trong việc 
xử lý tìm kiếm từ hoặc cụm từ trong hệ thống 
dữ liệu từ điển chuyên ngàh Hệ thống thông tin 
quản lý và Thương mại điện tử và đã đạt hiệu 
quả tốt về tốc độ xử lý và tính chính xác dữ 
liệu. 
Được xây dựng nhằm hỗ trợ tra cứu thuật 
ngữ thuộc chuyên ngành HTTTQL và TMĐT, 
hệ thống CSDL dùng cho hệ thống website tra 
cứu từ điển chuyên ngành đã tương đối đáp 
ứng được các yêu cầu tra từ theo chuyên ngành 
HTTTQL và TMĐT, bao gồm tra từ theo các 
loại từ điển Anh - Việt, Việt - Anh, hoặc Anh - 
Anh, hoặc tất cả, tra từ viết tắt và hỗ trợ lưu trữ 
hình ảnh minh họa trực quan cho từ. 
5. KẾT LUẬN VÀ HƯỚNG PHÁT 
TRIỂN 
Trong bài báo này, chúng tôi tập trung 
nghiên cứu và giải quyết bốn vấn đề chính 
nhằm đạt được mục tiêu đặt ra là xây dựng hệ 
thống tra từ chuyên ngành có ngữ cảnh trong 
lĩnh vực Thương mại điện tử và Hệ thống 
thông tin quản lý, và đây cũng là 4 đóng góp 
của chúng tôi trong nghiên cứu, bao gồm: (1) 
xây dựng được trên 1500 từ điển chuyên ngành 
cùng với hệ thống dữ liệu ngữ cảnh của từng 
từ, (2) thiết kế index cho các cột thường xuyên 
được truy vấn, xử lý các câu truy vấn sao cho 
trả về kết quả mong muốn nhưng khả năng truy 
xuất dữ liệu tốt hơn đặc biệt là khi dữ liệu đã 
thật sự lớn, (3) phân tích và đánh giá các giải 
thuật để lựa chọn giải thuật KMP áp dụng trong 
phần xử lý trên hệ thống tìm kiếm, (4) xây 
dựng và triển khai hệ thống website tra từ 
chuyên ngành có ngữ cảnh thuộc lĩnh vực Hệ 
thống thông tin quản lý và Thương mại điện tử. 
Hiện tại, hệ thống website đang trong quá trình 
hoàn thiện về hạ tầng kỹ thuật bảo mật cũng 
như kiểm định cơ sở dữ liệu từ điển. Chúng tôi 
sẽ tiến hành sớm đưa website lên Internet để 
công bố rộng rãi đến người dùng. 
Trong nghiên cứu tiếp theo, chúng tôi sẽ 
tiếp tục cải thiện hệ thống tra từ điển chuyên 
ngành để mở rộng lĩnh vực tra cứu và tốc độ xử 
lý bằng những giải thuật cải tiến có kết quả tìm 
kiếm nhanh hơn để hướng đến mở rộng cơ sở 
dữ liệu từ điển và ngữ cảnh của từ. Chúng tôi 
cũng sẽ bổ sung từ và ngữ cảnh của từ, đồng 
thời phát triển việc khai thác ngữ cảnh bằng 
cách thu thập dữ liệu từ Internet để có kết quả 
đa dạng hơn trong nhiều lĩnh vực ứng với từ 
chuyên ngành cụ thể. Bên cạnh đó, việc phát 
triển hệ thống website giúp truy cập ứng dụng 
trên điện thoại thông minh nhằm tạo điều kiện 
dễ dàng nhất cho người dùng khi cần tra cứu 
cũng sẽ được chúng tôi quan tâm. 
TÀI LIỆU THAM KHẢO 
[1]. Akinul Islam Jony, Analysis of Multiple String Pattern Matching Algorithms, International 
Journal of Advanced Computer Science and Information Technology (IJACSIT), Vol. 3, No. 4, 
2014, pp. 344-353 (2014). 
[2]. Akhtar Rasool Amrita Tiwari, et al, String Matching Methodologies:A Comparative Analysis, 
International Journal of Computer Science and Information Technologies, Vol. 3 (2) ,3394-3397 
(2012). 
[3]. Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford [1990]. The Rabin-
Karp algorithm. Introduction to Algorithms (2nd ed.). Cambridge, Massachusetts: MIT Press. pp. 
911-916. ISBN 978-0-262-03293-3 (2001). 
[4]. D.E. KNUTH, J.H. MORRIS, V.R. PRATT, Fast Pattern Matching in Strings. SIAM Journal of 
Computing 6, 2, 323-350 (1977). 
Science & Technology Development, Vol 18, No Q3 - 2015 
Trang 92 
[5]. Dana Shapira, et al, Adapting the Knuth–Morris–Pratt algorithm for pattern matching in Huffman 
encoded texts, Information Processing and Management 42, 429-439 (2006). 
[6]. Dave Chaffey, E-book: E–Business and E–Commerce Management, Prentice Hall, ISBN: 978-
0273752011 (2010). 
[7]. Domingos, Pedro; Pazzani, Michael, On the optimality of the simple Bayesian classifier under 
zero-one loss. Machine Learning 29: 103-137. 7 (1997). 
[8]. D. Sunday, Very Fast Substring Search Algorithm, Comm. ACM, vol 33, issue 8, pp. 132-142 
(1990). 
[9]. Ellard, Daniel J. String Searching. S-Q Course Book. [Online] [Cited: 06 10, 2011.] 
 (2011). 
[10]. Jane P.Laudon & Kenneth C.Laudon, E-book: Essentials of Management Information Systems, 
PEARSON, ISBN: 978-0136025818 (2010). 
[11].  Full-Text Search (SQL Server) 
[12]. Karp, Richard M.; Rabin, Michael O. Efficient randomized pattern-matching algorithms. IBM 
Journal of Research and Development 31 (2), pp. 249-260 (March 1987). 
[13]. Laudon, E-book: E–Commerce, Pearson Education, ISBN-13: 978-0135090787 (2010). 
[14]. Michael Coles, Hilary Cotter, Pro Full-Text Search in SQL Server 2008, Spinger-Verlag New 
York, Inc (2009). 
[15]. Muhammad, Rashid Bin. String Matching Agorithm. Design and Analysis of Computer 
Algorithms. [Online] Kent State University. [Cited: 06 20, 2011.] 
[16]. R. Boyer, J. Moore, A fast string searching algorithm, Comm. ACM vol 20, pp. 762-772 (1977). 
[17]. Siam J. Comput, et al, Fast pattern matching in strings, donald e. Knuth, Vol. 6, No. 2, (June 
1977). 
[18]. Ralph Stair & George Reynolds, E-book: Principle of Information Systems, Cengage Learning, 
ISBN: 0324665288 (2009). 
[19]. Vidya SaiKrishna, et al, String Matching and its Applications in Diversified Fields, IJCSI 
International Journal of Computer Science Issues, Vol. 9, Issue 1, No 1, January 2012 (2012). 
[20]. Yanbing Liu et al, A factor-searching-based multiple string matching algorithm for intrusion 
detection, Communications (ICC), 2014 IEEE International Conference, pp. 653-658 (2014). 

File đính kèm:

  • pdfxay_dung_he_thong_thong_tin_tra_cuu_tu_dien_chuyen_nganh_co.pdf