1. Trang chủ
  2. » Giáo Dục - Đào Tạo

tìm hiểu các mô hình ngôn ngữ

13 184 0

Đ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 13
Dung lượng 56,36 KB

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

Nội dung

Sở dĩ có khó khăn là do ngôn ngữ tự nhiên có các bộ luật, cấu trúc ngữ pháp phong phú hơn nhiều các ngôn ngữ máy tính, hơn nữa để hiểu đúng nội dung các giao tiếp, văn bản trong ngôn ngữ

Trang 1

BÁO CÁO LÝ THUYẾT NGÔN NGỮ

NHÓM 1 TÌM HIỂU CÁC MÔ HÌNH NGÔN NGỮ

Trang 3

LỜI MỞ ĐẦU

Ngôn ngữ tự nhiên là những ngôn ngữ được con người sử dụng trong các giao tiếp hàng ngày: nghe, nói, đọc, viết Mặc dù con người có thể dễ dàng hiểu và học các ngôn ngữ tự nhiên; việc làm cho máy hiểu được ngôn ngữ tự nhiên không phải là chuyện dễ dàng Sở dĩ có khó khăn là do ngôn ngữ tự nhiên có các bộ luật, cấu trúc ngữ pháp phong phú hơn nhiều các ngôn ngữ máy tính, hơn nữa để hiểu đúng nội dung các giao tiếp, văn bản trong ngôn ngữ tự nhiên cần phải nắm được ngữ cảnh của nội dung đó Do vậy, để có thể xây dựng được một bộ ngữ pháp, từ vựng hoàn chỉnh, chính xác để máy có thể hiểu ngôn ngữ tự nhiên là một việc rất tốn công sức và đòi hỏi người thực hiện phải có hiểu biết sâu về ngôn ngữ học

Các phương pháp xử lý ngôn ngữ tự nhiên dựa trên thống kê không nhắm tới việc con người tự xây dựng mô hình ngữ pháp mà lập chương trình cho máy tính có thể “học” nhờ vào việc thống kê các từ và cụm từ có trong các văn bản Cốt lõi nhất của các phương pháp xử lý ngôn ngữ tự nhiên dựa trên thống kê chính là việc xây dựng mô hình ngôn ngữ

Trong bài báo cáo nhóm chúng em xin trình bày về mô hình ngôn ngữ N-gram và ứng dụng của mô hình trong xử lý ngôn ngữ tự nhiên

Trang 4

MỤC LỤC

LỜI MỞ ĐẦU

NỘI DUNG BÁO CÁO 4

I.KHÁI QUÁT CHUNG 4

1.Mục tiêu 4

2 Giới thiệu khái niệm mô hình ngôn ngữ 4

II MÔ HÌNH NGÔN NGỮ N-GRAM 4

1 Khái quát 4

2 Chuỗi Markov 5

3 Ước lượng xác suất cho mô hình N-gram 5

4 Công thức tính “xác suất thô”: 6

5 Khó khăn khi xây dựng mô hình ngôn ngữ N-gram 7

5.1.Phân bố không đều: 7

5.2.Kích thước bộ nhớ của mô hình ngôn ngữ 7

6 Các phương pháp làm mịn 8

7 Kỹ thuật làm giảm kích thước dữ liệu: 10

III ỨNG DỤNG MÔ HÌNH N-GRAM 10

Trang 5

NỘI DUNG BÁO CÁO

I.KHÁI QUÁT CHUNG.

1.Mục tiêu.

Hiểu được khái niệm về mô hình ngôn ngữ

Tìm hiểu các mô hình ngôn ngữ được sử dụng trong xử lý ngôn ngữ tự nhiên

Phân tích được các ví dụ cho từng mô hình cụ thể

2 Giới thiệu khái niệm mô hình ngôn ngữ.

giản, mô hình ngôn ngữ có thể cho biết xác suất một câu (hoặc cụm từ) thuộc một ngôn ngữ là bao nhiêu

Mô hình ngôn ngữ là một bộ phận quan trọng của lĩnh vực xử lý ngôn ngữ tự nhiên Có rất nhiều lĩnh vực trong xử lý ngôn ngữ tự nhiên sử dụng mô hình ngôn ngữ như: kiểm lỗi chính tả, dịch máy hay phân đoạn từ Chính vì vậy nghiên cứu

