Tải bản đầy đủ - 0 (trang)
Chương 3. PHÂN TÍCH THIẾT KẾ HỆ THỐNG

Chương 3. PHÂN TÍCH THIẾT KẾ HỆ THỐNG

Tải bản đầy đủ - 0trang

Phân tích thiết kế hệ thống



Phần 1 – Tiền xử lý và lưu trữ kho văn bản lớn, trong phần này trình bày việc dữ liệu

sẽ được tiền xử lý, loại bỏ stopword, các ký tự đặc biệt và cắt từ. Sau đó, dữ liệu được

lưu vào cơ sở dữ liệu theo cấu trúc cụ thể đã định trước để phục vụ các bước tiếp

theo.

Phần 2 – Biểu diễn văn bản sử dụng mơ hình đồ thị, trong phần này, đề tài sử dụng

giải thuật tạo đồ thị đồng hiện để tạo ra các đồ thị biểu diễn văn bản.

Phần 3 – Khai phá tập đồ thị con phổ biến, trong phần này, đề tài đề xuất mơ hình

thuật giải phân tán cho thuật toán Graph-Based Substructure Pattern Mining, trên nền

tảng xử lý phân tán dữ liệu lớn Apache Spark.

Phần 4 – Mơ hình hóa chủ đề dựa trên việc trích xuất đồ thị đặc trưng, trong phần

này, luận văn sử dụng độ đo khoảng cách giữa hai đồ thị đã trình bày ở phần trước để

tính tốn độ tương đồng giữa các đồ thị trong tập đồ thị con vừa khai phá ở trên nhằm

tìm ra tập đồ thị đặc trưng – mơ hình cho chủ đề.

3.2. Tiền xử lý và lưu trữ kho văn bản lớn

Tập văn bản được thu thập về sẽ qua bước tiền xử lý để loại bỏ các dư thừa và sai sót

còn tồn tại như loại bỏ các stopword, khoảng trắng thừa, các ký tự đặc biệt… và được

xử lý đưa về dạng rời rạc bằng cách tách từ, điều này giúp cho việc tạo đồ thị ở bước

sau trở nên dễ dàng hơn.



Các tập tin

văn bản



Loại bỏ các

dấu khoảng

trắng thừa,

dấu xuống

hàng, dấu tab



Loại bỏ ký tự

đặc biệt



Cắt ra thành

các từ



Hình 3.2: Quy trình tiền xử lý tập tin văn bản



Qua hình vẽ ở trên có thể thấy được các tập tin văn bản sẽ trải qua quá trình tiền xử

lý như thế nào để đưa về dạng đã quy định trước. Lần lượt các tập tin sẽ được loại bỏ

các ký tự đặc biệt như <, >, /, |, \ , @, #, $, &, * … Sau đó, chúng sẽ tiếp tục được

- 53 -



Phân tích thiết kế hệ thống



loại bỏ đi các khoảng trắng thừa, các dấu xuống hàng, dấu tab… Cuối cùng, các văn

bản sẽ được cắt ra, từ những câu văn, đoạn văn sẽ trở thành các từ đơn giản, mỗi từ

ngữ sẽ nằm trên một dòng trong tập tin, thứ tự của từ trong văn bản vẫn luôn được

giữ nguyên.

Sau khi được xử lý xong các văn bản sẽ được lưu trữ vào trong cơ sở dữ liệu

OrientDB, như đã phân tích ở trên, OrientDB là một hệ quản trị cơ sở dữ liệu NoSQL

có tốc độ truy xuất rất nhanh, hỗ trợ nhiều mơ hình lưu trữ, trong đó có dạng tài liệu.

Do đó, đề tài đã chọn OrientDB để lưu trữ dữ liệu đầu vào này. Các trường được lưu

trữ bao gồm nội dung văn bản sau khi xử lý và nhãn chủ đề của văn bản đó.

3.3. Biểu diễn văn bản sử dụng mơ hình đồ thị

Đề tài này sử dụng đồ thị có hướng để lưu giữ thứ tự của từ trong văn bản, trong đó

đồ thị đồng hiện rất đơn giản, dễ xây dựng lại đáp ứng đầy đủ được nhu cầu của việc

