1. Trang chủ
  2. » Luận Văn - Báo Cáo

PHÂN LOẠI DỮ LIỆU BÁO CHÍ TRỰC TUYẾN ĐỂ ĐIỀU HƯỚNG THÔNG TIN THEO THỊ HIẾU ĐỘC GIẢ

53 1,1K 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 53
Dung lượng 1,21 MB

Nội dung

Nội dung luận văn gồm 3 chương: Nội dung đồ án được trình bày thành ba chương theo cấu trúc như sau: Chương 1: Tổng quan về bài toán phân loại dữ liệu báo chí trực tuyến Trình bày tổng q

Trang 1

LUẬN VĂN THẠC SĨ KỸ THUẬT

NGƯỜI HƯỚNG DẪN KHOA HỌC: TS NGUYỄN MẠNH HÙNG

HÀ NỘI – 2015

Trang 2

Tôi cam đoan đây là công trình nghiên cứu của riêng tôi.

Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bốtrong bất kỳ công trình nào khác

TÁC GIẢ LUẬN VĂN

ĐỖ DUY TIẾN

Trang 3

rất nhiều những sự quan tâm giúp đỡ, hưỡng dẫn tận tình của các thầy cô cùng vớinhững lời động viên khuyến khích từ phía gia đình, bạn Tôi xin bày tỏ lời cảm ơnchân thành đến tất cả mọi người.

Tôi xin tỏ lòng biết ơn sâu sắc đến thầy Nguyễn Mạnh Hùng đã tận tìnhhướng dẫn, định hướng cho tôi trong quá trình thực hiện đề tài Thầy cho tôinhững lời khuyên, chỉ dẫn, truyền đạt cho tôi những kiến thức, kinh nghiệm vềviệc thực hiện đồ án

Tôi xin cảm ơn các thầy cô trong khoa Quốc tế và đào tạo sau đại học, họcviện Công nghệ Bưu chính Viễn thông đã tận tình dạy dỗ và cho tôi những kiếnthức bổ ích trong suốt quá trình hai năm học tập, giúp tôi nâng cao được chuyênmôn, làm nền tảng để tôi có thể hoàn thành khóa luận, cũng như tự tin phát triểncông việc sau này

Cuối cùng, tôi muốn gửi lời cảm ơn tới gia đình và bạn bè, những người thân

đã luôn ở bên, cảm thông, hỗ trợ, giúp đỡ tôi những khó khăn trong công việc,cuộc sống cũng như trong quá trình học tập

Hà Nội, tháng 12 năm 2015

Đỗ Duy Tiến

Trang 4

MỤC LỤC

Trang 5

DANH MỤC HÌNH VẼ VÀ SƠ ĐỒ

Trang 6

DANH MỤC BẢNG BIỂU

Trang 7

MỞ ĐẦU

Ngày nay, công nghệ ngày càng phát triển, internet được phủ sóng khắp mọinơi Nhà nhà, người người đều sở hữu những thiết bị di động như điện thoại, máytính bảng… để cập nhật thường xuyên những thông tin, sự kiện diễn ra trên toàn thếgiới Tuy nhiên, lượng thông tin quá nhiều, lại lộn xộn, không có sự sắp xếp khiếnmọi người gặp khó khăn trong việc thu thập Mỗi ngày họ phải săn tìm những thôngtin hữu ích, những kiến thức mà họ mong muốn trong một đống dữ liệu khổng lồdẫn tới việc bỏ sót những thông tin quý giá hay tiêu phí quá nhiều thời gian vàonhững thông tin không cần thiết

Vấn đề này được đặt ra như một thách thức lớn đối với những website báođiện tử Việc có thể cung cấp những thông tin hữu ích đối với từng đối tượng độcgiả đang ngày càng trở nên cấp bách Tuy nhiên, điều khó khăn nhất mà các websitebáo điện tử đang gặp phải là số lượng độc giả quá lớn, khối lượng thông tin quánhiều, việc phân loại thủ công gần như không thể Đòi hỏi phải có một hệ thống cóthể tự động thu thập, phân tích và phân loại bạn đọc, phân loại thông tin Do đó, tôi

lựa chọn đề tài: “Phân loại dữ liệu báo chí trực tuyến để điều hướng thông tin

theo thị hiếu độc giả” nhằm tìm hiểu và xây dựng một quá trình thu thập, phân tích

dữ liệu bạn đọc để từ đó phân loại ra thành các nhóm nhỏ, sau đó rút trích nhữngthông tin hữu ích phù hợp với từng nhóm riêng biệt đó

Nội dung luận văn gồm 3 chương:

Nội dung đồ án được trình bày thành ba chương theo cấu trúc như sau:

Chương 1: Tổng quan về bài toán phân loại dữ liệu báo chí trực tuyến

Trình bày tổng quan về phân loại dữ liệu báo chí trực tuyến: phân loạiđộc giả và tin tức theo loại độc giả cùng với các hướng tiếp cận để giải quyếtbài toán

Chương 2: Thuật toán K – láng giềng gần nhất

Trang 8

Trình bày cơ sở lý thuyết của thuật toán K – láng giềng gần nhất Từ

đó áp dụng vào để giải quyết bài toán phân loại tin tức bài báo theo thị hiếuđộc giả

Chương 3: Phân loại dữ liệu báo chí trực tuyến để điều hướng thông tin theo thị hiếu độc giả

