ứng Dụng Thuật Toán K Láng Giềng Gần Nhất Trong Phân ... - Xemtailieu

logo xemtailieu Xemtailieu Tải về Ứng dụng thuật toán k láng giềng gần nhất trong phân loại văn bản tin tức theo chủ đề
  • pdf
  • 53 trang
MỤC LỤC LỜI CAM ĐOAN MỤC LỤC TRANG TÓM TẮT LUẬN VĂN DANH MỤC CÁC TỪ VIẾT TẮT DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH MỞ ĐẦU ............................................................................................................. 1 1. Lý do chọn đề tài ......................................................................................1 2. Mục đích và ý nghĩa đề tài .......................................................................2 3. Mục tiêu và nhiệm vụ ...............................................................................2 4. Đối tượng và phạm vi nghiên cứu ............................................................3 5. Phương pháp nghiên cứu ..........................................................................3 6. Kết luận ....................................................................................................3 7. Bố cục của luận văn .................................................................................3 CHƯƠNG 1: TỔNG QUAN BÀI TOÁN PHÂN LOẠI VĂN BẢN ................ 5 1.1. Khái niệm phân lớp văn bản ..........................................................................5 1.1.1. Khái niệm ...........................................................................................5 1.1.2. Phân loại bài toán phân lớp văn bản ...................................................7 1.2. Mô hình phân lớp văn bản dùng tiếp cận học máy ........................................7 1.3. Th thập iệ .............................................................................................9 1.3.1.Trình thu thập thông tin web ...............................................................9 1.3.2. Thống kê d liệu...............................................................................10 1.4. Tiền xử ý văn bản .......................................................................................11 1.4.1. Làm sạch ..........................................................................................12 1.4.2. Tách từ .............................................................................................13 1.4.3. Chuẩn hóa từ ....................................................................................14 1.4.4. Loại bỏ StopWords ...........................................................................14 1.5. Biểu diễn văn bản ưới dạng vector ............................................................17 1.5.1.Túi từ (Bag-of-words) .......................................................................17 1.5.2. Term Frequency – Inverse Document Frequency (TF-IDF) .............19 CHƯƠNG 2: THUẬT TOÁN K LÁNG GIỀNG GẦN NHẤT ..................... 23 2.1. Khai phá d liệu ..........................................................................................23 2.2. Thuật toán K láng giềng gần nhất ................................................................24 2.2.1.Giới thiệu chung ................................................................................24 2.2.2. Nội dungthuật toán ...........................................................................24 2.2.3. Đánh trọng số cho các điểm lân cận .................................................26 2.2.4. Ư điểm của KNN ............................................................................26 2.2.5. Nhược điểm của KNN ......................................................................26 2.2.6. Các tham số quan trọng của thuật toán KNN ...................................27 CHƯƠNG 3: TRIỂN KHAI VÀ ĐÁNH GIÁ HỆ THỐNG .......................... 28 3.1. Môi trường triển khai thử nghiệm................................................................28 3.2. Mô tả d liệu ...............................................................................................28 3.3. Sơ đồ phân lớp văn bản dùng KNN .............................................................29 3.4. Cấu hình tham số phân loại văn bản bằng KNN ..........................................30 3.5. Kết quả thực nghiệm....................................................................................30 3.5.1 Đánh giá th ật toán KNN ..................................................................30 3.5.2 So sánh với thuật toán phân loại Naive Bayes ...................................31 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ....................................................... 36 TÀI LIỆU THAM KHẢO ................................................................................ 37 QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN THẠC SĨ (BẢN SAO) BẢN SAO KẾT LUẬN CỦA HỘI ĐỒNG, BẢN SAO NHẬN XÉT CỦA CÁC PHẢN BIỆN. Học viên TRANG TÓM TẮT LUẬN VĂN ỨNG DỤNG THUẬT TOÁN K LÁNG GIỀNG GẦN NHẤT TRONG PHÂN LOẠI VĂN BẢN TIN TỨC THEO CHỦ ĐỀ Học viên: Lê Quang Hòa Chuyên ngành: Ngành Khoa Học Máy Tính Mã số: 8480101 Khóa: 34 Trường Đại học Bách khoa – ĐHĐN Tóm tắt:Việc phân loại văn bản theo chủ đề đã có nhiều trên thế giới và ở Việt Nam. Qua việc phân loại văn bản có thể nắm bắt được xu thế xã hội ở các website và ở cộng đồng mạng. Việc phân loại này có thể giúp được chúng ta có thể ra các quyết định, các chính sách hay các hành động phù hợp để thích ứng với xã hội hiện nay, khi mà sự vận động của xã hội thay đổi không ngừng, đặc biệt là trong thời kỳ cách mạng công nghiệp 4.0. Thuật toán phân loại văn bản bằng KNN là một trong nh ng thuật toán để bổ trợ cho chúng ta thực hiện mục đích trên. Với KNN, ta có thể tận dụng được các ư điểm của thuật toán nhằm công sức, tận dụng được sức mạnh của máy móc cũng như giảm được thời gian khi chúng ta thực hiện phân loại văn bản. Trong bài luận văn, tôi nê các ý th yết iên q an đến thuật toán, cách áp dụng trong việc phân loại văn bản sử dụng ngôn ng Python. Q a đó, đưa ra các kết quả đánh giá khi áp dụng thuật toán này trong thực tế. Từ khóa:Thuật toánKNN; Phân loại văn bản; Học máy THE RESEARCH OF APPLYING THE K-NEAREST NEIGHBOR ALGORITHM IN TEXT CLASSIFICATION INTO TOPICS Summary: Text Classification or Text Categorizer into topic has been introduced in Viet Nam and all over the world. Thanks to Text Classification, we can grasp the social trend in the website and even in the community. Moreover, it helps us make the exact decisions, policies or actions in order to catch up with the constant changes of society, especially during the Industrial Revolution 4.0. The KNN text classification algorithm is one of the algorithms that supports us to fulfill our purposes. With KNN, we can take advantage of the algorithm to work, take advantage of the power of the machine, and reduce the time when we do the classification of text. By using KNN, we can take advantage of the algorithm as well as the power of the machine to reduce the amount of time which we spend carrying out the work of text classification. In this research paper, the theories related to this algorithm and the methods to classify texts using the Python language are presented. All things considered, the evaluation results are shown so as to apply this algorithm in reality. Keywords:knn algorithm; text classification;Machine Learning. DANH MỤC CÁC TỪ VIẾT TẮT KNN k-nearest neighbor ML Machine Learning NLP Natural Language Processing BOW Bag-of-words TF-IDF Term Frequency–Inverse Document Frequency SVM Support Vetor Machines DANH MỤC CÁC BẢNG Bảng 3.1. Số ượng văn bản theo chủ đề được dùng trong thực nghiệm ........... 29 Bảng 3.2. Độ chính xác nhận dạng theo số chiều của vectơ đặc trưng và K thay đổi (đơn vị tính %). ....................................................................... 31 Bảng 3.3 Độ chính xác của Naive Bayes theo số chiều của vec tơ đặc trưng.... 32 DANH MỤC CÁC HÌNH Hình 1.1. Bài toán phân lớp văn bản theo chủ đề. ............................................... 5 Hình 1.2. Sơ đồ khung một hệ thống phân lớp văn bản dùng Học máy. ............. 8 Hình 1.3. Kiến trúc của trình thu thập d liệu web. .......................................... 10 Hình 1.4. Số bài báo được thu thập theo chủ đề. ............................................... 11 Hình 1.5. Các bước tiền xử ý văn bản. ............................................................. 12 Hình 1.6. Ví dụ bước làm sạch văn bản............................................................. 12 Hình 1.7. Ví dụ tách từ. ..................................................................................... 13 Hình 1.8. StopWords tiếng Việt. ...................................................................... 15 Hình 1.9. Ví dụ dùng từ điển loại bỏ StopWords. ............................................. 16 Hình 1.10. Ví dụ dựa theo tần suất xuất hiện của từ.......................................... 16 Hình 1.11. Mô hình Bag-of-words. ................................................................... 17 Hình 1.12. Thuật toán để xác định tính năng nhị phân của văn bản. ................. 18 Hình 2.1. Các ĩnh vực iên q an đến khai phá d liệu. ..................................... 23 Hình 2.2. KNN cho bài toánphân lớp[9]. .......................................................... 25 Hình 3.1. Sơ đồ phân lớp văn bản dùng KNN. .................................................. 29 Hình 3.2.. So sánh độ chính xác cao nhất gi a hai thuật toán phân loại. ........... 33 Hình 3.3. Kết quả phân loại ”Giáo ục” ............................................................ 33 Hình 3.4. Kết quả phân loại ”Thể thao” ............................................................ 33 Hình 3.5. Kết quả phân loại ”Khoa học – Công nghệ” ...................................... 34 Hình 3.6. Kết quả phân loại ”Sức khỏe” ........................................................... 34 Hình 3.7. Kết quả phân loại ”Tin tức” ............................................................... 35 1 MỞ ĐẦU 1. Lý do chọn đề tài Như ta đã biết, thời đại hiện nay là thời đại internet, là thời đại của sự bùng nổ thông tin, khi mà tất cả mọi người trên thế giới đều sống trên một thế giới phẳng, đặc biệt là hiện nay khi đang iễn ra cuộc cách mạng công nghiệp 4.0 thì ượng thông tin ngày càng nhiều, việc phân loại chúng trở nên khó khăn. Ở bất kỳ một tổ chức nào, với bất kỳ một mô hình hay q y mô nào cũng đều có nh ng nhu cầu về ư tr và khai thác thông tin. Đã có nhiều hệ thống phân loại tin tức trên thế giới cũng như ở Việt Nam đã đáp ứng được phần nào đó nh cầu phân loại tin tức để ra quyết định. Việc phân loại tin tức đã đem ại thành tựu nhất định, cụ thể: - Xác định được xu thế của cộng đồng mạng khi mà cộng đồng này chiếm ngày càng đông trong xã hội. Q a đó xác định được xu thế về mặt ngắn hạn của xã hội, hỗ trợ cho người sử dụng ra các quyết định phù hợp. - Việc phân loại tin tức cũng được ứng dụng trên các website thương mại nhằm nắm bắt được xu thế tiêu dùng của người sử dụng. Một trong nh ng thuật toán để ứng dụng công việc phân loại d liệu của các website tin tức tiếng Việt đó à th ật toán k-láng giềng gần nhất; thuật toán này có ư điểm: Độ phức tạp của quá trình huấn luyện bằng 0.Việc dự đoán kết quả của d liệu mới rất đơn giản, không cần giả sử gì về phân phối của các lớp. Tuy nhiên, thuật toán này cũng có nhược điểm là nhạy cảm với nhiễu khi k nhỏ. Vì thuật toán k- láng giềng gần nhất này mọi tính toán đều nằm ở giai đoạn kiểm thử cho nên việc tính toán khoảng cách đến từng điểm d liệu tốn nhiều thời gian, đặc biệt đối với cơ sở d liệu lớn và có nhiề điểm d liệu. Để việc áp dụng thuật toán k- láng giềng gần nhất trong việc ứng dụng phân loại tin tức giảm được chi phí về mặt thời gian và độ phức tạp cần phải tăng tốc và khăc phục nhược điểm cho thuật toán này. Đề tài nghiên cứu này nhằm vận dụng thuật toán k- láng giềng gần nhất theo cách tối ư nhất dựa trên 2 các cơ sở lý thuyết. 2. Mục đích và ý nghĩa đề tài Mục đích Mục đích nghiên cứu của đề tài: - Nghiên cứ và đề xuất các phương pháp phân oại văn bản theo chủ đề dựa trên thuật toán k- láng giềng. - Tích hợp các giải pháp vào một hệ thống phân loại văn bản theo chủ đề và đánh giá hiệu quả. Ý nghĩa khoa học thực tiễn của đề tài - Đóng góp về mặt phương pháp ận và thực nghiệm vào ĩnh vực phân oại văn bản, một nhánh nghiên cứ của xử ý ngôn ng tự nhiên. - Cải tiến chất ượng hệ thống phân oại văn bản hiện có để nâng cao q ản ý x thế của tin tức. 3. Mục tiêu và nhiệm vụ Mục tiêu - Mục tiêu chính của đề tài là Ứng dụng thuật toán k-láng giềng gần nhất vào hệ thống xử ý thông tin để phân loại thông tin theo chủ đề. - Nghiên cứ và cải thiện th ật toán k- áng giềng trong hệ thống phân oại tin tức. Nhiệm vụ Để đạt được nh ng mục tiêu trên thì nhiệm vụ đặt ra của đề tài là: - Th thập iệ mẫ từ các trang Web tiếng Việt. - Nghiên cứ các phương pháp biể iễn văn bản ưới ạng vec-tơ để đưa vào áp ụng th ật toán k- áng giềng gần nhất. - Phát biể , phân tích và cài đặt giải th ật cho bài toán trong hệ thống phân oại tin tức. - Đánh giá so sánh kết q ả phân oại với các th ật khác như Naïve Bayes và Support Vector Machine. 3 4. Đối tượng và phạm vi nghiên cứu Trong khuôn khổ của luận văn thạc sĩ th ộc loại ứng dụng với thời gian thực hiện là 06 tháng, tôi giới hạn nghiên cứu các vấn đề sau: - Xây ựng phương pháp biể iễn văn bản ưới ạng vec-tơ và áp ụng th ật toán k- áng giềng phục vụ cho hệ thống phân oại tin tức. - Đánh giá giải pháp đề x ất trên cơ sở tích hợp vào hệ thống phân oại tin tức. 5. Phương pháp nghiên cứu Phương pháp lý thuyết - Tiến hành th thập và nghiên cứ các tài iệ có iên q an đến đề tài. - So sánh, đánh giá các phương pháp phân oại tin tức. Phương pháp thực nghiệm - Nghiên cứ và khai thác các công cụ phần mềm hỗ trợ. - Nghiên cứ đề x ất giải pháp tối ư trong việc biể iễn và phân oại văn bản. - Kiểm tra, thử nghiệm, nhận xét và đánh giá kết q ả. 6. Kết luận - Xây ựng được một hệ thống phân oại văn bản tin tức tiếng Việt. - Thiết ập được q y trình phân oại văn bản chặt chẽ, thông s ốt, theo đúng chủ đề, th ận tiện cho việc tìm kiếm, tra cứ , theo õi khi cần thiết. 7. Bố cục của luận văn Dự kiến luận văn được trình bày bao gồm các phần chính như sa : ● MỞ ĐẦU Nê bối cảnh nghiên cứ , ý o chọn đề tài và mục tiê nghiên cứ . ● CHƯƠNG 1: TỔNG QUAN BÀI TOÁN PHÂN LOẠI VĂN BẢN + Khái niệm phân ớp văn bản. + Mô hình phân ớp văn bản ùng tiếp cận học máy + Th thập iệ 4 + Tiền xử ý văn bản + Biể iễn văn bản trong không gian vec-tơ bằng BOW và T -IDF ● CHƯƠNG 2: THUẬT TOÁN K- LÁNG GIỀNG GẦN NHẤT (kNN) Trong chương này trình bày khái niệm về khai phá iệ (Data mining) các th ật toán được ùng trong Data mining, đặc biệt à th ật toán k- láng giềng. Các ư nhược điểm của th ật toán này. ● CHƯƠNG 3: TRIÊN KHAI VÀ ĐÁNH GIÁ HÊ THỐNG Trong chương này trình bày các thử nghiệm được tiến hành, trình bày về tập mẫ , tập thử nghiệm và tập kiểm tra để đánh giá hiệ s ất của th ật toán. ● KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ● TÀI LIỆU THAM KHẢO 5 CHƯƠNG 1: TỔNG QUAN BÀI TOÁN PHÂN LOẠI VĂN BẢN 1.1. Khái niệm phân lớp văn bản 1.1.1. Khái niệm Phân lớp văn bản(Text classification) là quá trình gán nhãn(tên lớp / nhãn lớp) các văn bản ngôn ng tự nhiên một cách tự động vào một hoặc nhiều lớp cho truớc. Phân lớp văn bản à bài toán cơ bản trong khai phá d liệ văn bản. Bài toán phân lớp văn bản là việc gán tên các chủ đề (tên lớp/nhãn lớp) đã được xác định trước, vào các văn bản dựa trên nội dung của chúng. Phân lớp văn bản là công việc được sử dụng để hỗ trợ trong quá trình tìm kiếm thông tin, chiết lọc thông tin, lọc văn bản hoặc tự động dẫn đường cho các văn bản tới nh ng chủ đề xác định trước. Phân lớp văn bản có thể thực hiện thủ công hoặc tự động sử dụng các kỹ thuật học máy có giám sát. Các hệ thống phân lớp có thể ứng dụng trong việc phân loại tài liệu của các thư viện điện tử, phân loại văn bản báo chí trên các trang tin điện tử… nh ng hệ thống tốt, cho ra kết quả khả quan, giúp ích nhiề cho con người[5]. Hình 1.1 Bài toán phân lớp văn bản theo chủ đề. Thông thường, các lớp cho truớc là các chủ đề nào đó, nh ng cũng có nhiều ứng dụng mà các lớp đ ợc thiết lập theo nh ng tiêu chí khác, nhu phân lớp theo độ ưu tiên, phân lớp theo chủ đề... Hầu hết các bài toán này sẽ tốn rất nhiều thời 6 gian, công sức và đôi khi không chính xác nế được phân loại một cách thủ công - tức à đọc từng văn bản và gán vào một lớp nào đó. Đặc biệt với số lượng tài liệu cần phân lớp cực kỳ lớn nhu hiện nay thì việc phân lớp thủ công là một điều không thể. Phân loại nh ng đối tuợng mới vào các lớp bằng phương pháp thủ công gặp phải nh ng khó khăn sa : - Đối với các ĩnh vực đặc biệt, phân loại các đối tuợng mới (như cơ sở d liệu về y tế, pháp luật, tài chính, ngân hàng... ) vào các lớp cho truớc cần có hiểu biết về các ĩnh vực đó. - Phân loại bằng tay đôi khi không chính xác vì q yết định phụ thuộc vào sự hiểu biết và động cơ của nguời thực hiện. - Quyết định của hai chuyên gia khác nhau có thể nảy sinh bất đồng ý kiến. Vì vậy nh ng công cụ để tự động phân lớp văn bản vào các lớp sẽ rất h u ích với công việc này nhất là khi thông tin tràn ngập như ngày nay. Một số phuong pháp phân lớp thống kê và kĩ th ật học máy như Bayesian, máy vector hỗ trợ (Support Vector Machines), K láng giềng gần nhất, mạng noron... đ ợc áp dụng để giải quyết bài toán này. Chính vì nh ng nhuợc điểm của phương pháp thủ công nên việc xây dựng một bộ phân lớp văn bản tự động là một điều rất quan trọng và cần thiết, đặc biệt là khi hầu hết các thông tin đ ợc sinh ra và luu tr điện tử. Các bài báo khoa học và giải trí là nh ng ví dụ về tập các tài liệ điện tử. Với sự phát triển ngày càng mạnh mẽ của mạng internet và intranet đã tạo ra nguồn thông tin vô cùng phong phú. Các kỹ thuật phân lớp văn bản sẽ giúp cho nguồn d liệ này đã đ ợc lư tr tự động một cách hiệu quả và đ ợc tìm kiếm nhanh chóng. Phân lớp văn bản đ ợc xuất hiện từ nh ng năm 1960, nhưng chỉ 15 năm sa , nó đã trở thành ĩnh vực nghiên cứu chính trong hệ thống thông tin bởi sự đa dạng của các ứng dụng. Phân lớp văn bản là công việc đ ợc sử dụng để hỗ trợ trong quá trình tìm kiếm thông tin (Information Retrieval), chiết lọc thông tin (Information Extraction), lọc văn bản hoặc tự động dẫn đường cho các văn bản 7 tới nh ng chủ đề xác định truớc. Một ứng dụng khác của phân lớp văn bản là trong ĩnh vực hiể văn bản. Phân lớp văn bản có thể đ ợc sử dụng để lọc văn bản hoặc một phần văn bản chứa d liệu cần tìm mà không làm mất đi tính phức tạp của ngôn ng tự nhiên. 1.1.2. Phân loại bài toán phân lớp văn bản Tùy vào nh ng ràng buộc khác nha để phân loại bài toán phân lớp văn bản. Nhìn chung có thể phân biệt bài toán phân lớp theo hai cách sau: - Phân lớp văn bản nhị phân / đa ớp: Bài toán phân lớp văn bản được gọi là nhị phân nếu số lớp là 2, gọi à đa ớp nếu số lớp lớn hơn 2. - Phân lớp văn bản đơn nhãn / đa nhãn: Bài toán phân lớp văn bản được gọi à đơn nhãn nếu mỗi tài liệ được gán vào chính xác một lớp. Bài toán phân lớp văn bản được gọi à đa nhãn nếu một tài liệu có thể được gán nhiề hơn một nhãn. Trên thực tế, phân lớp hai lớp (phân lớp nhị phân) chỉ là một trường hợp đặc biệt của bài toán phân lớp song do xuất xứ cho nên phân lớp nhị phân có vị trí riêng cả về đặt bài toán lẫn về các giải pháp. 1.2. Mô hình phân lớp văn bản dùng tiếp cận học máy Th ật ng học máy đề cập đến việc phát hiện tự động có ý nghĩacác mẫ trong iệ .Học máy à ập trình máy tính để họ có thể "tìm hiể " từ đầ vào có sẵn cho máy tính. Đầ vào của th ật toán học máy à iệ h ấn yện chứa các kiến thức, tri thức mà chúng ta cần cho máy học. Đầ ra chính à các thông số được tính toán trong q á trình học máy mà chúng ta có thể sử ụng để àm các việc khác phục vụ cho mục đích mà chúng ta m ốn máy thực hiện thông q a việc học máy[8]. Phân ớp văn bản được các nhà nghiên cứ định nghĩa thống nhất như à việc gán tên các chủ đề (tên ớp / nhãn ớp) đã được xác định cho trước vào các văn bản text ựa trên nội ng của nó. Phân ớp văn bản à công việc được sử ụng để hỗ trợ trong q á trình tìm kiếm thông tin (Information Retrieva ), chiết ọc 8 thông tin (Information Extraction), ọc văn bản hoặc tự động ẫn đường cho các văn bản tới nh ng chủ đề xác định trước. Để phân oại văn bản, người ta sử ụng phương pháp học máy có giám sát. Tập à tập h ấn iệ được chia ra àm hai tập yện và tập kiểm tra, trước hết phải xây ựng mô hình thông q a các mẫ học bằng các tập h ấn yện, sa đó kiểm tra sự chính xác bằng tập iệ kiểm tra. Hình 1.2 Sơ đồ khung một hệ thống phân lớp văn bản dùng Học máy. Hình trên biể iễn một sơ đồ kh ng một hệ thống phân ớp văn bản, trong đó bao gồm ba thành phần chính: - Biể iễn văn bản, tức à ch yển các iệ văn bản thành một ạng có cấ trúc nào đó, tập hợp các mẫ cho trước thành một tập h ấn yện. - Thực hiện việc sử ụng các kỹ th ật học máy để học trên các mẫ h ấn luyện vừa biể iễn. Như vậy việc biể cho giai đoạn thứ hai. iễn ở giai đoạn thứ nhất sẽ à đầ vào 9 - Thực hiện bổ s ng các kiến thức thêm vào o ng ời ùng c ng cấp để àm tăng độ chính xác trong biể iễn văn bản hay trong q á trình học máy. Trong nhiề tr ờng hợp, các ph ơng pháp học hệ thống phân ớp có thể bỏ q a thành phần này. Như vậy thành phần thứ ba đ ợc coi à tr ng tâm của một hệ thống phân ớp văn bản. Trong phần này, có nhiề ph ơng pháp học máy đ ợc áp ụng như mô hình mạng Bayes, cây q yết định, phương pháp K áng giềng gần nhất, mạng Neuron, SVM, mô hình Maximum Entropy. 1.3. Th thập iệ Để đảm bảo tính đa ạng của các nguồn d liệu, tôi thu thập các bài viết từ 10 trang web điện tử phổ biến nhất của Việt Nam (dựa trên http://alexa.com). - Daikynguyenvn.com - Zing.vn - Vnexpress.net - 24h.com.vn - Kenh14.vn - Nguoiduatin.vn - Dantri.com.vn - Vietnamnet.vn - Tuoitre.vn - Tinhte.vn Mỗi trang được chia thành 20 chủ đề chính. Các chủ đề bao gồm: Tin tức, Thế giới, Văn hóa - Văn học, Cuộc sống, Y tế, Khoa học - Công nghệ, Kinh tế, Thể thao, Du lịch, Âm nhạc, Phim, Luật, Tự động - Moto, Thời trang, Trẻ sống, Giáo dục, Nói chuyện, Quảng cáo, Khám phá, Sao. 1.3.1.Trình thu thập thông tin web Một trình thu thập d liệ web, đôi khi được gọi là một spider, là một 10 chương trình tự động chạy trên internet có hệ thống duyệt world wide web, thường cho mục đích ập chỉ mục web. Hình 1.3 Kiến trúc của trình thu thập dữ liệu web. Trong luận án của tôi, tôi đã sử dụng thư viện scrapy, một trong nh ng thư viện tìm kiếm python phổ biến và mạnh mẽ nhất, để trích xuất d liệu một cách hiệu quả từ các nguồn d liệu. nó hiện đang được duy trì bởi scrapinghub ltd., một công ty phát triển và dịch vụ web. Kiến trúc dự án sơ sài được xây dựng xung quanh ' spider ', là trình thu thập thông tin độc lập được cung cấp một bộ hướng dẫn. theo tinh thần của người khác không lặp lại các khuôn khổ của chính mình, nó giúp việc xây dựng và quy mô các dự án thu thập d liệu lớn dễ àng hơn bằng cách cho phép sử dụng lại mã của họ. 1.3.2. Thống kê dữ liệu Kết quả à, tôi đã th thập các bài viết khác nhau từ các trang web điện tử tiếng Việt. 11 Hình 1.4 Số bài báo được thu thập theo chủ đề. 1.4. Tiền xử ý văn bản Bước đầu tiên và không thể thiếu trong việc xử lý ngôn ng tự nhiên là tiền xử ý. Vì văn bản vốn ĩ được liệt kê mà không có cấ trúc, để nguyên vậy để xử lý là rất khó khăn. Đặc biệt là loại văn bản trên web có lẫn các HTML tag, co e JS, đó chính à noise.Vì vậy, ta phải biến đổi các tài liệu sang một khuôn dạng phù hợp với các giải thuậtphân loại. Phép xử ý như vậy được gọi là tiền xử ý văn bản (text preprocessing). Ch “tiền” ở đây m ốn nói rằng đây à một pha được thực hiện trước, chuẩn bị nguyên liệucần thiết cho pha học hàm phân loại hoặc phân loại. Bước tiền xử lý nhìn chung sẽ được mô tả tóm tắt như sa : 12 Có 4 bước tiền xử lý: Hình 1.5. Các bước tiền xử lý văn bản. 1.4.1. Làm sạch Mục đích bước này là loại bỏ nhiễu trong ata. Đa phần nhiễu là các thẻ HTML, JavaScript, và đương nhiên nếu cứ để nhiễu để tiến hành xử lý sẽ dẫn đến kết quả xử lý không tốt. Ví dụ đơn giản như sa : Hình 1.6. Ví dụ bước làm sạch văn bản. Thông thường chúng ta hay loại bỏ nhiễu là các thẻ HTML và JS như trên tuy nhiên thực tế nhiễu có thể không chỉ à HTML, JS, cũng có thể là nh ng cụm từ không cần thiết, hay ký tự không có ý nghĩa ($%&##"). dụng trang web https://regex101.com/ để loại bỏ. Có thể sử 13 Trong python, có 2 thư viện để sử dụng trong việc làm sạch từ: BeautifulSoup và lxml. 1.4.2. Tách từ Trong tiếng Việt, dấ cách (space) không được sử dụng như một kí hiệu phân tách từ, nó chỉ có ý nghĩa phân tách các âm tiết với nhau. Vì thế, để xử lý tiếng Việt, công đoạn tách từ (word segmentation) là một trong nh ng bài toán cơ bản và quan trọng bậc nhất[6]. Ví dụ : từ “đất nước” được tạo ra từ 02 âm tiết “đất” và “nước”, cả 02 âm tiết này đề có nghĩa riêng khi đứng độc lập, nhưng khi ghép ại sẽ mang một nghĩa khác. Vì đặc điểm này, bài toán tách từ trở thành 1 bài toán tiền đề cho các ứng dụng xử lý ngôn ng tự nhiên khác như phân oại văn bản, tóm tắt văn bản, máy dịch tự động, … Như ví ụ sau: Hình 1.7. Ví dụ tách từ. Tách từ chính xác hay không là công việc rất quan trọng, nếu không chính xác rất có thể dẫn đến việc ý nghĩa của câu sai, ảnh hưởng đến tính chính xác của chương trình. 14 Có nhiề phương pháp để thực hiện tách từ được giới thiệu tại [11]. 1.4.3. Chuẩn hóa từ Mục đích à đưa văn bản từ các ạng không đồng nhất về cùng một ạng. Dưới góc độ tối ư bộ nhớ ư tr và tính chính xác cũng rất q an trọng. Ví ụ: U.S.A = USA Ví ụ trong từ điển, iệ h ấn yện của chúng ta không có U.S.A, chỉ có USA, thì việc đổi nh ng từ như U.S.A về USA à điề cần thiết để các bước xử ý sa như phân oại văn bản, phát hiện chủ đề được chính xác. Có nhiề cách viết, mỗi cách viết khi ư tr sẽ tốn ượng bộ nhớ khác nha , như ha f size chỉ tốn 1/2 ng ượng so với f size nên t ỳ theo nh cầ , tình hình thực tế, chúng ta sẽ đưa văn bản về một ạng đồng nhất. Ngoài ra trong một vài trường hợp, nế ký tự số không mang ại ợi ích gì thì cũng sẽ tiến hành oại bỏ các ký tự số đó, nế cứ để ng yên rất có thể các ký tự số sẽ trở thành nhiễ , ảnh hưởng đến tính chính xác của mô hình sau này. 1.4.4. Loại bỏ StopWords StopWords là nh ng từ xuất hiện nhiều trong ngôn ng tự nhiên, tuy nhiên lại không mang nhiề ý nghĩa. Ở tiếng việt StopWords là nh ng từ như: để, này, kia... Ư điểm của phép xử lý này không phải chỉ là các từ không có ý nghĩa sẽ bị loại bỏ và không can thiệp vào quá trình phân loại về sa , mà kích thước của các file tài liệu sẽ giảm đi khoảng 30 đến 50 phần trăm. Một số StopWords của tiếng Việt: Tải về bản full

Từ khóa » Thuật Toán K Láng Giềng Gần Nhất