Phân tích từ vựng và câu

Một phần của tài liệu Đề tài NGHIÊN cứu xây DỰNG bộ LỌCSPAM THÔNG MINH, tự ĐỘNG (Trang 45)

4. Phạm vi ứng dụng

3.2.3. Phân tích từ vựng và câu

3.2.3.1. Phân tích từ vựng

Phân tích từ vựng là quá trình rút gọn một thơng điệp thành các thành phần gốc của nĩ, những thành phần này cĩ thể là những từ riêng rẽ, một cặp từ hoặc một đoạn text nào đĩ. Dữ liệu được tạo ra bởi bộ phân tích từ vựng sau đĩ được đưa vào động cơ phân tích, chất lượng của dữ liệu được tạo ra bởi bộ phân tích từ vựng cĩ tầm quan trọng rất lớn, chúng cĩ ảnh hưởng đến các quá trình xử lý về sau, thậm chí chỉ một thay đổi đơn giản trong quá trình phân tích từ vựng cĩ thể ảnh hưởng đến độ chính xác của bộ lọc sau đĩ.

Cách tiếp cận để xây dựng bộ phân tích từ vựng trong bộ lọc thống kê này là heuristic, quá trình xác định các đặc trưng là động. Những cách mà các đặc trưng đĩ được thiết lập ban đầu, làm thế nào để phân tích email là được lập trình bởi con người.

Tuy nhiên, sự thay đổi của ngơn ngữ chậm và chỉ cần một số điều chỉnh nhỏ cần thiết cho bộ phân tích từ vựng là cĩ thể xử lý những biến đổi của các spammer. Phân tích từ vựng thường được định nghĩa một lần vào thời điểm xây dựng và ít cần sự bảo trì sau đĩ, hiện nay cĩ nhiều nỗ lực cải tiến bước này theo hướng sử dụng trí tuệ nhân tạo để bỏ đi những cảm tính từ heuristic.

3.2.3.2. Phân tích câu

Bên cạnh việc tìm ra cách tốt nhất để phân rã một thơng điệp ra, cĩ nhiều vấn đề khác cũng cần được quan tâm khi phân tích từ vựng, ví dụ cần xác định cái gì tạo nên sự phân cách giữa các token và cái gì đã tạo thành ký tự (bộ phận của token)…Mục đích cơ bản của phân tích từ vựng là tách và xác định các đặc trưng của text, bắt đầu với việc tách một thơng điệp ra thành các bộ phận nhỏ hơn, thường là các từ đơn giản. Vì thế dấu phân cách nên dùng là khoảng trắng, vì khoảng trắng thường dùng để tách các từ trong hầu hết các ngơn ngữ, sau đây là một số phân cách câu được dùng rộng rãi:

+ Dấu chấm (.) + Dấu phẩy (,) + Dấu chấm phẩy (;) + Dấu nháy đơi (“) + Dấu hai chấm (:) + Dấu ngoặc vuơng [ ] + Dấu ngoặc nhọn { } + Dấu ngoặc đơn ( ) + Các tốn tử + - / * = < >

Để giảm thiểu dư thừa của các token, việc cắt ngắn các ký tự ở một mức độ nào đĩ là khá quan trọng bởi vì các spammer cĩ thể dễ dàng dùng cách khơng cắt ngắn các token như là một cách để giấu các tokens cĩ tính spam, ví dụ spammer muốn dấu từ “porn” nĩ cĩ thể gửi từ “porn!!!” trong spam đầu tiên và “porn!?!?” trong lần tiếp theo, vì thế trong hai trường hợp này sẽ được xem như là các token mới, việc cắt ngắn sẽ giảm cả 2 token này thành “porn!” hoặc thậm chí là “porn” nếu tất cả

các từ cảm thán được bỏ qua. Các token thường nên được giới hạn bởi một dấu chấm câu ở cuối cùng.

Cĩ một số ngoại lệ đối với các dấu phân cách đĩ là cĩ một số các token sẽ được

để dành cho một số trường hợp đặc biệt ví dụ như: địa chỉ IP, các ký tự trong

HMTL như &copy, &nbsp…

Một trong những giải pháp mà Paul Graham [6] cũng đã đưa ra trong quá trình phân tích từ vựng đĩ là sự suy hồi (degeneration). Sự suy hồi cho phép một token chưa tìm thấy trước đĩ cĩ thể cắt ngắn, làm cho nĩ đơn giản hơn để so trùng cho

đến khi khớp. Ví dụ sau cho thấy từ “FREE!!!” trong chủ đề. Nếu nĩ chưa từng

được tìm thấy trong phần chủ đề, suy hồi sẽ cắt ngắn cụm từ cho đến khi nĩ khớp với một từ nào đĩ nĩ đã từng thấy trước đĩ

3.2.4. Biểu diễn nội dung thư

3.2.4.1. Biểu diễn nội dung thư dưới dạng tập hợp từ (“túi từ”)

Để cĩ thể sử dụng kỹ thuật học máy và xác suất thống kê, nội dung thư cần được biểu diễn dưới dạng thuận tiện cho việc áp dụng thuật tốn học máy. Các phương pháp lọc thư bằng cách tự động phân loại theo nội dung đều sử dụng cách biểu diễn thư dưới dạng véctơ.

Mặc dù cĩ nhiều cách xây dựng véctơ nhưng cách đơn giản nhất là mơ hình “túi từ” (“bag-of-words”). Nguyên tắc cơ bản của phương pháp này là khơng quan tâm tới vị trí xuất hiện các từ hay cụm từ trong thư mà coi thư như một tập hợp khơng cĩ thứ tự các từ. Mỗi thư khi đĩ được biểu diễn bởi một véctơ. Số phần tử của véctơ bằng số lượng từ khác nhau trên tồn bộ tập dữ liệu huấn luyện.

Cĩ nhiều cách tính giá trị các phần tử của vectơ. Cách đơn giản nhất là sử dụng giá trị nhị phân: mỗi phần tử của véctơ bằng 1 hay 0 tuỳ thuộc vào từ tương ứng cĩ xuất hiện trong thư tương ứng với véctơ hay khơng. Các phương pháp phức tạp hơn

thường dựa vào tần suất xuất hiện của từ trong thư. Từ xuất hiện càng nhiều thì

phần tử tương ứng của vectơ cĩ giá trị càng lớn và ngược lại.

Dưới đây là một ví dụ đơn giản minh hoạ cho cách biểu diễn nội dung nĩi trên. Dữ liệu huấn luyện bao gồm bốn thư, trong đĩ hai thư là thư rác và hai là thư bình

thường. Nội dung các thư được cho trong bảng 3.1. Trên bảng 3.2. là biểu diễn véctơ cho các thư trong bảng 3.1. Chú ý là trong ví dụ này chỉ sử dụng các từ đơn âm.

Bảng 3.1. Ví dụ nội dung của 4 thư.

Bảng 3.2. Biểu diễn véctơ cho dữ liệu trong bảng 3.1

Thơng thường, một số bước tiền xử lý được áp dụng đối với các từ trước khi biểu diễn thư dưới dạng véctơ. Đối với tiếng anh, các từ sẽ đưa về dạng gốc, ví dụ “speaking” được biến đổi thành “speak”. Ngồi ra, các liên từ hoặc những từ khơng cĩ ý nghĩa như “và”, “nhưng”.v.v. trong tiếng Việt hay “and”, “the”.v.v. trong tiếng Anh sẽ được loại bỏ do khơng cĩ liên quan trực tiếp tới ý nghĩa của thư.

Trên các tập dữ liệu mẫu thực, số lượng từ khác nhau cĩ thể lên tới hàng chục nghìn tương ứng với số lượng phần tử trong mỗi véctơ. Phương pháp biểu diễn thư sử dụng “túi từ” trình bày ở trên bỏ qua thơng tin về vị trí xuất hiện và thứ tự các từ trong thư. Những thơng tin này cĩ thể cĩ giá trị quan trọng trong việc phát hiện thư rác. Tuy nhiên, do đơn giản, phương pháp “túi từ” vẫn là phương pháp biểu diễn nội dung thư thơng dụng nhất, mặc dù cĩ nhược điểm vừa nêu

3.2.4.2. Sử dụng cụm từ (phrase) cĩ ngữ nghĩa để biểu diễn văn bản

Khái niệm cụm từ dùng để chỉ đơn vị văn bản dài hơn từ đơn nhưng ngắn hơn câu thơng thường và cĩ ngữ nghĩa riêng. Ví dụ “nghiên cứu khoa học” là cụm từ

Số TT Nội dung Nhãn

1 mua và trúng thưởng Rác

2 mua một tặng một Rác

3 anh mua rồi Bình thường

4 vừa gửi xong Bình thường

STT mua Và trúng thưởng một tặng anh Rồi vừa gửi xong

1 1 1 1 1 0 0 0 0 0 0 0

2 1 0 0 0 2 1 0 0 0 0 0

3 1 0 0 0 0 0 1 1 0 0 0

theo định nghĩa này. Sử dụng cụm từ để biểu diễn văn bản cĩ hai ưu điểm chính như sau:

Về mặt ngữ nghĩa, cụm từ gần với khái niệm được nhắc tới trong văn bản hơn các từ đơn xét riêng.

Cụm từ thường cĩ mức độ khơng rõ nghĩa (ambiguity) thấp hơn các từ đơn do những từ cấu thành cụm từ cĩ thể làm rõ nghĩa của nhau.

Cụm từ trong văn bản được nhận biết bằng cách phân tích cú pháp văn bản sử dụng kỹ thuật xử lý ngơn ngữ tự nhiên. Thơng thường, thành phần của câu trong văn bản được gán nhãn từ loại ví dụ: tính từ, danh từ, chủ ngữ, vị ngữ, .v.v., sau đĩ một số quy tắc được sử dụng để nhĩm từ loại đứng gần nhau thành cụm từ dựa trên từ loại của chúng.

Mặc dù cĩ một số ưu điểm so với từ đơn, trên thực tế, nhiều nghiên cứu đã cho thấy việc biểu diễn văn bản thơng quan cụm từ cho kết quả phân loại tồi hơn so với cách sử dụng túi từ. Một trong các lý do của kết quả này là do tần suất các cụm từ cĩ nghĩa thấp hơn nhiều so với từ đơn nên cụm từ cĩ nghĩa cĩ thể bị lẫn với cụm từ xuất hiện tình cờ. Một nguyên nhân khác là việc tách cụm từ nhờ phân tích cú pháp văn bản cĩ thể sinh ra những cụm từ khơng cĩ nghĩa. Ví dụ trong khi “nghiên cứu khoa học” cĩ thể coi là một cụm từ thì “ăn uống khoa học” lại nên tách thành 2 cụm từ khác nhau.

3.2.4.3. Sử dụng phân cụm từ(word cluster) để biểu diễn văn bản

Theo phương pháp này, những từ cĩ ngữ nghĩa hoặc tình huống sử dụng tương tự nhau sẽ được nhĩm với nhau thành những nhĩm gọi là phân cụm từ (clusters). Từ được coi là cĩ cùng nghĩa nếu cĩ xu hướng cùng xuất hiện trong một số văn bản. Để phân cụm từ, mỗi từ được biểu diễn dưới dạng vectơ, mỗi thành phần vectơ là số lần từ xuất hiện trong một văn bản nào đĩ. Thuật tốn phân cụm được sử dụng để tìm ra những vectơ tương tự nhau. Sau khi tìm được phân cụm từ, phân cụm từ được sử dụng để biểu diễn văn bản cần phân loại.