Trình bày cụ thể về quá trình thực hiện việc xây dựng hệ thống phânloại dữ liệu báo chí theo thị hiếu độc giả: cơ sở dữ liệu, ứng dụng, các bướcthực nghiệm và kết quả đạt được Từ đó đưa ra các phân tích, nhận xét

Kết luận và hướng phát triển

Trình bày tóm tắt những kết quả đã đạt được và chưa đạt được Từ đó

đề xuất mục tiêu cũng như hướng nghiên cứu, phát triển tiếp theo

Trang 9

CHƯƠNG 1: TỔNG QUAN VỀ BÀI TOÁN PHÂN LOẠI DỮ

LIỆU BÁO CHÍ TRỰC TUYẾN

Chương này trình bày tổng quan về bài toán phân loại báo chí trực tuyến theo thị hiếu độc giả Từ đó, luận văn sẽ đưa ra các hướng tiếp cận để giải quyết bài toán

1.1. Bài toán phân loại dữ liệu báo chí trực tuyến

1.1.1. Phân loại dữ liệu tin tức báo chí

Cùng với sự phát triển vượt bậc của công nghệ thông tin và nhu cầu sử dụngInternet của con người đã làm tăng vọt lượng thông tin giao dịch trên Internet Vìvậy mà văn bản điện tử tăng lên nhanh về số lượng và chủ đề đặc biệt là thư việnđiện tử, tin tức điện tử trên mạng toàn cầu… Báo điện tử cho phép mọi người trênkhắp thế giới tiếp cận tin tức nhanh chóng không phụ thuộc vào không gian và thờigian, tin tức trên báo điện tử được cập nhật thường xuyên và thông tin từ nhiềunguồn khác nhau

Với lượng thông tin đồ sộ như vậy, một yêu cầu lớn đặt ra là làm sao tổ chức

và tìm kiếm tin tức với số lượng lớn và từ nhiều nguồn khác nhau đó vào các chủ đềtương ứng mà vẫn đảm bảo tính chất “nhanh, cập nhật kịp thời” nhưng phải đảmbảo một cách chính xác, có hiệu quả nhất Phân loại thông tin là một trong nhữnggiải pháp hợp lý cho yêu cầu trên Nhưng một thực tế cho thấy là khối lượng thôngtin quá lớn, việc phân loại dữ liệu thủ công là điều vô cùng khó khăn, không thểthực hiện bởi bàn tay con người vì số lượng tin tức lớn, dẫn đến cần nhiều nhân lựcgây tốn kém và có thể phân loại không chính xác Hướng giải quyết cho việc này làxây dựng một chương trình phân loại thông tin tự động bằng máy tính Vậy phânloại thông tin bằng cách nào là hiệu quả nhất giúp người đọc có thể lấy được các tintức cần thiết nhất Luận văn sẽ sử dụng phân loại tin tức theo các nhóm tin mà độcgiả hay đọc

Trang 10

Chúng ta đưa bài toán phân loại báo chí tiếng Việt về bài toán phân lớp vănbản tiếng Việt Phân lớp văn bản là bài toán cơ bản trong khai phá dữ liệu 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ănbản dựa trên nội dung của chúng Ở đây, tên các chủ đề sẽ được xác định theo phânloại các nhóm độc giả Ví dụ như, sẽ phân loại các tin tức vào các nhóm độc giảthích đọc báo thế giới, xã hội, văn hóa, tình yêu …

1.1.2. Phân loại độc giả của một website báo chí

Xu hướng "điện tử hóa" báo chí ngày càng mạnh hơn Báo điện tử có tác

dụng và tiện ích hơn hẳn các loại hình báo chí truyền thống, dung lượng thông tinrất lớn, tương tác thông tin nhanh, phát hành không bị trở ngại về không gian, thờigian, biên giới quốc gia Với báo điện tử, độc giả có thể truy cập được tin tức ở bất

kỳ đâu không phụ thuộc vào môi trường làm việc miễn là máy tính, điện thoại của

họ có kết nối Internet và có cài đặt một trình duyệt web tuân thủ tiêu chuẩn

Ngược lại thời điểm khi mà số lượng blog, số lượng các trang báo điện tửtrên Internet chưa nhiều và không phải ai cũng được tiếp cận Internet để đọc báo,khi ấy chúng ta sẽ rất dễ dàng tập hợp các số liệu và đưa ra các kết luận về thóiquen của độc giả Nhưng bây giờ thì sao? Có hàng triệu người truy cập vào cáctrang báo điện tử mỗi ngày Do đó, việc đưa ra các kết luận thói quen của mỗi độcgiả là không thể Vậy nên, luận văn tiến hành phân loại độc giả vào các nhóm, mỗinhóm độc giả sẽ có chung một thói quen, một sở thích, một nhóm tin tức quan tâm(ví dụ như nhóm bạn đọc tin xã hội, nhóm bạn đọc tin thế giới,…) Việc làm nàykhông những giúp các nhà quản trị trang báo quản lý độc giả một cách dễ dàng màcòn hỗ trợ độc giả cập nhật tin tức nhanh và kịp thời

