Tải bản đầy đủ (.doc) (31 trang)

QUẢN Lý d6cntt epu dai

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (982.39 KB, 31 trang )

MỤC LỤC
CHƯƠNG 1. GIỚI THIỆU HỆ CHUYÊN GIA..............................................................1
1.1 Hệ chuyên gia là gì ?...............................................................................................1
1.2 Đặc trưng và ưu điểm của hệ chuyên gia................................................................3
1.3 Sự phát triển của công nghệ hệ chuyên gia.............................................................4
1.4 Các lĩnh vực ứng dụng của hệ chuyên gia..............................................................5
1.5 Những thành phần cơ bản của một hệ chuyên gia..................................................7
CHƯƠNG 2. HỆ THỐNG PHÂN LOẠI TIN TỨC........................................................9
2.1 Giới thiệu vế phân loại tin tức.................................................................................9
2.2 Cơ sở xây hệ thống phân loại tin tức.......................................................................9
2.2.1 RSS..................................................................................................................10
2.2.2 Phân loại văn bản............................................................................................11
CHƯƠNG 3. XÂY DỰNG CHƯƠNG TRÌNH.............................................................18
3.1 Yêu cầu chương trình............................................................................................18
3.2 Các chức năng của chương trình...........................................................................18
3.3 Cấu trúc của chương trình.....................................................................................20
3.3.1 Trang quản trị..................................................................................................20
3.3.2 Trang chủ.........................................................................................................20
3.3.3 Trang chi tiết...................................................................................................20
3.4 Giao diện chương trình..........................................................................................21
3.4.1 Giao diện các thể loại tin................................................................................21
3.4.2 Giao diện Tin huấn luyện...............................................................................21
3.4.3 Giao diện Danh sách từ khóa..........................................................................22
3.4.4 Giao diện cài đặt huấn luyện...........................................................................22
3.4.5 Giao diện huấn luyện phân loại......................................................................23


3.4.6 Giao diện danh sách tin tức.............................................................................23
3.4.7 Giao diện người dùng......................................................................................24
TÀI LIỆU THAM KHẢO.............................................................................................26



DANH MỤC HÌNH ẢNH


DANH MỤC BẢNG BIỂU


LỜI NÓI ĐẦU
Cuối những năm 70, một số nghiên cứu cơ bản trong các lĩnh vực như xử lý
ngôn ngữ tự nhiên, biểu diễn tri thức, lý thuyết giải quyết vấn đề đã đem lại diện mạo
mới cho trí tuệ nhân tạo. Thị trường tin học đã bắt đầu đón nhận những sản phẩm trí
tệu nhân tạo ứng dụng đầu tiên mang tính thương mại. Đó là các hệ chuyên gia được
áp dụng trong các lĩnh vực khác nhau. Hệ chuyên gia là các phần mềm máy tính, chứa
các thông tin và tri thức về một lĩnh vực cụ thể nào đó, có khả năng giải quyết những
yêu cầu của người dùng ở một mức độ nào đó với trình độ như một chuyên gia có kinh
nghiệm lâu năm. Một trong những hệ chuyên gia đầu tiên được sử dụng thành công
trong thực tế là hệ MYCIN, được thiết kế và cài đặt tại trường Đại học Tổng Hợp
Stanford.
Hiện nay sau hơn thế kỷ phát triển trên, hàng loạt các sản phẩm áp dụng hệ
chuyên gia ngay càng nhiều trong nhiều lĩnh vực: giáo dục, kinh tế, y tế....Với các sản
phẩm có tính ứng dụng cao trong thực tế không chỉ vậy các kết quả ngày càng chính
xác. Có sản phẩm đã đạt đến độ chính xác đến 99%. Trên thế giới, hệ chuyên gia đã
trở thành một thuật ngữ phổ biển và quen thuộc với ngừoi trong ngành khoa hoc máy
tính và công nghệ phần mềm. Tại Việt Nam tuy biết đến hệ chuyên gia muôn hơn
nhưng với sự quan tâm nhiều của giới chuyên môn cũng dần bắt kịp và đạt được
những thành công nhất định trong ngành nay.
Hiện nay cùng với thị trường thiết bị di động ngay ngày càng tăng và dần thay
thê may tính trong công việc và cập nhật thông tin của con người thì ngành lập trình
ứng dụng và hệ thông hỗ trợ mạng di đông được điều kiên nở rộ. Khi con người
chuyên sang sử dụng thiết bị di động thì thời gian cho việc tìm kiếm và đọc thông tin

cũng giảm dần. Tuy nhiên lượng thông tin thì quá lớn và không ngừng biến đổi tiêu
biểu như tin tức điện tử, điều đó dẫn đến việc tím kiếm tin tức hữu ích trở nên khó
khăn. Chính vì điều đó chúng em quyết định chọn đề tài xây dựng "Hệ thống tự động
tổng hợp và phân loại tin tức thành các mục"
Hệ thống sẽ có chức năng chính là lấy thông tin cơ bản của các tin tức từ các
trang web tin tức điện tử phân tích loại bỏ cac tin tức trùng lặp và phân loại theo các
chủ đề để dễ dàng cho ngừoi sử dụng. ngoài ra hệ thông có thể cài đặt trên các tổng đài
tin nhắn hỗ trợ từ xa.

1


CHƯƠNG 1. GIỚI THIỆU HỆ CHUYÊN GIA
1.1 Hệ chuyên gia là gì ?
Theo E. Feigenbaum : Hệ chuyên gia (Expert System) là một chương trình máy
tính thông minh sử dụng tri thức (knowledge) và các thủ tục suy luận (inference
procedures) để giải những bài toán tương đối khó khăn đòi hỏi những chuyên gia mới
giải được[1].
Hệ chuyên gia là một hệ thống tin học có thể mô phỏng (emulates) năng lực
quyết đoán (decision) và hành động (making abilily) của một chuyên gia (con người)
[2]. Hệ chuyên gia là một trong những lĩnh vực ứng dụng của trí tuệ nhân tạo
(Artificial Intelligence) như hình dưới đây.

