- Thể hiện nhiều phương pháp cho mỗi một vấn đề cần được giải quyết một cách cụ thể rõ ràng và có thể có hình minh họa.
- Biểu diễn nội dung của kết quả tìm kiếm thân thiện hơn với người dùng.
Và để đạt được những mục tiêu này, luận văn đã chọn phạm vi nghiên cứu là dữ liệu trên miền wikiHow. WikiHow là một trang web cộng đồng trực tuyến, nó chứa một cơ sở dữ liệu rộng lớn về các hướng dẫn cách làm mọi thứ. Được thành lập vào năm 2005 bởi doanh nhân Internet Jack Herrick, trang web này nhằm tạo ra các bài viết hướng dẫn cách làm hữu ích nhất thế giới, cho phép mọi người trên thế giới học cách làm bất cứ điều gì.
WikiHow là một dự án nội dung mở và nguồn mở, cung cấp cho các bài viết có nội dung hướng dẫn trực tuyến bằng cách cho phép người dùng có thể chỉnh sửa đóng góp nội dung các trang. Một số số liệu ấn tượng của wikiHow có thể kể đến như:
- Vào tháng 2 năm 2005, wikiHow có hơn 35,5 triệu lượt truy cập.
- Tính đến tháng 8 năm 2017, wikiHow chứa hơn 190.000 bài viết hướng dẫn miễn phí và hơn 1,6 triệu người dùng đã đăng ký.
- Vào ngày 11 tháng 4 năm 2010, một bài viết trên wikiHow có tiêu đề "Cách giảm cân nhanh" đạt 5 triệu lượt xem trang, lần đầu tiên của trang web này đạt được. "Cách chụp ảnh màn hình trong Microsoft Windows" là bài viết phổ biến nhất của trang web.
Hình 6: Trang wikiHow
Các bài viết trên trang web wikiHow sẽ mô tả một cách đầy đủ và chi tiết quy trình thực hiện để giải quyết các vấn đề thuộc nhiều lĩnh vực khác nhau trong đời sống.
Một số bài viết có trên wikiHow như:
- Lĩnh vực máy tính và điện tử:
o Cách để Khôi phục dữ liệu từ ổ cứng của laptop hỏng
o Cách để Tạo biểu đồ thanh trong excel
- Lĩnh vực sức khỏe:
o Cách để Giảm Cân
o Cách để Tăng số lượng tế bào hồng cầu
- Lĩnh vực chăm sóc cá nhân và phong cách:
o Cách để Làm trắng da với chanh
o Cách để Kẻ Viền Mắt
- Lĩnh vực ẩm thực:
o Cách để làm gà rán KFC
o Cách để Làm Sôcôla
Các bài viết có thể có nhiều phương pháp để thực hiện, được phân thành các phần và mỗi phần thì sẽ có các bước thực hiện đi kèm với đó có thể có hình ảnh minh họa cụ thể.
Đóng góp của luận văn
Luận văn này đã đóng góp:
- Một công cụ tìm kiếm dựa trên ngữ nghĩa cho các câu truy vấn dạng phương pháp, cách thức trong miền tiếng Việt từ đó giúp cho việc tìm kiếm lời giải, cách giải quyết cho các vấn đề trong thực tế một cách dễ dàng và nhanh chóng hơn.
- Nghiên cứu và đề xuất một phương pháp giải quyết tốt loại truy vấn how-to cho tiếng Việt.
- Cung cấp giải pháp cho các vấn đề một các đa dạng và trực quan, giúp tăng hiệu quả tìm kiếm và giảm thời gian giải quyết vấn đề.
Tôi sẽ đóng góp các kết quả nghiên cứu của mình cho cộng đồng để có thể tiếp tục phát triển các công cụ mới, và mở rộng các nghiên cứu hiện có trong lĩnh vực xử lý ngôn ngữ tự nhiên và trí tuệ nhân tạo như: hỏi đáp tự động hay bài toán trích xuất thông tin.
Cấu trúc của luận văn
Phần còn lại của luận văn, tôi sẽ giới thiệu thêm về các kiến thức nền tảng ở chương 2. Chương 3 sẽ mô tả về “Hệ thống tìm kiếm tri thức trên miền wikiHow”, đề xuất phương pháp tính độ tương đồng của hai câu văn và cách xây dựng hệ thống. Cuối cùng, chương 4 sẽ là một số thực nghiệm và kết luận lại các công việc mà tôi đã thực hiện.
Chương 2
Kiến thức nền tảng
Công cụ tìm kiếm
2.1.1. Công cụ tìm kiếm trực tuyến
2.1.1.1. Tổng quan
Công cụ tìm kiếm trực tuyến là một phần mềm được truy cập trên Internet phục vụ cho việc tìm kiếm thông tin trên mạng world wide web. Khi sử dụng công cụ tìm kiếm thì người dùng sẽ phải nhập một từ khóa về nội dung mình cần tìm hiểu, và kết quả của các công cụ sẽ là một danh sách các website, ảnh, video hoặc địa chỉ bản đồ…
Hiện nay có rất nhiều công cụ tìm kiếm khác nhau có thể nhắc đến như: Google, Bing, Baidu,… và thị phần của chúng thì cạnh tranh rất gay gắt trên toàn cầu. Dưới đây là con số thống kê thị phần của các công cụ tìm kiếm thống kê vào năm 2019:
Thị phần trên toàn cầu | |
92.00% | |
Bing | 2.11% |
Baidu | 1.55% |
Yahoo | 1.52% |
Yadex | 0.82% |
Other | 2% |
Có thể bạn quan tâm!
- Hệ thống tìm kiếm tri thức thông minh trên miền wikihow - 1
- Hệ thống tìm kiếm tri thức thông minh trên miền wikihow - 2
- Bảng Đối Chiếu Một Số Khái Niệm Của Elasticsearch Và Mysql
- Các Phương Pháp Tiếp Cận Của Bài Toán Phân Tách Từ
- Ma Trận Chỉ Số Tương Đồng Giữa Các Từ Theo Word2Vec
Xem toàn bộ 81 trang tài liệu này.
Bảng 1: Thị phần sử dụng các công cụ tìm kiếm trên toàn cầu năm 2019
Google là dịch vụ cung cấp chính và quan trọng nhất của công ty Google được bắt đầu mang vào sử dụng vào năm 1997, cung cấp công cụ tìm kiếm thông tin về website, ảnh và nhiều thông tin khác trên internet thông qua nhiều lựa chọn khác nhau cho việc tùy chỉnh tìm kiếm như sử dụng một số ký hiệu đặc biệt như bao gồm, loại trừ, chỉ định hoặc yêu cầu hành vi tìm kiếm nhất định. Ngoài ra còn cung cấp các trải nghiệm khác như tình trạng chuyến bay, dự báo thời tiết, chuyển đổi tiền tệ… Theo thống kê, mỗi ngày Google có khoảng 5,4 tỉ lượt tìm kiếm và là công cụ tìm kiếm phổ biến nhất thế giới.
Baidu được xem như là Google của Trung Quốc được thành lập vào năm 2000. Baidu cung cấp một công cụ tìm kiếm chuyên dụng cho ngôn ngữ tiếng Trung với một danh mục hơn 740 triệu trang web, 80 triệu hình ảnh và 10 triệu tập dữ liệu đa truyền thông. Đây là công
cụ tìm kiếm phổ biến thứ 2 thế giới, ở riêng thị trường Trung Quốc thì có đến 76.05% người tìm kiếm sử dụng công cụ này.
Yahoo được sáng lập bởi hai học viên cao học trường đại học Stanford là David Filo và Jerrry Yang vào năm 1994. Đây được coi là một trong những nhà tiên phong của kỷ nguyên Internet những năm 1990. Mặc dù được thành lập từ năm 1994 nhưng mãi đến năm 2004 Yahoo mới chính thức ra mắt công cụ tìm kiếm của mình. Mặc dù ra đời muộn nhưng với các lợi thế về lượng người dùng đang sử dụng dịch vụ Yahoo Messenger và Yahoo Mail khá lớn nên Yahoo Search vẫn cạnh tranh được với các công cụ tìm kiếm nổi tiếng lúc bấy giờ. Tính đến tháng 9/2019 Yahoo vẫn là một trong 4 công cụ tìm kiếm phổ biến nhất với 1.86% lượng sử dụng tìm kiếm trên toàn thế giới.
Ngoài các công cụ bên trên thì cũng có một số công cụ tìm kiếm nổi tiếng khác cho các quốc gia có ngôn ngữ đặc trưng như: Yandex của Nga, Cốc Cốc của Việt Nam,…
2.1.1.2. Cấu trúc tổng quan các công cụ tìm kiếm trực tuyến
Công cụ tìm kiếm thường được chia ra làm 3 bộ phận chính:
- Crawling: Còn được gọi là spider, là phần thu thập dữ liệu của các trang web. Tất cả các nội dung của các trang web và cả tần suất liên kết của trang web khác đến trang web đó cũng sẽ được lưu trữ lại.
- Indexing: Sau khi lấy về được các thông tin của trang web thì các công cụ tìm kiếm sẽ lập chỉ mục những nội dung này để các thông tin lưu trữ được tối ưu để phục vụ cho việc và tìm kiếm được nhanh chóng nhất.
- Ranking: Đây là quá trình mà công cụ tìm kiếm xếp hạng các kết quả và trả về cho người dùng. Nhìn chung thì những trang web có độ tin tưởng càng cao thì sẽ được công cụ tìm kiếm xếp hạng càng cao. Mức độ liên quan của các kết quả sẽ tùy vào công thức tính toán của từng công cụ tìm kiếm.
2.1.2. Công cụ tìm kiếm mã nguồn mở
2.1.2.1. Lucene
Apache lucene là một phần mềm tìm kiếm mã nguồn mở miễn phí được phát triển bởi Doug Cutting trên ngôn ngữ Java vào tháng 8 năm 2008. Sau này Lucene được phát triển trên các ngôn ngữ khác như Object Pascal, Perl, C#, C++, Python, Ruby và PHP để phục vụ được nhiều nhu cầu hơn trong thực tế. Lucene có thể phân tích, đánh chỉ mục và tìm kiếm thông tin với tần suất cao một cách nhanh chóng thông qua một bộ công cụ đặt tả API cho việc xây dựng một công cụ tìm kiếm.
Cấu trúc của Apache lucene có hai thành phần chính: thành phần tạo chỉ mục và thành phần tìm kiếm. Thành phần tạo chỉ mục bao gồm các chức năng xử lý và phân tích dữ liệu. Ở phần này, Lucene cho phép người dùng có thể thiết lập các trường thông tin cần thiết đánh chỉ mục để phục vụ cho thành phần phần tìm kiếm. Thành phần tìm kiếm bao gồm các phần chức năng tìm kiếm và trả về kết quả tìm kiếm cho người dùng.
Hình 7: Cấu trúc tổng quan hệ thống Apache lucene
a. Quy trình đánh chỉ mục:
Để tiến hành đánh chỉ mục cho tài liệu thì việc đầu tiên chúng ta phải chuyển các văn bản đầu vào (có thể là htm, pdf, word…) sang dữ liệu chung là text. Sau khi nhận được văn bản đã được đưa về dạng text thuần, lucene sẽ thực hiện tách các từ, cụm từ… và tiếp đến sẽ là index. Lucene lưu trữ dữ liệu theo chỉ mục có thể nghịch đảo (inverted index – lưu trữ dạng này sẽ giúp cho việc lưu trữ hiệu quả và tìm kiếm nhanh hơn). Sở dĩ lưu trữ theo cách này sẽ làm tăng tốc độ tìm kiếm bởi vì khi đó hệ thống sẽ thực thi theo cách: thay vì tìm kiếm các từ, cụm từ được chứa trong một tài liệu X nào đó thì sẽ tối ưu theo cách tìm ra câu trả lời cho “tài liệu nào có chứa những từ, cụm từ đó”. Một số toán tử trong đánh chỉ mục như: document (tài liệu) cùng các trường: keywords, unindexed, unstored và text.
b. Bộ chuyển đổi câu truy vấn người dùng (Query parser):
Khi tiến hành thực thi việc tìm kiếm cho câu truy vấn của người dùng, các ứng dụng tìm kiếm thường phải thực hiện hai phần chính: chuyển đổi câu truy vấn của người dùng và truy xuất thông tin trả về. Lucene cũng vậy, các hàm (function) của nó cũng yêu cầu biểu diễn câu truy vấn của người dùng ở dạng một Query Object để thực thi và tìm kiếm kết quả.
Query parser cung cấp một số toán tử logic để thực hiện việc chuyển đổi các câu truy vấn như: or(mặc định), and, not. Ví dụ: với câu truy vấn “chăm sóc” thì sẽ được mặc định phân tích thành chăm or sóc or (chăm and sóc). Và nếu như chúng ta muốn thay đổi tham số mặc định này thì chúng ta cần đặt lại toán tử cho đối tượng Query Parser.
c. Bộ phân tích (Analyzer):
Ngoài ra Query Parser cần thêm một đối tượng khác là Analyzer dùng để phân tích chuỗi truyền vào và cũng cho ta các kết quả khác nhau tùy theo việc áp dụng analyzer nào. Đây là quá trình chuyển đổi văn bản thành các chỉ mục cơ bản nhất(term). Các term này sẽ được sử dụng để xác định tài liệu nào phù hợp với các câu truy vấn của người dùng. Để tạo ra các terms, bộ phân tích sẽ phải thực hiện các bước như sau: