1. Trang chủ
  2. » Công Nghệ Thông Tin

báo cáo đề tài sử dụng từ điển để tách từ trong câu tiếng việt

26 1,2K 6

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 1,13 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đặt vấn đề Tách từ là 1 vấn đề cơ bản trong xử lý ngôn ngữ tự nhiên XLNNNT Nó là tiền đề, bước cơ bản đầu tiên để tiến hành tiếp các phép xử phức tạp lý khác như xác định từ loại, phân t

Trang 1

TRƯỜNG ĐẠI BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

====o0o====

BÀI TẬP LỚN

XỬ LÝ NGÔN NGỮ TỰ NHIÊN

Đề tài : Sử dụng từ điển để tách từ trong câu tiếng Việt.

GV hướng dẫn : TS Lê Thanh Hương

SV thực hiện : Nguyễn Đức Long 20071697

Nguyễn Văn Khải 20071562

Hà Nội 2-05-2011

Trang 2

Mục Lục

Đề tài : Sử dụng từ điển để tách từ trong câu tiếng Việt 1

I Giới thiệu đề tài 3

1 Đặt vấn đề 3

II Cách tiếp cận bài toán 4

1 Khái niệm từ trong Tiếng Việt 4

2 Các hướng tiếp cận hiện nay 5

2.1 Phương pháp tiếp cận dựa trên từ 6

2 2 Phương pháp tiếp cận dựa trên ký tự (tiếng) 7

III Phân tích 1 số phương pháp giải quyết bài toán 7

1 So khớp dài nhất (Longest matching) 7

2 Phương pháp lai kết hợp Longest Maching và ứng dụng cây 9

3 Một số phương pháp khác 12

3.1 Transforma Based Learning 12

3.2 Dynamic programming 13

3.3 Weighted Finin State Transducer( WFST) và mạng Neural 14

3.4 Sử dụng thống kê Internet vào tách từ 17

IV Xây dựng hệ thống, thực nghiệm 19

1 Cài đặt thuật toán 19

2 Cài đặt hệ thống 21

3 Chạy thử và thực nghiệm 21

4 Sử dụng một số tool được cung cấp 22

V Đánh giá và mở rộng báo cáo 26

VI Phân chia công việc 26

VII Kết luận 27

VIII Tài liệu tham khảo 28

Trang 3

I Giới thiệu đề tài

1 Đặt vấn đề

Tách từ là 1 vấn đề cơ bản trong xử lý ngôn ngữ tự nhiên (XLNNNT) Nó là tiền

đề, bước cơ bản đầu tiên để tiến hành tiếp các phép xử phức tạp lý khác như xác định

từ loại, phân tích cấu trúc ngữ pháp cho câu, xử lý văn bản …

Với các yếu tố như thế, tách từ được coi là một vấn đề quan trọng trong

XLNNTN, đặc biệt là với các nước Đông Á, nơi mà có các loại ngôn ngữ với cấu trúcphức tạp như Việt Nam, Trung Quốc, Nhật … Đối với con người, đây là 1 vấn đề đơngiản nhưng làm thế nào để máy tính có thể hiểu và thực hiện được lại là một vấn đề đầy khó khăn và thú vị

Hiện tại đã có rất nhiều công trình nghiên cứu để giải quyết vấn đề này và có độ chính xác khá cao (>95%) Trong khuôn khổ bài tập lớn, nhóm em xin trình bày về cácphương pháp tách từ trong câu tiếng Việt và cài đặt một số phương pháp giải quyết

Em xin chân thành cám ơn cô Lê Thanh Hương đã hướng dẫn và giảng dạy cho

em nhiều kiến thức bổ ích về vấn đề này

Trang 4

II Cách tiếp cận bài toán

1 Khái niệm từ trong Tiếng Việt

Trong các ngôn ngữ phương Tây, từ là đơn vị nhỏ nhất trong câu Nó là một khái niệm khá đơn giản, được định nghĩa là một nhóm kí tự có nghĩa, được phân cách với nhau bởi kí tự khoảng trắng (space) hoặc các dấu câu  Tách từ trong câu của các ngôn ngữ này khá đơn giản

Trong tiếng Việt, khái niệm từ lại là một khái niệm phức tạp và khó xác định hơn rất nhiều Từ không phải là đơn vị nhỏ nhất trong câu mà là tiếng Một từ được cấu trúc