Kết hợp việc phân loại độc giả và phân loại dữ liệu tin tức vào các nhóm độcgiả, luận văn sẽ trình bày cách xây dựng ứng dụng hỗ trợ độc giả đọc báo Đối vớimỗi độc giả khi truy cập vào website đọc báo, hệ thống sẽ xác định được độc giả

Trang 11

thuộc nhĩm bạn đọc nào và từ đĩ sẽ hiển thị các tin tức đã được phân vào nhĩm độcgiả đĩ và hiển thị lên.

1.1.3. Những thách thức trong việc phân loại

Tiếng Việt là ngơn ngữ đơn lập, khơng biến hình, các ký tự được dựa trên hệchữ cái Latin Văn bản tiếng Việt đặt dấu cách giữa các âm tiết chứ khơng phải giữacác từ Một từ tiếng Việt cĩ thể được tạo bởi, hai hoặc nhiều âm tiết nên cĩ nhiềucách phân chia các âm tiết thành các từ, gây ra nhập nhằng Khi cho một câu trongtiếng Việt, việc tách các âm tiết thành các từ riêng biệt là một cơng việc cần thiếtnhưng thật sự khơng đơn giản

Việc tách từ cần phải chính xác vì đối với các bước xử lý sau như phân tíchngữ pháp, ngữ nghĩa, một từ bị tách sai cĩ ảnh hưởng tồn bộ đến cách phân tích cảcâu Từ đĩ dẫn đến sai số trong quá trình tính tốn khoảng cách giữa các văn bảnvới nhau

1.2. Hướng tiếp cận giải quyết bài tốn dựa vào các thuật tốn học máy

Để giải quyết bài tốn trên đã cĩ rất nhiều phương pháp được đưa ra như:thuật tốn Nạve Bayes, K-NN (K-Nearest Neighbor) [2], cây quyết định (DecisionTree) [6], mạng Neuron nhân tạo (Artificial Neural Network) và SVM (SupportVector Machine) [5] Nhìn chung, mỗi phương pháp đều cho kết quả chấp nhậnđược cho bài tốn này Tuy nhiên để đi đến những biện pháp triển khai khả thi thìvẫn cần đẩy mạnh nghiên cứu Trong phần này chúng ta sẽ nghiên cứu một sốphương pháp nĩi trên

1.2.1. Phân lớp dựa trên bài tốn Nạve Bayes

Nạve Bayes (NB) là phương pháp phân loại dựa vào xác suất được sử dụngrộng rãi trong lĩnh vực học máy [5] Phương pháp này thích hợp với những lớp bàitốn địi hỏi phải dự đốn chính xác lớp của mẫu cần kiểm tra dựa trên những thơngtin từ tập huấn luyện ban đầu Bài tốn phân loại văn bản [5] ở đây là một ví dụ điểnhình cho phương pháp này

Trang 12

Bước 1: Huấn luyện

 Các vector đặc trưng của văn bản trong tập huấn luyện (Ma trận MxN, với M

là số vector đặc trưng trong tập huấn luyện, N là số đặc trưng của vector)

 Tập nhãn/lớp cho từng vector đặc trưng của tập huấn luyện

Thực hiện tính xác xuất P(ci):

Trong đó:

 : số văn bản của tập huấn luyện thuộc phân lớp i

 T: số văn bản trong tập huấn luyện

 Số văn bản của tập huấn luyện thuộc phân lớp i

 Số giá trị có thể có của đặc trưng thứ k

Bước 2: Phân lớp

Công thức tính xác suất thuộc phân lớp i khi biết trước mẫu X

Dựa vào vector đặc trưng của văn bản cần phân lớp, áp dụng công thức trêntính xác suất thuộc từng phân lớp cho văn bản, và chọn ra lớp có xác suất cao nhất

1.2.2. Phân lớp dựa trên thuật toán K - Nearest Neighbor (K-NN)

Trang 13

Thuật toán phân lớp K-NN là một phương pháp truyền thống và khá nổitiếng trong hướng tiếp cận dựa trên thống kê, đã được nghiên cứu trong nhận dạngmẫu trong vài thập kỷ gần đây [5] Nó được đánh giá là một trong những phươngpháp tốt nhất và được sử dụng ngay từ những thời kỳ đầu của phân lớp văn bản.Bài toán như sau:

Để phân lớp cho một dữ liệu mới x, trước hết chúng ta phải tính khoảng cáchcủa x đến các điểm dữ liệu trong tập huấn luyện theo các công thức tính khoảngcách như là Euclide, Cosine…như sau:

- Khoảng cách Euclid giữa hai điểm p và q là chiều dài đoạn thẳng Trong hệtọa độ Descartes, nếu p = (p1, p2, , pn) và q = (q1, q2, , qn) là hai điểmtrong không gian Euclid n chiều, thì khoảng cách từ p đến q bằng:

- Độ đo cosine : sim( x, di) độ giống nhau giữa văn bản cần phân loại x và vănbản d Sử dụng độ đo cosine để tính :

Sau khi tính ra khoảng cách của x đến các dữ liệu trong tập huấn luyện, ta sẽ chọn ra được k điểm dữ liệu mẫu có khoảng cách đến x là gần nhất Và x sẽ được phân vào lớp cùng với lớp của đại đa số trong k điểm dữ liệu mẫu kia

1.2.3. Phân lớp dựa vào thuật toán cây quyết định

