* Lai ghép đơn điểm
Trong lai ghép đơn điểm (lai ghép chéo), một điểm lai ghép k [1,2,…,Nvar - 1] (với Nvar là số gen của một cá thể) đƣợc chọn ngẫu nhiên và các gen trên nhiễm sắc thể của các cá thể cha mẹ đƣợc đổi chỗ cho nhau tính từ vị trí k để tạo ra 2 con mới. Ví dụ: xét hai cá thể cha mẹ: Cá thể 1: 01110011010 Cá thể 2: 10101100101 Chọn vị trí lai ghép = 5 có hai cá thể con: Con 1: 01110 100101 Con 2: 10101 011010
Hình 2.3: Nguyên tắc thực hiện lai ghép chéo * Lai ghép đa điểm
Với phƣơng pháp lai ghép đa điểm, chúng ta có m vị trí lai ghép ki [1, 2, …, Nvar - 1]. (i = 1,…,m) đƣợc chọn ngẫu nhiên sao cho không lặp lại và đƣợc sắp thứ tự.
Sau khi chọn vị trí lai ghép ta thao tác tại từng vị trí lai ghép giống nhƣ với trƣờng hợp lai ghép chéo.
Ý tƣởng của phƣơng pháp lai ghép đa điểm và cả phƣơng pháp lai ghép khác là nhiễm sắc thể của các cá thể con đƣợc tạo thành từ các nhiễm sắc thể cha mẹ trên cơ sở có sự tráo đổi một hay nhiều phần của nhiễm sắc thể.
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 2.4: Nguyên tắc thực hiện lai ghép đa điểm 2.3.3. Đột biến
Sau khi đƣợc lai ghép, các cá thể con phải trải qua quá trình đột biến. Đây là hiện tƣợng các cá thể con mang các tính trạng không có trong mã di truyền của cha mẹ. Các gen của cá thể con bị đột biến bằng cách thêm vào nó một giá trị ngẫu nhiên nhỏ nào đó với xác suất nhỏ. Xác suất đột biến của một gen tỉ lệ nghịch với số gen của cá thể.
2.3.3.1. Đột biến các giá trị thực
Thao tác đột biến thực hiện nhƣ sau:
Biến đƣợc đột biến = giá trị biến + range * delta Trong đó:
* range = 1/2 * miền giá trị của biến
* delta = i i
a()2 , a(i) = 1 với xác suất 1/m, a(i) = 0, với m = 20
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.3.3.2 Đột biến các giá trị nhị phân
Với các chuỗi nhiễm sắc thể nhị phân, đột biến có nghĩa là lật trạng thái của một gen nào đó. Giả sử xét một cá thể có 11 gen và xảy ra đột biến gen số 4. Ta có bảng sau:
Bảng 2.1: Biểu diễn cá thể trước và sau đột biến
Trƣớc khi đột biến 0 1 1 1 0 0 1 1 0 1 0 Sau khi đột biến 0 1 1 0 0 0 1 1 0 1 0
2.3.4. Phép chọn lọc
Quá trình chọn lọc nhằm chọn ra các cá thể sẽ thực hiện tái sản xuất ra các cá thể con.Các cá thể đƣợc chọn phải là các cá thể có đặc tính tốt nhất, thích nghi nhất với môi trƣờng.Bƣớc đầu tiên đƣợc thực hiện là lƣợng giá độ thích nghi của các cá thể.Mỗi cá thể trong quần thể nhận đƣợc một giá trị biểu diễn khả năng thích nghi của nó phụ thuộc vào giá trị hàm mục tiêu tƣơng ứng với cá thể đó và tƣơng quan giá trị hàm mục tiêu của tất cả các cá thể trong quần thể. Độ thích nghi sẽ đƣợc dùng làm căn cứ cho các phƣơng pháp thực hiện chọn lọc trình bày sau đây.
Có rất nhiều phƣơng pháp thực hiện chọn lọc, các phƣơng pháp này đƣợc so sánh với nhau trên các tiêu chí sau:
* Độ tích cực chọn lọc: chênh lệch giữa xác suất chọn đƣợc cá thể tốt nhất với xác xuất trung bình chọn cá thể bất kỳ.
* Độ lệch: chênh lệch giữa độ thích nghi của một cá thể với xác suất đƣợc lựa chọn của nó.
2.3.4.1. Phương pháp chọn lọc dùng bánh xe Roulette
Đây đƣợc coi là phƣơng pháp chọn lọc đơn giản nhất, đƣợc tiến hành nhƣ sau: Các cá thể đƣợc ánh xạ vào các đoạn thẳng liên tiếp sao cho kích thƣớc của mỗi phần đoạn thẳng đó bằng độ thích nghi của cá thể tƣơng ứng.Sau đó một số ngẫu nhiên sẽ đƣợc tạo ra và những cá thể nào mà đoạn thẳng tƣơng ứng với nó chứa giá trị vừa tạo ra sẽ đƣợc chọn.Quá trình tiếp tục lặp lại đến khi chọn đƣợc số lƣợng cần thiết các cá thể.
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
Ví dụ: Xét một quần thể gồm 11 cá thể, có độ thích nghi và xác suất đƣợc chọn thể hiện trong bảng sau:
Bảng 2.2: Độ thích nghi và xác suất của cá thể
Số cá thể 1 2 3 4 5 6 7 8 9 10 11 Độ thích nghi 2.0 1.8 1.6 1.4 1.2 1.0 0.8 0.6 0.4 0.2 0.0 Xác suất thích nghi 0.18 0.16 0.15 0.13 0.11 0.09 0.07 0.06 0.03 0.02 0.0 Giả sử ta cần lựa chọn 6 cá thể để thực hiện lai ghép, khi đó ta cần tạo ra 6 số ngẫu nhiên có giá trị rải rác giữa 0 và 1. Chẳng hạn các số sau: 0.81, 0.32, 0.96, 0.01, 0.65, 0.42. Hình vẽ sau mô tả quá trình chọn lọc các cá thể.
Hình 2.6: Quá trình chọn lọc cá thể bằng phương pháp bánh xe Roulette
Sau đó, ta nhận đƣợc các cá thể mang số thứ tự sau: 1, 2, 3, 5, 6, 9.
2.3.4.2. Phương pháp chọn lọc Stochastic Universal Sampling
Thực hiện giống nhƣ phƣơng pháp bánh xe Roulette, nhƣng cách chọn các giá trị ngẫu nhiên nhƣ sau: giả sử cần chọn ra N cá thể, khi đó khoảng cách giữa các lát cắt là 1/N. Chúng ta chọn 1 số ngẫu nhiên trong đoạn [0, 1/N] rồi từ đó xác định các lát cắt. Xét ví dụ trên, chúng ta cần tìm 6 cá thể nên khoảng cách giữa các lát cắt là 1/6 = 0.16. Chọn một giá trị ngẫu nhiên trong khoảng [0, 0.16] chẳng hạn 0.1 ta có thao tác 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
Hình 2.7: Quá trình chọn lọc cá thể bằng phương pháp Stochastic Universal Sampling.
Các cá thể tìm đƣợc là 1, 2, 3, 4, 6, 8.
2.3.4.3. Phương pháp chọn lọc địa phương
Trong phƣơng pháp này, mỗi cá thể đều nằm trong một môi trƣờng khép kín gọi là lân cận địa phƣơng.Mỗi cá thể chỉ tƣơng ứng với các cá thể trong lân cận của mình.Các lân cận đƣợc xác định dựa vào cấu trúc quần thể và mỗi lân cận có thể đƣợc xem nhƣ một nhóm lai ghép tiềm năng.
Cấu trúc các lân cận có thể có các dạng:
* Một chiều: full ring, half ring
Hình 2.8: Mô tả các lân cận của cá thể * Hai chiều: full cross – full star và half cross – half star
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 2.9: Mô tả các lân cận của cá thể
Cơ chế chọn nhƣ sau: đầu tiên ta chọn một nửa số cá thể cần chọn bởi một phƣơng pháp bất kỳ nào khác, chẳng hạn nhƣ phƣơng pháp bánh xe Roulette. Sau đó với mỗi cá thể tìm đƣợc ra xác định một lân cận địa phƣơng và tìm ra cá thể lai ghép với nó trong lân cận vừa xác định.
2.3.4.4. Phương pháp lựa chọn loại bỏ
Trong phƣơng pháp lựa chọn này, các cá thể đƣợc sắp xếp theo chế độ thích nghi của chúng. Chỉ có những cá thể tốt nhất đƣợc lựa chọn để tạo nên các cặp bố mẹ. Tham số của phƣơng pháp lựa chọn loại bỏ là ngƣỡng lựa chọn Trunc, theo đó các cá thể có độ thích nghi nhỏ hơn Truncsẽ bị loại bỏ, các cá thể có độ thích nghi lớn hơnTrunc đƣợc chấp nhận.
2.4. Các tham số của thuật giải di truyền
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