từ các tiếng, có thể từ một tiếng (từ đơn) hoặc bao gồm nhiều tiếng (từ phức) bao gồm

cả từ láy và từ ghép  rất khó có thể áp dụng các kỹ thuật và hướng tiếp cận đã được nghiên cứu và thử nghiệm thành công trên các ngôn ngữ Ấn Âu cho tiếng Việt

Một số thống kê về từ vựng tiếng Việt:

Trang 5

Theo 1 nghiên cứu khác, đã thống kê những điểm khác biệt chính giữa tiếng Việt

và tiếng Anh Chính các đặc điểm này đã làm cho việc tách từ trong tiếng Việt khó khăn hơn nhiều:

2 Các hướng tiếp cận hiện nay

Hiện nay, đã có khá nhiều nghiên cứu về giải quyết vấn đề tách từ trong tiếng Việt Dựa trên cơ sở thống kê các phương pháp tách từ trên tiếng Hoa, bối cảnh các phương pháp tách từ trên tiếng Việt như sau:

Trang 6

Phương pháp tiếp cận dựa trên từ

Phương pháp này được chia thành 3 nhóm chính:

- Dựa vào từ điển

- Dựa vào thống kê

- Kết hợp 2 phương pháp trên để tận dụng ưu điểm của từng phương pháp2.1.1 Phương pháp dựa vào từ điển

Đây là phương pháp điển hình nhất hiện nay, độ chính xác cũng khá cao Ý tưởng của phương pháp này là dựa vào 1 từ điển từ có sẵn rồi dùng các biện pháp so khớp để tách ra các từ, cụm từ trong văn bản mà có trong từ điển Các hướng tiếp cận

khác nhau sẽ sử dụng các loại từ điển khác nhau: full-word/pharse sẽ sử dụng 1 bộ từ điển hoàn chỉnh, trong khi đó component lại sử dụng các bộ từ điển thành phần.

Phương pháp này cũng được chia làm nhiều loại dựa theo cách so khớp với từ điển, chẳng hạn như so khớp dài nhất (longest matching) hay so khớp ngắn nhất (shortest matching) Ngoài ra còn phương pháp kết hợp (hybird) kết hợp cả hai phương pháp này Hiện nay thì phương pháp so khớp dài nhất được xem là phương pháp hiệu quả nhất trong hướng tiếp cận này

Hạn chế của phương pháp này là kết quả phụ thuộc hoàn toàn vào độ chính xác và đầy đủ của bộ từ điển Việc xây dựng 1 bộ từ điển hoàn chỉnh là vấn đề cốt lõi

cuả phương pháp này, hiện nay với sự nỗ lực của nhiều người, bộ từ điển đã tương đốiđầy đủ đem lại kết quả khá khả quan cho phương pháp này với độ chính xác cao (95%) trong việc tách từ

2.1.2 Phương pháp dựa trên thống kê

Ý tưởng của phương pháp là dựa vào các thông tin như tần số xuất hiện trong tập dữ liệu huấn luyện ban đầu, dựa vào các giải thuật học máy sẽ đưa ra một tập các

từ được gán trọng số Dựa trên các trọng số này, khi phân tách câu sẽ quyết định một cụm các tiếng có phải là một từ hay không

Phương pháp này tỏ ra linh hoạt hơn so với phương pháp dựa trên từ điển, tuy nhiên

nó lại phụ thuộc vào dữ liệu học ban đầu và cần có thời gian để tích luỹ

Hiện nay đã có 1 phương pháp mới là dựa vào thống kê Internet, phương pháp này sử dụng các search engine hiện có như google, bing … Dựa vào kết quả tìm kiếm, thuật toán sẽ đánh giá mức độ liên kết giữa các từ (Mutual information - MI) và sử dụng nó

để quyết định có phải là từ hay không Đây là phương pháp hứa hẹn nhiều triển vọng.2.1.3 Phương pháp kết hợp

Phương pháp này kết hợp sử dụng cả từ điển và thống kê để tận dụng ưu điểm của cả hai phương pháp Tuy có ưu điểm về độ chính xác nhưng nó lại gặp phải các vấn đề phức tạp khác, đòi hỏi nhiều hơn về thời gian cũng như bộ nhớ

Trang 7

2 2 Phương pháp tiếp cận dựa trên ký tự (tiếng)

