Tải bản đầy đủ (.doc) (18 trang)

báo cáo thực tập doanh nghiệp xây dụng ứng dụng sửa lỗi chính tả cho tiếng việt

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 (161.97 KB, 18 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

THỰC TẬP DOANH NGHIỆP

XÂY DỰNG ỨNG DỤNG SỬA LỖI CHÍNH TẢ CHO
TIẾNG VIỆT

Công ty thực tập:

Công ty Cổ phần VCCORP

Người phụ trách:

TS. Huỳnh Ngọc Tín

Thực tập sinh:

Dương Xuân Hiệp - 16520376

TP. Hồ Chí Minh, ngày 14 tháng 1 năm 2021


Dương Xuân Hiệp

TS. Huỳnh Ngọc Tín

NHẬN XÉT
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................


........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
........................................................................................................................................................
.....................
........................................................................................................................................................
.
........................................................................................................................................................
.
........................................................................................................................................................
.
........................................................................................................................................................
.

2



Dương Xuân Hiệp

TS. Huỳnh Ngọc Tín

........................................................................................................................................................
.

3


Dương Xuân Hiệp

TS. Huỳnh Ngọc Tín

MỤC LỤC

CHƯƠNG 1: GIỚI THIỆU CƠNG TY THỰC TẬP...........................................7
I.Giới thiệu chung về cơng ty..............................................................................................................7
II.Sản phẩm của cơng ty......................................................................................................................8

CHƯƠNG 2: NỘI DUNG THỰC TẬP................................................................9
I. Tìm hiểu công ty và các kỹ năng cơ bản trong công ty.................................................................................... 9
1. Nghiên cứu kỹ thuật..................................................................................................................................... 9
2Lịch làm việc................................................................................................................................................. 13

CHƯƠNG 3: CHI TIẾT PROJECT....................................................................14
I.Giới thiệu về bài toán................................................................................................................................... 14
II.Thực hiện.................................................................................................................................................... 15
III.Kế hoạch.................................................................................................................................................... 15

IV.Kết quả thu được....................................................................................................................................... 16

DANH MỤC TÀI LIỆU THAM KHẢO.............................................................17
Tổng Kết........................................................................................................................................................ 18

4


Dương Xn Hiệp

TS. Huỳnh Ngọc Tín

LỜI NĨI ĐẦU

Ngày nay, lĩnh vực AI đang nổi lên với một nhu cầu cấp bách và đầy thiết
yếu. Các ứng dụng của AI đã gây nên một phần tác động lớn đối với trải nghiệm
của người dùng và tính chất thương mại hóa của một công ty.
Cùng với xu thế phát triển của thế giới, Việt Nam đã có bước phát triển
mạnh mẽ, trở thành nền kinh tế hội nhập, năng động, hấp dẫn đầu tư trong khu vực.
Trong bối cảnh phát triển và hội nhập quốc tế, cùng với sự phát triển mạnh mẽ của
cuộc cách mạng công nghiệp 4.0, Việt Nam xác định tập trung phát triển cơng nghệ
trí tuệ nhân tạo (AI) - một mũi nhọn, được dự báo trở thành ngành công nghệ đột
phá nhất trong tương lai.
Sau bốn năm học tập trên trường, do muốn tiếp xúc, học hỏi những lợi ích
mà AI mang lại , nhờ may mắn gặp gỡ thầy Tín đã tạo cơ hội cho em được tiếp xúc
và truyền cảm hứng cho em trong lĩnh vực CNTT trong AI. Và qua đó, do muốn
được tiếp cận, tìm hiểu hơn về quy trình tạo ra một bài toán AI để giải quyết các
vấn đề trong hiện tại, do đó VCCorp chính là cơng ty lý tưởng để cho em thực hiện
dự định này và cũng như là có thêm kinh nghiêm để rèn giũa bản thân thật tốt trước
khi ra trường.


5


Dương Xuân Hiệp

TS. Huỳnh Ngọc Tín

LỜI CẢM ƠN
Em xin gửi lời cảm ơn tới các anh chị tại công ty VCCorp nói chung và thầy
Huỳnh Ngọc Tín nói riêng vì đã tạo điều kiện cho em có cơ hội thực tập tại công
ty.
Chỉ trong một thời gian ngắn, nhưng nhờ sự chỉ dẫn nhiệt tình của anh chị
trong cơng ty, những buổi seminar hàng tuần. Em đã học hỏi được nhiều điều về kỹ
năng cứng cũng như mềm. Đồng thời hịa nhập với văn hóa cơng ty và các hoạt
động ngoại khóa nói riêng.
Đặc biệt em xin cảm ơn anh Tùng là người hỗ trợ em từ lúc vào công ty, anh
đã tận tình hướng dẫn em từ các thủ tục cần thiết tới cài đặt môi trường làm việc,
anh cũng góp ý thêm những điều em cịn sai sót để sửa lại và làm việc tốt hơn.
Cám ơn anh Tùng và bạn Hiếu đã giúp đỡ em các vấn đề kỹ thuật, cách làm việc,
phương pháp tìm hiểu và tiếp cận một bài toán cụ thể. Và cũng cảm ơn em Phạm
Huỳnh Tấn Đạt và em Nguyễn Trường Khoa Nguyên đã làm partners của em trong
suốt quá trình thực tập, hỗ trợ em trao đổi và củng cố lại các kiến thức, kỹ thuật
cịn thiếu và sai sót.
Em cũng cảm ơn thầy cô trong khoa Công nghệ phần mềm đã nhiệt tình hỗ
trợ, tạo điều kiện cho em làm báo cáo này.

Dương Xuân Hiệp
TP. Hồ Chí Minh, ngày 14 tháng 01 năm 2020


6


Dương Xn Hiệp

TS. Huỳnh Ngọc Tín

CHƯƠNG 1: GIỚI THIỆU CƠNG TY THỰC TẬP

I.

Giới thiệu chung về công ty

Logo của VCCorp

-

Được thành lập vào năm 2006, Công ty CP VCCorp (VCCorp) là công ty tiên
phong trong lĩnh vực công nghệ và nội dung số. Với hơn 10 năm hình thành và
phát triển, VCCorp đã xây dựng được một hệ sinh thái Internet rộng lớn với rất
nhiều sản phẩm sáng tạo, hữu ích trong nhiều lĩnh vực (quảng cáo trực tuyến,
thương mại điện tử, trị chơi trực tuyến...) phủ sóng trên 90% người sử dụng
Internet và mobile, có giá trị đóng góp lớn vào sự phát triển của Internet Việt Nam

-

trong một thập kỷ qua.
Công ty được chia thành nhiều bộ phận khác nhau. Trong đó, bộ phận mà em đang
thực tập chính là Admicro


-

VCCorp hiện đang sở hữu thương hiệu quảng cáo trực tuyến Admicro là đơn vị
quảng cáo trực tuyến lớn nhất hiện nay với hệ thống quảng cáo trên 200 website
uy tín hàng đầu, gần 30 website trong số đó thuộc sở hữu của VCCorp hoặc
VCCorp là đơn vị độc quyền khai thác quảng cáo. Với độ phủ tới trên 50 triệu độc
giả, tương đương 90% người dùng Internet và mobile tại Việt Nam, cùng với sức
mạnh về công nghệ, và sự sáng tạo không ngừng, Admicro luôn ở vị thế dẫn đầu
thị trường, giúp các trang báo và trang thơng tin điện tử Việt Nam có nguồn thu tốt

7


Dương Xn Hiệp

TS. Huỳnh Ngọc Tín

để cung cấp thơng tin cho người dân và cạnh tranh được các website dịch vụ nước
ngồi.

II. Sản phẩm của cơng ty
Là một Cơng ty công nghệ hàng đầu Việt Nam, các sản phẩm của VCCorp
có độ phủ sóng mạnh trên hầu hết các lĩnh vực về công nghệ và internet như:
thương mại điện tử, quảng cáo trực truyến, online media, mobile content,
social media… Trên 90% lượng người dùng Internet tại Việt Nam sử dụng
sản phẩm của VCCorp mỗi ngày đã khẳng định sự phong phú và đa dạng về
sản phẩm và lĩnh vực mà không phải công ty công nghệ nào cũng đạt được.
Các sản phẩm của công ty:

-


Thương mại điện tử: Luôn đi tiên phong, khai phá thị trường TMĐT tại
Việt Nam - khối TMĐT của VCCorp đã khẳng định được tên tuổi và thị
phần của mình bằng việc chiếm thị phần lớn nhất, với lượng khách hàng lên
tới hơn 10 triệu và số giao dịch chiếm 30% tổng dung lượng giao dịch
TMĐT trên thị trường.

-

Online Media: Khối nội dung trực thuộc VCCorp hoạt động trong lĩnh vực
xuất bản, phát hành thông tin chuyên nghiệp trên Internet (Cafef, cafebiz,
kenh14, afamily,…)

-

Mobile Adnetwork : Tiếp cận 95% người dùng Mobile, hệ thống Mobile
Adnetwork tiếp cận người dùng trên mobile web & mobile app.

-

Adtech : Sở hữu hơn 45 tỉ view/tháng, AdTech áp dụng hầu hết những công
nghệ tân tiến nhất vào Adnetwork.

8


Dương Xuân Hiệp

TS. Huỳnh Ngọc Tín


CHƯƠNG 2: NỘI DUNG THỰC TẬP
Đợt thực tập vừa qua với chủ đề “Xây dựng ứng dụng sửa lỗi chính tả cho Tiếng
Việt” nhằm giúp cho sinh viên tiếp cận các phương pháp học máy, cũng như nắm
được quy trình giái quyết, áp dụng một bài tốn AI vào thực tế.

I. Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty
Thời gian: 1 ngày
Nội dung: Giới thiệu về công ty, cách tổ chức của công ty
Được nghe người phụ trách giới thiệu về cơng ty, q trình thành lập và phát
triển, quy trình làm việc từ cao xuống thấp, cách thức tổ chức của cơng ty .
Ngồi ra, thực tập sinh cịn được giới thiệu về cách thức làm việc trong công ty
như thời gian đi làm, các quy định cần phải tuân thủ, cách sử dụng email trong
công việc, setup các môi trường cần thiết wifi, VPN, git, redmine và giới thiệu
qua các bài toán mà team đang giải quyết.
Kết quả: Hiểu hơn về bộ phận Admicro, quá trình thành lập và phát triển. Có
các kỹ năng về việc sử dụng email trong cơng việc, làm việc có kế hoạch, có kỷ
luật, có trách nhiệm hơn.

1. Nghiên cứu kỹ thuật
1.1 Cơng cụ làm việc
Thời gian: 5 ngày
Nội dung: Tìm hiểu về các cơng cụ sẽ được sử dụng trong q trình làm
việc

9


Dương Xuân Hiệp

TS. Huỳnh Ngọc Tín


Trong thời gian này, thực tập sinh được các anh chị trong team hướng dẫn
sử dụng các công cụ hỗ trợ trong công việc sau này.
OpenVPN: Sử dụng để làm việc nhóm, server.
Hệ điều hành Linux: Cài đặt các package cần thiết để bắt đầu làm việc,
chạy thử chương trình.
Skype: Kênh trao đổi, liên lạc giữa các thành viên trong team.
Visual Studio Code: IDE sử dụng cho việc thực hiện cài đặt đánh giá, thử
nghiệm cho bài toán.
Jupyter Notebook: Setup chạy thử nghiệm cho thuật toán.
Thực hiện: Thực hành sử dụng các phần mềm đã nêu trên.
Kết quả: Lập trình sử dụng các cơng cụ miễn phí, giúp dễ dàng kết hợp các
cơng cụ với nhau.

1.2 Tìm hiểu cơ bản về Machine Learning
Thời gian: 5 ngày
Nội dung: Được training các kiến thức cơ bản về tốn và các thuật tốn
máy học
• Tìm hiểu về tổng quan về các thuật ngữ supervised và unsupervised
• Đọc tài liệu các thuật toán cơ bản trong máy học: Linear Regression,
Logistic Regression, …
Thực hiện:
• Tham gia đầy đủ các buổi training của cơng ty.
• Kiểm tra về kiến thức đã học.
Kết quả: Nắm được các kiến thức cơ bản của Machine Learning
10


Dương Xn Hiệp


TS. Huỳnh Ngọc Tín

1.3 Tìm hiểu cơ bản về Deep Learning
Thời gian: 15 ngày
Nội dung: Tìm hiểu, áp dụng các kiến thức cơ bản về giải thuật Edit
Distance, các thuật ngữ trong Neural Network cũng như các cấu trúc mạng
liên quan như: Ngram và Word2Vec.
Khái niệm cơ bản về Edit Distance: giải thuật thể hiện khoảng cách khác
biệt giữa 2 chuỗi ký tự. Giải thuật tính khoảng cách giữa chuỗi S và chuỗi T
dựa vào số bước ít nhất biến chuỗi S thành chuỗi T thông qua 3 phép biến
đổi là:
• Xố 1 ký tự.
• Thêm 1 ký tự.
• Thay ký tự này bằng ký tự khác.
Khái niệm cơ bản về Neural Network: Neural Network (Mạng thần kinh
nhân tạo), là một thể loại giải thuật của học máy, lấy cảm hứng từ bộ não
con người. Nó là một trong những giải thuật phổ biến nhất được sử dụng
trong thế giới học máy. Mục đích là để giải quyết các task cụ thể thông qua
việc liên kết các neuron trong mạng neural tương tự cách con người thực
hiện.
Khái niệm cơ bản về Word2Vec: là một kỹ thuật xử lý ngơn ngữ tự nhiên.
Thuật tốn sử dụng một mơ hình mạng thần kinh để học các liên kết từ (sự
liên quan của từ) từ một kho ngữ liệu văn bản có dung lượng lớn. Sau khi
được huấn luyện, mơ hình có thể phát hiện các từ đồng nghĩa hoặc gợi ý các
từ bổ sung cho một phần của câu. Các vectơ được lựa chọn cẩn thận sao cho
một hàm toán học đơn giản sẽ cho biết mức độ của độ tượng tự ngữ
nghĩa giữa các từ.

11



Dương Xuân Hiệp

TS. Huỳnh Ngọc Tín

Khái niệm cơ bản về Ngram: Trong lĩnh vực ngơn ngữ học tính tốn và xác
suất, n-gram là một chuỗi tiếp giáp của n phần tử từ một mẫu văn bản hay lời
nói cho trước. Các phần tử có thể là âm tiết, chữ cái, từ hoặc các cặp cơ sở tùy
theo ứng dụng. Các n-gram được thu thập điển hình từ một tập dữ liệu văn
bản hoặc tập dữ liệu lời nói.
Thực hiện:
• Tham gia đầy đủ các buổi training của cơng ty.
• Seminar về kiến thức đã học.
Kết quả: Nắm được các kiến thức cơ bản của học sâu và vận dụng vào bài
tốn.

1.4 Tìm hiểu các thư viện hỗ trợ cho bài toán
Thời gian: 2 ngày
Numpy: Numpy là một thư viện lõi phục vụ cho khoa học máy tính của
Python, hỗ trợ cho việc tính tốn các mảng nhiều chiều, có kích thước lớn
với các hàm đã được tối ưu áp dụng lên các mảng nhiều chiều đó. Numpy
đặc biệt hữu ích khi thực hiện các hàm liên quan tới Đại Số Tuyến Tính.
Pandas: Pandas là là thư viện mã nguồn mở với hiệu năng cao cho phân tích
dữ liệu trong Python được phát triển bởi Wes McKinney trong năm 2008.
Chỉ với hơn 1 năm phát triển nó đã trở thành một thư viện chuẩn cho việc
phân tích dữ liệu khi dùng Python, một số tính năng nổi bật của pandas:
Python: Python là ngơn ngữ lập trình hướng đối tượng, cấp cao, mạnh mẽ,
được tạo ra bởi Guido van Rossum. Nó dễ dàng để tìm hiểu và đang nổi lên
như một trong những ngơn ngữ lập trình nhập mơn tốt nhất cho người lần
đầu tiếp xúc với ngơn ngữ lập trình. Python có cấu trúc dữ liệu cấp cao mạnh


12


Dương Xuân Hiệp

TS. Huỳnh Ngọc Tín

mẽ và cách tiếp cận đơn giản nhưng hiệu quả đối với lập trình hướng đối
tượng.
Thực hiện: Tham gia đầy đủ các buổi training
Kết quả: Sử dụng các thư viện hỗ trợ vào bài toán tìm hiểu.

Thực hiện project
Sau hơn một tháng được training và thực hành, thực tập sinh đã nắm
được những kiến thức cơ bản về học máy và các thư viện đi kèm. Trong
tháng thứ hai, thực tập sinh sẽ áp dụng những kiến thức đã học để thực
hiện một bài toán thực tế. Chi tiết đồ án sẽ được nói ở phần sau.

2 Lịch làm việc
Tuần

Cơng Việc

Tìm hiểu về cơng ty và

Người hướng dẫn

Mức độ


Nhận xét của

hoàn

người hướng

thành

dẫn

Anh Tuyên

100%

Anh Tuyên

100%

các quy tắc cần tuân thủ
trong quá trình làm việc
1

Làm quen với các cơng cụ
hữu ích trong cơng việc

2

Tìm hiểu về học máy

Bạn Hiếu


13


Dương Xn Hiệp

TS. Huỳnh Ngọc Tín

Anh Tùng

3
4
5

6

7
8
9

Tìm hiểu về giải thuật tính Anh Tun
khoảng cách 2 chuỗi

95%

Bạn Hiếu
Anh Tùng

Tìm hiểu về các mơ hình


Thầy Huỳnh Ngọc Tín

mạng trong học máy

Tìm hiểu về paper liên

Anh Tùng

quan đến bài toán sửa lỗi

Bạn Hiếu

chính tả

Thầy Huỳnh Ngọc Tín

Triển khai Model đầu tiên Anh Tùng
theo paper

Thầy Huỳnh Ngọc Tín

Thực nghiệm và đánh giá

Anh Tùng

95%

100%

100%


Thầy Huỳnh Ngọc Tín
10

So sánh, cài đặt các model Anh Tùng

100%

khác nhau để đánh giá, cải Thầy Huỳnh Ngọc Tín
thiện

CHƯƠNG 3: CHI TIẾT PROJECT
I.

Giới thiệu về bài toán
Tự động phát hiện và sửa lỗi chính tả (Spell Correction) là một trong những
bài tốn cơ bản nhất trong xử lý ngơn ngữ tự nhiên. Tính năng này có trong
14


Dương Xuân Hiệp

TS. Huỳnh Ngọc Tín

các ứng dụng soạn thảo văn bản, nhập liệu, nhận dạng… Với việc viết văn
bản trên điện thoại di động rất dễ sinh ra lỗi, tính năng tự động sửa lỗi chính
tả là thành phần khơng thể thiếu trong bất cứ bàn phím nào. Các kỹ thuật
spell correction đã rất phát triển và hoạt động rất tốt với nhiều ngôn ngữ,
nhất là tiếng Anh. Trong tiếng Việt, spell correction cũng là một bài toán dai
dẳng, địi hỏi sự kiên trì của người học.

1.1. Paper tham khảo
Unsupervised Context-Sensitive Spelling Correction of Clinical FreeText with Word and Character N-Gram Embedding
1.2. Thuật toán
- Xây dựng bộ từ điển Tiếng Việt hỗ trợ cho q trình huấn luyện mơ
hình
- Crawl dữ liệu (Tiếng Việt) từ nhiều nguồn khác nhau trên Internet
nhằm tạo ra một tập dữ liệu lớn hỗ trợ cho q trình tạo mơ hình
- Xây dựng mơ hình biểu diễn ngữ nghĩa của từ nhờ Word2Vec
- Áp dụng Edit Distance nhằm tạo các ứng viên, từ đó xếp hạng ứng
1.3.

II.

viên nhằm tìm ra từ chính xác nhất để sửa (nếu câu có từ sai)
Dataset
20000 câu (gồm cả câu sai và đúng)

Thực hiện
Dương Xuân Hiệp

III.

Kế hoạch
Giai đoạn tìm hiểu các paper liên quan:
- Paper về Edit Distance
- Paper về Word2Vec
Giai đoạn training model
- Xây dụng tập data 20000 câu
- Chia thành 15000 dữ liệu train và 5000 dữ liệu test


15


Dương Xuân Hiệp

TS. Huỳnh Ngọc Tín

Giai đoạn thử nghiệm
- Tuning các tham số nhằm cải thiện quá trình sửa lỗi
Giai đoạn đánh giá
- Sử dụng độ đánh giá Recall và Precision.
Giai đoạn cải tiến
- Tham khảo các paper có thể giúp khả năng cải thiện mơ hình

IV.

Kết quả thu được
Mơ hình lại kết quả tốt nhất với Recall là 90% và Precision là 84%.

16


Dương Xuân Hiệp

TS. Huỳnh Ngọc Tín

DANH MỤC TÀI LIỆU THAM KHẢO

[1] />[2] a/p/so-luoc-word2vec-6J3ZgBoAKmB
[3] />[4] />[5] Python for w2v and ngram


17


Dương Xuân Hiệp

TS. Huỳnh Ngọc Tín

Tổng Kết
Như vậy, chỉ trong vòng thời gian thực tập, em đã xây dựng được mơ
hình cơ bản để hồn thành mục tiêu của cơng việc, đồng thời từ đó có
thể tiếp tục xây dựng và phát triển nghiên cứu để cải thiện bài toán của
mình hơn nữa trong tương lai
Chân thành cảm ơn sự giúp đỡ của các anh trong công ty. Cảm ơn thầy
Huỳnh Ngọc Tín đã giúp em hồn thành bài báo cáo này.

18



×