Trong lĩnh vực học máy, cây quyết định là một kiểu mô hình dự báo(predictive model), nghĩa là một ánh xạ từ các quan sát về một sự vật/hiện tượng tớicác kết luận về giá trị mục tiêu của sự vật/hiện tượng Mỗi một nút trong (internalnode) tương ứng với một biến; đường nối giữa nó với nút con của nó thể hiện mộtgiá trị cụ thể cho biến đó Mỗi nút lá đại diện cho giá trị dự đoán của biến mục tiêu[2]

Trang 14

- Nút gốc bao gồm tập M bao gồm tất cả các mẫu.

- Nếu các mẫu thuộc về cùng 1 lớp, nút trở thành nút là và gán nhãn bằnglớp đó

- Dùng độ đo thuộc tính để chọn thuộc tính sẽ phân tách tốt nhất các mẫuvào các lớp đó Ở đây chúng ta sử dụng độ đo Entropy chính là đặc trưngcho độ hỗn (tinh khiết) của một tập bất kỳ các mẫu thử:

Trong đó:

o S: tập các mẫu thử (tập huấn luyện)

o c: phân lớp trong mẫu thử

o : xác suất các mẫu thử thuộc phân lớp ci

- Một nhánh được tạo cho từng giá trị của thuộc tính được chọn và các mẫuđược phân hoạch theo

- Dùng đệ quy cùng một quá trình để tạo cây quyết định

- Tiến trình kết thúc khi tất cả các mẫu cho 1 nút cho trước đều thuộc cùng

về 1 lớp hoặc không còn thuộc tính mẫu nào có thể dựa vào để phânhoạch xa hơn

Trang 15

1.2.4. Phân lớp sử dụng Support Vector Machines (SVM)

Máy vectơ hỗ trợ (SVM - viết tắt tên tiếng Anh support vector machine) làmột khái niệm trong thống kê và khoa học máy tính cho một tập hợp các phươngpháp học có giám sát liên quan đến nhau để phân loại và phân tích hồi quy SVMdạng chuẩn nhận dữ liệu vào và phân loại chúng vào hai lớp khác nhau [3]

Nôi dung của phương pháp này như sau:

- Cho trước một tập huấn luyện, được biểu diễn trong không gian vector,trong đó mỗi tài liệu là một điểm, phương pháp này tìm ra một siêu phẳngquyết định tốt nhất có thể chia các điểm trên không gian này thành hailớp riêng biệt tương ứng là lớp + và lớp -

- Chất lượng của siêu phẳng này được quyết định bởi khoảng cách (gọi làbiên) của điểm dữ liệu gần nhất của mỗi lớp đến mặt phẳng này Khi đó,khoảng cách biên càng lớn thì mặt phẳng quyết định càng tốt, đồng thờiviệc phân loại càng chính xác

Hình 1.1: Siêu mặt phẳng phân chia dữ liệu huấn huyện [3]

Ở hình trên, dữ liệu được chia thành hai lớp + và – với khoảng cách biên lớn nhất Các điểm gần nhất (được khoanh trong) là các vector hỗ trợ - Suport Vector

1.3. Các nghiên cứu giải quyết bài toán với ngôn ngữ Tiếng Việt

Trang 16

Chúng ta đưa bài toán phân loại nội dung các bài báo tiếng Việt về bài toánphân loại văn bản tiếng Việt Phân loại văn bản là một bài toán xử lí văn bản cổđiển, đó là ánh xạ một văn bản vào một chủ đề đã biết trong một tập hữu hạn cácchủ đề dựa trên ngữ nghĩa của văn bản Ví dụ một bài viết trong một tờ báo có thểthuộc một (hoặc một vài) chủ đề nào đó (như thể thao, sức khỏe, công nghệ thôngtin…).

Do đó để công việc phân loại văn bản cần chính xác và đáp ứng được cácyêu cầu sau:

- Các văn bản trong nhóm đã được phân loại phải có những tiêu chuẩn chung

- Các văn bản khi phân tích phải “hiểu” được nội dung để xác định được cáctiêu chuẩn trong văn bản

- Việc xác định loại của văn bản khi so sánh với các nhóm văn bản yêu cầuphải có những định lượng xác định để xác định chính xác văn bản cần phântích thuộc nhóm văn bản nào

Sơ đồ mô tả quy trình thực hiện phân loại văn bản:

Hình 1.2: Quy trình thực hiện phân loại văn bản

1.3.1. Tiền xử lý văn bản

Đây là bước khá quan trọng trước khi tiến hành phân loại văn bản Các vănbản cần phải được tiền xử lý loại bỏ những cái không cần thiết vừa để làm giảmkích thước văn bản và làm nổi bật lên nội dung chính của nó Sau khi được xử lý, ta

Tiền xử lý văn bản

Tách từ, tính trọng số

Tập dữ liệu huấn luyên

Văn bản được

phân loại

Áp dụng thuật toán

Trang 17

nhận được các câu với đúng bản chất ngữ pháp của nó Quá trình này sẽ giúp nângcao hiệu suất phân loại văn bản và làm giảm độ phức tạp của thuật toán.

a. Đưa các bài báo về dạng text và tách văn bản thành các câu riêng biệt

