1. Trang chủ
  2. » Cao đẳng - Đại học

Ứ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

6 9 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 290,36 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 2

Bà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 3

phả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 mnế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 AA p{#}; A p gồm các ký tự xuất

Trang 4

hiệ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

( , , , )

BA 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 đó aA,

)

'

,

'

(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 5

Khở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;

iX 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 6

ABSTRACT

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

Ngày đăng: 15/01/2021, 02:33

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w