14
ĐẠ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

HỆ THỐNG LỌC VÀ SẮP XẾP TIN TỨC THEO NGỮ CẢNH NGƯỜI …repository.vnu.edu.vn/bitstream/VNU_123/15290/1/V_L0_01865.pdf · Vân đã cùng sát cánh bên tôi đưa

Embed Size (px)

Citation preview

ĐẠ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

ĐẠ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

LỜ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

LỜ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.

MỤC LỤC

MỞ ĐẦU.....................................................................................................................................1CHƯƠNG 1.KHÁI NIỆM VỀ AGENT.....................................................................................31.1.Agent là gì?...........................................................................................................................31.2.Phân loại agent......................................................................................................................51.2.1.Phân loại agent theo độ thông minh...................................................................................51.2.2.Phân loại agent theo tính di động ......................................................................................51.2.3.Phân loại theo khả năng giao tiếp và cộng tác...................................................................61.3.Phân loại hệ thống agent.......................................................................................................71.3.1.Phân loại hệ thống theo số lượng agent.............................................................................71.3.2.Phân loại hệ thống theo số lượng nơi cư trú (môi trường).................................................7CHƯƠNG 2.CÔNG NGHỆ PHẦN MỀM HƯỚNG AGENT...................................................82.1.Cách tiếp cận hướng agent trong công nghệ phần mềm.......................................................82.1.1.Phân chia hướng agent.....................................................................................................102.1.2.Trừu tượng hóa hướng agent............................................................................................112.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.......................112.2.So sánh hướng agent với hướng đối tượng và phần mềm đóng gói....................................122.3.Vòng đời phát triển của phần mềm hướng agent................................................................132.3.1.Mô hình hóa hệ thống agent.............................................................................................132.3.2.Phân tích thiết kế..............................................................................................................142.3.3.Kiểm thử...........................................................................................................................15CHƯƠNG 3.PHƯƠNG PHÁP THIẾT KẾ & PHÁT TRIỂN HỆ THỐNG ĐA AGENT PASSI...............173.1.1.Giới thiệu về PASSI.........................................................................................................173.2.Mô tả yêu cầu......................................................................................................................183.3.Xác định các agent..............................................................................................................183.4.Xác định vai trò...................................................................................................................193.5.Xác định các tác vụ.............................................................................................................193.6.Mô tả Ontology - Ontology Description.............................................................................213.7.Định nghĩa cấu trúc đa agent...............................................................................................303.8.Định nghĩa cấu trúc của từng agent.....................................................................................313.9.Mô tả các hành vi trong hệ thống đa agent.........................................................................313.10.Mô hình mã chương trình - Code Model..........................................................................323.11.Mô hình triển khai Deployment Model.............................................................................32CHƯƠ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......334.1.Mô tả bài toán.....................................................................................................................334.1.1.Các Use Case hệ thống.....................................................................................................344.1.2.Xác định các Agent..........................................................................................................374.1.3.Xác định vai trò của các agent.........................................................................................384.1.4.Xác định các tác vụ của các agent....................................................................................414.2.Mô hình xã hội các agent....................................................................................................43

4.2.1.Mô tả Ontology lĩnh vực..................................................................................................434.2.2.Mô tả Ontology truyền thông...........................................................................................464.3.Mô hình thực thi các agent..................................................................................................474.3.1.Các trúc các agent (đa agent)...........................................................................................474.3.2.Định nghĩa cấu trúc từng agent........................................................................................484.4.Cài đặt và triển khai............................................................................................................504.5.Một số giao diện..................................................................................................................504.6.Thử nghiệm và đánh giá......................................................................................................51KẾT LUẬN ..............................................................................................................................52

DANH MỤC CÁC TỪ VIẾT TẮTTừ 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

1

MỞ ĐẦ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.

2

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.

3

CHƯƠ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.

43

4.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

44

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

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

45

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

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

Thank 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