Như chúng ta đã biết, các bài báo điện tử có chuẩn HTML bao gồm các thẻ(tag) [5] định dạng cho các thành phần nội dung trong trang báo và phần nội dung.Nếu cứ để nguyên cấu trúc như vậy thì sẽ rất khó để tiến hành phân loại Nên việcloại bỏ các thẻ là thực sự cần thiết Chúng ta sẽ tách phần nội dung tin tức ra bằngcách bỏ các HTML tag và đưa nó về dạng text để dễ dàng xử lý

Sau khi chuyển các văn bản về định dạng text, các văn bản này sẽ đượctách thành các câu riêng biệt Việc làm này sẽ giúp chúng ta không phải lo lắng vềviệc làm sai nội dung văn bản, làm sai nội dung của các câu khi chúng ta thực hiệnloại bỏ các ký tự đặc biệt và các từ dừng Đoạn văn bản sẽ được duyệt tuần tự và

sẽ được cho ngắt câu khi gặp các ký tự ngắt câu như “.” (chấm), “!” (chấm than),

“?” (chấm hỏi), với điều kiện: ký tự tiếp theo (có thể có các ký tự “khoảng trắng”

ở giữa) là ký tự viết in

Cách làm trên loại bỏ được các trường hợp không phải ngắt câu như:

- Dấu “.” không phải là ngắt câu mà là dấu trong 1 chuỗi số Có đượcđiều này vì nếu là “dấu chấm” trong chuỗi số thì ký tự tiếp theo phải

là số, không phải ký tự viết in

- Dấu “.” trong một loạt “dấu ba chấm” bên trong câu, chưa phải là cuốicâu

Lấy một số ví dụ:

- Đoạn văn bản “Hôm nay là một ngày đẹp trời Chúng ta sẽ đi cắm trạingoài trời” Ta sẽ tách được thành 2 câu là “ Hôm nay là một ngàyđẹp trời.” và “Chúng ta sẽ đi cắm trại ngoài trời”

Trang 18

- Đoạn văn bản “Trong vườn có 1.200 cây các loại, trong đó đa số làcây ăn trái như cam, quýt, đào, lê, mận, … và một số cây cảnh nhưcau, tùng,…” chỉ thuộc một câu

b. Loại bỏ các ký tự đặc biệt

Xuất hiện với tần suất rất lớn trong hầu hết các văn bản, các dấu câu và các

ký tự đặc biệt thì không mang nhiều thông tin hữu ích đặc trưng cho văn bản.Chính vì vậy chúng được coi là nhiễu và cần phải loại bỏ khỏi các câu trong vănbản Cách xử lý vấn đề này rất đơn giản, ta chỉ cần tiến hành thay thế hoàn toàncác các ký tự đặc biệt bằng các dấu trắng [5]

Ví dụ: Xét câu S trong 1 tài liệu:

Do đó, data mining đã chứng tỏ được “tính hữu dụng” của nó trong môi trường kinh doanh đầy tính cạnh tranh ngày nay và được ứng dụng rộng rãi trong các lĩnh vực thương mại, tài chính, điều trị y học, giáo dục, viễn thông

Tiến hành loại bỏ các ký tự đặc biệt trong câu S ta được câu S’:

Do đó data mining đã chứng tỏ được tính hữu dụng của nó trong môi trường kinh doanh đầy tính cạnh tranh ngày nay và được ứng dụng rộng rãi trong các lĩnh vực thương mại tài chính điều trị y học giáo dục viễn thông

c. Loại bỏ các câu ngắn

Như là một phần của bước tiền xử lý, các câu ngắn (ví dụ như các câukhông đủ thông tin về ngữ nghĩa liên quan đến phát hiện sao chép sẵn có) đượcloại bỏ khỏi văn bản do vô tình các tác giả tạo ra cùng một câu ngắn để kết luận,

để biểu đạt điều gì đó [21]

Ví dụ: Hãy xem xét các câu trong 2 tài liệu nhỏ D1 và D2

D1: Nhiều người cho rằng các con chuột Savan có khuynh hướng thường xuyên nhảy ra khỏi vách đá để tự sát tập thể Đây không phải là sự thật.

Trang 19

D2: Người ta có thể giả định rằng phản ứng hóa học này là không xảy ra

do sự cản trở của không gian nguyên tử Đây không phải là sự thật.

Rõ ràng, D1 và D2 là khác nhau về nội dung Tuy nhiên, cùng một câu

“Đây không phải là sự thật” xuất hiện trong cả hai tài liệu được giải thích cho xuhướng của một số từ và câu thường xuyên xuất hiện mà không phụ thuộc vào loạivăn bản nào

Ước tính số lượng trung bình của các từ trong một câu tiếng Việt đa dạngsai khác khoảng 18 đến 25 từ, ở đây ta coi các câu có dưới 12 từ ( bao gồm cả các

từ phổ biến) là ngắn, trong khi khoảng 40% các từ trong câu là các từ dừng, từ nối

Từ nhận xét đó, luận văn loại bỏ các câu ngắn trong một tài liệu có ít hơn 7 từ liêntiếp, các từ xuất phát và chỉ xem xét các câu mang ngữ nghĩa có thông tin chi tiết

cô đọng nhất (còn lại) trong quá trình phân loại văn bản

Sau khi thực hiện các thao tác tiền xử lý với văn bản, ta thu được các câu gọn hơn nhưng vẫn đầy đủ thông tin và đúng bản chất ngữ pháp

1.3.2. Tách từ

