Đây là lý do khiến những công ty TMĐT lớn như Amazon và Alibaba đầu tư xây dựng đội ngũ mạnh trong việc nghiên cứu và phát triển hệ thống tìm kiếm. Sendo.vn, một trong những website TMĐT hàng đầu Việt Nam, cũng xây dựng một đội ngũ chuyên biệt cho việc phát triển chức năng tìm kiếm.
Giao diện tìm kiếm trên mobile của Sendo.vn |
Một trong những thách thức lớn nhất của một hệ thống tìm kiếm là đảm bảo người dùng tìm được những sản phẩm phù hợp với mong muốn. Nói một cách khác, khi người dùng nhập một từ khóa tìm kiếm, hệ thống cần trả về những sản phẩm liên quan nhất với từ khóa đó.
Đây là một bài toán có nhiều thử thách liên quan đến xử lí ngôn ngữ tự nhiên (xử lý từ đồng nghĩa, xử lí dấu tiếng Việt)… Hiện tại, Sendo.vn đã đưa ra các giải pháp để cải tiến và từng bước giải quyết những thử thách này.
Phục vụ yêu cầu tìm kiếm từ nhiều nền tảng
Hệ thống tìm kiếm của Sendo.vn được xây dựng dựa trên hệ phân tán Elasticsearch. Đây là hệ thống tìm kiếm mã nguồn mở phổ biến nhất có thể phục vụ một lượng lớn yêu cầu từ các nền tảng khác nhau của Sendo.vn.
Hệ thống tìm kiếm của Sendo.vn được xây dựng dựa trên Elasticsearch |
Elasticsearch cung cấp các cơ chế cơ bản để tìm kiếm văn bản. Tuy nhiên, các cơ chế này chưa đủ tốt cho bài toán tìm kiếm của Sendo.vn vì hầu hết các hệ thống tìm kiếm mã nguồn mở hiện nay đều chưa hỗ trợ tốt cho ngôn ngữ và ngữ pháp tiếng Việt; các tính năng của các hệ thống tìm kiếm mã nguồn mở chưa được chuyên biệt hóa cho ngành TMĐT.
Do vậy, Sendo.vn sử dụng thuật toán của Elasticsearch như là bước khởi đầu, và có một quy trình để cải tiến liên tục thuật toán tìm kiếm riêng.
Quy trình cải tiến liên tục thuật toán tìm kiếm của Sendo.vn |
Ở bước đầu tiên của quy trình cải tiến, Sendo.vn phát triển những tính năng mới cho thuật toán tìm kiếm. Ví dụ như xử lý từ đồng nghĩa, xử lý dấu tiếng Việt hay thay đổi cách tính điểm của các trọng số tìm kiếm.
Sendo.vn xây dựng một danh sách các từ đồng nghĩa (ví dụ: “hoa tai” đồng nghĩa với “khuyên tai”, “đầm dạ hội” đồng nghĩa với “đầm dự tiệc”…). Danh sách này được cập nhật thường xuyên, dựa trên việc phân tích dữ liệu để phát hiện những từ khóa được tìm kiếm nhiều và có khả năng có từ đồng nghĩa
Với các trường hợp tiếng Việt không dấu có thể gây hiểu lầm về mặt ngữ nghĩa, ví dụ “giày da bóng” và “giày đá bóng” sẽ được xử lí bằng cách lưu thông tin về sản phẩm trong 2 trường khác nhau trong cơ sở dữ liệu. Một trường lưu thông tin dưới dạng có dấu và trường còn lại lưu dưới dạng không dấu. Sau đó, tùy thuộc vào từ khóa tìm kiếm của người dùng là có dấu hay không dấu, ta sẽ truy vấn vào trường tương ứng trong cơ sở dữ liệu để trả về kết quả phù hợp.
Khi trả về kết quả cho một từ khóa tìm kiếm, hệ thống không chỉ sử dụng yếu tố liên quan về mặt ngữ nghĩa, mà còn sử dụng nhiều yếu tố đặc thù của TMĐT, ví dụ như số đơn hàng của sản phẩm, điểm đánh giá của sản phẩm, uy tín của người bán… Dữ liệu kinh doanh của Sendo.vn được phân tích để quyết định giá trị trọng số cụ thể cho từng tiêu chí
Trong quá trình phát triển thuật toán mới, đội nghiên cứu luôn phải cân bằng độ chính xác của thuật toán và hiệu năng của hệ thống để đảm bảo hệ thống tìm kiếm có khả năng trả về kết quả nhanh.
Mục tiêu của bước thứ hai - kiểm thử offline là đảm bảo kết quả tìm kiếm của thuật toán mới tốt hơn thuật toán cũ, dựa trên một danh sách các từ khóa được chọn. Việc này được thực hiện bằng cách tạo một bản sao của cơ sở dữ liệu Elasticsearch; thu thập danh sách những từ khóa được người dùng tìm kiếm nhiều nhất và so sánh thủ công kết quả tìm kiếm của thuật toán mới và cũ trên tập từ khóa nói trên.
Nếu thuật toán mới hoạt động tốt hơn thuật toán cũ, đội nghiên cứu sẽ chuyển sang bước kiểm thử online với người dùng thật.
Ở bước thứ ba - kiểm thử online, phương pháp A/B testing được sử dụng để so sánh hiệu quả thực tế của hai thuật toán dựa trên những chỉ số quan trọng trong ngành TMĐT như Click-through rate (CTR - số lượt click trên số lượt hiển thị) và Conversion rate (CR - tỷ lệ chuyển đổi thành đơn hàng). Việc đo lường các chỉ số như CTR và CR được Sendo.vn thực hiện bằng cách tự xây dựng một hệ thống tracking. Các thông tin được thu thập thông qua hệ thống tracking rất phong phú, gồm số lần sản phẩm hiển thị, vị trí; số lần click, vị trí click...
Hệ thống tracking hành vi người dùng của Sendo.vn |
Quá trình kiểm thử online thường kéo dài từ một đến hai tuần, để đảm bảo dữ liệu để kết luận về CTR và CR của thuật toán mới và thuật toán cũ được thu thập đủ.
Nếu kết quả của việc kiểm thử online cho thấy thuật toán mới mang lại các chỉ số tốt hơn thuật toán cũ, thuật toán mới cho toàn bộ người dùng sẽ được áp dụng.
Ngược lại, dữ liệu tìm kiếm của người dùng được phân tích kĩ hơn để hiểu vì sao thuật toán mới kém hiệu quả hơn thuật toán cũ. Sau đó, Sendo.vn trở lại bước đầu tiên để tìm cách nâng cấp thuật toán tìm kiếm, và toàn bộ quá trình lại tiếp tục diễn ra.
Kết quả thực tế tại Sendo.vn
Quy trình cải tiến liên tục này đã mang lại kết quả rất khả quan cho Sendo.vn. Theo thời gian, chất lượng kết quả tìm kiếm được nâng cao. Cụ thể, chỉ số CTR đã tăng trưởng 25%, và mang lại những tác động rất tích cực cho hoạt động kinh doanh nói chung.
Theo Tech Insight
Ý kiến
()