Tải bản đầy đủ (.pdf) (95 trang)

GIẢI PHÁP XÂY DỰNG KHO NGỮ LIỆU VÀ HỆ THỐNG DỊCH SONG NGỮ ANH - VIỆT CÁC LỖI LẬP TRÌNH HỖ TRỢ HỌC SINH THPT LUẬN VĂN THẠC SĨ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (6.2 MB, 95 trang )

d

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
------------

ĐẶNG XUÂN HÙNG

GIẢI PHÁP XÂY DỰNG KHO NGỮ LIỆU
VÀ HỆ THỐNG DỊCH SONG NGỮ ANH - VIỆT
CÁC LỖI LẬP TRÌNH HỖ TRỢ HỌC SINH THPT

LUẬN VĂN THẠC SĨ
---------------------Khoa Học Máy Tính

Đà Nẵng - Năm 2018


ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
------------

ĐẶNG XUÂN HÙNG

GIẢI PHÁP XÂY DỰNG KHO NGỮ LIỆU
VÀ HỆ THỐNG DỊCH SONG NGỮ ANH - VIỆT
CÁC LỖI LẬP TRÌNH HỖ TRỢ HỌC SINH THPT
Chuyên ngành: Khoa Học Máy Tính
Mã số: 60.48.01
LUẬN VĂN THẠC SĨ
Người hướng dẫn khoa học


PGS, TS. Huỳnh Công Pháp

Đà Nẵng - Năm 2018


LỜI CAM ĐOAN
Tôi xin cam đoan luận văn với tiêu đề “Giải pháp xây dựng kho ngữ liệu và hệ
thống dịch song ngữ Anh - Việt các lỗi lập trình hỗ trợ học sinh THPT” hoàn toàn
là kết quả nghiên cứu của chính bản thân tơi và chưa được cơng bố trong bất cứ một
cơng trình nghiên cứu nào của người khác. Trong q trình thực hiện luận văn, tơi đã
thực hiện nghiêm túc các quy tắc đạo đức nghiên cứu; các kết quả trình bày trong luận
văn là sản phẩm nghiên cứu, khảo sát của riêng cá nhân tôi; tất cả các tài liệu tham khảo
sử dụng trong luận văn đều được trích dẫn tường minh, đúng theo quy định. Tơi xin
hồn tồn chịu trách nhiệm về tính trung thực của số liệu và các nội dung khác trong
luận văn của mình.
Đà Nẵng, ngày 01 tháng 06 năm 2018
Tác giả luận văn

Đặng Xuân Hùng


LỜI CẢM ƠN
Tác giả xin chân thành cảm ơn thầy giáo – PGS. TS. Huỳnh Công Pháp đã định
hướng khoa học, hướng dẫn tận tình, chu đáo trong suốt quá trình thực hiện luận văn.
Xin được bày tỏ lịng biết ơn đến:
- Lãnh đạo sở GD-ĐT Quảng Ngãi, lãnh đạo trường THPT Huỳnh Thúc Kháng
cùng bạn bè đồng nghiệp đã tạo điều kiện thuận lợi cho tác giả được theo học chương
trình sau đại học và thực hiện luận văn này.
- Quý thầy cô giáo, lãnh đạo khoa Công nghệ thông tin – Trường ĐHBK Đà
Nẵng, Trường Cao đẵng Công nghệ thông tin Đà Nẵng, đã tạo điều kiện thuận lợi cho

tác giả trong suốt thời gian học tập và thực hiện đề tài tại trường!


TÓM TẮT LUẬN VĂN
GIẢI PHÁP XÂY DỰNG KHO NGỮ LIỆU VÀ HỆ THỐNG DỊCH SONG NGỮ
ANH - VIỆT CÁC LỖI LẬP TRÌNH HỖ TRỢ HỌC SINH THPT
Học viên: Đặng Xuân Hùng
Chun ngành: Khoa học Máy tính
Mã số: 60.48.01 Khóa: K33-QNG, Trường Đại học Bách khoa - ĐHĐN
Tóm tắt - Tin học là một mơn học mới và tương đối khó đối với học sinh THPT
trong đó mơn ngơn ngữ lập trình trong chương trình lớp 11 lại càng khó. Thực trạng
chung hiện nay là học sinh rất khó tiếp cận và tiếp thu kiến thức, kỹ năng lập trình. Một
trong những nguyên nhân chính làm cản trở rất lớn đối với học sinh hiện nay là xử lý
lỗi, do lỗi lập trình hiện đang ở dạng ngơn ngữ tiếng Anh.
Luận văn đã nghiên cứu tổng quan kiến thức về xử lý ngôn ngữ tự nhiên và xử lý
tiếng Việt; Dịch tự động và dịch tự động tiếng Việt. Đặc biệt, luận văn đã nghiên cứu
giải pháp, thực nghiệm và xây dựng kho ngữ liệu song ngữ Anh - Việt các lỗi lập trình;
Xây dựng được hệ thống dịch song ngữ Anh - Việt các lỗi lập trình sử dụng mơ hình
mạng Nơron dịch các lỗi lập trình của ngơn ngữ lập trình Pascal và C. Hệ thống có ý
nghĩa thực tiễn, góp phần phát triển CNTT của quốc gia nói chung và hỗ trợ giảng dạy,
học tập tin học tại các trường THPT nói riêng.
Từ khóa – Kho ngữ liệu song ngữ; Hệ thống dịch song ngữ; lỗi lập trình;
SOLUTIONS FOR BUILDING THE CORPUS AND THE ENGLISH VIETNAMESE BILINGUAL SYSTEM TO TRANSLATE PROGRAMING
ERRORS TO SUPPORT TO THE HIGH SCHOOL STUDENTS
Computing is a new and relatively difficult subject for high school students in
which programming language in the 11th grade program is even harder. The current
situation is that students are difficult to access and acquire knowledge, programming
skills. One of the main reasons for this is that it is an error-free, programming error is
currently in English language.
The dissertation has studied the knowledge of natural language processing and

processing Vietnamese; Automatic translation and automatic translation of Vietnamese.
In particular, the thesis has studied solutions, experiments and building bilingual
English-Vietnamese bilingual programming errors. Build a bilingual EnglishVietnamese translation system for programming errors using neural network model to
solve the programming errors of the Pascal and C programming languages. The system
has practical significance, contributing to the national IT development. in general and
support teaching, studying information technology in high schools in particular.
Keywords - Bilingual language bureau; Bilingual translation system;
programming error;


MỤC LỤC
MỞ ĐẦU .......................................................................................................................... 1
1. Lý do chọn đề tài ...................................................................................................... 1
2. Mục đích nghiên cứu ............................................................................................... 2
3. Đối tượng và phạm vi nghiên cứu .......................................................................... 2
3.1. Đối tượng nghiên cứu:........................................................................................ 2
3.2. Phạm vi nghiên cứu ............................................................................................ 2
4. Phương pháp nghiên cứu ........................................................................................ 2
4.1. Phương pháp lý thuyết ........................................................................................ 2
4.2. Phương pháp thực nghiệm.................................................................................. 2
5. Ý nghĩa của đề tài..................................................................................................... 2
5.1. Ý nghĩa khoa học: ............................................................................................... 2
5.2. Ý nghĩa thực tiễn:................................................................................................ 3
6. Cấu trúc luận văn .................................................................................................... 3
CHƯƠNG 1 - TỔNG QUAN....................................................................................... 4
1.1. Xử lý ngôn ngữ tự nhiên và xử lý tiếng Việt ......................................................... 4
1.1.2. Các bước xử lý ngôn ngữ tự nhiên ..................................................................... 4
1.1.3. Một số ứng dụng xử lý ngơn ngữ tự nhiên ......................................................... 5
1.1.4. Tình hình xử lý tiếng Việt ................................................................................... 7
1.1.5. Một số cơng trình và ứng dụng xử lý tiếng Việt tiêu biểu [3] ........................... 7

