Nghiên cứu ứng dụng các kỹ thuật học trích rút theo phương pháp học máy để xây dựng hệ thống so sánh thông tin giá cả trực tuyến có tính khả biến cao
Trang 1LỜI CẢM ƠN
Em xin gửi lời cảm ơn chân thành tới các thầy cô trong khoa Công Nghệ ThôngTin, gia đình và bạn bè, đã giúp đỡ em trong suốt quá trình học tập cũng như thực hiệnkhóa luận Đặc biệt em xin trân trọng cảm ơn thầy giáo, Tiến sĩ Nguyễn Đại Thọ đã trựctiếp hướng dẫn em hoàn thành khóa luận này.
Hà nội, ngày 25 tháng 05 năm 2006Nguyễn Huy Sơn.
Trang 2TÓM TẮT NỘI DUNG
Trên thế giới đã có nhiều Website tập hợp thông tin giá cả của nhiều chủng loạimặt hàng khác nhau chào bán trên mạng bởi nhiều công ty kinh doanh khác nhau Ở ViệtNam khoảng một năm trở lại đây cũng đã bắt đầu xuất hiện một số Website như vậy Tuynhiên hầu hết các Website đó cả ở Việt Nam lẫn trên thế giới đều sử dụng những tác tửkhảo duyệt và trích rút thông tin có mức độ tự động và tính thông minh không cao Cụthể, đối với mỗi Website bán hàng, người phát triển phải xây dựng một bộ luật trích rútriêng cho chương trình tác tử Trong nghiên cứu, người ta đã đề xuất một số kỹ thuật họcmáy sử dụng chỉ một tác tử nhưng có thể trích rút thông tin từ nhiều Website có cách thứctổ chức khác nhau Báo cáo này nghiên cứu ứng dụng các kỹ thuật trích rút theo phươngpháp học máy để xây dựng một hệ thống so sánh thông tin giá cả trực tuyến có tính khảbiến cao Tính khả biến cao mà ứng dụng hướng tới là khả năng quy tụ thông tin từ mộtsố nguồn không hạn chế các Website sản phẩm với cùng một chương trình tác tử Hệthống của chúng tôi đã cho những kết quả ban đầu rất đáng khích lệ khi thử nghiệm trênmột số Website tiêu biểu ở Việt Nam.
Trang 31.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
Trang 43.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
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
Trang 5Một số thuật ngữ và chữ viết tắt được sử dụng trong đề tài
Trang 6LỜI NÓI ĐẦUBố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ứckinh 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àngtă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ìmtừ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ủangườ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àngtố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 kinhdoanh 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ìnhthức mua bán trực tuyến đã ra đời, mau chóng tìm được chỗ đứng và không ngừng pháttriể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ầnngồ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ácWebsite 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ấtnhiề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ảnphẩ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ó đếnhà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ùnglà 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ừngWebsite để 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 sosá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ôinế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ộtxuấ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ềuchủ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ácWebsite 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ắttrê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ứckhá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
Trang 7trì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útphù 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êncứ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ấthiệ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ấttrong 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ạisả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 tinquan 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:
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útthô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ồnkhác nhau.
Thử nghiệm tác tử với những Website tiêu biểu ở Việt Nam, qua đó đánh giá hiệuquả 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ếtvề mặt giải thuật và cài đặt.
Trang 8 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ộtWebsite thể hiện được so sánh về giá cả của sản phẩm từ nhiều Website khác nhau Nộidung 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ậpthô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ương3 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ìmkiế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ợpvớ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ầnphả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ụcvụ 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àinà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ảosá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ầnthứ 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 formtì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ộtWebsite 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ươngtrì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ìmkiế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 ở đó
Trang 9mà 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ươnghươ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
Trang 10Chương 1 KHẢO DUYỆT WEB VỚI JAVA
Đề tài sử dụng ngôn ngữ lập trình Java vì Java hỗ trợ rất mạnh về lập trình ứngdụng mạng với các lớp thư viện socket giúp đơn giản hóa quá trình kết nối và chuyển dữliệu trên mạng Với Java ta có thể lập trình trên rất nhiều giao thức TCP/IP, UDP, FTP,Telnet và HTTP
/reports/sales/index.html là tài nguyên URI và HTTP/1.1 là phiên bản giao thức
HTTP đang sử dụng.
Hai phương thức phổ biến của HTTP Request là:
HTTP GET : yêu cầu một tài nguyên và chỉ gửi được một số lượng dữ liệu giớihạn tới web server Những dữ liệu phức tạp sẽ được chuyển tiếp Thông thườngphương thức này được sử dụng cho dữ liệu là trang HTML Một yêu cầu GET sửdụng cho một tài nguyên có thực nếu có một vài hay không tham số nào đượctruyền Nếu có tham số đòi hỏi, một chuỗi truy vấn được gắn thêm vào địa chỉURI
Các trang HTML sử dụng POST để Submit các form dữ liệu
Trang 11Khác với GET, các tham số được đặt trong phần thân của thông điệp, nó không được hiển thị như là một phần của yêu cầu URI.
Tìm hiểu về gói Bot-Package
Gói thư viện Bot là tập hợp các lớp Java được xây dựng nhằm hỗ trợ phát triểnSpider, Bot Ta sẽ sử dụng gói thư viện này để xây dựng một lớp cho phép xác định mộtform tìm kiếm trên 1 trang HTML và truyền từ khóa qua form đó để lấy về một URL Sauđây là một số phương thức của các lớp mà ta sẽ sử dụng trong đề tài:
public String getBody()
Phương thức này trả về một nguyên bản trả từ một HTTP Request Nếu kết quả trảvề dưới dạng nhị phân thì nó sẽ được chuyển sang dạng chuỗi (String)
public CookieParse getCookie(String name)
Phương thức trả về những cookie độc lập với tên, kiểu trả về là CookieParsepublic AttributeList getCookies()
Phương thức này trả về danh sách các thuộc tính là nội dung của các cookie hiệntại được lưu giữ bởi HTTP session.
public int getTimeout()
Phương thức này lấy về thời gian timeout được định nghĩa cho đối tượng HTTP,thời gian được tính theo dạng milliseconds.
public String getURL()
Phương thúc này trả về URL được yêu cầu bởi phương thức send() lần cuối cùngpublic void send(String url,String post)
throws java.net.UnknownHostException,java.io.IOException
Phương thức này được sử dụng để gửi một HTTP Request và nhận lại kết quả trảvề từ phía server Nó có thể được gọi lại nhiều lần trên cùng đối tượng HTTP để chuyểnqua những trang kế tiếp nhau.
public void setTimeout(int i)
Trang 12Phương thức này sẽ thiết lập thời gian timeout cho một HTTP Request Thời giantimeout được tính theo milliseconds.
public void setURL(String u)
Phương thức này thiết lập thuộc tính URL, để chuyển tới URL rõ ràng có thể gọiphương thức với tham số là URL
Lớp HTTPSocket
Lớp HTTP cung cấp các thuộc tính và phương thức thuận lợi cho việc tạo một kếtnối HTTP Lớp HTTP là một lớp trừu tượng Lớp HTTPSocket là thể hiện của lớpHTTP Lớp này giao tiếp với web server sử dụng sockets.
Thể hiện của đối tượng HTTP sử dụng lớp HTTPSocket được khai báo:HTTP http = new HTTPSocket();
Lớp Attribute
Lớp Bot cung cấp một số lớp sử dụng để miêu tả HTTP header và cookies baogồm lớp Attribute Lớp này lưu giữ một danh sách thuộc tính theo từng cặp tên- giá trị vàchỉ một giá trị ứng với một tên là được cho phép Khi ta yêu cầu một danh sách từ cácheader hay cookies ta sẽ lấy về được một danh sách các thuộc tính.
Một số phương thức trong lớp Attribute:public Attribute()
Phương thức này khởi tạo một đối tượng Attribute với chuỗi tên và giá trị là rỗng.public Attribute(String name,String value)
Phương thức này khởi tạo đối tượng Attribute với tên và giá trị đuợc truyền vào.public Object clone()
Phương thức này tạo một bản sao đối tượng Objectpublic String getName()
Phương thức lấy tên của đối tượng Attributepublic String getValue()
Phương thức lấy giá trị của đối tượng Attributepublic void setName(String name)
Phương thiết lập tên cho đối tượng Attributepublic void setValue(String value)
Phương thiết lập giá trị cho đối tượng Attribute
Lớp HTMLPage
Trang 13Lớp HTMLPage được sử dụng để đọc một trang HTML theo một địa chỉ URLđược chỉ ra và hỗ trợ việc trích rút các thông tin hữu ích.
Lớp HTMLPage sử dụng phương thức constructor để xây dựng và định nghĩa đốitượng HTML object - đối tượng này được sử dụng trong tất cả các giao tiếp.
Lớp HTTPPage cung cấp một số phương thức lấy về danh sách các ảnh, các linkhay các form được tìm thấy khi đọc một trang HTML:
public Vector getImages()public Vector getForms()public Vector getLinks()
HTMLForm form = (HTMLForm) page.getForms().elementAt(0);
Đối tượng HTMLForm nắm giữ các phương thức và các cấu trúc giúp chỉ ra cácthuộc tính của Form action, method, các thuộc tính textbox, radio,…
public String getAction()
Phương thức này trả về action - địa chỉ url mà dữ liệu của form được POST hoặcGET lên.
public String getMethod()
Trang 14Phương thức này trả về phương thức của form thực hiện
link.getALT(): trả về thuộc tính alt.
Kĩ thuật Posting Form
Request HTTP Post là một cách thức phổ biến để chuyển thông tin lên Internet.Khi sử dụng POST, có thể gửi một lượng dữ liệu lớn từ trình duyệt lên Server Thôngthường thì dữ liệu trên form là do người dùng điền vào và sau đó nhấn Submit để đẩy dữliệu đi.
Kĩ thuật Posting Form ra đời nhắm đến mục tiêu hoạt động tương tự như vậy,nhưng hoạt động hoàn toàn tự động Sử dụng 2 lớp: HTMLPage - xác định vị trí mộtForm, HTMLForm - lưu giữ thông tin form và điền dữ liệu lên form Sau quá trìnhPosting Form, một trang HTML kết quả được trả về.
Phương thức post nằm trong lớp HTTPPage:public void post(HTMLForm form)
throws IOException{
http.getClientHeaders().set("Content-Type",
urlencoded");
http.send(form.getAction(),form.toString());
processPage(null);//phương thức xử lý đối tượng callback }
Sử dụng gói thư viện Swing cho việc phân tích cú pháp HTML
Từ phiên bản 1.2, JAVA đưa ra gói thư viện Swing hỗ trợ việc phân tích cú phápHTML
Tạo đối tượng Callback cho việc phân tích HTML
Trang 15Để phân tích được trang HTML ta tạo ra một đối tượng HTMLParserCallbackdẫn xuất từ lớp javax.swing.text.html.HTMLEditorKit
Bằng cách ghi đè các phương thức trong đối tượng HTMLEditorKit ta có thể xửlý theo ý muốn nội dung trang HTML.
Sau đây là các phương thức cần thiết để xử lý nội dung HTML được sử dụng trongđề tài:
public void handleComment(char[] data,int pos)
Phương thức này được gọi bởi Swing Parser khi một chú thích HTML được định vị Lời chú thích được lưu giữ trong data Tham số pos đưa ra vị trí hiện tại của nó
public void handleEndTag(HTML.Tag t,int pos)
Phương thức này được gọi bởi Swing Parser khi một thẻ đóng HTML được địnhvị Tham số pos đưa ra vị trí hiện tại của nó.
public void handleSimpleTag(HTML.Tag t,MutableAttributeSet a,int pos)
Phương thức này được gọi bởi Swing Parser khi một thẻ HTML đơn t được định vị Tham số a là tập các thuộc tính của thẻ t Tham số pos đưa ra vị trí hiện tại của nó.
public void handleStartTag(HTML.Tag t,MutableAttributeSet a,int pos)
Phương thức này được gọi bởi Swing Parser khi một thẻ mở t HTML được định vị.Tham số a là tập các thuộc tính của thẻ t Tham số pos đưa ra vị trí hiện tại của nó public void handleText(char[] data,int pos)
Phương thức này được gọi bởi Swing Parser khi một đoạn text HTML được định vị Tham số pos đưa ra vị trí hiện tại của nó.
Trang 16Chương 2 KHẢO SÁT CÁC WEBSITE BÁN HÀNG Ở VIỆT NAM
Giới thiệu
Mua bán trực tuyến là hình thức không mới đối với thế giới, nhưng với Việt Namthì vẫn còn là một lĩnh vực hết sức mới mẻ Tuy nhiên tiềm năng của nó ở nước ta khôngphải là nhỏ Vì thế, việc xây dựng các gian hàng mua bán trực tuyến là một điều rất cầnthiết và đáng quan tâm
Mục đích của chương trình này là giúp những người có nhu cầu khảo sát giá cả thịtrường qua mạng có một cơ hội tốt để tiếp cận với những thông tin về sản phẩm mà họquan tâm Chương trình trước hết làm việc với các Website bán hàng ở Việt Nam nên yêucầu cần phải tìm hiểu các Webiste này.
Nói đến các Website của Việt Nam hay của bất cứ quốc gia nào trên thể giới đềucó một bài toán khá hóc búa cho tác tử tìm kiếm là : Làm thế nào để tác tử có thể thâmnhập được vào các Website, thu thập được các thông tin về sản phẩm đúng như mongmuốn mà chỉ cần dựa vào từ khóa tìm kiếm của người dùng.
Để giải quyết bài toán trên, một lần nữa khẳng định khảo sát các Website bán hàngcủa Việt Nam là việc quan trọng cần làm.
Ngoài các mục đích trên, khảo sát tình hình các Website bán hàng ở Việt Nam cònđể xây dựng được một tập hợp danh sách các từ khóa Danh sách các từ khóa này khingười dùng nhập dữ liệu tìm kiếm trùng với từ khóa thì sẽ dễ dàng tìm ra các thông tinsản phẩm cần tìm Mặt khác, cũng là để liệt kê ra danh sách các Website, các sản phẩmcủa Website để cập nhật vào CSDL sau này.
Một điều quan trọng là từ việc khảo sát này giúp cho quá trình xây dựng chươngtrình dễ phác thảo ra xem đối với một sản phẩm thì nên thể hiện những gì?
Các vấn đề được quan tâm khảo sát ở đây bao gồm: Tên sản phẩm, nhà sản xuất,định danh của sản phẩm và quan trọng là giá bán, tên loại sản phẩm và nơi bán.
Các Webiste được khảo sát kinh doanh nhiều mặt hàng thuộc nhiều lĩnh vực khácnhau được liệt kê như sau:
Trang 17Tên WebsiteMặt hàng kinh doanh
http://www.g6computer.com.vn Máy tính và các linh kiện máy tính
http://www.thegioimobi.com.vn Điện thoại di động
http://www.trananh.com.vn Máy tính và các linh kiện máy tính
http://www.tienphong-vdc.com.vn Sách báo, đĩa nhạc, điện hoa
http://www.maytinhhanoi.com.vn Máy tính và linh kiện máy tính
http://www.maihoang.com.vn Máy tính và linh kiện máy tính
http://www.chau-electronics.com.vn VCD, DVD , Amply, v…v
http://www.vinhtrinh.com.vn Máy tính và các linh kiện máy tính
http://www.phucanh.com.vn Máy tính và các linh kiện máy tínhhttp://www.westcom.com.vn Máy tính và các linh kiện
http://www.axmobile.com.vn Website bán điện thoại di độnghttp://www.dienthoai.com.vn 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
Trang 18Bố 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ẫnbắ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ìmkiếm
Ví dụ :
http://www.kymdan.com.vn 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ứ 3chúng ta mới có thông tin về sản phẩm cần tìm.
http://www.westcom.com.vn 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ìmkiếm theo dạng textbox tại trang chủ.
http://www.anhngoc.com.vn 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áongắn gọn về đặc tính và giá cả cũng như thời gian bảo hành.
http://www.sony.com.vn 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ácthô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óichung 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ữavà 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ảnphẩ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 (http://www.elead.com.vn)
Một số trang cũng chỉ tìm kiếm đơn thuần khác như:
http://www.g6computer.com.vn , http://www.vinhtrinh.com.vn, http://www.ptc.com.vn,http://www.golmart.com.vn, http://www.axmobile.com.vn, v v
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ìmkiế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
Trang 19tì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ậpvà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(http://www.axmobile.com.vn)
Tương tự: http://www.westcom.com.vn, http://www.maihoang.com.vn
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ếmlạ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 địnhvà 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ảnphẩm (Ví dụ: sách, đĩa ca nhạc, ) và gõ vào tên sản phẩm cần tìm.
Trang http://www.tienphong-vdc.com.vn 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ấpcho 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(http://www.thegioimobi.com.vn)
Tiêu biểu cho loại này là http://www.thegioimobi.com.vn Đâ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áchcung 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ớnnhất và nhỏ nhất giới hạn được
Tương tự: http://www.tienphong-vdc.com.vn, http://www.muabandtdd.com
Trang 20Nhậ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ẫnnhư “ 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ôngtin 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ảnxuấ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ầnnà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ớisả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ớihạn là gì?
(Có thể xem xét tại một số trang như :
http://www.g6computer.com.vn , http://www.ben.com.vn, http://www.westcom.com.vn ,
http://www.trananh.com.vn , 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ụ: http://www.tienphong-vdc.com.vn thì chỉ cho tìm kiếm chi tiết vớicụ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ácWebsite :
<input></input>, <strong></strong>, <td></td>,<p></p>,<option></option>
Trang 21Trì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àntoà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 xcó 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ệnra 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 đó Tacó thể tìm thấy các minh họa qua một số Website sau:
http://www.chau-electronics.com.vn khi nhập từ khóa DVD trả về một danh sách các sảnphẩ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 đó
http://www.trananh.com.vn thông báo tìm thấy số lượng sản phẩm là bao nhiêu và mộtdanh 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ấthiệ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ườidù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áctrang : http://www.ptc.com.vn/, http://www.golmart.com.vn.
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ụ : http://www.vinhtrinh.com.vn, http://www.thegioimobi.com.vn
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 Websitethì 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
Trang 22nế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ắnhơ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ư:
http://www.elead.com.vn với từ khóa “s506”
http://www.trananh.com.vn với từ khóa“maxtor”
http://www.anhngoc.com.vn với từ khóa "CPU"
http://www.maihoang.com.vn với từ khóa CPU PentiumIV v v vta 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 congồ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àothì 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
Trang 23Đơ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àoWebsite đó phục vụ công việc kinh doanh gì Nhìn chung thì chúng ta có thể tìm thấythô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 :
http://www.trananh.com.vn 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ụ: http://www.thegioimobi.com.vn )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 "$".
Trang 24Chương 3 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 đốivớ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ênthế 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 muasắ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ònrấ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ằngcá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íchrú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ởinhó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ôngtin 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 đòihỏ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ươngtrình học cho Website đó Trong hệ thống của chúng ta, tác tử sẽ nhận địa chỉ URL củaWebsite 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ảnphẩ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úckhá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ếtquả 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ìmkiế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ầnlặ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ẫunà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 tinnà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útthông tin.
Trang 25Hình 3-1 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ồmcó 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ủaWebsite 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ậtngữ (từ khoá) mới để nhận biết ra các thông tin về thuộc tính sản phẩm.
Trang 26Chươ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àngtrự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útthông tin của các sản phẩm trong Website đó.
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
Hình 3-2: Kiến trúc của hệ thống trích rút thông tin sản phẩm
Người quảntrị
Trang 27Trình quản lý thuật ngữ có chức năng quản lý những từ khoá và cho phép nhậpthê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êutả 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ẩmmà 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 theotừ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ácthô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ảinhậ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 trangkế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ăngtrí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ôngliê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àoCSDL 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ôngquan 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ạngmiê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ọcnhư 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
Trang 28Sau đâ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 đượcmẫ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úcvà 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ũngchỉ 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.
Kết quả truy vấn
Miêu tả về giá cả, nơi bán
Miêu tả về giá cả, nơi bán
Hình 3-3:Minh họa giai đoạn học
Trang 29Dự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ấtcả 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ừ trangchủ 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 Websitenà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ìmkiế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ôngdụ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íchrú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ánhà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àychú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ệusiê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ácsả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 tinquả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 Haynó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ậttoá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ôngtin 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àyquy định hai sản phẩm riêng biệt thường cách nhau bằng dòng trắng (<br>) Nhưng thuậttoá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ảnphẩ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ềuthờ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ántrí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ộctí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ìmkiếm Trang kết quả tìm kiếm thông thường sẽ chia ra làm 2 loại sau:
Trang 30- Loại 1: Các sản phẩm sẽ hiển thị theo dạng bảng 3-1:
- 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
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
Thuộc tính 1Thuộc tính 2.
Thuộc tính n
Trang 31hợ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