Thuật toán tính độ gần ngữ nghĩa được chúng tôi lựa chọn là thuật toán dựa trên mô hình otomat hữu hạn mờ, trên cơ sở đó chúng tôi đề xuất bài toán lựa chọn phản biện bài bá[r]
Trang 1ỨNG DỤNG PHƯƠNG PHÁP TÍNH ĐỘ GẦN NGỮ NGHĨA THEO MÔ HÌNH OTOMAT HỮU HẠN MỜ TRONG LỰA CHỌN PHẢN BIỆN BÀI BÁO
Nguyễn Đình Dũng * , Nguyễn Hữu Công, Nguyễn Tuấn Anh
Đại học Thái Nguyên
TÓM TẮT
Trong bài báo này, chúng tôi đề xuất bài toán tìm kiếm phản biện bài báo cho tạp chí khoa học dựa trên các từ khóa của bài báo và cơ sở dữ liệu từ khóa các nhà khoa học tham gia phản biện Để tìm lời giải cho bài toán này, chúng tôi xét tới các thuật toán đối sánh mẫu (so khớp mẫu) Brute Force
và thuật toán KMP, trong trường hợp có sự thay đổi hình thái từ thì các thuật toán này tỏ ra kém hiệu quả Vì vậy, chúng tôi lựa chọn phương pháp tính độ gần ngữ nghĩa giữa hai xâu ký tự theo
mô hình otomat hữu hạn mờ làm cơ sở cho việc xây dựng thuật toán chọn phản biện Độ gần chuyên môn được chúng tôi đưa ra làm tiêu chuẩn cho sự lựa chọn phản biện và được xác định dựa trên sự thống kê mật độ các khúc con chung của các từ khóa bài báo và từ khóa người phản biện
Từ khóa: So khớp mẫu, Độ gần ngữ nghĩa, Otomat hữa hạn mờ, Tìm kiếm xấp xỉ, Khoảng cách
Edit, Lựa chọn phản biện bài báo
MỞ ĐẦU*
Bài toán xác định độ gần ngữ nghĩa ngày
càng được nhiều tác giả quan tâm và có nhiều
ứng dụng trong thực tế do sự tăng trưởng
nhanh chóng của các hệ thống tìm kiếm thông
tin [3, 7, 8] Các kết quả nghiên cứu thường
tập trung vào các phương pháp thống kê sử
dụng độ đo dựa vào sự xuất hiện của từ, tần
suất xuất hiện của từ [2, 4], độ đo
Levenshtein tìm khoảng cách giữa hai từ
[7]… hoặc các phương pháp dựa trên quan hệ
ngữ nghĩa giữa các từ Phương pháp thống kê
có ưu điểm tốc độ xử lý nhanh đối với hệ
thống dữ liệu lớn Vì vậy, trong nội dung bài
báo này chúng tôi tập trung nghiên cứu
phương pháp thống kê làm cơ sở lý thuyết
cho việc xây dựng thuật toán lựa chọn phản
biện bài báo cho tạp chí
Việc chọn ra người phản biện có cùng hướng
nghiên cứu với nội dung bài báo từ cơ sở dữ
liệu các nhà khoa học đảm bảo tính chất
khách quan, đúng vấn đề cần phản biện là
điều hết sức cần thiết đối với một tạp chí khoa
học Muốn vậy, việc phân loại và chọn phản
biện cần phải dựa vào nội dung bài báo, hay
phần tóm tắt bài báo hoặc các từ khóa cho
mỗi bài báo… Điều này thực sự hết sức khó
khăn cho việc tìm kiếm phản biện trong cơ sở
dữ liệu các nhà khoa học nếu thực hiện thủ
*
Tel: 0915 212787; Email: dungnd@tnu.edu.vn
công và thay vào đó ta cần có thuật toán hữu hiệu cho việc lựa chọn phản biện Chính vì lý
do này, phần mềm hỗ trợ lựa chọn phản biện dựa trên phương pháp tính độ gần ngữ nghĩa sẽ đem lại cho tạp chí một phương án tối ưu nhất khi chọn phản biện cho bài báo khoa học Các nhà khoa học tham gia phản biện và các
từ khóa chuyên môn được cập nhật thường xuyên làm cho cơ sở dữ liệu ngày càng lớn
Vì vậy, nếu sử dụng nội dung bài báo hay tóm tắt bài báo để làm dữ liệu tìm kiếm trong cơ
sở dữ liệu phản biện sẽ phải chấp nhận chi phí khá lớn về thời gian tính toán Điều này hoàn toàn không khả thi mà thay vào đó mỗi bài báo sẽ được đặc trưng bởi một số từ khóa, các
từ khóa này sẽ đóng vai trò là dữ liệu đầu vào cho thuật toán Kết quả của thuật toán là danh sách các phản biện được sắp xếp theo thứ tự
ưu tiên về chuyên môn gần nhất với bài báo
Độ ưu tiên gần nhất về chuyên môn với bài báo được hiểu là độ gần ngữ nghĩa giữa từ khóa chuyên môn phản biện và từ khóa bài báo Trong đó, độ gần ngữ nghĩa là đại lượng dùng để phản ánh sự giống nhau về nội dung,
ý nghĩa giữa hai hay nhiều đối tượng Từ khóa là tập hợp các từ đơn được sắp xếp như một từ ghép nhằm chỉ sự đặc trưng của một đối tượng Như vậy, bài toán tìm phản biện được quy về bài toán tính độ gần nghữ nghĩa giữa các xâu ký tự
Trang 2Bài toán xác định độ gần ngữ nghĩa được phát
biểu như sau:
Cho xâu mẫu P=P 0 P 1 …P m và xâu đích
T=T 0 T 1… T n (m ≤ n) trên cùng một bảng chữ
cái A Cần tìm độ gần ngữ nghĩa giữa xâu
mẫu P và xâu đích T Lời giải cho bài toán
này đã được nhiều tác giả nghiên cứu Để rõ
hơn, sau đây chúng tôi trình bày một số thuật
toán làm cơ sở lý thuyết cho ứng dụng
MỘT SỐ THUẬT TOÁN ĐỐI SÁNH MẪU
Đối sánh mẫu là việc tìm vị trí xuất hiện của
một xâu mẫu P trong một xâu đích T Hiện
nay có nhiều thuật toán đối sánh mẫu và được
chia thành bốn loại cơ bản: đối sánh từ trái
qua phải, từ phải qua trái, đối sánh từ một vị
trí cụ thể và đối sánh không theo thứ tự
Thuật toán cơ bản nhất là thuật toán Brute
Force [7] với độ phức tạp của thuật toán là
O(mn) , tư tưởng của thuật toán là kiểm tra tất
cả các vị trí trong T từ vị trí đầu tiên đến vị trí
thứ n-m, mỗi vị trí thứ i thuật toán thực hiện
so sánh T[i,i+1,…,i+m-1] với xâu mẫu P, nếu
thấy thì trả về vị trí i, nếu không thấy thì tiếp
tục dịch sang vị trí thứ i+1 Nhược điểm của
thuật toán này là kiểm tra tất cả các vị trí i
(i=0,1,…,n-m) mà không quan tâm tới khả
năng xuất hiện xâu mẫu hay không ở mỗi vị
trí Khắc phục hạn chế này, Knuth, Donald E.,
James H Morris, Jr và Vaughan R Pratt [5]
đã đề xuất thuật toán tìm kiếm KMP có độ
phức tạp tuyến tính O(n+m), ý tưởng chính
của thuật toán là tìm kiếm vị trí của xâu mẫu
P trong T, nếu tìm thấy vị trí sai thì chuyển
sang vị trí tìm kiếm tiếp theo và quá trình tìm
kiếm sau này sẽ được tận dụng thông tin từ
quá trình tìm kiếm trước để không phải kiểm
tra những vị trí mà chắc chắn là vị trí không
xuất hiện xâu mẫu P Thuật toán KMP được
mô tả như sau:
Input: P, T
Output: Vị trí của mẫu P xuất hiện trong T
Thuật toán 1
i=0; l=0; pos=l; matched=0 ;
while (l + i <= n){
if (P[i] == T[l + i]){
i:= i + 1;
if (i ==m) {
matched=1;return pos;
}
}
else if (F[i] > -1){
i= KMP[i]; l= l + i - KMP[i];pos=l; }
Else{
i= 0; l= l + 1; pos=l;
}
Return {pos, matched}
Trong đó, matched là biến cho giá trị là 0 nếu không tìm thấy và giá trị là 1 nếu tìm thấy P xuất hiện trong T; pos là vị trí xuất hiện của P trong T; KMP là bảng đối sánh một phần, với
sự xuất hiện của KMP cho thấy thuật toán
thực hiện với độ phức tạp là O(n), mục đích của bảng là cho phép thuật toán so sánh mỗi
ký tự của T không quá một lần Thuật toán xác định bảng KMP được mô tả như sau:
Input: P Output: Bảng KMP
Thuật toán tạo bảng KMP
KMP[0]=-1;
KMP[3]= 0;
i=2;
j=0;
while (i <m) if(P[i-1]==P[j]){
KMP[i]= j + 1;
i = i + 1;
j = j + 1;
} else if( j > 0) j= KMP[j];
else { KMP[i]= 0;
i = i + 1;
}
Độ phức tạp của thuật toán xây dựng bảng
KMP là O(m)
TÍNH ĐỘ GẦN NGỮ NGHĨA THEO MÔ HÌNH OTOMAT HỮU HẠN MỜ
Thuật toán xác định độ gần ngữ nghĩa
Trong nhiều ứng dụng tìm kiếm thực tế, mẫu
P hoặc chuỗi văn bản T xảy ra các “lỗi” do
các nguyên nhân khác nhau như sự thay đổi hình thái từ hay các lỗi chính tả như thêm, bớt hay thay đổi ký tự trong từ thì đòi hỏi hệ thống tìm kiếm cần phải linh hoạt và mềm dẻo hơn mà vẫn cho kết quả như mong muốn,
và cụ thể là trong ứng dụng tìm độ gần ngữ nghĩa giữa từ khóa bài báo và từ khóa người
Trang 3phản biện Ví dụ: nếu cho xâu mẫu
P=”approximate searching” và văn bản T=”
approximated searching”, nếu sử dụng các
thuật toán đối sánh chính xác thì dễ thấy P
không xuất hiện trong T Nhưng thực tế có thể
thấy giữa P và T có nội dung gần giống nhau
do có sai khác ký tự “d” Chính vì vậy, lý
thuyết so mẫu xấp xỉ ra đời cho phép tìm
kiếm những thông tin gần giống và mang lại
kết quả mềm dẻo hơn Bài toán so mẫu xấp xỉ
là sự mở rộng của bài toán so mẫu chính xác
và đặt ra yêu cầu là tìm vị trí xuất hiện của P
trong T với số “lỗi” tối đa là e “lỗi” Như vậy
bài toán so mẫu xấp xỉ có thể được quy về bài
toán tìm khúc con chung dài nhất giữa hai xâu
ký tự và lời giải được chấp nhận nếu như độ
dài của khúc con chung có độ lệch không quá
e ký tự so với mẫu P Đã có nhiều phương
pháp tìm xâu con chung dài nhất như phương
pháp quy hoạch động [6] hoặc các phương
pháp đối sánh mẫu theo cách tiếp cận otomat
hữu hạn mờ [1], Các phương pháp này còn
được sử dụng khi xét sự tương đồng về mặt
ngữ nghĩa khi thứ tự các từ trong xâu được
bảo toàn Tuy nhiên, trong trường hợp cấu
trúc thứ tự từ bị thay đổi nhưng vẫn phản ánh
cùng một vất đề thì sử dụng các phương pháp
này lại cho kết quả không mong muốn Ví dụ:
P=”logic toán” và T=”toán logic”, dễ thấy
nếu sử dụng khoảng cách Edit để đo sự tương
đồng ngữ nghĩa thì độ tương đồng rất thấp
(khoảng cách Edit là rất lớn), mặc dù chúng có
cùng phản ánh một nội dung Một thuật toán
đơn giản được đưa ra để giải quyết về vấn đề
xác định độ gần ngữ nghĩa là xây dựng độ mờ
( , )P S
[2], hàm mờ có tính chất như sau:
0 ≤ ( , )P T ≤ 1, hàm ( , )P T có giá trị càng
lớn nếu P càng “gần” T
( , )P T
=0, nếu P không chứa trong T hay P
không phản ánh bất kỳ một nội dung nào của T
( , )P T
=1, nếu P chứa trong T hay nội dung
của T hoàn toàn được phản ánh bởi P, trong
trường hợp này có thể coi ( , )P T =
( , )P P
Như vậy, để xác định độ gần ngữ nghĩa giữa
P và T thì hàm mờ được xác định như sau:
( , ) (
,
,
( )
)
H P T
T
P P
, (1) Trong đó
( , ) , ( , ) ( 1) ,
i: là số khối có độ dài l được trích ra từ P xuất
hiện trong S Thuật toán có thể được mô tả
như sau:
Input: P, T Output: Độ mờ ( , )P T
Thuật toán 2
H=0;
for(l=1;l<=m;l++) for(i=0;i<=m-l;i++) if(khối (l,i) của P xuất hiện trong T) H=H+l;
M=0;
for(l=1;l<=m;l++) M=M+(m-l+1)*l;
/
H M
Trong thuật toán, việc kiểm tra sự xuất hiện
của khối (l,i) trong T có thể thực hiện bằng
các thuật toán trong mục 2 hoặc bằng thuật toán theo cách tiếp cận mờ nhiều lần lặp mẫu trong [1] Theo cách trên thì thuật toán tính độ
mờ có m m( 1) / 2 phép so khớp mẫu, trong
trường hợp cần phải so khớp với R chuỗi T
khác nhau thì số phép so khớp sẽ là
( 1) / 2,
Rm m nếu mỗi T là một từ khóa thuộc một bản ghi, R là số bản ghi trong cơ sở
dữ liệu, nếu R lớn thì việc tính toán mất khá
nhiều thời gian Để khắc phục nhược điểm này, các kết quả trong [2] đã đưa ra một mô hình otomat cải tiến và chỉ cần một lần tính cấu trúc otomat trong khâu tiền xử lý mẫu
Xác định độ gần ngữ nghĩa theo cách tiếp cận Otomat hữu hạn mờ [2]
Lý thuyết otomat là một công cụ hữu ích cho các hệ thống trạng thái hữu hạn Trong phạm
vi bài báo này, chúng tôi lựa chọn mô hình otomat hữa hạn mờ B ( , , A Q q0, ) không
có trạng thái kết thúc; trong đó A là bảng chữ
cái A A p{#}; A p gồm các ký tự xuất
Trang 4hiện trong mẫu P; {#} là tập các ký tự không
có mặt trong P; Q tập hữu hạn các trạng thái
mờ; q 0 là trạng thái ban đầu; là hàm
chuyển trạng Sau đây là một số ký hiệu được
dùng trong thuật toán: Cho 2 số nguyên
0,
d f ký hiệu pre d (P) là tiền tố của xâu
mẫu P được xác định là khúc đầu d ký tự của
P; suf f (P) là hậu tố xâu mẫu P và được xác
định là khúc cuối gồm f ký tự của P; quy ước
pre 0 (P)= suf 0 (P)= (: xâu rỗng); P(f,d)=
suf f (pre d (P)); (f,d) được gọi là tương đương
với (f’,d’) nếu P(f,d)= P(f’,d’) và ký hiệu là
[f,d], cặp (f,d) được gọi là có nghĩa với P nếu
cặp có d nhỏ nhất trong lớp [f,d];
( , ) (| |, min{ : ( , ) });
cho u, v là các xâu ký tự, ký hiệu lfact(v,u) là
khúc cuối y dài nhất của v sao cho y cũng là
một khúc con của u Otomat mờ
0
( , , , )
B A Q q được xác định như sau: Tập
trạng thái Q={(f,d,k,flag): (f,d) là cặp có
nghĩa với P}, k là số khối có độ dài f của P
giống nhau; flag là thành phần ghi nhớ trạng
thái tham gia vào quá trình tính độ gần ngữ
nghĩa, nếu trạng thái chưa được sử dụng vào
việc tính độ gần ngữ nghĩa thì flag=0, nếu đã
được sử dụng thì flag=1; trạng thái đầu
q 0 =(0,0,0,0); hàm chuyển trạng
(( , , ), )f d k a ( ', ', ')f d k
trong bảng chuyển trạng, trong đó a A,
)
'
,
'
(f d được xác định là cặp
) ), , ) , (
(
thuật toán tính độ gần ngữ nghĩa giữa P
và T
Input: P, T, Otomat B, M
Output: Độ gần ngữ nghĩa ( , )P T
Thuật toán 3
H=0;
q 0 =(0,0,0,0);
for(i=0;i<n;i++){
q ( q0, Ti)
if(q.flag==0){
H=H+q.k*q.f;
q.flag=1;
}
q 0 =q;
}
/
H M
Như vậy thuật toán trên chỉ cần tính cấu trúc otomat một lần, việc tính toán độ gần ngữ nghĩa
là O(n) Với cấu trúc otomat có thành phần flag
thì những trạng thái đã được xét sẽ không cần phải xét lại, điều này làm giảm đáng kể thời gian tính toán so với thuật toán 2
THUẬT TOÁN LỰA CHỌN PHẢN BIỆN
Mỗi phản biện C i (i=1,2,…,K) được đại diện
bởi tập từ khóa {C , C , ,C }1 2
i
i i ir , r i là số từ
khóa của phản biện C i; Bài báo cần phản biện
J được đại diện bởi tập các từ khóa {J 1 ,J 2 ,…,J t } Bài toán đặt ra là trên cơ sở tập
từ khóa bài báo và từ khóa chuyên môn của các nhà phản biện, ta cần xác định độ gần
chuyên môn của bài báo với phản biện C i, ký hiệu độ gần chuyên môn của bài báo với phản
biện C i là i Độ gần chuyên môn của bài
báo với phản biện C i được xác định là
,
i
X M
(2) trong đó
1 1
( , );
i r t
1
( , )
t
j
Ký hiệu m j là độ dài của từ khóa J j;
1
j m
l
p: là số khối có độ dài
l được trích ra từ J j xuất hiện trong C ik;
1
( , ) ( 1)
j m
l
Thuật toán tìm
độ gần chuyên môn được mô tả như sau:
Input: Từ khóa các nhà phản biện:
1 2
{C , C , ,C }
i
i i ir , i=1,2,…,K
Từ khóa báo báo: {J 1 ,J 2 ,…,J t }
Output: Danh sách các phản biện được sắp
xếp theo thứ tự giảm dần về độ gần chuyên môn
Thuật toán 4
for (i=1;i<=K;i++){
X=0;M=0;
for(j=1;j<=t;j++){
Trang 5Khởi tạo otomat B j đối với J j ;
For(k=1;k<=r i ;k++)
X=X+H(J j , C ik );
M=M+H(J j ,J j );
}
M=r i *M;
i X M/ ;
}
Với cấu trúc otomat như trong mục 3, hàm
H(J j ,J j ) được xây dựng như trong thuật toán 2
và H(J j , C ik ) được xây dựng như trong thuật
toán 3 Sau khi tính được độ gần chuyên môn
i
, ta sắp xếp danh sách các phản biện Ci
theo thứ tự giảm dần của i Như vậy, sau
khi thực hiện thuật toán ta được danh sách
phản biện được sắp xếp theo mức độ ưu tiên
có chuyên môn gần với bài báo
KẾT LUẬN
Trong bài báo này, chúng tôi trình bày các
phương pháp đối sánh mẫu làm cơ sở cho
thuật toán tính độ gần ngữ nghĩa giữa hai xâu
ký tự Thuật toán tính độ gần ngữ nghĩa được
chúng tôi lựa chọn là thuật toán dựa trên mô
hình otomat hữu hạn mờ, trên cơ sở đó chúng
tôi đề xuất bài toán lựa chọn phản biện bài
báo cho tạp chí khoa học và xây dựng thuật
toán tính độ gần chuyên môn làm tiêu chí hỗ
trợ cho quá trình lựa chọn phản biện
LỜI CÁM ƠN
Các kết quả nghiên cứu trong bài báo này là
một phần của Đề tài ”Xây dựng phần mềm
quản lý và lựa chọn phản biện tự động cho
Tạp chí Khoa học và Công nghệ Đại học Thái Nguyên” mang mã số ĐH-TN01-01.ĐH
Chúng tôi xin trân trọng cám ơn quỹ phát triển khoa học và công nghệ Đại học Thái Nguyên đã tài trợ cho nghiên cứu này
TÀI LIỆU THAM KHẢO
1 Nguyễn Thị Thanh Huyền, Phan Trung Huy (2002), “Tiếp cận mờ trong một số thuật toán so
mẫu”, Tạp chí Tin học và Điều khiển học, 18(3),
tr 201-210
2 Nguyễn Thị Thanh Huyền, Nguyễn Đắc Tuấn, Phan Trung Huy (2006), “Xác định một số độ đo
sự tương tự giữa hai xâu theo mô hình otomat
mờ”, Tạp chí Bưu chính Viễn thông và Công nghệ thông tin, (16), tr 86-94
3 A Aho and M Corasick (1975), “Effcient string matching: an aid to bibliographic search”,
CACM, 18(6), pp 333-340
4 Christian Charras, Thierry Lecroq (2004),
Handbook of Exact String-Matching Algorithms,
King's College Publications
5 Knuth, Donald E., James H Morris, Jr, and Vaughan R Pratt (1977), “Fast pattern matching
in strings”, SIAM Journal on Computing, 6.2
(1977), pp 323-350
6 Kurtz S (1996), “Approximate String Searching under Weighted Edit Distance”,
Proceedings of 3rd South American Workshop of String Processing, Carton University Press, pp
156–170
7 Navarro, Gonzalo (2001), “A guided tour to approximate string matching”, ACM Computing Surveys, 33 (1), pp 31-88
8 S Needleman and C Wunsch (1970), “Ageneral method applicable to the search for similarities in the
amino acid sequences of two proteins”, J of Molecular Biology, 48, pp 444 – 453
Trang 6ABSTRACT
APPLICATION OF A SEMANTIC CLOSE MEASURE DETERMINING METHOD
BY FUZZY AUTOMATA IN PAPER-REVIEWER ASSIGNMENT
Nguyen Dinh Dung * , Nguyen Huu Cong, Nguyen Tuan Anh
Thai Nguyen University
In this paper, we give paper-reviewer assignment problem based on paper’s keywords and database of reviewer’s keywords We consider string matching algorithms as Brute Force Algorithm and KMP Algorithm to solve this problem, these algorithms seem to be effectless in case changing of phrase form So, we use a semantic close measure by fuzzy automata to give an algorithm to find suitable reviewers for papers We give an expertise close measure that is standard for paper-reviewer assignment and determined by the density of common substrings of paper’s keywords and reviewer’s keywords
Keywords: Pattern matching, Semantic close measure, Fuzzy automata, approximate searching,
Edit distance, paper-reviewer assignment
Ngày nhận bài: 23/8/2017; Ngày phản biện: 6/9/2017; Ngày duyệt đăng: 30/11/2017
*
Tel: 0915 212787; Email: dungnd@tnu.edu.vn