1.2. Dịch tự động và dịch tự động tiếng Việt................................................................ 8
1.2.1. Khái niệm dịch tự động ...................................................................................... 8
1.2.2. Các phương pháp dịch tự động phổ biến ........................................................... 9
1.2.3. Tình hình dịch tự động tiếng Việt ..................................................................... 10
1.2.4. Một số hệ thống dịch tự động và dịch tự động tiếng Việt phổ biến ................. 11
1.3. Kho ngữ liệu xử lý ngôn ngữ tự nhiên ................................................................. 12
1.3.1. Khái niệm kho ngữ liệu ..................................................................................... 12
1.3.2. Các loại kho ngữ liệu........................................................................................ 12
1.3.3. Một số kho ngữ liệu phổ biến ........................................................................... 12
1.3.4. Một số ứng dụng của kho ngữ liệu ................................................................... 14
1.4. Thực trạng học lập trình tại các Trường trung học phổ thơng ........................ 15

1.4.1. Tình hình đào tạo và ứng dụng cơng nghệ thông tin tại các Trường
THPT hiện nay ................................................................................................ 15


1.4.2. Thực trạng và những vấn đề bất cập trong việc giảng dạy và học lập
trình tại các trường THPT............................................................................. 15
1.4.3. Một số giải pháp nâng cao chất lượng đào tạo công nghệ thông tin tại các
trường THPT................................................................................................... 17
CHƯƠNG 2 - XÂY DỰNG KHO NGỮ LIỆU SONG NGỮ ANH - VIỆT CÁC
LỖI LẬP TRÌNH ................................................................................................. 20
2.1. Giới thiệu ................................................................................................................ 20
2.2. Tổng quan về lỗi lập trình..................................................................................... 20
2.2.1. Lỗi cú pháp ....................................................................................................... 20
2.2.2. Lỗi chính tả ....................................................................................................... 20
2.2.3. Lỗi thời gian (timing error) .............................................................................. 21
2.2.4. Lỗi chia cho 0 ................................................................................................... 21
2.2.5. Gán sai dữ liệu.................................................................................................. 21
2.2.6. Các lỗi biên:...................................................................................................... 21

2.2.7. Lỗi về quản lý bộ nhớ. ...................................................................................... 22
2.2.8. Lỗi thuật toán .................................................................................................... 22
2.2.9. Lỗi về lập luận .................................................................................................. 22
2.3. Tập dữ liệu lỗi của các ngơn ngữ lập trình phổ biến giảng dạy tại các trường
THPT. ...................................................................................................................... 22
2.3.1. Ngôn ngữ lập trình Pascal ............................................................................... 22
2.3.2. Ngơn ngữ lập trình C ........................................................................................ 24
2.4. Các giải pháp thu thập và xây dựng kho ngữ liệu [5]........................................ 25
2.4.1. Giải pháp thu thập và xây dựng kho ngữ liệu từ các tài nguyên đa ngữ ........ 25
2.4.2. Các phương pháp phân lớp dữ liệu để xây dựng kho ngữ liệu........................ 26
2.4.3. Giải pháp hợp nhất để xây dựng kho ngữ liệu lớn và đồng nhất .................... 34
2.5. Giải pháp xây dựng kho ngữ liệu các lỗi lập trình Anh - Việt [5]. ................... 37
2.5.1. Giải pháp thu thập lỗi lập trình tiếng Anh ....................................................... 37
2.5.2. Giải pháp dịch tập lỗi lập trình tiếng Anh sang tiếng Việt.............................. 38
2.5.3. Giải pháp xây dựng kho ngữ liệu lỗi lập trình Anh - Việt phục vụ xây dựng hệ
thống dịch tự động sử dụng mạng nơ ron ........................................................ 38
CHƯƠNG 3 - XÂY DỰNG HỆ THỐNG DỊCH SONG NGỮ ANH - VIỆT CÁC
LỖI LẬP TRÌNH ................................................................................................. 41
3.1. Dịch tự động sử dụng mạng nơ ron [3] ............................................................... 41
3.1.1. Tổng quan dịch máy sử dụng mạng nơ ron...................................................... 41


3.1.2. Các bước triển khai xây dựng hệ thống dịch máy sử dụng mạng nơ ron........ 41
3.1.3. Một số hệ thống dịch máy sử dụng mạng nơ ron ............................................. 42
3.2. Cài đặt chương trình xây dựng kho ngữ liệu song ngữ Anh - Việt các lỗi lập
trình theo hướng mạng nơ ron ............................................................................. 42
3.2.1. Tách từ mạng nơ ron các tập dữ liệu của kho ngữ liệu lỗi lập trình............... 42
3.2.2. Xây dựng vector biểu diễn từ............................................................................ 44
3.2.3. Cài đặt và kết quả thực nghiệm ........................................................................ 45
3.3. Cài đặt chương trình và mơi trường xây dựng hệ thống dịch song ngữ Anh Việt các lỗi lập trình sử dụng mạng nơ ron ........................................................ 46

3.3.1. Mơ hình dịch máy mạng nơ ron ....................................................................... 46
3.3.2. Cài đặt hệ thống dịch mạng nơ ron sử dụng mã nguồn mở OpenNMT .......... 46
3.3.3. Kết quả chương trình và đánh giá.................................................................... 47
KẾT LUẬN VÀ KIẾN NGHỊ ...................................................................................... 49
DANH MỤC TÀI LIỆU THAM KHẢO .................................................................... 50
QUYẾT ĐỊNH GIAO ĐỀ TÀI .................................................................................... 52
QUYẾT ĐỊNH ĐIỀU CHỈNH TÊN ĐỀ TÀI ............................................................. 53
PHỤ LỤC A – DANH MỤC LỖI CỦA NGƠN NGỮ LẬP TRÌNH PASCAL...... 54
PHỤ LỤC B – DANH MỤC LỖI CỦA NGƠN NGỮ LẬP TRÌNH C ................... 67


DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
TT Viết tắt

Viết đầy đủ

1

ANN

Artificial neural network

2

CBOW

Continuous Bag of Words

3


CCG

Combinatory Categorial Grammar

4

CFG

Context Free Grammar

5

CNTT

Công nghệ thông tin

6

DG

Dependency Grammar

7

GPU

Graphics processing unit

8


IDE

Integrated Development Environment

9

IR

Information Retrieval

10 MT

Machine translation

11 NMT

Neural Network Translation

12 QA

Question Answer

13 RNN

Recurrent Neural Networks

14 SVM

Support Vector Machine


15 THPT

Trung học phổ thông

16 XML

eXtensible Markup Language


DANH MỤC CÁC HÌNH ẢNH
Hình

Nội dung

Trang

Hình 2.1

Thơng báo lỗi trong ngơn ngữ lập trình Pascal

23

Hình 2.2

Thơng báo lỗi trong ngơn ngữ lập trình C

25

Hình 2.3


Bài tốn phân lớp dữ liệu

27

Hình 2.4

Mơ hình cây quyết định

29

Hình 2.5

Cấu trúc 1 nơ ron (Neural)

31

Hình 2.6

Mơ hình mạng nơ ron nhân tạo

31

Hình 2.7

Tiến trình học của mạng nơ ron

32

Hình 2.8


Hợp nhất các kho ngữ liệu song ngữ

34

Hình 2.9

Các cặp ngữ liệu tồn tại ở hai kho ngữ liệu

34

Hình 2.10

Cặp ngữ liệu khác nhau về ngữ nghĩa

35

Hình 2.11

Cặp ngữ liệu tồn tại ở một trong hai kho ngữ liệu

35

Hình 2.12

Lưu đồ thuật tốn hợp nhất các kho ngữ liệu song ngữ

36

Hình 2.13


Các bước thực hiện của giải pháp thu thập từ nguồn dữ liệu
thơ

37

Hình 2.14

Các bước thực hiện của giải pháp trích từ các từ điển điện tử

37

Hình 2.15

Sơ đồ dịch câu tiếng Anh sang tiếng Việt

38

Hình 2.16

Các giải pháp tổ chức CSDL

38

Hình 2.17

Nguyên tắc hoạt động của mạng RNN

39

Hình 2.18


Minh họa bộ mã hóa – giải mã

40

Hình 3.1

Nội dung tập tin từ điển khi sử dụng mơ hình dịch thống kê
và dịch sử dụng mạng nơ ron

43

Hình 3.2

Mơ hình CBOW và Skip-gram

44


1