a. Tách từ trong câu

Tách từ là vấn đề quan trọng nhất của chương trình, nó quyết định chươngtrình có thể thực hiện đúng và chính xác việc phân loại hay không là nhờ kết quảcủa việc tách từ đúng hay sai Tách các từ từ các câu đã được lấy ra, từ ở đây là từtiếng Việt do đó đây là điều phải lưu ý

- Đầu vào: Câu văn bản

- Đầu ra: Vectơ chứa các từ có nghĩa trong câu

Do đặc điểm từ tiếng Việt (từ đơn, từ ghép…) nên không thể tách từ bằngkhoảng trắng [21] Vậy việc chọn phương pháp để tách từ cũng khá khó khăn

Trang 20

- Đối với một câu văn bản đưa vào sẽ kiểm tra trong dữ liệu có sẵn đã cómẫu câu này chưa, nếu đã có sẽ lấy các mẫu tách từ của mẫu câu này

- Nếu chưa có mẫu câu này thì chương trình sẽ đọc chữ đầu tiên và xemtiếp chữ kế tiếp, nếu chữ đầu tiên và chữ kế tiếp có trong cơ sở dữ liệu thìchương trình sẽ đọc chữ tiếp theo, cứ như vậy cho đến khi đọc chữ tiếptheo mà dãy chữ đó không có trong dữ liệu thì sẽ dừng lại và lấy từ là dãychữ đã đọc được, tức là chương trình sẽ duyệt một ngữ hoặc câu từ tráisang phải và chọn từ có nhiều âm tiết nhất có mặt trong từ điển, rồi cứ thểtiếp tục cho từ kế tiếp cho đến hết câu

- Kiểm tra và loại bỏ các từ có tính chất kết nối, mô tả không có ý nghĩatrong câu (từ stop words) và chỉ giữ lại những từ có ý nghĩa nhất

- Các từ này trước khi được đưa vào phân tích cần phải qua bước kiểm tra

từ đồng nghĩa nhưng khác âm như: túc cầu-bóng đá, địa cầu-trái đất v.v

để quy tất cả các từ này về chung một mẫu thống nhất

b. Loại bỏ các từ dừng (Stop Words)

Từ dừng là khái niệm dùng để chỉ các từ xuất hiện nhiều trong văn bảnnhưng không mang ý nghĩa thể hiện đặc trưng của văn bản như các liên từ, giớitừ , chính vì vậy chúng cũng được coi là nhiễu cần phải được loại bỏ trong cáccâu [21] Việc loại bỏ các stopword giúp chúng ta bỏ đi những thành phần khôngquan trọng nằm trong câu, qua đó góp phần làm giảm bộ nhớ của từ điển trong hệthống Bước này sẽ giảm sự phức tạp của thông tin không mong muốn nên có thểđẩy nhanh quá trình phát hiện sao chép

Trong tiếng Việt do sự đa dạng về nghĩa của từ nên chưa có một tập các từdừng chính thức được công bố Tuy vậy có một số từ chắc chắn là từ dừng mà nóthường đóng vai trò là các từ nối giữa các câu như “do đó”, “vì vậy”, “đại loại”,

“đáng lí”, “ngay lập tức”, “sau cùng”… được tập hợp và sử dụng như tập từ dừngtrong đồ án này

Trang 21

Tùy vào từng loại văn bản mà có những từ đặc trưng riêng không mang ýnghĩa có thể coi như là từ dừng Các từ này xuất hiện nhiều và không mang ýnghĩa, tuy nhiên đó chỉ là xét trong bộ dữ liệu cụ thể Ví dụ trong tập dữ liệu gồmcác đồ án tốt nghiệp đại học thì một số từ xuất hiện rất nhiều nhưng không mang ýnghĩa đặc trưng như là: “đồ án”, “tốt nghiệp”, “gvhd”, “svth”, “đại học”…Các từ này được phát hiện và thêm dần vào tập từ dừng trong quá trình tiền xử lígiúp loại bỏ nhiễu tốt hơn và làm tăng độ chính xác.

Ví dụ: loại bỏ các từ dừng trong câu S’ ở phần trên ta được:

data mining tính hữu dụng nó môi trường kinh doanh đầy tính cạnh tranh ứng dụng rộng rãi lĩnh vực thương mại tài chính điều trị y học giáo dục viễn thông

1.3.3. Áp dụng thuật toán để phân loại dữ liệu

Sau khi tiến hành xử lý xong dữ liệu, thì sẽ áp dụng các thuật toán như: thuật toáncây quyết định, mạng Bayes, Support Vector Machine để tính toán trọng số các

từ, tính toán khoảng cách tùy vào các thuật toán tương ứng Khi tính toán được cácgiá trị cần thiết thì chương trình có thể xác định được văn bản đầu vào thuộc nhómnào Trong luận văn này, tôi sẽ áp dụng thuật toán K-NN (K – Nearest Neighbors)

để tính các khoảng cách cosine và dựa vào đó đưa ra kết luận loại của van bản đầuvào Nội dung chi tiết sẽ được trình bày ở các trang tiếp theo

1.4. Kết luận