Hình 1. 1 Một số lĩnh vực ứng dụng của trí tuệ nhân tạo
Hệ chuyên gia sử dụng các tri thức của những chuyên gia để giải quyết các vấn
đề (bài toán) khác nhau thuộc mọi lĩnh vực.
Tri thức (knowledge) trong hệ chuyên gia phản ánh sự tinh thông được tích tụ
từ sách vở, tạp chí, từ các chuyên gia hay các nhà bác học. Các thuật ngữ hệ chuyên
gia, hệ thống dựa trên tri thức (knowledge−based system) hay hệ chuyên gia dựa trên
tri thức (knowledge−based expert system) thường có cùng nghĩa.

Một hệ chuyên gia gồm ba thành phần chính là cơ sở tri thức (knowledge base),
máy suy diễn hay môtơ suy diễn (inference engine), và hệ thống giao tiếp với người sử
dụng (user interface). Cơ sở tri thức chứa các tri thức để từ đó, máy suy diễn tạo ra câu
trả lời cho người sử dụng qua hệ thống giao tiếp.

1


Người sử dụng (user) cung cấp sự kiện (facts) là những gì đã biết, đã có thật
hay những thông tin có ích cho hệ chuyên gia, và nhận được những câu trả lời là
những lời khuyên hay những gợi ý đúng đắn (expertise).
Hoạt động của một hệ chuyên gia dựa trên tri thức được minh họa như sau :

Hình 1. 2 Hoạt động của hệ chuyên gia
Mỗi hệ chuyên gia chỉ đặc trưng cho một lĩnh vực vấn đề (problem domain) nào
đó, như y học, tài chính, khoa học hay công nghệ, v.v..., mà không phải cho bất cứ một
lĩnh vực vấn đề nào.
Tri thức chuyên gia để giải quyết một vấn đề đặc trưng được gọi là lĩnh vực tri
thức (knowledge domain).

Hình 1. 3 Quan hệ giữa lĩnh vực vấn đề và lĩnh vực tri thức
Ví dụ : hệ chuyên gia về lĩnh vực y học để phát hiện các căn bệnh lây nhiễm sẽ
có nhiều tri thức về một số triệu chứng lây bệnh, lĩnh vực tri thức y học bao gồm các
căn bệnh, triệu chứng và chữa trị.
Chú ý rằng lĩnh vực tri thức hoàn toàn nằm trong lĩnh vực vấn đề. Phần bên
ngoài lĩnh vực tri thức nói lên rằng không phải là tri thức cho tất cả mọi vấn đề.

2



Tùy theo yêu cầu người sử dụng mà có nhiều cách nhìn nhận khác nhau về một
hệ chuyên gia.
Bảng 1.1 Cách nhìn nhận của từng đối tượng
Loại người sử dụng

Vấn đề đặt ra

Người quản trị

Tôi có thể dùng nó để làm gì ?

Kỹ thuật viên

Làm cách nào để tôi vận hành nó tốt nhất ?

Nhà nghiên cứu

Làm sao để tôi có thể mở rộng nó ?

Người sử dụng cuối

Nó sẽ giúp tôi cái gì đây ?
Nó có rắc rối và tốn kém không ?
Nó có đáng tin cậy không ?

1.2 Đặc trưng và ưu điểm của hệ chuyên gia
Có bốn đặc trưng cơ bản của một hệ chuyên gia :
• Hiệu quả cao (high performance). Khả năng trả lời với mức độ tinh thông bằng
hoặc cao hơn so với chuyên gia (người) trong cùng lĩnh vực.
• Thời gian trả lời thoả đáng (adequate response time). Thời gian trả lời hợp lý,

bằng hoặc nhanh hơn so với chuyên gia (người) để đi đến cùng một quyết định.
Hệ chuyên gia là một hệ thống thời gian thực (real time system).
• Độ tin cậy cao (good reliability). Không thể xảy ra sự cố hoặc giảm sút độ tin
cậy khi sử dụng.
• Dễ hiểu (understandable). Hệ chuyên gia giải thích các bước suy luận một cách
dễ hiểu và nhất quán, không giống như cách trả lời bí ẩn của các hộp đen
(black box).
Những ưu điểm của hệ chuyên gia :
• Phổ cập (increased availability). Là sản phẩm chuyên gia, được phát triển
không ngừng với hiệu quả sử dụng không thể phủ nhận.
• Giảm giá thành (reduced cost).
• Giảm rủi ro (reduced dangers). Giúp con người tránh được trong các môi
trường rủi ro, nguy hiểm.
• Tính thường trực (Permanance). Bất kể lúc nào cũng có thể khai thác sử dụng,
trong khi con người có thể mệt mỏi, nghỉ ngơi hay vắng mặt.
• Đa lĩnh vực (multiple expertise). chuyên gia về nhiều lĩnh vực khác nhau và
được khai thác đồng thời bất kể thời gian sử dụng.

3


• Độ tin cậy (increased relialility). Luôn đảm bảo độ tin cậy khi khai thác.
• Khả năng giảng giải (explanation). Câu trả lời với mức độ tinh thông được
giảng giải rõ ràng chi tiết, dễ hiểu.
• Khả năng trả lời (fast reponse). Trả lời theo thời gian thực, khách quan.
• Tính ổn định, suy luận có lý và đầy đủ mọi lúc mọi nơi (steady, une motional,
and complete response at all times).
• Trợ giúp thông minh như một người hướng dẫn (intelligent -tutor).
• Có thể truy cập như là một cơ sở dữ liệu thông minh (intelligent database).
1.3 Sự phát triển của công nghệ hệ chuyên gia

Sau đây là một số sự kiện quan trọng trong lịch sử phát triển của công nghệ hệ
chuyên gia (expert system technology).
Bảng 1.2 Các mốc phát triển của hệ chuyên gia[3]
Năm