MỞ ĐẦU
1. Lý do chọn đề tài
“Cách mạng công nghiệp 4.0” đang diễn ra tại nhiều nước phát triển. Nó mang
đến cho nhân loại cơ hội để thay đổi bộ mặt các nền kinh tế. Nhu cầu của xã hội ngày
càng lớn cùng với sự phát triển của khoa học kỹ thuật đã kéo theo sự phát triển như vũ
bão của tin học. Sự phát triển của tin học đã đem lại hiệu quả to lớn cho hầu hết các lĩnh
vực của xã hội, hơn thế nữa nó cịn đi sâu vào đời sống của con người. Nền tin học của
một quốc gia được xem là sự phát triển nếu nó đóng góp được phần đáng kể vào nền
kinh tế quốc dân và vào kho tàng tri thức chung của thế giới.

Do vậy, ngành giáo dục đào tạo phải đầu tư phát triển về mọi mặt. Đặc biệt là
nguồn nhân lực tri thức tức là phải đào tạo ra một thế hệ trẻ năng động, thông minh, độc
lập, sáng tạo, nắm vững tri thức khoa học công nghệ để làm chủ trong mọi hồn cảnh
cơng tác và hoạt động xã hội nhằm đáp ứng được nhu cầu trong thời kì cơng nghiệp hố,
hiện đại hố đất nước.
Để đáp ứng được các yêu cầu trên, môn Tin học đã được đưa vào giảng dạy ở các
trường phổ thơng với vai trị là mơn học chính khóa. Tin học là một mơn học mới và
tương đối khó đối với học sinh THPT trong đó mơn ngơn ngữ lập trình trong chương
trình lớp 11 lại càng khó. Ở hầu hết các trường THPT trên địa bàn tỉnh Quảng Ngãi đề
sử dụng ngôn ngữ lập trình Pascal để dạy ngơn ngữ lập trình. Để viết được một chương
trình hồn chỉnh thỏa mãn u cầu của bài tốn đặt ra trên máy tính thì học sinh phải có
tư duy lơgic về thuật tốn, khả năng sử dụng máy tính thành thạo, sử dụng các câu lệnh
và khai báo kiểu dữ liệu một cách hợp lý. Đặc biệt nó địi hỏi sự tn thủ nghiêm ngặt
về cú pháp. Hầu hết các ngơn ngữ lập trình đều sử dụng ngôn ngữ Tiếng Anh, mà đặc
điểm của học sinh khu vực miền trung là yếu về Tiếng Anh.
Do đó, việc học ngơn ngữ lập trình của học sinh phổ thơng hiện nay cịn gặp rất
nhiều khó khăn, đặc biệt là hiểu và sửa các lỗi lập trình, điều này làm ảnh hưởng không
nhỏ đến kết quả học tập, việc chọn lựa nghề nghiệp của các em.
Trong hơn 20 năm phát triển gần đây của lĩnh vực dịch máy, tuy đã có những
bước phát triển đáng kể trong đó có thể nói đến Google dịch, Vdist, … Tuy nhiên đến
nay kết quả của các hệ thống dịch máy vẫn còn là một khoảng cách xa so với các bảng
dịch do con người thực hiện [6] đặc biệt là các lĩnh vực chuyên ngành như y tế, kỹ thuật,
pháp luật, … đặc biệt là Tin học. Các hệ thống dịch không dịch đúng các khái niệm
chuyên môn nên bảng dịch trở nên khó hiểu, khơng có giá trị. Nên khơng giúp được
nhiều cho việc học lập trình của học sinh.
Là một giáo viên giảng dạy bộ môn Tin học tại trường THPT trong nhiều năm,
tôi nhận thấy rằng cần phải thực hiện nhiều biện pháp, đổi mới về phương pháp dạy học


2

và hơn cả là xây dựng công cụ trợ giúp học tập cho các em. Từ đó tơi xác định lựa chọn
đề tài “Giải pháp xây dựng kho ngữ liệu và hệ thống dịch song ngữ Anh - Việt các
lỗi lập trình hỗ trợ học sinh THPT”
2. Mục đích nghiên cứu
- Đề xuất giải pháp xây dựng kho ngữ liệu các lỗi lập trình
- Xây dựng hệ thống dịch các lỗi lập trình để hỗ trợ học sinh THPT
3. Đối tượng và phạm vi nghiên cứu
3.1. Đối tượng nghiên cứu:
- Các ngơn ngữ lập trình phổ biến như Pascal, C; đặc biệt là ngơn ngữ lập trình
Pascal (ngơn ngữ lập trình chủ yếu sử dụng dạy học cho học sinh khối lớp 11 THPT).
- Các phương pháp, giải thuật về dịch tự động, trích rút, phân lớp dữ liệu, …
3.2. Phạm vi nghiên cứu
- Hệ thống lỗi cú pháp trong ngơn ngữ lập trình
- Các chương trình do học sinh THPT lập trình
4. Phương pháp nghiên cứu
4.1. Phương pháp lý thuyết
 Nghiên cứu các tài liệu về cơ sở lý thuyết: dịch tự động, trích rút, phân lớp dữ
liệu.
 Nghiên cứu thuật toán SVM
 Phát triển các hệ thống dịch tự động
 Nghiên cứu các tài liệu liên quan tới lập trình.
4.2. Phương pháp thực nghiệm
 Xây dựng chương trình demo.
 Kiểm thử tính hiệu quả của chương trình.
 Khảo sát độ phù hợp của chương trình đối với học sinh THPT.
5. Ý nghĩa của đề tài
5.1. Ý nghĩa khoa học:
Đề tài sẽ mang ý nghĩa cung cấp về mặt lý thuyết để làm rõ về các phương pháp
và kỹ thuật dịch tự động, trích rút, phân lớp dữ liệu.



3
5.2. Ý nghĩa thực tiễn:
Đề tài góp thêm một phương pháp mới trong việc giảng dạy môn Tin học cho
học sinh lớp 11. Giúp các có được kỹ năng cơ bản để giải bài tốn trên máy tính bằng
ngơn ngữ lập trình Pascal. Tạo cho học sinh sự thích thú nhằm nâng cao tính tích cực,
độc lập, sáng tạo và kỹ năng chuyên nghiệp trong học lập trình.
6. Cấu trúc luận văn
Nội dung của luận văn được chia thành các phần như sau:
Mở đầu
Chương 1 - Tổng quan. Chương này trình bày một số vấn đề liên quan về: Xử lý
ngôn ngữ tự nhiên và xử lý tiếng Việt; Dịch tự động và dịch tự động tiếng Việt; Kho
ngữ liệu xử lý ngôn ngữ tự nhiên; Thực trạng học lập trình tại các trường trung học phổ
thơng.
Chương 2 - Xây dựng kho ngữ liệu song ngữ Anh - Việt các lỗi lập trình. Chương
này trình bày một số vấn đề liên quan về: Tập dữ liệu lỗi của một số ngơn ngữ lập trình
phổ biến; Các giải pháp thu thập và xây dựng kho ngữ liệu; Giải pháp xây dựng kho ngữ
liệu các lỗi lập trình Anh - Việt.
Chương 3 - Xây dựng hệ thống dịch song ngữ Anh - Việt các lỗi lập trình. Chương
này trình bày một số vấn đề liên quan về: Dịch tự động sử dụng mạng nơ ron; Cài đặt
chương trình xây dựng kho ngữ liệu song ngữ Anh - Việt các lỗi lập trình theo hướng
mạng nơ ron; Cài đặt chương trình và mơi trường xây dựng hệ thống dịch song ngữ Anh
- Việt các lỗi lập trình sử dụng mạng nơ ron.


4

CHƯƠNG 1 - TỔNG QUAN
1.1. Xử lý ngôn ngữ tự nhiên và xử lý tiếng Việt
1.1.1. Khái niệm xử lý ngôn ngữ tự nhiên

Ngôn ngữ tự nhiên là ngôn ngữ mà các loài động vật sáng tạo ra để giao tiếp với
đồng loại. Con người cũng là một loại động vật sử dụng ngôn ngữ để giao tiếp. Thế giới
ngôn ngữ của con người rất phong phú, theo thống kê của các nhà khoa học thì có tới
hàng ngàn ngơn ngữ tồn tại trên trái đất. Ngôn ngữ tự nhiên có 2 dạng là chữ viết và âm
thanh (tức tiếng nói). Ngơn ngữ của mỗi dân tộc, quốc gia lại khác nhau bao gồm khác
nhau cả về cách viết cũng như cách phát âm [5].
1.1.2. Các bước xử lý ngôn ngữ tự nhiên
1.1.2.1. Phân tích hình vị:
Là sự nhận biết, phân tích, và miêu tả cấu trúc của những hình vị trong một ngôn
ngữ cho trước và các đơn vị ngôn ngữ khác, như từ gốc, biên từ, phụ tố, từ loại, … Có
hai loại bài tốn điển hình trong phần này, bao gồm bài toán tách từ (word segmentation)
và gán nhãn từ loại (POS) [5].
1.1.2.2. Phân tích cú pháp:
Là quy trình phân tích một chuỗi các biểu tượng, ở dạng ngơn ngữ tự nhiên hoặc
ngơn ngữ máy tính, tn theo văn phạm hình thức. Văn phạm hình thức thường dùng
trong phân tích cú pháp của ngơn ngữ tự nhiên bao gồm Văn phạm phi ngữ cảnh
(Context-free grammar – CFG), Văn phạm danh mục kết nối (Combinatory categorial
grammar – CCG), và Văn phạm phụ thuộc (Dependency grammar – DG). Đầu vào của
q trình phân tích là một câu gồm một chuỗi từ và nhãn từ loại của chúng, và đầu ra là
một cây phân tích thể hiện cấu trúc cú pháp của câu đó. Các thuật tốn phân tích cú pháp
phổ biến bao gồm CKY, Earley, Chart, và GLR [5].
1.1.2.3. Phân tích ngữ nghĩa:
Là q trình liên hệ cấu trúc ngữ nghĩa, từ cấp độ cụm từ, mệnh đề, câu và đoạn
đến cấp độ toàn bài viết, với ý nghĩa độc lập của chúng. Nói cách khác, việc này nhằm
tìm ra ngữ nghĩa của đầu vào ngơn từ. Phân tích ngữ nghĩa bao gồm hai mức độ: Ngữ
nghĩa từ vựng biểu hiện các ý nghĩa của những từ thành phần, và phân biệt nghĩa của từ;
Ngữ nghĩa thành phần liên quan đến cách thức các từ liên kết để hình thành những nghĩa
rộng hơn [5].
1.1.2.4. Phân tích diễn ngơn:
Ngữ dụng học là môn nghiên cứu về mối quan hệ giữa ngôn ngữ và ngữ cảnh sử

dụng (context-of-use). Ngữ cảnh sử dụng bao gồm danh tính của người hoặc vật, và vì
thế ngữ dụng học bao gồm những nghiên cứu về cách ngôn ngữ được dùng để đề cập


5
(hoặc tái đề cập) tới người hoặc vật. Ngữ cảnh sử dụng bao gồm ngữ cảnh diễn ngơn, vì
vậy ngữ dụng học cũng bao gồm những nghiên cứu về cách thức cấu tạo nên diễn ngôn,
và cách người nghe hiểu người đang đối thoại với mình [5].
1.1.3. Một số ứng dụng xử lý ngôn ngữ tự nhiên
1.1.3.1. Truy xuất thông tin (Information Retrieval – IR)
Có nhiệm vụ tìm các tài liệu dưới dạng khơng có cấu trúc (thường là văn bản)
đáp ứng nhu cầu về thông tin từ những nguồn tổng hợp lớn. Những hệ thống truy xuất
thông tin phổ biến nhất bao gồm các cơng cụ tìm kiếm như Google, Yahoo, hoặc Bing
search. Những công cụ này cho phép tiếp nhận một câu truy vấn dưới dạng ngôn ngữ tự
nhiên làm đầu vào và cho ra một danh sách các tài liệu được sắp xếp theo mức độ phù
hợp [5].
1.1.3.2. Trích chọn thơng tin (Information Extraction)
Nhận diện một số loại thực thể được xác định trước, mối quan hệ giữa các thực
thể và các sự kiện trong văn bản ngôn ngữ tự nhiên. Khác với truy xuất thông tin trả về
một danh sách các văn bản hợp lệ thì trích chọn thơng tin trả về chính xác thơng tin mà
người dùng cần. Những thơng tin này có thể là về con người, địa điểm, tổ chức, ngày
tháng, hoặc thậm chí tên cơng ty, mẫu sản phẩm hay giá cả [5].
1.1.3.3. Trả lời câu hỏi (QA)
Có khả năng tự động trả lời câu hỏi của con người ở dạng ngôn ngữ tự nhiên bằng
cách truy xuất thông tin từ một tập hợp tài liệu. Một hệ thống QA đặc trưng thường bao
gồm ba mô đun: Mô đun xử lý truy vấn (Query Processing Module) – tiến hành phân
loại câu hỏi và mở rộng truy vấn; Mô đun xử lý tài liệu (Document Processing Module)
– tiến hành truy xuất thông tin để tìm ra tài liệu thích hợp; và Mơ hình xử lý câu trả lời
(Answer Processing Module) – trích chọn câu trả lời từ tài liệu đã được truy xuất [5].
1.1.3.4. Tóm tắt văn bản tự động

Là bài tốn thu gọn văn bản đầu vào để cho ra một bản tóm tắt ngắn gọn với
những nội dung quan trọng nhất của văn bản gốc. Có hai phương pháp chính trong tóm
tắt, là phương pháp trích xuất (extractive) và phương pháp tóm lược ý (abstractive).
Những bản tóm tắt trích xuất được hình thành bằng cách ghép một số câu được lấy y
nguyên từ văn bản cần thu gọn. Những bản tóm lược ý thường truyền đạt những thơng
tin chính của đầu vào và có thể sử dụng lại những cụm từ hay mệnh đề trong đó, nhưng
nhìn chung được thể hiện ở ngơn ngữ của người tóm tắt [5].
1.1.3.5. Dịch máy (Machine translation – MT)
Là việc sử dụng máy tính để tự động hóa một phần hoặc tồn bộ q trình dịch
từ ngôn ngữ này sang ngôn ngữ khác. Các phương pháp dịch máy phổ biến bao gồm


6
dịch máy dựa trên ví dụ (example-based machine translation – EBMT), dịch máy dựa
trên luật (rule-based machine translation – RBMT), và dịch máy thống kê (statistical
machine translation – SMT). Những nghiên cứu gần đây tập trung vào dịch máy thống
kê bởi nhiều ưu điểm của nó so với các phương pháp khác. Dịch dựa trên từ (word-based
translation), dịch dựa trên cú pháp (syntax-based translation), dịch dựa trên cụm từ
(phrase-based translation), và dịch dựa trên cụm từ phân cấp (hierarchical phrase-based
translation) là những mơ hình dịch máy thống kê thành cơng nhất [5]
1.1.3.6. Nhận dạng chữ viết:
Có hai kiểu nhận dạng, thứ nhất là nhận dạng chữ in, ví dụ nhận dạng chữ trên
sách giáo khoa rồi chuyển nó thành dạng văn bản điện tử như dưới định dạng doc của
Microsoft Word chẳng hạn. Phức tạp hơn là nhận dạng chữ viết tay, có khó khăn bởi vì
chữ viết tay khơng có khn dạng rõ ràng và thay đổi từ người này sang người khác.
Với chương trình nhận dạng chữ viết in có thể chuyển hàng ngàn đầu sách trong thư
viện thành văn bản điện tử trong thời gian ngắn. Nhận dạng chữ viết của con người có
ứng dụng trong khoa học hình sự và bảo mật thơng tin (nhận dạng chữ ký điện tử) [7].
1.1.3.7. Nhận dạng tiếng nói:
Nhận dạng tiếng nói rồi chuyển chúng thành văn bản tương ứng. Giúp thao tác