mô hình ngôn ngữ chính là tiền đề để nghiên cứu các lĩnh vực tiếp theo

đầu ra là điểm đánh giá xác suất một người bản ngữ có thể nói chuỗi đó Chính vì vậy, một mô hình ngôn ngữ tốt sẽ đánh giá các câu đúng ngữ pháp, trôi chảy cao hơn một chuỗi các từ có thứ tự ngẫu nhiên như ví dụ sau (áp dụng đối với mô hình ngôn ngữ tiếng Việt):

P[“hôm qua là thứ năm”] = 0.001

P[“năm thứ hôm là qua”] = 0

Mô hình ngôn ngữ có nhiều hướng tiếp cận, nhưng chủ yếu được xây dựng theo mô hình N-gram và mới đây là mô hình nơ-ron

Trang 6

II MÔ HÌNH NGÔN NGỮ N-GRAM.

1 Khái quát.

Nhiệm vụ của mô hình ngôn ngữ là cho biết xác suất của một câu ww wi là

bao nhiêu Theo công thức Bayes: P(AB) = P(B|A) * P(A), thì:

P(ww…wi) = P(w) * P(w|w) * P(w|ww) *…* P(wi|ww…wi-1)

Theo công thức này, mô hình ngôn ngữ cần phải có một lượng bộ nhớ vô cùng lớn để có thể lưu hết xác suất của tất cả các chuỗi độ dài nhỏ hơn m Rõ ràng, điều này là không thể khi m là độ dài của các văn bản ngôn ngữ tự nhiên (m có thể tiến tới vô cùng)

+) Corpus: Kho ngữ liệu

+) History(về ngôn ngữ): ta hiểu là tiền ngữ, chẳng hạn “ngôn ngữ tự nhiên” và

“ngôn ngữ tự chế” có chung tiền ngữ là “ngôn ngữ tự” Cụ thể với n-gram w=w1…… wn-1wn thì history của wn trong w chính là w1w2… wn-1

2 Chuỗi Markov.

Giả thiết rằng xác suất tính cho một sự kiện:

Ta gọi là mô hình Markov bậc n

3 Ước lượng xác suất cho mô hình N-gram.

Để có thể tính được xác suất của văn bản với lượng bộ nhớ chấp nhận được, ta

sử dụng xấp xỉ Markov bậc n:

P(wi|w,w,…, wi-1) = P(wi|wi-n,wi-n+1, …,wi-1) Nếu áp dụng xấp xỉ Markov, xác suất xuất hiện của một từ (wi) được coi như chỉ phụ thuộc vào n từ đứng liền trước nó (wi-nwi-n+1…wi-1) chứ không phải phụ

Trang 7

thuộc vào toàn bộ dãy từ đứng trước (ww…wi-1) Như vậy, công thức tính xác suất văn bản được tính lại theo công thức:

* P(wi|wi-nwi-n+1…wi-1)

Ví dụ: P(“Hôm qua là thứ năm”)=P(“hôm”)*P(“qua/hôm”)*P(“là/hôm qua”)

*P(“thứ/hôm qua là”)*P(“năm/hôm qua là thứ”)

Với công thức này, ta có thể xây dựng mô hình ngôn ngữ dựa trên việc thống kê các cụm có ít hơn n+1 từ Mô hình ngôn ngữ này gọi là mô hình ngôn ngữ N-gram

tử cho trước (trong bộ dữ liệu huấn luyện)

Ví dụ: cụm 2-gram “tôi đã” thuộc câu “tôi đã từng đọc quyển sách ấy”

Các phần tử được xét ở đây thường là kí tự, từ hoặc cụm từ; tùy vào mục đích sử dụng Dựa vào số phần tử của 1 cụm N-gram, ta có các tên gọi cụ thể:

suất xuất hiện nhiều nhất của các chữ cái Điều này được ứng dụng để làm keyboard: các phím hay xuất hiện nhất sẽ ở những vị trí dễ sử dụng nhất (e,a,

………)

