Còn trong trường hợp người đùng không nhớ được chỉnh xác từ khỏa tim kiếm, tìm kiếm theo ký tự đại điện là một những giải pháp phủ hợpđược sử dụng vì ná sử dụng các ký tự như “?” hoặc “
Trang 1
TRUONG ĐẠI HỌC CÔNG NGHỆ
'TRƯƠNG KIM TÚ
TÌM HIỂU PHƯƠNG PHÁP XỬ LÝ TÌM KIEM THEO)
KÝ TỰ ĐẠI DIỆN CỦA LUCENE
LUAN VAN THAC SĨ HE THONG THONG TIN
Ha Néi- 2016
Trang 2TÌM HIẾU PHƯƠNG PHÁP XỬ LÝ TÌM KIẾM THEO
KÝ TỰ ĐẠI DIỆN CỦA LUCENE
Ngành: Hệ thông Thông tin
Chuyên ngành: IIệ thống Thông in
Mã số: 60.48.0104
LUẬN VĂN THẠC SI HE THONG THONG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS 1§ Nguyễn Trí Thành
Hà Nội — Năm 2016
Trang 3'Lôi muốn bảy tỏ lỏng biết ơn sâu sắc tới những người đã giúp đỡ tôi trong
quá trình lâm luận văn, đặc biệt tôi xia cam on PGS TS Nguyễn Trí Thảnh, với
lòng kiên trị, thầy đã chỉ bảo tôi chỉ tiết và cho tôi những lời nhận xét quí báu trong từng bước làm luận văn Đẳng thời tôi cũng xin gửi lời cảm ơn tới các
thay sô giáo khoa Công nghệ thông tin - Trường Đại học Công nghệ - Đại học
Quốc gia Hà nội dã truyền dạt các kiến thức cho tôi trong suốt thời gian học tập
và nghiên cứu vừa qua
Tôi vũng xin chân thành cảm ơn cơ quan, bạn bẻ, đồng nghiệp, gia
đình và những người thân đã cùng chia sẻ, giúp đố, động viên, tạo mọi điều
kiện thuận lợi để tôi hoàn thành nhiệm vụ học tập và cuốn luận văn này
Ha NGi, tháng 5 năm 2016
Hạc viên
Trương Kim Tú
Trang 4LOI CAM DOAN
Tôi xin cam đoan nội dung trình bay trong luận văn này là do tôi tự
nghiên cứu tìm hiểu dựa trên các tải liệu và tôi trình bày theo ý hiểu của bản
thân dưới sự hướng dẫn trực tiếp của PGS 15 Nguyễn Irí Thành Các nội dung nghiên cứu, tìm hiểu và kết quả thực nghiệm là hoàn toàn trung thực
Tuan vin nay của tôi chưa từng dược công bố trong bất cứ công trình
nao.Trong quá trình thực hiện luận vấn tôi dã tham kháo lài liệu của một số lác
giả tất cả những thống tin liên quan đến tải liệu tham khảo dều được liệt kể
Trong mục “FÀI LIỆU THAM KHẢO” ở cuỗi luận vẫn
Tôi xin chịu trách nhiệm hoàn toàn về lời cam đoan của mình, nếu có gì sai, tôi sẽ chịu mọi hình thức ký luật thco quy định
Hà Nội, tháng 5 năm 2016
Học viên
Trương Kim Tú
Trang 53 Mục liêu nghiên cửu - - 1
1.1 Tổng quan về các phương pháp tìm kiếm 3
1.2 Tông quan về phương pháp xử lý tìm kiếm theo ký tự đại diệ Š„4 1.3 Y nghĩa khoa học và thực tiễn của để tải aS
2.1 Giới thiệu cầu trúc chỉ mục ngược - - 6
2.2 Tìm kiếm theo ký tự đại điện 9
2.2.3.1 Giới thiệu một số khải niệm liên quan đến olomat - 12
2.2.3.2 Biéu diễn truy vấn theo ký tự đại điện dưới dạng biểu thức chính
quy và quy tắc chuyển đổi từ biểu thức chính quy sang otomat L5
2.2.3.3 Gita phap tim kiếm dựa trên Otomat 16
2.2.4 Giải pháp tìm kiểm dựa trên máy chuyển dỗi hữu hạn trạng thái 18
2.2.4.1 Giới thiệu về máy chuyển đổi hữu hạn trạng thái - 18
2.2.4.2 Giấn pháp tìm kiếm dựa trên máy chuyển đỗi hữu hạn trạng thải
Chương 3 GIỚI THIỆU LUCENE "——
Trang 63.1.2.1 Quy trinh tim kiém trong Lucene
3.1.2.2 Giới thiệu một số kỹ thuật tìm kiểm trong Lucene
3.2 Giới thiệu tìm kiếm theo ký tự đại diện trong l.ucene
Chương 4 THỰC NGHIỆM VA DANH GIA KET QUA
4.1 Quy trình thực nghiệm
4.1.1 Thu thập dữ liệu và tiền xử lý
4.1.2 Tao tải liệt
4.2 Xây dựng chương trình thực nghiệm
4.2.1 Thu thập dữ liệu và tiền xử lể
4.2.2Tạo tài liệu
Thụ lục: Quy tắc viết biểu thức chính quy trong Tava
46
47 48
Trang 7Bảng 2.1 Một số ví dụ biểu diễn chuối truy vẫn bằng biểu thức chính quy trong
Bảng 3.1 Lịch sử phát triển của Lucene "¬ "¬-''
Bang 3.2 Các lớp được sử dụng trong quy trình tìm kiểm - 29 Bang 4.1 Các phần mềm sử dụng cho chương trình thực nghiệm - 35
Bảng 4.2 Các class trong chương trình thực nghiệm 37
Bang 4.3 Kết quả đánh giá trước khi bổ sung tính năng tìm kiếm theo tiếng Việt
4
Bảng 4.4 Kết quả danh pia sau khi bố sung tính năng tìm kiếm theo tiếng Việt 43
Trang 8Hình 2.3 Một H-tree - - - 8
Tình 2.5 Ví dụ về danh sách các posling trong một chỉ mục 3-gram 11 THỉnh 2.6 OLlomat đoán nhận ngôn ngữ sinh bởi E = øb + b * ba 16 Tình 2.7 Otomat ứng với acha + b + trong giải thuật tìm kiếm dựa trên otomat
- 17
Hình 2.8 Quả trình tìm kiếm chuỗi sử dụng giải thuật tìm kiểm dựa trên otomat
18
Hinh 2.9T lex khép cdc tir với đặc điểm tương ứng của từ đó 19
Hinh 2.10 FST tuong img voi truy van “s*food” - 20
Hình 2.11 Quá trình tìm kiếm chuỗi dựa trên FST với chuối đầu vào seafoad 20
Hình 3.1 Quy trình lập chỉ mục trong laucene " " -
Tĩnh 3.2 Cấu trúc chỉ mục ngược trong Lucene - 25
Trang 9API Giao diện lập trình ứng dung
(Application Programming Interface)
DFA Automat hitu han don dinh
‘ (Deterministic inite Automata)
Automat hitu han
(Pimie Automata)
Máy hữu hạn trạng thái
(Finite State Machine)
rst Mãy chuyển dỗi hữu han trang thai
(Hinite state transducer}
HIML, Ngôn ngữ đánh đâu siêu văn ban
(HyperText Markup Language)
Định danh 1D (identification) ;
We Môi trường phát triển tích hợp
° Gntegreted Development Environment)
IDK Dệ công cụ phát triển ứng dụng bắng ngôn ngữ lận trình Java (Java Development Kil)
Trang 10
1
MO DAU
1 Đặt van dé
Ngày nay, với sự ra déi cia mang Intemet va sự phát triển nhanh chong,
vượt bậo của mạng truyền thông, một khối lượng rất lớn cáo thông tin được cận
nhật và đưa lên mạng thường xuyên Các thông tin là các tập tin có cầu trúc hoặc
phi cấu trúc, nằm rải rác ở nhiều nơi Câu hỏi dit ra lam thé nao để tìm dược
đúng thông tin một cách nhanh chóng và hiệu quả nhất Dễ đáp ứng yêu cầu đó,
đã có rất nhiều phương pháp tìm kiếm thông tin cũng như các công cụ tìm kiếm
thông tin ra đời như Google, Yahoo, Altavista, Bing
Tuy nhiên, thông tin gần tìm kiểm lả rất nhiều vả da dạng vả nhu cầu tìm
kiếm thông tin của người dùng ngáy càng cao nên việc nghiên cứu, tìm hiểu để
khám phá và hiểu biết sầu hơn vỀ cách thu thập, lưu trữ, biểu diễn, tổ chức tìm kiếm thông tin hiệu quả và nhanh nhất vẫn thực sự rất cần thiết
Tựa trên nhu cầu trên rất nhiều kỹ thuật tìm kiếm cơ bản và nâng cao đã được đưa ra giới thiệu va được áp dụng trong rất nhiều công cụ tìm kiểm phd
biến hiện nay Tuy nhiên, phạm vi nghiên cứu của luận văn chỉ đừng lại ở việc
giới thiệu những nét cơ bản nhất của các phương pháp tìm kiểm phổ biển hiện
nay, sau đó tập trung vảo việc tìm hiểu phương pháp lim kiém theo ky tw đại
diện từ khải quát, pải thuật cho dến cải dặt thực tế với một thư viện tìm kiểm
mạnh mẽ là l.ucene
2 Mục tiêu nghiên cửu
Nghiên cứu của luận văn hướng tới các mục tiêu sau:
© Tìm hiểu về tìm kiếm nói chung và tìm kiếm theo ký tự đại điện nói riêng
ø _ Tìm hiểu các giải pháp tìm kiếm theo ký tự đại diện
© _ Tìm hiểu giải pháp tìm kiếm theo ky tu đại dign ciia Lucene
ø _ Tiến hảnh thực nghiệm tìm kiểm theo ky tu dai dién cia Lucene cho tiéng
Việt
3 Cầu trúc luận văn
Luận văn được chia thành 4 phần với các nội dung như sau
Chương 1 trình bày tổng quan về các phương pháp tìm kiếm Các kiến
thức được trình bày bao gồm các phương pháp chung được sử dụng trong tìm
kiếm, đặc biệt là phương pháp tìm kiểm theo ký tự đại điện và ý nghĩa của nó về
mặt khoa học và thực tiễn nhằm mang lại những kiển thức căn bản nhất trong
Tĩnh vực tìm kiếm
Trang 11Chương 2Trình bày sâu hơn về kỹ thuật xử lý truy vấn va các giải thuật tìm
kiếm theo ký tự đại diện Các kỹ thuật được trình bày trong chương này sẽ là cơ
sly thuyét cho việc tỉm hiểu va cài đặt chương trình ứng dụng ở chương tiến
theo
Chương 3 giới thiệu thư viện Lucene vả tính năng tìm kiếm theo ký tự đại điện của Lucene, từ đó vận dụng vào việc xây dựng chương trình thử nghiệm
tinh ning tim kiém theo ký tự đại diện của Lucene
Phần kết luận tổng kết những kết quảđạt được của luận văn vả hưởng nghiên cứu tiếp theo
Trang 123
Chuong 1 TONG QUAN
Chương dẫu tiên của luận văn cung cấp cái nhìn tổng quan về Gm kiém thông tin trên Internet và những thách thức hiện nay dối với vấn dé này Để giải
quyết những tốt những vấn để gặp phái trong tìm kiếm thông tin rất nhiêu
phương phản tìm kiểm từ cơ bản đến nâng cao dược dễ xuất, trong dó có
phương pháp tìm kiếm theo kỷ tự đại diện Các khái niệm cơ bản nhất của các phương pháp nảy sẽ được trình bảy một cách ngắn gọn nhất trong nội dung chương 1
1.1 Tổng quan về các phương pháp tìm kiếm
Internet có thể được xem như là một kho thông tỉn khổng lễ và vô lận, được cung cấp từ hàng triệu Wcbsitc trên khắn thẻ giới, chữa đựng hầu như toán
bộ kiến thức của nhân loại 'lrên Internet người dùng có thể tìm được vô số
thông tin béich và các kiến thức về mọi lĩnh vực từ khoa học cho dến lịch sử,
văn học Tuy nhiên nguồn tri thức đó lại không được sắp xếp theo một trật tự
Vì vậy, trước một kho thông tin như thé néu người dùng chưa có mục đích tìm kiếm rõ ràng thì sẽ mắt thời gian vì lượng thông tin quả nhiều Thêm nữa nếu không thành thạo, người dùng sẽ rất khó khăn trong việc tìm thấy thông tin cần thiết trong lượng lớn kết quả tìm kiếm
Chính vi thể phương pháp tim kiémthéng tin trên Internet duge xem là một kỹ năng vô củng quan trọng và cân thiết
Các phương pháp tìm kiểm cơ bản cần phải kế dắn ở dây gồm: 'Tím kiếm
chính xác tìm kiếm theo ky tự đại diện, tỉm kiếm theo mệnh để, tìm kiếm xấp xi
và tỉm kiểm cụm từ Trong tìm kiếm chính xác, chỉ những tải liệu chứa chính
xác từ khóa người dùng nhập vào được hiển thị Còn trong trường hợp người
đùng không nhớ được chỉnh xác từ khỏa tim kiếm, tìm kiếm theo ký tự đại điện
là một những giải pháp phủ hợpđược sử dụng vì ná sử dụng các ký tự như “?”
hoặc “" để đại diện cho không hoặc một kỹ Lự bất kỷ hay một chuỗi kỷ tự bất
kỷ (pồm cả chuỗi có độ dải bằng 0) Tim kiểm theo mệnh dễ có sử dụng các toán tir logic nhu AND, OR dé
tìm kiếm nhức tạp hơn Để tăng tính liên quan của các tài liệu dược trả về thỉ tìm
kiếm cụm tử là một kỹ thuật hữu ích ‘lim kiếm xấp xi cũng là rnột kỹ thuật thm
kiểm hay được sử dung trong tim kiểm thông tin, phương pháp nảy sẽ trả về kết
liên kết các câu truy vẫn đơn tạo thành một mệnh dễ
quả chứa thuật ngữ gần giống với thuật ngữ truy vấn đưa ra bởi người sử dụng
Ngoài các phương pháp tìm kiếm cơ bản được trỉnh bảy ở trên, một số phương pháp tìm kiếm nâng cao cũng được các công cụ tìm kiếm sử dụng nhằm
Trang 13Jam mịn hơn kết quả tim kiêm: Tìm kiểm tập hợp, tim kiếm theo trường xác
định Trong tìm kiếm theo tập hợp, kết qua tim kiếm được hiển thị như các tập
hợp, và có thể kết hợp với các tìm kiểm khác hay các từ khóa khác Tìm kiếm
theo trường cụ thể cho phép người đựng lựa chọn một trường cụ thể để thực hiện
tìm kiếm thay vì thực hiện tìm kiểm với tất cả gác trường,
1.2Tống quan về phương pháp xử lý tìm kiếm theo ký tự đại diện
'Iruy vấn theo ký tự đại diện được sử đựng trong những tinh huéng sau đây: (1) người dùng không chắc chắn về cách viết của một thuật ngữ truy vẫn (ví
dụ, Sydney voi 5idney, sẽ dẫn đến truy vấn theo ký tự đại diện S*dnev), (2)
người dùngbiếtcó nhiều biến thể trong cách viết của một thuật ngữ (ví dụ,
colorvéi colour), (3) người dùng tìm kiếm các tài liệu chữa ác biến thể của một
thuật ngữ có thể nhận được thông qua giải thuật stemming, nhưng không chắc
chắn oáo công cụ Lìm kiểm có thực hiện giải thuật semming hay không (vi du,
Judicial, vii judiciary, s& din dén truy van theo ky tự dai didn judicia’), (4) người dùng không chắc chấn vẻ cách viết đúng của một từ hay cụm từ nước ngoài (ví dụ, truy vẫn Universit® Stuttgart)
Các cơ sở đữ liệu, công cụ tìm kiểm khác nhau sẽ sử dụng các ký tự khác
nhau làm ký tự đại điện Tuy nhiên, dấu * và đấu ? là các ký tự đại diện được sứ
đụng phổ biến nhất Trong phạm vi nghiên cứu của luận văn hai ký tự dại điện phổ biến là dầu * và dấu ? sẽ được tìm hiểu
s Dấu * đại diện cho chuỗi ký tụ bất kỷ, gềm chuỗi có độ dài bằng 0 Vi dụ:
o #ø®#⁄oodtìm kiếm: seafood hoic soyfood
o_ znzym* tìm kiếm: enzymehoặc enzymeshoặc enzvmaiichoặc enzymic
c Hof*man*im kiémHofman hoặc Hafmannhoặc Hoffmanhoac
Hoffinann
© Dấu” đại diện cho không hoặc một ký tự bất kỳ Ví dụ:
wom?n tìm kiếm: woman hoặ
c women
«Trong một truy vấn tìm kiếm có thể sử dụng kết hợp các ký tự dại điện
khác nhau Ví đụ
organi?ation* tim —kiém:organisation hole organisations hoặc
organisational hoac organization hoaic organizations hoac organizational
Các cơ sở dữ liệu, công cụ tìm kiếm kháu nhau sẽ cỏ những quy tắc khác
nhau trong việc tìm kiếm theo ký tự đại diễn, sao cho việc thực hiện tìm kiếm đạt hiệu quả nhất Tuy nhiên, để có thể tận dụng tối đã những lợi ích mà kỹ thuật
Trang 145
tim kiém này mang lại có một số lưu ý khi thực hiện tìm kiếm theo ký tự đại
điện:
« Nêu không chắc chắn về ký tự đại điện được sử đụng trong một cơ sở dữ
liệu hay một công cụ tìm kiếm, người đùng nên sử dụng phần trợ giún
trong cơ sở đữ liệu hay công cụ từn kiếm đang sử dựng để biết chính xác
* Cac ky tu dai dién * có thể được sử dụng bên trong hay cuối truy vấn — nhưng không nên sử dụng ở đầu truy vấn vì nó có thể làm chậm đáng kế tốc độ tìm kiếm Ví dụ, có thể dùng su/*ur nhung khong nén dung *ploid
1.3Ÿ nghĩa khoa hục và thực tiễn của đề lài
13.1 Ý nghĩa khoa học
® Tìm kiểm theo ký tự đại điện là bài toán cễ diển được nhiều tác giả trên
thế giới quan tâm vả nghiên cứu như: GS.15 Christopher D Mlanning
của trường Dại học Stanford, Prabhakar Raghavan làm việc tại Google, và
OS TS Ilinrich Schutzectia truéng Dai hoc Munich
* Tuan van đã di sâu tìm hiểu về các giải thuật tìm kiém theo ky te dai dién
và cho thấy hiệu quả của kỹ thuật tìm kiểm này
© ĐỀ tải cung cấp oơ số, nền tầng khoa học cho việc tiếp tục nghiền cứu và xây dựng một công cụ tìm kiểm hoàn chỉnh
1.3.2 Ÿ nghĩa thực tiễn
Voi các công cụ tìm kiếm hiện nay, người dùng sẽ nhập từ khóa tim kiếm, sau khi đối sánh các công cụ sẽ trả về các kết quả có liên quan đến từ khỏa
Trong trường hợp người dùng nhập chính xác từ khóa thì kết quả tìm kiếm có
thể không bao gầm tắt cả các tải liệu như ý muốn của người đúng (do vấn dễ từ
déng nghĩa, vi du color va colour) Tham chí, có những Irường hợp người dùng
không thể nhớ chính xác tử khóa mỉnh cần nhập (reluctanthayreluctent), hoc muốn mở rộng kết quả tìm kiếm xuất phát từ một số ký tự ban dầu (ví dụ, muốn
tim cde ur computer, computing, computation xuit phát từcompuf), đặc biệt là
trong các ngôn ngữ đa âm như tiếng Anh Irong những trường hợp này tìm kiểm theo ký tự đại diện là một phương pháp hiệu quả
Việc không nhớ dược chỉnh xác một từ là điều rất hay xảy ra khi người
dùng tìm kiếm các tải liệu tiếng nước ngoài
Trang 15Chuong 2 CAC GIAI PHAP CAI DAT TIM KIEM THEO KÝ TỰ DẠI
DIEN
Chương 2 tiếp tục nghiên cứu sâu hơn những nội dung mặt lý thuyết về
tìm kiếm theo ký tự đại diện đã trình bảy trong chương 1 của luận văn Nội dung
chương 2 giới thiệu cấu trúc chỉ mục ngược và cấu trúc hỗ trợ lưu trữ và tìm
kiểm thuật ngữ trong từ điển của chỉ mục ngược một cách hiệu quả, dựa trên
những cấu trúc này các giải pháp tìm kiêm theo ký tự đại điện được trinh bảy
bao gồm: chỉ mục quay, chỉ mục k-gram, và các giải pháp dựa trên olomaL
2A Gi
thiệu cấu trúc chỉ mục ngược Chỉ mục (2n4¿x) là một cách bổ trí có hệ thống gủa các chủ để hay các mô
tả của các tài liệu dễ tạo diễu kiện thuận lợi cho tìm kiếm tài liệu hay một phần
của tài liệu Chỉ mục bao gồm các thành phần chính: (a) các thuật ngữ (erm) Šạt
diện cho các chủ để hay các mô tả của các đơn vị tài liêu, (b} một cú pháp
(syntax) kết hợp các thuật ngữ trong các tiêu dề hay các mệnh để tìm kiếm để đại diện cho các chủ đề, các mô tả hay các truy vấn phức tạp; (c) các tham chiếu chéo (cross-reference) hay các phương thức liên kết giữa các thuật ngữ đồng
nghĩa, tương đương, mở rộng, các thuật ngữ có nghĩa hẹp hơn hay các thuật ngữ
có liên quan khác; (d) một thủ tục liên kết phần tiêu đềhay các mệnh để tìm
kiếm với gác đơn vị tải liệu cụ thể hay các dại diện tài hiệu; và (c) một thứ tự hệ thống của các tiêu để hay một thú tục tìm kiểm
Chi mục ngược (erfed inda) là chỉ mục trong đó các thuật ngữ có liên
kết với các phần tài liệu chứa nó Ý tưởng chỉnh của chỉ mục ngược được giới
thiệu trong hình 2.1 Một từ điển (đicdeonary) là một cấu trúc dữ liệu được sử
đụng để lưu các thuật ngữ Mỗi thuật ngữ sẽ có một danh sách để lưu lại các Lãi liệu (thường là định danh Tdentification(ID) của tài liêu) có chứa thuật ngữ dé
gọi là danh sách các posting (postings list) Mbi phần tử trong danh sách được
gọi là một pasfng.Từ điển cho chỉ mục ngược thường dược lưu trong bộ nhớ
trong, gồm một số thông tin quan trọng như: các thuật ngữ, số lượng tải liệu chứa thuật ngữ và danh sách các posing , với các con trô trỏ đến các danh sich posting được lưu trên ỗ dia [inh 2.1 được sắp xếp theo thứ tự từ điển và mỗi danh sách các posting được sắp xếp theo ID của tải liệu
Bởi vi có nhiều biển thể của các chỉ mục ngược sẽ phát triển trong chương
nảy, nêncụm từ chỉ mục ngược tiêu chuẩn được dùng để chỉ cầu trúc chỉ mục
được để cập trong mục 2.1 Chí tiết về chỉ Tục ngược và các biến thể của chỉ
mục ngược được trình bảy trong [3,12]
Trang 16Hình 2.1 Cầu trúc của chỉ mục ngược
Với một chỉ mục ngược vả một truy vấn cho trước,nhiệm vụ đâu tiên là
xác định xem mỗi thuật ngữ truy vân có tồn tại trong từ điển hay không, nếu có
xác định các con tré dén cdc posting long img
Một giải phápcho phép lưu trữ và tìm kiếm các thuật ngữ trong từ điến
hiệu quả sẽ góp phần cải thiện hiệu quả tìm kiếm nói chung Có hai lớp giải
pháp mở rộng được đề xuất là bảng băm và cây tìm kiếm, tuy nhiên nếu số lượng các thuật ngữkhông ngừng tăng lên thì kích thước của bảng băm là một
hạn chế, đo đó gây tìm kiểm là một giải pháp tối ưu hơn khi tìm kiểm các thuật
Hình 2.2 Mét cây tìm kiêm nhị phân Irong ví dụ này nhánh tại gốc phân chia từ
vựng thành hai cây con, cây con thứ nhất gồm các chữ cái từ a dến m, cây con
Trang 17tủy theo kết quả trả về mà việc tìm kiểm được tiếp tục thực hiện đối với một
trong hai cây con bên đưới nút đỏ Hình 2.2 đưa ra ví đụ về một cây tìm kiếm
nhị phân được sử đụng cho một từ điển Một tìm kiếm được đánh giả là hiệu quả
(có độ phức tạp về thời gian 14 O(log M)) khi cây được duy trị cân bằng trong
suốt quá trình tìm kiếm Một cây nhị phân được gọi là cân bằng khi số các nút đưới hai cây con cũa nút bất kỳ hoặc là bằng nhau hoặc chỉ sai khác nhau một Vấn dé chính ở dây là việc tái cân bằng: khi các thuật ngữ dược chèn vào hoặc
Một giải pháp để giảm thiểu sự tái cân bằng là cho phép số lượng cây con
đưới một nút trong thay đổi trong một khoáng cố dịnh Một cây tìm kiếm thường được sử dụng cho một từ diễn lá B-ee-lả cây tìm kiếm trong đó mỗi nút
thước của các khối đĩa
O
Hình 2.3 Một B-tree ‘lrong vi du nay mỗi nút trong có từ 2 đến 4 con
Tìm kiểm thuật ngữ trong từ điển là hoạt động tA yéu trong quá trình tìm
kiếm, trong phần tiếp theo, cây tim kiếm trinh bay ở trên sẽ lảcắu trúc hiệu quả
thuật ngữ truy vẫn khác nhau tương ứng với truy vẫn chứa ký
tự đại diện ban dầu trong từ điển Sau đó, quá trình tim kiểm trên cấu trúc chi
giúp tìm kiếm
mục ngược tiểu chuẩn mới được thực hiện.
Trang 182.2Tìm kiểm theo ký tự đại diện
Phan này nghiễn cửu các ý tướng của một truy vấn theo ký tự đại điện: một truy vấn như * a *e *¡*o *u *, tìm các tải liệu có chứa tất cä năm nguyên âm
theo thứ tự như trên Các dấu * thể hiện cho các chuỗi ký tự bất kỳ (bao gồm
chuỗi có đệ đải bằng 0) Người dùng đưa ra các câu truy vintheo ký tự đại điện khi họ không chắc chắn về cách đánh vẫn một thuật ngữ truy vấn, hoặc tìm kiếm
các tải liệu có chứa các biến thể của một thuật ngữ truy van; Vi du, truy van
automat* s& tim kiém cdc tải liệu có chứa bất kỳ các thuật ngit, automatic,
automation and automaied
Trong tim kiém theo ký tự đại điện, ký tự đại diện có thể nằm ở cuối truy
vấn (trailing wildcard query), cô thể nằm diu truy van (leading wildcard query),
và trong trường hợp tổng quát, ký tự đại diện có thể nằm ở vị trí bất kỳ trong
truy vấn Tủy theo vị trí của ky tự đại điện, cáo kỹ thuật xử lý số được giới thiêu
trong các nội dung tiếp theo,
Truy vẫn mon*, ký tự * xuất hiện chỉ một lân, ở cuối tru vấn Một cây
tìm kiếm trên từ điển là một cách hiệu quả dé xử lý các truy vấn có ký tự đại
điện theo sau: thực hiện duyệt cây từ gốc lần lượt theo các ký tự m, o và n, dễ cá
thể liệt kê tập chứa các thuật ngữ trong từ điển có tiền tổ là món Cuối cùng, |
W duoc sit dung dé tim kiểm trên chỉ mục ngược tiêu chuẩn giủptim được tất
cả các tài liệu có chửa bất kỳ thuật ngữ nào trong
Đối với các truy vấn có kỷ tự đại diênnằm đầu truy vấn, ví dụ Ymøn Một B-tree ngược (reverase R¬tree) với từ diễnlà cây trong đỏ mỗi đường di từ gốc tới
lá của H-tree tương ứng với một thuật ngữ trong tử diễn được viết ngược Theo
đó, thuật ngữ iemon, trong Đ-tree, được đại diện bởi đường dị: gỗc-n-o-m-c-l
bé ligt ké tht cA các thuật ngữ# trong từ vựng với một tiễn tổ đã cho cần thực
hiện duyệt cây B-tree ngượcbắt đầu từ gốc
Trong thực tế, ta có thể xứ lý các truy vẫn theo kỷ tự đại điện tổng quát,
có một ky tự * duy nhất, như se*zonbằng việc sử dụng kết hợp một H-tree
thường với một B-tree ngược Trong trường hợp tống quát nảy, một B-tree
thường được sử dụng để hệt kê tập các thuật ngữ của từ điển bắt đầu với tiên
tố se, sau đó, một B-tree ngược sẽ được sử dụng để liệt kê tập R các thuật ngữ
kết thúc với hậu tổmon Tiếp theo, lấy kết quả phép giao W í\ Rcủa hai tập hợp,
để thu được lap các thuật ngữ bắt đầu với tiễn tố sevà kết thúc với hậu tổmøm
Cuối cùng, một chỉ mục ngược tiêu chuẩn được sử dụng để tìm tất cả các tải liệư
có chứa các thuật ngữ trong tập hợp là kết quả của phép giao này
Trang 19Ngồi cách sử dụng kết hợp một B-tree thưởng và một B-tree ngược để
xử lý các truy vấn theo ký tự đại diện tổng quát, cịn cĩ những kỹ thuật xử lý các truy vấn theo ký tự đại điện tổng quát hiệu quả khác như sử đụng câu trúc chỉ mục quay và chỉ mục k-gram Cả hai kỹ thuật này đều chia sẻ một chiến lược
chung: biểu điễn truy vẫn theo ký tự đại diện đã cho qự như một truy vấn logic
(Boolean query) Q trên một chỉ mục cĩ câu tạo đặc biệt, vì thế mã câu trá lới
cho Q là một tập bao pằm cả tập các thuật ngữ là kết quả của truy vấn qụ, sau
đĩ, thực hiện kiểm tra từng thuật ngữ trong câu trả lời của Qưể loại bỗ các thuật ngữ khơng phủ hợp với qự khi đỏ, thu được các thuật ngữ phù hợp với qyđể cĩ
thé tìm kiểm với chỉ mục ngược tiêu chuẩn
2.2.1 Chỉ mục quay
Chỉ mục đặc biệt dầu tiên cho các truy vấn theo ký tự dại diễn tổng quát là
chi mucquay (permuterm index), một dạng của chỉ mục ngược [3] Lầu tiên, một
kỷ tự đặc biết $ được thêm vào cuối truy vấn, để đánh dấu sự kết thúc của một
thuật ngữ Ví dụthuật ngữ #/osẽ thànhhe/lộ Tiếp theo, thực hiện xây dựng
một chỉ mục quay, trong đỏ tit cA cde phép quay khác nhau của mỗi thuật ngữ
(đã được thêm §) đều được liên kết đến thuật ngữ gốc IIình 2.4cung cấp một ví
đụ về chỉ mục quay với thuật ngữ heilo
Xét truy vẫn theo ký tự đại diện m3 Thực hiện quaytruy van (sau khi đã
thêm $) sao cho ký tự # xuất hiện ở cuối của chuỗi Theo dé,truy vấn ban đầu sẽ trở thành n§m* Tiếp theo, thực hiện từìm kiếm chuỗi m§m* trong chỉ mục
quay(théng qua mdt cay tim kiểm), kết quả tìm kiếm dẫn đến các phép quaycủa
các thuật ngtt man va moron
Các thuật ngữ gốc phù hợp với truy vấn theo ký tự đại điện ban đầu sẽ
được xác định trong chỉ mục quay, và sau đĩ được tim kiếm trong chỉ mục
Trang 20ll
ngược tiêu chuẩn để xác định các tải liệu phù hợp.Nội dung phía trên trình bay cách xử lý truy vấn theo ký tự đại điện tổng quát với duy nhất một ký tự * trong
câu truy vấn Tuy nhiên,trong câu truy vẫn có thể chứa nhiều hơn một ky tu*
nhu fi*mo*er, Trong truéng hop nay, viée đầu tiên là thực hiện liệt kê các thuật
ngữ có trong từ điển ứng với «r§/?* Không phải tất cả các thuật ngữnày đều có
chuỗi zmo ở giữa Việc lọc ra những thuật ngữ này có thể thực hiệnbằng phươngpháp liệt kê vét cạn, kiểm tra sự xuất hiện của zmo trong mỗi thuật ngữ
đó Trong ví dụ này, thuật ngỡ ƒisimangerlà phủ hợpconfilibusfersẽ bị loại Các
thuật ngữ phủ hợp được tìm kiếm trongchỉ mục ngược tiêu chuẩn để có được kết quả tìm kiêm cuỗi cùng Một nhược điểm củachỉ mục quayđó lả từ điển của nó
quá lớn, ví nỏ thực hiện tắt cả các phép quaydéi với mỗi thuật ngữ
2.2.2 Chỉ mục k-gram
Mặc dủchỉ mục quay đơn giản, nhưng nó có thể đẫn đến một sự bùng nỗ
đảng kế về số lượng phép quay trên một thuật ngữ Ví dụ, với từ điển chứa các
thuật ngữ tiếng Anh, sự gia tăng không gian lưu trữ có thể lên tới gần mười lần Nội dung tiếp theo sẽ trình bày kỹ thuật thử hai, đó là chỉ muck-gram (#-eram
index) [3], danh cho việc xử lý sắc truy vẫn theo ký Lự đại diện Một k-gram là
một chuỗi gồm ký tự Do đó, cas, asivà si đều là 3-pram xuất hiện trong castle
Ky tự đặc biệt $ đượcsử dụng để biểu thị sự khởi đầu hay kết thúc một thuật
ngit, do dé, tap hop day dit cua 3-gram duge phat sinh Ur casflela: Sca, cas, ast,
sth, tle, leg
Tử diễn trong một chỉ mụck-pramsẽ chửa tất cã các k-pram xuất hiện
trong bất kỳ thuật ngữ nào trong từ điển của chỉ mục ngược tiêu chuẩn Mỗi
danh sách postingtrỏ từ một &-gram tới tất cả các thuật ngữ từ vựng chứa È-gram
đó Ví đụ, 3-gram efr sẽ trỏ tới các thuật ngữ từ vựng nhu metric va retrieval
Một ví dụ được đưa ra trong hình 2.5về danh sách các posting trong một chỉ
Tinh 2.5 Vi du vé danh séch cde posting trong m6t chi myc 3-gram
Ví dụ được trinh bày bên dưới cho thấy ưu điểm của chỉ mục k-pram trong việc xứ lý các truy van theo ký tự đại diện Xét truy vấn theo ký tự dại diện ze*®*ve,
để tìm kiếm các tài liệu có chứa bất kỳ thuật ngữ nào bắt đầu bằng re và kết thúc
bằng ve Theo đó, thực hiện truy vấn logicSre AND ve$ Truy van này được tìm
kiếm trong chi mmc 3-gram và trả lại một danh sách các thuật ngữ phủ hợp như
Trang 21relive, remove và retrieve Mỗi thuật ngữ phù hợp sau đỏ sẽ được tìm kiểm trong chỉ mục ngược tiêu chuẩn để trả lại các tài liệu phủ hợp với truy vẫn ban đầu
‘Tuy nhiên, có một khó khăn trong việc sử dụng chỉ mục &-gram, đó lả nó
đòi hỏi thêm một bước xử lý Xem xét việc sử dụng chỉ mục 3-gram đã được mô
tả ở trên cho truy vấn red* Theo quá trình mê tả ở trên, đầu tiên một truy vẫn logic$re AND redduge đưa ra với chỉ mục 3-gram Diều nay cho phép tim ra cdc thuật ngữ phủ hợp như retzed, các thuật ngữ nảy chứa sự kết hợp của cả hai 3-
gram là Svevared, nhưng không phủ hợp với truy vẫn theo ký tự đại diện red*ban dau
Vấn đề nay được giải quyết bằng cách bổ sung một bước gọi là posi-
filering, theo đó từng thuật ngữ được liệt kê bởi truy vấn logic trên chỉ mục 3-
gram sẽ được kiểm tra tính phủ hợp sơ với truy vấn ređ* ban dầu Đây là một hoạt động so khớp chuối đơn giảngiúploại bố các thuật ngữ như rerezkxì không phủ hợp với truy
mục ngược tiểu chuẩn
tốn kém do phải sử dụng các toán tử logic dé kết hợp các truy vấn hay phải tìm
kiểm bễ sung trong chỉ mục đặc biệt, lọc và cuối củng là tìm kiểm trong chỉ mục
ngược tiêu chuẩn
Nội dung phần tiếp theo sẽ trình bày giải thuật tìm kiểm nhanh đôi với các
truy vấn (thường được đại diện bởi các chuỗi tìm kiếm) Giải thuật tìm kiểm sử dụng otomat và máy chuyến đổi hữu hạn trạng thái cho phép thực hiện tìm kiếm nhanh chóng đối với cả những chuỗi tìm kiếm có chứa ký tự đại điện
2.2.3Giai pháp tìm kiếm dựa trên Otomat
Trong phần này, một giải thuật tim kiểm chuỗi sẽ được trình bày, theo đó
chuỗi tìm kiếm ban đầu (gồm cả chuỗi có chứa ký tự đại điện) sẽ được biểu điển
bởi một biểu thức chính quy, sau đỏ từ biếu thức chính quy, một otomat hữu hạn
sẽ được xây đựng, từ đó có thể xác định các từ phủ hợp với chuỗi truy vẫn ban đầu
2.2.3.1 Giới thiệu một số khải niệm liên quan đến otomat
Trước khi tìm hiểu cách biểu diễn một Iruy vẫn bằng biểu thức chính quy,
cũng như cách chuyển đổi từ biểu thức chính quy sang otomat, một số khái niệm
liên quan đến biểu thứo chính quy và oLomat sẽ được trình bày |1]
Trang 2213
Bang chix cai: Tap E khae rng gém hitu han hay vô hạn các ký hiệu được
gọi là bảng chữ cái MỗI phần tửœ E Xđược gọi là một cñ# cải hay một
W hiệu
Từ: Giả sử có bảng chữ cái 3; = {[đ,đạ, im} mt day cdc chit cdi
@ = G4 Gj2 Ay, VOL a; EL(1 Sj S €) duve goi 14 mol tử hay một xâu
Tap moi Lừ trên bảng chữ cái#Zđược ký hiệu là E”, còn lập mọi từ khác
Tổng trên bảng chữ cái Z được ký hiệu là E !
Ngôn ngữ: Cho bảng chữ cái Z, mốt tập con J, C *” được gợi là một ngôn ngữ hình thức (hay ngôn ngữ) trên bảng chữ cái 5
Tập rỗng, ký hiệu Ø, là một ngôn ngữ không gồm một từ nào và được gọi
là ngôn ngữ rỗng
Phén ghén tiễn:
Thép ghép tiếp của hai Wa = aya; .d, và từ — bị; .b„ trên
bảng chữ cái , là từy = a+đ; aạ bị bạ bạ trên bang chit cai Y Ki
hiệu: y =œ.É (hay y = œ) Theo định nghĩa ta có
L và # €1}
Phén hợp: [Hợp của hai ngôn ngữL¡và L;trên bảng chữ cái 5, ký hiệu U L¿, là mệt ngôn ngữ trên bảng chữ cái Ð, đó lả tập từ:
I, = {1á E 3ˆ|@ E Í¡hoặc @a € lạ}
Phép lặp: Cho ngôn ngữt trên bảng chữ cái Ð, khi đó
co Tap fe}ULUBP UL ULtU = U2? n/2được gọi là ngôn ngữ
lap cha ngén ngttL, (hay bae déng ghép ciia ngén ngitL), ky hiéu L*
co Tap hulu UL U = U2, duoc goi 1a ngdn ngit lip edt
ca ngén ngi., ky hidu E+
Trang 23»® Ngôn ngữ chính quy
Cho bảng chữ cái Ÿ ={øi,da, ,d„}, khi đó ngôn ngữ chỉnh quy
(regular languages)äược định nghĩa đệ quy như sau:
i) Các ngôn ngữØ và {4¡}( = 1, 2, , 2) được gọi là các ngôn ngữ chính
quy trên bảng chữ cải 2È
ñ) Nếu R và Š là hai ngôn ngữ chính quy trên báng chit cai Sthi R US,
Ñ.%, R* (hay 3°) là các ngôn ngữ chính quy trên bảng chữ cái 2
1nï) Không có các ngồn ngữ chính quy nào khác trên bảng chữ cái Z ngoài các ngôn ngữ chính quy được định nghĩa như trên
» Biểu thức chính quy
Cho bảng chữ cái Y ={đ,đ;, ,đ„}, khi đó biểu thức chính quy
(regular expresions)được định nghĩa đệ quy như sau:
3) Ø và a (với a € X) là các biểu thức chính quy trên bảng chữ cái E biểu
diễn ngôn ngữØ và ngôn ngữ{đ}
ii Nếu r và s là bai biểu thức chính quy biểu diễn các ngôn ngữ chính
quy H và % trên bảng chữ cái3 thì
9 +6 là biểu thức chính quy trên bảng chữ cái Ÿ biểu diễn ngôn ngiR US
ø r.s là biểu thức chính quy trên bằng chữ vái Ð biểu diễn ngôn
Thứ tự của ba phép toán trong biểu thức chính quy là : *,., !
© Otomat hau han trang thai
Một Otomat được sử dụng để đoán nhận ngôn ngữ, có thể được định
nghĩa là một bộ năm
A=<0,2,8,9,F >
o @ 14 tap khac réng cdc trang thái,
© ¥ lA mit bang chit cdi, goi 1a bang chif cai dau vao:
o_ 8 được goi la ham chuyén trang thái (hay hảm chuyển);
2 do € Q, duoc gọi là trạng thái bắt đầu;
o €Q, được gợi là tập các trạng thái kết thúc
Trang 2415
Nếu số trạng thái trong @ là hữu hạn thì otomat được gọi là một otomat
hữu hạn trạng thái Fimits Automaton(FA) hay máy hữu hạn trạng thái
timite 5tate Machme(FSM)
Otomat hữu hạn trạng thái đơn dinh Deterministic Finite Autornata(DFA),
trong đó, ứng với mỗi ký hiệu vào có thể xác định duy nhất phép chuyển,
khi dé hàm chuyển có dạng ổ: D ¬ Q, là một ánh xạ từ D vao Q, trong dé DC0QxÈ#
Một EA nói chung có thể được biểu điễu bằng một để thị có hướng (đỗ thị chuyển) với vòng tron đại diện cho các trạng thái, trạng thái bắt dầu được biểu
thị bằng một cung vào không có nhãn, trạng thái kết thúc được biểu thị bằng một vỏng tròn kép, nhãn của cung là một ký hiệu vào đại diện cho một phép chuyến,
tức lả nếu a € Ÿ và từ trạng thái g¡chuyển sang trạng thải q;theo hảm chuyển
Š(@i,đ) = g; thi sẽ có một cung từđính g; tới đỉnhg; được gắn nhãn a
2.2.3.2 Biểu diễn truy vấn theo ký tự đại diện dưới dạng biếu thức chính
quy vả quy tắc chuyén đổi từ biểu thức chính quy sang otomat
Lựa trên những khái niệm đã trình hày ở trên, một biểu thức chính quy có
thé dược xem là trường hợp tổng quát của một truy van theo ký tự dại diện trên
củng một bảng chữ cái Do đó, một truy vấn chứa ký tự đại diện hoàn toàn có
thể được biểu diễn bằng một biểu thức chính quy, trong đó các ký tự đại điện sẽ
tương ứng với phép lặp, phép hợp trong biểu thức chính quy Bảng 2.1 dua ra
một số ví dụ về biểu thức chính quy biểu diễn cho các truy vấn theo ký tự đại
diện với ngôn ngữ lập trình lava
Bang 2.1 Một số ví dụ biểu diễn chuỗi truy vấn bằng biểu thức chính quy trong
Java
1 | peagagnp (gc(&g)”) gc(ag)43)
Sau khi truy vẫn theo ký tự dại diện dược biểu diễn bằng biểu thức chính
quy, một otomaitương ứng có thể được xây dựng từ biểu thức chính quy dựa theo một số giải thuật, giải thuật củaBrzozowski[4] là một giải thuật có thể được
Trang 25sử dụng trong trường hợp nảy Giải thuật của Brzozowsk1 dựa trên khái niệm về
đẫn xuất của một biểu thức chính quy E từ một ký Lự vào ø, ký hiệu là œ +E để
xây dựng trực tiếp một otomat hữu hạn dơn dịnh ? đoán nhận /.(E)
Cuỗi cùng, otomat sẽ được sử dụng để tìm kiếm các từ phủ hợp với truy vẫn
theo ký tự đại diện ban đầu
Vi du: Cho chuỗi truy vẫnp = abahbø
®_ Biếu thức chính quy tương ứng: E = (4b + b)“ba
* Otomat trong ứng được xây dựng dựa trên giải thuật của Przozowskli
đoán nhận ngôn ngữ L{E)
Hình 2.6 Ctomat doán nhận ngôn ngữ sinh bởi = (ab + by*ha
trong dé, gy =F, cdc trang thai khác lả dẫn xuất của #(trong dé, q =
blab + b) * ba, q2 = (ab +b) * ba + a, gg = b(ab + b) * ba +1)
Tiện nay, rất nhiều giải thuật đã được thiết kế cho nhiệm vutim kiếm các
chuỗi (từ, xâu) phủ hợp với một chuối tìm kiếm cho trước dựa trên oLomaL Phần
t ip theo sé trinh bảyvề giải thuật tìm kiếm dựa trên otomatvả cho thấy hiệu tìm
+kiểm của giải thuật này
Giải thuật được trình bày dưới đây sẽ tìm kiếm và đưa ra tất cả những lần xuất hiện của một chuỗi Gữing) (tổng quan hơn được gọi là mẫu (paffernj) trong một văn bắn (text) M6t mau tim kiếm được biểu diễn bởi x = [0 m — 1],
với chiều đài là m Một văn bản được biểu diễn bởi = [0 m — 1] với chiều
đải là tt Cả hai chuỗi đều được xây dựng trên một tập hữu hạn các ký tự được
gọi là một bộ chữ cái (aiphabeÐ Ð có kích thước là ø
2.2.3.3Giải pháp tìm kiếm dựa trén Olomat
Mô tả
Trong giải thuật tìm kiếm dựa trên otomat |2], một otomat dược xây dựng đưa trên chuỗi tìm kiếmx Quá trình tìm kiếm bắt đầu từ trạng thái bắt dầu, tùy
Trang 2617
theo ký tự vào trong văn ban yma trạng thái của otomat sẽ thay đổi, vàkhi đạt
được trang thái kết thúc thì thông báo tìm thấy x
Ví dụ
Xây dựng otomat cho biểu thức chính quy acb(a + b)* va thuc hiện tìm
kiểm trên otomat xây dung được
Y= {a,b,c}
Q = {40 4 42 đa, đá, 4}
qo =E
F = {q3,4s}
Giai doan tim kiém
Trang thai bat dau lagg.Néu khong cé sw chuyén déi trang thái thì trở về trang
thái qo
Hình 2.7Otomat ứng với aeb(a + b)ˆ trong giải thuật tìm kiếm dựa trên otomat
Thực hiên tìm kiếm chuỗi x = acbab trong văn bản y = beabccacbabbcb
Trang 27
Hình 2.8 Quá trình tìm kiểm chuỗi sử dụng giải thuật tìm kiếm dựa trên otomat
Trong ví dụ trêndo trạng thái cuối cùng đạt được là đo nên kết quả cuối
cùng là không tìm thấy chuỗi tìm kiếm trong văn bản
2.2.4 Giải pháp tìm kiếm dựa trên máy chuyển đổi hữu hạn trạng thái
2.2.4.1Giới thiệu về máy chuyển đổi hữu hạn trạng thái
Nếu DFA là một FA cho biết chuỗi dữ liêu vào có thuộc ngôn ngữ được
đoán nhận bởi DFA hay không thì máy chuyển đổi hữu hạn trang thai Finite
State Transducer (FST) tổng quát hon vi FST cho phép đọc tập các chuỗi đầu vào và sinh tập các chuỗi đầu ra tương ứng
MộtFST đơn địnhlà một bộ 7 < 3, A, Q, qọ, F,ổ, Ä>, trong đó
6È là tâp hữu hạn các ký tự đầu vào (bảng chữ cái đầu vào)
o_ A là tập hữu hạn các ký tự đầu ra (bảng chữ cái đầu ra)
o Q 1a tap hitu han các trạng thai
© qo € Q la trang thai bat dau
o FE Q là tập các trạng thái kết thúc
o ổ:QXš — Q là hàm chuyển
©Â:QxÈ —A là hàm đầu ra
Một số định nghĩa và khái niệm khác có liên quan dén FST sé được trình
bay chi tiét hon trong [8]
Trang 2819
Trong thuc tế, một FST cĩ thể được sử dụng để tính tốn mỗi quan hệ giữa
hai tip hop FST trong hình 2.9 sẽ nhận vảo một chuỗi và sinh một chuỗi tương
img thé hiện đặc điểm của chuỗi đầu vào, chẳng hạn với chuỗi đầu vào là goose
thì chuỗi đầu ra tương ứng là NOUNSg (goose là đanh từ số ít), nếu chuỗi đầu vào
là gèse thì chuỗi đầu ra tương ứng là NOUNDI (geese là danh từ số nhiều)
Chỉ tiết về cách cài đặt trực tiếp một F§1' nhằm thé hiện mối quan hệ hữu
hạn giữa một danh sách các từ đã được xắp xép theo thứ tự từ điển với đầu ra tương ứng của chúng sẽ được trình bảy trong [11]
Hình 2.974 khớp các từ với đặc diỂm tương ứng của từ đỏ
2.2.4.2 Giải pháp tìm kiếm dựa trên máy chuyển đối hữu hạn trạng thái
Mơ tả
Trong giải pháp tìm kiếm dựa trén FST, một FST được xây dựng dựa trên
chuỗi tìm kiếm Quả trình tìm kiểm bắt dầu từ trạng thái bắt đầu, tủy theo ky ur vào của chuỗi dầu vào mả trạng thái cia FS sé thay di va sinh ky tu dau ra
tương ứng, và khi đạt được trang thái kết thúc cĩ nghĩa là đã tìm được kết quả
thỏa mãn biểu thức tìm kiếm, chính là chuỗi đầu ra được sinh từ chuỗi đầu vào
thơng qua BST,
Ví dụ
Xây dựng E8 I' cho tìm kiếm cĩ chứa ký tự đại diện “s##òđ” và thực hiện
tim kiểm trên “%1 xây dung duoc ‘Theo như định nghĩa FST 6 muc 2.2.4.1 FST
xây dựng dược là bộ 7< ,A,Q,qụ, F,6,4>, trong do
Ð lá tập hữu hạn ốo ký tự đầu vào lả bảng chữ cái uéng Anh,