của con người trên các thiết bị nhanh hơn và đơn giản hơn, chẳng hạn thay vì gõ một tài
liệu nào đó bạn đọc nó lên và trình soạn thảo sẽ tự ghi nó ra. Đây cũng là bước đầu tiên
cần phải thực hiện trong ước mơ thực hiện giao tiếp giữa con người với robot. Nhận
dạng tiếng nói có khả năng trợ giúp người khiếm thị rất nhiều [7].
1.1.3.8. Tổng hợp tiếng nói:
Từ một văn bản tự động tổng hợp thành tiếng nói. Thay vì phải tự đọc một cuốn
sách hay nội dung một trang web, nó tự động đọc cho chúng ta. Giống như nhận dạng
tiếng nói, tổng hợp tiếng nói là sự trợ giúp tốt cho người khiếm thị, nhưng ngược lại nó
là bước cuối cùng trong giao tiếp giữa robot với người [7].
1.1.3.9. Khai phá dữ liệu (Data mining) và phát hiện tri thức:
Từ rất nhiều tài liệu khác nhau phát hiện ra tri thức mới. Thực tế để làm được
điều này rất khó, nó gần như là mơ phỏng q trình học tập, khám phá khoa học của con
người, đây là lĩnh vực đang trong giai đoạn đầu phát triển. Ở mức độ đơn giản khi kết
hợp với máy tìm kiếm nó cho phép đặt câu hỏi để từ đó cơng cụ tự tìm ra câu trả lời dựa
trên các thơng tin trên web mặc cho việc trước đó có câu trả lời lưu trên web hay không
(giống như trang Yahoo! hỏi và đáp, nơi chuyên đặt các câu hỏi để người khác trả lời),
nói một cách nơm na là nó đã biết xử lý dữ liệu để trả lời câu hỏi của người sử dụng,
thay vì máy móc đáp trả những gì chỉ có sẵn trong bộ nhớ [7]


7
1.1.4. Tình hình xử lý tiếng Việt
Xử lý ngơn ngữ cũng đóng một vai trị quan trọng trong việc đẩy mạnh sự phát
triển của CNTT Việt Nam đến với thế giới. Tuy nhiên, ơng ta ta xưa nay vẫn nói: Phong
ba bão táp không bằng ngữ pháp Việt Nam. Người Việt Nam đơi khi cịn gặp khó khăn
khi sử dụng tiếng Việt, ấy thế mà, giờ chúng ta cần phải dạy cho máy có thể dùng tiếng
Việt như con người. Điều này quả thật rất khó khăn [6].
Ở Việt Nam cũng đã có một số nhóm bắt đầu nghiên cứu về xử lý ngơn ngữ, bước
đầu đã có những kết quả nhất định, như: các nhóm nghiên cứu đến từ các trường đại
học, đại học Bách Khoa, đại học Công Nghệ, đại học Khoa Học Tự Nhiên, Viện Nghiên

Cứu Công Nghệ Thơng Tin, ... Nhóm Nghiên Cứu VLNP, Bên ngồi Việt Nam cũng có
các nghiên cứu đến từ các nghiên cứu sinh Việt Nam tại JAIST. Phần lớn các sản phẩm
hiện nay đang tập trung vào lĩnh vực dịch máy, một sản phẩm khó, và u cầu làm dài
hạn. Ngồi ra cịn có các bài tốn phân loại chia nhóm văn bản... Và đa phần chỉ dừng lại
ở đề tài tiến sĩ, thạc sĩ, mang tính chất tìm hiểu, chưa hệ thống và định hướng rõ ràng [6].
Bên cạnh những thành quả ban đầu, các cơng trình nghiên cứu xử lý ngôn ngữ ở
Việt Nam vẫn đang gặp rất nhiều những khó khăn.
- Ít các nghiên cứu nền tảng, những cơng cụ và tài ngun. Các bộ dữ liệu chưa
hồn chỉnh, khơng được public hay thương mại hóa. Dữ liệu thường hay bị spam, sai
chính tả, ngữ pháp khơng rõ ràng.
- Phần lớn là các nghiên cứu ngắn hạn, đơn lẻ như đề tài thạc sĩ, tiến sĩ, với nhiều
hạn chế về mơ hình, thời gian, điều kiện phát triển.
- Nhiều nhóm bắt đầu nghiên cứu khi cịn thiếu kiến thức, dẫn đến nhiều sản
phẩm vẫn chưa thể đưa ra được kết quả.
- Và điều quan trọng hơn hết là người Việt Nam mình mắc căn bệnh thiếu chia
sẻ, liên kết, hợp tác làm việc theo đúng quy trình, và khơng có tính kế thừa, khiến cho
người mới khi gặp vấn đề không biết phải xử lý sao, hỏi ai để có thể giải quyết [6].
1.1.5. Một số cơng trình và ứng dụng xử lý tiếng Việt tiêu biểu [6]
Spelling Correction
 vietnamese-accent-model - A simple deep learning model to add accent to
Vietnamese text (2016)
 vntk - Vietnamese language toolkit for Node (2016)
Word segmentation
 vnTokenizer - an automatic tokenizer for segmenting Vietnamese texts into
lexical units by Lê Hồng Phương (2008)


8
 DongDu - A Vietnamese word segmentation tool by Luu Tuan Anh (2014)
 UETsegmenter - a toolkit for Vietnamese word segmentation by Nguyen

Tuan Phong (2016)
 Vitk - A Vietnamese Text Processing Toolkit by Le Hong Phuong (2016)
 pyvi - Python Vietnamese Toolkit by Tran Viet Trung (2016)
Part-Of-Speech Tagging
 vnTagger - an automatic part-of-speech tagger for tagging Vietnamese texts
by Le Hong Phuong (2010)
 pyvi - Tran Viet Trung (2016)
 vitk - Le Hong Phuong (2016)
 VnCoreNLP - A Vietnamese natural language process toolkit by NQ Dat
(2018)
 vTools - Vietnamese NLP toolkit: Tokenizer, Sentence detector, POS tagger,
Phrase chunker by TM Vu et al. (2015)
Chunking
 VieyChunker - Vietnamese chunking tool by VLSP (2010)
 vTools - Phrase chunker by TM Vu (2015)
 NNVLP - A Neural Network-Based Vietnamese Language Processing Toolkit
by Pham Thai Hoang (2017)
Parsing
 Vitk - Le Hong Phuong (2016)
 VnDP - A Vietnamese dependency parsing toolkit by Nguyen Quoc Dat and
Nguyen Quoc Dai
1.2. Dịch tự động và dịch tự động tiếng Việt
1.2.1. Khái niệm dịch tự động
Dịch tự động hay còn gọi là dịch máy (tiếng Anh: machine translation) là một
nhánh của xử lý ngơn ngữ tự nhiên thuộc phân ngành trí tuệ nhân tạo, nó là sự kết hợp
giữa ngơn ngữ, dịch thuật và khoa học máy tính. Như tên gọi, dịch tự động thực hiện
dịch một ngôn ngữ này (gọi là ngôn ngữ nguồn) sang một hoặc nhiều ngôn ngữ khác
(gọi là ngơn ngữ đích) một cách tự động, khơng có sự can thiệp của con người trong q
trình dịch. Khó khăn của việc thiết kế chương trình dịch tự động là làm sao khử nhập
nhằng hiệu quả. Nói về tính nhập nhằng, đây là khái niệm chỉ tính khơng rõ ràng của