lưu giữ thứ tự từ. Do đó, trong tất cả các mơ hình đồ thị đã khảo sát, đề tài đã chọn

sử dụng đồ thị đồng hiện để đồ thị hóa tập văn bản đã tiền xử lý ở đầu vào.

Ví dụ, có đoạn văn bản sau: “Khosrowshahi, who led travel-booking site Expedia Inc

for 12 years, made the re-marks as he introduced himself to Uber’s workforce on

Wednesday during an all staff meeting at its San Francisco headquarters.” (Heather

S. and Tom H., “Reuters Technology News”, August 30th, 2017). This text will be

preprocessed before being used to create the graph. It will become: “Khosrowshahi,

led travel-booking site Expedia Inc 12 years, remarks introduced Uber’s workforce

Wednesday staff meeting San Francisco headquarters”. Quá trình tạo thành đồ thị

đồng hiện của văn bản được mô tả trong hình sau:



Hình 3.3: Cửa sổ trượt kích thước 2 được cho trượt qua văn bản để tạo thành đồ thị



- 54 -



Phân tích thiết kế hệ thống



Trong hình trên có thể thấy được, một cửa sổ trượt có kích thước là 2 được cho trượt

qua văn bản. Khi đó, những từ cùng nhau xuất hiện trong cửa sổ trượt thì sẽ có cạnh

nối giữa hai từ đó trong đồ thị, với hướng của cạnh từ từ đứng trước đến từ đứng sau

trong văn bản. Do đó, các đỉnh của đồ thị sẽ là tất cả các từ trong văn bản. Điều này

giúp cho việc biểu diễn được thứ tự của từ trong văn bản bằng hướng của cạnh trong

đồ thị.

Kích thước của cửa sổ trượt là 2 bởi vì mục tiêu của đề tài là tạo ra đồ thị kề. Nếu

kích thước của cửa sổ lớn hơn, số cạnh được tạo ra giữa hai đỉnh sẽ tăng lên nhanh

chóng làm cho các tính tốn trên đồ thị trở nên phức tạp hơn rất nhiều.

Lúc đó, đồ thị đồng hiện của văn bản ví dụ trên sẽ là:



Hình 3.4: Đồ thị đồng hiện được tạo thành từ ví dụ đã cho

Quy trình thực hiện tạo đồ thị đồng hiện biểu diễn tập tin văn bản được mô tả qua

sơ đồ sau:



- 55 -



Phân tích thiết kế hệ thống



Các tập tin văn bản đã

được tiền xử lý



Cửa sổ trượt kích thước là

2 trượt qua từng văn bản

tạo thành đồ thị đồng hiện



Lưu trữ tập đồ thị đồng

hiện vào bộ nhớ



Hình 3.5: Quy trình biểu diễn văn bản sử dụng mơ hình đồ thị

Đầu vào của quy trình là tập văn bản đã được tiền xử lý ở bước trước. Toàn bộ các

văn bản sẽ được đưa vào hệ thống xử lý phân tán dữ liệu lớn. Với mỗi đơn vị xử lý

sẽ xử lý lần lượt từng tập tin riêng lẻ, mỗi tập tin sẽ được duyệt qua lần lượt bằng

cách trượt một cửa sổ có kích thước là 2 để tạo thành đồ thị đồng hiện. Tiếp theo, kết

quả đồ thị tạo ra sẽ được các đơn vị xử lý trả về máy chủ để tiến hành tổng hợp. Sau

quá trình tổng hợp kết quả đồ thị đồng hiện, các đồ thị được tạo ra sẽ được hệ thống

phân tán giữ trên bộ nhớ để xử lý ngay cho bước khai phá sau.

3.4. Khai phá tập đồ thị con phổ biến

Từ tập đồ thị đồng hiện biểu diễn văn bản đã được tạo ra ở bước trước, đề tài tiến

hành áp dụng thuật tốn gSpan để tìm kiếm đồ thị con phổ biến. Trong một khảo sát

của Wörlein M. và cộng sự [20] vào năm 2005, về sự hiệu quả của các thuật toán