Kết quả thử nghiệm cho thấy, phương pháp biểu diễn văn bản bằng phân cụm từ khơng cho kết quả tốt hơn phương pháp túi từ thơng dụng và do vậy rất ít được sử dụng cho ứng dụng thuộc loại này.

3.2.5. Các bước tiền hành lọc trên mạng Bayes

Bộ lọc spam trên cơ sở mạng Bayes dựa vào nội dung của email để phân lớp. Các giai đoạn chính của giải pháp trên cơ sở mạng Bayes như sau:

+ Đầu tiên cần token hố nội dung của email, nghĩa là tách nĩ thành các phần nhỏ để sử dụng trong xử lý. Các token này cĩ thể là các cụm từ, các cặp từ, nhưng các từ đơn thường được sử dụng hơn cả để định nghĩa các token.

+ Bước tiếp theo, giá trị của mỗi token được xác định bằng cách tìm kiếm trong một bảng cập nhật (từ điển token). Trong bảng này, một hoặc nhiều giá trị sẽ được lưu cho mỗi token, sau khi cĩ được giá trị của mỗi token, cĩ một cách để tính xác suất cho một email là thư spam hay thư hợp lệ, hầu hết các thực thi khơng sử dụng tất cả các giá trị, thường để tiết kiệm thời gian xử lý các thực thi tính tốn với các giá trị cĩ liên quan nhất.

+ Các giá trị của các token cĩ liên quan cĩ khoảng cách lớn nhất từ giá trị trung tính (neutral) và như vậy chúng sẽ gần với một mặt nạ các thư spam hoặc thư hợp lệ. Các giá trị này được sử dụng để thiết lập một ma trận quyết định, thường lên tới 10 hay 15 token tốt nhất.

+ Bước cuối cùng là sửa đổi các giá trị của các token trong từ điển, điều này

đưa ra khả năng học liên tục với thơng tin phản hồi (feedback) và kết quả nhị phân cuối cùng được tạo ra.

+ Khơng chỉ yêu cầu kết quả nhị phân, mà cịn dễ dàng đưa ra kết quả là xác suất cĩ thể để một thư là spam. Xác suất cĩ thể này được sử dụng theo nhiều cách khác nhau. Ví dụ, các giới hạn được thực hiện theo cách này để tạo ra các thể loại và các hoạt động khác nhau cĩ thể được thực hiện cho chúng (chẳng hạn dưới 40% - để nĩ vào inbox; 40 - 80% – để nĩ vào inbox, với chủ đề được đánh dấu: ”possible spam”; trên 80% - đặt nĩ vào thư mục spam .v.v..)

+ Xác định rõ các đặc trưng sử dụng. Yêu cầu sẽ xem xét các thư điện tử và tìm các “từ” hoặc “nhĩm từ” mà chúng là dấu hiệu của thư rác hay khơng phải thư rác, đây cĩ thể coi là cơ sở dữ liệu cho bộ lọc. Đây là một phần quan trọng trong nhiệm vụ này và cĩ thể lặp lại một vài lần.

+ Sử dụng một số phương pháp lựa chọn đặc trưng để phân tích dữ liệu và chọn đặc trưng, sau đĩ cĩ thể ước lượng xác suất điều kiện và sử dụng các luật Bayes để ước lượng xác suất của một thư điện tử cĩ phải là thư rác hay khơng?

+ Xác định rõ ngưỡng để loại bỏ tất cả các thư điện tử mà xác suất của chúng lớn hơn xác suất này.

+ Thử nghiệm hệ thống lọc thư rác và ước lượng hiệu quả trong thực tế.

Hệ thống lọc thư rác khác nhiều so với các cơng việc của phân loại văn bản ít nhất ở hai lí do sau:

+ Thứ nhất: Các loại văn bản hỗn tạp trong thực tế cĩ thể xuất hiện là do chủ ý của người đọc và một nội dung chỉ cĩ thể cĩ một tiêu đề. Các thư điện tử thì được gửi đi một cách tự nguyện đối với những người gửi thư rác nhưng với người nhận