’he’, ’in’, ’an’, ’er’ là các cặp kí tự hay xuất hiện nhất Ngoài ra ta có thể thấy rằng sau kí tự ‘q’ hầu hết sẽ là kí tự ‘u’

thường người ta chỉ sử dụng với n=1,2 đôi khi là n=3 Ví dụ với các kí tự tiếng Việt, tiếng Việt sử dụng 29 ký tự, vậy với n=1 thì số trường hợp là 29, n=2 thì số trường hợp là 29^2=841, n=3 thì có 29^3=24389 trường hợp

Trang 8

4 Công thức tính “xác suất thô”:

Gọi C(w ww) là tần số xuất hiện của cụm w ww trong tập văn bản huấn luyện

Gọi P(w|w w) là xác suất w đi sau cụm w ww

Ta có công thức tính xác suất như sau:

P(w|w w) = \f(,

Dễ thấy, C(w ww) chính là tần số xuất hiện của cụm w w trong văn bản huấn luyện Do đó công thức trên viết lại thành:

P(w|w w) = \f(,

Tỉ lệ ở vế phải còn gọi là tỉ lệ tần số Cách tính xác suất dựa vào tỉ lệ tần số

còn gọi là ước lượng xác suất cực đại Cũng có thể gọi đây là công thức tính “xác

suất thô” để phân biệt với các cách tính xác suất theo các thuật toán sẽ xét ở phần

sau

Trang 9

5 Khó khăn khi xây dựng mô hình ngôn ngữ N-gram

5.1.Phân bố không đều:

Khi sử dụng mô hình N-gram theo công thức “xác suất thô”, sự phân bố không đều trong tập văn bản huấn luyện có thể dẫn đến các ước lượng không chính xác Khi các N-gram phân bố thưa, nhiều cụm n-gram không xuất hiện hoặc chỉ có số lần xuất hiện nhỏ, việc ước lượng các câu có chứa các cụm n-gram này sẽ có kết quả tồi Với V là kích thước bộ từ vựng, ta sẽ có V cụm N-gram có thể sinh từ bộ

từ vựng Tuy nhiên, thực tế thì số cụm N-gram có nghĩa và thường gặp chỉ chiếm rất ít

Ví dụ: tiếng Việt có khoảng hơn 5000 âm tiết khác nhau, ta có tổng số cụm 3-gram có thể có là: 5.000 = 125.000.000.000 Tuy nhiên, số cụm 3-3-gram thống kê được chỉ xấp xỉ 1.500.000 Như vậy sẽ có rất nhiều cụm 3-gram không xuất hiện hoặc chỉ xuất hiện rất ít

Khi tính toán xác suất của một câu, có rất nhiều trường hợp sẽ gặp cụm Ngram chưa xuất hiện trong dữ liệu huấn luyện bao giờ Điều này làm xác suất của cả câu bằng 0, trong khi câu đó có thể là một câu hoàn toàn đúng về mặt ngữ pháp và ngữ nghĩa Đề khắc phục tình trạng này, người ta phải sử dụng một số phương pháp

“làm mịn” kết quả thống kê

5.2.Kích thước bộ nhớ của mô hình ngôn ngữ

Khi kích thước tập văn bản huấn luyện lớn, số lượng các cụm Ngram và kích thước của mô hình ngôn ngữ cũng rất lớn Nó không những gây khó khăn trong việc lưu trữ mà còn làm tốc độ xử lý của mô hình ngôn ngữ giảm xuống do bộ nhớ của máy tính là hạn chế Để xây dựng mô hình ngôn ngữ hiệu quả, chúng ta phải giảm kích thước của mô hình ngôn ngữ mà vẫn đảm bảo độ chính xác

Trang 10

6 Các phương pháp làm mịn.

Để khắc phục tình trạng các cụm N-gram phân bố thưa như đã đề cập, người

ta đã đưa ra các phương pháp “làm mịn” kết quả thống kê nhằm đánh giá chính xác hơn (mịn hơn) xác suất của các cụm N-gram Các phương pháp “làm mịn” đánh giá lại xác suất của các cụm N-gram bằng cách:

• Gán cho các cụm N-gram có xác suất 0 (không xuất hiện) một giá trị khác

0

• Thay đổi lại giá trị xác suất của các cụm N-gram có xác suất khác 0 (có xuất hiện khi thống kê) thành một giá trị phù hợp (tổng xác suất không đổi)

CÁC PHƯƠNG PHÁP LÀM MỊN NHƯ SAU:

+) Phương pháp truy hồi

+) Phương pháp nội suy