Phương pháp này có thể được chia làm 2 nhóm nhỏ: uni-gram và n-gram Hướng tiếp cận dựa trên một ký tự (uni-gram) chia văn bản ra các ký tự đơn lẻ để thực hiện việc tách từ Còn hướng tiếp cận dựa trên nhiều ký tự (n-gram) chia văn bản

ra thành nhiều chuỗi, mỗi chuỗi gồm hai, ba ký tự trở lên So với hướng tiếp cận dựa trên một ký tự, hướng tiếp cận này cho nhiều kết quả ổn định hơn (trong tiếng Hoa)

Khái niệm ký tự ở đây được tương đương với tiếng trong tiếng Việt Phương pháp này chia 1 câu ra thành các tiếng phân cách nhau bởi các dấu cách hay các dấu câu, sau đó dựa vào các giải thuật như quy hoạch động, giải thuật di truyền hay thống

kê để tìm ra cách phân chia mà có tổng xác suất các phân đoạn là tối ưu nhất

Phương pháp này tỏ ra đơn giản, linh hoạt hơn do không phải dựa vào 1 bộ từ điển cố định Cách tiếp cận này có tính khả quan, hứa hẹn nhiều triển vọng hơn so vớiphương pháp dựa trên từ điển

III Phân tích 1 số phương pháp giải quyết bài toán

Ở đây em xinh trình bãy kỹ về 2 phương pháp: So khớp dài nhất (Longest matching)