Chương 1 đã giới thiệu chung về bài toán phân loại văn bản tự động, và trìnhbày nội dung của một số thuật toán phân loại phổ biến Trên thế giới đã có nhiềucông trình nghiên cứu đạt những kết quả khả quan, nhất là đối với phân loại văn bảntiếng Anh Tuy vậy, các nghiên cứu và ứng dụng đối với văn bản tiếng Việt cònnhiều hạn chế do khó khăn về tách từ và câu Có thể liệt kê một số công trìnhnghiên cứu trong nước với các hướng tiếp cận khác nhau cho bài toán phân loại văn

Trang 22

bản, bao gồm: phân loại với máy học vectơ hỗ trợ, cách tiếp cận sử dụng lý thuyếttập thô, cách tiếp cận thống kê hình vị, cách tiếp cận sử dụng phương pháp họckhông giám sát và đánh chỉ mục, cách tiếp cận theo luật kết hợp Theo các kết quảtrình bày trong các công trình đó thì những cách tiếp cận nêu trên đều cho kết quảkhá tốt Các bộ phân loại được xây dựng bởi các thuật toán này lại thườngcho kết quả chính xác không cao với những bộ dữ liệu lớn, hoặc quá phứctạp Dẫn đến việc cần thiết tìm ra phương pháp mới để giải quyết các bài toán phânloại tự động Luận văn này sẽ áp dụng kỹ thuật K láng giếng gần nhất vào việc phânloại báo chí theo thị hiếu độc giả.

Trang 23

CHƯƠNG 2: THUẬT TOÁN K-LÁNG GIỀNG GẦN NHẤT

Chương này trình bày cơ sở lý thuyết của thuật toán “K-láng giềng gần nhất”(K-Nearest Neighbor) và cách áp dụng thuật toán “K-láng giềng gần nhất” để phânlớp nội dung web điều hướng tin tức theo thị hiếu độc giả

2.1. Giới thiệu thuật toán K-láng giềng gần nhất (K-NN)

2.1.1. Định nghĩa

K-Nearest Neighbors algorithm (K-NN) được sử dụng rất phổ biến trong lĩnhvực Data Mining K-NN là thuật toán có mục đích phân loại lớp cho một mẫu mới(Query point) dựa vào khoảng cách gần nhất giữa các đối tượng cần phân lớp với tất

cả các đối tượng trong các mẫu sẵn có (Training Data), các mẫu này nằm trong một

hệ gọi là không gian mẫu [20]

Một đối tượng được phân lớp dựa vào k láng giềng của nó K là số nguyêndương được xác định trước khi thực hiện thuật toán Người ta thường dùng khoảngcách Euclidean để tính khoảng cách giữa các đối tượng

2.1.2. Mô tả thuật toán K-NN

Các mẫu được mô tả bằng n-chiều thuộc tính số Mỗi mẫu đại diện cho mộtđiểm trong một không gian n-chiều Theo cách này, tất cả các mẫu được lưu trữtrong một mô hình không gian n-chiều

Các bước thực hiện của thuật toán K-NN được mô tả như sau:

- Bước 1: Xác định giá trị tham số K (số láng giềng gần nhất)

- Bước 2: Tính khoảng cách giữa đối tượng cần phân lớp (Query point) với

tất cả các đối tượng trong training data (thường sử dụng khoảng cáchEuclidean, Cosine…)

- Bước 3: Sắp xếp khoảng cách theo thứ tự tăng dần và xác định K láng

giềng gần nhất với Query point

- Bước 4: Lấy tất cả các lớp của K láng giềng gần nhất đã xác định

Trang 24

- Bước 5: Dựa vào phần lớn lớp của láng giềng gần nhất để xác định lớp

cho Query point

Để hiểu K-NN được dùng để phân lớp thế nào ta xem minh họa dưới đây:Trong hình dưới đây, training Data được mô tả bởi dấu (+) và dấu (-), đốitượng cần được xác định lớp cho nó (Query point) là hình mặt cười đỏ Nhiệm vụcủa chúng ta là ước lượng (hay dự đoán) lớp của Query point dựa vào việc lựa chọn

số láng giềng gần nhất với nó Nói cách khác, chúng ta muốn biết liệu Query Point

sẽ được phân vào lớp (+) hay lớp (-)

Hình 2.3: Hình minh họa thuật toán K- láng giềng gần nhất [20]

- Xét K=5 ( 5 láng giềng gần nhất) : Kết quả là – ( Query point được xếpvào lớp dấu – vì trong 5 láng giềng gần nhất với nó thì có 3 đối tượngthuộc lớp – và chỉ có 2 đối tượng thuộc lớp +)

Trang 25

Để chọn được tham số k tốt nhất cho thao tác phân loại, thuật toán cần đượcchạy thử nghiệm trên nhiều giá trị k khác nhau, giá trị k càng lớn thì thuật toán càng

ổn định và sai số càng thấp

2.2. Ưu điểm và nhược điểm của thuật toán K-NN

2.2.1. Ưu điểm

• Chi phí thấp cho quá trình huấn luyện (chỉ việc lưu lại các ví dụ học)

• Hoạt động tốt với các bài toán phân loại gồm nhiều lớp: Không cần phảihọc c bộ phân loại cho c lớp

• Phương pháp học K-NN (k>>1) có khả năng xử lý nhiễu cao: phân loại/

dự đoán được thực hiện trên k láng giềng gần nhất

• Rất linh động trong việc chọn hàm khoảng cách: có thể dùng độ tương tựcosine, độ đo Kullback – Leibler divergence, Bregman divergence…