Các sự kiện

1943

Dịch vụ bưu điện ; mô hình Neuron của (Mc Culloch and Pitts Model)

1954

Thuật toán Markov (Markov Algorithm) điều khiển thực thi các luật

1956

Hội thảo Dartmouth ; lý luận logic ; tìm kiếm nghiệm suy (heuristic search) ;
thống nhất thuật ngữ trí tuệ nhân tạo (AI: Artificial Intelligence)

1957

Rosenblatt phát minh khả năng nhận thức ; Newell, Shaw và Simon đề xuất
giải bài toán tổng quát (GPS: General Problem Solver)

1958

Mc Carthy đề xuất ngôn ngữ trí tuệ nhân tạo LISA (LISA AI language)

1962


Nguyên lý Rosenblatt’s về chức năng thần kinh trong nhận thức (Rosenblatt’s
Principles of Neurodynamicdynamics on Perceptions)

1965

Phương pháp hợp giải Robinson. Ưng dụng logic mờ (fuzzy logic) trong suy
luận về các đối tượng mờ (fuzzy object) của Zadeh. Xây dựng hệ chuyên gia
đầu tiên về nha khoa DENDRAL (Feigenbaum , Buchanan , et.al)

1968

Mạng ngữ nghĩa (semantic nets), mô hình bộ nhớ kết hợp (associative memory
model) của Quillian

1969

Hệ chuyên gia về Toán học MACSYMA (Martin and Moses)

1970

Ứng dụng ngôn ngữ PROLOG (Colmerauer, Roussell, et, al.)

1971

