Người dùng thường mất rất nhiều thời gian để lướt qua các kênh thông tin này để thu lượm những thông tin về các lĩnh vực mình quan tâm mà thông thường thì lượng thông tin này thường chiế
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN NGỌC ĐỊNH
HỆ THỐNG LỌC VÀ SẮP XẾP TIN TỨC THEO NGỮ CẢNH NGƯỜI DÙNG
LUẬN VĂN THẠC SĨ
Hà Nội - 2008
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN NGỌC ĐỊNH
HỆ THỐNG LỌC VÀ SẮP XẾP TIN TỨC THEO NGỮ CẢNH NGƯỜI DÙNG
Ngành: Công nghệ thông tin
Mã số: 1.01.10
LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS NGUYỄN VIỆT HÀ
Hà Nội - 2008
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm của riêng cá nhân tôi, không sao chép lại của người khác Trong toàn bộ nội dung của luận văn, những điều trình bày là của cá nhân tôi hoặc là được tôi tổng hợp từ nhiều nguồn tài liệu tham khảo có xuất xứ rõ ràng và trích dẫn hợp pháp.
Tôi xin chịu toàn bộ trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của tôi.
Hà Nội 28/11/2008
Nguyễn Ngọc Định
Trang 4LỜI CẢM ƠN
Em xin cảm ơn tiến sĩ Nguyễn Việt Hà, người thầy tận tình hướng dẫn và giúp
em hoàn thành luận văn này
Xin cảm ơn những người thân yêu quanh tôi đã giúp đỡ động viên tôi.
Tôi xin cảm ơn đến các đồng nghiệp trong công ty cổ phần truyền thông Tinh
Vân đã cùng sát cánh bên tôi đưa đề tài vào áp dụng triển khai thực tế
Một phần của nghiên cứu này được thực hiện trong khuôn khổ đề tài nghiên cứu khoa học cấp ĐHQG HN, mã số QG.07.25, xin cám ơn các thành viên trong nhóm nghiên cứu đã đóng góp các nhận xét quý báu.
Trang 5MỤC LỤC
MỞ ĐẦU 1
CHƯƠNG 1.KHÁI NIỆM VỀ AGENT 3
1.1.Agent là gì? 3
1.2.Phân loại agent 5
1.2.1.Phân loại agent theo độ thông minh 5
1.2.2.Phân loại agent theo tính di động 5
1.2.3.Phân loại theo khả năng giao tiếp và cộng tác 6
1.3.Phân loại hệ thống agent 7
1.3.1.Phân loại hệ thống theo số lượng agent 7
1.3.2.Phân loại hệ thống theo số lượng nơi cư trú (môi trường) 7
CHƯƠNG 2.CÔNG NGHỆ PHẦN MỀM HƯỚNG AGENT 8
2.1.Cách tiếp cận hướng agent trong công nghệ phần mềm 8
2.1.1.Phân chia hướng agent 10
2.1.2.Trừu tượng hóa hướng agent 11
2.1.3 Sự cần thiết cho việc quản lý linh hoạt sự thay đổi của cấu trúc tổ chức 11
2.2.So sánh hướng agent với hướng đối tượng và phần mềm đóng gói 12
2.3.Vòng đời phát triển của phần mềm hướng agent 13
2.3.1.Mô hình hóa hệ thống agent 13
2.3.2.Phân tích thiết kế 14
2.3.3.Kiểm thử 15
CHƯƠNG 3.PHƯƠNG PHÁP THIẾT KẾ & PHÁT TRIỂN HỆ THỐNG ĐA AGENT PASSI 17
3.1.1.Giới thiệu về PASSI 17
3.2.Mô tả yêu cầu 18
3.3.Xác định các agent 18
3.4.Xác định vai trò 19
3.5.Xác định các tác vụ 19
3.6.Mô tả Ontology - Ontology Description 21
3.7.Định nghĩa cấu trúc đa agent 30
3.8.Định nghĩa cấu trúc của từng agent 31
3.9.Mô tả các hành vi trong hệ thống đa agent 31
3.10.Mô hình mã chương trình - Code Model 32
3.11.Mô hình triển khai Deployment Model 32
CHƯƠNG 4.XÂY DỰNG HỆ THỐNG LỌC VÀ SẮP XẾP TIN TỨC THEO NGỮ CẢNH NGƯỜI DÙNG 33
4.1.Mô tả bài toán 33
4.1.1.Các Use Case hệ thống 34
4.1.2.Xác định các Agent 37
4.1.3.Xác định vai trò của các agent 38
4.1.4.Xác định các tác vụ của các agent 41
4.2.Mô hình xã hội các agent 43
Trang 64.2.1.Mô tả Ontology lĩnh vực 43
4.2.2.Mô tả Ontology truyền thông 46
4.3.Mô hình thực thi các agent 47
4.3.1.Các trúc các agent (đa agent) 47
4.3.2.Định nghĩa cấu trúc từng agent 48
4.4.Cài đặt và triển khai 50
4.5.Một số giao diện 50
4.6.Thử nghiệm và đánh giá 51
KẾT LUẬN 52
Trang 7DANH MỤC CÁC TỪ VIẾT TẮT
Từ viết tắt Cụm từ viết đầy đủ
ACL Agent Communication Language
AI Artificial Intelligence
AORML Agent - Object - Relationship Modeling Language
AUML Agent UML
COD Communication Ontology Description
DOD Domain Ontology Description
FIPA Foundation for Intelligence Physical Agent
HTML HyperText Markup Language
HTTP Hypertext Transfer Protocol
JADE Java Agent DEvelopment framework
LAN Local Area Network
LORA Logic Of Rational Agents
PASSI Process for Agent Societies Specification and Implementation RDF Resource Description Framework
REV Remote Evaluation
RPC Remote Procedure Call
UML Unified Modeling Language
WAN Wide Area Network
Trang 8MỞ ĐẦU
Hiện nay với sự phát triển các kênh thông tin trên Internet, số lượng tin tức hàng ngày rất nhiều và phong phú Người dùng thường mất rất nhiều thời gian để lướt qua các kênh thông tin này để thu lượm những thông tin về các lĩnh vực mình quan tâm mà thông thường thì lượng thông tin này thường chiếm một phần nhỏ trong lượng tin tức được xuất bản mỗi ngày Thực tiễn đề ra yêu cầu có hệ thống tự động thu thập các tin tức (báo chí) trên Internet, sắp xếp chúng sao cho người dùng có thể tiếp cận được thông tin mình quan tâm Đó là một hệ thống có tính thông minh:
+Có khả năng học hỏi (học để biết thông tin nào là gần với sở thích người dùng)
+Có khả năng phản ứng với môi trường (tự động nhận biết khi có thông tin mới, thông báo với người dùng nếu có thông tin mà người dùng quan tâm)
+Có khả năng đáp ứng cho nhiều người dùng trên hệ thống
+Có khả năng dễ nâng cấp hệ thống về chất lượng cũng như về khả năng đáp ứng của hệ thống
Với bài toán trên hệ thống là một tập hợp các vấn đề:
+Thu thập tin tức
+Trích trọn thông tin
+Phân loại thông tin
+Quản lý thông tin về người dùng
Về tổng thể, đây là một bài toán phức tạp khi kết hợp nhiều các yêu cầu khác nhau với nhiều rằng buộc giữa các yêu cầu Việc chia nhỏ các vấn đề sẽ giúp ta giải quyết bài toán một cách đơn giản hơn rất nhiều Và chia để trị cũng là tư tưởng của phát triển phần mềm hướng agent Với khả năng phân chia không gian vấn đề và tổ chức tốt các mối quan hệ phụ thuộc cũng như các tương tác trong một hệ thống phức tạp mà Công nghệ phần mềm hướng agent là một cách tiếp cận mới cho các hệ thống phức tạp và đó cũng là lý do mà tôi đã chọn hướng agent để giải quyết bài toán này
Trang 92 Agent là một cách tiếp cận mới với các đặc điểm: phân tán, tự trị, thông minh, hoạt động tin cậy, thông minh… có thể đáp ứng được những yêu cầu ngày càng phức tạp của các hệ thống phần mềm hiện đại Theo tư tưởng của công nghệ phần mềm hướng agent, hệ thống phần mềm như một tập các agent, mỗi agent có tính thông minh, tự trị, tương tác, di động và có mục tiêu hoạt động cụ thể
Sự phát triển của công nghệ agent đang đặt ra một tương lai hứa hẹn cho việc phát triển ngành công nghệ phần mềm ngày một tốt hơn Công nghệ agent sẽ ngày càng góp phần nhiều hơn nữa trong công nghiệp phần mềm của thế giới nói chung và của nước
ta nói riêng
Mục đích của luận văn này là việc xây dựng hệ thống phát triển hệ thống lọc và sắp
xếp tin tức theo ngữ cảnh người dùng đáp ứng các khả năng thu thập nội dung các
bài viết trên các website tin tức tiếng Việt trên Internet và sắp xếp kết quả hiển thị thứ
tự các bài viết theo sở thích thói quen của người dùng dựa trên việc ứng dụng công nghệ Agent
Cấu trúc các phần còn lại của luận văn như sau:
Chương 1 trình bày các kiến thức cơ sở về tác tử (agent), chương 2 đi sâu vào công nghệ phần mềm hướng agent
Chương 3 trình bày phương pháp thiết kế và phát triển hệ thống đa agent PASSI - Process for Agent Societies Specification and Implementation [1]
Chương 4 trình bày Hệ thống phát triển hệ thống lọc và sắp xếp tin tức theo ngữ
cảnh người dùng được thiết kế sử dụng phương pháp PASSI.
Trang 10CHƯƠNG 1 KHÁI NIỆM VỀ AGENT
1.1 Agent là gì?
Hiện nay thuật ngữ agent được sử dụng rất nhiều trong lĩnh vực thông tin như Mobile Agent - thuật ngữ chỉ phân mềm có khả năng di chuyển giữa các nền tảng khác nhau, User- Agent sử dụng trong giao thức HTTP để xác định thông tin trình duyệt… Vậy agent là gì?
Hiện nay một số định nghĩa được đề xuất, trong đó nổi bật là định nghĩa của hai tác giả Wooldridge và Jennings đưa ra năm 1995 Định nghĩa đó như sau[2]:
Một phần cứng hoặc (phần nhiều là) hệ thống phần mềm có các thuộc tính sau:
• Sự tự trị: Các agent hoạt động mà không cần sự can thiệp trực tiếp của con người hoặc các agent khác và có một số điều khiển thông qua các hành động
và trạng thái nội tại của chúng;
• Khả năng xã hội: Các agents tương tác với các agent khác (và có thể cả con người) thông qua một vài loại ngôn ngữ giao tiếp của agent;
• Khả năng phản ứng: Các agent nhận thức được môi trường xung quanh chúng, (nó có thể là thế giới thực, là người dùng thông qua giao diện sử dụng của họ, hoặc một tập các agent khác, Internet hoặc có thể là tất cả các sự kết hợp trên),
và phản ứng đúng lúc nhằm thay đổi bản thân chúng.
• Tính tích cực: Các agent không chỉ đơn giản hành động phản hồi lại môi trường mà chúng còn có khả năng thực hiện những hành vi một cách chủ động.
Một định nghĩa gần đây hơn Wooldridge đề xuất năm 2002:
Một agent là một hệ thống máy tính mà nó cư trú trong một vài môi trường và nó có khả năng hoạt động một cách độc lập trong môi trường đó đúng với mục tiêu thiết kế
Theo định nghĩa trên agent là:
• Các thực thể giải quyết vấn đề có thể nhận biết một cách rõ ràng với ranh giới
và giao diện rõ ràng
Trang 114.2 Mô hình xã hội các agent
4.2.1 Mô tả Ontology lĩnh vực
Mô tả Ontology lĩnh vực của hành động phân tích và tách nội dung bài viết từ trang HTML
Hình 25: Mô tả Ontology lĩnh vực của hành động phân tích và tách nội dung bài viết
từ trang HTML
Mô tả Ontology lĩnh vực của hành động nhóm các tin giống nhau
Hình 26: Mô tả Ontology lĩnh vực của hành động nhóm các tin giống nhau
Trang 12Mô tả Ontology lĩnh vực của hành động sắp xếp các tin theo sở thích người dùng
Hình 27: Mô tả Ontology lĩnh vực của hành động sắp xếp các tin theo sở thích người
dùng
Trang 13Mô tả Ontology lĩnh vực của hành động cập nhật thói quen/ sở thích người dùng
Hình 28: Mô tả Ontology lĩnh vực của hành động cập nhật thói quen/ sở thích người
dùng
Trang 14Thank you for evaluating AnyBizSoft PDF Splitter.
A watermark is added at the end of each output PDF file
To remove the watermark, you need to purchase the software from
http://www.anypdftools.com/buy/buy-pdf-splitter.html