1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ Án Chuyên Ngành 2 Xây Dựng “Language Model” Để Tự Động Sinh Văn Bản Tiếng Việt.pdf

25 3 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Xây Dựng “Language Model” Để Tự Động Sinh Văn Bản Tiếng Việt
Tác giả Nguyễn Nam Quốc
Người hướng dẫn THS. Lê Kim Trọng
Trường học Đại học công nghệ thông tin & truyền thông Việt Hàn
Chuyên ngành Khoa Khoa Học Máy Tính
Thể loại đồ án chuyên ngành
Năm xuất bản 2023
Thành phố Đà Nẵng
Định dạng
Số trang 25
Dung lượng 1,98 MB

Nội dung

Giới thiệu Xử lý ngôn ngữ tự nhiên là một nhánh của Trí tuệ nhân tạo, tậptrung vào việc nghiên cứu sự tương tác giữa máy tính và ngôn ngữ tựnhiên của con người, dưới dạng tiếng nói speec

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &

TRUYỀN THÔNG VIỆT HÀN

Khoa Khoa Học Máy Tính

ĐỒ ÁN CHUYÊN NGÀNH 2

XÂY DỰNG “LANGUAGE MODEL” ĐỂ

TỰ ĐỘNG SINH VĂN BẢN TIẾNG VIỆT

Sinh viên thực hiện : NGUYỄN NAM QUỐC

Giảng viên hướng dẫn : THS LÊ KIM TRỌNG

Đà Nẵng, tháng 05 năm 2023

Trang 2

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &

TRUYỀN THÔNG VIỆT HÀN

Khoa Khoa Học Máy Tính

ĐỒ ÁN CHUYÊN NGÀNH 2

XÂY DỰNG “LANGUAGE MODEL” ĐỂ

TỰ ĐỘNG SINH VĂN BẢN TIẾNG VIỆT

Sinh viên thực hiện : NGUYỄN NAM QUỐC Mã:21IT.T008

Trang 3

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

………

………

………

………

………

………

………

………

………

………

………

………

………

Đà Nẵng, ngày … tháng … năm 2023

Giảng viên hướng dẫn

THS LÊ KIM TRỌNG

Trang 4

LỜI CẢM ƠN

Lời đầu tiên, chúng em xin cảm ơn các thầy cô tại Khoa Khoahọc máy tính - Đại học công nghệ thông tin và truyền thông Việt -Hàn đã giảng dạy, truyền đạt cho chúng em những kiến thức nềntảng cơ bản, những kinh nghiệm thực tế, định hướng giúp đỡ chúng

em trong quá trình học tập nghiên cứu tìm hiểu đề tài

Xin cảm ơn THS LÊ KIM TRỌNG đã trực tiếp hướng dẫn, giảiđáp các vướng mắc và đưa ra những lời khuyên, định hướng pháttriển trong quá trình thực hiện triển khai đề tài

Trong quá trình thực hiện đề tài chúng em đã cố gắng hoànthành trong phạm vi kiến thức mình tích lũy và học tập được, tuynhiên để hiểu hết được các kiến thức đó chúng em cần phải nổ lựchơn nữa, dành nhiều thời gian nghiên cứu và cố gắng hơn Trong quátrình làm đề tài vì kiến thức và kinh nghiệm còn ít nên chắc chắnkhông tránh khỏi những lỗi thiếu sót Vì vậy chúng em rất mongnhận được sự góp ý chỉ bảo nhiều hơn từ phía các thầy, cô để chúng

em có thể phát triển hơn nữa đề tài của mình, làm chủ kiến thức Mộtlần nữa chúng em xin chân thành cảm ơn./

Nhóm thực hiện

Trang 5

MỤC LỤC

Trang

DANH MỤC CÁC TỪ VIẾT TẮT 7

DANH MỤC HÌNH VẼ 8

MỞ ĐẦU 9

1 Giới thiệu 9

2 Mục tiêu của đề tài 9

3 Nội dung và kế hoạch thực hiện 9

4 Bố cục báo cáo 9

CHƯƠNG 1 TỔNG QUAN 10

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

1.1 Khái niệm Xử lý ngôn ngữ tự nhiên (NLP) 10

1.2 Nhiệm vụ của NLP 10

2 LANGUAGE MODEL 12

2.1 Khái niệm 12

2.2 Cách thực hoạt động của LM 12

2.3 Một số loại LM phổ biến là 13

2.4 Ứng dụng 13

3 RECURRENT NEURAL NETWORK 13

CHƯƠNG 2 PHÂN TÍCH ỨNG DỤNG DỰ ĐOÁN TỪ TIẾP THEO TRONG TIẾNG VIỆT 15

1 CÁC BƯỚC XÂY DỰNG 15

2 Ý TƯỞNG XÂY DỰNG MÔ HÌNH 15

CHƯƠNG 3 XÂY DỰNG 17

1 GIẢI QUYẾT VẤN ĐỀ 17

1.1 Xử lý dữ liệu 17

1.2 Xây dựng mô hình 18

1.3 Train mô hình 19

2 XÂY DỰNG ỨNG DỤNG 20

2.1 Nội dung 20

3 MÔ PHỎNG KẾT QUẢ 20

CHƯƠNG 4 KẾT LUẬN 21

1 KẾT QUẢ ĐẠT ĐƯỢC 21

1.1 Module 21

2 HƯỚNG NGHIÊN CỨU 21

Trang 6

Mục tiêu phát triển trong các giai đoạn tới 21

TÀI LIỆU THAM KHẢO 21 PHỤ LỤC 22

Trang 7

DANH MỤC CÁC TỪ VIẾT TẮT

Trang 8

DANH MỤC HÌNH VẼ

No table of figures entries found.

Trang 9

MỞ ĐẦU

1 Giới thiệu

Xử lý ngôn ngữ tự nhiên là một nhánh của Trí tuệ nhân tạo, tậptrung vào việc nghiên cứu sự tương tác giữa máy tính và ngôn ngữ tựnhiên của con người, dưới dạng tiếng nói (speech) hoặc văn bản(text) Mục tiêu của lĩnh vực này là giúp máy tính hiểu và thực hiệnhiệu quả những nhiệm vụ liên quan đến ngôn ngữ của con ngườinhư: tương tác giữa người và máy, cải thiện hiệu quả giao tiếp giữacon người với con người, hoặc đơn giản là nâng cao hiệu quả xử lývăn bản và lời nói

Xử lý ngôn ngữ tự nhiên ra đời từ những năm 40 của thế kỷ 20,trải qua các giai đoạn phát triển với nhiều phương pháp và mô hình

xử lý khác nhau Có thể kể tới các phương pháp sử dụng ô-tô-mát và

mô hình xác suất (những năm 50), các phương pháp dựa trên kýhiệu, các phương pháp ngẫu nhiên (những năm 70), các phươngpháp sử dụng học máy truyền thống (những năm đầu thế kỷ 21), vàđặc biệt là sự bùng nổ của học sâu trong thập kỷ vừa qua

Xử lý ngôn ngữ tự nhiên có thể được chia ra thành hai nhánh lớn,không hoàn toàn độc lập, bao gồm xử lý tiếng nói (speechprocessing) và xử lý văn bản (text processing) Xử lý tiếng nói tậptrung nghiên cứu, phát triển các thuật toán, chương trình máy tính

xử lý ngôn ngữ của con người ở dạng tiếng nói (dữ liệu âm thanh).Các ứng dụng quan trọng của xử lý tiếng nói bao gồm nhận dạngtiếng nói và tổng hợp tiếng nói Nếu như nhận dạng tiếng nói làchuyển ngôn ngữ từ dạng tiếng nói sang dạng văn bản thì ngược lại,tổng hợp tiếng nói chuyển ngôn ngữ từ dạng văn bản thành tiếngnói Xử lý văn bản tập trung vào phân tích dữ liệu văn bản Các ứngdụng quan trọng của xử lý văn bản bao gồm tìm kiếm và truy xuấtthông tin, dịch máy, tóm tắt văn bản tự động, hay kiểm lỗi chính tả

tự động Xử lý văn bản đôi khi được chia tiếp thành hai nhánh nhỏhơn bao gồm hiểu văn bản và sinh văn bản Nếu như hiểu liên quan

Trang 10

tới các bài toán phân tích văn bản thì sinh liên quan tới nhiệm vụ tạo

ra văn bản mới như trong các ứng dụng về dịch máy hoặc tóm tắt vă

Có nhiều lý do khiến xử lý ngôn ngữ tự nhiên là một nhiệm vụ khónhư tập từ vựng rộng lớp và được cập nhật thường xuyên, cấu trúcngữ pháp linh hoạt và đôi khi khá lỏng lẻo, ngôn ngữ đôi khi thể hiệncảm xúc, ẩn ý của người viết Tuy nhiên có hai lý do cơ bản nhất làtính nhập nhằng của ngôn ngữ (ambiguity) và sự cần thiết của trithức nền (background knowledge) Tính nhập nhằng ta sẽ trao đổi ởphần sau, trước hết nói về tri thức nền

Một đứa trẻ, từ khi sinh ra cho tới khi tập nói, tập đọc trải qua mộtgiai đoạn dài phát triển Trong giai đoạn này đứa trẻ không ngừngtiếp xúc với thế giới bên ngoài, có các trải nghiệm và tiếp thu kiếnthức từ thế giới xung quanh Những tri thức cơ bản dần dần đượchình thành như lửa thì nóng, nước đá thì lạnh, đi đường đèn đỏ thìdừng, đèn xanh thì đi, nhưng không có đèn tím Những tri thức nàygiúp ích rất nhiều cho con người trong việc hiểu ngôn ngữ Việc đưacác tri thức nền này vào máy tính là thách thức lớn, đến nay vẫnchưa có giải pháp tốt

Tiếp đến, về tính nhập nhằng của ngôn ngữ, nhập nhằng là hiệntượng xảy ra khi ngôn ngữ có thể được hiểu theo nhiều cách khácnhau, tùy thuộc vào ngữ cảnh mà nó xuất hiện Trong xử lý ngôn ngữ

tự nhiên, nhập nhằng có thể xuất hiện ở nhiều cấp độ, từ vựng, ngữpháp, ngữ nghĩa, dẫn tới khó khăn trong việc xử lý trên máy tínhnbản tự động

2 Mục tiêu của đề tài

Xây dựng một mô hình dự đoán các từ tiếp theo trong TiếngViệt Ứng dụng các kĩ thuật đã được học trong môn “Xử lý ngôn ngữ

tự nhiên” vào đề tài

3 Nội dung và kế hoạch thực hiện

Thực hiện theo kế hoạch đề cương của báo cáo đã duyệt

Trang 11

4 Bố cục báo cáo

Sau phần Mở đầu, báo cáo được trình bày trong 04 chương, cụthể như sau:

Chương 1 Tổng quan

Chương 2 Phân tích ứng dụng dụng dự đoán từ

Chương 3 Xây dựng mô hình, huấn luyện

Chương 4 Đánh giá và kết luận

Và cuối cùng là Tài liệu tham khảo và Phụ lục liên quan đến đềtài

Trang 12

CHƯƠNG 1 TỔNG QUAN

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

1.1 Khái niệm Xử lý ngôn ngữ tự nhiên (NLP)

Xử lý ngôn ngữ tự nhiên là một nhánh của trí tuệ nhân tạo tập

trung vào các ứng dụng trên ngôn ngữ của con người Trong trí tuệ

nhân tạo thì xử lý ngôn ngữ tự nhiên là một trong những phần khó

nhất vì nó liên quan đến việc phải hiểu ý nghĩa ngôn ngữ -công cụ

hoàn hảo nhất của tư duy và giao tiếp

NLP kết hợp ngôn ngữ học tính toán mô hình ngôn ngữ con người

dựa trên quy tắc với các mô hình thống kê, học máy và học sâu

Cùng với đó, những công nghệ này cho phép máy tính xử lý ngôn

ngữ của con người dưới dạng dữ liệu văn bản hoặc giọng nói và 'hiểu'

ý nghĩa đầy đủ của nó, hoàn chỉnh với ý định và tình cảm của người

nói hoặc người viết

sẽ hữu ích

Mô hình ngôn ngữ: là nhiệm vụ dự đoán từ tiếp theo trong câu sẽ là gì dựa trênlịch sử của các từ trước đó Mục tiêu của nó là tìm hiểu xác suất của một chuỗi các từxuất hiện trong một ngôn ngữ nhất định Mô hình hóa ngôn ngữ rất hữu ích để xâydựng các giải pháp cho nhiều vấn đề, chẳng hạn như nhận dạng giọng nói, nhận dạng

ký tự quang học, nhận dạng chữ viết tay, dịch máy và sửa lỗi chính tả

Phân loại văn bản: là nhiệm vụ gộp văn bản vào một tập hợp các danh mục đãbiết dựa trên nội dung của nó Phân loại văn bản cho đến nay là nhiệm vụ phổ biếnnhất trong NLP và được sử dụng trong nhiều công cụ khác nhau, từ nhận dạng thư ráccho đến phân tích tình cảm

Trang 13

Trích xuất thông tin: là nhiệm vụ trích xuất thông tin có liên quan từ văn bản,chẳng hạn như các sự kiện lịch từ email hoặc tên của những người được đề cập trongmột bài đăng trên mạng xã hội.

Truy xuất thông tin: là nhiệm vụ tìm kiếm các tài liệu có liên quan đến truy vấncủa người dùng từ một bộ sưu tập lớn Các ứng dụng như Google Search là các trườnghợp sử dụng thông tin được biết đến nhiều

Trợ lý đối thoại: là nhiệm vụ xây dựng hệ thống đối thoại có thể trò chuyện bằngngôn ngữ của con người Alexa, Siri, v.v., là một số ứng dụng phổ biến của tác vụ này.Tóm tắt văn bản: nhiệm vụ này nhằm tạo ra các bản tóm tắt ngắn của các tài liệudài hơn trong khi vẫn giữ được nội dung cốt lõi và giữ được ý nghĩa tổng thể của vănbản

Q&A: là nhiệm vụ xây dựng một hệ thống có thể tự động trả lời các câu hỏi đặt

Phân cấp độ khó của các nhiệm vụ:

Trang 14

2 LANGUAGE MODEL

2.1 Khái niệm

Language model(LM) là một mô hình đại diện cho những kiến thức đã biết vềmột ngôn ngữ, những kiến thức ấy có thể là những từ, chuỗi các từ có thể có hay mức

độ thường xuyên mà chúng xuất hiện

Là một phân phối xác suất trên các chuỗi từ Nó cho phép chúng ta ước tính xácsuất của một dãy gồm m phần tử trong một ngôn ngữ, ký hiệu là P (w1,…,wm), trong đómỗi wi thường là một từ trong ngôn ngữ Có nghĩa là từ một LM chúng ta có thể dựđoán khả năng xuất hiện một chuỗi các từ

Language model là trung tâm của nhiều nhiệm vụ xử lý ngôn ngữ tự nhiên quantrọng Gần đây, các mô hình ngôn ngữ dựa trên mạng lưới thần kinh đã chứng tỏ hiệusuất tốt hơn so với các phương pháp cổ điển, cả độc lập và là một phần của các nhiệm

vụ xử lý ngôn ngữ tự nhiên khó khăn hơn

LM được chia thành ba nhóm:

Statistical Language Model (Count-based)

Neural Network Language Model (Continuous-space)

Knowledge-based Language Model

Trang 15

Ngoài ra còn một số LM khác chẳng hạn như KenLM,

2.2 Cách thực hoạt động của LM

Các mô hình ngôn ngữ xác định xác suất “từ” bằng cách phân tích dữ liệu vănbản Để giải quyết vấn đề này ta cần cung cấp dự liệu cho nó thông qua một thuật toánthiết lập các quy tắc cho ngữ cảnh trong ngôn ngữ tự nhiên Sau đó, mô hình áp dụngcác quy tắc này trong các nhiệm vụ ngôn ngữ để dự đoán chính xác hoặc tạo ra các câumới Về cơ bản, mô hình học các tính năng và đặc điểm của ngôn ngữ cơ bản và sửdụng các tính năng đó để hiểu các cụm từ mới

Có một số cách tiếp cận xác suất khác nhau đối với Language model, những cáchtiếp cận này khác nhau tùy thuộc vào mục đích của mô hình ngôn ngữ Từ góc độ kỹthuật, các loại khác nhau tùy theo lượng dữ liệu văn bản mà chúng phân tích và phéptoán mà chúng sử dụng để phân tích nó Ví dụ: mô hình ngôn ngữ được thiết kế để tạocâu cho bot Twitter tự động có thể sử dụng phép toán khác và phân tích dữ liệu vănbản theo cách khác với mô hình ngôn ngữ được thiết kế để xác định khả năng xảy ratruy vấn tìm kiếm

3 RECURRENT NEURAL NETWORK

Đôi khi, dữ liệu của chúng ta mang ý nghĩa trình tự, tức nếu thay đổi trình tự dữliệu, kết quả sẽ khác Dễ thấy rõ nhất ở dữ liệu văn bản

Trang 16

Ví dụ, “Con ăn cơm chưa” và “Con chưa ăn cơm”, nếu tách mỗi câu theo từ, tađược bộ vocab [ ‘con’, ‘ăn’, ‘cơm’, ‘chưa’], one hot encoding và cho tất cả vào neuralnetwork , có thể thấy ngay, không có sự phân biệt nào giữa 2 câu trên Việc đảo thứ tựduyệt các từ làm sai lệch ý nghĩ của câu Nói cách khác, chúng ta cần một neuralnetwork có thể xử lí tuần tự Mạng này chứa các vòng lặp bên trong cho phép thông tin

có thể lưu lại được

Để xử lý tuần tự đầu tiên cần đưa đầu vào vào một cách tuần từ các từ Từ đầutiên được đưa vào, vector ht −1 sẽ lưu và cho ra xác suất cao nhất của một từ có trong bộ

từ điển Tiếp theo ht −1 sẽ được đưa vào ht cùng với từ tiếp theo và mô hình cũng sẽcho ra xác suất cao nhất của một từ có trong bộ từ điển Hay nói một cách dể hiểu, mộtmạng RNN có thể được coi là nhiều bản sao chép của cùng một mạng, trong đó mỗiđầu ra của mạng này là đầu vào của một mạng sao chép khác

Dưới đây là mô hình thuần của mạng RNN:

Trang 18

CHƯƠNG 2 PHÂN TÍCH ỨNG DỤNG DỰ ĐOÁN

TỪ TIẾP THEO TRONG TIẾNG VIỆT

2 Ý TƯỞNG XÂY DỰNG MÔ HÌNH

Một mô hình ngôn ngữ thống kê được học từ văn bản thô và dự đoán xác suấtcủa từ tiếp theo cho các từ đã có trong chuỗi Để làm được điều đó trước tiên chúng tacần xử lý các vấn đề liên quan đến dữ liệu Với những văn bản thô chúng ta thườnggặp những vấn đề như:

Chữ hoa và thường lẫn lộn: Đối với chúng ta vấn đề này không quá quantrọng nhưng đối với máy tính, nó phân biệt chữ hoa và chữ thường Và điềunày làm tăng độ phức tạp khi xử lý mặc dù nó không ảnh hưởng nhiều đến ýnghĩa

Ký tự đặc biệt: những ký tự này thường gây khó khăn trong việc tách từ vàtách câu

Các từ sai chính tả

Một số ký tự viết tắt

Các từ và cụm từ trong tiếng việt

Với mục đích dự đoán từ tiếp theo, việc xây dựng mô hình liên quan đến việccung cấp các chuỗi từ đầu vào được xử lý lần lượt trong đó dự đoán có thể được thựchiện và học cho mỗi chuỗi đầu vào Tương tự như vậy, khi đưa ra dự đoán, quy trình

có thể nhận một hoặc một vài từ, sau đó các từ dự đoán có thể được thu thập và xử lýlàm đầu vào cho các dự đoán tiếp theo để xây dựng chuỗi đầu ra được tạo Do đó, vớimỗi cách xử lý văn bản nguồn thành các chuỗi đầu vào và đầu ra chúng ta có nhữnghiệu quả tương ứng để mô hình có thể học cách dự đoán từ

Những cách mà chúng ta có thể áp dụng như:

One-word-in and one-word-out

Three-word-in and one-word-out

Line-by-line,…

Trang 19

Tiếp theo là xây dựng mô hình Đây là phần quan trọng nhất của ứng dụng vì nóquyết định hiệu suất cũng như độ chính xác của các từ dự đoán

Hiện nay, việc sử dụng Neural Network trong việc phát triển các mô hình ngônngữ đã trở nên rất phổ biến Các phương pháp tiếp cận mạng nơ-ron đang đạt được kếtquả tốt hơn so với các phương pháp cổ điển cả trên các mô hình ngôn ngữ độc lập Cụthể như phương pháp word embedding (nhúng từ) được sử dụng, sử dụng vectơ có giátrị thực để biểu diễn từng từ trong không gian vectơ được chiếu Cách biểu diễn các từ

đã học này dựa trên cách sử dụng của chúng cho phép các từ có nghĩa tương tự có cáchbiểu diễn tương tự Neural Language Model giải quyết vấn đề thưa thớt dữ liệu n-gramthông qua tham số hóa các từ dưới dạng vectơ (nhúng từ) và sử dụng chúng làm đầuvào cho mạng nơ-ron Phương pháp tiếp cận bằng Neuron Network cho ngôn ngữ môhình hóa có thể được mô tả bằng cách sử dụng ba thuộc tính mô hình sau:

Liên kết mỗi từ trong từ vựng với một vectơ đặc điểm của từ

Biểu thị hàm xác suất chung của các dãy từ dưới dạng các vectơ đặc trưngcủa các từ này trong dãy

Học đồng thời vectơ đặc trưng từ và các tham số của hàm xác suất.Điều này đại diện cho một mô hình tương đối đơn giản, trong đó cả mô hình biểudiễn và mô hình xác suất đều được học cùng nhau trực tiếp từ dữ liệu văn bản thô

Trang 20

CHƯƠNG 3 XÂY DỰNG

1 GIẢI QUYẾT VẤN ĐỀ

1.1 Xử lý dữ liệu

a Tìm kiếm và thu thập dữ liệu

Để có thể dự đoán từ ra gần với ngữ cảnh và không thay đổi nhiều về ý nghĩacâu, chúng ta chọn tập dữ liệu phân chia các văn bản thành các lĩnh vực khác nhau

Ở đây chúng em chọn tập dữ liệu: (link) gồm 40000 bài báo được chia thành 8 lĩnhvực: Chính trị Xã hội, Đời sống, kinh doanh, pháp luật, sức khỏe, thế giới, thể thao,văn hóa

b Tiền xử lý dữ liệu

Trước tiên loại bỏ tất cả vấn đề của một văn bản thô:

- Ghép các từ tiếng Việt lại trước khi tách ra để đảm bảo vẫn giữ được ngữnghĩa

- Đưa tất cả về dạng chữ thường bằng hàm lower()

- Sử dụng biểu thức chính quy để loại bỏ tất cả các ký tự đặc biệt ('!"#$

%&()*+,-./:;<=>?@[\]^`{|}~)ra khỏi văn bản

Kết quả thu được sau các bước tiền xử lý:

c Mô hình Recurrent Neural Network

Với mục đích đưa vào một đoạn văn bản (một số lượng từ, câu) và để dựđoán ra từ tiếp theo, mô hình RNN chúng ta xây dựng lần này sẽ lấy đầu vào là

50 từ (số lượng từ là tùy vào các bạn) và đầu ra sẽ là 1 từ Như vậy dữ liệuchúng ta đưa vào training sẽ là nhiều đoạn 51 từ, lấy 50 từ làm dữ liệu training(data) và 1 từ cuối cùng của câu đó làm kết quả (labels)

Ngày đăng: 20/12/2024, 15:04

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

TÀI LIỆU LIÊN QUAN

w