thư rác thì hồn tồn ngồi ý muốn. Tương tự như các loại văn bản các thư điện tử

cĩ thể cũng mở rộng một số các tiêu đề khác nhau đối với cùng một nội dung. + Thứ hai: Việc phân loại nhầm một thư hợp lệ thành thư rác sẽ phát sinh hậu quả nghiêm trọng hơn là phân loại nhầm một thư rác thành thư hợp lệ. Đây là chất lượng khác nhau giữa các lớp mà nĩ cần được ghi chép lại trong quá trình tính tốn.

Lựa chọn các đặc trưng: Khi xét đến các vấn đề cụ thể của việc lọc thư rác việc lựa chọn được tập các đặc trưng của các thư điện tử là rất quan trọng, bên cạnh các từ riêng lẻ trong nội dung của các thơng điệp nĩ cung cấp các dấu hiệu để nhận ra một thư điện tử cĩ phải là thư rác hay khơng. Lấy ví dụ các cụm từ đặc biệt như là “Free money” hay các phép chấm câu nhấn mạnh “!!!!” là ngụ ý của thư rác. Hơn nữa thư điện tử bao gồm nhiều những đặc trưng khơng phải của văn bản như là loại vùng của các thơng điệp được gửi đi (e.g, .edu hay ..com) nĩ cung cấp các đặc điểm của thơng tin hàm chứa trong nội dung giúp cho ta cĩ thể nhận biết một thư điện tử cĩ được

3.3. Tổng quan lọc thư rác tiếng Việt

3.3.1. Khĩ khăn trong quá trình lọc thư spam tiếng Việt

Trong quá trình lọc thư rác tiếng Việt, vấn đề khĩ khăn nhất là phải xử lý được việc tách từ. Mặc dù, tiếng Việt gồm các ký tự La tinh nhưng tiếng Việt cĩ những đặc trưng riêng [2]. Tiếng Việt cĩ 2 thành phần cơ bản: tiếng và từ. Một số mối liên quan giữa từ và tiếng như sau:

Về giá trị ngữ pháp, tiếng là đơn vị cấu tạo từ

Từ là đơn vị nhỏ nhất để cấu tạo nên câu, từ ở dạng nguyên thể, hình thức và ý nghĩa của nĩ độc lập với cú pháp. Sử dụng tiếng để tạo thành từ, cĩ 02 loại từ phổ biến, từ một tiếng (từ đơn) và từ n tiếng trở lên (n<5) gọi là từ phức (bao gồm từ ghép và từ láy). Trong đặt câu tiếng Việt, sử dụng từ chứ khơng sử dụng tiếng

Cịn đối với tiếng Anh, từ được định nghĩa như sau: “Từ là một nhĩm ký tự cĩ nghĩa, được phân cách bởi ký tự khoảng trắng trong câu” ( từ điển Webter)

Cụ thể đơn giản hơn, đối với tiếng Anh, ví dụ: “You are a teacher” sẽ tách được 4 từ: you, are, a, teacher. Đối với tiếng Việt, ví dụ: “Bạn là giáo viên” sẽ tách được 3 từ: bạn, là, giáo viên. Trong đĩ từ ghép “giáo viên” là từ được hình thành bởi 2 tiếng: “giáo”, “viên”. Do sự khác biệt đĩ nên một từ ghép chủ yếu được dùng trong các thư rác khi tách ra thành các từ đơn thì lại được dùng phổ biến trong các thư tốt. Ví dụ từ “khuyến mãi” là từ thường được dùng trong thư rác tiếng Việt nhưng khi tách ra thành từ “khuyến”và từ “mãi” thì những từ này lại được sử dụng nhiều trong

Một phần của tài liệu Đề tài NGHIÊN cứu xây DỰNG bộ LỌCSPAM THÔNG MINH, tự ĐỘNG (Trang 45)

Tải bản đầy đủ (PDF)

(88 trang)