Minh họa kỹ thuật đánh index ngược

Một phần của tài liệu Xây dựng hệ quản trị đào tạo tích hợp mạng xã hội (Trang 25 - 28)

Đánh index ngược về bản chất chính là việc tạo một danh sách tra cứu từ các token (hay

term) truy ra được tài liệu chứa chúng. Từ đó, với điều kiện các token được sắp xếp theo một

thứ tự cố định (thường là theo alphabet), với một từ khóa bất kỳ ta có thể nhanh chongs tìm kiếm từ khóa trong cấu trúc dữ liệu này bằng binary search và truy ra được các tài liệu có chứa từ khóa đó.

Tại thời điểm truy vấn, với mỗi từ khóa mới thì bộ tìm kiếm sẽ cho ra kết quả là danh sách các tài liệu chứa từ khóa này cùng với đó là thứ tự sắp xếp dựa trên một giải thuật xếp hạng cho trước từ thuật tốn tìm kiếm. Để tìm kiếm được cụm từ khóa, bộ tìm kiếm có thể chia nhỏ nó thành những token, lấy ra các danh sách các tài liệu chứa những từ đó, rồi dùng các tốn tử Boolean để kết hợp các danh sách đó với nhau (OR hoặc AND). Ở ví dụ kể trên, nếu câu truy vấn tìm kiếm là “is the” và tốn tử tìm kiếm là AND, kết quả trả ra được sẽ là tài liệu 2 và 3. Ngược lại, nếu tốn tử tìm kiếm là OR, thì kết quả trả ra được sẽ là cả ba tài liệu.

Tuy nhiên, lấy ra được các tài liệu phù hợp với câu truy vấn không thôi là chưa đủ, việc sắp xếp các kết quả trả về sao cho phù hợp với người dùng cũng rất quan trọng. Các giải thuật sắp xếp nổi tiếng thường được sử dụng trong các phần mềm tìm kiếm có thể kể đến là TF-IDF và BM25.

TF-IDF là một kỹ thuật được sử dụng thường xuyên trong khai phá dữ liệu văn bản, dùng để đánh giá mức độ quan trọng của một từ đối với tài liệu chứa nó trong kho văn bản. Mức độ quan trọng này được hình thành dựa trên hai yếu tố:

 Tần suất xuất hiện của từ đó trong văn bản. (Term Frequency): tf (t, d) = số lượng từ t trong tài liệu d / số lượng từ trong d

Trong ngữ cảnh tìm kiếm, nếu tần suất xuất hiện của từ khóa trong một tài liệu bất kỳ cao thì rõ ràng mức độ phù hợp của tài liệu đó sẽ cao. Cơng thức trên có phép tốn “chuẩn hóa” chia cho số lượng từ trong tài liệu nhằm đảm bảo rằng khơng có sự thiên vị (bias) với tài liệu dài.

 Nghịch đảo tần suất xuất hiện của văn bản (Inverse Document Frequency):

idf(t)=log( N

df+1) (với df là số lần xuất hiện của t trong toàn bộ tập tài liệu)

Chỉ số này sẽ phạt nặng những từ ngữ xuất hiện nhiều ở các văn bản khác nhau. Trong ngữ cảnh tìm kiếm, các từ stop word như is, this, of thường xuất hiện khá nhiều ở các đoạn văn bản và do đó giá trị mang lại của chúng trong việc đánh giá mức độ phù hợp của tài liệu thường không cao. Sự hiện diện của yếu tố này giúp cơng cụ tìm kiếm tập trung hơn vào các từ ngữ hiếm để sắp xếp tài liệu dựa trên term frequency của các từ ngữ hiếm đó.

TF-IDF chính là tích của hai yếu tố trên kết hợp lại. Ngồi chức năng tìm kiếm, TF-IDF còn được áp dụng trong nhiều lĩnh vực khác như Sentiment Analysis, Semantic Similarity (sẽ được mơ tả ở mục Tìm kiếm theo ngữ nghĩa).

BM25 là một biến thể mở rộng của TF-IDF được phát minh ra nhằm mục đích phù hợp hơn với nhu cầu tìm kiếm từ ngữ. Cơng thức của BM25 như sau:2

BM25 đã thay thế yếu tố tf ở TF-IDF bằng một công thức phức tạp hơn. Ý nghĩa của một số thành phần trong công công thức như sau:

f(qi, d) Số lần xuất hiện của của từ khóa qi trong d. Đây là cũng là tử số của tf trong công thức ban đầu.

 FieldLen / avgFieldLen: đo lường độ dài của một tài liệu so với độ dài trung bình. Nếu tỉ lệ này càng lớn thì kết quả thu được càng nhỏ. Điều này khá hợp lý bởi từ khóa xuất hiện một lần trong một đoạn hội thoại ngắn rõ ràng phải phù hợp hơn là xuất hiện một lần trong một văn bản dài nhiều trang. Chỉ số b có mặt trong cơng thức ảnh hưởng đến mức độ đóng góp của yếu tố này.

 Chỉ số k1 nhằm giới hạn mức độ đóng góp của một từ khóa qi đến tồn bộ câu truy vấn (có thể bao gồm nhiều từ khóa như vậy). Trong cơng thức TF-IDF ban đầu, giá trị trả ra sẽ tăng vô hạn số lần xuất hiện của một term tăng lên, nhưng trong BM25 thì nó sẽ bị giới hạn trên do tác động của k1.

BM25 được sử dụng rộng rãi trong các engine tìm kiếm như ElasticSearch hay Solr để nhằm xếp hạng các kết quả tìm kiếm sau khi đã thực hiện bước truy vết ra các tài liệu

2.1.4 Hệ thống giới thiệu

Hệ thống giới thiệu (Recommendation System) là ứng dụng quan trọng của Machine Learning nhằm giới thiệu đến người dùng các sản phẩm hoặc nội dung phù hợp dựa trên lịch sử hoạt động và sở thích của người dùng đó. Các mơ hình giới thiệu học từ lịch sử của người dùng các hành vi trực tiếp hay gián tiếp xác định được phản hồi của người dùng đối với một nội dung nào đó. Có hai loại phản hồi chính sau:

 Phản hồi tường minh (Explicit Feedback): Người dùng trực tiếp gắn nhãn, xếp hạng hoặc đánh giá nội dung. Các phản hồi tường minh do đó thường là một dãy các giá trị có thứ tự xếp hạng. Ví dụ trong trường hợp giới thiệu phim ảnh thì việc đánh giá theo số sao chính là một hình thức phản hồi tường minh.

 Phẩn hồi tiềm ẩn (Implicit Feedback): Loại phản hồi này thường là các sự kiện và hành động có thể gián tiếp nói lên được mức độ u thích của người dùng đối với một nội dung nào đó. Chúng khơng có khoảng giá trị cụ thể và rõ ràng nào. Các ví dụ điển hình có thể kể đến trong trường hợp giới thiệu phim ảnh là việc bookmark, xem trang thông tin hoặc mua phim.

Hầu hết các giải thuật và các bài viết hàn lâm thường sử dụng loại phản hồi tường minh để đào tạo và đánh giá các mơ hình Giới thiệu. Nhược điểm của loại phản hồi này chính là lúc hệ thống mới được đưa vào hoạt động thì chúng khá là khan hiếm. Ngược lại, phản hồi tiềm ẩn chính là hành vi của người dùng nên dồi dào hơn, nhưng vì khơng có khoảng giá trị cụ thể nên rất khó để đong đếm được mức độ u thích là bao nhiêu. Điều này sẽ có ảnh hưởng ít nhiều đến việc chọn ra giải thuật và mơ hình để hiện thực tính năng Giới thiệu của nhóm, sẽ được nói chi tiết hơn ở phần Hiện thực.

Có hai cách tiếp cận chủ yếu để giải quyết bài toán giới thiệu nội dung đến với người dùng chính như sau:

1. Content-based Filtering: Học được hồ sơ sở thích của người dùng dựa trên các đặc trung của nội dung mà người dùng đã bình chọn trước đó. Các đặc trưng kể trên có thể là mơ tả, phân loại, người dạy học, v.v.. trong trường hợp giới thiệu khóa học đối với người học viên. Những thơng tin trên được gọi là hồ sơ của từng nội dung. Từ hồ sơ nội dung, ta có thể xây dựng hồ sơ của người dùng và giới thiệu đến người dùng đó các nội dung mới tương thích với hồ sơ đó.

Một phần của tài liệu Xây dựng hệ quản trị đào tạo tích hợp mạng xã hội (Trang 25 - 28)

Tải bản đầy đủ (PDF)

(185 trang)