Hệ chuyên gia là các phần mềm máy tính, chứacá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ữngyêu cầu của người dùng ở một mức độ nào đó với trình độ n
Trang 1Chúng em xin chân thành cảm ơn Khoa Công nghệ Thông tin , trường Đại họcĐiện Lực đã tạo điều kiện thuận lợi cho chúng em học tập.
Chúng em xin bày tỏ lòng biết ơn sâu sắc tới thầy Nguyễn Thị Thu Hà đã tận tìnhhướng dẫn chỉ bảo chúng em trong quá trình thực tập môn hệ thống quản lý thông tin.Chúng em xin chân thành cảm ơn quý thầy cô trong khoa Công nghệ Thông tin
đã tận tình giảng dạy, trang bị cho em những kiến thức quý báu trong các năm học.Mặc dù đã hoàn thành xong môn và cố gắng hoàn thành đồ án môn trong phạm vi
và khả năng cho phép nhưng chắc chắn sẽ ko tránh khỏi những thiếu sót Chúng em rấtmong nhận được sự thông cảm, góp ý và tận tình chỉ bảo của quý thầy cô và các bạn.Kính chúc các thầy cô sức khỏe, hạnh phúc!
Hà Nội, 17 tháng 06 năm 2013Nhóm sinh viên thực hiện:Nguyễn Nhật Hoàng Đào Văn Tuấn
Đỗ Quang Huy
Trang 2MỤC LỤC
LỜI NÓI ĐẦU 1
CHƯƠNG 1: GIỚI THIỆU HỆ CHUYÊN GIA 2
1.1 Hệ chuyên gia là gì ? 2
1.2 Đặc trưng và ưu điểm của hệ chuyên gia 4
1.3 Sự phát triển của công nghệ hệ chuyên gia 5
1.4 Các lĩnh vực ứng dụng của hệ chuyên gia 6
1.5 Những thành phần cơ bản của một hệ chuyên gia 8
CHƯƠNG 2: HỆ THỐNG PHÂN LOẠI TIN TỨC 10
2.1 Giới thiệu vế phân loại tin tức 10
2.2 Cơ sở xây hệ thống phân loại tin tức 11
2.2.1 RSS 11
2.2.2 Phân loại văn bản 12
CHƯƠNG 3: CÀI ĐẶT HỆ THỐNG 19
3.1 Nền tảng cài đặt hệ thống 19
3.2 Cài đặt hệ thống 19
3.2.1 Module lấy tin RSS 19
3.2.2 Moudle tách từ Tokenizer 19
3.2.3 Moudle phân lớp tin tức 20
KẾT LUẬN 22
TÀI LIỆU THAM KHẢO 23
Trang 3DANH MỤC HÌNH ẢNH
Hình 1 1 Một số lĩnh vực ứng dụng của trí tuệ nhân tạo 2
Hình 1 2 Hoạt động của hệ chuyên gia 3
Hình 1 3 Quan hệ giữa lĩnh vực vấn đề và lĩnh vực tri thức 3
Hình 1 4 Những thành phần cơ bản của một hệ chuyên gia 8
Hình 1 5 Quan hệ giữa máy suy diễn và cơ sở tri thức 9
Hình 2 1 Ví dụ về tách từ với giải thuật MMSEG 13
Hình 2 2 Ví dụ siêu phẳng với lề cực đại trong R2 17
Trang 4DANH MỤC BẢNG BIỂU
Bảng 1 1 Cách nhìn nhận của từng đối tượng 4
Bảng 1 2 Các mốc phát triển của hệ chuyên gia 5
Bảng 1 3 Bảng liệt kê một số lĩnh vực ứng dụng của các hệ chuyên gia 6
Bảng 2 1 Một số hàm nhân thường dùng 18
Trang 5Cuố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ạomớ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ứacá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ữngyê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ó kinhnghiệm lâu năm Một trong những hệ chuyên gia đầu tiên được sử dụng thành côngtrong thực tế là hệ MYCIN, được thiết kế và cài đặt tại trường Đại học Tổng HợpStanford
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ảnphẩ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ínhxá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áytí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ơnnhư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 đượcnhữ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 thaythê 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ườichuyê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 tincũ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êubiể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 phân loại tin tức điện tử "
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áctrang 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ácchủ đề để 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 đàitin nhắn hỗ trợ từ xa
Trang 6CHƯƠ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áytính thông minh sử dụng tri thức (knowledge) và các thủ tục suy luận (inferenceprocedures) để giải những bài toán tương đối khó khăn đòi hỏi những chuyên gia mớigiả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ựcquyế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êngia, hệ thống dựa trên tri thức (knowledge−based system) hay hệ chuyên gia dựa trêntri 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âutrả lời cho người sử dụng qua hệ thống giao tiếp
Trang 7Người sử dụng (user) cung cấp sự kiện (facts) là những gì đã biết, đã có thậthay 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ộtlĩ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 trithứ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áccă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ênngoà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 đề
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
Trang 8Bảng 1 1 Cách nhìn nhận của từng đối tượng
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ằnghoặ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 độ tincậ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ểnkhô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ôitrườ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
Độ 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 đượcgiảng giải rõ ràng chi tiết, dễ hiểu
Trang 9 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]
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 popularizesrules (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)
(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
Trang 10hệ 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
(Instruction) 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áoGiải thích
(Interpretation) Giải thích những dữ liệu thu nhận được
Trang 121.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ôngthườ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ệnphụ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ốngcho 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ằngcá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êngia trao đổi với nhau
Trang 13Cơ 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à trithứ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ẽ đượcthiế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ầnphả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ĩnhvự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
Trang 14CHƯƠ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 đổitrê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 tintứ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à trunglặ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ườidù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ănbả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ủavă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ănbả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ànghơ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 đachủ đề 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ínhtươ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 khiphâ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ếunhư 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ạonê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 đadạ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ôngnhiề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ủangô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ânloạ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 đốivớ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àitoá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ụngphươ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]