9
ngơn ngữ, chẳng hạn khi viết từ đường kính thì vẫn chưa rõ là nó chỉ một loại "chất ngọt
dùng để pha làm đồ uống" hay là "đoạn thẳng đi qua tâm và nối hai điểm của đường
tròn, của mặt cầu". Nhập nhằng như ví dụ vừa rồi là do hiện tượng đồng âm (hoặc đồng
tự) gây ra, một số kiểu nhập nhằng khác như nhập nhằng từ loại, nhập nhằng từ đa nghĩa.
Khi dịch tự động từ tiếng Việt sang tiếng Anh, khó khăn đầu tiên lại là việc xác định
ranh giới từ, không giống như tiếng Anh (và nhiều ngôn ngữ khác) mỗi từ đã mang trọn
vẹn một nghĩa và được xác định ranh giới qua khoảng trắng, tiếng Việt là ngơn ngữ đơn
lập do vậy có rất nhiều từ ghép, nếu không xác định đúng sẽ xuất hiện kiểu dịch từng từ
rồi ghép lại với nhau ví dụ như từ "miễn bàn" có thể bị dịch thành free table. Với tiếng
Anh do là ngơn ngữ biến hình nên việc xác định từ loại dễ hơn, ngoài ra nó cũng ít từ
đồng tự (hai từ có ký tự hồn tồn giống nhau nhưng mang nghĩa khác nhau), cịn về từ
đa nghĩa tiếng Anh cũng như tiếng Việt và hầu như tất cả các ngôn ngữ khác đều rất
phức tạp, muốn xác định nghĩa chính xác phải phải thực hiện phân tích văn cảnh [18]
Sau khi xác định nghĩa phù hợp của từ, công việc tiếp theo là sắp xếp để tạo thành
câu hồn chỉnh. Nếu hai ngơn ngữ có cấu trúc càng khác nhau bao nhiêu cơng việc này
càng phức tạp bấy nhiêu, với những ngôn ngữ gần nhau như tiếng Anh và tiếng Pháp
công việc tương đối đơn giản, nhưng giữa tiếng Pháp và tiếng Trung thì rất khó khăn.
Để sắp xếp người ta đưa vào các cấu trúc ngữ pháp hết sức phức tạp, áp dụng nhiều kiến
thức toán học nhưng thực tế cho thấy hiệu quả của chúng vẫn không được tốt [18]
Một cách tiếp cận khác trong lĩnh vực này là dựa vào tư liệu đã dịch sẵn của con
người, điển hình là Google Translate, nó nạp hàng triệu trang tư liệu sau đó thực hiện
các thao tác mà nó gọi là thống kê kiến thức để phân tích cho các lần dịch tự động sau
này, kiểu dịch rất gần với thao tác tìm kiếm - lĩnh vực đặc biệt mạnh của Google [18]
1.2.2. Các phương pháp dịch tự động phổ biến
1.2.2.1. Dịch máy dựa trên luật
Đó là việc áp dụng các tri thức ngơn ngữ của các cặp ngơn ngữ nguồn-đích do
các nhà ngơn ngữ học xây dựng để từ đó mở ra một hướng tiếp cận phổ biến trong một

thời gian dài: tiếp cận dựa trên luật (rule-based machine translation). Cách tiếp cận này
địi hỏi rất nhiều cơng sức để xây dựng nên cơ sở tri thức cần thiết cho một hệ thống
dịch máy. Hơn nữa sẽ có những lỗi do mâu thuẫn giữa các luật hoặc do tập luật không
bao quát sẽ dẫn đến hiệu quả khơng cao. Khó khăn lớn nhất trong việc áp dụng cách tiếp
cận này đối với những ngôn ngữ mới là những yêu cầu về phân tích từ pháp, cú pháp,
… cũng như những yêu cầu nghiên cứu về việc chuyển đổi từ vựng, cấu trúc giữa cặp
ngơn ngữ. Vì vậy, xây dựng một hệ dịch trên ngôn ngữ mới (với ngôn ngữ tiếng Việt
chẳng hạn) sẽ gặp rất nhiều khó khăn [18]


10
1.2.2.2. Dịch máy dựa trên thống kê
Dịch máy dựa trên thống kê là hướng tiếp cận hoàn toàn dựa trên dữ liệu nên nó
có tính độc lập ngơn ngữ. Xây dựng một hệ thống dịch dựa trên hướng tiếp cận này chỉ
cần tối thiểu một ngữ liệu song ngữ giữa cặp ngôn ngữ của hệ thống. Những tham số
thống kê thu được từ việc huấn luyện trên ngữ liệu song ngữ sẽ được sử dụng cho việc
dịch ở lần sau. Do vậy, khơng cần phải có một đội ngũ các chuyên gia ngôn ngữ học để
hỗ trợ, kiểm tra các tri thức ngôn ngữ. Với yêu cầu tối thiểu của một hệ thống dịch máy,
chi phí để xây dựng sẽ giảm được rất nhiều cũng như thời gian xây dựng một hệ thống
dịch máy cho một cặp ngôn ngữ mới cũng sẽ giảm đi đáng kể. Và điểm đặc biệt hơn cả
nếu ngữ liệu song ngữ được bổ sung càng nhiều sẽ càng nâng cao chất lượng cho hệ
dịch [12]
1.2.2.3. Dịch máy dựa trên ví dụ
Hiện tại, dịch máy thống kê đang ngày càng khẳng định sức mạnh của nó do ngày
càng có nhiều kho ngữ liệu lớn cho việc thống kê, nhưng nó khơng cho được kết quả
như ý muốn trong một số trường hợp như các câu chuyên ngành.
Các tiếp cận theo dịch máy dựa trên ví dụ rất đơn giản, khơng địi hỏi phải có sự
phân tích ngơn ngữ học, cú pháp, ngữ nghĩa vì mọi câu dịch đều dựa vào việc “so khớp”
mẫu. Việc “so khớp” mẫu dựa hoàn toàn vào kho ngữ liệu song ngữ để xác định mẫu
nào gần đúng nhất và xuất ra thành phần dịch tương ứng của mẫu đó. Vậy thì việc xây

dựng kho ngữ liệu song ngữ như thế nào để hệ dịch máy dựa trên ví dụ có thể dịch ra
kết quả khả quan hơn là điều đáng quan tâm [12].
Tuy nhiên, hiện nay chất lượng của các bản dịch tự động chưa thật tốt, các bản
dịch chỉ cho biết đại ý và nó hồn tồn có thể dịch sai một phần hoặc toàn bộ nội dung
cốt lõi của văn bản. Vì vậy, hầu hết các sản phẩm dịch tự động đều chỉ mang tính tham
khảo [12]
1.2.3. Tình hình dịch tự động tiếng Việt
Những năm thập niên 1960 vấn đề dịch tự động cho tiếng Việt đã bắt đầu được
nghiên cứu, hầu hết đều do các nguyên nhân chính trị và quân sự. Các tài liệu nước
ngoài cho thấy, được sự bảo trợ của Không lực Hoa Kỳ, Bernard E. Scott thành lập công
ty Logos vào năm 1969 với mục đích tiếp tục nghiên cứu việc tổ chức hệ thống dịch tự
động từ tiếng Anh ra tiếng Việt. Scott bắt đầu chuẩn bị cho việc tổ chức hệ thống dịch
tự động này vào mùa xuân năm 1965 tại Viện cơng nghệ máy tính tại New York, Mỹ.
Vào khoảng tháng 6 năm 1970 hệ thống dịch tự động có tên Logos I ra đời với từ điển
tự động hóa hỗ trợ chỉ có hơn 1.000 từ tiếng Việt, tác giả của hệ thống này là Byrne,
Charles E.; Scott, Bernard E.; Binh, Truong N [7]. Nhưng hệ thống này không tồn tại
được lâu, việc nghiên cứu của Scott chấm dứt vào năm 1973. Cũng trong khoảng thời


11
gian này, một dự án khác về xây dựng hệ thống dịch tự động từ tiếng Anh ra tiếng Việt
đã được tiến hành vào đầu thập niên 1970 tại Tập đồn viễn thơng Xyzyx, California.
Hệ thống này đầu tiên được xây dựng để dịch văn bản Anh - Pháp về vũ trụ học trên
máy IBM 360 theo nguyên tắc hoạt động tương tự như của hệ thống Logos. Tuy nhiên,
hệ dịch máy Anh-Việt được sử dụng rộng rãi tại Việt nam đầu tiên là EVTRAN - 1997.
Và sau đó EVTRAN 2.0, 1999 với hơn 200.000 từ và cụm từ. Từ năm 2006, bản
EVTRAN 3.0 (được gọi là Ev-Shuttle) biên dịch văn bản hai chiều Anh-Việt và ViệtAnh (với hơn 500.000 mục từ vựng) [7]
1.2.4. Một số hệ thống dịch tự động và dịch tự động tiếng Việt phổ biến
1.2.4.1. Đa ngơn ngữ
- Babel Fish: Một trong các tiện ích dịch tự động đầu tiên trên ứng dụng web,

