You are on page 1of 26

GROUP 2

DOMAIN
SPORTS
THÀNH VIÊN: NGUYỄN HOÀNG GIANG
VÕ BÙI ĐĂNG KHOA
PHẠM VIỆT HOÀNG THI
Mô tả về đề tài
Thể thao là một món ăn tinh thần không thể
thiếu trong cuộc sống hiện đại của chúng ta, vì
thế nhu cầu tìm kiếm những thông tin xoay
quanh về chủ đề thể thao một cách nhanh
chóng và chính xác là rất cao. Nhận biết được
nhu cầu đó, nhóm quyết định xây dựng website
tìm kiếm thông tin các bài báo về chủ đề thể
thao.
Giới thiệu đề tài

Web tìm kiếm thông tin


các bài báo thể thao

Xây dựng một trang web


thực hiện công việc tìm kiếm
các thông tin về các bài báo
thể thao online từ trang
web:
https://www.24h.com.vn/
Phân chia công việc
Công việc Thời gian Giang Khoa Thi

Crawl các trang báo về 1 tuần Crawl 3000 trang về Crawl 3000 trang về Crawl 3000 trang về
thể thao ở trang web môn thể thao bóng đá, môn thể thao tennis, môn thể thao đơn, ...
www.24h.com.vn bóng chuyền, ... bóng rỗ, ...

Indexing, Retrieving 2 tuần Evaluation Indexing Tích hợp API


data, tích hợp API
elasticsearch

Create Web Interface 1 tuần Build System Web Interface Web Interface
NỘI DUNG CHÍNH

01 02
Indexing
03
Crawling Data Retriving Website
Handling asynchrous, Indexing data from Evaluate search
Crawl data and write to database to elastic engine and build a
database search, settings and simple search web
mapping document.
I. Crawling - Các bước Crawling
- Cấu trúc của Document
Các bước Crawling

- Phân tích các element có trong 1 trang web.


- Thu nhập tất cả các link bài viết về các lĩnh vực
thể thao ở website.
- Lấy các thông tin như: nội dung, ngày đăng, tác
giả,... ở trang bài viết chi tiết.
- Lưu các thông tin vào cơ sở dữ liệu.
Cấu trúc của các Document
Title(string): Updated_at(datetime): Author(string):
tiêu đề của các bài ngày cập nhật. tác giả.
báo.

Event(string):
Description(string):
keyword liên quan
mô tả thêm về bài
đến bài báo.
báo.

Created_at(datetime): Source(string):
ngày xuất bản. nguồn trích dẫn.
II. Indexing and
Retrieving - Indexing
- Evalution
- API elasticsearch
Indexing

-Tạo cluster elasticsearch

-Dùng elasticsearch client với Python

-Tạo index

-Tạo mappings

-Lấy dữ liệu từ database đổ vào index


Indexing

- Index dữ liệu từ database vào elasticsearch.

-Dùng field id của document ở db để tránh việc bị duplicate field.


Mappings

Ex: “Rooster cow everyday”

Text: “Roosters”, “crow”, and


“everyday”.

Keyword: “Rooster cow everyday”

=> Text dùng cho các mô tả, tìm kiếm


gần giống.

=> Keyword dùng cho tìm kiếm từ


chính xác.
API elasticsearch
Evaluation
Sử dụng standard analyzer và các thông số mặc định của
elasticsearch cho ra kết quả không như ý.

- Analyzer parse token ra thành từng từ đơn nên search tiếng


việt không hiệu quả
Evaluation

- Các loại nội dung trong data


- Lịch thi đấu, kết quả => Đánh giá độ liên quan theo title, content
thường ngắn
- Bàn luận về trận đấu => Đánh giá độ liên quan theo content
- Thông tin bên lề (Vận động viên, hotgirl,...) => Đánh giá độ liên
quan theo content

=> Sử dụng BM 25 => thử phương pháp tăng b


Evaluation
Chuẩn bị 3 index, mỗi index ứng có số b = 0.8,
0.6, 0.4

Chuẩn bị 10 document liên quan tới truy vấn


“Chelsea vô địch”
Evaluation

Precision at K với

k =1.2, b=0.75
Precision at K với

k =1.2, b=0.8
Precision at K với k =1.2, b=0.4
Evaluation

Thay thế analyzer bằng vietnam analyzer


III. Website - Web interface
- Demo
Web Interface
Feature
- Filter theo môn thể thao
- Filter theo ngày tháng đăng tải bài viết
- Sửa query theo các từ ngữ phổ biến
- In đậm từ ngữ được tìm kiếm trong danh sách kết quả các bài
viết.
Demo
Demo

You might also like