MỤC LỤC
CHƯƠNG I : GIỚI THIỆU SẢM PHẨM…………………………………………1
I.1. MỞ
ĐẦU………………………………………………………………………………….1
I.2. MỘT VÀI VÍ DỤ ỨNG
DỤNG………………………………………………………2
CHƯƠNG II : LÝ THUYẾT CHUNG……………………………………………...3
II.1. PHÂN LOẠI NGUỒN THÔNG
TIN……………………………………………….3
II.1.1. Các trang web thông tin có cấu trúc được cập nhật thường
xuyên………………………………………………………………………
……….….4
II.1.2. Các trang Web thông tin có cấu trúc không được cập nhật thường
xuyên………………………………………………………………………
.5
II.1.3. Các trang Web thông tin có cấu trúc lỏng lẻo……………………….…6
II.2.
WEBMINING……………………………………………………………………………6
II.2.1. Thu thập thông tin (Information Retrieval) …………………..7
II.2.2. Bóc tách thông tin (Information Extraction) ………………….7
II.2.3. Tổng hợp và tổng quát hoá dữ liệu (Generation) …………..8
II.2.4. Phân
tích………………………………………………………………….…8
II.3.
XLM……………………………………………………………………………………..
…8
CHƯƠNG III : NGHIÊN CỨU GIẢI PHÁP…………………………………….10
III.1. THU THẬP THÔNG
TIN………………………………………………………….11
III.1.1.Các loại
URL……………………………………………………………..11
V.6. CHỈNH SỬA VÀ THÊM CHÚ THÍCH VÀO BÀI
BÁO……………………….43
V.7. TÌM KIẾM BÀI
BÁO………………………………………………………………….43
V.8. CẬP NHẬT CÁC KÊNH THÔNG TIN
MỚI…………………………………….44
CHƯƠNG VI : KẾT LUẬN…………………………………………………………44
GIỚI THIỆU SẢN PHẨM.........................................................................3
I.1.MỞ ĐẦU......................................................................................................................3
I.2.MỘT VÀI VÍ DỤ ỨNG DỤNG..................................................................................4
LÝ THUYẾT CHUNG................................................................................5
II.1.PHÂN LOẠI NGUỒN THÔNG TIN.........................................................................5
II.1.1.Các trang Web thông tin có cấu trúc được cập nhật thường xuyên....................6
II.1.2.Các trang Web thông tin có cấu trúc không được cập nhật thường xuyên.........6
II.1.3.Các trang Web thông tin có cấu trúc lỏng lẻo.....................................................7
II.2.WEBMINING.............................................................................................................7
II.2.1.Thu thập thông tin (Information Retrieval).........................................................8
II.2.2. Bóc tách thông tin (Information Extraction)......................................................9
II.2.3.Tổng hợp và tổng quát hoá dữ liệu (Generation)................................................9
II.2.4.Phân tích...............................................................................................................9
II.3.XML..........................................................................................................................10
NGHIÊN CỨU
GIẢI PHÁP..........................................................................................11
III.1.THU THẬP THÔNG TIN.......................................................................................12
III.1.1.Các loại URL....................................................................................................12
III.1.2. Giải pháp xử lý................................................................................................13
III.2.BÓC TÁCH THÔNG TIN......................................................................................20
III.2.1. Quy luật dùng để bóc tách thông tin...............................................................21
III.2.2.Phương án kỹ thuật...........................................................................................25
III.2.3.Kênh tin và kênh tin đa mức ...........................................................................30
trăm tờ báo điện tử, diễn đàn, search engine, rồi các website thông tin về đủ mọi lĩnh vực,
nhưng lại không thể đủ thời gian để cập nhật dù chỉ là lướt qua hết các nguồn tin này
chưa? Có thể có và cũng có thể là chưa.
Hệ thống của tôi ra đời với một tiêu chí vô cùng đơn giản “Mang lại cho người
sử dụng thông tin và chỉ những thông tin mà họ cần”. Thông tin bạn cần nhất khi
muốn xem lướt qua các tờ báo điện tử là gì? Có thể chỉ là tiêu đề bài báo và vài dòng tóm
tắt qua nội dung của bài báo đó. Thông tin bạn cần nhất khi lướt qua một diễn đàn là gì?
Có thể chỉ là tên bài viết và tác giả của bài viết đó. Cũng như vậy đối với một trang Web
cung cấp thông tin về giá cả chứng khoán. Bạn cần chỉ số chứng khoán của các công ty
chứ đâu cần phải rối tinh lên vì các thông tin không cần thiết nằm trong trang Web đó...
Nhưng có phải là hệ thống của tôi sẽ chỉ mang đến cho bạn thông tin về tiêu đề cùng với
phần tóm tắt của các tin tức trên rất nhiều các trang báo điện tử trong và ngoài nước, hay
tên bài viết và tác giả của các chủ đề trên rất nhiều các diễn đàn trao đổi thông tin, hay
đơn thuần chỉ là các chỉ số chứng khoán, … không thôi?
Không, tất nhiên không chỉ có vậy, hệ thống của tôi được xây dựng như là một
giải pháp tổng quát để thu thập và tách thông tin từ bất cứ nguồn tin nào trên
- 3 -
Chương I : Giới thiệu sản phẩm
Internet. Với sự cố gắng nỗ lực hết mình trong phạm vi giới hạn của kiến thức, tôi cũng
đã cung cấp cho bạn một cơ chế tương tác trực quan giữa người và máy để xác định
thông tin cần bóc tách mà ngay cả những hệ thống có chức năng tương tự như Novobot,
WebFerret hay Copernic cũng rất khó khăn hay hầu như không thể cung cấp cho bạn
được. Tính khả mở của hệ thống đã được chuyển giao từ những người tạo ra hệ thống
vào tay người sử dụng. Hệ thống của tôi giờ đây đã cung cấp đầy đủ các chức năng để
bạn có thể thu thập và tách các thông tin từ bất cứ nguồn tin nào và việc quyết định cần
thu thập những thông tin gì là tùy vào chính bạn chứ không còn cứng nhắc như các hệ
thống trước đây nữa.
Hãy để công việc thu thập thông tin lại trở nên dễ dàng và tiện dụng cùng với hệ
thống của tôi cho dù trước mắt bạn là một biển thông tin hỗn độn và khổng lồ như
Internet .
Chương I : Giới thiệu sản phẩm
Ngoài ra còn có thể kể đến rất nhiều ứng dụng khác nữa. Hệ thống này có thể
được ứng dụng vào trong những công việc gì thì điều đó chỉ phụ thuộc vào khả năng sáng
tạo của chính bạn mà thôi.
CHƯƠNG II
LÝ THUYẾT CHUNG
LÝ THUYẾT CHUNG
Các loại nguồn thông tin trên Web
Các tác vụ Web-mining, lý thuyết và thực tế
Ngôn ngữ XML, khả năng và thực tế
Chúng ta đã thật sự có thông tin mình mong đợi chưa?
II.1.PHÂN LOẠI NGUỒN THÔNG TIN
Trong thập kỷ qua, chúng ta đã được chứng kiến sự phát triển đến chóng mặt của
Internet mà tiêu biểu là các trang thông tin. Sự phát triển này đã có một ảnh hưởng không
nhỏ tới nền kinh tế và xã hội không chỉ của riêng một quốc gia mà là cả thế giới. Internet
được coi là một nguồn cung cấp tin khổng lồ với mọi chuyên mục, mọi vấn đề mà người
sử dụng cần đến. Với sự phát triển này, hiện nay, lượng thông tin Internet mang đến cho
người sử dụng là quá lớn dẫn tới việc chúng ta cần phải có các ứng dụng Internet thông
minh và hiệu quả hơn đối với người sử dụng. Có nhiều cách để phân loại các nguồn
thông tin từ Web, tuy vậy, chúng ta có thể chia thành 3 loại chính như sau :
• Các trang Web thông tin có cấu trúc được cập nhật thường xuyên
• Các trang Web thông tin có cấu trúc không được cập nhật thường xuyên
• Các trang Web thông tin có cấu trúc lỏng lẻo
Trước khi đi vào phân tích từng loại một, chúng ta cần nhận định rằng các trang
Web hiện nay được xây dựng bằng rất nhiều nguồn khác nhau: text, hình ảnh, video, biểu
tượng .v.v… Có thể kể ra đây một vài đặc tính quan trọng của dữ liệu trên các trang Web
này :
• Không phân loại được (các thông tin mang lại từ HTML hầu hết là về phần trình
bày thông tin chứ không phải là ngữ nghĩa của thông tin)
• Phân tán
đề nói về Trí Tuệ Việt Nam 2004“ hay như “Có công ty chứng khoán nào niêm yết
giá khoảng dưới 20000 VND không nhỉ?”, có vẻ đơn giản nhưng dường như lại khá
khó khăn trong việc thực hiện. Câu trả lời nếu sử dụng các phương pháp thông thường
như là sử dụng search engine của trang thông tin đó hay các search engine khác sẽ mang
lại cho người sử dụng quá nhiều thông tin không cần thiết do các search engine này cũng
chỉ tìm kiếm thông tin chứ không để ý đến ngữ nghĩa của thông tin.
II.1.2.Các trang Web thông tin có cấu trúc không được cập
nhật thường xuyên
Tần số cập nhật được nêu ra ở đây chỉ mang tính tương đối, vì một trang Web
được cập nhật thường xuyên (ví dụ như chỉ số chứng khoán) lại cũng có thể vì một lý do
nào đó không cập nhật thường xuyên nữa (ví dụ đóng cửa thị trường chứng khoán vào
- 6 -
Chương I : Giới thiệu sản phẩm
ngày nghỉ). Tuy nhiên, có thể thấy rằng, cũng có rất nhiều trang Web mà tần số cập nhật
là ít. Ví dụ như trang Web giới thiệu tên các quốc gia (đương nhiên không phải ngày,
tháng, năm nào cũng có một quốc gia xuất hiện, đổi tên hay biến mất nên thông tin trong
trang Web này dường như không thay đổi), hay như trang Web chứa thông tin về Ban
Giám Khảo cuộc thi Trí Tuệ Việt Nam (thay đổi theo hàng năm). Do các trang Web này
cũng được tổ chức theo một cấu trúc nhất định nên chúng ta cũng có thể phân tích về mặt
ngữ nghĩa cấu trúc. Ví dụ như trong trang Web thông tin về Ban Giám Khảo cuộc thi Trí
Tuệ Việt Nam, ít nhất cũng phải có các thông tin: Tên + Chức danh của các thành viên
Ban Giám Khảo. Tương tự, chúng ta sẽ lại vấp phải những khó khăn khi muốn tìm ra dữ
liệu trả lời cho những câu hỏi như “Thành viên nào của Ban Giám Khảo hiện nay đang
công tác tại trường Đại học Bách Khoa ?”.
Những câu hỏi được đặt ra đối với các trang Web có cấu trúc nói trên dường như
sẽ là những câu truy vấn rất đơn giản trong các hệ quản trị cơ sở dữ liệu khi có các thông
tin Tiêu đề (trong câu hỏi “Tôi muốn đọc các bài có tiêu đề nói về Trí tuệ Việt Nam 2004
? ”), Tên công ty, Giá niêm yết (trong câu hỏi “Có công ty chứng khoán nào niêm yết
giá khoảng dưới 20000 VND không nhỉ ?”) và Tên thành viên, Chức danh (trong câu
hỏi “Thành viên nào của Ban Giám Khảo hiện nay đang công tác tại trường Đại học
Tæng qu¸t
ho¸ th«ng
tin
T¸c vô
Ph©n tÝch
th«ng tin
Tri thøc
Chúng ta sẽ điểm sơ qua từng tác vụ một và những nghiên cứu đã đạt được đối
với từng tác vụ này.
II.2.1.Thu thập thông tin (Information Retrieval)
Tác vụ thu thập thông tin giúp cho người sử dụng có được trang Web từ URL
hoặc từ yêu cầu mà họ cần. Đối với người sử dụng hiện tại, việc thu thập thông tin
thường được thực hiện qua các URL mà người sử dụng đã biết hoặc qua các engine tìm
kiếm. Các engine tìm kiếm là các chương trình được viết để có thể truy vấn và thu thập
dữ liệu được lưu trong cơ sở dữ liệu (có cấu trúc), trang Web (bán cấu trúc) và các văn
bản tự do (không có cấu trúc) trên mạng. Hiện tại đã có khá nhiều các engine tìm kiếm
mạnh ở thế giới và tại Việt Nam như Google, Altavista, Lycos, Vinaseek, PanVN, ... Các
engine này ngày càng cố gắng để có thể tương tác với người sử dụng nhiều và thông
minh hơn, tuy vậy không phải là không có những yếu điểm.
Như chúng ta đã biết, một hệ thống thu thập thông tin lý tưởng phải là một hệ
thống thu thập được những thông tin phù hợp nhất với yêu cầu của người sử dụng (yêu
cầu này được diễn giải bằng các câu truy vấn). Đây thật sự là một tác vụ vô cùng phức
tạp và khó khăn mà hầu hết các hệ thống thu thập thông tin đều chưa thực hiện được triệt
để, phần nhiều có thể kể đến là do tính phi ngữ nghĩa của ngôn ngữ HTML. Hầu hết các
hệ thống thu thập thông tin hiện nay đều chú trọng tới tốc độ, số lượng thông tin mà các
hệ thống này có thể mang lại cho người dùng với các câu truy vấn tương đối đơn giản.
Ngoài ra chúng ta cũng nhận thấy đã có những cố gắng rất nhiều trong việc cá
nhân hóa và khả mở đối với hệ thống thu thập thông tin. Tuy vậy, kết quả mang lại chưa
phải thật sự tốt đúng như người dùng mong đợi.
- 8 -
theo mặt ngữ nghĩa một cách tự động. Ví dụ, nếu chúng ta có một cơ chế nào đó để xác
định được hai tập hợp các trang Web là trang chủ của cá nhân này và không phải là trang
chủ của cá nhân khác thì chúng ta sẽ có khả năng tiên đoán được một trang Web mới liệu
có phải là trang chủ của một ai đó hay không. Tuy vậy, với tính phi-ngữ nghĩa của
HTML, chúng ta khó có thể phân loại được các trang Web này.
II.2.4.Phân tích
Phân tích các thông tin sau khi đã thu thập được không phải là một công việc dễ
dàng ngay cả đối với người sử dụng chứ chưa nói đến đối với máy tính. Tác vụ này có
- 9 -
Chương I : Giới thiệu sản phẩm
thể được thực hiện hoàn toàn chỉ sau khi 3 tác vụ phía trước nó cũng đã được thực hiện
tốt.
II.3. XML
Với những nhược điểm phi-ngữ nghĩa của ngôn ngữ HTML cộng với nhu cầu
thực tế của người sử dụng, XML đã ra đời cùng với khả năng tăng thêm tính linh động,
ngữ nghĩa của các văn bản HTML. Văn bản XML được cấu tạo với cấu trúc cũng dựa
trên các thẻ như HTML, tuy nhiên các thẻ này không cố định như HTML mà hoàn toàn là
do người sử dụng đặt tên. Chính nhờ khả năng ấy mà XML đã vượt trội hơn hẳn HTML
về mặt cung cấp ngữ nghĩa của thông tin. Đơn giản như, bây giờ, các search engine sẽ có
thể phân biệt được bill (hoá đơn điện thoại) với Bill Clinton (tên người). Tuy vậy, XML
ra đời không có nghĩa rằng HTML sẽ không được sử dụng nữa. Có một câu ngạn ngữ
được các nước hay sử dụng là “Không việc gì phải sửa chữa những cái gì nó chưa hỏng”
và XML cũng không phải sinh ra là để thay thế cho ngôn ngữ HTML mà là một sự bổ
sung lý tưởng cho ngôn ngữ HTML, giải quyết cho HTML một số vấn đề sau:
• XML được thiết kế để phát triển và mở rộng một ngôn ngữ mark-up mới theo một
hệ thống chuẩn. Từ trước tới nay, HTML chưa bao giờ được cung cấp một khả
năng mở rộng tuân theo một chuẩn nhất định. Để thay đổi HTML, chúng ta có lẽ
phải đối mặt với cả thế giới trong khi việc thay đổi XML cho phù hợp với mục
đích người sử dụng lại không có gì khó khăn mà bằng chứng là hiện tại có rất
nhiều ngôn ngữ dựa trên XML như ebXML (e-biz XML) hay WML (ngôn ngữ sử
dụng, trạng thái Web site, điều khiển luồng dữ liệu trong trang Web trở nên dễ
dàng hơn bao giờ hết.
• XML có thể giúp chúng ta trong việc tương tác với cơ sở dữ liệu, ví dụ như việc
nhận dữ liệu từ một câu truy vấn SQL hoặc cập nhật dữ liệu từ một bản ghi XML.
Bằng việc mô tả dữ liệu theo định dạng XML, chúng ta không cần phải nhất thiết
có một chút khái niệm nào về cấu trúc thật sự của cơ sở dữ liệu khi lưu.
Với nền tảng XML chúng ta có thể dễ dàng bổ sung tính ngữ nghĩa cho các thông
tin lấy được từ các trang Web. Hệ thống của tôi còn nhắm tới XML như một ngôn ngữ
hữu dụng trong việc chuyển đổi sang bất cứ dạng cơ sở dữ liệu (hay cơ sở dữ liệu tri
thức) nào khác. Việc dễ dàng chuyển đổi sang các cơ sở dữ liệu khác nhau một cách dễ
dàng sẽ giúp đỡ người sử dụng, các doanh nghiệp tiết kiệm được rất nhiều thời gian, công
sức tiền bạc và thích ứng được với môi trường Thương mại điện tử một cách dễ dàng.
CHƯƠNG III
NGHIÊN CỨU
NGHIÊN CỨU
GIẢI PHÁP
GIẢI PHÁP
Giải pháp sử dụng script để tạo sinh URL tổng quát
Giải pháp sử dụng DLL để tạo sinh URL tổng quát
Bóc tách và gán ngữ nghĩa cho thông tin
Khả năng tương tác visual giữa người và máy
Hiện thực hóa giải pháp
Khả năng ứng dụng và phát triển
Như đã nói ở chương trước, để có được tri thức như mong muốn, chúng ta cần
thực hiện qua bốn bước thu thập, bóc tách, tổng quát hóa và phân tích dữ liệu. Các
bước này liên quan chặt chẽ đến nhau và có thể dễ dàng nhận thấy rằng, việc thực hiện
không tốt một bước bất kỳ trong bốn bước kể trên đều ảnh hưởng lớn tới tri thức đầu ra.
- 11 -
Chương I : Giới thiệu sản phẩm
Với những nghiên cứu sẽ trình bày dưới đây, tôi xin được đặc biệt chú trọng tới hai bước
xét tới chuyện xử lý sang việc người sử dụng cần lấy từ nguồn tin không phải từ
một trang mà là từ nhiều trang Web (ví dụ như mặc dù search engine có thể trả lại
cho chúng ta đến hàng triệu kết quả chỉ trong một trang Web, tuy vậy trong thực
tế người sử dụng thông thường không muốn xem hết hàng triệu kết quả này cũng
như search engine không bao giờ lại trình bày hàng triệu kết quả thu được trong
một trang Web duy nhất). Như vậy, thông tin về số trang trong trường hợp này ở
- 12 -
Chương I : Giới thiệu sản phẩm
trên URL cũng cần phải nghiên cứu. Chúng ta cũng cần phải phân biệt được
trường hợp 3 và 2 là giống nhau về mặt bản chất URL đều được mã hóa, nhưng
trong trường hợp thứ 3 thông tin mã hóa được nhập từ người sử dụng, còn trong
trường hợp thứ 2 thì do máy tính tự sinh ra.
III.1.2. Giải pháp xử lý
Đối với từng loại URL này, tôi đã có những nghiên cứu và đưa ra các giải pháp
khả thi để có thể xử lý hết tất cả các trường hợp tạo sinh URL và sau đó quy về một URL
tĩnh request đến server chứa nguồn thông tin. Trừ URL tĩnh là dạng URL cơ bản nhất còn
các dạng URL còn lại đều có thể được tạo sinh bởi một trong hai cách dưới đây :
• Tạo/sinh URL bằng cách viết script. Đây là nhóm các URL được mã hóa đơn
giản, có thể nhìn thấy ngay quy luật.
• Tạo/sinh URL bằng cách viết DLL. Trong trường hợp các URL sử dụng các
phương pháp mã hóa phức tạp hơn, để tiện cho người sử dụng, cách tốt nhất là
người sử dụng viết một DLL hoặc sử dụng DLL có sẵn như một plug-ins để cung
cấp cho hệ thống của tôi khả năng tạo/sinh URL dựa trên việc gọi các hàm trong
DLL (plug-ins) đó.
1.2.1. Tạo sinh URL bằng cách viết script
Trước hết, cần khảo sát qua những yêu cầu để có thể xây dựng nên script. Để
khảo sát, chúng ta sẽ lấy các URL của các search engine trong và ngoài nước đối với
chuỗi “Trí Tuệ Việt Nam” và một số tờ báo, mỗi trang lấy 3 URL và tổng quát hóa từ các
ví dụ này để rút ra quy luật. (Tại báo cáo này, tôi chỉ trình bầy một số ít trong các ví dụ
thực tế mà tôi đã khảo sát và nghiên cứu).
định
the
web.com/search?
q=
%22Tr%C3%AD+Tu
%E1%BB%87+Vi
%E1%BB%87t+Nam
%22&
&c=web&cs=utf-8&o= 10
20
30
&l=any
PanVN :
/>%87tNam"&fcid=2&any=&ww=&occ=&d=&cmdSearch=Search&advs=&pn=2&dns=&img=0
/>%87tNam"&fcid=2&any=&ww=&occ=&d=&cmdSearch=Search&advs=&pn=3&dns=&img=0
/>%87tNam"&fcid=2&any=&ww=&occ=&d=&cmdSearch=Search&advs=&pn=4&dns=&img=0
Phần cố định Keyword sau khi mã hoá Phần cố định Phần thay
đổi
Phần cố
định
vn
.com/index.asp?
progid=4004&q=
"Tr%C3%ADTu%E1%BB
%87Vi%E1%BB
%87tNam"
&fcid=2&any=&ww=&o
cc=&d=&cmdSearch=Se
arch&advs=&pn=
2
>>
endobj
185 0 obj
>
>>
endobj
186 0 obj
>
>>
endobj
187 0 obj
>
>>
endobj
188 0 obj
>
>>
endobj
189 0 obj
>
>>
endobj
190 0 obj
>
>>
endobj
191 0 obj
>
>>
endobj
>>
endobj
200 0 obj
>
>>
endobj
201 0 obj
>
>>
endobj
202 0 obj
>
>>
endobj
203 0 obj
>
>>
endobj
204 0 obj
>
>>
endobj
276 0 obj
0000035395 00000 n
0000033801 00000 n
0000032320 00000 n
0000031116 00000 n
0000028839 00000 n
0000030890 00000 n
0000030910 00000 n
0000031096 00000 n
0000032112 00000 n
0000032300 00000 n
0000033396 00000 n
0000033780 00000 n
0000034875 00000 n
0000035374 00000 n
0000037180 00000 n
0000037871 00000 n
0001622802 00000 n
0000037892 00000 n
0000045088 00000 n
0001622950 00000 n
0000045110 00000 n
0000049388 00000 n
0001623098 00000 n
0000049410 00000 n
0000053287 00000 n
0001623246 00000 n
0000053309 00000 n
0000057298 00000 n
0001623394 00000 n
0000057320 00000 n
0000091261 00000 n
0000091283 00000 n
0001625330 00000 n
0000212476 00000 n
0000214007 00000 n
0000214029 00000 n
0001625497 00000 n
0000264347 00000 n
0000266097 00000 n
0000266119 00000 n
0001625664 00000 n
0000347286 00000 n
0000350438 00000 n
0000350460 00000 n
0001625812 00000 n
0000403776 00000 n
0000409044 00000 n
0001625960 00000 n
0000409066 00000 n
0000413718 00000 n
0001626109 00000 n
0000413741 00000 n
0000416078 00000 n
0001626259 00000 n
0000416101 00000 n
0000418862 00000 n
0000418885 00000 n
0001626409 00000 n
0000453930 00000 n
0000456855 00000 n
0001627963 00000 n
0000889072 00000 n
0000890478 00000 n
0000890501 00000 n
0001628113 00000 n
0000968362 00000 n
0000969967 00000 n
0000969990 00000 n
0001628263 00000 n
0001073506 00000 n
0001075235 00000 n
0001083039 00000 n
0001075258 00000 n
0001628413 00000 n
0001177171 00000 n
0001179741 00000 n
0001179764 00000 n
0001628563 00000 n
0001268883 00000 n
0001270952 00000 n
0001270975 00000 n
0001628713 00000 n
0001393583 00000 n
0001395786 00000 n
0001629646 00000 n
0001629789 00000 n
0001629936 00000 n
0001630115 00000 n
0001630254 00000 n
0001630397 00000 n
0001636388 00000 n
0001636528 00000 n
0001636679 00000 n
0001629219 00000 n
0001395809 00000 n
0001420800 00000 n
0001420824 00000 n
0001421040 00000 n
0001421715 00000 n
0001422230 00000 n
0001432150 00000 n
0001432173 00000 n
0001432365 00000 n
0001432815 00000 n
0001433105 00000 n
0001441927 00000 n
0001441950 00000 n
0001442147 00000 n
0001442439 00000 n
0001442605 00000 n
0001452759 00000 n
0001452783 00000 n
0001452971 00000 n
0001453617 00000 n
0001454099 00000 n
0001460196 00000 n
0001460219 00000 n
0001460417 00000 n
0001460710 00000 n
0001460878 00000 n
0001570084 00000 n
0001570107 00000 n
0001570304 00000 n
0001570621 00000 n
0001570808 00000 n
0001618936 00000 n
0001618960 00000 n
0001619162 00000 n
0001620277 00000 n
0001621183 00000 n
0001621247 00000 n
0001621431 00000 n
0001628863 00000 n
0001628922 00000 n
0001636821 00000 n
0001636984 00000 n
trailer
startxref
1637521
%%EOF
">
>
>>
endobj
>>
endobj
192 0 obj
>
>>
endobj
193 0 obj
>
>>
endobj
194 0 obj
>
>>
endobj
195 0 obj
>
>>
endobj
196 0 obj
>
>>
endobj
197 0 obj
>
>>
endobj
198 0 obj
>
>>
endobj
/Lang(en-US)
>>
endobj
277 0 obj
/Creator
/Producer
/CreationDate(D:20121122124613+07'00')>>
endobj
xref
0 278
0000000000 65535 f
0001621772 00000 n
0000000019 00000 n
0000001722 00000 n
0001621918 00000 n
0000001743 00000 n
0000004556 00000 n
0001622064 00000 n
0000004577 00000 n
0000009082 00000 n
0001622210 00000 n
0000009103 00000 n
0000013783 00000 n
0001622358 00000 n
0000013805 00000 n
0000016871 00000 n
0001622506 00000 n
0000016893 00000 n
0000020826 00000 n
0001622654 00000 n
0001623394 00000 n
0000057320 00000 n
0000061750 00000 n
0001623593 00000 n
0000061772 00000 n
0000065678 00000 n
0001623800 00000 n
0000065700 00000 n
0000069187 00000 n
0001624127 00000 n
0000069209 00000 n
0000072791 00000 n
0001624275 00000 n
0000072813 00000 n
0000076234 00000 n
0001624423 00000 n
0000076256 00000 n
0000079843 00000 n
0001624571 00000 n
0000079865 00000 n
0000083486 00000 n
0001624719 00000 n
0000083508 00000 n
0000085109 00000 n
0001624867 00000 n
0000085131 00000 n
0000087547 00000 n
0001625015 00000 n
0000087569 00000 n
0000089762 00000 n
0000453930 00000 n
0000456855 00000 n
0001626559 00000 n
0000456878 00000 n
0000460162 00000 n
0001626709 00000 n
0000460185 00000 n
0000461958 00000 n
0001626859 00000 n
0000461981 00000 n
0000485741 00000 n
0001627009 00000 n
0000485765 00000 n
0000488975 00000 n
0001627186 00000 n
0000488998 00000 n
0000490740 00000 n
0000656519 00000 n
0000490763 00000 n
0001627336 00000 n
0000708188 00000 n
0000710960 00000 n
0000710983 00000 n
0001627486 00000 n
0000876903 00000 n
0000880453 00000 n
0001627636 00000 n
0000880476 00000 n
0000885973 00000 n
0001627813 00000 n
0001630254 00000 n
0001630397 00000 n
0001630536 00000 n
0001630685 00000 n
0001630858 00000 n
0001631030 00000 n
0001631204 00000 n
0001631419 00000 n
0001631632 00000 n
0001631847 00000 n
0001632060 00000 n
0001632275 00000 n
0001632490 00000 n
0001632656 00000 n
0001632824 00000 n
0001632992 00000 n
0001633160 00000 n
0001633328 00000 n
0001633496 00000 n
0001633696 00000 n
0001633896 00000 n
0001634096 00000 n
0001634296 00000 n
0001634494 00000 n
0001634694 00000 n
0001634925 00000 n
0001635154 00000 n
0001635385 00000 n
0001635614 00000 n
0001635844 00000 n
0001460710 00000 n
0001460878 00000 n
0001474119 00000 n
0001474143 00000 n
0001474335 00000 n
0001474748 00000 n
0001475006 00000 n
0001484903 00000 n
0001484926 00000 n
0001485123 00000 n
0001485619 00000 n
0001485954 00000 n
0001513428 00000 n
0001513452 00000 n
0001513664 00000 n
0001514414 00000 n
0001514994 00000 n
0001518934 00000 n
0001518957 00000 n
0001519150 00000 n
0001519460 00000 n
0001519634 00000 n
0001524208 00000 n
0001524231 00000 n
0001524423 00000 n
0001524850 00000 n
0001525128 00000 n
0001562257 00000 n
0001562281 00000 n
0001562488 00000 n
>
192 0 obj
>
>>
endobj
193 0 obj
>
>>
endobj
194 0 obj
>
>>
endobj
195 0 obj
>
>>
endobj
196 0 obj
>
>>
endobj
197 0 obj
>
>>
endobj
198 0 obj
>
>>
endobj
199 0 obj
>
endobj
277 0 obj
/Creator
/Producer
/CreationDate(D:20121122124613+07'00')>>
endobj
xref
0 278
0000000000 65535 f
0001621772 00000 n
0000000019 00000 n
0000001722 00000 n
0001621918 00000 n
0000001743 00000 n
0000004556 00000 n
0001622064 00000 n
0000004577 00000 n
0000009082 00000 n
0001622210 00000 n
0000009103 00000 n
0000013783 00000 n
0001622358 00000 n
0000013805 00000 n
0000016871 00000 n
0001622506 00000 n
0000016893 00000 n
0000020826 00000 n
0001622654 00000 n
0000020848 00000 n
0000028817 00000 n
0000061750 00000 n
0001623593 00000 n
0000061772 00000 n
0000065678 00000 n
0001623800 00000 n
0000065700 00000 n
0000069187 00000 n
0001624127 00000 n
0000069209 00000 n
0000072791 00000 n
0001624275 00000 n
0000072813 00000 n
0000076234 00000 n
0001624423 00000 n
0000076256 00000 n
0000079843 00000 n
0001624571 00000 n
0000079865 00000 n
0000083486 00000 n
0001624719 00000 n
0000083508 00000 n
0000085109 00000 n
0001624867 00000 n
0000085131 00000 n
0000087547 00000 n
0001625015 00000 n
0000087569 00000 n
0000089762 00000 n
0001625163 00000 n
0000089784 00000 n
0001626559 00000 n
0000456878 00000 n
0000460162 00000 n
0001626709 00000 n
0000460185 00000 n
0000461958 00000 n
0001626859 00000 n
0000461981 00000 n
0000485741 00000 n
0001627009 00000 n
0000485765 00000 n
0000488975 00000 n
0001627186 00000 n
0000488998 00000 n
0000490740 00000 n
0000656519 00000 n
0000490763 00000 n
0001627336 00000 n
0000708188 00000 n
0000710960 00000 n
0000710983 00000 n
0001627486 00000 n
0000876903 00000 n
0000880453 00000 n
0001627636 00000 n
0000880476 00000 n
0000885973 00000 n
0001627813 00000 n
0000885996 00000 n
0000889049 00000 n
0001630536 00000 n
0001630685 00000 n
0001630858 00000 n
0001631030 00000 n
0001631204 00000 n
0001631419 00000 n
0001631632 00000 n
0001631847 00000 n
0001632060 00000 n
0001632275 00000 n
0001632490 00000 n
0001632656 00000 n
0001632824 00000 n
0001632992 00000 n
0001633160 00000 n
0001633328 00000 n
0001633496 00000 n
0001633696 00000 n
0001633896 00000 n
0001634096 00000 n
0001634296 00000 n
0001634494 00000 n
0001634694 00000 n
0001634925 00000 n
0001635154 00000 n
0001635385 00000 n
0001635614 00000 n
0001635844 00000 n
0001636074 00000 n
0001636231 00000 n
0001474119 00000 n
0001474143 00000 n
0001474335 00000 n
0001474748 00000 n
0001475006 00000 n
0001484903 00000 n
0001484926 00000 n
0001485123 00000 n
0001485619 00000 n
0001485954 00000 n
0001513428 00000 n
0001513452 00000 n
0001513664 00000 n
0001514414 00000 n
0001514994 00000 n
0001518934 00000 n
0001518957 00000 n
0001519150 00000 n
0001519460 00000 n
0001519634 00000 n
0001524208 00000 n
0001524231 00000 n
0001524423 00000 n
0001524850 00000 n
0001525128 00000 n
0001562257 00000 n
0001562281 00000 n
0001562488 00000 n
0001563526 00000 n
0001564352 00000 n
>
>>
endobj
>>
endobj
194 0 obj
>
>>
endobj
195 0 obj
>
>>
endobj
196 0 obj
>
>>
endobj
197 0 obj
>
>>
endobj
198 0 obj
>
>>
endobj
199 0 obj
>
>>
endobj
200 0 obj
>
>>
endobj
xref
0 278
0000000000 65535 f
0001621772 00000 n
0000000019 00000 n
0000001722 00000 n
0001621918 00000 n
0000001743 00000 n
0000004556 00000 n
0001622064 00000 n
0000004577 00000 n
0000009082 00000 n
0001622210 00000 n
0000009103 00000 n
0000013783 00000 n
0001622358 00000 n
0000013805 00000 n
0000016871 00000 n
0001622506 00000 n
0000016893 00000 n
0000020826 00000 n
0001622654 00000 n
0000020848 00000 n
0000028817 00000 n
0000035395 00000 n
0000033801 00000 n
0000032320 00000 n
0000031116 00000 n
0000028839 00000 n
0000030890 00000 n
0000069187 00000 n
0001624127 00000 n
0000069209 00000 n
0000072791 00000 n
0001624275 00000 n
0000072813 00000 n
0000076234 00000 n
0001624423 00000 n
0000076256 00000 n
0000079843 00000 n
0001624571 00000 n
0000079865 00000 n
0000083486 00000 n
0001624719 00000 n
0000083508 00000 n
0000085109 00000 n
0001624867 00000 n
0000085131 00000 n
0000087547 00000 n
0001625015 00000 n
0000087569 00000 n
0000089762 00000 n
0001625163 00000 n
0000089784 00000 n
0000091261 00000 n
0000091283 00000 n
0001625330 00000 n
0000212476 00000 n
0000214007 00000 n
0000214029 00000 n
0001626859 00000 n
0000461981 00000 n
0000485741 00000 n
0001627009 00000 n
0000485765 00000 n
0000488975 00000 n
0001627186 00000 n
0000488998 00000 n
0000490740 00000 n
0000656519 00000 n
0000490763 00000 n
0001627336 00000 n
0000708188 00000 n
0000710960 00000 n
0000710983 00000 n
0001627486 00000 n
0000876903 00000 n
0000880453 00000 n
0001627636 00000 n
0000880476 00000 n
0000885973 00000 n
0001627813 00000 n
0000885996 00000 n
0000889049 00000 n
0001627963 00000 n
0000889072 00000 n
0000890478 00000 n
0000890501 00000 n
0001628113 00000 n
0000968362 00000 n
0001631632 00000 n
0001631847 00000 n
0001632060 00000 n
0001632275 00000 n
0001632490 00000 n
0001632656 00000 n
0001632824 00000 n
0001632992 00000 n
0001633160 00000 n
0001633328 00000 n
0001633496 00000 n
0001633696 00000 n
0001633896 00000 n
0001634096 00000 n
0001634296 00000 n
0001634494 00000 n
0001634694 00000 n
0001634925 00000 n
0001635154 00000 n
0001635385 00000 n
0001635614 00000 n
0001635844 00000 n
0001636074 00000 n
0001636231 00000 n
0001636388 00000 n
0001636528 00000 n
0001636679 00000 n
0001629219 00000 n
0001395809 00000 n
0001420800 00000 n
0001484926 00000 n
0001485123 00000 n
0001485619 00000 n
0001485954 00000 n
0001513428 00000 n
0001513452 00000 n
0001513664 00000 n
0001514414 00000 n
0001514994 00000 n
0001518934 00000 n
0001518957 00000 n
0001519150 00000 n
0001519460 00000 n
0001519634 00000 n
0001524208 00000 n
0001524231 00000 n
0001524423 00000 n
0001524850 00000 n
0001525128 00000 n
0001562257 00000 n
0001562281 00000 n
0001562488 00000 n
0001563526 00000 n
0001564352 00000 n
0001570084 00000 n
0001570107 00000 n
0001570304 00000 n
0001570621 00000 n
0001570808 00000 n
0001618936 00000 n
>
>>
endobj
187 0 obj
>
>>
endobj
188 0 obj
>
196 0 obj
>
>>
endobj
197 0 obj
>
>>
endobj
198 0 obj
>
>>
endobj
199 0 obj
>
>>
endobj
200 0 obj
>
>>
endobj
201 0 obj
>
>>
endobj
202 0 obj
>
>>
endobj
203 0 obj
>
0000004577 00000 n
0000009082 00000 n
0001622210 00000 n
0000009103 00000 n
0000013783 00000 n
0001622358 00000 n
0000013805 00000 n
0000016871 00000 n
0001622506 00000 n
0000016893 00000 n
0000020826 00000 n
0001622654 00000 n
0000020848 00000 n
0000028817 00000 n
0000035395 00000 n
0000033801 00000 n
0000032320 00000 n
0000031116 00000 n
0000028839 00000 n
0000030890 00000 n
0000030910 00000 n
0000031096 00000 n
0000032112 00000 n
0000032300 00000 n
0000033396 00000 n
0000033780 00000 n
0000034875 00000 n
0000035374 00000 n
0000037180 00000 n
0000037871 00000 n
0001624571 00000 n
0000079865 00000 n
0000083486 00000 n
0001624719 00000 n
0000083508 00000 n
0000085109 00000 n
0001624867 00000 n
0000085131 00000 n
0000087547 00000 n
0001625015 00000 n
0000087569 00000 n
0000089762 00000 n
0001625163 00000 n
0000089784 00000 n
0000091261 00000 n
0000091283 00000 n
0001625330 00000 n
0000212476 00000 n
0000214007 00000 n
0000214029 00000 n
0001625497 00000 n
0000264347 00000 n
0000266097 00000 n
0000266119 00000 n
0001625664 00000 n
0000347286 00000 n
0000350438 00000 n
0000350460 00000 n
0001625812 00000 n
0000403776 00000 n
0000490763 00000 n
0001627336 00000 n
0000708188 00000 n
0000710960 00000 n
0000710983 00000 n
0001627486 00000 n
0000876903 00000 n
0000880453 00000 n
0001627636 00000 n
0000880476 00000 n
0000885973 00000 n
0001627813 00000 n
0000885996 00000 n
0000889049 00000 n
0001627963 00000 n
0000889072 00000 n
0000890478 00000 n
0000890501 00000 n
0001628113 00000 n
0000968362 00000 n
0000969967 00000 n
0000969990 00000 n
0001628263 00000 n
0001073506 00000 n
0001075235 00000 n
0001083039 00000 n
0001075258 00000 n
0001628413 00000 n
0001177171 00000 n
0001179741 00000 n
0001633496 00000 n
0001633696 00000 n
0001633896 00000 n
0001634096 00000 n
0001634296 00000 n
0001634494 00000 n
0001634694 00000 n
0001634925 00000 n
0001635154 00000 n
0001635385 00000 n
0001635614 00000 n
0001635844 00000 n
0001636074 00000 n
0001636231 00000 n
0001636388 00000 n
0001636528 00000 n
0001636679 00000 n
0001629219 00000 n
0001395809 00000 n
0001420800 00000 n
0001420824 00000 n
0001421040 00000 n
0001421715 00000 n
0001422230 00000 n
0001432150 00000 n
0001432173 00000 n
0001432365 00000 n
0001432815 00000 n
0001433105 00000 n
0001441927 00000 n
0001518957 00000 n
0001519150 00000 n
0001519460 00000 n
0001519634 00000 n
0001524208 00000 n
0001524231 00000 n
0001524423 00000 n
0001524850 00000 n
0001525128 00000 n
0001562257 00000 n
0001562281 00000 n
0001562488 00000 n
0001563526 00000 n
0001564352 00000 n
0001570084 00000 n
0001570107 00000 n
0001570304 00000 n
0001570621 00000 n
0001570808 00000 n
0001618936 00000 n
0001618960 00000 n
0001619162 00000 n
0001620277 00000 n
0001621183 00000 n
0001621247 00000 n
0001621431 00000 n
0001628863 00000 n
0001628922 00000 n
0001636821 00000 n
0001636984 00000 n
>
>>
endobj
188 0 obj
>
>>
endobj
189 0 obj
>
>>
endobj
190 0 obj
>
>>
endobj
191 0 obj
>
>>
endobj
>>
endobj
200 0 obj
>
>>
endobj
201 0 obj
>
>>
endobj
202 0 obj
>
>>
endobj
203 0 obj
>
>>
endobj
204 0 obj
>
>>
endobj
276 0 obj
0000035395 00000 n
0000033801 00000 n
0000032320 00000 n
0000031116 00000 n
0000028839 00000 n
0000030890 00000 n
0000030910 00000 n
0000031096 00000 n
0000032112 00000 n
0000032300 00000 n
0000033396 00000 n
0000033780 00000 n
0000034875 00000 n
0000035374 00000 n
0000037180 00000 n
0000037871 00000 n
0001622802 00000 n
0000037892 00000 n
0000045088 00000 n
0001622950 00000 n
0000045110 00000 n
0000049388 00000 n
0001623098 00000 n
0000049410 00000 n
0000053287 00000 n
0001623246 00000 n
0000053309 00000 n
0000057298 00000 n
0001623394 00000 n
0000057320 00000 n
0000091261 00000 n
0000091283 00000 n
0001625330 00000 n
0000212476 00000 n
0000214007 00000 n
0000214029 00000 n
0001625497 00000 n
0000264347 00000 n
0000266097 00000 n
0000266119 00000 n
0001625664 00000 n
0000347286 00000 n
0000350438 00000 n
0000350460 00000 n
0001625812 00000 n
0000403776 00000 n
0000409044 00000 n
0001625960 00000 n
0000409066 00000 n
0000413718 00000 n
0001626109 00000 n
0000413741 00000 n
0000416078 00000 n
0001626259 00000 n
0000416101 00000 n
0000418862 00000 n
0000418885 00000 n
0001626409 00000 n
0000453930 00000 n
0000456855 00000 n
0001627963 00000 n
0000889072 00000 n
0000890478 00000 n
0000890501 00000 n
0001628113 00000 n
0000968362 00000 n
0000969967 00000 n
0000969990 00000 n
0001628263 00000 n
0001073506 00000 n
0001075235 00000 n
0001083039 00000 n
0001075258 00000 n
0001628413 00000 n
0001177171 00000 n
0001179741 00000 n
0001179764 00000 n
0001628563 00000 n
0001268883 00000 n
0001270952 00000 n
0001270975 00000 n
0001628713 00000 n
0001393583 00000 n
0001395786 00000 n
0001629646 00000 n
0001629789 00000 n
0001629936 00000 n
0001630115 00000 n
0001630254 00000 n
0001630397 00000 n
0001636388 00000 n
0001636528 00000 n
0001636679 00000 n
0001629219 00000 n
0001395809 00000 n
0001420800 00000 n
0001420824 00000 n
0001421040 00000 n
0001421715 00000 n
0001422230 00000 n
0001432150 00000 n
0001432173 00000 n
0001432365 00000 n
0001432815 00000 n
0001433105 00000 n
0001441927 00000 n
0001441950 00000 n
0001442147 00000 n
0001442439 00000 n
0001442605 00000 n
0001452759 00000 n
0001452783 00000 n
0001452971 00000 n
0001453617 00000 n
0001454099 00000 n
0001460196 00000 n
0001460219 00000 n
0001460417 00000 n
0001460710 00000 n
0001460878 00000 n
0001570084 00000 n
0001570107 00000 n
0001570304 00000 n
0001570621 00000 n
0001570808 00000 n
0001618936 00000 n
0001618960 00000 n
0001619162 00000 n
0001620277 00000 n
0001621183 00000 n
0001621247 00000 n
0001621431 00000 n
0001628863 00000 n
0001628922 00000 n
0001636821 00000 n
0001636984 00000 n
trailer
startxref
1637521
%%EOF
">
Chương I : Giới thiệu sản phẩm
Phần cố định Phần thay đổi Phần cố định
2004_10_24 /vietnamese/kinhte.htm
biến nữa) là :
a. $UTF8 : mã hoá dạng UTF8
b. $TCVN : mã hoá dạng TCVN
7. Vị trí của phần thay đổi cần biến sẽ được thể hiện bằng dòng chỉ chứa dấu “#”
8. Trong toàn bộ script biến “#” chỉ được sử dụng một lần
- 15 -
Chương I : Giới thiệu sản phẩm
9. Các dòng không có dấu “#” và “$” đứng đầu không cần phải xử lý gì mà coi luôn
giá trị đó là giá trị đầu ra của dòng
10. Các hàm có thể sử dụng được trong script :
a. $UTF8 : mã hóa keyword sang dạng UTF8
b. $TCVN : mã hóa keyword sang dạng TCVN
c. $REPLACE ts1 ts2 : thay chuỗi ts1 bằng chuỗi ts2 trong keyword đã
mã hóa
d. $YEAR : năm hiện tại
e. $MONTH : tháng hiện tại
f. $DATE : ngày hiện tại
Dưới đây tôi sẽ áp dụng quy tắc này để biểu diễn lại các ví dụ trên ra dạng script :
Google :
Phần cố định Keyword mã hoá Phần cố định Phần thay
đổi
Phần cố
định
gle.
com/search?q=
%2B%22Tr
%C3%AD+Tu%E1%BB
%87+Vi%E1%BB
%87t+Nam%22&
num=50&hl=vi&lr=&ie=
&c=web&cs=utf-8&o=
#
&l=any
PanVN :
Phần cố định Keyword mã hoá Phần cố định Phần thay
đổi
Phần cố
định
- 16 -
Chương I : Giới thiệu sản phẩm
vn.
com/index.asp?
progid=4004&q=
"Tr%C3%ADTu
%E1%BB%87Vi
%E1%BB%87tNam"
&fcid=2&any=&ww=&o
cc=&d=&cmdSearch=Se
arch&advs=&pn=
2
3
4
&dns=&i
mg=0
1 2 1 3
/>$UTF8
$REPLACE %22 “
&fcid=2&any=&ww=&occ=&d=&cmdSearch=Search&advs=&pn=
#
&dns=&img=0
“$” hoặc “#” thì đều được coi là chuỗi hằng và không cần phải biến đổi thêm.
Script được tạo ra sẽ được hệ thống xử lý theo sơ đồ sau :
- 17 -
Chng I : Gii thiu sn phm
Xử lý dòng đầu tiên
Script có biến
không ?
Đọc các tham số
qui định khoảng
chạy của biến
S=
Có dòng tiếp theo
Dòng bắt đầu
bằng $
Xử lý hàm và
cập nhật S
Dòng chỉ chứa #
Cập nhật biến
và chuỗi S
Thêm toàn bộ
dòng vào sau S
Y
N
N
Y
Y
N
Y
N
Cung cấp