được công cụ tìm kiếm Alta Vista phát triển và đưa lên mạng vào năm 1997, sau đó
Yahoo một cơng cụ tìm kiếm khác mua lại vào năm 2004. Hỗ trợ 38 cặp ngơn ngữ, trong
đó tiếng Anh, tiếng Pháp và tiếng Trung Quốc (cả giản thể và phồn thể) được hỗ trợ
nhiều nhất; tiếp đến là các tiếng Đức, Tây Ban Nha, Ý, Bồ Đào Nha, Nga, Triều Tiên,
Nhật, Hy Lạp và Hà Lan. Liên kết: babelfish.yahoo.com [8]
- Google Translate: Dịch vụ này tính đến thời điểm tháng 2 năm 2010 đã hỗ trợ
52 ngơn ngữ trong đó có tiếng Việt, hiện là dịch vụ trực tuyến duy nhất hỗ trợ khả năng
dịch tồn trang web cho tiếng Việt, khơng giống Yahoo, do sử dụng kiểu dịch trung gian
nên cặp ngôn ngữ có khả năng dịch qua lại với nhau lên tới con số 1326 (52*51/2), tuy
nhiên rất nhiều cặp chất lượng dịch thấp, vì thực tế đó là kiểu dịch tự động 2 lần qua
một ngơn ngữ trung gian nào đó (thường là tiếng Anh), với tính năng này có thể dịch
một câu tiếng Việt sang 51 ngơn ngữ cịn lại. Có tính năng tương tác với người dùng
nhằm tăng chất lượng dịch cho các lần sau, không hỗ trợ dịch chuyên ngành. Tốc độ
dịch của Google là rất tốt so với các dịch vụ trực tuyến tương tự khác dành cho người
Việt, khi sử dụng người dùng sẽ dễ dàng nhận thấy. Tốc độ, đơn giản dù sao vẫn là
những đặc điểm vốn có từ lâu của người khổng lồ Internet này. Liên kết:
translate.google.com.vn [8]
1.2.4.2. Tiếng Việt
- Lạc Việt (công ty từng phát triển và đưa ra bộ từ điển Lạc Việt): chỉ hỗ trợ dịch
từ Anh sang Việt có thêm phần dịch chuyên ngành (tin học, toán học, y học và kế toán)
và hỗ trợ dịch tốt hơn bởi người dùng [8].
- Vdict: Dịch vụ trực tuyến đầu tiên dịch tự động Anh-Việt, mua lại bản quyền
phần mềm EVTRAN của Softex (Phịng Cơng nghệ Phần Mềm - Viện Ứng dụng công
nghệ - Bộ Khoa học và Công nghệ Việt Nam) phát triển, sau đó từ bỏ phần mềm này
(trong một thời gian ngắn) để sử dụng công nghệ của Google Translate. Tuy nhiên, vì


12
trong nhiều trường hợp EVTRAN dịch tốt hơn Google Translate nên Vdict đã sử dụng
lại EVTRAN đồng thời với Google Translate: hiện nay khi dịch Anh<->Việt, vdict cho

ra cả hai kết quả. Không hỗ trợ dịch chuyên ngành cũng như trợ giúp từ phía người
dùng. Liên kết: vdict.com/autotranslation [8]
- Baamboo: Dịch dưới 500 từ được hỗ trợ bởi Google.
- Evtran: Phần mềm dịch tự động Anh-Việt, Việt-Anh đầu tiên do người Việt
làm ra.
1.3. Kho ngữ liệu xử lý ngôn ngữ tự nhiên
1.3.1. Khái niệm kho ngữ liệu
Kho ngữ liệu văn bản bao gồm một tập hợp lớn các văn bản, có thể được phân
tích và xử lý phục vụ nhiều cơng việc của ngơn ngữ học tính tốn. Thơng tin ngơn ngữ
trong đó là cơ sở tri thức ngơn ngữ học, được sử dụng trong việc phân tích thống kê và
kiểm tra các giả thiết ngôn ngữ, kiểm tra sự xuất hiện hoặc xác nhận các quy tắc ngữ
pháp trong mỗi ngôn ngữ [8]
1.3.2. Các loại kho ngữ liệu
- Ngữ liệu đơn ngữ: gồm những văn bản bằng một thứ tiếng
- Ngữ liệu đa ngữ: gồm những văn bản bằng nhiều thứ tiếng
1.3.3. Một số kho ngữ liệu phổ biến
Hiện nay trên thế giới có rất nhiều kho ngữ liệu được chia sẻ miễn phí cho cộng
đồng nghiên cứu. Dưới đây sẽ liệt kê một số kho ngữ liệu tiêu biểu [8]
1.3.3.1. Kho ngữ liệu Anh Mỹ (Brown Copus)
Kho ngữ liệu Brown cho tiếng Anh Mỹ (Brown Corpus) là kho ngữ liệu văn bản
đã được Henry Kucera và W. Nelson Francis biên soạn vào những năm 1960. Kho văn
bản này chứa 500 văn bản tiếng Anh, biên soạn từ các tác phẩm xuất bản tại Hoa Kỳ
năm 1961, tổng cộng 1.014.312 từ, được chú giải ở mức từ loại [8]
1.3.3.2. Kho ngữ liệu tiếng Anh (BNC - The British National Corpus)
Kho ngữ liệu này có khoảng 100 triệu từ của ngơn ngữ nói và viết được lấy từ
nhiều nguồn dữ liệu khác nhau, trong đó kho ngữ liệu viết chiếm 90 % đã được gán nhãn
từ loại được trích rút từ báo chí nội địa và Quốc gia, tạp chí dành cho mọi lứa tuổi, sách
giáo khoa…. Kho ngữ liệu này bắt đầu được xây dựng từ năm 1991 và hồn thành năm
1994, sau đó thì khơng có văn bản nào được thêm vào kho ngữ liệu trong dự án này này
nhưng kho ngữ liệu này đã được chỉnh sửa thành một phiên bản thứ hai là BNC Wold

(2001) Và phiên bản thứ ba BNC XML Edition (2007) [8]


13
1.3.3.3. Kho ngữ liệu quốc gia Mỹ (ANC - The American National Corpus)
Kho ngữ liệu này hiện có 22 triệu từ thuộc ngơn ngữ viết và nói, được chú giải ở
mức từ loại, cú pháp nông, và các chú giải tên thực thể… khung chú giải 3 ngôn ngữ
của kho ngữ liệu được cung cấp theo các tiêu chuẩn thiết lập bởi tiểu ban kỹ thuật
ISO/TC 37/SC4, sử dụng định dạng XML phù hợp với tiêu chuẩn mã hoá kho ngữ liệu
XML (XML Corpus Encoding Standard -XCES), hiện nay có khoảng 15 triệu từ đã
được định dạng GrAF (Graph Annotation Fortmat) [8]
Hiện tại dự án xây dựng ANC đang tiếp tục được mở rộng thêm, mục đích là tạo
ra một bộ sưu tập điện tử khổng lồ toàn diện nhất của tiếng Anh Mỹ, sẽ là nguồn tài
nguyên hữu ích phục vụ cho giáo dục, cho nghiên cứu ngôn ngữ và phát triển công nghệ.
Kho ngữ liệu bao gồm văn bản của tất cả các thể loại và bảng dịch của dữ liệu nói được
sản xuất từ năm 1990 trở đi [8]
1.3.3.4. Kho ngữ liệu Anh Mỹ hiện đại (COCA - The Copus of Contemporary
American English)
Kho ngữ liệu hiện đại COCA là kho ngữ liệu lớn nhất cho tiếng Anh Mỹ, có
khoảng hơn 425 triệu từ và dữ liệu được lấy đều từ các nguồn tiểu thuyết, nói, các tạp
chí nổi tiếng, báo chí, và các văn bản học thuật, được xây dựng từ năm 1990-2011, kho
ngữ liệu được cập nhật một đến hai lần trong một năm (các văn bản gần đây nhất là từ
tháng 3 năm 2012), mỗi năm lấy khoảng 20 triệu từ. Do cách cập nhật, thiết lập dữ liệu,
đây có lẽ là kho ngữ liệu tiếng Anh phù hợp để nhìn vào hiện tại, thay đổi đang diễn ra
trong ngôn ngữ [8]
1.3.3.5. Ngân hàng cây cú pháp PENN
Kho ngữ liệu này được xây dựng trong 8 năm (1989-1996), có khoảng 7 triệu từ
đã được gán nhãn từ loại, 3 triệu từ đã được phân tích cú pháp cơ bản, trên 2 triệu từ của
văn bản đã phân tích cú pháp cho cấu trúc đối vị từ, 1.6 triệu từ là dữ liệu tiếng nói
(phiên âm). Dữ liệu văn bản định dạng dưới dạng đặt ngoặc, mỗi câu trong kho ngữ liệu