MoFa, gSpan, FFSM và Gaston, cho thấy rằng Gaston là thuật tốn có thời gian thực

thi nhanh nhất trên tập dữ liệu kiểm thử, theo sau là thuật toán gSpan, FFSM và MoFa.

Tuy nhiên, đối với những tập dữ liệu lớn lên đến hàng chục nghìn đồ thị, thì thuật

tốn gSpan cho thấy được ưu điểm của nó trong việc sử dụng tài nguyên và tốc độ xử

lý. Do đó, luận văn đã lựa chọn gSpan để áp dụng vào mơ hình xử lý trên dữ liệu lớn.



- 56 -



Phân tích thiết kế hệ thống



Thuật tốn gSpan gốc được tác giả tạo ra để xử lý trên các đồ thị vơ hướng, tuy nhiên

thuật tốn này cũng được cho là dễ mở rộng để làm việc với các đồ thị có hướng. Bên

cạnh đó, luận văn còn đề xuất và thử nghiệm mơ hình xử lý phân tán trên thuật toán

này dựa vào framework Apache Spark. Mục đích của việc mở rộng này là nhằm tăng

tốc độ tính tốn cũng như có thể xử lý một khối lượng dữ liệu lớn. Bởi vì, hầu hết các

bài tốn trên đồ thị đều là các bài tốn có độ phức tạp cao, với thời gian xử lý rất

chậm, cũng như không thể xử lý môt khối lượng dữ liệu lớn.

Đề tài đã chia các bước xử lý của thuật tốn gSpan thành các bước song song như

hình sau:



Hình 3.6: Mơ hình phân tán của thuật tốn gSpan

Trong đó, một vài bước xử lý được chia ra cho các máy con trong hệ thống, sau đó

kết quả sẽ được trả về máy chủ tổng hợp. Đầu tiên, các đồ thị đồng hiện ban đầu được

đưa vào và phân chia cho các đơn vị xử lý. Tại đây, chúng sẽ lần lượt được đếm các

đỉnh, kết quả được đưa về máy chủ để tìm ra tập các đỉnh phổ biến. Sau khi có được

tập các đỉnh phổ biến, chúng sẽ được gán nhãn lại theo thứ tự độ phổ biến giảm dần.

Sau đó tập nhãn này cùng các đồ thị sẽ tiếp tục được đưa về các đơn vị xử lý nhằm

- 57 -



Phân tích thiết kế hệ thống



tái cấu trúc lại các đồ thị, loại bỏ đi các đỉnh không phổ biến và các cạnh không phù

hợp. Bên cạnh đó, đếm thơng tin số lượng các cạnh và trả về máy chủ. Máy chủ tiếp

nhận các đồ thị sau khi tái cấu trúc và các cạnh phổ biến, tổng hợp kết quả để tạo ra

được các đồ thị 1-cạnh phổ biến từ tập cạnh phổ biến. Sau đó, tập đồ thị 1-cạnh phổ

biến và tập đồ thị sau khi tái cấu trúc sẽ được đưa đến các đơn vị xử lý nhằm tiến

hành khai phá. Các đơn vị xử lý sẽ tạo ra các ứng viên từ dữ liệu nhận được, sau đó

lọc lại theo độ hỗ trợ của các ứng viên. Các ứng viên sau đó được tiếp tục khai phá

bằng thủ tục gọi đệ quy. Sau cùng, thuật toán sẽ cắt bỏ khỏi tập đồ thị cạnh đã được

xem xét để làm giảm khơng gian tìm kiếm. Thuật tốn dừng khi khơng còn ứng viên

cần xét hay tập đồ thị khơng còn đủ số lượng đồ thị nữa.

Sau khi khai phá được tập đồ thị con phổ biến, tập này sẽ được tiếp tục xử lý tính

tốn để rút trích ra tập đồ thị đặc trưng.

3.5. Mơ hình hóa chủ đề dựa trên việc trích xuất đồ thị đặc trưng

Sau khi có được tập đồ thị con phổ biến ứng với từng chủ đề của tập dữ liệu văn bản,

cần tiến hành tính tốn khồng cách giữa các đồ thị với nhau, nhằm tính được độ