+) Phương pháp làm mịn Kneser – Ney

+) Phương pháp làm mịn Kneser - Ney cải tiến bởi Chen-GoodMan

+) Các thuật toán chiết khấu (discounting):

Nguyên lý của các thuật toán chiết khấu là giảm xác suất của các cụm Ngram có xác suất lớn hơn 0 đề bù cho các cụm Ngram chưa từng xuất hiện trong tập huấn luyện Các thuật toán này sẽ trực tiếp làm thay đổi tần số xuất hiện của tất cả các cụm Ngram Ở đây đề cập đến 3 thuật toán chiết khấu phổ biến:

Thuật toán Add-one.

Thuật toán làm mịn Add-one cộng thêm 1 vào tần số xuất hiện của tất cả các cụm N-gram rồi nhân với phân số chuẩn hóa (để bảo toàn tổng xác suất) Với unigram, khi cộng thêm 1 vào tần số của mỗi cụm unigram, thì tổng số cụm

unigram đã xuất hiện bằng:

M’ = M + V

với : M là tổng số cụm unigram đã xuất hiện

Trang 11

V là kích thước bộ từ vựng

Để bảo toàn tổng số cụm unigram vẫn bằng M, thì tần số mới của các cụm unigram được tính lại theo công thức:

C= (C+1) với: C là tần số của cụm unigram trước khi làm mịn

Như vậy, xác suất của các cụm unigram cũng được tính lại:

P* =M+V C+1

Với: M là tổng số cụm unigram đã xuất hiện

V là kích thước bộ từ vựng

C là tần số của cụm unigram trước khi làm mịn

Xét các cụm N-gram với N>1, thay M bằng C(w w) thì xác suất của cụm w wwđược tính theo công thức sau:

P(w|w w) =

Thuật toán Witten-Bell.

Thuật toán Good-Turing.

Thuật toán Good-Turing dựa trên việc tính toán Nc, với Nc là số cụm N-gram xuất hiện c lần Như vậy:

Nc là số cụm n-gram có tần số c

N0 là tổng số cụm n-gram

P(wn|w n−1)=c(w n|w n−1)+1

c(w n−1)+V

Trang 12

7 Kỹ thuật làm giảm kích thước dữ liệu:

Các kỹ thuật này làm giảm kích thước của mô hình ngôn ngữ Mặc dù đều có chung một mục tiêu, nhưng mỗi kỹ thuật lại có hiệu quả khác nhau Có ba kỹ thuật chính, bao gồm:

Pruning (loại bỏ): làm giảm số lượng các cụm Ngram trong mô hình

ngôn ngữ bằng cách loại bỏ các cụm Ngram không quan trọng

Quantization (lượng tử hóa): thay đổi cấu trúc thông tin của mỗi cụm

Ngram trong mô hình ngôn ngữ

Compression (nén): nén cấu trúc dữ liệu sử dụng trong việc lưu trữ các

cụm Ngram trong mô hình ngôn ngữ

8 Độ đo.

Để xây dựng được một hình ngôn ngữ hiệu quả, chúng ta phải có cách để đánh giá chúng Dưới đây là một số phương pháp phổ biến để đánh giá một mô hình ngôn ngữ:

Entropy - Độ đo thông tin

Perplexity - Độ hỗn loạn thông tin

Error rate - Tỉ lệ lỗi

Trang 13

III ỨNG DỤNG MÔ HÌNH N-GRAM.

Mô hình n-gram hiện nay được ứng dụng rộng rãi trong xác suất, các thuyết

về truyền đạt, học máy, nén dữ liệu Một số ứng dụng thực tế gần gũi:

Hệ thống dự đoán đầu vào có thể dự đoán được những gì bạn đang gõ và đưa

ra lựa chọn để hoàn thành nó

thoại

Ngày đăng: 29/08/2017, 11:02

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w