Xây dựng hệ thống so sánh thông tin giá cả trực tuyến

LỜI NÓI ĐẦU Bối cảnh chung Từ những năm cuối thể kỉ 20, nền kinh tế thế giới đã có nhiều bước tiến lớn. Nó kéo theo nhu cầu mua sắm của con người cũng tăng lên đáng kể. Các hình thức tổ chức kinh doanh như siêu thị, cửa hàng, đại lý, ngày càng đại chúng, ngày càng phong phú về chất lượng sản phẩm, đa dạng về hình thức phục vụ. Nhu cầu của con người ngày càng tăng nhưng quỹ thời gian của mỗi người dành cho mua sắm ngày càng eo hẹp. Vấn đề đặt ra là người tiêu dùng muốn tìm thấy sản phẩm có chất lượng với giá cả phải chăng trong khi không tốn nhiều công sức, thời giờ đến thăm từng cửa hàng lục tìm từng sản phẩm. Đứng dưới góc độ người tiêu dùng thì như vậy, còn dưới góc độ của người kinh doanh thì đương nhiên họ muốn quảng bá sản phẩm tới càng nhiều người càng tốt, làm sao để có thật nhiều khách và bán được thật nhiều hàng. Cả người tiêu dùng và người kinh doanh đều muốn hướng tới một hình thức kinh doanh nào đó thỏa mãn cả đôi bên. Trong thời đại bùng nổ của công nghệ thông tin, hình thức mua bán trực tuyến đã ra đời, mau chóng tìm được chỗ đứng và không ngừng phát triển. Với hình thức mua bán mới này, người tiêu dùng không cần phải đi đâu xa, chỉ cần ngồi một chỗ truy cập đến các Website bán hàng để mua sắm theo nhu cầu. Hầu hết các Website mua bán trực tuyến hiện nay đều cung cấp chức năng tìm kiếm, giúp tiết kiệm rất nhiều thời gian cho người dùng. Tuy nhiên, với sự gia tăng chóng mặt của các Website bán hàng hay quảng cáo sản phẩm, người tiêu dùng không biết nên bắt đầu từ đâu. Cùng một sản phẩm có khi có đến hàng trăm Website bày bán với giá cả chênh lệch nhau. Tâm lý chung của người tiêu dùng là muốn mua được sản phẩm có chất lượng với giá cả thấp nhất, nhưng nếu đi đến từng Website để so sánh thì sẽ mất rất nhiều thời gian. So sánh giá cả trực tuyến Nắm bắt nhu cầu của người tiêu dùng, trên thế giới đã có khá nhiều Website so sánh thông tin giá cả được xây dựng [12]. Riêng ở Việt Nam, theo khảo sát của chúng tôi nếu như cách đây một năm còn chưa có Website nào như vậy thì cho đến nay đã có một xuất hiện ở địa chỉ [13]. Các Website so sánh giá cả là nơi tập hợp thông tin về nhiều chủng loại mặt hàng khác nhau thu thập được từ nhiều nguồn trực tuyến khác nhau. Chúng cho phép người dùng chọn lựa xem mua tại nơi nào là tốt nhất. Hầu hết các Website so sánh giá cả đều có chức năng tìm kiếm theo tên và thông tin sản phẩm. Quá trình thu thập thông tin giá cả được tự động hóa ở những mức độ khác nhau. Mức độ thấp nhất là dữ liệu được nhập hoàn toàn bằng tay thông qua quan sát bằng mắt trên một số Website bán hàng nhất định. Cao hơn một mức, người ta sử dụng những tác tử khảo duyệt và trích rút thông tin, nhưng vì các Website khác nhau có cách thức tổ chức khác nhau nên đối với mỗi Website phải xây dựng một bộ luật trích rút riêng cho chương trình tác tử thông qua khảo sát trước bằng mắt. Những tác tử này được gọi chung là tác tử so sánh giá cả (comparison shopping agent). Công việc trích rút thông tin đạt được mức độ tự động cao nhất khi tác tử so sánh giá cả có thể tự động xây dựng các bộ luật trích rút phù hợp với mỗi Website không cần tới sự can thiệp của người lập trình. Những nghiên cứu theo hướng này bao gồm các công trình [1, 2, 4, 5, 6, 7, 8], trong đó hiệu quả nhất hiện nay là loại tác tử có khả năng học máy do nhóm tác giả Hàn Quốc Yang et al. đề xuất trong các tài liệu [4, 5 6]. Tác tử trích rút thông tin theo phương pháp học máy hoạt động độc lập với thể loại sản phẩm và hoàn toàn tự động. Chỉ cần biết địa chỉ trang chủ một cửa hàng trực tuyến, nó sẽ tự động học cách trích rút thông tin sản phẩm từ Website đó, trong đó có thông tin quan trọng nhất là giá cả sản phẩm. Loại tác tử này có một số chức năng nổi trội như sau: - Tự động học - Không đòi hỏi phải hiểu ngôn ngữ tự nhiên - Dựa trên cơ sở của ngôn ngữ HTML Quá trình tự động học của tác tử giúp cho nó có khả năng phân tích các mô tả sản phẩm và nhận biết được các thuộc tính sản phẩm như giá cả hay chủng loại của sản phẩm. Nó thực hiện điều này mà không cần phải qua những khâu xử lý ngôn ngữ tự nhiên rất phức tạp, và chỉ yêu cầu một ít kiến thức về các thể loại sản phẩm khác nhau mà thôi. Nó trích rút thông tin từ các cửa hàng trực tuyến thông qua sự kết hợp của các kỹ thuật tìm kiếm theo kinh nghiệm, tương hợp mẫu và học suy diễn. Mục đích của khóa luận Khóa luận hướng tới các mục tiêu như sau: · Nghiên cứu thuật toán trích rút thông tin theo phương pháp học máy. · Phát triển bằng ngôn ngữ lập trình Java tác tử so sánh giá cả có khả năng trích rút thông tin thông minh theo cơ chế học máy đã nghiên cứu. · Xây dựng một hệ thống có khả năng giúp người tiêu dùng trong việc khảo sát và chọn sản phẩm một cách tập trung với chức năng quy tụ thông tin từ vô số nguồn khác nhau. · Thử nghiệm tác tử với những Website tiêu biểu ở Việt Nam, qua đó đánh giá hiệu quả của chương trình trích rút thông tin và từ đó thực hiện những cải tiến cần thiết về mặt giải thuật và cài đặt. Kết quả · Thiết kế được hệ thống hệ thống tương đối hoàn chỉnh các chức năng bao gồm các công việc: Thiết kế tác tử, Website và cơ sở dữ liệu. · Tập trung cài đặt và thử nghiệm thành công thành phần chính là tác tử trích rút thông tin sản phẩm, áp dụng cho những Website bán hàng tại Việt Nam. · Xây dựng được một hệ thống thử nghiệm đơn giản so sánh giá cả từ một số Website bán hàng khác nhau. Kết quả đạt được tuy còn ở mức hạn chế nhưng về cơ bản đã thực hiện được mục đích đặt ra của khóa luận. Bố cục khóa luận Chương 1 trình bày các kiến thức cơ sở về Java để thực hiện đề tài. Nhìn chung, đề tài này thực hiện với hai nội dung chính. Nội dung thứ nhất là xây dựng được một Website thể hiện được so sánh về giá cả của sản phẩm từ nhiều Website khác nhau. Nội dung thứ hai là thực hiện trích rút thông tin sản phẩm từ các Website bằng tác tử thu thập thông tin giá cả. Cơ chế của tác tử thu thập thông tin giá cả sẽ được đề cập đến ở Chương 3. Hai nội dung này nối kết với nhau bằng một CSDL. Chức năng của CSDL là lưu trữ thông tin sản phẩm về tên chủng loại ,giá bán và các thông tin khác. Website xây dựng được có phần tìm kiếm để người dùng nhập vào từ khóa tìm kiếm. Với từ khóa này, hệ thống sẽ tự tìm trong CSDL xem có sản phẩm nào là phù hợp với từ khóa mà người dùng nhập vào hay không. Nếu có thì sẽ có một trang kết quả trả về trong đó nêu lên các đặc tính của sản phẩm, nơi bán và đặc biệt là nêu bật được giá cả bán ở từng nơi. Để sự tìm kiếm của người dùng có kết quả như mong đợi thì cần phải có sự thể hiện từ hai phía. Phía khách hàng phải có cách nhập từ khóa hợp lý. Phía hệ thống cần phải thường xuyên cập nhật thông tin, thêm sản phẩm mới. Để xây dựng được hệ thống phải khảo sát các Website bán hàng. Nó vừa là sự kiểm chứng cho lý thuyết được đặt ra có phù hợp với thực tiễn hay không vừa là để phục vụ cho việc cập nhật các Webiste sau này. Với mong muốn trước tiên là ứng dụng đề tài này cho các Webiste ở Việt Nam nên chương 2 của báo cáo này sẽ trình bày phần khảo sát về các Website kinh doanh ở Việt Nam. Chương 3 trình bày việc thiết kế tác tử trích rút thông tin. Chương 4 của báo cáo này sẽ trình bày chi tiết cách triển khai trên thực tế. Phần thứ nhất là tìm hiểu và làm rõ từ các vấn đề kỹ thuật cơ sở (như sử dụng ngôn ngữ Java, sử dụng các lớp Java xây dựng sẵn) để thiết kế tác tử so sánh giá cả (Tự động tìm form tìm kiếm, trích rút thông tin sản phẩm). Phần thứ hai sẽ trình bày ýtưởng xây dựng một Website so sánh giả cả và cơ sở dữ liệu để hoàn thành lên một ứng dụng hoành chỉnh Sau cùng là tích hợp các kỹ thuật để cài đặt và triển khai một hế thống so sánh giá cả đơn giản. Vì đây là một lĩnh vực còn khá mới mẻ ở Việt Nam và cũng là một bài toán khó đòi hỏi sự nghiên cứu kỹ càng, sự thực nghiệm và học hỏi nghiêm túc. Trước mắt, chương trình mới chỉ giới hạn tìm kiếm trên các Webiste ở Việt Nam. Thông tin về sản phẩm tìm kiếm cũng có sự hạn chế đến mức cơ bản. Nhưng chắc chắn đề tài sẽ không dừng lại ở đó mà còn tiếp tục hoàn thiện hơn, nhiều tính năng hơn. Phần kết luận sẽ đề ra phương hương phát triển của đề tài này. Tóm lại, qua 5 chương: § Chương 1: Khảo duyệt Web với Java § Chương 2: Khảo sát các Website bán hàng ở Việt Nam § Chương 3: Thiết kế tác tử trích rút thông tin § Chương 4: Phát triển hệ thống so sánh thông tin giá cả trực tuyến § KẾT LUẬN VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN Người đọc sẽ có một cách tiếp cận từ tổng thể đến cụ thể về một công nghệ mới: Xây dựng tác tử so sánh giá cả và ứng dụng vào Website phục vụ tìm kiếm MỤC LỤC TÓM TẮT NỘI DUNG 1 LỜI NÓI ĐẦU 5 Bối cảnh chung . 5 So sánh giá cả 5 Mục đích đề tài . 6 Bố cục khóa luận 6 Chương 1 KHẢO DUYỆT WEB VỚI JAVA 9 1.1 Tìm hiểu về HTTP Request 9 1.2 Tìm hiểu về gói Bot-Package . 10 1.3 Sử dụng gói thư viện Swing cho việc phân tích cú pháp HTML 13 Chương 2 KHẢO SÁT CÁC WEBSITE BÁN HÀNG Ở VIỆT NAM 15 2.1 Giới thiệu . 15 2.2 Bố trí mục tìm kiếm 17 2.3 Hình thức tìm kiếm . 17 2.3.1 Tìm kiếm đơn giản 17 2.3.2 Tìm kiếm chi tiết: 17 2.3.3 Tìm kiếm theo danh mục . 18 2.4 Nhận biết mục tìm kiếm . 19 2.4.1 Cách khảo sát tìm kiếm 19 2.5 Trình bày của Website khi tìm thấy hoặc không tìm thấy sản phẩm . 20 2.5.1 Tổ chức chung . 20 2.5.2 Phân cách các sản phẩm 21 2.5.3 Đơn vị mô tả sản phẩm . 22 2.6 Kết luận 22 Chương 3 THIẾT KẾ TÁC TỬ TRÍCH RÚT THÔNG TIN 23 3.1 Giới thiệu . 23 3.2 Kiến trúc của hệ thống trích rút thông tin . 24 3.3 Chương trình học 26 3.3.1 Xác định mẫu biểu tìm kiếm . 27 3.3.2 Lấy ra đơn vị miêu tả sản phẩm 28 3.3.3 Xác định giá trị của các thuộc tính sản phẩm . 37 3.4 Trình quản lý thuật ngữ 37 3.4.1 Giới thiệu . 37 3.4.2 Xây dựng giao diện nhập thuật ngữ 38 3.4.3 Mở rộng thuật ngữ bằng cấu trúc cây . 39 3.5 Kết luận 40 Chương 4 PHÁT TRIỂN HỆ THỐNG SO SÁNH . 41 GIÁ CẢ TRỰC TUYẾN 41 4.1 Mô hình tổng quát . 41 4.2 Thiết kế tác tử 42 4.3 Thiết kế Website . 46 4.3.1 Mô tả Website . 46 4.3.2 Cấu trúc Website . 46 4.3.3 Hoạt động của Website: . 47 4.4 Cơ sở dữ liệu 48 4.5 Hướng dẫn cài đặt hệ thống thực nghiệm Website so sánh giá cả . 52 4.5.1 Cài đặt trình biên dịch JDK và trình chủ Web Tomcat 52 4.5.2 Biên dịch và chạy ứng dụng 54 4.6 Kết luận 57 KẾT LUẬN . 58 DANH MỤC TÀI LIỆU THAM KHẢO 60

