2.4.1. Kích thước quần thể
Kích thƣớc quần thể cho biết có bao nhiêu nhiễm sắc thể trong quần thể (trong một thế hệ).Nếu có quá ít nhiễm sắc thể, giải thuật di truyền ít có khả năng thực hiện lai giống và chỉ một phần nhỏ không gian tìm kiếm đƣợc sử dụng.Mặt khác, nếu có quá nhiều nhiễm sắc thể, giải thuật di truyền sẽ chạy chậm. Nghiên cứu cho thấy rằng không hữu ích khi tăng kích thƣớc quần thể quá một giới hạn cho phép, bởi vì nó không làm cho bài toán nhanh hơn.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Có thể ngạc nhiên là kích thƣớc quần thể rất lớn thƣờng không cải thiện đƣợc hiệu suất của giải thuật di truyền (theo nghĩa tốc độ tìm ra nghiệm). Kích thƣớc
quần thể tốt nên ở trong khoảng 20-30, tuy nhiên đôi khi kích thƣớc trong khoảng 50-100 vẫn đƣợc xem là tốt.Một số nghiên cứu cho thấy rằng kích thƣớc quần thể
tốt nhất phụ thuộc vào mã hoá, vào kích thƣớc của chuỗi mã hoá. Điều này có nghĩa là nếu bạn có nhiễm sắc thể 32 bit, kích thƣớc quần thể cần phải là 32, nhƣng đối với nhiễm sắc thể 16 bit quần thể phải có kích thƣớc gấp đôi so với kích thƣớc quần thể tốt nhất.
2.4.2. Xác suất lai giống
Xác suất lai giống cho biết việc lai giống đƣợc thực hiện thƣờng xuyên nhƣ thế nào.Nếu không có lai giống, con cái là bản sao chính xác của bố mẹ.Nếu có lai giống, con cái đƣợc tạo từ một phần của các nhiễm sắc thể của bố mẹ.Nếu xác suất lai giống là 100%, tất cả các con cái đều đƣợc tạo bởi lai giống.Nếu là 0%, toàn bộ thế hệ mới là bản sao chính xác các nhiễm sắc thể của quần thể cũ (điều này không có nghĩa là thế hệ mới là nhƣ nhau).
Xác suất lai giống cần phải cao, khoảng 80% - 90% (tuy vậy đối với một số bài toán, xác suất lai giống thích hợp là 60%)
2.4.3. Xác suất đột biến
Xác suất đột biến cho biết các phần của nhiễm sắc thể thay đổi thƣờng xuyên nhƣ thế nào.Nếu không có đột biến, con cái đƣợc lấy từ lai giống (hoặc bản sao) mà không thay đổi gì cả.Nếu có đột biến, một phần của nhiễm sắc thể bị thay đổi.Nếu xác suất đột biến là 100%, toàn bộ nhiễm sắc thể thay đổi.Nếu xác suất đột biến là 0%, toàn bộ nhiễm sắc thể không thay đổi gì cả.Xác suất đột biến trong tự nhiên khoảng 0.03%.
Đột biến đƣợc thực hiện để tránh việc sa vào các cực trị cục bộ, nhƣng điều này không nên xảy ra quá thƣờng xuyên, vì lúc đó giải thuật di truyền sẽ chuyển sang tìm ngẫu nhiên. Xác suất đột biến cần phải rất thấp.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
2.4.4. Số lượng thế hệ
Số lƣợng thế hệ chính là số vòng lặp đã thực hiện đến khi thỏa điều kiện dừng (điều kiện tối ƣu), mỗi vòng lặp là một thế hệ mới đƣợc sinh ra.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
CHƢƠNG 3: ỨNG DỤNG GIẢI THUẬT DI TRUYỀN VÀO PHÂN LOẠI TÀI LIỆU DẠNG VĂN BẢN
3.1. Phân loại văn bản
3.1.1. Khái niệm
Phân loại văn bản có thuật ngữ tiếng Anh là Text Categorization và Text Classification. Phân loại văn bản đƣợc định nghĩa nhƣ quá trình gán các văn bản vào một hay nhiều nhóm phù hợp đƣợc xác định trƣớc dựa trên nội dung của văn bản đó.
Theo cách truyền thống, việc phân loại văn bản có thể thực hiện một cách thủ công, tức là đọc từng văn bản một và gán nó vào nhóm phù hợp.Cách thức này sẽ tốn nhiều thời gian và chi phí nếu nhƣ số lƣợng văn bản lớn. Do vậy, cần phải xây dựng các công cụ phân loại văn bản một cách tự động.
Trong phân loại văn bản, sự phụ thuộc của một văn bản vào một nhóm có thể là các giá trị rời rạcđúng và sai (true hoặc false, để hiểu rằng văn bản đó thuộc hay không thuộc một nhóm nào đó) hoặc các giá trị liên tục (một số thực, chỉ ra độ phù hợp của văn bản với một nhóm nào đó). Khi câu trả lời đƣa ra bắt buộc phải là đúng
hoặc sai thì giá trị liên tục có thể đƣợc rời rạc hóa bằng cách đặt ngưỡng.Ngưỡng
đặt ra tùy thuộc vào thuật toán và yêu cầu ngƣời dùng.
3.1.2. Quá trình phân loại văn bản
Quá trình phân loại văn bản bao gồm các bƣớc:
Bước 1: Đánh chỉ số
Ở bƣớc này, dữ liệu đầu vào sẽ là một văn bản và kết quả đầu ra là một chuỗi các chỉ số thuật ngữ biểu diễn nội dung của văn bản đầu vào. Bƣớc này thƣờng đƣợc chia thành các bƣớc nhỏ hơn: loại bỏ các ký tự thừa và ký tự nhiễu, chuẩn hóa các ký tự, tách từ và đánh chỉ số. Trong các bƣớc này thì bƣớc tách từ và đánh chỉ số là quan trọng nhất.Tuy nhiên cần phải chú ý đến tất cả các bƣớc vì chúng đều quyết định tốc độ của cả quá trình.Một mô hình chuẩn của bƣớc đánh chỉ số đƣợc miêu tả nhƣ hình 3.1.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Bước 2: Xác định độ phù hợp
Cũng giống nhƣ tìm kiếm văn bản, phân loại văn bản cần phải có bƣớc xử lý để chỉ ra rằng văn bản đang đƣợc phân tích thuộc về một nhóm nào đó dựa trên nội dung của văn bản hay chuỗi các thuật ngữ là biểu diễn của văn bản đó. Bộ phận phân này gọi là bộ phân loại.Nó cũng giống nhƣ bộ định dạng truy vấn trong tìm kiếm văn bản.Tuy nhiên, trong tìm kiếm văn bản mang tính nhất thời, còn trong phân loại văn bản thì mang tính ổn định hơn.Kết quả của quá trình này chỉ ra độ phụ thuộc giữa văn bản đang phân tích với mỗi nhóm có sẵn.Đây có thể coi là bƣớc mang tính quyết định trong cả quá trình phân loại.
Bước 3: So sánh
Trong hầu hết các bộ phân loại, mỗi văn bản đều đƣợc yêu cầu gán giá trị
đúng sai vào một lớp nào đó. Sự khác nhau lớn nhất với hệ thống tìm kiếm văn bản là ở đây quá trình so sánh chỉ đƣợc thực hiện một lần với số lƣợng so sánh hữu hạn tùy thuộc vào tập huấn luyện.Việc chọn quyết định phù hợp phụ thuộc chủ yếu vào quan hệ giữa các nhóm dùng để huấn luyện.
Bước 4: Phản hồi
Quá trình phản hồi đóng hai vai trò trong hệ thống phân loại văn bản. Thứ nhất, khi phân loại văn bản cần phải có một số lƣợng lớn các văn bản đã đƣợc phân loại bằng tay trƣớc đó, các văn bản này đƣợc sử dụng làm mẫu huấn luyện để hỗ trợ xây dựng bộ phân loại. Thứ hai, việc phân loại văn bản này không dễ dàng thay đổi nhƣ quá trình phản hồi trong tìm kiếm văn bản. Thay vì vậy, ngƣời dùng có thể
Hình 3.1: Các bước nhỏ trong quá trình đánh chỉ số
Loại nhiễu
Mã hóa ký tự
Đánh chỉ số
Văn bản thô chỉ số các thuật ngữ
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
thông tin cho ngƣời bảo trì hệ thống về việc xóa, thêm, hay sửa đổi các nhóm văn bản nào đó mình yêu cầu.
3.2. Giới thiệu bài toán phân loại văn bản
Bài toán: Cho một tập hợp các văn bản (được lưu trữ trong máy tính ở dạng tệp tin .TXT) đã được người dùng phân loại bằng tay vào một số chủ đề có sẵn. Khi đưa vào một văn bản mới (là tệp tin được lưu trữ ở dạng TXT), yêu cầu hệ thống chỉ ra tên chủ đề phù hợp nhất với văn bản đó.
Các hệ thống phân loại văn bản tự động có thể ứng dụng trong việc phân loại tài liệu của các thƣ viện điện tử, phân loại bài viết trên các trang tin điện tử, hay phân loại giấy tờ công văn trong các công sở. Đối với con ngƣời, công việc đọc và phân loại văn bản bằng tay là một công việc hết sức đơn điệu và tốn nhiều thời gian cũng nhƣ công sức. Bên cạnh đó, kết quả phân loại còn phụ thuộc cả vào trình độ và cá tính của ngƣời phân loại, do đó kết quả phân loại bằng tay thƣờng mang tính chủ quan. Một hệ thống phân loại văn bản tốt không những có thể thay thế hoàn toàn con ngƣời trong lĩnh vực này mà thậm chí còn cho ra các kết quả tốt hơn rất nhiều so với con ngƣời.
3.3. Các phƣơng pháp biểu diễn văn bản
Cách biểu diễn văn bản thông dụng nhất là thông qua vector. Đây là một cách biểu diễn tƣơng đối đơn giản và hiệu quả. Trƣớc đây có nhiều bài báo nói rằng phƣơng pháp này gây tốn kém chi phí lƣu trữ và công sức xử lý, nhƣng khi các phƣơng pháp xử lý vector thƣa đƣợc áp dụng thì các nhƣợc điểm trên giảm đi rất nhiều.
Theo mô hình này, mỗi văn bản đƣợc biểu diễn thành một vector.Mỗi thành phần của vector là một thuật ngữ riêng biệt trong tập văn bản gốc và đƣợc gán một giá trị là hàm f của từng thuật ngữ trong văn bản.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Hình 3.2: Biểu diễn các vector văn bản trong không gian chỉ có 2 thuật ngữ
Xem xét các ví dụ sau: Văn bản 1:
“Xác định đối tƣợng sát hại dã man một phụ nữ Chị Vàng Thị Cầu bị chồng, với sự giúp sức của mẹ chồng trói lại, sau đó chém chết.Ngày 20/7, Công an tỉnh Hà Giang cho biết, vừa phát hiện đối tƣợng sát hại dã man chị Vàng Thị Cầu, sinh năm 1987, cƣ trú tại xóm Tìa Sính, xã Lũng Chinh (Mèo Vạc, Hà Giang) chiều 16/7 vừa qua, đã tự sát. Đó là Giàng Mí Pó, 31 tuổi, chồng của nạn nhân.”
Văn bản 2:
“Xác định đối tƣợng khai thác vàng trái phép. Sáng nay 21/7, Công an huyện Vũ Quang cho biết, vừa bắt quả tang 8 đối tƣợng đang khai thác vàng trái phép tại khu vực Khe Vạy thuộc địa bàn xã Hƣơng Thọ, huyện Vũ Quang (Hà Tĩnh).Trong lúc vây bắt chúng cố gắng bỏ trốn khỏi nhƣng không thành.
Đến khoảng 10h trƣa 12/7, lực lƣợng Công an ập vào bãi vàng đang khai thác. Tại đây, đoàn đã bắt giữ 8 đối tƣợng cùng tang vật khai thác.
Qua đấu tranh các đối tƣợng đã khai nhận, trong 8 đối tƣợng này có 4 ngƣời ở tỉnh Nam Định và 4 ngƣời ở Ninh Bình. Cả nhóm đã rủ nhau vào đây để khai thác vàng trái phép nhƣng mới đƣợc một tuần thì bị bắt giữ.”
Có thể biểu diễn các văn bản trên dƣới dạng các thuật ngữ và hàm f biểu diễn số lần xuất hiện của thuật ngữ trong văn bản. Cách biểu diễn này gọi là biểu diễn văn bản theo tần số xuất hiện.
văn bản 1 văn bản 2 văn bản 4 văn bản 3 Thuật ngữ 1 Thuật ngữ 2
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Bảng 3.1: Vector biểu diễn văn bản 1 và văn bản 2 theo tần suất xuất hiện
Từ khóa Văn bản 1 Văn bản 2
Xác định 1 1 Công an 1 2 Đối tượng 2 5 Lực lượng 0 1 Nạn nhân 1 0 Cư trú 1 0 Bỏ trốn khỏi 0 1 Giúp sức 1 0 Chém chết 1 0 Phát hiện 1 0 Đấu tranh 0 1 3.3.2. Mô hình BOOLEAN
Một mô hình biểu diễn vector với hàm f cho ra giá trị rời rạc với duy nhất hai giá trị đúng và sai (true và false, hoặc 0 và 1) gọi là mô hình Boolean.Hàm f tƣơng ứng với thuật ngữ ti sẽ cho ra giá trị đúng nếu và chỉ nếu thuật ngữti xuất hiện trong văn bản đó. Khi đó biểu diễn của văn bản 1 sẽ nhƣ sau:
Văn bản 1:
“Xác định đối tƣợng sát hại dã man một phụ nữ Chị Vàng Thị Cầu bị chồng, với sự giúp sức của mẹ chồng trói lại, sau đó chém chết. Ngày 20/7, Công an tỉnh Hà Giang cho biết, vừa phát hiện đối tƣợng sát hại dã man chị Vàng Thị Cầu, sinh năm 1987, cƣ trú tại xóm Tìa Sính, xã Lũng Chinh (Mèo Vạc, Hà Giang) chiều 16/7 vừa qua, đã tự sát. Đó là Giàng Mí Pó, 31 tuổi, chồng của nạn nhân.”
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Bảng 3.2: Vector Boolean biểu diễn văn bản 1
Thuật ngữ f Xác định 1 Công an 1 Đối tượng 1 Lực lượng 1 Nạn nhân 1 Cư trú 1 Giúp sức 0 Chém chết 1 Phát hiện 1 Bỏ trốn khỏi 1 Mô hình Boolean đƣợc định nghĩa nhƣ sau:
Giả sử có một cơ sở dữ liệu gồm m văn bản, D = {d1, d2,… dm}. Mỗi văn bản được biểu diễn dưới dạng một vector gồm nthuật ngữ T = {t1, t2,…tn}. Gọi W = {wij} là ma trận trọng số, trong đó wij là giá trị trọng số của thuật ngữ ti trong văn bản dj.
Mô hình Boolean là mô hình đơn giản nhất đƣợc xác định nhƣ sau:
l¹i ng-îc nÕu trong mÆt cã nÕu 0 d t 1 wij i j (1) 3.3.3. Mô hình tần suất
Trong mô hình tần suất, ma trận W = {wij} đƣợc xác định dựa trên tần số xuất hiện của thuật ngữ ti trong văn bản dj hoặc tần số xuất hiện của thuật ngữ ti trong toàn bộ cơ sở dữ liệu.
3.3.3.1. Phương pháp dựa trên tần số thuật ngữ (TF)
Các giá trị wij đƣợc tính dựa trên tần số (hay số lần) xuất hiện của thuật ngữ trong văn bản. Gọi fij là số lần xuất hiện của thuật ngữ ti trong văn bản dj, khi đó wij
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
1. wij = fij (2)
2. wij = 1 + log(fij) (3)
3. wij = fij (4)
Trong phƣơng pháp này, trọng sốwijtỷ lệ thuận với số lần xuất hiện của thuật ngữ titrong văn bản dj. Khi số lần xuất hiện thuật ngữ ti trong văn bản djcàng lớn thì điều đó có nghĩa là văn bản dj càng phụ thuộc vào thuật ngữ ti, hay nói cách khác thuật ngữ ti mang nhiều thông tin trong văn bản dj.
Ví dụ, khi văn bản xuất hiện nhiều thuật ngữ công an, điều đó có nghĩa là văn bản đang xét chủ yếu liên quan đến lĩnh vực pháp luật..
Nhƣng suy luận trên không phải lúc nào cũng đúng.Một ví dụ điển hình là từ
“và” xuất hiện nhiều trong hầu hết các văn bản, nhƣng trên thực tế từ này lại không mang nhiều ý nghĩa nhƣ tần suất xuất hiện của nó.Một phƣơng pháp khác ra đời khắc phục đƣợc nhƣợc điểm của phƣơng pháp TF, đó là phƣơng pháp IDF.
3.3.3.2. Phương pháp dựa trên nghịch đảo tần số văn bản (TDF)
Trong phƣơng pháp này, giá trị wijđƣợc tính theo công thức sau:
l¹i ng-îc nÕu liÖu tµi trong xuÊt hiÖn thuËt ng- nÕu 0 d t h m h m
wij log i log( ) log( i) i j (5)
ở đó m là số lƣợng văn bản và hi là số văn bản mà thuật ngữ ti xuất hiện.
Trọng số wij trong công thức này đƣợc tính dựa trên độ quan trọng của thuật ngữ ti trong văn bản dj. Nếu ti xuất hiện trong càng ít văn bản, điều đó có nghĩa là nếu nó xuất hiện trong dj thì trọng số của nó đối với văn bản dj càng lớn hay nó là điểm quan trọng để phân biệt văn bản dj với các văn bản khác và hàm lƣợng thông tin trong nó càng lớn. Ví dụ các thuật ngữ “tiền đạo”, “hậu vệ”, “thủ môn” chỉ xuất hiện trong các bài báo nói về lĩnh vực bóng đá. Nhƣ vậy, hàm lƣợng thông tin về bóng đá trong các thuật ngữ trên là rất lớn.
3.3.3.3. Phương pháp TF × IDF
Phƣơng pháp này là tổng hợp của hai phƣơng pháp TF và IDF, giá trị của ma trận trọng số đƣợc tính nhƣ sau:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn l¹i ng-îc nÕu nÕu 1 0 h h m f wij [ log( ij)]log i ij 1 (6)
Đây thực chất là tổ hợp của các công thức (3) và (5).
Phƣơng pháp này kết hợp đƣợc ƣu điểm của cả hai phƣơng pháp trên.Trọng số
wijđƣợc tính bằng tần số xuất hiện của thuật ngữ ti trong văn bản dj và độ hiếm của thuật ngữ ti trong toàn bộ cơ sở dữ liệu.
3.3.4. Phương pháp xử lý vector thưa
Theo mô hình vector chuẩn, việc xử lý các phép toán trên vector sẽ phụ thuộc vào độ lớn của ma trận Wnm ở đó n là số lƣợng thuật ngữ hay số chiều của vector và
m là số lƣợng văn bản có trong cơ sở dữ liệu.Trên thực tế, số lƣợng thuật ngữ và số văn bản có thể lên đến vài chục nghìn.Khi đó số lƣợng phần tửtrong ma trận Wnm sẽ lên đến con số trăm triệu và việc lƣu trữ ma trận Wnm sẽ tốn quá nhiều tài nguyên bộ nhớ đồng thời các phép toán trên các vector sẽ rất phức tạp.Để khắc phục vấn đề này có thể sử dụng kỹ thuật xử lý trên vector thƣa thay vì việc lƣu trữ và xử lý trên các vector chuẩn.
Các điều kiện để có thể áp dụng phƣơng pháp vector thƣa:
* Các vector thực sự thưa: số phần tử có trọng số khác 0 nhỏ hơn rất nhiều so với số thuật ngữ trong cơ sở dữ liệu.
* Phép xử lý vector là đơn giản nhất: số vector cùng bị tác động trong một phép xử lý cơ bản là nhỏ nhất. Thƣờng số vector bị tác động này đƣợc quy