Chương 1. GIỚI THIỆU ĐỀ TÀI đề bài báo. Các phương pháp kỹ thuật sẽ được triển khai để đảm bảo hệ thống vừa đáp ứng yêu cầu thực tiễn vừa có tính ứng dụng cao. NHÓM 08 - LỚP N05 3 CHƯƠNG 2.
BÁO CÁO TIẾN ĐỘ TỪNG TUẦN Topic 1-12 2.1 Tổng quan quá trình làm dự án trong 12 tuần Sơ đồ Project Hình 2.1: Luồng của dự án Topic Tuần 4 (21/09 - 28/9) Chủ đề tìm hiểu tuần 4: Trình bày khái quát về chủ đề tuần 1 bao gồm lý do và động lực chọn đề tài là gì? Khảo sát về công nghệ thực hiện hoặc sử dụng thống kê hay lý do kỹ thuật để thấy được việc lựa chọn là đúng đắn. Chủ đề khái quát tuần 4 cần thực hiện chọn phương pháp lấy dữu liệu trên Internet, bằng cách sử dụng các thư viện của Python, các nguồn công khai: API, web. Mục tiêu tuần Topic 4: Chọn ra phương pháp lấy dữ liệu phù hợp với đề tài: "HỆ THỐNG GỢI Ý TỪ KHÓA VÀ BÀI BÁO DỰA TRÊN NHU CẦU NGƯỜI DÙNG SỬ DỤNG GOOGLE TRENDS API FOR PYTHON" Kết quả của tuần Topic: 1. Nội dung 1: Xác định nguồn dữ liệu • API: Sử dụng Google Trends API for Python (thư viện pytrends): Google Trends API for Python là một công cụ tiện lợi cho phép người dùng truy cập vào dữ liệu xu hướng tìm kiếm trên Google.
Với việc tích hợp Python, API cho phép người dùng thu thập, xử lý và phân tích các từ khóa hoặc chủ đề đang được quan tâm trên toàn thế giới hoặc ở một khu vực cụ thể, ví dụ: Việt Nam. – Trong đề tài này, nhóm sinh viên sử dụng thư viện pytrends. Thông qua pytrends có thể thực hiện các truy vấn tìm kiếm và thu thập dữ liệu xu hướng không cần trực tiếp tương tác với giao diện web của Google Trends. – Dữ liệu theo thời gian thực: API cung cấp khả năng lấy dữ liệu thời gian thực, có thể truy vấn các từ khóa hoặc chủ đề trong một khoảng thời gian tùy chọn.
4 Nhập môn Khoa học dữ liệu Chương 2. BÁO CÁO TIẾN ĐỘ TỪNG TUẦN Topic. – Thông tin theo khu vực địa lý: Có thể chọn truy vấn theo từng quốc gia cụ thể, hoặc các khu vực khác nhau trên thế giới. Trong đề tài này, nhóm sinh viên chọn khu vực địa lý là Việt Nam.
– Phân tích nhiều từ khóa: API cho phép phân tích đồng thời nhiều từ khóa và so sánh xu hướng tìm kiếm giữa các từ khóa. Điều này rất thuận tiện cho việc khảo sát yêu cầu người dùng và đưa ra các gợi ý đa dạng. – Các chỉ số xu hướng: + Interest over time: Mức độ quan tâm của người dùng đối với một từ khóa theo thời gian. + Interest by region: Phân tích mức độ tìm kiếm của một từ khóa trong các khu vực địa lý khác nhau.
+ Trending Searches: Lấy danh sách các từ khóa hoặc chủ đề đang thu hút sự chú ý. + Realtime Search Trends: Lấy dữ liệu xu hướng tìm kiếm theo thời gian thực với các danh mục khác nhau *. – Cách cài đặt và sử dụng pytrends: * Bước 1: Cài đặt pytrends: 1 pip install pytrends * Bước 2: Sử dụng pytrends cơ bản: 1 from pytrends.request import TrendReq 2 3 # Ket noi toi Google Trends 4 pytrends = TrendReq(hl=’en-US’, tz=360) 5 6 # Tao truy van voi tu khoa "Python" 7 pytrends.build_payload(kw_list=[’Python’]) 8 9 # Lay du lieu xu huong theo thoi gian 10 interest_over_time_df = pytrends. interest_over_time() 11 print(interest_over_time_df.head()) • Web động: Sau khi thu thập được danh sách các từ khóa xu hướng, tiếp theo cần tìm kiếm các bài báo có nội dung phù hợp các từ khóa.
Việc này thực hiện bằng cách sử dụng công cụ Selenium để tự động hóa việc thu thập các bài báo từ các trang tin tức. Selenium mô phỏng hành vi người dùng, truy cập vào các trang web, tìm kiếm bài báo dựa trên từ khóa, và thu thập các nội dung cần thiết. Kết quả thu được là danh sách các bài báo có chủ đề liên quan trực tiếp đến các xu hướng từ khóa đã xác định trước đó, giúp dễ dàng nắm bắt thông tin từ nhiều nguồn khác nhau một cách tự động và nhanh chóng. – Cách cài đặt và sử dụng Selenium: NHÓM 08 - LỚP N05 5 Nhập môn Khoa học dữ liệu Chương 2.
BÁO CÁO TIẾN ĐỘ TỪNG TUẦN Topic. * Bước 1: Cài đặt pytrends: 1 pip install selenium * Bước 2: Cài đặt WebDriver: Để Selenium có thể tương tác với các trình duyệt, cần cài đặt WebDriver tương ứng với trình duyệt sử dụng. Ví dụ với Google Chrome: · Cài đặt ChromeDriver. · Sau khi tải xuống, thêm đường dẫn đến chromedriver vào biến môi trường hoặc đặt tệp này trong cùng thư mục với mã Python.
* Bước 3: Kiểm tra cài đặt: 1 from selenium import webdriver 2 3 # Duong dan den ChromeDriver 4 driver = webdriver.Chrome(executable_path= ’/path/to/chromedriver’) 5 6 # Mo trang web 7 driver.get("https://www.com") 8 9 # In tieu de trang web 10 print(driver.title) 11 12 # Dong trinh duyet 13 driver.quit() • Mẫu dữ liệu thu thập từ Google Trends ( cập nhật trong ngày 27/9) Tiêu đề Số lượng tìm kiếm Chủ đề Thời gian khảo sát Vùng địa lý diddy 200 N+ Xu hướng 7 ngày qua VN tottenham đấu với qarabag 50 N+ Xu hướng 7 ngày qua VN man utd đấu với twente 100 N+ Xu hướng 7 ngày qua VN xsmn hôm xổ số miền nam 26 9 1 Tr+ Xu hướng 7 ngày qua VN chí trung 5 N+ Xu hướng 7 ngày qua VN usher 20 N+ Xu hướng 7 ngày qua VN baby oil 10 N+ Xu hướng 7 ngày qua VN zelensky 5 N+ Xu hướng 7 ngày qua VN khu du lịch đại nam 10 N+ Xu hướng 7 ngày qua VN lich thi dau cktg 20 N+ Xu hướng 7 ngày qua VN billie eilish 10 N+ Xu hướng 7 ngày qua VN michael jackson 5 N+ Xu hướng 7 ngày qua VN NHÓM 08 - LỚP N05 6 Nhập môn Khoa học dữ liệu Chương 2. BÁO CÁO TIẾN ĐỘ TỪNG TUẦN Topic. xổ số vietlott power 26 9 10 N+ Xu hướng 7 ngày qua VN tường san 5 N+ Xu hướng 7 ngày qua VN u20 việt nam 20 N+ Xu hướng 7 ngày qua VN fabio paim 5 N+ Xu hướng 7 ngày qua VN hailey bieber 5 N+ Xu hướng 7 ngày qua VN xổ số trà vinh ngày 27 tháng 09 20 N+ Xu hướng 7 ngày qua VN sayuri 2 N+ Xu hướng 7 ngày qua VN túi hermes bạch tạng 20 N+ Xu hướng 7 ngày qua VN neymar 500+ Xu hướng 7 ngày qua VN concert anh trai say hi 2 N+ Xu hướng 7 ngày qua VN xiaomi 14t 2 N+ Xu hướng 7 ngày qua VN bò chảnh 2 N+ Xu hướng 7 ngày qua VN liverpool đấu với west ham 50 N+ Xu hướng 7 ngày qua VN s24 fe 1 N+ Xu hướng 7 ngày qua VN celta đấu với atlético madrid 20 N+ Xu hướng 7 ngày qua VN cuba 5 N+ Xu hướng 7 ngày qua VN shigeru ishiba 200+ Xu hướng 7 ngày qua VN minh hôn 1 N+ Xu hướng 7 ngày qua VN người nhện 1 N+ Xu hướng 7 ngày qua VN điện thoại huawei 2 N+ Xu hướng 7 ngày qua VN chuyến bay tới Thái Lan 5 N+ Xu hướng 7 ngày qua VN xe máy yamaha mới 1 N+ Xu hướng 7 ngày qua VN 2. Nội dung 2: Cách thu thập dữ liệu - Sử dụng Google Trends for Python: Lấy ra danh sách các từ khoá theo xu hướng tại Việt Nam( hoặc các nước khác) trong một khoảng thời gian nhất định( 1 ngày, vài ngày đến vài tuần,.
Từ đó lấy ra số lượng tìm kiếm, thời gian bắt đầu, bảng chi tiết về xu hướng,. - Từ các từ khoá trên, có thể lấy ra các bài báo có chủ đề liên quan bằng cách sử dụng Selenium. Nội dung 3: Số lượng bản ghi: 2 3.1 Bản 1: Bảng các từ khóa thịnh hành: – Vùng địa lý – Thời gian khảo sát – Danh mục(chủ đề) – Lượng tìm kiếm – Từ khóa 3.2 Bản 2: Bảng các bài báo: NHÓM 08 - LỚP N05 7 Nhập môn Khoa học dữ liệu Chương 2. BÁO CÁO TIẾN ĐỘ TỪNG TUẦN Topic.
– Tiêu đề – Danh mục(chủ đề) – Đường dẫn – Ngày phát hành – Từ khóa liên quan –> Kết luận: Topic Tuần 5 (28/09 - 05/10) Chủ đề tìm hiểu tuần 5: Trình bày khái quát về chủ đề tuần 1 bao gồm lý do và động lực chọn đề tài là gì? Khảo sát về công nghệ thực hiện hoặc sử dụng thống kê hay lý do kỹ thuật để thấy được việc lựa chọn là đúng đắn. Mục tiêu tuần Topic 5: Trình bày khái quát về mục tiêu tuần 1 bao gồm lý do và động lực chọn đề tài là gì? Khảo sát về công nghệ thực hiện hoặc sử dụng thống kê hay lý do kỹ thuật để thấy được việc lựa chọn là đúng đắn. Kết quả của tuần Topic 5: 1. Loại bỏ dữ liệu (a) Sử dụng kỹ thuật xóa bỏ các ký tự không cần thiết (Text Normalization) i.
Trước tiên có thể sử dụng các phương pháp chuẩn hóa văn bản như loại bỏ dấu câu, ký tự đặc biệt, chuyển đổi tất cả chữ cái về dạng viết thường, và loại bỏ stopwords (các từ không mang ý nghĩa quan trọng như "và", "của",. Điều này giúp giảm thiểu các khác biệt không cần thiết giữa các tiêu đề. TF-IDF (Term Frequency-Inverse Document Frequency): Đây là phương pháp chuyển đổi các tiêu đề thành các vector TF-IDF ii. Cosine Similarity: Sau khi chuyển đổi tiêu đề thành các vector, sử dụng cosine similarity để đo tính toán sự tương đồng giữa hai văn bản dựa trên góc giữa chúng trong không gian vector.
Nếu độ tương đồng giữa hai tiêu đề vượt quá một ngưỡng nhất định (ví dụ: trên 0.9), chúng có thể được coi là tương tự nhau về mặt ngữ nghĩa.fit_transform(df[’Tieu de’ ]) 6 NHÓM 08 - LỚP N05 8 Nhập môn Khoa học dữ liệu Chương 2. BÁO CÁO TIẾN ĐỘ TỪNG TUẦN Topic. 7 # Tinh toan ma tran cosine similarity giua cac tieu de 8 cosine_sim = cosine_similarity(tfidf, tfidf) 9 10 # Thiet lap nguong de quyet dinh xem tieu de nao tuong tu nhau (Vi du nguong : 0.8 12 to_remove = set() 13 14 # Duyetj qua ma tran similarity va danh dau cac tieu de tuong tu de loai bo 15 for i in range(len(df)): 16 for j in range(i + 1, len(df)): 17 if cosine_sim[i, j] > threshold: 18 to_remove.add(j) 19 20 # Loai bo cac tieu de duoc danh dau 21 df_cleaned = df.