doc61 trang | Chia sẻ: lvcdongnoi | Lượt xem: 3143 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Xây dựng hệ thống so sánh thông tin giá cả trực tuyến, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Máy tính và các linh kiện máy tính Tạp phẩm Sách báo, đĩa nhạc, điện hoa Các linh kiện máy tính Máy tính và linh kiện máy tính Máy tính và linh kiện máy tính VCD, DVD , Amply, v…v Đệm, gối, salon v..v.. Sách báo, tap chí… Các mặt hàng điện tử của Sony Các linh kiện và dịch vụ mạng, dich vụ viễn thông Máy tính và các linh kiện máy tính Máy tính và các linh kiện máy tính Máy tính và các linh kiện máy tính Máy tính và các linh kiện Website bán điện thoại di động Website bán điện thoại di động ..v..v Một số các Website về điện thoại di động khác Bảng 2-1: Khảo sát kinh doanh nhiều mặt hàng thuộc nhiều lĩnh vực khác nhau Bố trí mục tìm kiếm Thông thường, các Website có mục tìm kiếm đặt ngay ở trang chủ. Nhưng ta vẫn bắt gặp những trang có trang chủ chỉ có chức năng giới thiệu, không có chức năng tìm kiếm. Ví dụ : Trang đầu tiên lại để quảng cáo về hãng. Để tìm ra sản phẩm cùng với giá cả liên quan thì phải qua rất nhiều đường link. Đến đường link thứ 3 chúng ta mới có thông tin về sản phẩm cần tìm. chỉ có một textbox để bạn gõ địa chỉ email của mình vào đó, hãng sẽ gửi báo giá về cho bạn theo các danh mục có sẵn. Không có mục tìm kiếm theo dạng textbox tại trang chủ. Nó chỉ có một danh mục để cho ta chọn theo tên danh mục. Ví dụ ta cần tìm một sản phẩm mà có liên quan đến bộ vi xử lý thì nhấn chuột vào “Bộ vi xử lý”. Khi đó có một danh sách về các loại bộ vi xử lý với một vài thông báo ngắn gọn về đặc tính và giá cả cũng như thời gian bảo hành. phải vào một trang sản phẩm thì mới có mục tìm kiếm hiện lên. Trang chủ chỉ nêu lên các thông tin về một vài sản phẩm tiêu biểu của hãng, các thông tin này được nêu đầy đủ: Loại mặt hàng, thông số kĩ thuật, giá cả, bảo hành. Nói chung là việc không hỗ trợ mục tìm kiếm buộc người dùng tìm kiếm thêm một bước nữa và vất vả hơn rất nhiểu khi muốn tìm ra đúng sản phẩm mình cần. Hình thức tìm kiếm Tìm kiếm đơn giản Đó là những trang chỉ có một textbox để người dùng gõ vào đó với nội dung là sản phẩm cần tìm. Đại đa số tất cả các Website đều tổ chức mục tìm kiếm như vậy. Hình 2-1 Mục tìm kiếm đơn giản ( Một số trang cũng chỉ tìm kiếm đơn thuần khác như: , Tìm kiếm chi tiết: Thông thường tại các Website, bên cạnh mục tìm kiếm đơn giản đều có mục tìm kiếm nâng cao hay còn gọi là tìm kiếm chi tiết. Đây là phần mở rộng hơn so với khả năng tìm kiếm ở phần trên. Tức là phần tìm kiếm ngoài một hộp textbox để người dùng nhập vào còn có một số lựa chọn khác do nhà cung cấp đưa ra. Hình 2-2 Tìm kiếm chi tiết( Tương tự: Tìm kiếm chi tiết giới hạn phạm vi tìm kiếm nên đôi khi kết quả trả về có thể là không thấy so với tìm kiếm đơn giản, vì cùng một chủng loại nhưng phạm vi giá tìm kiếm lại không trùng với giá mà cửa hàng có. Tìm kiếm nâng cao thật ra đòi hỏi người dùng phải có một sự hiểu biết nhất định và còn phải có cách tìm kiếm hợp lý mới tìm ra sản phẩm theo mong muốn. Còn có một kiểu nữa tạm xếp vào loại này, đó là tìm kiếm theo phân loại về sản phẩm (Ví dụ: sách, đĩa ca nhạc,...) và gõ vào tên sản phẩm cần tìm. Trang là một ví dụ về loại này. Tìm kiếm theo danh mục Đây là loại tìm kiếm mà chúng ta chỉ có thể lựa chọn khi tìm kiếm. Họ cung cấp cho ta một danh sách tên các sản phẩm và ta phải chọn trong danh sách đó. Hình 2-3 Tìm kiếm theo danh mục( Tiêu biểu cho loại này là Đây là Website được đánh giá là rất khoa học cho việc tìm kiếm. Nó hạn chế thời gian tìm của ta bằng cách cung cấp sẵn tên các sản phẩm có trong CSDL. Ứng với mỗi sản phẩm ( ví dụ như Nokia) thì lại có một danh sách bên cạnh giới thiệu về các chủng loại của sản phẩm đó ( ví dụ như 6610,6610i...của Nokia). Nó còn cung cấp cho ta khả năng tìm kiếm theo giá cả lớn nhất và nhỏ nhất giới hạn được. Tương tự: Nhận biết mục tìm kiếm Với mục tìm kiếm đơn thuần, thường thì có các từ sau hay được sử dụng: “Tìm kiếm”, “TÌM KIẾM”, “search” và các hình ảnh như : nút nhấn, biểu tượng “Go”, “Search” v..v hay kèm theo để làm button với tên gọi thường gặp: “go.gif” , “go_button.gif”, “go4.gif” , “search.gif”. Với mục tìm kiếm mở rộng, ngoài các từ khóa trên có thêm một dòng hướng dẫn như “ tìm kiếm mở rộng”, “ tìm kiếm chi tiết”, “tìm kiếm nâng cao”, “ tìm theo các thông tin khác”, “ advanced search”v..v.. Đó là một đường link và nó dẫn tới một trang khác. Trang này hướng dẫn tìm kiếm với một số từ khóa hay gặp là :”từ khóa” , “tên nhà sản xuất”, “giá tiền”,”tìm trong mục” v…v Thực ra tùy thuộc vào đặc thù sản phẩm của từng cửa hàng kinh doanh mà phần này sẽ hỗ trợ thế nào. Các công ty máy tính, hàng điện tử thường tìm kiếm nâng cao với sản phẩm có tên là gì, nhà sản xuất là ai, trong phần nào của máy móc và giá thành có giới hạn là gì? (Có thể xem xét tại một số trang như : , , , ta đều thấy như vậy. ) Nhưng với một công ty khác và với mặt hàng khác thì họ lại không chọn theo các tiêu chí như vậy. Ví dụ: thì chỉ cho tìm kiếm chi tiết với cụm từ mà người dung nhập vào và lựa chọn xem cụm từ đó thuộc về tên tác giả hay là tên sách. Các thông tin quan trọng thường trong các thẻ mà hay được sử dụng trong các Website : , , ,, Cách khảo sát tìm kiếm Nếu mục tìm kiếm có chức năng nhập thì nhập vào với cụm từ vô nghĩa để chắc chắn giá trị trả về là không tìm thấy. Nhập vào một tên sản phẩm nào đó và giá trị trả về có thể là tìm thấy sản phẩm hoặc là không tìm thấy. Nếu sản phẩm vẫn không được tìm thấy thì khảo sát lại trang đó và nhập vào một sản phẩm chắc chắn có trong CSDL. Trình bày của Website khi tìm thấy hoặc không tìm thấy sản phẩm Tổ chức chung Cấu trúc của trang trả về khi không tìm thấy và tìm thấy sản phẩm có cấu trúc hoàn toàn giống nhau. Thường sẽ có thông báo là “Tìm thấy x sản phẩm” hoặc tương tự, với x có thể là 0 (tức là không có sản phẩm nào). Ví dụ một số Website sử dụng cách này là: Hình 2-4: Minh họa kết quả trang tìm kiếm trả về Cách thứ hai mà rất nhiều trang sử dụng là thông báo “Không tìm thấy sản phẩm” hoặc gần giống như thế khi kết quả truy vấn không thành công. Khi tìm thấy sản phẩm, một trang bao gồm một danh sách các sản phẩm sẽ hiện ra. Có thể đây là nơi cuối cùng thông tin về sản phẩm được thông báo. Nhưng cũng có thể trong mỗi sản phẩm lại có một đường link để bạn vào xem xét chi tiết về sản phẩm đó. Ta có thể tìm thấy các minh họa qua một số Website sau: khi nhập từ khóa DVD trả về một danh sách các sản phẩm mà mỗi sản phẩm còn có một đường link dẫn tới một trang tiếp theo sẽ giới thiệu kĩ hơn về sản phẩm đó. thông báo tìm thấy số lượng sản phẩm là bao nhiêu và một danh sách sản phẩm sẽ được liệt kê bên dưới, nó cũng có một đường link dẫn tới trang có thông tin chi tiết hơn về mỗi sản phẩm. Cách thứ ba, giả sử nếu không tìm thấy sản phẩm trong CSDL thì thông báo xuất hiện tương tự như: “Không tìm thấy trong CSDL với từ khóa x” với x là cụm từ mà người dùng nhập vào. Khi tìm kiếm có kết quả thì thông báo “Tìm thấy trong CSDL với từ khóa : x” và một loạt các danh sách sản phẩm sẽ được in ra. Có thể xem cụ thể ở các trang : Cách thứ tư mà một số Website sử dụng đó là: khi truy vấn không cho kết quả thì trả về một trang trắng không có thông báo gì; còn khi có kết quả thì trả về một trang thì chỉ in ra danh sách các sản phẩm tìm thấy và thông tin về sản phẩm. Ví dụ : Nói chung dù có kết cấu các trang kết quả như thế nào thì ta thấy với mỗi Website thì các trang truy vấn dù có tìm thấy sản phẩm hay không đều cấu trúc phần header và footer giống nhau. Nội dung phần thân mới thể hiện sự khác biệt. Từ đó có thể thấy rằng nếu ta tìm kiếm tự động mà cắt bỏ được 2 phần nói trên thì thời gian tìm kiếm sẽ ngắn hơn rất nhiều. Bây giờ, ta tập trung khảo sát vào các trang trả về có tìm thấy sản phẩm: Phân cách các sản phẩm Khi xem xét các trang trả về kết quả tìm thấy sản phẩm như: với từ khóa “s506” với từ khóa“maxtor” với từ khóa "CPU" với từ khóa CPU PentiumIV v..v..v ta thấy thông tin các sản phẩm được phân phối theo chiều ngang. Tức là các sản phẩm được lưu trong một bảng, bảng đó phân chia theo hàng ngang, mỗi một sản phẩm sẽ chiếm một phần. Phần này có thể là một dòng, hoặc là một bảng con gồm nhiều dòng. Như vậy để trích rút thông tin về một sản phẩm ta phải biết được khi nào thì phần giới thiệu về sản phẩm đó kết thúc hay ô nào là của sản phẩm nào. Hình 2-5 Miêu tả danh sách sản phẩm trả về khi tìm kiếm Đơn vị mô tả sản phẩm Thuộc tính trả về của các sản phẩm thường rất phong phú và tùy thuộc vào Website đó phục vụ công việc kinh doanh gì. Nhìn chung thì chúng ta có thể tìm thấy thông tin đủ cần thiết về một sản phẩm ngay ở trang đầu tiên trả về khi tìm kiếm. Ví dụ như khi tìm kiếm một sản phẩm là ổ cứng máy tính trên trang : Thông tin trả về cho mỗi sản phẩm theo dạng như sau: Hình 2-6 Đơn vị mô tả sản phẩm Giá cả: Giá cả là phần phức tạp. Bởi vì có rất nhiều trang không thông báo giá cả (đã nói ở trên). Một số trang khác thì dùng đơn vị:VND(Ví dụ: ) USD hay $ ( hầu hết các trang đều dùng). Các từ để chỉ giá cũng rất phong phú: giá bán, giá, price..Thường thì ta có thể tìm kiếm theo từ “giá”, “ giá bán”, "VNĐ", "đồng", "VND" hay "$". Ví dụ: Hình thức thông báo giá: Tên sản phẩm + số tiền + $. Hình thức thông báo giá cả: Số tiền + VNĐ +số % VAT . Hình thức thông báo giá: Có mục Giá : + $ + Số tiền. Kết luận Qua khảo sát một số Website bán hàng ở Việt Nam ta thấy mặc dù các Website này có thể thể hiện cách tìm kiếm và trả về sản phẩm khi tìm kiếm khác nhau thì chúng vẫn có những điểm chung để tác tử của ta tiến hành duyệt các Website này. Các trang nói riêng và phần tìm kiếm nói chung thường được thiết kế theo một mẫu có sẵn, có thể nhận ra chúng và phân tách chúng. THIẾT KẾ TÁC TỬ TRÍCH RÚT THÔNG TIN Giới thiệu So sánh thông tin giá cả trực tuyến là một ứng dụng cần thiết và quen thuộc đối với các nước phát triển, nhưng với nước ta đây vẫn là một khái niệm còn rất mới mẻ. Trên thế giới đã có không ít các Website so sánh giá cả trực tuyến nhằm phục vụ nhu cầu mua sắm qua mạng rất lớn của người tiêu dùng. Do những ứng dụng này ra đời sớm nên còn rất thủ công và có nhiều hạn chế. Những nhà phát triển đã xây dựng chương trình bằng cách ứng với mỗi Website bán hàng trực tuyến họ lại xây dựng một tác tử riêng để trích rút thông tin giá cả cho Website đó. Rõ ràng, cách tiếp cận của họ không khả chuyển và mỗi khi có một Website mới ra đời thì lại mất công xây dựng một chương trình mới để trích rút thông tin cho Website này. Mục đích của chương này là trình bày cơ chế hoạt động của tác tử tìm kiếm và trích rút thông tin theo phương pháp học máy đề xuất bởi nhóm nghiên cứu của Yang et al. [4, 5, 6]. Đây là thuật toán tìm kiếm và trích rút thông tin giá cả mới có thể áp dụng được trên nhiều Website khác nhau. Nếu như các hệ thống so sánh trực tuyến trước đây để trích rút được thông tin đòi hỏi người thiết kế phải đưa ra các luật trích rút thông tin, thì nay hệ thống này có khả năng tự động xây dựng lên các luật trích rút thông tin từ các Website. Một tác tử sẽ tự động tạo ra luật trích rút thông tin cho một Website cụ thể và xây dựng lên một Chương trình học cho Website đó. Trong hệ thống của chúng ta, tác tử sẽ nhận địa chỉ URL của Website mua bán trực tuyến để học cách xác định vị trí của các đơn vị miêu tả sản phẩm (khái niệm này sẽ đề cập ở phần sau). Tác tử sẽ chuyển đổi vị trí của đơn vị miêu sản phẩm này thành những luật được dùng để trích rút thông tin sản phẩm. Hầu hết các Website bán hàng trực tuyến khác nhau đều có định dạng và cấu trúc khác nhau. Nhưng trong cùng một Website thì kết quả hiển thị của truy vấn tìm kiếm là đồng nhất. Mặc dù ta truy vấn các sản phẩm khác nhau trên cùng một Website nhưng kết quả hiện ra vẫn theo một định dạng và cấu trúc giống nhau. Trong trường hợp kết quả tìm kiếm là một danh sách các sản phẩm thì cấu trúc của nó có dạng hình 3-1. Nếu ta coi một đơn vị miêu tả sản phẩm là một mẫu thể hiện toàn bộ thông tin về một sản phẩm tìm thấy thì như trên hình ta sẽ thấy các mẫu này được lặp đi lặp lại. Số lần lặp chính là số lượng sản phẩm tìm thấy. Đây chính là cơ sở để tác tử mua sắm có khả năng nhận biết được sản phẩm. Bằng cách tìm một mẫu lặp nhiều nhất và phân tích mẫu này thì tác tử sẽ nhận dạng được các thông tin miêu tả sản phẩm và trích rút các thông tin này một cách hiệu quả. Sau đây, chúng ta sẽ cùng tìm hiểu kiến trúc của hệ thống trích rút thông tin. Hình 31 Tổ chức kết quả sản phẩm của Website Kiến trúc của hệ thống trích rút thông tin Hình 3-2 mô tả mô hình tổng quát của hệ thống trích rút thông tin. Hệ thống gồm có hai giao diện chính giúp cho người quản trị có thể tương tác với chương trình. Bây giờ chúng ta sẽ tìm hiểu chi tiêt từng thành phần của hệ thống. Giao diện nhập URL cho phép người dùng chương trình nhập vào địa chỉ URL của Website bán hàng trực tuyến. Giao diện nhập thuật ngữ cho phép người dùng chương trình nhập vào các thuật ngữ (từ khoá) mới để nhận biết ra các thông tin về thuộc tính sản phẩm. Chương trình học là một tác tử có khả năng truy nhập đến các Website bán hàng trực tuyến tự động học cấu trúc của Website, định dạng của sản phẩm và tìm cách trích rút thông tin của các sản phẩm trong Website đó. Người quản trị Giao diện nhập URL Giao diện nhập thuật ngữ Chương trình học Trình quản lý thuật ngữ Cơ sở tri thức Chương trình cập nhật thông tin vào CSDL Internet Hình 3-2: Kiến trúc của hệ thống trích rút thông tin sản phẩm CSDL Trình quản lý thuật ngữ có chức năng quản lý những từ khoá và cho phép nhập thêm từ khoá mới thông qua giao diện nhập thuật ngữ. Cơ sở tri thức là những tri thức mà hệ thống thu được bằng việc kết hợp kết quả của chương trình học và trình quản lý thuật ngữ. Chương trình cập nhật thông tin vào CSDL dùng để đọc giá trị của thuộc tính miêu tả sản phẩm và cập nhật một cách chính xác. CSDL chứa các thông tin về sản phẩm và nhà sản xuất. Các thông tin về sản phẩm mà chương trình cập nhật thông tin vào CSDL sẽ được lưu lại một cách chính xác theo từng thuộc tính. Nhiệm vụ chính của hệ thống là làm sao có thể trích rút được một cách chính xác thông tin của sản phẩm và cập nhật vào CSDL. Để làm được việc này thì hệ thống phải nhận dạng được mẫu biểu tìm kiếm trên Website bán hàng trực tuyến. Sau khi xác định được mẫu biểu tìm kiếm nó phải gửi truy vấn tên sản phẩm cần tìm để nhận được trang kết quả tìm kiếm là một danh sách các sản phẩm. Tiếp theo hệ thống phải có khả năng trích rút được những thông tin liên quan đến sản phẩm (phải loại bỏ các thông tin không liên quan). Cuối cùng hệ thống phải hiểu được các thuộc tính miêu tả sản phẩm như hiểu được đâu là giá, tên, hay nhà sản xuất ra sản phẩm đó và cập nhật những thông tin đó vào CSDL. Công việc này được thực hiện đối với mỗi Website và lưu thành các mẫu (template) để sau này chương trình chỉ việc lấy ra những thông tin về sản phẩm, không quan tâm đến cấu trúc của Website cũng như các trường khác. Chương trình học Chương trình học sẽ đi thu thập các thông tin về nơi bán hàng cũng như định dạng miêu tả sản phẩm và cấu trúc của thông tin sản phẩm được hiển thị. Chương trình học chỉ thực hiện một lần đối với mỗi Website bán hàng trực tuyến. Mô hình của giai đoạn học như hình 3-3. Để xác định được các thông tin về nơi bán thì Chương trình học cần: Xác định mẫu biểu tìm kiếm (địa chỉ URL của form tìm kiếm). Lấy ra đơn vị miêu tả sản phẩm. Xác định giá trị của thuộc tính sản phẩm. Chương trình học Tập từ khoá Địa chỉ URL của nơi bán Cửa hàng trực tuyến Từ khóa tìm kiếm Kết quả truy vấn Miêu tả về giá cả, nơi bán Hình 3-3:Minh họa giai đoạn học Sau đây là các bước của chương trình học. Xác định mẫu biểu tìm kiếm Trong một Website thường có nhiều mẫu biểu (form) khác nhau. Để xác định được mẫu biểu tìm kiếm ta có hai cách : Dựa vào số lượng Textbox Giả sử trên một trang HTML trả về có nhiều form. Mỗi form đều chứa các cấu trúc và thuộc tính riêng của nó. Công cụ HTMLPage và HTMLForm xác định cho ta một danh sách các form. Đối với mỗi form, ta có thể xác định được các thuộc tính cũng như nội dung của form. Trong đó ta chú ý tới thuộc tính textbox (số lượng textbox) Nếu form nào chỉ có duy nhất một textbox- ta xác định đó là form tìm kiếm nhanh. Ưu điểm của phương pháp: phương pháp này nhanh, dễ cài đặt. Nhược điểm: Trong trường hợp nếu trên trang HTML tồn tại một form khác cũng chỉ có một trường textbox (ví dụ: form Search Advance hay Email), kết quả trả về có thể không chính xác. Dựa vào kết quả trả về Bắt đầu tại địa chỉ URL của trang chủ của Website bán hàng trực tuyến, lấy ra tất cả các mẫu biểu ở địa chỉ này. Sau đó ta duyệt theo các liên kết (link) xuất phát từ trang chủ và lấy tất cả các mẫu biểu từ các liên kết này (chỉ lấy các mẫu biểu thuộc Website này). Cuối cùng ta sẽ thu được một tập các mẫu biểu. Sau khi tìm được một tập các mẫu biểu, để xác định mẫu biểu nào là mẫu biểu tìm kiếm ta làm như sau: Gửi lần lượt đến các mẫu biểu này tên của một số sản phẩm thông dụng. Thông thường chỉ có mẫu biểu tìm kiếm mới trả về một danh sách các sản phẩm. Do vậy ta sẽ xác định xem mẫu biểu nào trả về kết quả xuất hiện một chuỗi các mẫu (pattern) lặp đi lặp lại thì mẫu biểu đó là mẫu biểu tìm kiếm. Lấy ra đơn vị miêu tả sản phẩm Thông tin sản phẩm được hiển thị ra theo rất nhiều định dạng: Dạng các file applet ( .class), file ảnh ( .jpg), file văn bản ( .html, .xml,…) và file flash. Do vậy bài toán trích rút thông tin sản phẩm là một bài toán lớn và phức tạp. Tuy nhiên phần lớn các site bán hàng trực tuyến sử dụng định dạng HTML để biểu diễn thông tin nên trong phần này chúng ta sẽ cùng tìm hiểu cách trích rút thông tin sản phẩm thể hiện dưới dạng tài liệu siêu văn bản. Kết quả nhận được từ một Website tìm kiếm sản phẩm không chỉ có danh sách các sản phẩm tìm thấy mà còn rất nhiều thứ khác như các thông tin về nơi bán, thông tin quảng cáo, thông tin về sản phẩm bán chạy nhất, các link liên kết đến các site khác... Hay nói cách khác thông tin nhận được từ kết quả của Website tìm kiếm bao gồm phần header, body và tailer. Trong đó thông tin mà ta cần lấy nằm trong phần body. Đã có một số thuật toán trích rút thông tin sản phẩm bằng cách bỏ đi phần header và tailer sau đó lấy thông tin của các sản phẩm. Để xác định thông tin của từng sản phẩm riêng biệt thuật toán này quy định hai sản phẩm riêng biệt thường cách nhau bằng dòng trắng (). Nhưng thuật toán này cho hiệu quả không cao bởi vì có rất nhiều Website trình bày thông tin từng sản phẩm không dùng dòng trắng và công việc loại bỏ phần header và tailer thường mất nhiều thời gian. Nhằm khắc phục được những hạn chế ở trên chúng ta sẽ tìm hiểu thuật toán trích rút thông tin cải tiến. Trước hết chúng ta tìm hiểu về PDU(Product Description Unit)- Đơn vị miêu tả sản phẩm. Một PDU miêu tả thông tin về một sản phẩm duy nhất bao gồm một số thuộc tính như tên, hãng sản xuất, giá… Để trích được thông tin sản phẩm ta sẽ dựa vào cấu trúc của trang kết quả tìm kiếm. Trang kết quả tìm kiếm thông thường sẽ chia ra làm 2 loại sau: - Loại 1: Các sản phẩm sẽ hiển thị theo dạng bảng 3-1: L1 L2 … Ln P11 P12 … P1n P21 P22 … P2n … … … …. Pm1 Pm2 … Pmn Bảng 3-1:Bảng thông tin hiển thị sản phẩm Pn: Sản phẩm thứ n Ln: Nhãn (Label n) - Loại 2: Các sản phẩm được hiển thị theo dạng danh sách các sản phẩm: Pn: Sản phẩm thứ n Header P1 P2 . . . Pn Tailer Thuộc tính 1 Thuộc tính 2 . . . Thuộc tính n Hình 3-4: Thông tin sản phẩm hiển thị dạng danh sách Cách trích rút: - Đối với các Website hiển thị kết quả dạng bảng: Ta lấy các nhãn L1, L2,…, Ln. Ứng với một sản phẩm Pi ta sẽ có các thuộc tính tương ứng là Pi1 , Pi2, …, Pin. Tập hợp các thuộc tính này chính là một PDU. Kết hợp các nhãn Lj và các thuộc tính Pij của sản phẩm Pi ta sẽ đưa ra được thông tin về sản phẩm đó. - Đối với kết quả là một danh sách các sản phẩm: Đây là trường hợp hay gặp nhất ở các Website bán hàng. Hình 3-4 minh họa cách thông tin sản phẩm được hiển thị. Để trích được đúng thông tin sản phẩm ta thực hiện theo các bước sau: - Bước 1: Ta sẽ ngắt nội dung Website này thành các dòng logic (logical line) và ghi nội dung trang kết quả tìm kiếm vào 1 file. Nội dung của Website được ghi vào file có kết quả hiển thị như hình 3-5: Hình 3-5: Nội dung trang HTML được in ra file sau khi phân tích - Bước 2: Thuật toán phân tích mỗi dòng để nhận dạng xem nó là thẻ HTML hay nội dung của Website. Ứng với mỗi một thẻ ta sẽ ánh xạ một con số mang ý nghĩa về dòng đó. Ta chia ra làm 5 loại thẻ như bảng 3-2 (các con số là do ta chọn) Phânloại Số ánh xạ Ý nghĩa TEXT 0 Các thông tin không nhận biết được PRICE 1 Giá của sản phẩm:Thường chứa $,USA,VNĐ,đồng... và các con số LTAG 2 Thẻ HTML:,,… TITLE 3 Tên hay định danh xác định sản phẩm TTAG 8 Thẻ table như ,, ,,, Bảng 3-2 Ánh xạ các thẻ HTML sang các số tương ứng Hình dưới là kết quả sau khi ánh xạ các thẻ sang chỉ số của URL: Có thể nhận thấy các PDU được đánh dấu lặp đi lặp lại liên tiếp: Hình 3-6: Nội dung Website sau khi thực hiện ánh xạ ra chuỗi các số chỉ mục -Bước 3: Sau giai đoạn phân mục (bước 2), toàn bộ trang được ánh xạ bởi một chuỗi các số chỉ mục. Bây giờ thuật toán của chúng ta là tìm một mẫu lặp trong chuỗi đó. Nó trước hết tìm mẫu (pattern) của mỗi đơn vị miêu tả sản phẩm(PDU) và đếm tần số xuất hiện của mỗi mẫu riêng biệt để lấy mẫu có tần số xuất hiện nhiều nhất. Thông thường thì TITLE (nhãn, tiêu đề) bao giờ cũng đứng trước PRICE (giá). Do đó một PDU được xác định bằng cách lấy dòng bắt đầu là TITLE và dòng kết thúc là PRICE. Muốn tìm sản phẩm tiếp theo thì ta sẽ tìm dòng xuất hiện PRICE tiếp theo và quay ngược lại tìm TITLE. Giải thuật trích rút thông tin miêu tả đơn vị sản phẩm /*********************************************** Seq ß thứ tự dòng logic của danh mục tìm kiếm; seqStart ß 1; /* khởi tạo vị trí cho mẫu được tìm kiếm*/ numCandPDUs ß 0; /* số lượng mẫu khác nhau */ while(true){ /* tìm PDU tiếp theo trong khi còn đúng*/ priceIndex ß findIndex(seq, seqStart, PRICE); titleIndex ß findIndexReverse(seq, priceIndex,TITLE); currentPDU ß substring(seq, titleIndex, priceIndex); if(currentPDU==null) then exit();/*không thêm PDU nào*/ if(currentPDU đã tồn tại trong mảng candPDUs) tăng biến đếm tần suất xuất hiện của PDU đó lên 1; else { lưu currendPDU trong mảng candPDUs; tăng biến đếm số lượng PDU khác nhau lên 1; } //kết thúc khối lệnh else; seqStart ß priceIndex+1;/*điểm bắt đầu cho lần tìm kiếm lặp lại tiếp theo*/ } //kết thúc vòng lặp While; mostFreqPDU ß thành phần trong mảng candPDUs có tần suất xuất hiện lớn nhất return (mostFreqPDU); ***************************************************/ Đánh giá thuật toán dựa vào phân tích kết quả thực nghiệm: Dựa vào kết quả thực nghiệm thống kê trích rút tại một số trang: URL Từ khóa PDUs xuất hiện nhiều nhất Số PDUs xuất hiện nhiều nhất/ Số PDU tìm được Motorola 300021 18/18 Nokia 38888022208888000088880001 31/31 siemens 3288881 6/6 Philips 3020200222202020021 11/11 LG 3288881 7/7 Pantech 38888022208888000088880001 4/4 panasonic 0 (Do thiếu thuật ngữ) samsung 32888820288001 16/40 (Thiếu 2 so với thực tế là 18) Bảng 3-3 Kết quả thu được từ các kết quả thực nghiệm trên các Website khác nhau Phân tích kết quả trích rút của tác tử tại trang cho thiếu sản phẩm: Khi tìm kiếm với từ khóa : samsung tại trang: Hình 3-7: Vị trí và chuỗi PDU nhận được sau khi ánh xạ Kết quả: Hình 3-8: Tổng hợp kết quả phân tích Từ hình 3-8 ta thấy có 40 PDU được tìm thấy và 16 PDU xuất hiện nhiều nhất là PDU có chuỗi ánh xạ: 32888820288001 Chi tiết các sản phẩm tìm thấy: Hình 3-9: Tiêu đề và Giá sản phẩm sau khi trích rút thành công Phân tích: Khi so sánh các sản phẩm tìm được từ kết quả trả về và Website ta phân tích, ta thấy rằng ta chỉ trích được 16 sản phẩm so với 18 sản phẩm Website có. Sau khi phân tích lại file chứa các dòng logic ta nhận thấy xuất hiện thẻ giữa các dòng có nội dung là PDU. Mà trực quan hơn là ở trong hình 3-10, bên cạnh nhan đề của sản phẩm ta thấy có 2 ảnh được chèn thêm là ảnh 2 chữ New. Chính vì vậy nó làm khác đi chuỗi PDU ánh xạ sản phẩm này so với chuỗi PDU được tìm thấy nhiều nhất. Do đó tác tử không thể nhận ra và trích rút được 2 mẫu này. Hình 3-10: 2 sản phẩm không tìm thấy được do bị chèn thêm ảnh 2 chữ New Đánh giá : Thuật toán phân tích trích rút được ở phần lớn các trang với kết quả đúng mong đợi. Một số trang không trích rút được do tập thuật ngữ còn ít (ví dụ giá sản phẩm hiển thị là vnđ nhưng trong tập thuật ngữ của chương trình không có, sau khi bổ sung đã trích rút tốt). Một số trang trích rút thiếu sản phẩm do có thêm các định dạng thẻ khác (phổ biển là các thẻ ảnh). Nhận xét: Thuật toán đã trích rút được ở đa số các trang nhưng đôi khi vẫn bỏ sót một số sản phẩm (thường là những sản phẩm mới) nên trong tương lai cần có những cải tiến trong giải thuật để việc trích rút được linh hoạt, bớt cứng nhắc, như vậy mới có thể đảm bảo trích rút được hết các sản phẩm Xác định giá trị của các thuộc tính sản phẩm Sau khi lấy được mẫu đơn vị miêu tả sản phẩm, tác tử phải hiểu được đâu là giá trị của các thuộc tính miêu tả sản phẩm, đâu là các thông tin không liên quan. Bằng cách đọc các thẻ, tác tử có thể hiểu được trong thẻ này có chứa thông tin gì nhưng nó vẫn chưa nhận biết được chính xác đâu là giá trị của thuộc tính. Ở giai đoạn này, tác tử phải phân tích từng thẻ thuộc tính để lấy ra giá trị của thuộc tính đó. Hai thuộc tính quan trọng và dễ xác định giá trị nhất là giá và tên định danh xác định sản phẩm. Thông thường trước thuộc tính giá bao giờ cũng có từ khóa "giá", "giá bán"…hay các ký tự như $, USA, VND. Do vậy để xác định giá trị của giá sản phẩm ta chỉ việc đọc các con số gần các ký tự trên. Nhưng hầu hết các sản phẩm đều có nhiều thuộc tính, mỗi thuộc tính lại có nhiều từ khóa đồng nghĩa do đó để xác định được từng thuộc tính cụ thể và giá trị của các thuộc tính này tác tử còn phải dựa vào tập các từ khóa (thuật ngữ). Để xây dựng được tập các từ khóa ta phải dựa vào Trình quản lý thuật ngữ Trình quản lý thuật ngữ Trình quản lý thuật ngữ chứa những từ khoá giúp cho việc xác định một cách chính xác thông tin mô tả sản phẩm. Giới thiệu Như chúng ta đã biết một sản phẩm được bán trên nhiều Website vì thế tác tử của chúng ta phải có khả năng nhận biết được các sản phẩm có trùng nhau hay không. Hay nói các khác khi tác tử đi thu thập thông tin về giá cả nó phải biết được sản phẩm đó là sản phẩm nào, nó đã tồn tại trong CSDL chưa. Nếu sản phẩm chưa có trong CSDL thì tác tử sẽ thêm sản phẩm này vào CSDL, còn ngược lại tác tử sẽ cập nhật giá của sản phẩm. Để nhận biết sản phẩm được bán trên nhiều Website là rất khó, mặc dù các thuộc tính của sản phẩm là như nhau nhưng không phải các Website đều đưa các thông tin giống nhau. Thông tin có thể giống nhau là tên, chỉ số, nhãn hiệu, nhà sản xuất, các thuộc tính như giá, thời gian bảo hành, thông tin khuyến mại, lượng hàng trong kho là khác nhau. Để tác tử có khả năng hiểu được thông tin chi tiết về sản phẩm và phân biệt được các sản phẩm giống nhau được bán trên các Website khác nhau thì tác tử cần một tập hợp các thuật ngữ (từ khoá). Tác tử phải hiểu được nghĩa của các từ khoá này mới có thể xác định rõ được thuộc tính của sản phẩm và phân biệt được các sản phẩm giống nhau hay khác nhau. Giả sử để xác định thuộc tính giá thì trên trang có từ khoá là “giá” nhưng trang lại không có từ khoá nào cả. Ở một số Website bán sách thì thông tin về giá lại chứa các từ khoá như “giá bìa”, “giá bán”… Xây dựng giao diện nhập thuật ngữ Để xác định được các thuộc tính ta phải xây dựng nên tập các từ khóa. Nhằm giúp cho việc cập nhật các thuật ngữ một cách dễ dàng và tự động, hệ thống của chúng ta sẽ xây dựng giao diện nhập thuật ngữ. Khi đó nhà quản trị sẽ chèn vào nghĩa của một số thuật ngữ mới tìm được ở một số Website. Một bộ phân tích cấu trúc sau đó sẽ tạo ra luật trích rút sử dụng thông tin vị trí của đơn vị miêu tả sản phẩm cung cấp bởi người quản trị. Nếu luật trích rút thông tin sản phẩm được tạo thành công thì Trình quản lý thuật ngữ sẽ gửi nhiều truy vấn khác nhau đến Website bán hàng trực tuyến. Giao diện nhập thuật ngữ sẽ sinh ra những thuật ngữ mới và bổ xung vào Trình quản lý thuật ngữ. Hình 3-11:Mô tả chức năng bổ xung các thuật ngữ Bổ xung thuật ngữ Bộ phân tích cấu trúc Trình quản lý thuật ngữ Các luật Truy vấn Miền tri thức Tập thuật ngữ Người quản trị Mở rộng thuật ngữ bằng cấu trúc cây Để quản lý và mở rộng những thuật ngữ này một cách tốt hơn chúng ta sẽ xây dựng một cấu trúc phân cấp được vẽ ở dưới đây. Với cấu trúc này ta có thể mở rộng tự động tập hợp các thuật ngữ bằng cách dùng những từ khoá và quan hệ giữa chúng. Ta gọi mối quan hệ giữa các từ khoá là quan hệ khái niệm (concept). Quan hệ khái niệm có thể là quan hệ một-một hay nhiều-một. Nếu quan hệ là một-một thì các từ khoá này là đồng nghĩa, cùng chỉ một thuộc tính của sản phẩm. Quan hệ nhiều - một được thiết lập dựa trên những từ khoá cùng diễn tả một đặc tính chung. Như trong hình vẽ 3-12 thì thuộc tính Nhà sản xuất có 3 giá trị là tên của 3 hãng. Để thêm mới các thuật ngữ vào cây ta thực hiện theo các bước sau: Bước 1: Tác tử giao diện thuật ngữ sẽ gửi một vài truy vấn khác nhau đến Website bán hàng trực tuyến mà có các thuật ngữ mới trong phần thông tin sản phẩm. Bước 2: Giao diện sẽ trích rút thông tin được hiển thị cùng định dạng. Bước 3: Giao diện sẽ trích rút các từ khoá và giá trị từ một PDU. Bước 4: Giao diện sẽ thêm từ khoá mới vào tập hợp các thuật ngữ đã tồn tại. Bằng cách thực hiện theo các bước trên, chương trình của chúng ta có khả năng tự động cập nhật các thuật ngữ mới vào trong trình quản lý thuật ngữ. Dụng cụ điện gia đình TV Tủ lạnh Nồi cơm điện Kích cỡ Nhà sản xuất Sam sung LG Toshiba Hình 3-12: Mô tả mở rộng tập thuật ngữ bằng cấu trúc cây Kết luận Hai thành phần chính của tác tử trích rút thông tin là Chương trình học và Trình quản lý thuật ngữ. Với hai thành phần này, tác tử của chúng ta không những có khả năng tự động trích rút thông tin mô tả sản phẩm mà còn có thể tự động cập nhật các thuật ngữ mới thông qua Giao diện nhập thuật ngữ. PHÁT TRIỂN HỆ THỐNG SO SÁNH GIÁ CẢ TRỰC TUYẾN Mô hình tổng quát Hệ thống so sánh giá cả trực tuyến bao gồm 3 thành phần chính : Tác tử mua sắm (shopping agent): Có chức năng truy nhập đến các Website bán hàng trực tuyến lấy thông tin về các sản phẩm của các Website này. Các thông tin thu được sẽ được cập nhật vào CSDL của hệ thống. Website trình bày thông tin giá cả: Sử dụng những thông tin sản phẩm tìm thấy bởi tác tử mua sắm lưu trong CSDL. Website cho phép tìm kiếm một sản phẩm bất kỳ trong CSDL, so sánh giá cùng một sản phẩm đó nhưng được đề xuất bởi nhiều Website bán hàng khác nhau. CSDL: Đây là thành phần kết nối giữa hai thành phần trên. Các thông tin về sản phẩm trích rút được bởi tác tử mua sắm sẽ được đưa vào CSDL. Hình 4-1: Mô hình tổng quát của chương trình so sánh giá cả trực tuyến Truy vấn các website bán hàng Cơ sở dữ liệu Tác tử mua sắm Internet Web server Thông tin miêu tả về giá bán, nơi bán và tiêu đề sản phẩm Cập nhật thông tin tìm được vào CSDL tìm sản phẩm Đưa ra giá tốt nhất của sản phẩm đó Truy vấn tìm sản phẩm Thông tin về sản phẩm cần tìm Người dùng Thiết kế tác tử testForm +isQuickSearch( ) +postForm( ) insertPDU +find( ) +findIndexPDU( ) +findIndexReverse() +findPDU( ) Database connectDB +init() +close() HTMLParserCallback +print() + handleStartTag() + handleComment() +handleEndTag() +handleSimpleTag() +handleText() HTMLParser Tập thuật ngữ PDUs HTTPage HTMLForm HTTP Hình 4-2: Sơ đồ quan hệ lớp của tác tử. Hệ thống tác gồm có các lớp chính: testForm, insertPDU, HTMLCallback, HTMLParser,connectDB,HTTPPage Lớp testForm: Khi người dùng nhập từ khóa, lớp testForm sẽ phân tích các Website có trong bộ thư viện thuật ngữ tìm các form tìm kiếm trên các Website đó rồi tự động việc post từ khóa để lấy về các URL chứa các PDU cần cho lớp insertPDU. Trong lớp này sử dụng phương thức tìm form tìm kiếm trong 1 Website. Phương thức dựa vào số lượng TextBox trên trang. Thông thường form tìm kiếm chỉ chứa một ô TextBox để nhập từ khóa tìm kiếm. Đầu tiên thực hiện lấy tất cả các form có trên Website: thông qua đối tượng HTMLPage tronng gói thư viện Bot: HTTP http=new HTTPSocket(); http.setUseCookies(true,true); HTMLPage page=new HTMLPage(http); page.open ("Site",null); //Lưu các form tìm thấy vào trong Vector Vector forms = page.getForms(); for (int i = 0; i < forms.size(); ++i){ HTMLForm form = (HTMLForm)page.getForms().elementAt(0); int fCount = form.length(); for (int i = 0; i < fCount; ++i){ Attribute txtSearchField = form.get(0); //Thiết lập giá trị tìm kiếm cho thành phần đầu tiên của form(TextBox) txtSearchField.setValue("KEY"); } //Sau đó thực hiện Post Form: page.post(form); //Lấy địa chỉ URL trả về: String urlLink = page.getHTTP().getURL(); Lớp insertPDU Trước tiên nó lấy urlLink từ lớp testForm là địa chỉ URL mà hiển thị các sản phẩm cần trích rút rồi mở kết nối sau đó tạo một luồng InputStreamReader để đọc: URL url = new URL(urlLink); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); Reader reader = new InputStreamReader(connection.getInputStream()); Tạo một thể hiện đối tượng HTMLCallback để phân tích các dòng logic theo các thẻ ra file page.txt từ địa chỉ urlLink. Nó thực hiện ánh xạ file page.txt thành các chỉ số ánh xạ rồi lưu trong chuỗi nMap. Sau đó thực hiện phương thức findPDU() có tham số truyền vào là chuỗi nMap. Phương thức findPDU() tìm các PDU, các PDU tìm được được lưu giữ trong mảng đối tượng PDUs .Thuật toán tìm sản phẩm dựa trên các PDU có tần suất xuất hiện nhiều nhất được thực hiện để tìm ra các PDU là sản phẩm cần tìm. Cuối cùng nó tạo một kết nối tới Database thông qua đối tượng connectDB để lưu các sản phẩm tìm được vào CSDL. Lớp PDUs Chứa thông tin về chỉ số các thuộc tính sản phẩm trong chuỗi ánh xạ. Từ đó nó có thể trích rút được các PDU là sản phẩm. Lớp connectDB Tạo kết nối tới CSDL thông qua kiểu kết nối JDBC:ODBC String DBDriver="sun.jdbc.odbc.JdbcOdbcDriver"; String strConn="jdbc:odbc:dbDemo"; String DBusername=""; String DBpassword=""; Class.forName(DBDriver); conn = DriverManager.getConnection(strConn,DBusername, DBpassword); Phương thức init() sẽ khởi tạo kết nối và trả về đối tượng Statement Phương thức close() sẽ đóng lại các kết nối. Lớp HTMLParser Định nghĩa phương phức getParser() dẫn xuất từ đối tượng HTMLEditorKit.Parser. Lớp HTMLParserCallback Dẫn xuất từ lớp: javax.swing.text.html.HTMLEditorKit. ParserCallback Lớp này ghi đè các phương thức xử lý nội dung HTML của đối tượng ParserCallback. Qua phuơng thức print() nó sẽ ghi nội dung các thẻ và Text trong trang HTML ra file page.txt public void handleStartTag(HTML.Tag t, MutableAttributeSet attributes, int position) { _buffer+="<" + t; _buffer+=">\n"; } public void handleComment(char[] data,int pos) { _buffer+=""; } public void handleEndTag(HTML.Tag t, int position) { _buffer+="\n"; } public void handleSimpleTag(HTML.Tag t, MutableAttributeSet attributes, int position) { _buffer+="\n"; } public void handleText(char[] data,int pos) { _buffer+=new String(data); _buffer+="\n"; } Các phương thức trên xử lý nội dung của trang HTML rồi lưu vào biến đệm _buffer. Thiết kế Website Mô tả Website Hình 4-3: Minh họa giao diện Website Cấu trúc Website Cấu trúc các trang đều gồm 3 phần: headerPage bodyPage footerPage header.htm Page body footer.htm Hình 4-4: Cấu trúc các trang Hoạt động của Website: Đầu tiên, người dùng có thể xem giới thiệu về Website bằng cách xem mục Giới Thiệu. Mục này liên kết với trang web.html giới thiệu với người dùng mục đích của Website là giúp đỡ khách hàng có thể so sánh giả cả trước khi đi mua hàng. Khách hàng cũng được trợ giúp cách tìm kiếm và cách sử dụng các chức năng sao cho có hiệu quả nhất. Để liên hệ với Quản trị Website người dùng vào mục Liên Hệ để viết e-mail tới người quản trị. Người quản trị sẽ đọc e-mail và trả lời những câu hỏi của người dùng. Phần Diễn đàn được xây dựng để cho người dùng có thể trao đổi và thảo luận các thông tin mua bán cũng như bàn luận về các loại mặt hàng mới được quan tâm. Phần Quản trị dành riêng cho người quản trị Website. Tại đây người quản trị có thể xem, thêm bớt thuật ngữ, thông tin liên quan đến việc tìm kiếm và một số tiện ích để có thể quản lý Website hiệu quả. Đây là phần sẽ được hoàn thiện trong tương lai. Hiện tại Website chỉ tập trung vào phần hoạt động chính là phục vụ người dùng. Chức năng chủ đạo của Website chính là mục tìm kiếm. Người dùng chọn loại mặt hàng cần tìm và tên sản phẩm cần tìm, mặc định Website sẽ tìm trong tất cả các loại mặt hàng nếu người dùng chỉ đánh tên sản phẩm. Sau đó, Website sẽ tự động tìm kiếm và hiển thị các thông tin về sản phẩm mà nó tìm thấy từ các nơi. Cuối cùng người dùng có thể xem chi tiết về các sản phẩm mà họ lựa chọn từ nơi nào đó. Và có thể cho điểm đánh giá, nhận xét về sản phẩm. Thông tin này được lưu lại và là cơ sở để hiển thị 5 sản phẩm hàng đầu của một loại mặt hàng nào đó. Như trên hình minh họa là Top 5 sản phẩm của điện thoại di động, mặc định là được hiển thị. Người dùng cũng có thể xem Top 5 của loại mặt hàng khác bằng cách lựa chọn từ thực đơn kéo xuống. Để xem thông tin chi tiết về giá sản phẩm từ các nơi bán thì người dùng nhấn chuột vào chữ " Chi tiết" để biết thêm thông tin như nơi bán, thời gian bảo hành và các thông tin thêm giới thiệu về sản phẩm. Website cung cấp thêm khả năng tìm kiếm nâng cao cho người dùng, người dùng muốn tìm kiếm một sản phẩm nào đó với mức giá hay tại nơi bán phù hợp thì họ sẽ lựa chọn chức năng này. Người dùng nhập mức giá cao nhất và mức giá tối thiểu. Website sẽ tìm kiếm và đưa ra những sản phẩm có mức giá nằm trong khoảng đó. Hình 4-5: Trang tìm kiếm nâng cao (AdvSearch.jsp) Trong tương lai Website sẽ tích hợp thêm bộ lọc tin để có thể trích rút thông tin từ các nhà cung cấp sản phẩm và được hiển thị như mục tin tức từ Website . Cơ sở dữ liệu Website có thể được thiết kế và lập trình phù hợp với các hệ CSDL hay dùng hiện nay như: Microsoft Access SQL Server MySQL Oracle Tương ứng với mỗi loại databse khác nhau thì ta cũng có từng kiểu kết nối và truy xuất dữ liệu khác nhau Thông tin được lưu giữ trong CSDL dưới dạng bảng. Hai bảng quan trọng nhất là bảng Sản phẩm và bảng Nơi bán. Bảng sản phẩm chứa các thông tin cố định, không thay đổi về sản phẩm. Giá không phải là thuộc tính của sản phẩm vì giá còn phụ thuộc vào nơi bán. Bảng Nơi bán chứa các trường sau : Mã số nơi bán Tên nơi bán (chẳng hạn Công ty máy tĩnh Vĩnh Xuân) Địa chỉ Web ( Địa chỉ vật lý (39 Trần Quốc Toản) Điện thoại Các thông tin khác (chẳng hạn số điện thoại, số fax, địa chỉ e-mail, có bán háng trực tuyến không hay phải đến mua tận nơi,…) Bảng Sản phẩm : Mã số sản phẩm Tên mặt hàng (chẳng hạn Điện thoại di động; Ổ cứng) Nhãn hiệu (chẳng hạn Nokia; Maxtor) Chỉ số (chẳng hạn số model đối với điện thoại di động Nokia – 7610; model, dung lượng, tốc độ, bộ nhớ đệm và giao diện đối với ổ cứng Maxtor – DiamondMax Plus 9 120 GB 7200 RPM 8 MB cache SATA) Các thông tin khác (chẳng hạn mô tả chi tiết sản phẩm, thời gian bảo hành của nơi sản xuất,…) Nhãn hiệu sản phẩm là thương hiệu của sản phẩm đó. Thông thường nhãn sản phẩm chỉ ra hãng sản xuất ra sản phẩm. Giả sử “Sam sung” là nhãn hiệu của sản phẩm nào đó. Nhưng nhãn hiệu chưa đủ để xác định được một sản phẩm cụ thể vì “Sam sung” có thể là nhãn hiệu của ổ cứng, màn hình, tủ lạnh,... Để xác định một sản phẩm cụ thể ta còn dựa vào trường chỉ số. Nơi bán Tên nơi bán Mã số nơi bán Địa chỉ URL Địa chỉ vật lý Điện thoại Sản phẩm Mã sản phẩm Tên sản phẩm Nhãn hiệu Chỉ số Bán Thông tin về khuyến mại, … Giá bán Mô hình khái niệm E-R Chỉ số của sản phẩm là thuộc tính đặc trưng duy nhất cho sản phẩm đó. Một sản phẩm có thể có một hoặc nhiều chỉ số. Ví dụ về sản phẩm có một chỉ số: Nokia 9500, Nokia 9300, Sony Ericsson P910i, Sam sung E610…Rõ ràng để nhận biết một sản phẩm ta cần biết cả nhãn hiệu và chỉ số. Như ví dụ trên thì “Nokia”,”Sony Ericsson”, “Sam sung” là nhãn hiệu, còn 9500, 9300, P910i, E610 là chỉ số. Nói Sam sung E610 thì đó là điện thoại Sam sung có chỉ số là E610 chứ không phải là màn hình Sam sung hay tủ lạnh Sam sung. Đây chỉ là trường hợp đơn giản nhất. Trên thực tế thì các sản phẩm được bán rất phong phú. Một chỉ số chưa thể phân biệt được sản phẩm đó với các sản phẩm khác cùng loại. Giả sử khi nói ổ cứng Maxtor 40GB thì rõ ràng chưa thể khẳng định đó là sản phẩm cụ thể nào. Vì nó còn một vài chỉ số khác như tốc độ (5400rpm hay 7200rpm) và dung lượng bộ nhớ đệm (2MB hay 8MB). Quan hệ Bán được chuyển thành thực thể Chào bán như sau: Bảng Chào bán : Mã số nơi bán Mã số sản phẩm Giá VNĐ Giá USD Các thông tin khác (chẳng hạn thông tin khuyến mại, có sẵn trong kho không, số lượng tồn kho, thời gian chờ có hàng,…) Mô hình quan hệ thực thể: 1.Nơi bán # Mã số nơi bán +Tên nơi bán +Địa chỉ URL +Địa chỉ vật lý +Điện thoại 2. Chào bán # Mã số nơi bán #Mã số sản phẩm +Giá VND +Giá USD +Thông tin khuyến mại 3. Sản phẩm #Mã số sản phẩm +Tên sản phẩm +Nhãn hiệu +Chỉ số Hướng dẫn cài đặt hệ thống thực nghiệm Website so sánh giá cả Cài đặt trình biên dịch JDK và trình chủ Web Tomcat Download: Downlad JDK phiên bản 1.4.2 tại: Download trình chủ Web Tomcat phiên bản 5 tại: Sau khi download tiến hành giải nén và chạy các file Setup để cài đặt theo mặc định sẵn. Ứng dụng được thử nghiệm trên môi trường WindowsXP của hãng Microsoft. Cần khai báo và cấu hình các biến môi trường phù hợp cho hoạt động của chương trình: Hình 4-6: Thiết lập môi trường Trong dialog System Properties, chọn tab Advanced, sau đó chọn Environment Variables. Trong dialog Environment Variables thêm các biến môi trường cần thiết sau: CATALINA_HOME: Thư mục của trình chủ Tomcat C:\Tomcat 5.0 JAVA_HOME: Thư mục chủ Java C:\j2sdk1.4.2 PATH: đường dẫn chỉ tới thư mục bin chứa các ứng dụng của Java, như bộ biên dịch - javac, bộ chạy - java C:\Tomcat 5.0\bin;C:\j2sdk1.4.2\bin CLASSPATH: chỉ đến các thư viện được sử dụng trong chương trình C:\j2sdk1.4.2\lib\tools.jar;C:\Tomcat5.0\common\lib\servlet-api.jar;C:\Tomcat 5.0\common\lib\jsp-api.jar; Thiết lập kết nối tới CSDL: Hình 4-7: Thiết lập kết nối tới cơ sở dữ liêu: Trong Control Panel chọn mục Administrator Tools> Data Sources (ODBC)>User DSN> Add > Driver do MicroAccess(*.mdb)>Finsish Cơ sở dữ liệu cho hệ thống thử nghiệm gồm 3 bảng PDU: lưu giữ thông tin về sản phẩm Person: lưu giữ thông tin về người quản trị Site: lưu giữ địa chỉ các website bán hàng Hình 4-8: Thiết lập kết nối CSDL Tiếp theo điền tên của CSDL (dbDemo) rồi chỉ đường dẫn tới CSDL. Cuối cùng chọn OK để hoàn tất quá trình thiếp lập CSDL. Biên dịch và chạy ứng dụng Biên dịch file tác tử JAVA: Copy toàn bộ mã nguồn các file trong thư mục lib kèm theo đề tài vào thư mục: C:\Tomcat 5.0\webapps\ROOT\WEB-INF\classes Mở cửa sổ console đánh vào câu lệnh: C:\ javac Tomcat 5.0/webapps/ROOT/WEB-INF/classes/lib/*.java Nếu không hiện thông báo gì thì các file đã được biên dịch thành công. Copy 2 file search.jsp và result.jsp vào thư mục: C:\Tomcat 5.0\webapps\ROOT Mở trình duyệt gõ vào : localhost:8080/search.jsp Nếu trình duyệt hiện lên trang chủ tìm kiếm giống hình 4-2 thì tức là Web server đã hoạt động tốt. Đánh vào ô tìm kiếm Textbox sản phẩm cần tìm. Chẳng hạn như Pantech. Nếu trang trả về hiện lên như hình 4-3 thì tức là hệ thống đã hoạt động tốt. Hình 4-9: Trang chủ tìm kiếm(search.jsp) Website được xây dựng trong đề tài chỉ ở mức đơn giản với chức năng: Cập nhật URL Website (dành cho người quản trị) Hiển thị thông tin sản phẩm tìm kiếm cho người dùng gồm 4 trang chính: search.jsp, result.jsp, addSite.jsp, login.jsp, header.htm, footer.htm Trang searh.jsp để người dùng nhập từ khóa tìm kiếm, trang result.jsp hiển thị kết quả trả về cho người dùng. Người quản trị đăng nhập vào hệ thống thông qua trang login.jsp và sẽ điền URL các website bán hàng qua giao diện nhập là trang addSite.jsp Hình 4-10: Trang Result.jsp Trang login.jsp để người quản trị đăng nhập và vào trang addSite.jsp để nhập địa chỉ URL Website sẽ được tiến hành tìm kiếm Hình 4-11: Trang login.jsp dành cho người quản trị đăng nhập Kết luận Trong chương này đã trình bày chi tiết cách thức xây dựng một hệ thống so sánh thông tin giá cả gồm có việc thiết kế tạo tác tử là các file Java, xây dựng Website để hiển thị các sản phẩm mà tác tử đã trích rút được và cuối cùng là thiết lập môi trường và cài đặt để chạy thành công hệ thống. Hệ thống tuy chỉ được hoàn thành ở mức đơn giản nhưng đã làm rõ phần nào cách thức hoạt động của hệ thống Website so sánh giá cả. KẾT LUẬN VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN Xây dựng Webiste so sánh thông tin giá cả trực tuyến là một đề tài có tiềm năng nhưng khá khó. Xây dựng được một Webiste có khả năng phục vụ so sánh giá cả có các đặc điểm như đã phân tích ở các chương trước cũng đòi hỏi có một sự đầu tư rất công phu về thời gian và nhân lực. Trên thế giới, các Webiste so sánh giá cả đều phải xây dựng một tác tử riêng và chỉ tiến hành tìm kiếm khi có yêu cầu của người dùng. Còn nghiên cứu trong đề tài này là xây dựng một tác tử có khả năng tìm kiếm và cập nhật vào cơ sở dữ liệu trước khi người dùng truy vấn đến, các thông tin về sản phẩm đã được lưu trữ sẵn trong CSDL nên các không phải đi tìm sau khi có yêu cầu của người dùng. Công nghệ này mới được nghiên cứu và mới chỉ được phát triển ở mức đơn giản. Nhưng đề tài này đã ứng dụng tác tử mua bán vào trong Website so sánh giá cả. Vì thế có thể khẳng định rằng đây là một công việc hoàn toàn mới mẻ ở Việt Nam, có đóng góp nhất định vào phát triển thương mại điện tử của nước ta. Do thời gian nghiên cứu về chương trình có hạn nên hệ thống này mới chỉ hoàn tất ở mức cơ bản. Nhưng nếu được đầu tư nghiên cứu kĩ càng, chắc chắn đây là một sản phẩm công nghệ mới sẽ được ứng dụng và phát triển nhiều trong thực tế. Ý tưởng về hoàn thiện hệ thống đang được người làm đề tài định hình và đang tiếp tục xây dựng. Trước hết, vì mục đích của hệ thống so sánh giá cả là giúp cho người tiêu dùng thuận tiện hơn trong việc tìm hiểu về sản phẩm mà họ đang quan tâm hay đang tìm mua. Vì thế thông tin về sản phẩm phải đảm bảo các tính chất: phong phú về loại sản phẩm, đầy đủ chi tiết về sản phẩm, dễ truyền tải đến người dân. Nhằm đáp ứng được các yêu cầu đó, thì tác tử trích rút phải được cải tiến sao cho có thể trích rút được hiệu quả và chính xác các loại sản phẩm, trích rút được nhiều loại sản phẩm khác nhau từ các Website khác nhau. Website này có thể tiến hành so sánh nhiều mặt hàng thuộc nhiều lĩnh vực kinh doanh như điện thoại di động, máy tính hay kinh doanh về sách báo, phim ảnh..v..v chứ không chỉ dừng lại ở một vài mặt hàng nhất định. Chương trình sẽ mở rộng tới những sản phẩm có nhiều chỉ số. Ngoài ra, Webiste cũng có thể thu được lợi nhuận rất lớn nếu như có thêm mục quảng cáo cho các doanh nghiệp, các cửa hàng. Thực tế đã có rất nhiều Website làm công việc này và họ đã rất thành công. Webiste so sánh giá cả hoàn toàn có khả năng thu lợi nhuận từ quảng cáo. Vì khả năng của Website có thể thu hút được một số lượng lớn các khách hàng. Do đó quảng cáo sản phẩm đến nhiều người dân là có thể thực hiện được. Bên cạnh đó, lợi nhuận cũng có thể thu được khi Webiste tiến hành làm cầu nối trung gian giữa bên bán và bên mua. Các cửa hàng có thể thuê Website để mỗi khi có một người thông qua Webiste truy cập vào Website của họ thì họ phải trả một phần lệ phí cho Webiste. Ví dụ như có một trang kết quả trả về cho từ khoá tìm kiếm của người dùng, nếu người dùng xem chi tiết về hàng hoá của một Website nào đó thì Website so sánh giá cả này sẽ tự động liên hệ với Website kia để tính là một lần mình giới thiệu khách hàng cho Web đó. Đó là một số phương hướng nghiên cứu để phát triển đề tài. Em rất mong được sự đóng góp ý kiến của các các thầy cô giáo và từ những người quan tâm đến đề tài này. DANH MỤC TÀI LIỆU THAM KHẢO David Gourley, Brian Totty, Marjorie Sayer, and Anshu Aggarwal. HTTP : The Definitive Guide. O’Reilly, 2002. Hà Thị Kim Dung, Nguyễn Huy Sơn, và Hoàng Hữu Thành. Xây dựng Hệ thống So sánh Thông tin Giá cả Trực tuyến. Công trình Sinh viên Nghiên cứu Khoa học. Trường Đại học Công nghệ, 2005. Ian Ferguson. Agents and Spiders. Ab-libris, 2005. Jaeyoung Yang, Joongbae Kim, Joongmin Choi, Hosang Ham, and Kyeongho Lee. A More Scalable Comparison Shopping Agent. In Proceedings of the 2nd International ICSC Symposium on Engineering of Intelligent Systems, pages 766-772, June 27-30, 2000, Paisley, Scotland. Jaeyoung Yang and Joongmin Choi. Agents for Intelligent Information Extraction by Using Domain Knowledge and Token-Based Morphological Pattern. In Proceedings of the 6th Pacific Rim International Workshop on Multi-Agents, pages 74-85, November 7-8, 2003, Seoul, Korea (Lecture Notes in Computer Science 2891). Jaeyoung Yang, Eunseok Lee, and Joongmin Choi. A Shopping Agent that Automatically Constructs Wrappers for Semi-Structured Online Vendors. In Proceedings of the 2nd International Conference on Intelligent Data Engineering and Automated Learning, pages 368-373, December 13-15, 2000, Shatin, Hong Kong (Lecture Notes in Computer Science 1983). Jeff Heaton. Programming Spiders, Bots, and Aggregators in Java. Sybex, 2002. Kevin Hemenway and Tara Calishain. Spidering Hacks. O’Reilly, 2003. Robert B. Doorenbos, Oren Etzioni, and Daniel S. Weld. A Scalable Comparison-Shopping Agent for the World Wide Web. In Proceedings of the First International Conference on Autonomous Agents, pages 39-48, February 05-08, 1997, Marina del Rey, California, United States. Ricardo Baeza-Yates and Berthier Ribeiro-Neto. Modern Information Retrieval. Addison Wesley, 1999. Steven John Metsker. Building Parsers with Java. Addison-Wesley, 2001.

Các file đính kèm theo tài liệu này:

  • docXây dựng hệ thống so sánh thông tin giá cả trực tuyến.doc
Luận văn liên quan