và phương pháp tiếp cận lai (kết hợp Longest matching và phân tích automat hữu

Đây là dạng đơn giản của phương pháp Maximum matching, dạng phức tạp sẽ

là tìm chuỗi phân đoạn dài nhất của 3 từ liền nhau Dạng phức tạp này sẽ không được trình bày ở đây

- Cách thực hiện và ví dụ

o Phân tách câu ban đầu thành một chuỗi các tiếng, chẳng hạn với câu C

ta phân tích được chuỗi các tiếng là: C1 C2 C3 C4 …

o Sử dụng vòng lặp để xác định chuỗi dài nhất được xác định là từ bằng cách so khớp với từ điển lexicon có sẵn

Ví dụ:

+ Xác định C1 có là từ hay không+ Xác định C1C2 có phải là từ không+ Xác định C1C2C3

Trang 8

+ …

 Chuỗi dài nhất được xác định là từ sẽ được chọn

o Xét chuỗi các tiếng còn lại, lặp lại vòng lặp từ bước 2

+ Ví dụ với câu: Học sinh học sinh học

 Ta xác định được các tiếng: học, sinh, học, sinh, học

 Lần lượt xét các chuỗi: học, học sinh, học sinh học, học sinh học sinh

 So khớp với từ điển, ta xác định được “học sinh” là từ chuỗi dài nhất

thoả mãn  từ đầu tiên được xác định là: học sinh

 Xét chuỗi các tiếng còn lại – “học sinh học” lặp lại các bước như trên ta

sẽ thu được kết quả:

o Học sinh | học sinh | học

- Ưu điểm

o Phương pháp này giải quyết được nhập nhằng đơn

o Cách tách từ đơn giản, nhanh chóng và dễ thực hiện, chỉ cần dựa vào

từ điển

o Dễ dàng tách được các câu đơn giản như: thành lập | nước | Việt Nam

| dân chủ | cộng hoà hay: cộng hoà | xã hội chủ nghĩa | Việt Nam

- Nhược điểm

o Phương pháp này phụ thuộc hoàn toàn vào độ chính xác và đầy đủ của

từ điển  xây dựng được bộ từ điển đầy đủ là vấn đề cốt lõi Mục tiêu này khá khó khăn do kho từ vựng dân gian là vô cùng lớn

o Không giải quyết được nhập nhằng, chẳng hạn như câu học sinh học sinh học sẽ được phân tích thành:

Trang 9

 Mục đích của phương pháp này nhằm xử lý các nhập nhằng trong câu và đưa

ra tất cả các khả năng tối ưu có thể tách được trong câu

 Tư tưởng của phương pháp này là bằng cách kết hợp với từ điển để xác định các từ, ta xây dựng một cấu trúc dữ liệu dạng cây miêu tả mối quan hệ giữa các tiếng trong câu theo thứ tự từ trái qua phải

Thông qua cấu trúc cây này, ta xác định được tất cả các đường đi từ nút gốc đến nút lá Với các trường hợp nhập nhằng, kết quả sẽ trả lại hơn 1 đáp án bằng cách liệt kê tất cả các đường đi ngắn nhất

 Với mỗi nhập nhằng sẽ sinh ra 1 đường đi riêng để đến nút lá

 Duyệt ngược cây từ nút lá đến nút gốc để lấy ra tất cả các cấu hình có thể

Ví dụ : Với câu ‘ông quan tài giỏi’ ta sẽ tách ra được thành các từ ông,quan,quan tài,tài giỏi… tương ứng với cây được xây dựng như sau :

idông

Trang 10

- Thứ tự các nút được đưa vào trong queue như sau : ông-quan-quan tài-tài-tài giỏi-giỏi-giỏi.Sau đó duyệt ngược từ nút cuối để tìm ra các đường đi

- Ưu điểm

o Đưa ra được tất cả các phương pháp tách từ hợp lý

o Tính được cả các trường hợp nhập nhằng

- Nhược điểm

o Phụ thuộc vào sự đầy đủ và chính xác của từ điển

o Chưa đưa ra được phương pháp tối ưu, như ví dụ trên cần có phương pháp để đưa ra được phương án chính xác nhất là đáp án số 2

o Với các câu dài sẽ mất thời gian xử lý

3 Một số phương pháp khác

3.1

Transforma Based Learning

3.1.1 Giới thiệu về giải thuật học cải biến (Transforma based learning)

Giải thuật học cải biến (TBL) là một phương pháp máy học dạng thống kê được phát triển trong những năm gần đây bởi tiến sĩ Eric Brill Phương pháp này đã

và đang đạt được nhiều thành công trong các ứng dụng của lĩnh vực xử lý ngôn ngữ tựnhiên

Phương pháp học cải biến TBL sử dụng một ngữ liệu lớn đã được xác định thông tin đầy đủ bằng tay và một tập hợp mẫu luật chuyển đổi trạng thái, từ đó học và sinh ra bộ luật nhằm giải quyết vấn đề đặt ra Phương pháp học này đã đạt đượcnhững kết quả đáng kinh ngạc khi giải các bài toán trong lĩnh vực xử lý ngôn ngữnhư: tách từ, đánh nhãn từ loại, xác định vị trí bổ nghĩa của ngữ giới từ, bắt lỗi chính tả,khữ nhập nhằng ngữ nghĩa Hiện nay, các ứng dụng của TBL vẫn đang được phát

Trang 11

triển cũng phương pháp học này cũng nhận được nhiều nghiên cứu cải tiến đáng kể như: Fast TBL, μ TBL, Lazy TBL.

3.1.2 fnTBL(Fast Transformation-based learning)

Trong ứng dụng tách từ, phương pháp học cải biến huấn luyện cho máy tính biết cách nhận diện ranh giới từ tiếng Việt, ta có thể cho máy học trên ngữ liệu hàng vạn câu tiếng Việt đã được đánh dấu ranh giới từ đúng Sau khi học xong, máy sẽ xác định được các tham số(các xác suất) cần thiết cho mô hình nhận diện từ

- Hệ thống fnTBL(Fast Transformation-based learning) gồm hai tập tin chính:

 Tập tin dữ liệu học(training): tập tin dữ liệu học được làm thủ công, đòi hỏi độ chính xác Mỗi mẫu(template) được đặt trên một dòng riêng biệt

 Tập tin chứa các mẫu luật(rule – template ): mỗi luật được đặt trên một dòng, hệ thống fnTBL sẽ dựa vào các mẫu luật để áp dụng vào tập tin dữ liệu học

- Quá trình học gồm 3 bước:

 Bước 1: từ tập dữ liệu học đã có sẵn, sử dụng phương pháp thống kê ta sẽ

có từ điển các tiếng(Lexicon)

 Bước 2: từ tập dữ liệu học, tạo ra tập dữ liệu mới dựa vào từ điển

 Bước 3: so sánh tập dữ liệu học với tập dữ liệu đang xét, dựa vào các mẫu luật đã cho, kết quả sẽ rút ra tập luật được chọn

- Ưu điểm

 Đặc điểm của phương pháp là khả năng tự rút ra quy luật của ngôn ngữ

 Tạo ra bộ luật dễ hiểu vì dựa trên các luật đã có sẵn

 Các luật được thử nghiệm tại chỗ để đánh giá độ chính xác và hiệu quả củaluật( dựa trên ngữ liệu huấn luyện)

 Thời gian học cũng như thực hiện là tuyến tính

 Có khả năng giải quyết được một số nhập nhằng, những tình huống có xác suất thấp hoăc chưa gặp trong quá trình học

- Hạn chế:

 Phương pháp này học dựa trên tập ngữ liệu tự động, việc xây dựng một tậpngữ liệu trong tiếng Việt là điều rất khó, tốn kém nhiều về mặt thời gian vàcông sức

Trang 12

 Hệ thống trải qua một thời gian huấn luyện khá lâu để có thể rút ra các luậttương đối đầy đủ.

 Cài đặt phức tạp

3.2

Dynamic programming

- Phương pháp quy hoạch động(Dynamic programming)

Phương pháp quy hoạch động được nhà toán học Richard Bellman phát minh năm 1953, được xem như một chủ đề về kỹ nghệ và phân tích hệ thống Phương pháp này giải bài toán bằng cách kết hợp các lời giải của các bài toán con, các bài toán con không độc lập với nhau, chúng có chung các bài toán con nhỏ hơn Việc giải các bài toán con chỉ một lần và ghi nhớ lời giải đó trong một bảng để truy cập đến khi cần Phương pháp này là cách tính ngược của đệ quy, thay vì tính toán theo mô hình từ trên xuống(Top – down) đã tính theo mô hình từ dưới lên (Bottom – up) Vì vậy quy hoạch động làm giảm thời gian chạy của lời giải bài toán Phương pháp quy hoạch động giải các bài toán theo phương án tối ưu, tức là đưa bài toán về tìm phương án tối

ưu của một số hữu hạn các bài toán con

Nguyên lý tối ưu của Bellman: trong một dãy tối ưu của các lựa chọn thì một dãy con của nó cũng là tối ưu

Một giải thuật quy hoạch động được xây dựng qua 4 bước:

 Xác định cấu trúc của một lời giải tối ưu: phân tích bài toán, biểu diễn bài toándưới dạng một bài toán nhiều mức

 Định nghĩa đệ quy cho giá trị của một lời giải tối ưu: xây dựng giải pháp đệ quy, lập công thức truy hồi

 Tính giá trị của một lời giải tối ưu từ dưới lên: lập bảng để tính các giá trị theokiểu dưới lên

 Xây dựng lời giải tối ưu từ các thông tin đã tính: tổng hợp kết quả

Giải quyết bài toán tách từ, phương pháp quy hoạch động chỉ sử dụng tập ngữ liệu

để lấy thông tin về tần số thống kê của từ, làm tăng độ tin cậy khi tính toán Việc tính toán sẽ được bắt đầu với những đơn vị như câu được phân cách bởi dấu câu, vì thành

Trang 13

phần này không có tính nhập nhằng trong phân tách đối với bất kỳ văn bản nào Cách tách cuối cùng là tìm ra các tổ hợp từ sao cho xác suất của nó là tối đa nhất

- Ưu điểm:

 Không cần sử dụng tập ngữ liệu đã được đánh dấu chính xác

 Giải quyết được vấn đề trùng lặp khi phải tính lại các xác suất cực đại của mỗi tổ hợp từ nhỏ hơn

Weighted Finin State Transducer( WFST) và mạng Neural

- Mô hình mạng chuyển dịch trạng thái hữu hạn có trọng số(WFST)

Mô hình WFST của Richard W.Sproat được áp dụng trong tách từ từ năm

1996 Ý tưởng cơ bản là áp dụng WFST với trọng số là xác suất xuất hiện của mỗi từ trong kho ngữ liệu Dùng WFST để duyệt qua các câu cần xét, khi đó từ có trọng số lớn nhất là từ được chọn để tách

- Mô hình tách từ bằng WFST và mạng Neural

Khi áp dụng WFST sẽ đưa ra kết quả tách từ với xác suất kèm theo, nếu phương pháp cho nhiều đáp án có xác suất xấp xỉ như nhau, việc chọn lời giải tối ưu gặp khó khăn Để khắc phục khuyết điểm này cần sử dụng thêm mạng Neural để khử nhập nhằng trong kết quả

Do đó hệ thống tách từ tiếng Việt này sẽ gồm 2 tầng:

 Tầng 1: WFST sẽ giải quyết việc tách từ và một số vấn đề của tiếng Việt như

từ láy, tên riêng, …

 Tầng 2: mạng Neural dùng để khử nhập nhằng nếu có

Ngày đăng: 23/10/2014, 23:27

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w