sẽ được đặt ngoặc - mỗi thành phần cú pháp sẽ có một cặp dấu ngoặc bao quanh, ngay
sau dấu ngoặc đầu tiên là ký hiệu ngữ pháp và các thuộc tính (nếu có), tiếp theo là danh
sách các thành phần cú pháp con [8].
Kho văn bản này được lấy từ các nguồn sách máy tính của IBM, tạp chí tài chính
phố Wall, các cuộc đàm thoại. V.V.4
1.3.3.6. Ngân hàng cây cú pháp TIGER tiếng Đức
Kho ngữ liệu Tiger (Tiger Treebank, phiên bản 2.1) có khoảng 900,000 từ
(50,000 câu) Được lấy từ báo Frankfurter Rundschau của tiếng Đức. Kho ngữ liệu này
đã được gán nhãn từ loại và chú giải cú pháp cho các câu, việc chú giải được thực hiện


14
bán tự động. Ngoài các nhãn từ loại và nhãn cấu trúc cú pháp, kho ngữ liệu còn chứa
các các thơng tin về hình thái, từ ngun thể cho các nút từ vựng [9].
1.3.3.7. Ngân hàng cây cú pháp tiếng Trung (Chinese Treebank)
Kho ngữ liệu tiếng Trung (Chinese Treebank 7.0) được công bố qua Tổ chức dữ
liệu ngôn ngữ (LDCƯ Linguistic Data Consortium) Bao gồm khoảng 1 triệu từ đã được
chú giải cú pháp. Chinese Treebank được bắt đầu tại Đại học
Pennsylvania vào năm 1998, sau đó tiếp tục ở Đại học Colorado và là hiện đang
được phát triển tại Đại học Brandeis. Mục tiêu của dự án là cung cấp một kho ngữ liệu
lớn được chú giải từ loại và đặt ngoặc toàn bộ.[9]
Một số kho ngữ liệu song ngữ
- Kho ngữ liệu song ngữ song song do dự án EuroMatrix (tham khảo tại địa chỉ
Xây dựng gồm các cặp ngôn ngữ khác nhau được lấy nguồn từ
các kỷ yếu của Quốc hội Châu Âu từ năm 1996–2006. Kho ngữ liệu này gồm 9 cặp ngôn
ngữ khác nhau [9];
- Kho ngữ liệu song ngữ song song Anh - Pháp (Canadian Hansard) Của hiệp hội
dữ liệu ngôn ngữ học (LDC), kho ngữ liệu này gồm 2.8 triệu cặp câu. Dữ liệu văn bản
thuần chủ yếu được lấy từ trang web của Quốc hội Canada [9];
- Kho ngữ liệu WaCky (Web as Corpus kool ynitiative). Đây là kho ngữ liệu lớn,

trong đó có 3 kho ngữ liệu của tiếng Anh (ukWaC), tiếng Đức (deWaC) Và tiếng Ý
(itWaC). Các kho ngữ liệu này được phát triển từ năm 2005 cho đến năm 2007, mỗi kho
ngữ liệu có khoảng hơn 1 tỷ từ đã được chú giải từ loại và được thu thập từ Internet
thông qua các trang web.[9]
1.3.4. Một số ứng dụng của kho ngữ liệu
1.3.4.1. Ứng dụng trong ngôn ngữ học – thống kê
Ngôn ngữ học - thống kê là ứng dụng phương pháp xác suất - thống kê vào việc
thống kê, đo, đếm các đối tượng trong ngành ngôn ngữ học.
1.3.4.2. Ứng dụng trong ngôn ngữ học so sánh
Ngôn ngữ học so sánh là so sánh các điểm tương đồng, khác biệt giữa các ngôn
ngữ. Để so sánh chúng ta cần có các cứ liệu của các ngơn ngữ mà chúng ta cần so sánh
vì vậy việc thu thập, tổng hợp cứ liệu từ các nguồn khác nhau là rất cần thiết.
1.3.4.3. Ứng dụng trong giảng dạy ngoại ngữ
Kho ngữ liệu song ngữ đóng vai trị quan trọng trong việc làm nguồn ngữ liệu và
tài liệu sư phạm rất phong phú, làm giàu thêm kiến thức của họ và cũng là cơng cụ hữu
ích trong việc thiết kế giáo trình, sử dụng trong việc dạy và học ngoại ngữ.


15
1.3.4.4. Ứng dụng trong việc nghiên cứu dịch thuật
Kho ngữ liệu song song có thể giúp phiên dịch để tìm ra sự tương đương giữa
ngơn ngữ nguồn và đích. Chúng cung cấp thông tin về tần số của từ, sử dụng cụ thể từ
vựng và cú pháp. Giúp phiên dịch để phát triển các chiến lược dịch thuật có hệ thống
các từ hay cụm từ hay câu khơng có tương đương trực tiếp bằng ngơn ngữ đích.
1.4. Thực trạng học lập trình tại các Trường trung học phổ thơng

1.4.1. Tình hình đào tạo và ứng dụng cơng nghệ thơng tin tại các Trường
THPT hiện nay
Qua q trình giảng dạy tơi nhận thấy rằng đa số học sinh gặp khó khăn nhiều
khi học các tiết học về chương trình và viết chương trình bằng ngơn ngữ lập trình Pascal.

Nhiều em khơng hiểu ý nghĩa của các câu lệnh, quá trình giải một bài tốn và khơng tìm
ra được thuật tốn nên các em học theo kiểu máy móc, học thuộc khơng hiểu về quy
trình lập trình. Vẫn cịn những học sinh học tập một cách thụ động, chỉ chờ thầy, cô đọc
cho chép, hoặc trả bài một cách đối phó hay lười suy nghĩ… Một phần cũng do giáo
viên hay sử dụng các phương pháp dạy học cũ là đọc chép, lý thuyết nhiều mà ít thực
hành. Đa số các em rất khó giải quyết các bài tốn, đặc biệt là khơng biết áp dụng các
câu lệnh vào từng bài tốn cụ thể. Nhiều em kỷ năng phân tích bài tốn cịn rất yếu.
Là mơn học sử dụng ngơn ngữ lập trình Pascal (ngơn ngữ viết bằng Tiếng Anh)
nên các em có nhiều bỡ ngỡ vì đây là lần đầu tiên các em biết đến khái niệm lập trình
và hiểu nghĩa các từ khóa bằng Tiếng Anh. Mặt khác là mơn học vận dụng kiến thức về
Tốn học rất khó cho các em trong q trình lập trình.
Theo tơi, kiến thức không bao giờ là cô lập, không đứng độc lập mà nó có mối
liên hệ chặt chẽ với nhau. Nếu chúng ta không học hỏi, trau dồi kiến thức ở những mơn
học khác thì cũng giống như “con chuột chui vào sừng trâu; càng chui sâu càng hẹp” mà
thôi. Những hạn chế mà đề tài đưa ra cũng sẽ được khắc phục nếu như cả giáo viên và
học sinh đều không ngừng học hỏi, trau dồi kiến thức ở những mơn học khác có liên
quan thì sẽ thu lại kết quả khả quan.

1.4.2. Thực trạng và những vấn đề bất cập trong việc giảng dạy và học lập
trình tại các trường THPT
Để tìm ra những vấn đề tồn tại trong việc dạy, học và chương trình mơn Tin học
11, tơi đã tiến hành phương pháp điều tra phỏng vấn 10 giáo viên và 40 học sinh ở trường
THPT trên địa bàn tỉnh Quảng Ngãi gồm: trường THPT Chuyên Lê Khiết, trường THPT
Trần Quốc Tuấn, trường THPT Lê Trung Đình, trường THPT Huỳnh Thúc Kháng,
trường THPT Võ Nguyên Giáp, trường THPT Sơn Mỹ, THPT Ba Gia, THPT Phạm
Kiệt, trường THPT Sơn Hà, trường THPT Quang Trung. Kết quả thu được tôi xin tổng
hợp lại thành các nội dung:



×