2.2.2. Nhược điểm

• Phải lựa chọn hàm tính khoảng cách ( sự khác biệt) thích hợp với bàitoán

• Chi phí tính toán (thời gian, bộ nhớ) cao tại thời điểm phân loại/ dự đoán

• Có thể cho kết quả kém/sai với các thuộc tính không liên quan

2.3. Áp dụng thuật toán K-NN với bài toán phân loại tin tức

Thuật toán K-NN là một phương pháp truyền thống và khá nổi tiếng tronghướng tiếp cận dựa trên thống kê, đã được nghiên cứu trong nhận dạng mẫu trongvài thập kỷ gần đây Nó được đánh giá là một trong những phương pháp tốt nhất vàđược sử dụng ngay từ những thập kỳ đầu của phân lớp văn bản Ý tưởng chính củathuật toán K – láng giềng gần nhất (K-NN) là so sánh độ phù hợp của văn bản d vớitừng nhóm chủ đề, dựa trên k văn bản mẫu trong tập huấn luyện mà có độ tương tựvới văn bản d là lớn nhất

2.3.1. Gán nhãn các tin tức trong tập huấn luyện đã xác định

Việc gán nhãn các tin tức trong tập huấn luyện là việc xác định xem tin tức

đó thuộc nhóm tin nào Nhờ việc xác định này mà chương trình có thể xác địnhđược văn bản đang chọn thuộc nhóm văn bản nào Việc đánh nhãn cũng có tính chấtquyết định đến kết quả phân loại văn bản Mỗi tin tức tương ứng với một lớp từ

Trang 26

ngữ, một vai trò ngữ nghĩa nhất định Nói chung, tùy thuộc vào mục đích phân loại,

mà ta có nhiều hướng gán nhãn tin tức khác nhau

Ở đây, tôi thực hiện gán nhãn tin tức theo thị hiếu độc giả Tức là, chúng ta

sẽ xác định nhóm của tin tức dựa vào nhóm độc giả đã xác định ở trên: chính trị, xãhội, quốc tế, biển đông, thể thao…

Giả sử ta có các tập dữ liệu các tin tức phân loại theo thị hiếu độc giả nhưsau:

Bảng 2.1: Tập dữ liệu các tin tức phân loại theo thị hiếu độc giả

2.3.2. Xác định giá trị tham số K (số láng giềng gần nhất)

Việc xác định giá trị tham số K sẽ ảnh hưởng rất lớn đến độ chính xác củakết quả Nếu k quá nhỏ, nhạy cảm với nhiễu Nếu k quá lớn, vùng lân cận có thểchứa các điểm của lớp khác Vì vậy, tùy vào mỗi tập huấn luyện (số lượng mẫutrong tập huấn luyện, không gian tập mẫu có phủ hết các trường hợp…) mà ta sẽxác định tham số K cho phù hợp

Ngày đăng: 07/12/2016, 11:09

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Đình Bình. “Nghiên cứu khai phá dữ liệu web và ứng dụng tìm kiếm trích chọn thông tin theo chủ đề”, Luận văn thạc sĩ, Trường Đại học Đà Nẵng, 2012 Sách, tạp chí
Tiêu đề: “Nghiên cứu khai phá dữ liệu web và ứng dụng tìm kiếmtrích chọn thông tin theo chủ đề”
[2] Trần Cao Đệ và Phạm Nguyên Khang,Phân loại văn bản với máy học vector hỗ trợ và cây quyết định, tạp chí khoa học 2012, đại học Cần Thơ Sách, tạp chí
Tiêu đề: Phân loại văn bản với máy học vectorhỗ trợ và cây quyết định, tạp chí khoa học 2012
[3] Nguyễn Linh Giang, Nguyễn Mạnh Hiển, Phân loại văn bản tiếng Việt với bộ phân loại vectơ hỗ trợ SVM. Tạp chí CNTT&TT, Tháng 6 năm 2006 Sách, tạp chí
Tiêu đề: Phân loại văn bản tiếng Việt với bộphân loại vectơ hỗ trợ SVM
[4] Hoàng Thị Mai.“Khai phá dữ liệu bằng phương pháp phân cụm dữ liệu”, Luận văn thạc sĩ, Trường ĐHSP Hà Nội, 2006 Sách, tạp chí
Tiêu đề: “Khai phá dữ liệu bằng phương pháp phân cụm dữ liệu”
[5] Nguyễn Trần Thiên Thanh, Trần Khải Hoàng, Tìm hiểu các hướng tiếp cận bài toán phân loại văn bản và xây dựng phần mềm phân loại tin tức báo điện tử, Khóa luận cử nhân tin học 2005 Sách, tạp chí
Tiêu đề: Tìm hiểu các hướng tiếp cậnbài toán phân loại văn bản và xây dựng phần mềm phân loại tin tức báo điệntử
[6] Hà Quang Thụy, Phan Xuân Hiếu, Đoàn Sơn, Nguyễn Trí Thành, Nguyễn Thu Trang, Nguyễn Cẩm Tú. “Giáo trình khai phá dữ liệu WEB”Tài liệu tiếng Anh Sách, tạp chí
Tiêu đề: Giáo trình khai phá dữ liệu WEB

TỪ KHÓA LIÊN QUAN

w