Hệ chuyên gia HEARSAY I về nhận dạng tiếng nói (speech recognition). Xây
dựng các luật giải bài toán con người (Human Problem Solving popularizes
rules (Newell and Simon)

1973


Hệ chuyên gia MYCIN về chẩn trị y học (Shortliffe, et,al.)

1975

Lý thuyết khung (frames), biểu diễn tri thức (knowledge representation)

4


(Minsky)
1976

Toán nhân tạo (AM: Artificial Mathematician) (Lenat). Lý thuyết
Dempster−Shafer về tính hiển nhiên của lập luận không chắc chắn
(Dempster−Shafer theory of Evidence for reason under uncertainty). Ứng dụng
hệ chuyên gia PROSPECTOR trong khai thác hầm mỏ (Duda, Har)

1977

Sử dụng ngôn ngữ chuyên gia OPS (OPS expert system shell) trong hệ chuyên
gia XCON/R1 (Forgy)

1978

Hệ chuyên gia XCON/R1 (McDermott, DEC) để bảo trì hệ thống máy tính
DEC (DEC computer systems)

1979


Thuật toán mạng về so khớp nhanh (rete algorithm for fast pattern matching)
của Forgy ; thương mại hoá các ứng dụng về trí tuệ nhân tạo

1980

Ký hiệu học (symbolics), xây dựng các máy LISP (LISP machines) từ LMI.

1982

Hệ chuyên gia về Toán học (SMP math expert system) ;
mạng nơ-ron Hopfield (Hopfield Neural Net) ;
Dự án xây dựng máy tính thông minh thế hệ 5 ở Nhật bản
(Japanese Fifth Generation Project to develop intelligent computers)

1983

Bộ công cụ phục vụ hệ chuyên gia KEE (KEE expert system tool) (intelli
Corp)

1985

Bộ công cụ phục vụ hệ chuyên gia CLIPS(CLIPS expert system tool (NASA)

1.4 Các lĩnh vực ứng dụng của hệ chuyên gia
Cho đến nay, hàng trăm hệ chuyên gia đã được xây dựng và đã được báo cáo
thường xuyên trong các tạp chí, sách, báo và hội thảo khoa học. Ngoài ra còn các hệ
chuyên gia được sử dụng trong các công ty, các tổ chức quân sự mà không được công
bố vì lý do bảo mật.

Bảng 1. 1 Bảng liệt kê một số lĩnh vực ứng dụng của các hệ chuyên gia

Lĩnh vực

Ứng dụng diện rộng

Cấu hình
(Configuration)

Tập hợp thích đáng những thành phần của một hệ thống
theocách riêng

Chẩn đoán
(Diagnosis)

Lập luận dựa trên những chứng cứ quan sát được

5


Truyền đạt
(Instruction)
Giải thích
(Interpretation)

Dạy học kiểu thông minh sao cho sinh viên có thể hỏi vì sao
(why?), như thế nào (how?) và cái gì nếu (what if?) giống như
hỏi một người thầy giáo
Giải thích những dữ liệu thu nhận được

Kiểm tra
(Monitoring)


So sánh dữ liệu thu lượm được với dữ liệu chuyên môn để
đánh giá hiệu quả

Lập kế hoạch
(Planning)

Lập kế hoạch sản xuất theo yêu cầu

Dự đoán
(Prognosis)

Dự đoán hậu quả từ một tình huống xảy ra

Chữa trị
(Remedy)

Chỉ định cách thụ lý một vấn đề

Điều khiển
(Control)

Điều khiển một quá trình, đòi hỏi diễn giải, chẩn đoán, kiểm
tra, lập kế hoạch, dự đoán và chữa trị

6


1.5 Những thành phần cơ bản của một hệ chuyên gia
Một hệ chuyên gia kiểu mẫu gồm bảy thành phần cơ bản như sau :


Hình 1. 4 Những thành phần cơ bản của một hệ chuyên gia
• Cơ sở tri thức (knowledge base). Gồm các phần tử (hay đơn vị) tri thức, thông
thường được gọi là luật (rule), được tổ chức như một cơ sở dữ liệu.
• Máy duy diễn (inference engine). Công cụ (chương trình, hay bộ xử lý) tạo ra
sự suy luận bằng cách quyết định xem những luật nào sẽ làm thỏa mãn các sự
kiện, các đối tượng. , chọn ưu tiên các luật thỏa mãn, thực hiện các luật có tính
ưu tiên cao nhất.
• Lịch công việc (agenda). Danh sách các luật ưu tiên do máy suy diễn tạo ra thoả
mãn các sự kiện, các đối tượng có mặt trong bộ nhớ làm việc.
• Bộ nhớ làm việc (working memory). Cơ sở dữ liệu toàn cục chứa các sự kiện
phục vụ cho các luật.
• Khả năng giải thích (explanation facility). Giải nghĩa cách lập luận của hệ thống
cho người sử dụng.
• Khả năng thu nhận tri thức (explanation facility). Cho phép người sử dụng bổ
sung các tri thức vào hệ thống một cách tự động thay vì tiếp nhận tri thức bằng
cách mã hoá tri thức một cách tường minh. Khả năng thu nhận tri thức là yếu tố
mặc nhiên của nhiều hệ chuyên gia.
• Giao diện người sử dụng (user interface). Là nơi người sử dụng và hệ chuyên
gia trao đổi với nhau.

7


Cơ sở tri thức còn được gọi là bộ nhớ sản xuất (production memeory) trong hệ
chuyên gia. Trong một cơ sở tri thức, người ta thường phân biệt hai loại tri thức là tri
thức phán đoán (assertion knowledge) và tri thức thực hành (operating knowledge).
Các tri thức phán đoán mô tả các tình huống đã được thiết lập hoặc sẽ được
thiết lập. Các tri thức thực hành thể hiện những hậu quả rút ra hay những thao tác cần
phải hoàn thiện khi một tình huống đã được thiết lập hoặc sẽ được thiết lập trong lĩnh

vực đang xét. Các tri thức thực hành thường được thể hiện bởi các biểu thức dễ hiểu và
dễ triển khai thao tác đối với người sử dụng.

Hình 1. 5 Quan hệ giữa máy suy diễn và cơ sở tri thức
Từ việc phân biệt hai loại tri thức, người ta nói máy suy diễn là công cụ triển
khai các cơ chế (hay kỹ thuật) tổng quát để tổ hợp các tri thức phán đoán và các tri
thức thực hành. Hình trên đây mô tả quan hệ hữu cơ giữa máy suy diễn và cơ sở tri
thức.

8


CHƯƠNG 2. HỆ THỐNG PHÂN LOẠI TIN TỨC
2.1 Giới thiệu vế phân loại tin tức
Cùng với sự phát triển của công nghệ thông tin lượng thông tin được trao đổi
trên mạng Internet ngày càng lớn đặc biệt tin tức điện tử với hàng trăm trang web tin
tức ra đời cung với đó số lượng tin tức hằng ngày được đăng tải có thể gọi là vô cùng.
Việc đọc tin tức trở nên khó khăn và nhàn chán cho người dùng do sự đa dạng và trung
lặp tin tức giữa các trang web. Từ đó bài toàn lọc tin tức được đặt ra để hỗ trỡ người
dùng internet. Xét về một mặt thì có thể xem bài toán lọc tin tức là một ứng dụng thực
tế của bài toán phân loại văn bản.
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ác chủ đề 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ông tin,…). Việc tự động phân loại văn
bản vào một chủ đề nào đó giúp cho việc sắp xếp, lưu trữ và truy vấn tài liệu dễ dàng
hơn về sau.
Đặc điểm nổi bật của bài toán này là sự đa dạng của chủ đề văn bản và tính đa
chủ đề của văn bản. Tính đa chủ đề của văn bản làm cho sự phân loại chỉ mang tính
tương đối và có phần chủ quan, nếu do con người thực hiện, và dễ bị nhập nhằng khi

phân loại tự động. Rõ ràng một bài viết về Giáo dục cũng có thể xếp vào Kinh tế nếu
như bài viết bàn về tiền nong đầu tư cho giáo dục và tác động của đầu tư này đến kinh
tế - xã hội. Về bản chất, một văn bản là một tập hợp từ ngữ có liên quan với nhau tạo
nên nội dung ngữ nghĩa của văn bản. Từ ngữ của một văn bản là đa dạng do tính đa
dạng của ngôn ngữ (đồng nghĩa, đa nghĩa, từ vay mượn nước ngoài,…) và số lượng từ
cần xét là lớn. Ở đây cần lưu ý rằng, một văn bản có thể có số lượng từ ngữ không
nhiều, nhưng số lượng từ ngữ cần xét là rất nhiều vì phải bao hàm tất cả các từ của
ngôn ngữ đang xét. Do đặc điểm trên việc xử lý các từ trong văn bản trước khi phân
loại trở nên cực kỳ quan trọng, tăng độ chính xác trong quá trình phân loại.
Trên thế giới đã có nhiều cô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ản tiế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òn nhiề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ình nghiê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 bản, bao gồm: phân loại với máy học vectơ hỗ trợ [4], cách tiếp cận
sử dụng lý thuyết tập thô [5], cách tiếp cận thống kê hình vị [6], cách tiếp cận sử dụng
phương pháp học không giám sát và đánh chỉ mục [7], cách tiếp cận theo luật kết hợp
[8].
2.2 Cơ sở xây hệ thống phân loại tin tức
Với đặc điểm của trên việc xây dựng hệ thống sẽ dựa trên hai nền tảng

9


• RSS
• Phân loại văn bản
2.2.1 RSS
RSS là một định dạng tập tin thuộc họ XML dùng trong việc chia sẻ tin tức
Web (Web syndication) được dùng bởi nhiều website tin tức và weblog[9]. Chữ viết
tắt (theo tiếng Anh) dùng để chỉ các chuẩn sau:
• Rich Site Summary (RSS 0.91)

• RDF Site Summary (RSS 0.9 and 1.0)
• Really Simple Syndication (RSS 2.0.0)
Công nghệ của RSS cho phép người dùng Internet có thể đặt mua thông tin từ
các websites có cung cấp khả năng RSS (RSS feeds); chúng thường là các site có nội
dung thay đổi và được thêm vào thường xuyên. Để có thể dùng công nghệ này, các
người quản trị site đó tạo ra hay quản lí một phần mềm chuyên dụng (như là một hệ
thống quản lí nội dung - content management system-CMS) mà, với định dạng XML
mà máy có thể đọc được, có thể biểu diễn các bài tin mới thành một danh sách, với
một hoặc hai dòng cho mỗi bài tin và một liên kết đến bài tin đầy đủ đó. Khác với việc
mua nhiều ấn bản của các tờ báo hay tạp chí in giấy, hầu hết việc mua RSS là miễn
phí.
Định dạng RSS cung cấp nội dung web và tóm lược nội dụng web cùng với các
liên kết đến phiên bản đầy đủ của nội dung tin đó, và các siêu-dữ-liệu (meta-data)
khác. Thông tin này được cung cấp dưới dạng một tập tin XML được gọi là một RSS
feed, webfeed, RSS stream, hay RSS channel. Cùng với việc hỗ trợ cung cấp chia sẻ
thông tin, RSS cho phép những độc giả thường xuyên của một website có thể theo dõi
các cập nhật của site đó dùng một aggregator.
RSS được dùng phổ biến bởi cộng đồng weblog để chia sẻ những tiêu đề tin tức
mới nhất hay toàn bộ nội dung của nó, và ngay cả các tập tin đa phương tiện đính kèm.
(Xem podcasting, vodcasting, broadcasting, screencasting, Vloging, và MP3 blogs.)
Vào giữa năm 2000, việc sử dụng RSS trở nên phổ dụng đối với hãng tin tức lớn, bao
gồm Reuters, CNN, và BBC. Những nhà cung cấp tin này cho phép các website khác
tổng hợp những tiêu đề tin tức "được chia sẻ" hay cung cấp các tóm tắt ngắn gọn của
các bản tin chính dưới nhiều hình thức thỏa hiệp khác nhau. RSS ngày nay được dùng
cho nhiều mục đích, bao gồm tiếp thị, báo cáo lỗi (bug-reports), hay các hoạt động
khác bao gồm cập nhật hay xuất bản định kì.
Một chương trình gọi là một feed reader hay aggregator có thể kiểm tra xem
một website có hỗ trợ RSS cho người dùng không và, nếu có, hiển thị những bài viết

10



cập nhật nhất mà nó tìm thấy từ website đó. Ngày nay có thể tìm thấy RSS feeds trên
rất nhiều Web sites lớn, cũng như nhiều những site nhỏ.
Các công cụ đọc tin phía trình khách và công cụ aggregators thường được xây
dựng thành một chương trình độc lập hoặc là một phần mở rộng của các chương trình
có sẵn như trình duyệt web. Những chương trình như vậy có mặt trên nhiều hệ điều
hành khác nhau. Xem danh sách các aggregators chuyên về tin tức.
Các phần mềm thu thập tin tức như trên không đòi hỏi phải cài đặt và có thể sử
dụng trên các máy tính có kết nối Internet. Một số aggregators kết hợp khả năng chia
sẻ tin tức, ví dụ: lấy mọi thông tin bóng đá từ nhiều nguồn tin và cung cấp thành một
nguồn tin mới. Đây cũng chính là các động cơ tìm kiếm nội dung được đăng tải thông
qua RSS feeds như Feedster hay Blogdigger.
Việc xây dựng một module lấy tin RSS là cơ bản để có thể xây dưng nên hệ
thống phân lạo tin tức.

2.2.2 Phân loại văn bản
Việc phân loại tin sẽ được chia làm hai bước:
• Tiền xử lý
• Phân lớp
2.2.2.1

Tiền Xử lý

Ở bước này, văn bản sẽ qua bước tiền xử lí cơ bản: chuẩn hóa dấu, chuẩn hóa
“i” và “y”, chuẩn hóa font,… sau đó sẽ thực hiện tách từ. Trong phần này các bước xử
lý cơ bản sẽ không được đề mà sẽ trực tiếp vào tách từ. Có thể xem văn bản là tập hợp
các từ. Khái niệm “từ” ở đây theo nghĩa là một chuỗi kí tự liên tiếp nhau trong văn
bản, không nhất thiết phải là một từ có nghĩa trong ngôn ngữ. Việc xác định “từ” hay
tách từ sẽ được thực hiện bằng một giải thuật nào đó.

Sau khi tách từ, văn bản được xem như là một tập hợp các “từ”. Chữ từ trong
dấu ngoặc vì nó là từ sinh ra bởi giải thuật tách từ, nó không nhất thiết phải có nghĩa
trong ngôn ngữ. Ví dụ trong giải thuật MMSEG [10] giải thuật thì các “từ” được tách
đều có nghĩa (có trong từ điển), tuy nhiên nó không nhất thiết phải đúng hoàn toàn
trong ngữ cảnh của văn bản (ngữ nghĩa).

11


Hình 2. 1 Ví dụ về tách từ với giải thuật MMSEG
Rõ ràng rằng, các từ trong văn bản có mức độ quan trọng khác nhau đối với văn
bản và cả trong phân loại văn bản. Một số từ như từ nối, từ chỉ số lượng (“và”, “các”,
“những, “mỗi”,…) không mang tính phân biệt trong khi phân loại. Ngoài ra, còn có rất
nhiều từ khác cũng không có giá trị phân loại ví dụ như từ xuất hiện hầu khắp các văn
bản hay dùng không phổ biến trong văn bản, những từ gọi là stopword này cần được
loại bỏ. Có nhiều cách loại bỏ stopword, chẳng hạn dùng 1 danh sách các stopword
hoặc loại bỏ theo tần suất xuất hiện của từ (chỉ số TF*IDF). Trong thực nghiệm chúng
tôi dùng một danh sách stopword kết hợp với việc loại bỏ các từ có chỉ số TF*IDF
thấp. Chỉ số TF*IDF thấp tức là từ xuất hiện hầu khắp các băn bản hoặc từ rất ít xuất
hiện.
Sau khi loại bỏ các stopword, văn bản có thể xem như là một tập hợp các đặc
trưng, đó là tập hợp các từ “quan trọng” còn lại để biểu diễn văn bản. Việc phân loại
văn bản sẽ dựa trên các đặc trưng này. Tuy nhiên, có thể thấy rằng, số đặc trưng của
một văn bản là lớn và không gian các đặc trưng (tất cả đặc trưng) của tất cả các văn
bản đang xem xét là rất lớn, về nguyên tắc, nó bao gồm tất cả các từ trong một ngôn
ngữ. Chính vì vậy, phân loại dựa trên các đặc trưng này cần phải có cách xử lí, lựa
chọn đặc trưng nhằm rút ngắn số chiều của không gian đặc trưng. Trên thực tế, người
ta không thể xét tất cả các từ của ngôn ngữ mà là dùng tập hợp các từ được rút ra từ
một tập (đủ lớn) các văn bản đang xét (gọi là tập ngữ liệu).
Kế đến, mỗi văn bản di trong tập ngữ liệu đang xét sẽ được mô hình hóa như là

một vector trọng số của các đặc trưng, di(wi1,…,wim).
2.2.2.2

Phân lớp

Có nhiều phương pháp để thực hiện phân lớp do giới hạn về kiến thức chúng
em chỉ giới thiệu mợt số phương pháp phổ biến.
Naive Bayes

12


Naive Bayes (Bayes ngây thơ) là phương pháp phân loại dựa vào xác suất được
sử dụng rộng rãi trong lĩnh vực máy học và nhiều lĩnh vực khác như trong các công cụ
tìm kiếm , các bộ lọc mail …
Ý tưởng cơ bản của cách tiếp cận này là sử dụng xác suất có điều kiện giữa từ
hoặc cụm từ và chủ đề để dự đoán xác suất chủ đề của một văn bản cần phân
loại.Điểm quan trọng của phương pháp này chính là ở chỗ giả định rằng sự xuất hiện
của tất cả các từ trong văn bản đều độc lập với nhau. Như thế NB không tận dụng
được sự phụ thuộc của nhiều từ vào một chủ đề cụ thể . Chính giả định đó làm cho
việc tính toán NB hiệu qủa và nhanh chóng hơn các phương pháp khác với độ phức tạp
theo số mũ vì nó không sử dụng cách kết hợp các từ để đưa ra phán đoán chủ đề.
Mục đích chính là làm sao tính được xác suất Pr(C j, d’) , xác suất để văn bản
d’nằm trong lớp Cj.Theo luật Bayes , văn bản d’ sẽ được gán vào lớp C j nào có xác
suất Pr(Cj, d’) cao nhất .
Công thức để tính Pr(Cj, d’) như sau :

Với :
-


TF(wi, d’) là số lần xuất hiện của từ wi trong văn bản d’

-

|d’| là số lượng các từ trong văn bản d’

-

wi là một từ trong không gian đặc trưng F với số chiều là |F|

-

Pr(Cj) được tính dựa trên tỷ lệ phần trăm của số văn bản mỗi lớp tương ứng

trong tập dữ liệu huấn luyện

13


Ngoài ra còn có các phương pháp NB khác có thể kể ra như ML Naïve Bayes ,
MAP Naïve Bayes , Expected Naïve Bayes . Nói chung Naïve Bayes là một công cụ
rất hiệu qủa trong một số trường hợp. Kết qủa có thể rất xấu nếu dữ liệu huấn luyện
nghèo nàn và các tham số dự đoán (như không gian đặc trưng) có chất lượng
kém.Nhìn chung đây là một thuật toán phân loại tuyến tính thích hợp trong phân loại
văn bản nhiều chủ đề . NB có ưu điểm là cài đặt đơn giản , tốc độ thực hiện thuật toán
nhanh , dễ dàng cập nhật dữ liệu huấn luyện mới và có tính độc lập cao với tập huấn
luyện .
K-Nearest Neighbor (K-NN)
K-Nearest Neighbor là phương pháp truyền thống khá nổi tiếng theo hướng tiếp
cận thống kê đã được nghiên cứu trong nhiều năm qua . kNN được đánh giá là một

trong những phương pháp tốt nhất được sử dụng từ những thời kỳ đầu trong nghiên
cứu về phân loại văn bản .
Ý tưởng của phương pháp này đó là khi cần phân loại một văn bản mới , thuật
toán sẽ xác định khoảng cách (có thể áp dụng các công thức về khoảng cách như
Euclide , Cosine , Manhattan , …) của tất cả các văn bản trong tập huấn luyện đến văn
bản này để tìm ra k văn bản gần nhất ,gọi là k nearest neighbor – k láng giềng gần nhất
, sau đó dùng các khoảng cách này đánh trọng số cho tất cả các chủ đề. Khi đó , trọng
số của một chủ đề chính là tổng tất cả các khoảng cách ở trên của các văn bản trong k
láng giềng có cùng chủ đề , chủ đề nào không xuất hiện trong k láng giềng sẽ có trọng
số bằng 0 . Sau đó các chủ đề sẽ được sắp xếp theo giá trị trọng số giảm dần và các
chủ đề có trọng số cao sẽ được chọn làm chủ đề của văn bản cần phân loại.
Phương pháp cây quyết định
Phương pháp cây quyết định [8] có thể áp dụng vào bài toán phân loại văn bản.
Dựa vào tập các văn bản huấn luyện (sau này gọi tắt là tập huấn luyện), xây dựng một
cây quyết định. Cây quyết định có dạng là cây nhị phân, mỗi nút trong tương ứng với
việc phân hoạch tập văn bản dựa trên một thuộc tính nào đó (một từ). Việc xây dựng
cây quyết định phụ thuộc vào việc lựa chọn thuộc tính để phân hoạch. Theo [11],

14


chúng tôi lựa chọn thuộc tính phân hoạch dựa trên độ lợi thông tin (information gain)
lớn nhất, đó là hiệu giữa độ hỗn loạn thông tin trước và sau phân hoạch với thuộc tính
đó. Độ lợi thông tin được tính toán dựa vào độ hỗn loạn thông tin (Entropy) theo CT
2.4. Giả sử tập huấn luyện S chứa các văn bản thuộc k chủ đề, thì độ hỗn loạn thông
tin của tập S là:

Trong đó pi là xác suất để một phần tử (1 văn bản) thuộc vào chủ đề thứ i. pi
chính là tần suất xuất hiện một văn bản thuộc chủ đề thứ i trong tập S. Độ lợi thông tin
khi dùng thuộc tính a phân hoạch tập S thành các tập con tùy theo giá trị của a (kí hiệu

Values(a) trong công thức) là :

• Đầu vào: Tập M chứa tất cả các văn bản huấn luyện đã mô hình hóa thành các
vector di(wi1,…,wim)
- Tập A chứa tất cả các từ trong tập huấn luyện M
- Một tập chủ đề C.
• Đầu ra : Cây quyết định dạng nhị phân cho việc phân loại theo tập chủ đề C.
Giải thuật (tham khảo [12]):
- Bắt đầu: nút gốc chứa tất cả văn bản huấn luyện.
- Nếu dữ liệu tại nút chỉ thuộc 1 chủ đề (1 lớp) thì nút là nút lá và được gán
nhãn là chủ đề đó.
- Nếu một nút chứa dữ liệu không thuần nhất (thuộc các lớp khác nhau) thì lựa
chọn thuộc tính phân hoạch với độ lợi thông tin lớn nhất (giả sử thuộc tính là a với giá
trị y, y gọi là giá trị phân tách); phân chia nút này một cách đệ qui làm hai tập M1,
M2; M1 chứa các văn bản chứa a nhưng giá trị thuộc tính nhỏ hơn y, M2 chứa các văn
bản chứa a và giá trị thuộc tính lớn hơn bằng y.
Giải thuật dừng khi tất cả các nút lá đã được gán nhãn. Trong ứng dụng, người
tacó thể không tiến hành phân hoạch nút đến khi dữ liệu đồng nhất (chỉ thuộc một lớp)
mà người ta dừng phân hoạch khi số phần tử tại nút còn ít hơn một số lượng nào đó và
gán nhãn nút theo luật bình chọn số đông của các phần tử chứa tại nút. Điều này nhằm
cải tiến tốc độ xây dựng cây và tránh được tình trạng học vẹt.
Phương pháp máy học vectơ hỗ trợ (SVM)

15


Hình 2. 2 Ví dụ siêu phẳng với lề cực đại trong R2
Máy học véctơ hỗ trợ (SVM) là một giải thuật máy học dựa trên lý thuyết học
thống kê do Vapnik và Chervonenkis xây dựng [13]. Bài toán cơ bản của SVM là bài
toán phân loại hai lớp: Cho trước n điểm trong không gian d chiều (mỗi điểm thuộc

vào một lớp kí hiệu là +1 hoặc –1, mục đích của giải thuật SVM là tìm một siêu phẳng
(hyperplane) phân hoạch tối ưu cho phép chia các điểm này thành hai phần sao cho các
điểm cùng một lớp nằm về một phía với siêu phẳng này. Hình cho một minh họa phân
lớp với SVM trong mặt phẳng.
Xét tập dữ liệu mẫu có thể tách rời tuyến tính {(x1,y1),(x2,y2),...,(xn,yn)} với
xi ε Rd và yi ε {±1}. Siêu phẳng tối ưu phân tập dữ liệu này thành hai lớp là siêu
phẳng có thể tách rời dữ liệu thành hai lớp riêng biệt với lề (margin) lớn nhất. Tức là,
cần tìm siêu phẳng H: y = w.x + b = 0 và hai siêu phẳng H1, H2 hỗ trợ song song với
H và có cùng khoảng cách đến H. Với điều kiện không có phần tử nào của tập mẫu
nằm giữa H1 và H2, khi đó:
w.x + b >= +1 với y = +1
w.x + b >= -1 với y = -1
Kết hợp hai điều kiện trên ta có y(w.x + b) >= 1.
Khoảng cách của siêu phẳng H1 và H2 đến H

. Ta cần tìm siêu phẳng H với

lề lớn nhất, tức là giải bài toán tối ưu tìm
với ràng buộc y(w.x + b) >= 1. Người
ta có thể chuyển bài toán sang bài toán tương đương nhưng dễ giải hơn là
với ràng buộc y(w.x + b) >= 1. Lời giải cho bài toán tối ưu này là cực
tiểu hóa hàm Lagrange:

16


Trong đó α là các hệ số Lagrange, α≥0. Sau đó người ta chuyển thành bài toán đối
ngẫu là cực đại hóa hàm W(α):

Từ đó giải để tìm được các giá trị tối ưu cho w,b và α. Về sau, việc phân loại

một mẫu mới chỉ là việc kiểm tra hàm dấu sign(wx +b). Lời giải tìm siêu phẳng tối ưu
trên có thể mở rộng trong trường hợp dữ liệu không thể tách rời tuyến tính bằng cách
ánh xạ dữ liệu vào một không gian có số chiều lớn hơn bằng cách sử dụng một hàm
nhân K (kernel). Một số hàm nhân thường dùng được cho trong bảng dưới.
Bảng 2. 1 Một số hàm nhân thường dùng

17


CHƯƠNG 3. XÂY DỰNG CHƯƠNG TRÌNH
3.1 Yêu cầu chương trình
Chương trình được xây dựng nhằm mục đích thu thập tin tức từ các trang tin điện tử
trực tuyến bằng phương pháp xử lý RSS. Sau khi lấy được các tin tức về thì dựa vào
nội dung bài viết đó để phân loại vào các thể loại như tin thế giới, tin xã hội, tin văn
hóa, tin thể thao, tin công nghệ, tin giáo dục. Chương trình cho phép hiển thị các bài
viết lên website, người dùng có thể vào đọc những bài viết này trực tiếp trên web.
Ngoài ra, người dùng có thể nhắn tin đến tổng đài của hệ thống để nhận được tin nhắn
trả về là tin tức mới nhất mà hệ thống thu thập được.
Chương trình có khả năng quản lý các thể loại nhóm tin, quản lý các văn bản huấn
luyện, quản lý thư viện từ chuyên ngành, từ dừng. Do đó việc thêm, sửa, xóa các thể
loại, các văn bản huấn luyện rất dễ dàng, thuận tiện.
3.2 Các chức năng của chương trình
STT

Tên chức năng

Mô tả

1


Huấn luyện văn bản

Huấn luyện các văn bản trong tập huấn luyện đã có
sẵn. Việc huấn luyện tức là máy sẽ tự động đọc các
văn bản đã có sẵn trên máy và sau đó sẽ tự động tách từ
trong các văn bản đó, sau khi tách từ máy sẽ đếm các
từ đó và tính xác suất của từng từ trong văn bản rồi cập
nhật vào cơ sở dữ liệu với cấu trúc:
Từ thể loại số lượng xác suất
Trong chức năng này chúng ta cũng thể thêm, sửa,
xóa các văn bản huấn luyện. Chúng ta có thể thêm văn
bản bằng cách nhập file đã có sẵn hoặc cũng có thể
nhập bằng tay – tức là nhập trực tiếp văn bản vào. Với
cách nhập từ file chúng ta sẽ không tốn công sức nhập
vì nội dung đã có trong file rồi, tuy nhiên nếu việc nhập
từ file sẽ có những từ không quan trong với thể loại
(còn gọi là “từ nổi”). Khi nhập bằng tay, chúng ta sẽ
nhập những từ khóa đặc trưng do vậy việc nhập bằng
tay sẽ làm cho chương trình phân loại chính xác hơn so
với nhập từ file, tuy vậy nó lại có nhược điểm là mất
công và lâu.

2

Thu thập tin tức trực
tuyến

Chức năng thu thập tin tức từ các trang tin điện tử
bằng RSS. Phân tích dữ liệu từ file XML của trang tin


18


cần thu thập. Tin tức lấy về được lưu vào cơ sở dữ liệu
với cấu trúc:
Tiêu đề Tóm tắt Nội dung Hình ảnh Thể loại …

3

4

5

6

7

Phân loại tin tức

Phân loại tin tức là việc phân loại tin tức mà thu thập
được ở chức năng thu thập tin tức trực tuyến vào thành
các thể loại, trong chương trình này chúng ta chỉ phân
làm 6 loại là Công nghệ, Giáo dục, Thế giới, Thể thao,
Văn hóa, Xã hội.
Ngoài ra, sau khi tin tức được phân loại, việc phân
loại không hoàn toàn chính xác, người dùng có thể cập
nhật lại các thể loại của tin tức sao cho việc hiển thị lên
trang chủ chính xác nhất.

Quản lý các thể loại


Chúng ta có thể thêm, sửa, xóa thể loại ở chức năng
này. Sau khi thêm thể loại, số lượng các văn bản huấn
luyện sẽ được chương trình tự động đếm file huấn
luyện thuộc thể loại này và cũng tự động tính xác suất
cho từng thể loại.

Quản lý các văn bản
huấn luyện

Ở chức năng này chúng ta có thể thêm, sửa, xóa các
văn bản huấn luyện. Các văn bản huấn luyện được lưu
trữ trong thư mục Trainning Data, các file huấn luyện
của thể loại nào chứa các thông tin về thể loại đó.

Quản lý từ điển, từ
dừng

Chức năng cho phép thêm, sửa, xóa các từ chuyên
ngành cho từ thể loại. Mỗi thể loại sẽ có một bộ từ điển
để phục vụ cho việc phân loại văn bản.
Ngoài bộ từ từ điển, còn có bộ từ từ dừng. Đây là
các từ có thể bỏ qua trong quá trình phân loại nhằm
tăng tốc độ phân loại của thuật toán.

Quản lý tin tức

Chức năng này có phép thêm, sửa, xóa các tin tức
mà đã thu thập được. Tại đây, ta có thể thay đổi nội
dung, tiêu đề, tóm tắt, thể loại của tin tức đó. Ta có thể

kiểm tra số lượt xem của bài viết đó để xem bài viết
nào đang được quan tâm nhất.

19


3.3 Cấu trúc của chương trình
3.3.1 Trang quản trị
Trang quản trị là trang quản lý dữ liệu chương trình. Trong trang quản trị, người
dùng có thể quản lý thể loại, quản lý tin tức, quản lý các văn bản huấn luyện,…
Trong quản lý tin tức, người dùng có thể lựa chọn chức năng hiển thị các tin
được thu thập tự động. Các tin này, khi được phân loại có thể được hiển thị trực tiếp
lên trang chủ hoặc có thể được phân loại nhưng chưa chính xác thì tin đó sẽ được đưa
vào hàng chờ để người quản trị thực hiện phân loại bằng tay.
3.3.2 Trang chủ
Trang chủ website là trang hiển thị thông tin các mục tin tức, các thể loại tin chứa
các bài viết theo chủ đề đó. Trang chủ là trang mà người đọc tin thao tác chủ yếu với
hệ thống.
Trên trang chủ hiển thị các tin tức đã được phân loại tự động, hoặc người quản trị phân
loại hoặc cập nhật bằng tay. Người đọc tin chọn tin cần đọc để xem toàn bộ chi tiết của
tin đó.
3.3.3 Trang chi tiết
Trang chi tiết là trang hiển thị nội dung chi tiết tin tức mà người dùng lựa chọn
đọc tin. Nội dung hiển thị trang chi tiết được hiển thị theo nội dung bài viết trên trang
báo điện tử mà tin đó được lấy về.

20



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×