tương đồng giữa chúng. Những đồ thị nào có độ tương đồng cao với đồ thị của một

chủ đề khác, điều đó cho thấy, đồ thị này không thể dùng để đặc trưng cho chủ đề đó

được vì nó sẽ gây nhầm lẫn giữa hai chủ đề. Như đã phân tích ở chương trước, để tìm

được đồ thị con chung lớn nhất của hai đồ thị, đề tài sử dụng thuật toán gSpan với

mức hỗ trợ tối thiểu là 1, từ đó có được tập đồ thị con chung của cả hai đồ thị đó, tiếp

theo, tính kích thước của các đồ thị con chung để tìm ra đồ thị con chung lớn nhất.

Dựa vào cơng thức tính khoảng cách ở trên, có thể xóa bỏ các đồ thị có độ tương đồng

cao. Tập đồ thị còn lại sẽ có thể đặc trưng được cho chủ đề đã cho, đó chính là mơ

hình của chủ đề cần tìm.



- 58 -



Phân tích thiết kế hệ thống



• Được gom nhóm sẵn theo từng chủ đề

Tập đồ thị con

phổ biến



• Sử dụng thuật tốn distributed gSpan với ngưỡng hỗ trợ là 1

Từng đồ thị con

để tìm đồ thị con chung của 2 đồ thị đang xét.

của 1 chủ đề

• Tính kích thước của các đồ thị con để tìm đồ thị con chung

được tính khoảng lớn nhất.

cách đến tất cả • Tính khoảng cách giữa các đồ thị

các đồ thị con

của các chủ đề

khác



• Dựa theo khoảng cách cũng chính là độ tương đồng của các

Lọc lại các đồ thị đồ thị

đặc trưng của

từng chủ đề



• Lưu tập các đồ thị đặc trưng cũng là mơ hình chủ đề vào cơ

Lưu trữ tập đồ thị sở dữ liệu đồ thị

đặc trưng vào cơ

sở dữ liệu đồ thị



Hình 3.7: Sơ đồ các bước trích xuất đồ thị đặc trưng

Sau bước này, tập đồ thị đặc trưng của từng chủ đề sẽ được lưu trữ vào cơ sở dữ liệu

hướng đồ thị OrientDB phục vụ cho các mục đích sử dụng mơ hình về sau.



- 59 -



Hiện thực và thử nghiệm



Chương 4. HIỆN THỰC VÀ THỬ NGHIỆM

Nội dung chương 4 trình bày mơi trường thực thi mà đề tài đã sử dụng để triển khai

mơ hình, những thử nghiệm và kết quả trực quan của đề tài đạt được.

4.1. Mơi trường và cơng cụ

Tồn bộ luận văn được cài đặt trên hệ thống phân tán xử lý d liu ln cú cu hỡnh

nh sau:





B x lý: Intelđ Core™ i7-2670QM CPU @ 2.20GHz (8 CPUs).







RAM: 12 GB.







Hệ điều hành: Ubuntu 16.04 64bit.







Mơi trường lập trình: Eclipse Neon 4.6.







Ngơn ngữ lập trình: Scala phiên bản 2.12.2, Java phiên bản 8, sbt phiên

bản 0.13.







Framework: Apache Spark 2.1.1.







Hệ quản trị cơ sở dữ liệu: OrientDB 2.2.30 GA Community Edition.



4.1.1. Hệ điều hành Ubuntu

Ubuntu là một hệ điều hành dành cho máy tính cá nhân được phát triển trên nhân

Debian GNU/Linux. Tên của hệ điều hành này bắt nguồn từ từ "ubuntu" trong tiếng

Zulu, có nghĩa là "tình người", mơ tả triết lý của Ubuntu đó là: "Tơi được là chính

mình nhờ có những người xung quanh," một khía cạnh tích cực của tinh thần cộng

đồng.

Ubuntu là phần mềm mã nguồn mở tự do dưới giấy phép GNU GPL, có nghĩa là

người dùng được tùy ý cài đặt, vận hành, sao chép, phân phối, nghiên cứu, thay đổi

