Phát triển hệ truy hồi thông tin tiếng Việt dựa trên mã nguồn mở

Tóm tắt. Hệ truy hồi thông tin có kết quả trả về càng gần với câu truy vấn của người dùng đưa vào thì càng có độ tin cậy cao. Tuy nhiên, các hệ truy hồi thông tin hiện nay vẫn còn trả về kết quả không như mong muốn của người dùng và hỗ trợ tốt cho tiếng Anh; riêng với tiếng Việt thì các hệ này vẫn còn ít và không được công bố rộng rãi các mã nguồn. Bài báo trình bày cách phát triển hệ một truy hồi thông tin tiếng Việt dựa trên mã nguồn mở Lucene và cách xây dựng công cụ VietAnalyzer hỗ trợ xử lí tiếng Việt.

pdf9 trang | Chia sẻ: thanhle95 | Lượt xem: 865 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Phát triển hệ truy hồi thông tin tiếng Việt dựa trên mã nguồn mở, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
JOURNAL OF SCIENCE OF HNUE Interdisciplinary Science, 2013, Vol. 58, No. 1, pp. 37-45 This paper is available online at PHÁT TRIỂN HỆ TRUY HỒI THÔNG TIN TIẾNG VIỆT DỰA TRÊN MÃ NGUỒNMỞ Trần Anh Tuấn và Đào Thị Thanh Loan Khoa Ngoại ngữ - Tin học, Trường Cao đẳng Sư phạm Đắk Lắk Tóm tắt. Hệ truy hồi thông tin có kết quả trả về càng gần với câu truy vấn của người dùng đưa vào thì càng có độ tin cậy cao. Tuy nhiên, các hệ truy hồi thông tin hiện nay vẫn còn trả về kết quả không như mong muốn của người dùng và hỗ trợ tốt cho tiếng Anh; riêng với tiếng Việt thì các hệ này vẫn còn ít và không được công bố rộng rãi các mã nguồn. Bài báo trình bày cách phát triển hệ một truy hồi thông tin tiếng Việt dựa trên mã nguồn mở Lucene và cách xây dựng công cụ VietAnalyzer hỗ trợ xử lí tiếng Việt. Từ khóa: Hệ truy hồi thông tin tiếng Việt, vnIR, VietAnalyzer. 1. Mở đầu Với sự phát triển nhanh chóng của internet, đặc biệt là world wide web, giúp cho người dùng chia sẻ các thông tin với nhau dễ dàng hơn. Các trang web được phân bố hầu hết ở tất cả các quốc gia, mà hầu hết các trang web gần như là thông tin ở dạng văn bản. Mỗi tài liệu, thông tin có ngôn ngữ, văn phong, từ vựng khác nhau phụ thuộc vào nguồn gốc quốc gia, ngôn ngữ, tác giả,... vì thế, có thể nói, thông tin trong thế giới world wide web là rất phong phú và đa dạng. Chính sự phát triển mạnh mẽ và đa dạng này đã gây khó khăn cho người dùng trong việc tìm kiếm thông tin liên quan đến lĩnh vực cần tìm. Để đáp ứng được nhu cầu tìm kiếm thông tin liên quan đến lĩnh vực cần tìm của người dùng trong kho thông tin khổng lồ, phong phú và đa dạng thì cần phải có một công cụ trợ giúp người dùng trong quá trình tìm kiếm. Công cụ hỗ trợ người dùng trong quá trình tìm kiếm đó chính là các máy tìm kiếm (search engine). Hiện nay, các máy tìm kiếm được phát triển nhằm hỗ trợ người dùng trong quá trình tìm kiếm thông tin như Google, Yahoo,... Các máy tìm kiếm này đã và đang hỗ trợ đắc lực trong việc tìm kiếm thông tin người dùng quan tâm và kết quả có độ chính xác và độ Received March 2, 2012. Accepted May 20, 2012. Contact Tran Anh Tuan, e-mail address: tuanta@dlc.edu.vn or Dao Thi Thanh Loan, e-mail address: loandtt@dlc.edu.vn 37 Trần Tuấn Anh và Đào Thị Thanh Loan bao phủ cao. Tuy nhiên, các máy này chỉ hỗ trợ tốt cho các ngôn ngữ mà khoảng trống là dấu hiệu để nhận dạng từ. Tiếng Việt là một trong những ngôn ngữ mà khoảng trống không phải là dấu hiệu để nhận dạng từ [1]. Chính điều này đã làm ảnh hưởng rất lớn đến độ chính xác và độ bao phủ tài liệu liên quan. Mặc dù, các máy tìm kiếm này vẫn hỗ trợ cho tiếng Việt trong việc tìm kiếm thông tin, nhưng vẫn còn nhiều thách thức như kết quả trả về chứa nhiều tài liệu mà người dùng không quan tâm. Do đó, người dùng phải tốn nhiều thời gian trong quá trình chọn lọc thông tin liên quan. Hơn nữa, mã nguồn của các máy tìm kiếm như Google, Yahoo,... không được công bố. Cũng như các máy tìm kiếm Google, Yahoo thì mã nguồn các máy tìm kiếm hỗ trợ cho tiếng Việt cũng không được công bố. Do vậy, các tổ chức muốn sử dụng chức năng tìm kiếm phục vụ cho mục đích riêng của mình thì hầu như đều phải tự xây dựng và phát triển máy tìm kiếm từ đầu. Để xây dựng hoàn thiện một máy tìm kiếm thì rất mất nhiều công sức cũng như tài chính. Một trong những giải pháp phù hợp đó là sử dụng các mã nguồn mở về máy tìm kiếm (hoặc hệ truy hồi thông tin - Information Retrieval) đã công bố. Hệ truy hồi thông tin khác với máy tìm kiếm là không có bộ dò tìm (web crawler) [5]. Xây dựng máy tìm kiếm/hệ truy hồi thông tin hiện nay có rất nhiều nhóm nghiên cứu. Công trình của nhóm tác giả Đỗ Phúc và cộng sự [2] là máy tìm kiếm tiếng Việt, hỗ trợ tìm kiếm thông tin thuộc lĩnh vực công nghệ thông tin. Máy tìm kiếm này có hỗ trợ tìm kiếm thêm các từ hoặc cụm từ gần nghĩa với câu truy vấn ban đầu dựa vào ontology thuộc lĩnh vực tin học. Trong công trình của mình, nhóm tác sử dụng Oracle text để đánh chỉ mục, đây là một trong những ưu điểm của máy này. Tuy nhiên, trong quá trình tạo kho ngữ liệu (corpus) phục vụ cho việc đánh chỉ mục, nhóm tác giả không loại bỏ các từ trong danh sách stopword tiếng Việt, điều này có thể dẫn đến kho ngữ liệu đánh chỉ mục có nội dung lớn. Công trình của nhóm tác giả Huỳnh Đức Việt và cộng sự [4] là hệ thống tìm kiếm công văn tiếng Việt phát triển dựa trên mã nguồn mở Lucene. Hệ tìm kiếm này hỗ trợ hai ứng dụng đó là: ứng dụng thứ nhất cho phép người quản trị tạo và cập nhật chỉ mục trên máy chủ; ứng dụng thứ hai cho phép người dung tìm kiếm trên môi trường LAN và môi trường Internet. Hệ thống tìm kiếm công văn tiếng Việt chỉ hỗ trợ các chức năng xử lí tiếng Việt trong giai đoạn đánh chỉ mục như loại bỏ các từ loại bỏ tiếng Việt, chuẩn hóa,... mà không đề cập đến việc xử lí tiếng Việt như tách câu, tách từ tiếng Việt trong việc đánh chỉ mục cũng như tìm kiếm. Máy tìm kiếm VSearch của tác giả Nhữ Đình Thuần [3] là máy hỗ trợ tiếng Việt. Máy này sử dụng VietSpider, VSearch Crawler sàng lọc, bóc tách nội dung các trang web. VietSpider, VSearch Crawler là điểm mạnh của VSearch nên máy này không cần nhiều đến các kĩ thuật xếp hạng (pagerank) phức tạp. Máy Vsearch sử dụng mã nguồn mở Solr và là một máy tìm kiếm thương mại nên mã nguồn không được công bố. Công trình Sarsarn Look của NECTEC [5,7] là máy tìm kiếm hỗ trợ tiếng Thái. Máy này sử dụng mã nguồn mở Lucene phát triển. Để hỗ trợ cho tiếng Thái, NECTEC xây dựng công cụ ThaiAnalyzer hỗ trợ tiền xử lí tiếng Thái. Máy đã và đang phát triển với nhiều phiên bản khác nhau, với mỗi phiên bản thì máy được bổ sung thêm các thành phần như tìm kiếm ngữ nghĩa dựa trên ontology, truy vấn xuyên ngữ Thái-Anh,... 38 Phát triển hệ truy hồi thông tin tiếng Việt dựa trên mã nguồn mở 2. Nội dung nghiên cứu 2.1. Sơ đồ và hoạt động của hệ truy hồi thông tin tiếng Việt Để xây dựng hệ truy vấn thông tin tiếng Việt, chúng tôi đề xuất mô hình như Hình 1 và hệ thống tạm gọi là vnIR. Hình 1. Mô hình hệ truy hồi thông tin tiếng Việt - vnIR Mô hình thực hiện theo 2 giai đoạn như sau: Giai đoạn 1: Đánh chỉ mục (Indexing) Ở giai đoạn này, tập các tài liệu được công cụ VietAnalyzer chuẩn hóa thành tập các tài liệu chuẩn tiếng Việt (tập tài liệu chuẩn gồm các câu ở dạng mã Unicode và không chứa stopword tiếng Việt); các tài liệu chuẩn tiếng Việt là đầu vào của giai đoạn đánh chỉ mục (indexing). Các tài liệu chuẩn tiếng Việt được thực hiện bằng thuật toán chuẩn tập tin tiếng Việt. Giai đoạn 2: Tìm kiếm và trả kết quả (Searching) Dựa trên câu truy vấn được người dùng đưa vào, công cụ VietAnalyzer sẽ thực hiện tách từ và chuyển sang dạng kí số. Tiếp theo, thực hiện tìm kiếm các tài liệu liên quan đến câu truy vấn của người dùng dạng kí số. Câu truy vấn chuyển sang dạng kí số được thực hiện bằng thuật toán Chuyển câu tiếng Việt sang dạng kí số. Kết quả của giai đoạn này là một tập tài liệu KQ được vnIR đánh giá ứng với câu truy vấn. 2.2. Phân tách câu và từ tiếng Việt Phân tách câu: Phân tách câu dựa vào dấu báo hiệu kết thúc câu (dấu hỏi, chấm than,...) hoặc dấu chấm câu. Tuy nhiên, do tính nhập nhằng của dấu báo hiệu kết thúc câu nên việc phân tách câu gây không ít khó khăn [1]. Hiện nay, các công trình phân tách câu sử dụng các phương pháp: TBL, Maxium Entropy,... 39 Trần Tuấn Anh và Đào Thị Thanh Loan Đối với tiếng Việt, các công trình phân tách câu đã được công bố của các nhóm tác giả Nguyễn Cẩm Tú,... Phân tách từ: Tiếng Việt là một trong những ngôn ngữ mà khoảng trống không phải là dấu hiệu để nhận dạng từ mà chỉ mang ý nghĩa phân tách các âm tiết với nhau [1]. Ví dụ : từ “đất nước” được tạo ra từ 2 âm tiết “đất” và “nước”, cả 2 âm tiết này đều có nghĩa riêng khi đứng độc lập, nhưng khi ghép lại sẽ mang một nghĩa khác. Chính vì thế, phân tách từ tiếng Việt là một trong những giai đoạn ảnh hưởng rất lớn đến kết quả các bài toán xử lí ngôn ngữ tự nhiên khác như phân loại văn bản, tóm tắt văn bản,... Do vậy, bài toán này có rất nhiều nhóm nghiên cứu, công bố và kết quả có độ chính xác ngày càng cao như công trình của nhóm tác giả Phan Thị Tươi, nhóm tác giả Đinh Điền, nhóm tác giả Nguyễn Cẩm Tú,... Trong bài báo này, chúng tôi sử dụng công cụ JvnTextPro của nhóm tác giả Nguyễn Cẩm Tú [9] để thực hiện phân tách câu và từ vì công cụ có hỗ trợ mã nguồn mở. 2.3. Xây dựng công cụ hỗ trợ tiền xử lí Hệ truy hồi thông tin có các nhiệm vụ sau: mô hình biểu diễn văn bản, thuật toán tìm kiếm so trùng từ khóa và cơ chế lọc kết quả truy vấn [6,8]. Lucene [10] là mã nguồn mở có đầy đủ các chức năng của một hệ truy hồi thông tin. Do vậy, chúng tôi kế thừa toàn bộ các chức năng cũng như cấu trúc của Lucene. Tuy nhiên, Lucene không hỗ trợ cho tiếng Việt. Do đó, cần phải có công cụ hỗ trợ tiền xử lí tiếng Việt, công cụ này được chúng tôi xây dựng và tạm gọi là VietAnalyzer. Công cụ VietAnalyzer gồm các chức năng như sau: - Chức năng 1: Chuẩn hóa các tập tin sang dạng mã Unicode. - Chức năng 2: Phân tách tài liệu thành tập các câu. - Chức năng 3: Phân tách câu thành tập các từ. - Chức năng 4: Loại bỏ các từ trong danh sách stopword tiếng Việt. - Chức năng 5: Chuyển câu tiếng Việt sang câu dạng kí số. - Chức năng 6: Chuyển câu dạng kí số sang câu tiếng Việt. Các thuật toán hỗ trợ công cụ VietAnalyzer gồm VnFNF, VnS2DS, DS2VnS. Các thuật toán được trình bày chi tiết như sau: Thuật toán VnFNF hỗ trợ chức năng 1, 2, 3 và 4 của công cụ VietAnalyzer. Kết quả thuật toán là tập các tập tin chuẩn (tập tin chuẩn gồm các câu ở dạng mã Unicode và không chứa stopword tiếng Việt). Thuật toán 1: Chuẩn tập tin tiếng Việt (Vietnamese File Normal Formalize - VnFNF) Nhập: Tập tài liệuD = {di}, i = 1..n Xuất: Tập tài liệu D′ = {d′i}, i = 1..n gồm các tài liệu chuẩn tiếng Việt 40 Phát triển hệ truy hồi thông tin tiếng Việt dựa trên mã nguồn mở Phương pháp: 1. Với mỗi tài liệu di thuộcD, i = 1..n 2. Chuẩn hóa di; 3. Phân tách di thành tập câu {Sj}, j = 1..m 4. Với mỗi câu Sj thuộc di 5. S ′j ⇐ V nS2DS(Sj); 6. Lưu S ′j vào d′i 7. Quay lại 4 8. Quay lại 1 9. Return D′; Thuật toán VnS2DS hỗ trợ việc chuẩn tập tin tiếng Việt. Kết quả của thuật toán là câu tiếng Việt ở dạng kí số. Thuật toán 2: Chuyển câu tiếng Việt sang dạng kí số (Vietnamese Sentence to Digital String - VnS2DS) Nhập: s là câu tiếng Việt Xuất: s′ là câu được chuyển từ tiếng Việt sang dạng kí số Phương pháp: 1. Phân tách s thành tập các từ {wj}, j = 1..m 2. s′ ← φ; 3. Với mỗi từ wj thực hiện: 4. Nếu wj là stopword thì loại bỏ; 5. Ngược lại: chuyển wj sang dạng kí số và lưu vào w′j ; 6. s′ ← s′ + w′j; 7. Quay lại 3 8. Trả về s′; Thuật toán DS2VnS hỗ trợ chức năng 6 của công cụ VietAnalyzer. Kết quả của thuật toán là câu ở dạng tiếng Việt. Thuật toán 3: Chuyển câu ở dạng kí số sang tiếng Việt (Digital String to Vietnamese Sentence - DS2VnS) Nhập: s′ là câu ở dạng kí số Xuất: s′′ là câu được chuyển từ dạng kí số sang tiếng Việt Phương pháp: 1. AA← {b, c, f, . . . , x, w, z}; //tập kí tự không dấu 2. s′′ ← φ; i = 1; 3. Loại bỏ các dấu gạch dưới trong s′; 4. Trong khi i nhỏ hơn chiều dài của s′: 5. Nếu kí tự ci không thuộc AA và khác rỗng thì: 6. Sao chép 3 kí tự từ vị trí thứ i và lưu vào t; 41 Trần Tuấn Anh và Đào Thị Thanh Loan 7. Chuyển t sang tiếng Việt và lưu vào t ; 8. s′′ ← s′′ + t ; i+ = 3; 9. Ngược lại: s′′ ← s′′ + ci; i++; 10. Quay lại 4; 11. Trả về s′′; Trong đó: - Stopword tiếng Việt: á, à, ạ, á à, a ha, a lô, à ơi,... - Mã quy ước chuyển từ tiếng Việt sang kí số: à = a03; á = a05, ả = a07, ã = a09, ạ = a11, ă = a13,... Với cách biểu diễn các kí tự đặc biệt như trên thì dung lượng tập tin sau khi mã hóa sẽ giảm đi một nửa so với cách biểu diễn ở hệ Hexa 6 kí tự như Lucene biểu diễn cho các ngôn ngữ như Hy Lạp, Séc,... Ví dụ minh họa: Thuật toán VnS2DS: - Cho câu tiếng Việt: bộ nhớ máy tính mới - Kết quả phân tách từ gồm: bộ_nhớ; máy_tính; mới - Các từ ở dạng kí số: bo23_nho29; ma05y_ti05nh; mo29i - Câu ở dạng kí số: bo23_nho29 ma05y_ti05nh mo29i Thuật toánDS2VnS: - Câu ở dạng kí số: bo23_xu19_ly05_trung_ta25m Intel mo29i - Kết quả câu tiếng Việt: bộ xử lý trung tâm Intel mới 2.4. Thực nghiệm Kho ngữ liệu: Bảng 1: Thống kê kho ngữ liệu Kí hiệu Nguồn tài liệu Số lượng (tập tin) Dung lượng (MB) D3 Wikipedia tiếng Việt, Thể loại: Máy tính 92 5,8 D4 Khoa học công nghệ (Liên hiệp các hội khoa học và kỹ thuật Tp Hồ Chí Minh), Mục làm bạn với máy vi tính 156 6,63 D5 Thông tin công nghệ, Mục máy tính 660 46,0 D6 Tin nhanh CNTT - TT (ICT News) - Mục phầncứng 609 34,2 Hiện nay, tiếng Việt vẫn chưa có một kho ngữ liệu chuẩn như TREC được công bố. Do đó, chúng tôi phải xây dựng một kho ngữ liệu thuộc lĩnh vực máy tính. Kho dữ liệu được lấy từ các trang: Wikipedia tiếng Việt, Khoa học công nghệ, Thông tin công nghệ và 42 Phát triển hệ truy hồi thông tin tiếng Việt dựa trên mã nguồn mở Tin nhanh, Công nghệ thông tin - truyền thông. Sau đó bóc tách chúng từ dạng trang web (.html, .htm) sang dạng tập tin văn bản (.txt). Kho ngữ liệu được dùng để đánh chỉ mục phục vụ tìm kiếm và được thống kê theo số lượng và dung lượng như ở bảng 1. Kết quả thực nghiệm: Bảng 2. Thống kê độ chính xác, độ bao phủ của vnIR Kí hiệu Câu truy vấn Số tài liệu tìm được Số tài liệu tìm được liên quan Tổng số tài liệu liên quan Độ chính xác P (%) Độ bao phủ R (%) Q1 card đồ họa mới 1452 2 2 0,14 100,00 Q2 bộ nhớ máy tính 1478 18 18 1,22 100,00 Q3 màn hình tinh thể lỏng 485 7 9 1,44 77,78 Q4 card mở rộng 367 6 7 1,63 85,71 Q5 màn hình LCD 491 241 245 49,08 98,37 Q6 máy tính Dell 1471 3 3 0,20 100,00 Q7 máy chủ 46 46 706 100,00 6,52 Q8 máy tính 1470 1463 1475 99,52 99,19 Q9 bộ xử lý 1320 124 184 9,39 67,39 Q10 bộ nhớ 866 543 867 62,70 62,63 Q11 màn hình 485 464 998 95,67 46,49 Q12 CPU AMD 834 9 10 1,08 90,00 Q13 HDD box 115 3 3 2,61 100,00 Q14 mainboard Gigabyte 722 1 1 0,14 100,00 Q15 AMD 380 372 384 97,89 96,88 Q16 Asus 407 388 413 95,33 93,95 Q17 Samsung 1280 1277 1281 99,77 99,69 Q18 chipset 266 256 266 96,24 96,24 Q19 Intel 956 949 961 99,27 98,75 Q20 LAN 647 646 1349 99,85 47,89 Q21 mainboard 694 61 694 8,79 8,79 Q22 RAM 199 160 460 80,40 34,78 Q23 SATA 276 257 287 93,12 89,55 Q24 Seagate 42 40 42 95,24 95,24 Q25 CRT 12 9 12 75,00 75,00 Trung bình 54,63 78,83 Mục tiêu đặt ra của bài báo là phát triển hệ thống truy hồi thông tin tiếng Việt có độ tin cậy. Do vậy, giá trị của độ chính xác (precision) và độ bao phủ (recall) được chọn làm tiêu chí để đánh giá trong phần thực nghiệm. Độ chính xác và độ bao phủ được xác định như sau [8]: 43 Trần Tuấn Anh và Đào Thị Thanh Loan Hình 2. Thống kê độ chính xác và độ bao phủ theo câu truy vấn Độ chính xác (P) là tỉ lệ giữa số lượng tài liệu liên quan tìm được so với số tài liệu tìm được. Độ bao phủ (R) là tỉ lệ giữa số lượng tài liệu liên quan tìm được so với số tài liệu liên quan có trong kho ngữ liệu. Tập câu truy vấn là 25 câu truy vấn được chọn từ dap/phan-cung/để làm thực nghiệm. Kết quả được thể hiện ở Bảng 2 và Hình 2. Trong phần thực nghiệm chúng tôi sử dụng 14 câu truy vấn là tiếng Anh và từ viết tắt để kiểm nghiệm độ tin cậy của công cụ VietAnalyzer nên. Độ tin cậy của công cụ VietAnalyzer được kiểm nghiệm thông qua kết quả thực nghiệm. Một trong những khó khăn của bài báo là kho ngữ liệu chuẩn cho tiếng Việt vẫn chưa có. Do đó, độ chính xác và độ bao phủ của thực nghiệm có kết quả không cao. Sở dĩ kết quả như thực nghiệm là do số tài liệu liên quan đến thông tin cần tìm còn ít và chưa phong phú. Điều này cho thấy kho ngữ liệu cũng đóng vai trò quan trọng trong việc đánh giá thực nghiệm. 3. Kết luận Bài báo đã trình bày cách phát triển hệ truy hồi thông tin tiếng Việt sử dụng mã nguồn mở Lucene. Để xây dựng hệ truy hồi vnIR cho tiếng Việt, bài báo đã sử dụng mã nguồn mở Lucene (trong việc đánh chỉ mục và tìm kiếm) và xây dựng công cụ VietAnalyzer hỗ trợ Lucene trong việc xử lí tiếng Việt. Kết quả thực nghiệm có độ chính xác 54,63%, độ bao phủ 78,83%. Kết quả thực nghiệm có độ chính xác chưa cao là do kho ngữ liệu ngữ liệu do chúng tôi xây dựng là kho ngữ liệu tĩnh và chủ quan nên số mục tài liệu liên quan còn ít, chưa phong phú. Vì vậy, công việc tiếp theo là xây dựng kho ngữ liệu lớn hơn và phong phú hơn trong việc đánh giá thực nghiệm chẳng hạn như sử 44 Phát triển hệ truy hồi thông tin tiếng Việt dựa trên mã nguồn mở dụng Internet như là kho ngữ liệu trong việc đánh giá thực nghiệm và tiếp tục cải tiến các thuật toán nhằm cải thiện độ chính xác, độ bao phủ của cho hệ truy hồi thông tin tiếng Việt vnIR. TÀI LIỆU THAM KHẢO [1] Đinh Điền, 2006. Giáo trình Xử lí Ngôn ngữ tự nhiên. Nhà xuất bản Đại học Quốc gia Tp. Hồ Chí Minh. [2] Đỗ Phúc và cộng sự. Phát triển một hệ thống Search Engine hỗ trợ cho tìm kiếm thông tin thuộc lĩnh vực CNTT. Trường Đại học Khoa học Tự nhiên Tp. Hồ Chí Minh. [3] Nhữ Đình Thuần, 2011. Vsearch 1.0. [4] Huỳnh Đức Việt, Võ Duy Thanh và Võ Trung Hùng, 2010. Nghiên cứu ứng dụng mã nguồn mở Lucene để xây dựng phần mềm tìm kiếm thông tin trên văn bản. Tạp chí Khoa học và Công nghệ, Đại học Đà Nẵng, Số 4 (39) 2012, trang 307-316. [5] Choochart Haruechaiyasak. Information Retrieval and Search Engine. Research and Development on Information, National Electronics and Computer Technology Center. [6] Christopher D. Manning, Prabhakar Raghavan and Hinrich Schu¨tze, 2008. Introduction to Information Retrieval. Cambridge University Press, Chapter 9, pp. 177-194. [7] NECTEC, 2010. SanSarn Look Roadmap. [8] Ricardo Baeza - Yates, Berthier Ribeiro - Neto, 1999.Modern Information Retrieval. ACM Press, New York. [9] Nguyen Cam Tu, Phan Xuan Hieu and Nguyen Thu Trang, 2010. JVnTextPro: A tool to process Vietnamese texts. version 2.0. [10] Lucene docs, ABSTRACT Vietnamese language information retrieval using open source Information retrieval systems are to provide accurate information in response to users’ queries. Currently, information retrieval systems exist which return good results in English but poor result in Vietnamese language. Quality systems which function in Vietnamese language are few and little known. The paper describes how to develop a Vietnamese language information retrieval system making use of Lucene open source material and how to build a VietAnalyzer tool in order to pre-process Vietnamese documents. 45