và cải tiến hệ điều hành theo các điều khoản ghi trong giấy phép.

Hệ điều hành Ubuntu được tài trợ cho việc phát triển bởi cơng ty Canonical Ltd. và

quỹ Ubuntu. Mục đích của nó tập trung vào việc cung cấp một hệ điều hành ổn định,

cập nhật cho người dung bình thường, tập trung vào sự tiện dụng và dễ dàng cài đặt.

Hiện nay, Ubuntu được đánh giá là bản phân phối Linux thông dụng nhất cho máy

tính cá nhân.

Phiên bản đầu tiên của hệ điều hành Ubuntu được phát hành vào ngày 20 tháng 10

năm 2004, bắt đầu bằng việc tách thành một nhánh tạm thời trong dự án Debian

- 60 -



Hiện thực và thử nghiệm



Linux. Từ đó đến nay, cứ mỗi 06 tháng, một phiên bản Ubuntu sẽ được cho ra mắt,

tạo ra một môi trường cập nhật thường xuyên hơn cho người dùng. Khác với những

nhánh phát triển khác của Debian Linux, Ubuntu ln ln chỉ tích hợp các phần

mềm miễn phí trong bản phát hành. Trong q trình phát triển, dự án Ubuntu đã cho

ra đời nhiều phiên bản khác nhau của Ubuntu, như Ubuntu Desktop cho máy tính để

bàn, Ubuntu Netbook Remix cho netbook (đã ngừng phát triển), Ubuntu Server cho

các máy chủ, Ubuntu Business Desktop Remix cho các doanh nghiệp, Ubuntu for

Android và Ubuntu for Phones cho các thiết bị di động.

Các bản phát hành của Ubuntu có thể chia thành hai loại:

 Bản phát hành thông thường: các phiên bản của Ubuntu được đặt tên theo định

dạng YY.MM (tên), trong đó YY đại diện cho năm phát hành, MM tương ứng với

tháng phát hành và tên trong ngoặc là tên mã được đặt bởi các lập trình viên trước

khi phát hành bản chính thức. Hệ điều hành này được phát hành định kỳ 06 tháng

một lần và được hỗ trợ trong vòng 09 tháng sau đó. Tồn bộ việc nâng cấp lên

phiên bản mới cũng hoàn toàn miễn phí và được khuyến khích bởi nhà phát triển.

Điều này giúp người dùng có thể tránh được những lỗi đã được vá, sử dụng và trải

nghiệm những phần mềm và môi trường mới nhất. Phiên bản phát hành mới nhất

hiện nay đó là Ubuntu 17.10 (Artful Aardvark) được ra mắt vào tháng 10 năm

2017.

 Phiên bản được hỗ trợ lâu dài: các phiên bản được hỗ trợ lâu dài có tên được theo

sau bởi từ khóa LTS (được viết tắt từ từ “long-term support”). Từ những ngày đầu,

các phiên bản này sẽ được thường xuyên hỗ trợ bảo mật, cập nhật bảo trì và bảo

hành trong suốt 3 năm đối với máy tính cá nhân và 05 năm đối với máy chủ. Đến

phiên bản Ubuntu 12.04 LTS cả phiên bản trên máy tính cá nhân và máy chủ đều

được hỗ trợ lên đến 5 năm. Phiên bản được hỗ trợ lâu dài hiện tại là Ubuntu 16.04

(Xenial Xerus) được hỗ trợ đến tháng 07 năm 2021. Các phiên bản hỗ trợ lâu dài

sẽ được ra mất mỗi 2 năm một lần, và dự kiến sẽ ra mắt bản hỗ trợ lâu dài tiếp theo

vào tháng 4 năm 2018.

Hệ điều hành Ubuntu kết hợp những đặc điểm nổi bật chung của họ các hệ điều hành

nhân Linux, như tính bảo mật trước virus và malware, khả năng tùy biến cao, tốc độ,

hiệu suất làm việc, và những đặc điểm riêng tiêu biểu của Ubuntu như giao diện bắt

- 61 -



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Chương 3. PHÂN TÍCH THIẾT KẾ HỆ THỐNG

Tải bản đầy đủ ngay(0 tr)

×