LYTHUYETDA11

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 59

TRƯỜNG ĐẠI HỌC KỸ THUẬT - CÔNG NGHỆ CẦN THƠ

KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN CÔNG NGHỆ THÔNG TIN 1

TÌM HIỂU VỀ CRAWLER VÀ ỨNG DỤNG


TRONG BÀI TOÁN THU THẬP DỮ LIỆU TRÊN
MẠNG XÃ HỘI

Giáo viên hướng dẫn: Nguyễn Tấn Phú


---o0o---
SVTH 1: Phạm Văn Được (MSSV: 2100217)
SVTH 2: Lê Hoàng Thùy Dương (MSSV: 2100146)
SVTH 3: Nguyễn Thành Phát (MSSV: 2100720)

Cần Thơ, ngày… tháng… năm…


LỜI CAM ĐOAN
Trong bài đồ án "Tìm hiểu về crawler và ứng dụng trong bài toán thu thập dữ
liệu trên mạng xã hội", chúng tôi đã tìm hiểu, phân tích và đánh giá sâu về công
nghệ crawler và ứng dụng của nó trong việc thu thập dữ liệu trên mạng xã hội.
Chúng tôi hy vọng rằng bài đồ án này sẽ mang lại cái nhìn tổng quan và chi tiết về
công nghệ này, đồng thời giúp người xem hiểu rõ hơn về quá trình và phương pháp
thu thập dữ liệu trên mạng xã hội.
Trong quá trình thực hiện đồ án, chúng tôi đã tiến hành nghiên cứu, tìm hiểu
về cách hoạt động của crawler, từ việc thu thập thông tin cơ bản trên trang web cho
đến việc xử lý dữ liệu và tối ưu hóa quá trình thu thập. Nhờ vào việc áp dụng các
phương pháp và công cụ phù hợp, chúng tôi đã có thể thu thập được số lượng lớn
dữ liệu từ các mạng xã hội phổ biến như Facebook, Twitter và Instagram.
Đồ án cũng trình bày một số ứng dụng của crawler trong việc thu thập dữ
liệu trên mạng xã hội. Chúng tôi đã trình bày một số ví dụ minh họa về việc sử dụng
công nghệ crawler để thu thập thông tin người dùng, bài đăng, phản hồi và các dữ
liệu khác trên mạng xã hội. Điều này có thể hỗ trợ các công ty và các nhà nghiên
cứu trong việc phân tích văn hoá, xu hướng và thái độ của người dùng trên mạng xã
hội, từ đó đưa ra các quyết định và chiến lược phù hợp cho sản phẩm và dịch vụ của
mình
Bên cạnh những thành công, trong quá trình thực hiện đồ án chúng tôi cũng
gặp phải một số thách thức. Việc thu thập dữ liệu trên mạng xã hội đòi hỏi sự hiểu
biết kỹ thuật sâu, cùng với chính sách bảo mật của các nền tảng xã hội. Bên cạnh
đó, việc xử lý và phân tích dữ liệu thu thập được cũng đòi hỏi sự am hiểu về khoa
học dữ liệu và các phương pháp phân tích thông tin.
Tuy nhiên, với sự nỗ lực và tư duy sáng tạo, chúng tôi đã vượt qua những
khó khăn đó và đạt được kết quả tốt trong đồ án này. Chúng tôi hi vọng rằng nội
dung và kết quả của đồ án sẽ đem lại giá trị và hứng thú cho bất kỳ ai quan tâm đến
công nghệ crawler và ứng dụng của nó trong việc thu thập dữ liệu trên mạng xã hội.
Cuối cùng, chúng tôi xin chân thành cảm ơn các giảng viên Nguyễn Tấn Phú
đã hỗ trợ và giúp đỡ chúng em trong đồ án
Cần Thơ, ngày ... tháng 12 năm 2023

Sinh viên thực hiện

Phạm Văn Được

Lê Hoàng Thùy Dương

Nguyễn Thành Phát


LỜI CẢM ƠN
Chúng tôi xin gửi lời cảm ơn chân thành đến quý thầy cô và các bạn đã dành
thời gian quý báu trong việc đánh giá và hướng dẫn bài đồ án "Tìm hiểu về Crawler
và ứng dụng trong bài toán thu thập dữ liệu trên mạng xã hội". Đây là một bài đồ án
mang tính quan trọng và ý nghĩa đối với sự phát triển của chúng tôi trong lĩnh vực
trí tuệ nhân tạo và xử lý dữ liệu.
Trước tiên, chúng tôi xin bày tỏ lòng biết ơn chân thành đến thầyNguyễn Tấn
Phú đã đồng hành và tận tâm hướng dẫn chúng tôi trong suốt quá trình thực hiện bài
đồ án này. Sự tận tâm và kiến thức sâu rộng của thầy đã giúp chúng tôi hiểu rõ hơn
về Crawler và những ứng dụng hữu ích của nó trong việc thu thập dữ liệu trên mạng
xã hội.
Chúng tôi cũng muốn bày tỏ lòng cảm kích đến tất cả quý thầy cô trong khoa
công nghệ thông tin đã giúp đỡ chúng tôi trong việc tìm kiếm tài liệu, cung cấp gợi
ý và tạo điều kiện thuận lợi để chúng tôi có thể nghiên cứu một cách chuyên sâu và
tổ chức. Sự đồng hành và hỗ trợ của quý thầy cô là một phần không thể thiếu trong
thành công của bài đồ án này. Không thể quên, chúng tôi xin gửi lời cám ơn đến tất
cả các bạn bè và đồng nghiệp đã chia sẻ kiến thức, ý kiến, và sự động viên trong
suốt quá trình thực hiện bài đồ án này.
Những ý tưởng đều đóng góp quý giá và giúp chúng tôi hoàn thiện hơn công
trình của mình. Một lần nữa, chúng tôi xin chân thành cảm ơn sự đóng góp của mọi
người đối với bài đồ án "Tìm hiểu về Crawler và ứng dụng trong bài toán thu thập
dữ liệu trên mạng xã hội". Đây là một bước ngoặt quan trọng trong hành trình học
tập và nghiên cứu của chúng tôi.
Trường Kỹ Thuật Công Nghệ Cần Cộng Hòa Xã Hội Chủ Nghĩa Việt
Thơ Nam
Khoa Công Nghệ Thông Tin Độc lập -Tự do - Hạnh phúc

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


Giảng viên hướng dẫn: Nguyễn Tấn Phú
Nhận xét của giảng viên hướng dẫn:
...................................................................................................................................
......................................................................................................
.......................................................................................................................
.......................................................................................................................
.......................................................................................................................
.......................................................................................................................
...................................................................................................................................
...........................................................................................................
.......................................................................................................................
.......................................................................................................................
.......................................................................................................................
...................................................................................................................................
...........................................................................................................
Cần Thơ, ngày tháng năm 2022
Giảng viên hướng dẫn

Nguyễn Tấn Phú


Trường Kỹ Thuật Công Nghệ Cần Cộng Hòa Xã Hội Chủ Nghĩa Việt
Thơ Nam
Khoa Công Nghệ Thông Tin Độc lập -Tự do - Hạnh phúc

NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN


Giảng viên phản biện:
Nhận xét chung của giảng viên phản biện:

………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
…………………………………………………………

Cần Thơ, ngày tháng năm 2022


Giảng viên phản biện

……………………
MỤC LỤC

LỜI CAM ĐOAN...........................................................................................................................................


LỜI CẢM ƠN.................................................................................................................................................
MỤC LỤC......................................................................................................................................................
DANH MỤC HÌNH........................................................................................................................................
CHƯƠNG 1: TỔNG QUAN........................................................................................................................
1. Giới thiệu đề tài:..............................................................................................................................
2. Mục tiêu đề tài.................................................................................................................................
3. Phương pháp nghiên cứu:................................................................................................................
4. Phạm vi nghiên cứu:........................................................................................................................
5. Ý nghĩa của đề tài............................................................................................................................
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT.............................................................................................................
1. Thu thập dữ liệu...............................................................................................................................
2. Xử lý ngôn ngữ tự nhiên (Natural languge processing)..................................................................
2.1 Tokenization:........................................................................................................................
2.2 . Stopword Removal:............................................................................................................
2.3 . POS Tagging (Phân loại từ loại):........................................................................................
2.4 . NER (Named Entity Recognition - Nhận diện thực thể):...................................................
2.5 . Sentiment Analysis (Phân tích tâm trạng):.........................................................................
2.6 . Phân tích chi tiết (Fine-Grained)........................................................................................
2.7 . Dựa trên khía cạnh (Aspect-Based)....................................................................................
2.8 . Phát hiện cảm xúc (Emotion Detection).............................................................................
2.9 . Phân tích ý định (Intent Analysis)......................................................................................
2.10 Machine Translation (Dịch máy):.........................................................................................
2.11 Text Generation (Tạo văn bản):............................................................................................
3. TF-IDF.............................................................................................................................................
CHƯƠNG 3: PHƯƠNG PHÁP THỰC HIỆN.............................................................................................
1. Sơ đồ thực hiện................................................................................................................................
2. Sử dụng ngôn ngữ python thu thập dữ liệu......................................................................................
2.1 Sử dụng bộ thư viện beautifulsoup.......................................................................................
2.2 Sử dụng thư viện Selenium...................................................................................................
3. Xử lý ngôn ngữ tự nhiên..................................................................................................................
3.1 Thu thập dữ liệu:...................................................................................................................
3.2 Tiền xử lý (Tiền xử lý):........................................................................................................

6
3.3 Mã thông báo:...............................................................................................................................
3.4 Xây dựng Từ Vựng (Xây dựng từ vựng):....................................................................................
3.5 Vector Biểu Diễn (Biểu diễn Vector):..........................................................................................
3.6 Xây dựng Mô hình NLP:..............................................................................................................
3.7 Đánh Giá và Tinh Chỉnh:.............................................................................................................
3.8 Triển Khai và Duy Trì:.................................................................................................................
4. Chuyển dữ liệu sang TF-IDF...........................................................................................................
CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.............................................................................

DANH MỤC HÌNH


4
Hình 2. 1. Thu thập dữ liệu............................................................................................14
Hình 2. 2. Quy trình quản lý số liệu...............................................................................15
Hình 2. 3. Xử lý thời gian thực......................................................................................21
Hình 2. 4. Phương pháp thu thập dữ liệu bằng cách lắng nghe mạng xã hội.................22
Hình 2. 5. Phương pháp thu thập dữ liệu bằng cách quan sát........................................24
Hình 2. 6. Phương pháp thu thập dữ liệu bằng thử nghiệm...........................................25
Hình 2. 7. Công nghệ Tokenization được hiểu là một quy trình bảo mật tự động mã hóa
số thẻ của mỗi khách hàng.............................................................................................28
Hình 2. 8. Parse tree.......................................................................................................30
Hình 2. 9.NER (Named Entity Recognition..................................................................32
Hình 2. 10. Ví dụ về NER..............................................................................................32
Hình 2. 11. Sentiment Analysis.....................................................................................34
Hình 2. 12. TF-IDF........................................................................................................39
Hình 2. 13. Hàm log.......................................................................................................41
Hình 2. 14. Công thức tình IDF...................................................................................432
Hình 3. 1. Sơ đồ thực hiện Craw dữ liệu........................................................................44
Hình 3. 2. Cách Craw dữ liệu bằng thư viện beautifulsoup...........................................46
Hình 3. 3. Cách craw dữ liệu sử dụng thư viện Selenium..............................................48
Hình 3. 4. Xử lý dữ liệu.................................................................................................52
Hình 3. 5.Chuyển dữ liệu TF-IDF................................................................................554
Hình 4. 1. Hướng phát triển...........................................................................................56
Hình 4. 2. Crawl.............................................................................................................57

4
CHƯƠNG 1: TỔNG QUAN

4
1. Giới thiệu đề tài:

- Theo dòng chảy của cuộc cách mạng 4.0, trí tuệ nhân tạo ngày càng được phổ biến
và ứng dụng rộng rãi trong mọi lĩnh vực của cuộc sống như bán hàng, học tập, giải
trí. Đã hình thành mạng lưới thông tin với nhiều dữ liệu thông tin hay điều đó đã
thúc đẩy nhu cầu người sử dụng này càng nhiều.

- Trước kia khi chưa ứng dụng khoa học thì các công việc gặp nhiều khó khăn mất
nhiều thời gian và công sức của con người nên việc ứng dụng tin học vào các công
việc của con người ngày càng trở nên hết sức cần thiết, quan trọng.

- Qua đó chúng ta có thể thấy các ứng dụng mạng đã được người ứng dụng vào
nhiều mặt cuộc sống, không chỉ tạo ra cơn sốt về công nghệ , mà còn đặt viên gạch
đầu tiên cho một kỷ nguyên công nghệ, từng bước thay thế con người thực hiện
những công việc từ đơn giản tới không tưởng.

- Để đáp ứng các trang web, ứng dụng được tạo ra và sử dụng ngày càng nhiều giúp
công nghệ ngày càng phát triển trước tình trạng sử dụng nhiều thì dữ liệu và thông
tin cần được hoàn thiện và có hướng phát triển phù hợp với nhu cầu của người
dùng chính lẽ đó phần mềm ứng dụng hỗ trợ xử lý thông tin được ra đời các phần
mềm Crawl được sử dụng khá rộng rãi giúp thu thập thông tin nhanh, tiết kiệm thơi
gian công sức và đạt hiệu quả công việc cao.

- Trình thu thập web (Web Crawler) là một chương trình khai thác cấu trúc đô thị
của web di chuyển từ trang này qua trang khác cấu trúc đồ thị của web di chuyển từ
trang này sang trang khác. Thời kỳ đầu nó có những tên khá tượng hình như bọ
web, nhện sâu, nhưng ngày nay tên gọi phổ biến nhất vẫn là trình thu thập web[3].
Mặc dù vậy cụm từ “thu thập” không tả được hết tốc độ của những chương trình
này, vì chúng có tốc độ làm việc đáng kinh ngạc, có thể thu thập dữ liệu lên đến
hàng chục ngàn trang trong vòng một vài phút.

- Từ thời kì đầu, một động lực quan trọng thúc đẩy quá trình phát triển của việc thiết
kế trình thu thập web là lấy được nội dung các trang web và thêm chúng hoặc
đường dẫn của chúng vào một kho lưu trữ trang- một kiểu kho lưu trữ có thể dùng

4
để phục vụ cho các ứng dụng cụ thể trong công cụ tiềm kiếm web.

- Các trình thu thập thường bắt đầu bằng cách chọn đường dẫn (URL) ứng với các
trang web sẽ ghé thăm đầu tiên, các trang này được gọi là các trang hạt giống. khi
ghé thăm một trang hạt giống, trình thu thập dữ liệu sẽ đọc nội dung trang web, lọc
ra tất cả liên kết (hyperlink) có trong trang web đó và đưa vào URL tương ứng với
chúng vào một danh sách gọi là biên giới (frontier). Dựa vào danh sách này, trình
thu thập tiếp tục quá trình duyệt đệ quy để ghé thăm tất cả URL chưa được duyệt.
Quá trình này dừng lại khi trình thu thập dữ liệu đã thu thập đủ số trang yêu cầu
hoặc frontier là rỗng, tức là không còn URL để duyệt. Tuy mô hình này có vẻ đơn
giản nhưng đằng sau chúng là khả năng nhiều vấn đề hóc búa liên quan đến kết nối
mạng, bẫy nhện, tiêu chuẩn trích xuất URL, chuẩn hóa các trang HTML, bóc tách
nội dung trang HTML. Ở phần sau của khóa luận tôi sẽ lần lượt trình bày đến các
vấn đề này và hướng giải quyết của chúng.

- Sau khi đã có được một danh sách các URL dùng cho việc thu thập, ta sẽ thực hiện
quá trình lấy trang. Tất cả các trang được lấy một lần và được lưu vào một kho lưu
trữ giống như cơ sỡ dữ liệu của công cụ tìm kiếm, đến đây không cần thu thập
thêm. Tuy nhiên web là một thực thể năng động với các không gian con liên tục
phát triển và thay đổi nhanh một cách nhanh chóng mặt, vì thế thông tin phải liên
tục được thu thập để giúp các ứng dụng luôn cập nhật, ví dụ như bổ sung các trang
mới loại bỏ các trang đã bị xóa, di chuyển hoặc cập nhật các trang bị sửa đổi.

- Các trang web chủ yếu được viết bằng các ngôn ngữ đánh dấu như HTML,
XHTML và được nhắm đến đối tượng sử dụng là con người chứ không phải máy
tính. Các trang web lại chứa đựng nhiều thông tin có ích mà con người có thể
muốn thu thập và lưu trữ lại, chính vì thế mà cần phải có những kỹ thuật bóc tách
và trích xuất thông tin theo một cơ chế tự động. Các kĩ thuật bóc tách dữ liệu có thể
ở mức đơn giản như việc bóc tách các siêu liên kết, hoặc ở mức phức tạp hơn một

4
chút là bóc tách bất kỳ phần nội dung nào trong một trang web.

- Về bản chất, quá trình thu thập web chính là quá trình duyệt đệ quy một đồ thị. Các
web được xem như một đồ thị với các trang là các đỉnh (node) và các siêu liên kết
là các cạnh. Quá trình lấy trang và trích xuất các liên kết bên trong nó tương tự như
việc mở rộng tìm kiếm một đỉnh trong đồ thị. Việc tìm kiếm này là khác nhau trong
các trình thu thập sử dụng chiến lược tìm kiếm khác nhau.

- Trình thu thập web là thành phần đầu tiên trong toàn bộ hệ thống search engine.
Mục đích chung của các hệ thống search engine là số lượng trang web đầu vào đạt
giả trị cao nhất có thể, trong đó trình thu thập web làm công việc chính là duy trì cơ
sở dữ liệu được đánh chỉ mục, trả về giá trị của bộ thu thập và bộ lập chỉ mục cho
hàng triệu truy vấn nhận được từ người dùng. Các trang được đánh chỉ mục dựa
trên các thuật toán ưu tiên hoặc dựa vào các phương pháp dựa trên kinh nghiệm
(heuristic). Ngoài ra, chúng ta có thể sử dụng trình thu thập web để xây dựng các
phần mềm tập trung thông tin, các trang web tổng hợp thông tin, dựa trên cơ chế tự
động tìm và phát hiện tài nguyên.
Đề tài gồm có 5 chương và kết luận:
Chương 1: Tổng quan.
Chương 2: Cơ sở lý thuyết
Chương 3:.Quá trình thu thập dữ liệu
Chương 4: Khả năng ứng dụng.
Chương 5: Kết luận và hướng phát triển

2. Mục tiêu đề tài:


Giúp mọi người hiểu được tầm quan trọng của trí tuệ nhân tạo trong đời sống con người
hiện nay và trong tương lai sắp tới.
Thực hiện trí thông minh cúa con người trong máy móc – Tạo ra các hệ thống có thể
hiểu, suy nghĩ, học hỏi và hành xử như con người.
Giúp khai thác thu thập xử lý thông tin, dữ liệu hỗ trợ phát triển phần mềm trong tương
lai.

4
3. Phương pháp nghiên cứu:
+ Thu thập dữ liệu.
+ Xử lý ngôn ngữ tự nhiên.
+ Phân tích dữ liệu văn bản.

4. Phạm vi nghiên cứu:


Mong muốn rằng mọi người có thể hiểu và làm việc với ứng dụng dễ dàng sâu hơn,
hiểu một cách toàn diện nhất.

5. Ý nghĩa của đề tài:

- Nghiên cứu, nắm vững về kiến thức thu thập xử lý thông tin và dữ liệu.

- Vận dụng trí tuệ nhân tạo để tạo ra sự giao tiếp thân thiện, gần gũi giữa người và
máy tính góp phần đẩy manh phát triển công nghệ kỹ thuật lên tầm cao mới.

- Để xây dựng được các mô đun giải quyết các bài toán trên cần tìm hiểu và áp dụng
khá nhiều bài toán học thuật liên quan đến khai phá dữ liệu lớp, thống kê dữ liệu
phổ biến, và khai phá từ khóa xu hướng và bài toán xử lý trùng lặp nội dung cơ sở
dữ liệu lớn phân tán. Các nội dung khoa học đã được tham khảo áp dụng và cải tiến
trong đề tài hi vọng mang lại một phần ý nghĩa đóng góp vào việc giải quyết các
vấn khoa học, định hướng mở rộng sau này.

- Các mô đun trong khuôn khổ đề tài cũng góp phần vô cùng quan trọng cho một hệ
tổng hợp nội dung tự động cung cấp dưới dạng trang tổng hợp và hệ hỗ trợ biên tập
tổng hợp nội dung phục vụ các tác vụ phân tích hay các trang tin chuyên biệt. Việc
tổng hợp tin tức, cập nhật liên tục, phát hiện được xu hướng mới trong tin, tóm
lược từ khóa chứa nội dung chính trong tin giúp người đọc tiếp cận nhanh nhất đến
nguồn tin tức khổng lồ đó là một trong những ý nghĩa thực tiễn quan trọng của đề
tài. Ngoài ra việc cung cấp các API cũng cho phép bên thứ ba tiếp cận nguồn tin để
phục vụ các mục đích riêng của mình như thống kê, phân tích, khai phá dữ liệu
khác cũng là ý nghĩa thực tiễn không nhỏ.

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
4
1. Thu thập dữ liệu.

Hình 2. 1. Thu thập dữ liệu


- Thu thập dữ liệu là quá trình tổng hợp tất cả các thông tin từ các nguồn dữ liệu
khác nhau như các trang web, báo chí, các cuộc khảo sát... Được lưu trữ lại trong
hệ thống, cho phép các cá nhân tổ chức có thể thực hiện lấy dữ liệu và đánh giá kết
quả dữ liệu.

- Mục đích của việc thu thập dữ liệu là phục vụ cho việc phân tích, nghiên cứu, quản
lý, kinh doanh hoặc đưa ra quyết định liên quan đén các lĩnh vực như khoa học, xã
hội kinh doanh.

- Nguồn dữ liệu có thể thu thập bao gồm tất cả các dữ liểu về hình ảnh âm thanh văn
bản dữ liệu từ các trang web mạng xã hội, báo chí… Mục tiêu thu thập dữ liệu
phân tích nghiên cứu cải tiến phát minh ra nhiều cái mới giúp phát triển thêm thông
tin dữ liệu trả lời cho các câu hỏi đáng tin cậy được đặt ra.

- Quá trình thu thập dữ liệu có thể được thực hiên thông qua nhiều phương pháp
khác nhau như khảo sát, phân tích dữ liệu, thăm dò ý kiến từ dữ liệu lớn và các
công cụ hỗ trợ thu thập dữ liệu với đa dạng ngôn ngữ để thu thập dữ liệu. Việc thu
thập dữ liệu đúng cách là vô cùng quan trọng bởi nó liên quan đến việc bảo đảm dữ
liệu chính xác và đáng tin cậy để phục vụ cho các mục đích đề ra.

4
- Quá trình thu thập có thể xác định theo quy trình sau:
+ Xác định mục tiêu: Xác định cụ thể mục tiêu của dữ liệu thu thập trong quá trình
xử lý. Điều này có thể liên quan đến nghiên cứu, phân tích trường, đào tạo mô hình
máy học hoặc mục tiêu khác. Để xác định được thông tin muốn thu thập cần xác
định rõ ràng mục tiêu bạn muốn thu thập là gì, thông tin thu thập là những gì , tệp
đối tượng khách hàng muốn thu thập số lượng. Xác định thời gian thu thập dữ liệu
thời gian là một trong những yếu tố khá là quan trọng.
+ Xác định phương pháp : Có rất nhiều phương pháp thu thập dữ liệu khách hàng
khác nhau. Và mỗi phương pháp thu thập thông tin lại có những ưu, nhược điểm
riêng. Việc bạn cần làm là xác định xem phương pháp nào thực sự phù hợp và
mang lại hiệu quả cao. Quá trình thu thập dữ liệu khách hàng, luôn kiểm tra và
quan sát tiến trình diễn ra. Ở bước này cần thực hiện cẩn thận và bên cạnh đó
không quên theo dõi quy trình thường xuyên để hạn chế sai sót.
Xây dựng Kế hoạch Thu Thập:

Hình 2. 2. Quy trình quản lý số liệu


- Thu thập dữ liệu: Thực hiện việc thu thập dữ liệu theo kế hoạch đã đề ra.

- Dữ liệu văn bản thường được sử dụng cho các nghiên cứu, sử dụng đồng thời các
phương pháp thu thập dữ liệu sơ cấp. Bao gồm các loại văn bản như: báo cáo chi
phí, doanh thu…, các bài viết tạp chí, internet.

- Ngoài ra còn có các tài liệu phi văn bản như các bản ghi âm, ghi hình, các chương
trình

4
- Dữ liệu thứ cấp dựa trên khảo sát: là những dữ liệu thu thập bằng cách sử dụng
nhiều chiến lược khảo sát, thường dùng như bảng câu hỏi đã được phân tích ban
đầu của chúng. Dựa trên khảo sát được thu thập qua một trong ba loại chiến lược
khảo sát: điều tra thông kê, các cuộc khảo sát liên tục và khảo sát đặt biệt.

- Kiểm tra chất lượng dữ liệu: Đảm bảo rằng dữ liệu thu thập dữ liệu toàn diện, sạch
sẽ, thì cơ sở dữ liệu của bạn sẽ bùng nổ với những hiểu biết đang chờ được khai
thác. Các tổ chức thường có thể lưu trữ dữ liệu thành các cột và hàng theo thứ tự
(hoặc cả hai), nhưng một khi bạn mở rộng mạng lưới của mình để bao gồm thông
tin lượm nhặt được từ web và các phương tiện truyền thông xã hội, sự đa dạng của
các loại dữ liệu khiến việc lưu trữ, làm sạch và tìm bất kỳ phân tích nào trở nên
khó khăn hơn. Những khung có cấu trúc sau đó bắt đầu biến mất.

- Chụp dữ liệu chỉ có giá trị nếu dữ liệu đó thực sự tăng thêm giá trị. Mặc dù có thể
nói chắc chắn rằng có nhiều dữ liệu được tạo ra và thu thập bởi các tổ chức -
Forbes ước tính rằng 2,5 triệu triệu byte dữ liệu được tạo ra mỗi ngày - điều này
thực sự có ảnh hưởng bất lợi đến chất lượng dữ liệu tổng thể được thu thập.
Nguyên nhân rất đơn giản, có quá nhiều dữ liệu cần xử lý.

- Tất nhiên, nếu bạn muốn dữ liệu có chất lượng cực cao, bạn sẽ phải tốn nhiều chi
phí và thời gian để làm sạch nó. Nhưng nếu ví dụ, bạn đang phân tích tình cảm của
khách hàng trên Twitter, và cần phản ứng nhanh, bạn sẽ phải hy sinh chất lượng và
lựa chọn tốc độ, hoặc bạn sẽ có khả năng khiến khách hàng cảm thấy khó chịu.

- Tất cả điều này có nghĩa là, trong thực tế, chất lượng dữ liệu hoàn hảo là một mục
tiêu không thể đạt được. Dữ liệu bạn thu thập từ nhiều nguồn khác nhau sẽ không
có cấu trúc. Tuy nhiên, điều đó không có nghĩa là bạn không nên coi trọng chất
lượng dữ liệu mà bạn lưu giữ. Mặc dù nó không hoàn hảo, nhưng bạn muốn đảm
bảo nó sạch nhất có thể, để nó có thể trở nên hữu ích.

- Khi được trang bị các số liệu chính về đo lường chất lượng dữ liệu, doanh nghiệp
sẽ biết vị trí của mình. Tiếp theo sẽ là việc triển khai chiến lược quản lý chất lượng
dữ liệu, một quy trình cải thiện hơn nữa việc đo lường chất lượng dữ liệu, thông
qua việc áp dụng kết hợp đúng người, đúng quy trình và công nghệ.
4
 Tính đầy đủ
Tính đầy đủ được DAMA định nghĩa là có bao nhiêu bộ dữ liệu đã được hoàn thành,
trái ngược với việc để dữ liệu trống. Chẳng hạn, một cuộc khảo sát sẽ hoàn thành 70%
nếu nó được hoàn thành bởi 70% người tham gia khảo sát. Để đảm bảo tính đầy đủ, tất
cả các bộ dữ liệu và các mục dữ liệu phải được ghi lại.

 Tính độc đáo


Số liệu này đánh giá mức độ độc nhất của mục nhập dữ liệu và liệu nó có được sao
chép ở bất kỳ nơi nào khác trong cơ sở dữ liệu của doanh nghiệp hay không. Tính độc
đáo được đảm bảo khi phần dữ liệu chỉ được ghi lại một lần. Nếu không có chế độ xem
duy nhất, bạn có thể phải khấu trừ nó.

 Tính kịp thời


Mức độ cập nhật của dữ liệu của bạn như thế nào? Khía cạnh thiết yếu này của tiêu chí
DAMA đánh giá mức độ hữu ích hoặc phù hợp của dữ liệu của doanh nghiệp dựa trên
tuổi của nó. Tất nhiên, nếu một mục nhập được ghi ngày, chẳng hạn, sau 12 tháng,
phạm vi cho những thay đổi đáng kể trong thời gian tạm thời có thể khiến dữ liệu trở
nên vô dụng. Số km xe đã sử dụng, những dữ liệu thay đổi thường xuyên, là một ví dụ
điển hình.

 Tính hiệu lực


Nói một cách đơn giản, dữ liệu bạn đã ghi có phản ánh loại dữ liệu bạn đặt ra để ghi lại
hay không? Vì vậy, nếu bạn yêu cầu ai đó nhập số điện thoại của họ vào một biểu mẫu
và họ nhập 'sjdhsjdshsj', dữ liệu đó không hợp lệ, vì đó không phải là số điện thoại - dữ
liệu không khớp với mô tả về loại dữ liệu nên được thu thập.

 Tính chính xác


Độ chính xác xác định xem thông tin bạn giữ có chính xác hay không và không bị
nhầm lẫn với tính hợp lệ, thước đo xem dữ liệu có thực sự là loại dữ liệu mà bạn muốn
hay không.

 Tính nhất quán

- Đối với bất cứ ai cố gắng phân tích dữ liệu, tính nhất quán là một xem xét cơ bản.
4
Về cơ bản, bạn cần đảm bảo bạn có thể so sánh dữ liệu giữa các tập dữ liệu và
phương tiện (cho dù đó là trên giấy, trên tệp máy tính hoặc trong cơ sở dữ liệu) -
tất cả đều được ghi theo cùng một cách, cho phép bạn so sánh dữ liệu và xử lý dữ
liệu như một toàn diện.

- Hãy nhớ rằng dữ liệu của bạn hiếm khi trở nên hoàn hảo và bạn phải cố gắng quản
lý chất lượng dữ liệu của mình bằng cách sử dụng dữ liệu thực sự - dành quá nhiều
thời gian để đảm bảo chất lượng và sẽ không còn thời gian để phân tích, bởi vì dữ
liệu sẽ sớm bị lỗi thời.

- Tuy nhiên, bạn nên thực hiện kiểm tra chất lượng dữ liệu một cách thường xuyên -
đặc biệt là khi bạn có thể thường xuyên thu thập các bộ dữ liệu mới - để đảm bảo
nó sạch sẽ và hữu ích. Không có dữ liệu tốt, bạn không thể dựa vào dữ liệu đó để
đưa ra những hiểu biết kinh doanh hữu ích và đưa ra quyết định phù hợp.

 Xử lý dữ liệu: Sau khi thu thập, dữ liệu thường cần được xử lý để loại bỏ nhiễu,
xử lý dữ liệu có nhiều cách và nhiều lĩnh vực khác nhau :

- Xử lý dữ liệu thương mại (Commercial Data Processing)


+ Dữ liệu quan hệ tiêu chuẩn, bao gồm việc sử dụng xử lý hàng loạt. Phương pháp
này sử dụng lượng dữ liệu khổng lồ làm đầu vào cho hệ thống và tạo ra lượng lớn dữ
liệu ở đầu ra, nhưng quy trình thì lại tinh gọn và ít thao tác hơn. Về cơ bản, nó kết
hợp thương mại và máy tính để tạo ra giá trị cho doanh nghiệp. Dữ liệu được xử lý
thông qua hệ thống này thường được tiêu chuẩn hóa, cũng vì thế nên khả năng sai sót
thấp hơn nhiều.
+ Nhiều công việc thủ công được tự động hóa thông qua việc sử dụng máy tính nên
giảm bớt được chi phí của doanh nghiệp, đồng thời cũng có ít sai sót hơn . Máy tính
được sử dụng trong kinh doanh để lấy dữ liệu thô và xử lý nó thành một dạng thông
tin hữu ích cho doanh nghiệp. Các chương trình kế toán là những ví dụ điển hình về
các ứng dụng xử lý dữ liệu. Hệ thống thông tin (IS) là lĩnh vực nghiên cứu như hệ
thống máy tính tổ chức
- Xử lý dữ liệu khoa học (Scientific Data Processing)
+ Không giống như xử lý dữ liệu thương mại, xử lý dữ liệu Khoa học liên quan đến
4
việc sử dụng nhiều hoạt động tính toán nhưng khối lượng đầu vào cũng như đầu ra
thấp hơn. Các hoạt động tính toán bao gồm các phép toán số học và so sánh. Trong
kiểu xử lý này, bất kỳ khả năng sai sót nào cũng không được chấp nhận vì nó sẽ dẫn
đến việc ra quyết định sai lầm. Do đó, quá trình xác thực, sắp xếp và chuẩn hóa dữ
liệu được thực hiện rất cẩn thận và nhiều phương pháp khoa học được sử dụng để
đảm bảo không có mối quan hệ và kết luận sai nào được đưa ra.
+ Phương pháp này tốn nhiều thời gian hơn so với xử lý dữ liệu thương mại.
Ví dụ về xử lý dữ liệu khoa học: Xử lý, quản lý và phân phối các sản phẩm dữ liệu
khoa học. Hỗ trợ phân tích khoa học các thuật toán, dữ liệu hiệu chuẩn và sản phẩm
dữ liệu. Duy trì tất cả phần mềm, dữ liệu hiệu chuẩn, dưới sự kiểm soát cấu hình
nghiêm ngặt.

- Xử lý hàng loạt (Batch Processing)


+ Xử lý hàng loạt – Phương pháp xử lý dữ liệu tổ hợp, đồng thời. Dữ liệu được thu
thập và xử lý theo lô, sau đó sẽ được sử dụng khi dữ liệu đồng nhất và có số lượng
lớn. Trong Xử lý hàng loạt lại phân ra 2 loại nhỏ – Xử lý hàng loạt đồng thời và Xử
lý hàng loạt tuần tự.
+ Xử lý hàng loạt đồng thời xảy ra khi chúng được thực thi bởi cùng một tài nguyên
cho tất cả các trường hợp cùng một lúc. Xử lý hàng loạt tuần tự xảy ra khi chúng
được thực thi bởi cùng một tài nguyên cho các trường hợp khác nhau ngay lập tức
hoặc ngay sau một trường hợp khác.

- Xử lý trực tuyến (Online Processing)


+ Theo cách nói của các hệ thống cơ sở dữ liệu ngày nay, “online” có nghĩa là
“interactive”. Xử lý trực tuyến ngược lại với xử lý hàng loạt. Xử lý trực tuyến có
thể được xây dựng từ một số toán tử tương đối đơn giản hơn, giống như các công cụ
xử lý truy vấn truyền thống được xây dựng.
+ Xử lý trực tuyến các hoạt động phân tích thường liên quan đến các phần chính của
cơ sở dữ liệu lớn. Do đó, đáng ngạc nhiên là các hệ thống phân tích Online ngày nay
cung cấp hiệu suất Interactive. Điều họ cần làm để thành công là tính toán trước chỉ
số.

4
+ Trong hầu hết các hệ thống Xử lý Phân tích Trực tuyến, câu trả lời cho từng điểm
và nhấp chuột được tính toán rất lâu trước khi người dùng khởi động ứng dụng. Trên
thực tế, nhiều hệ thống xử lý Trực tuyến thực hiện việc tính toán này tương đối kém
hiệu quả, nhưng vì quá trình xử lý được thực hiện trước nên người dùng cuối không
thấy vấn đề về hiệu suất. Loại xử lý này được sử dụng khi dữ liệu được xử lý liên tục
và nó được đưa vào hệ thống tự động.

- Xử lý thời gian thực (Real-Time Processing)


+ Hệ thống quản lý dữ liệu hiện tại thường giới hạn khả năng xử lý dữ liệu trên cơ
sở và vì hệ thống này luôn dựa trên các bản cập nhật định kỳ theo lô. Cho nên nó có
thời gian trễ nhiều khi xảy ra một sự kiện và ghi lại hoặc cập nhật sự kiện đó.
+ Điều này tạo ra một nhu cầu về hệ thống có thể ghi, cập nhật và xử lý dữ liệu trên
cơ sở và ở bất cứ đâu, tức là trong thời gian thực. Điều này sẽ giúp giảm độ trễ thời
gian xuống gần như bằng không. Một lượng lớn dữ liệu đang được đổ vào các hệ
thống ngoài các tổ chức, do đó việc lưu trữ và xử lý nó trong môi trường thời gian
thực sẽ thay đổi kịch bản kinh doanh trên thị trường.
+ Hầu hết các doanh nghiệp muốn có thông tin chi tiết theo thời gian thực về dữ liệu
để hiểu đầy đủ về môi trường bên trong hoặc bên ngoài công ty của họ. Đây là lúc
nảy sinh nhu cầu về một hệ thống có thể xử lý phân tích và xử lý dữ liệu theo thời
gian thực. Kiểu xử lý này cung cấp kết quả ngay tại lúc nó thực hiện hoạt động
(không cần chờ thời gian quá lâu).
+ Phương pháp phổ biến nhất là lấy dữ liệu trực tiếp từ nguồn của nó, cũng có thể
được gọi là luồng và đưa ra kết luận mà không thực sự chuyển hoặc tải xuống. Một
kỹ thuật chính khác trong xử lý thời gian thực là Kỹ thuật ảo hóa dữ liệu trong đó
thông tin có ý nghĩa được lấy cho nhu cầu xử lý dữ liệu trong khi dữ liệu vẫn ở dạng
nguồn của nó.

4
Hình 2. 3. Xử lý thời gian thực
- Tầm quan trọng của việc thu thập dữ liệu
+ Thu thập dữ liệu giữ một vai trò vô cùng quan trọng đối với quá trình nghiên cứu và
đưa ra quyết định của nhiều lĩnh vực như khoa học và kỹ thuật, kinh doanh, giáo dục, y
tế, chính trị...Sau đây là những giá trị mà hoạt động này mang lại:

- Cung cấp thông tin.


+ Dữ liệu được thu thập từ nhiều nguồn khác nhau từ đó cung cấp các thông tin hữu
ích cho việc ra quyết định của người dùng. Đây có thể là dữ liệu về thị trường, khách
hàng, kiến thức kinh tế, xã hội, văn hóa...
Xác định xu hướng và mối quan hệ
+ Việc thu thập dữ liệu giúp cho mọi người có thể xác định được mối quan hệ và xu
hướng giữa các yếu tố với nhau từ đó giúp cho nhà nghiên cứu có thể hiểu rõ về mối
tương quan của những yếu tố này.

- Đưa ra dự đoán
+ Từ những dữ liệu thu thập được thông qua quá trình phân tích, nghiên cứu, các nhà
phân tích có thể đưa ra dự đoán về các xu hướng của nhiều lĩnh vực trong tương lai từ
đó giúp các nhà quản lý lập kế hoạch và đưa ra quyết định chính xác hơn.

- Cải thiện hiệu quả


+ Thông qua quá trình thu thập dữ liệu, các nhà quản trị sẽ hiểu rõ hơn về các hoạt
động, công việc của họ từ đó cải thiện hiệu suất làm việc đạt kết quả tối ưu hơn.
Các phương pháp thu thập dữ liệu hiệu quả nhất hiện nay.
4
Sau đây là những phương pháp cho phép mọi người có thể thu thập dữ liệu hiệu quả và
chính xác nhất hiện nay:

- Phương pháp lắng nghe mạng xã hội


Lắng nghe mạng xã hội là phương pháp thu thập dữ liệu mang tính hiệu quả cao. Đây
là quá trình thu thập thông tin từ các diễn đàn hay nền tảng xã hội về một chủ đề cụ thể.
Các dữ liệu được thu thập bởi phương pháp này sẽ được tiến hành phân tích để từ đó
tìm ra được xu hướng hiện nay cùng nhiều thông tin hữu ích.

Hình 2. 4. Phương pháp thu thập dữ liệu bằng cách lắng nghe mạng xã hội
- Phương pháp phỏng vấn bằng thư
+ Phương pháp thu thập dữ liệu bằng cách phỏng vấn qua thư hiện đang được ứng
dụng rất rộng rãi hiện nay. Phương pháp này sẽ được thực hiện thông qua việc gửi các
bảng câu hỏi đã được soạn sẵn đến các đối tượng mà doanh nghiệp muốn nghiên cứu
và nhận câu trả lời nếu mọi việc đều suôn sẻ.
+ Đây được xem là phương pháp hữu hiệu khi áp dụng vào các trường hợp các đối
tượng nghiên cứu ở quá xa, khó đối mặt, hay các khu dành riêng khó vào. Với phương
pháp này, doanh nghiệp có thể điều tra được số lượng đơn vị cực lớn đồng thời tạo ra
sự thuận lợi cho người hỏi.

4
- Phương pháp quan sát
+ Bằng cách ghi chép lại những sự kiện hay các hành vi ứng xử của con người trong
cuộc sống hàng ngày hay trong một hoạt động bất kỳ một cách có kiểm soát, quan sát
hiện đang là phương pháp thu thập dữ liệu được ứng dụng khá rộng rãi bởi nhiều doanh
nghiệp. Với phương pháp quan sát, doanh nghiệp thu được chính xác những hình ảnh
về hành vi tiêu dùng của khách hàng và lý giải cho các hành vi quan sát đó.
+ Phương pháp quan sát thường sẽ được sử dụng kết hợp với nhiều phương pháp khác
để có thể chắc chắn hơn về mức độ chính xác của dữ liệu khi thực hiện các hoạt động
kiểm tra chéo. Thu thập dữ liệu bằng phương pháp này có thể chia theo hai cách như
sau:

 Quan sát trực tiếp và gián tiếp:


+ Quan sát trực tiếp là việc tiến hành quan sát các sự kiện, hành động đang được diễn
ra.
+ Quan sát gián tiếp là việc tiến hành quan sát các tác động hay kết quả của một hành
vi chứ không phải quan sát trực tiếp hành vi đó.

 Quan sát ngụy trang và công khai:


+ Quan sát ngụy trang được hiểu là cách quan sát, nghiên cứu các đối tượng mà chính
họ cũng không biết mình đang trở thành đối tượng được quan sát.
+ Quan sát công khai là cách quan sát, nghiên cứu các đối tượng và họ biết rằng mình
đang là đối tượng được quan sát.
+ Các công cụ quan sát được sử dụng có thể là các thiết bị quan sát hoặc chính con
người. Con người sẽ sử dụng các giác quan của mình để thực hiện việc quan sát đối
tượng nghiên cứu còn quan sát bằng thiết bị sẽ sử dụng các công cụ như máy đếm, máy
đọc quét,...

4
Hình 2. 5. Phương pháp thu thập dữ liệu bằng cách quan sát
 Phương pháp phỏng vấn cá nhân trực tiếp
+ Nhân viên nghiên cứu sử dụng phương pháp thu thập dữ liệu phỏng vấn cá nhân trực
tiếp bằng cách gặp mặt trực tiếp các đối tượng điều tra và phỏng vấn họ bằng bảng câu
hỏi đã được thiết lập sẵn. Để áp dụng được phương pháp này, bạn cần phải đưa ra cho
khách hàng những câu hỏi đơn giản, ngắn gọn và dễ trả lời. Ứng dụng tốt phương pháp
này, nhân viên sẽ thuyết phục được khách hàng đưa ra câu trả lời, giải thích rõ ràng về
câu trả lời đó trước khi điền vào phiếu điều tra.

 Phương pháp thu thập dữ liệu điều tra thăm dò


Với phương pháp điều tra thăm dò, doanh nghiệp sẽ tiến hành thu thập các thông tin,
dữ liệu khách hàng thông qua công cụ chủ yếu là “Bảng câu hỏi" với những câu hỏi đã
được thiết lập sẵn. Và khách hàng sẽ là người tự đưa ra các câu trả lời hay các thông tin
vào trong bảng.

 Phương pháp thảo luận nhóm


+ Thảo luận nhóm là một phương pháp thu thập dữ liệu hiệu quả được nhiều doanh
nghiệp áp dụng. Cách làm này thường được nghiên cứu cố định với các đối tượng là
con người, các hộ gia đình hay các doanh nghiệp thông qua một bảng câu hỏi đã được
4
thiết lập từ trước.
+ Mỗi một thành viên trong nhóm sẽ được cung cấp một cuốn nhật ký hoặc một thiết
bị điện tử để tự mình ghi chép lại hoặc ghi hình lại các mục liên hệ. Phương pháp này
không chỉ giúp tiết kiệm chi phí hiệu quả mà còn giúp việc phân tích được tiến hành
lâu dài hơn và liên tục hơn.

 Phương pháp thử nghiệm


Phương pháp thử nghiệm sẽ được chia thành hai loại chính bao gồm:
+ Thử nghiệm trong phòng thí nghiệm: Loại phương pháp này sẽ giúp doanh nghiệp
có thể quan sát và đo lường được các phản ứng tâm lý và hành vi khách hàng.
+ Thử nghiệm tại hiện trường: Là loại phương pháp thu thập dữ liệu giúp doanh
nghiệp quan sát và đo lường được thái độ và phản ứng của khách hàng trước những
thay đổi bất ngờ của doanh nghiệp.

Hình 2. 6. Phương pháp thu thập dữ liệu bằng thử nghiệm

 Phương pháp phỏng vấn điện thoại


+ Khi thực hiện thu thập dữ liệu bằng phương pháp phỏng vấn điện thoại, nhân viên
phỏng vấn sẽ trực tiếp điều tra các đối tượng cần nghiên cứu bằng một số câu hỏi đã
được thiết lập sẵn
+ Các đối tượng có thể áp dụng được phương pháp này đó là các cơ quan xí nghiệp,
4
các đối tượng phân tán đều trên địa bàn hay những người có thu nhập cao để tiết kiệm
chi phí. Với phương pháp này, doanh nghiệp có thể thiết lập được mối quan hệ tốt đẹp
hơn với các đối tượng nghiên cứu.
+ Việc ứng dụng các phương pháp thu thập dữ liệu đang ngày càng trở nên đa dạng,
phổ biến và được dùng nhiều trong các công trình nghiên cứu của nhiều doanh nghiệp.
Với những kiến thứ0063 chia sẻ trong bài viết trên bạn đã tìm ra cho mình một phương
pháp phù hợp và có khả năng mang đến hiệu quả cao nhất.

2. Xử lý ngôn ngữ tự nhiên (Natural languge processing)

- Xử lý ngôn ngữ tự nhiên (Natural Language Processing – NLP) là một phần của trí
tuệ nhân tạo, nhằm mục đích dạy ngôn ngữ của con người cho máy tính. Bằng cách
này máy móc có thể hiểu và giải thích ngôn ngữ của con người. Xử lý ngôn ngữ tự
nhiên (NLP) là sự kết hợp giữa nhiều lĩnh vực khác nhau như trí tuệ nhân tạo ,
ngôn ngữ học tính toán, tương tác giữa người và máy tính , v.v.[1]

- Lập trình ngôn ngữ tư duy NLP được tạo ra bởi Richard Bandler và John Gri vào
những năm 1970. Công cụ này chứa 3 yếu tố gồm thần kinh (neuro), ngôn ngữ
(linguistic) và lập trình (program), có ảnh hưởng đến việc hình thành kinh nghiệm
cá nhân của mỗi người. Hiện nay, NLP còn được ứng dụng rộng rãi trong các lĩnh
vực như điều trị tâm lý, trầm cảm, hội chứng tic và rối loạn học tập. .[1]

- Việc sử dụng NLP sẽ giúp con người trở nên tập trung, tìm được động lực và đưa
ra những giải pháp để xử lý vấn đề toàn diện nhất. Bên cạnh đó, chúng còn được
biết đến đến với khả năng mô hình hóa hành vi của người thành công. Hiểu đơn
giản NLP sẽ “lập trình” não của người sử dụng theo bộ não của những thiên tài,
người giỏi giang. Điều này sẽ giúp mọi người bắt chước các hành vi của họ để phát
triển bản thân tốt hơn mỗi ngày. Những nhà sáng lập còn cho rằng nếu áp dụng
nguyên lý NLP đúng cách có thể phát huy năng lực giao tiếp và có cuộc sống hạnh
phúc hơn người thường.

- Xét trên khía cạnh doanh nghiệp, phương pháp NLP giúp các nhà lãnh đạo và nhân
viên trở nên ưu tú bằng cách gợi ý những chiến lược sáng tạo, góp phần tăng lợi
nhuận, giảm áp lực công việc. Đội ngũ nhân sự khi tuân thủ lập trình ngôn ngữ tư
4
duy sẽ hoàn thiện kỹ năng thuyết trình, đàm phán, ra quyết định,… để nâng cao
hiệu suất làm việc.

- Thư viện NLTK - Natural Language Toolkit là một trong những thư viện open-
source xử lí ngôn ngữ tự nhiên. Được viết bằng Python và với ưu điểm là dễ dàng
sử dụng nên thư viện này ngày càng trở nên phổ biến và có được một cộng đồng
lớn mạnh. Thư viện cung cấp hơn 50 kho dữ liệu văn bản khác nhau (corpora) và
nhiều chức năng để xử lí dữ liệu văn bản để phục vụ cho nhiều mục đích khác
nhau. Cài thư viện NLTK với pip pip install nltk.

- Xử lý ngôn ngữ tự nhiên (NLP) là một lĩnh vực trong trí tuệ nhân tạo (AI) mà mục
tiêu là giúp máy tính hiểu, đánh giá, và tương tác với ngôn ngữ con người. Dưới
đây là một số cách thực hiện xử lý ngôn ngữ tự nhiên:

2.1Tokenization:

- Tokenization là một quy trình bảo mật tự động mã hóa số thẻ của khách hàng thành
Token (những dãy kí tự đặc biệt), và thay vì phải lưu trữ số thẻ thì hệ thống chỉ lưu
trữ các Token.

- Mã Token được sử dụng thay cho thông tin thẻ trong các giao dịch, đảm bảo an
toàn tuyệt đối. Trong trường hợp xảy ra lỗ hổng dữ liệu, kẻ gian sẽ không thể truy
cập được vào dữ liệu thẻ thực sự, bởi những mã Token được lưu trong hệ thống sẽ
không có giá trị đối với tất cả mọi người sử dụng, ngoài trừ với những đơn vị thanh
toán hợp pháp

- Đây được xem là một giải pháp mà các tổ chức tín dụng, tài chính lớn trên thế giới
đã áp dụng khi phát hành thẻ thanh toán cho khách hàng của mình.

4
Hình 2. 7. Công nghệ Tokenization được hiểu là một quy trình bảo mật tự động mã hóa
số thẻ của mỗi khách hàng
- Tokenization mang lại rất nhiều lợi ích khác nhau. Không chỉ cho phép bạn trình
bày bằng kỹ thuật số ở bất kỳ khía cạnh nào của hoạt động Blockchain, cho phép
truy xuất nguồn gốc tuyệt đối cho từng đối tượng và tài sản được mã hóa, tạo ra
các hệ thống có thể dễ dàng được kiểm toán theo cách toàn diện hoặc phân biệt, mà
còn mở ra cánh cửa cho các khả năng vô tận. Những thứ mà trước đây rất phức tạp
và khó giải quyết.
Mục đích: Chia văn bản thành các "tokens" nhỏ, thường là từ hoặc câu.
Thư viện phổ biến: NLTK, spaCy, Tokenizers.
from nltk.tokenize import word_tokenize
text = "Xử lý ngôn ngữ tự nhiên là quan trọng." tokens = word_tokenize(text)
print(tokens)

- Mã nguồn bạn đã cung cấp sử dụng thư viện nltk để thực hiện phân đoạn
(tokenization) văn bản.
Dưới đây là ý nghĩa chi tiết của đoạn mã:
from nltk.tokenize import word_tokenize: Nhập hàm word_tokenize từ thư viện nltk.
Hàm này sẽ được sử dụng để phân đoạn văn bản thành các từ (tokens).
4
text = "Xử lý ngôn ngữ tự nhiên là quan trọng.": Tạo một chuỗi văn bản chứa câu cần
được phân đoạn.
tokens = word_tokenize(text): Gọi hàm word_tokenize để phân đoạn câu văn bản
thành các từ. Kết quả sẽ là một danh sách các từ.
print(tokens): In danh sách các từ ra màn hình.

2.2 . Stopword Removal:


Mục đích: Loại bỏ từ dừng (stopwords) không mang ý nghĩa cao.
Thư viện phổ biến: NLTK, spaCy.
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
text = "Xử lý ngôn ngữ tự nhiên là quan trọng."
stop_words = set(stopwords.words('vietnamese'))
tokens = word_tokenize(text)
filtered_tokens = [word for word in tokens if word.lower() not in stop_words]
print(filtered_tokens)

 Ý nghĩa:
from nltk.corpus import stopwords: Nhập danh sách các từ dừng từ thư viện nltk.
from nltk.tokenize import word_tokenize: Nhập hàm word_tokenize để phân đoạn câu
văn bản thành các từ.
text = "Xử lý ngôn ngữ tự nhiên là quan trọng.": Tạo một chuỗi văn bản cần được xử
lý.
stop_words = set(stopwords.words('vietnamese')): Lấy danh sách các từ dừng cho ngôn
ngữ Việt Nam từ thư viện nltk. Các từ dừng là những từ phổ biến và ít mang ý nghĩa
trong việc phân tích ngôn ngữ.
tokens = word_tokenize(text): Phân đoạn câu văn bản thành danh sách các từ.
filtered_tokens = [word for word in tokens if word.lower() not in stop_words]: Tạo một
danh sách mới (filtered_tokens) chỉ chứa các từ không nằm trong danh sách từ dừng.
Các từ được so sánh dưới dạng chữ thường để đảm bảo tính nhất quán.
print(filtered_tokens): In ra màn hình danh sách các từ sau khi loại bỏ từ dừng.

4
2.3 . POS Tagging (Phân loại từ loại):
Parser (Phân tích ngữ pháp)
Gán nhãn từ loại (Part Of Speech – POS tagging): một từ có nhiều từ loại (Danh từ,
Động từ, Tính từ, …)
Gán nhãn ranh giới ngữ: đâu là bắt đầu, kết thúc của các ngữ (phrase). Ví dụ ngữ danh
từ, ngữ động từ, …
Gán nhãn quan hệ ngữ pháp (grammatical relation)
Gán nhãn cây cú pháp (parse tree)

Hình 2. 8. Parse tree


Mục đích: Gắn nhãn cho mỗi từ với từ loại của nó trong câu.
Thư viện phổ biến: NLTK, spaCy.
import nltk text = "Xử lý ngôn ngữ tự nhiên là quan trọng."
tokens = word_tokenize(text)
pos_tags = nltk.pos_tag(tokens)
print(pos_tags)

 Ý nghĩa
4
import nltk: Nhập thư viện Natural Language Toolkit (nltk).
text = "Xử lý ngôn ngữ tự nhiên là quan trọng.": Tạo một chuỗi văn bản cần được phân
loại từ loại.
tokens = word_tokenize(text): Sử dụng hàm word_tokenize để phân đoạn câu văn bản
thành danh sách các từ.
pos_tags = nltk.pos_tag(tokens): Sử dụng hàm pos_tag từ nltk để thực hiện phân loại từ
loại cho danh sách các từ đã phân đoạn. Kết quả là một danh sách các cặp (từ, từ loại).
print(pos_tags): In ra màn hình danh sách các từ và từ loại tương ứng.

 Kết quả có thể trông như sau:


[('Xử', 'VB'), ('lý', 'NN'), ('ngôn', 'NN'), ('ngữ', 'NN'), ('tự', 'RP'), ('nhiên', 'VB'), ('là',
'VB'), ('quan', 'VB'), ('trọng', 'JJ'), ('.', '.')]
Trong đó:
'VB' là động từ (Verb),
'NN' là danh từ (Noun),
'RP' là giới từ (Preposition),
'JJ' là tính từ (Adjective),
'.' là dấu chấm câu.

2.4. NER (Named Entity Recognition - Nhận diện thực thể):

Hình 2. 9.NER (Named Entity Recognition


4
- Nhận dạng thực thể có tên (Named Entity Recognition – NER) nhằm nhận biết các
chuỗi từ trong văn bản là tên của một đối tượng nào đó, điển hình như tên người,
tên tổ chức, tên địa danh, thời gian v.v. NER là nhiệm vụ đóng vai trò quan trọng
trong các ứng dụng trích xuất thông tin, đã được quan tâm nghiên cứu trên thế giới
từ đầu những năm 1990.[2]

- Named Entity Recognition — NER: nhận dạng thực thể, là tác vụ cơ bản trong lĩnh
vực Xử lý ngôn ngữ tự nhiên. Vai trò chính của tác vụ này là nhận dạng các cụm từ
trong văn bản và phân loại chúng vào trong các nhóm đã được định trước như tên
người, tổ chức, địa điểm, thời gian, loại sản phẩm, nhãn hiệu, vân vân và vân vân...
Từ kết quả của task vụ NER có thể xử lý cho nhiều bài toán phức tạp hơn như
Chatbot, Question Answering, Search,...
Một ví dụ về NER:

Hình 2. 10. Ví dụ về NER


Mục đích: Nhận diện và phân loại các thực thể như tên riêng, địa điểm, tổ chức, v.v.
Thư viện phổ biến: NLTK, spaCy.
import spacy
text = "Công ty Google có trụ sở tại Thung lũng Silicon."
nlp = spacy.load("xx_ent_wiki_sm")
doc = nlp(text)
for ent in doc.ents: print(ent.text, ent.label_)

 Ý nghĩa:
import spacy: Nhập thư viện spaCy.
text = "Công ty Google có trụ sở tại Thung lũng Silicon.": Tạo một chuỗi văn bản chứa
thông tin cần nhận diện thực thể.
nlp = spacy.load("xx_ent_wiki_sm"): Tải mô hình ngôn ngữ của spaCy có khả năng
nhận diện thực thể (NER). Trong trường hợp này, mô hình là "xx_ent_wiki_sm", một

4
mô hình nhỏ được huấn luyện trên dữ liệu từ Wikipedia.
doc = nlp(text): Sử dụng mô hình đã tải để xử lý văn bản, tạo ra một đối tượng Doc
chứa thông tin về văn bản đã được xử lý.
for ent in doc.ents:: Duyệt qua danh sách các thực thể được nhận diện trong văn bản.
print(ent.text, ent.label_): In ra màn hình văn bản của thực thể và nhãn loại (label) của
nó.

 Ví dụ kết quả có thể trông như sau:


Google tổ chức Thung lũng Silicon địa điểm
Trong đó:
"Google" được nhận diện là một tổ chức (label: ORG).
"Thung lũng Silicon" được nhận diện là một địa điểm (label: GPE - Geo-Political
Entity).

2.5 . Sentiment Analysis (Phân tích tâm trạng):

Hình 2. 11. Sentiment Analysis


- Phân tích quan điểm là một ứng dụng của trí tuệ nhân tạo, nó sử dụng các thuật
4
toán phức tạp để xử lý ngôn ngữ tự nhiên của con người (NLP) và xác định các đặc
điểm cảm xúc tiêu cực/tích cực tại một thời điểm thông qua văn bản hoặc lời nói.
Các nguồn dữ liệu được phân tích phổ biến như Social media, Blog, Website đánh
giá sản phẩm, tổng đài Contact center,…

- Hiện nay, nhờ sự tiến bộ của các công nghệ thế hệ mới, các thuật toán phân tích
quan điểm ngày càng được nâng cấp với độ chính xác cao, từ đó hỗ trợ trong các
sản phẩm thông minh như trợ lý ảo tích hợp trên ô tô, căn hộ… cải thiện chất lượng
cuộc sống của con người.

2.6 . Phân tích chi tiết (Fine-Grained)

- Mô hình phân tích cảm xúc này này giúp xác định được độ chính xác của các tính
chất. Các tính chất chính được phân chia thành: rất tích cực, tích cực, trung tính,
tiêu cực hoặc rất tiêu cực. Việc phân chia chi tiết như vậy rất phù hợp để đánh giá
các cuộc trò chuyện.

- Đối với thang điểm đánh giá từ 1 đến 5, bạn có thể coi 1 là rất tiêu cực và 5 là rất
tích cực. Đối với thang điểm từ 1 đến 10, bạn có thể coi 1-2 là rất tiêu cực và 9-10
là rất tích cực.

2.7 . Dựa trên khía cạnh (Aspect-Based)

- Trong khi phân tích chi tiết xác định tính chất tổng thể cảm xúc của khách hàng
trong cuộc trò chuyện, thì phân tích dựa trên khía cạnh sẽ đi sâu hơn, nhận dạng cụ
thể từng khía cạnh trong lời nói của họ.

- Chẳng hạn khi khách hàng nói rằng “máy ảnh gặp khó khăn trong điều kiện ánh
sáng nhân tạo”. Với phân tích dựa trên khía cạnh, chúng ta không chỉ đánh giá
được đây là cảm xúc tiêu cực mà còn có thể xác định rằng người dùng đó đã nhận
xét tiêu cực về đối tượng “máy ảnh”.

2.8 . Phát hiện cảm xúc (Emotion Detection)

- Cảm xúc ở đây có thể bao gồm các sắc thái tức giận, buồn bã, hạnh phúc, thất
vọng, sợ hãi, lo lắng, hoảng sợ… Hệ thống phát hiện cảm xúc thường sử dụng từ
vựng – một tập hợp các từ truyền tải những cảm xúc nhất định. Một số bộ phân loại
4
nâng cao cũng sử dụng các thuật toán học máy (Machine Learning – ML) mạnh
mẽ.

2.9 . Phân tích ý định (Intent Analysis)

- Việc xác định chính xác mục đích của người tiêu dùng có thể giúp công ty tiết
kiệm thời gian, tiền bạc và công sức, bởi các doanh nghiệp có thể không tiếp tục
chăm sóc những khách hàng không tiềm năng và chưa có kế hoạch mua hàng. Phân
tích mục đích chính xác có thể giải quyết nhiều vấn đề cho doanh nghiệp như vậy.

- Phân tích mục đích giúp doanh nghiệp xác định mục đích của người tiêu dùng –
cho dù khách hàng có ý định mua hàng hay chỉ đang lướt qua. Nếu khách hàng sẵn
sàng mua hàng, bạn có thể theo dõi họ và nhắm mục tiêu họ bằng các quảng cáo.
Nếu người tiêu dùng chưa sẵn sàng mua, chúng ta có thể tiết kiệm thời gian và
nguồn lực bằng cách không quảng cáo cho họ.
Mục đích: Đánh giá tâm trạng của văn bản là tích cực, tiêu cực, hoặc trung lập.
Thư viện phổ biến: NLTK, TextBlob, VADER.
from textblob
import TextBlob text = "Xử lý ngôn ngữ tự nhiên rất thú vị!"
blob = TextBlob(text)
sentiment = blob.sentiment
print(sentiment)

 Ý nghĩa:
from textblob import TextBlob: Nhập class TextBlob từ thư viện textblob.
text = "Xử lý ngôn ngữ tự nhiên rất thú vị!": Tạo một chuỗi văn bản cần được phân tích
tâm trạng.
blob = TextBlob(text): Tạo một đối tượng TextBlob từ văn bản.
sentiment = blob.sentiment: Sử dụng phương thức sentiment để lấy thông tin về tâm
trạng của văn bản. Kết quả là một tuple chứa hai giá trị: polarité và subjectivity.
print(sentiment): In ra màn hình thông tin về tâm trạng.

 Kết quả có thể trông như sau:

4
Sentiment(polarity=0.5, subjectivity=0.6)
Trong đó:
polarity: Đo lường tâm trạng của văn bản, nằm trong khoảng [-1, 1]. Trong trường hợp
này, giá trị là 0.5, có thể diễn đạt là tâm trạng tích cực.
subjectivity: Đo lường mức độ chủ quan của văn bản, nằm trong khoảng [0, 1]. Trong
trường hợp này, giá trị là 0.6, cho thấy văn bản có mức độ chủ quan khá cao.

2.10 Machine Translation (Dịch máy):

- Dịch máy là quá trình sử dụng trí tuệ nhân tạo để tự động dịch văn bản từ ngôn ngữ
này sang ngôn ngữ khác mà không cần sự tham gia của con người. Phương pháp
dịch máy hiện đại không còn dừng lại ở việc dịch bám sát bản gốc để truyền đạt ý
nghĩa đầy đủ của văn bản ngôn ngữ gốc bằng ngôn ngữ đích. Mà giờ đây phương
pháp này còn phân tích tất cả các thành phần của văn bản, đồng thời nhận biết cả
cách thức các từ ảnh hưởng đến nhau.
Mục đích: Dịch văn bản từ một ngôn ngữ sang ngôn ngữ khác.
Thư viện phổ biến: Google Translate API, translate.
from translate
import Translator
translator = Translator(to_lang="en")
text = "Xử lý ngôn ngữ tự nhiên là quan trọng."
translation = translator.translate(text)
print(translation)

 Ý Nghĩa:
from translate import Translator: Nhập class Translator từ thư viện translate.
translator = Translator(to_lang="en"): Tạo một đối tượng Translator và chỉ định ngôn
ngữ đích là tiếng Anh ("en").
text = "Xử lý ngôn ngữ tự nhiên là quan trọng.": Tạo một chuỗi văn bản cần được dịch.
translation = translator.translate(text): Sử dụng phương thức translate để dịch văn bản
từ ngôn ngữ gốc sang ngôn ngữ đích.
print(translation): In ra màn hình văn bản đã được dịch.

4
Lưu ý rằng thư viện translate sử dụng Google Translate, và bạn cần kết nối internet để
thực hiện dịch văn bản. Kết quả có thể trông như sau:
"Natural language processing is important."

2.11 Text Generation (Tạo văn bản):

- Văn bản tự động (Natural Language Generation) là quá trình tạo ra các cụm từ và
câu có nghĩa dưới dạng ngôn ngữ giao tiếp của con người. Về bản chất, NLG tự
động tạo ra các đoạn văn bản có thể mô tả, tóm tắt hoặc thậm chí giải thích một
văn bản khác theo cách giống như con người với tốc độ hàng nghìn trang mỗi giây.

- Tuy nhiên, các thuật toán NLG chỉ có khả năng tạo ra ngôn ngữ chứ không thể đọc
và phân tích. Để có thể “đọc” hiểu được ngôn ngữ tự nhiên do con người tạo ra
(dạng văn bản) thì chúng ta cần đến NLU. NLU có nhiệm vụ chuyển hóa ngôn ngữ
tự nhiên (phi cấu trúc) thành dạng có cấu trúc mà máy tính có thể hiểu được.Đây là
nhiệm vụ của NLP (Natural Language Processing) – xử lý ngôn ngữ tự nhiên. NLP
đọc ngôn ngữ của con người và biến dữ liệu phi cấu trúc của nó thành dữ liệu có
cấu trúc mà máy tính có thể hiểu được được gọi là NLU (Natural Language
Understanding) – Hiểu ngôn ngữ tự nhiên.

- Nói chung, NLG (Sinh văn bản tự động) và NLU (Hiểu ngôn ngữ tự nhiên) là các
phần phụ của NLP , NLP bao gồm tất cả công cụ/ thuật toán thông dịch hoặc tạo ra
ngôn ngữ con người, ở dạng nói hoặc viết:
+ NLU hiểu ngôn ngữ dựa trên ngữ pháp, ngữ cảnh và từ đó biết được ý định của
câu và thực thể được nhắc đến trong câu.
+ NLP chuyển đổi một văn bản thành dữ liệu có cấu trúc.
+ NLG tạo văn bản dựa trên dữ liệu có cấu trúc.

Mục đích: Tạo văn bản mới dựa trên mô hình học máy.
Thư viện phổ biến: OpenAI GPT, LSTM, GRU.
# Đoạn mã không thể cung cấp vì yêu cầu sử dụng mô hình học máy đặc biệt.
4
# Các thư viện như OpenAI GPT có API để tạo văn bản mới.

3. TF-IDF

- Viết tắt của thuật ngữ tiếng Anh term frequency – inverse document frequency,tf-
idf là trọng số của một từ trong văn bản thu được qua thống kê thể hiện mức độ
quan trọng của từ này trong một văn bản, mà bản thân văn bản đang xét nằm trong
một tập hợp các văn bản.

- TF-IDF (viết tắt của term frequency – inverse document frequency) là một phương
thức thống kê thường được sử dụng trong mảng truy xuất thông tin (information
retrieval) và khai phá dữ liệu văn bản (text mining) để đánh giá mức độ quan trọng
của một cụm từ đối với một tài liệu cụ thể trong một tập hợp bao gồm nhiều tài
liệu. Khái niệm này đã xuất hiện từ rất sớm trong các lĩnh vực nghiên cứu khác
nhau, chẳng hạn như ngôn ngữ học (linguistics) và cấu trúc thông tin (information
architecture), nhờ vào khả năng hỗ trợ xử lý nhiều tập tài liệu với số lượng lớn
trong một khoảng thời gian ngắn.

- Các máy tìm kiếm thường sử dụng các biến số khác nhau của thuật toán TF-IDF
như là một phần trong cơ chế xếp hạng. Bằng cách gán cho các tài liệu một mức
điểm số về độ liên quan (relevance score), chúng có thể đưa ra các kết quả tìm
kiếm thích hợp chỉ trong phần triệu giây.

- Ví dụ, TF-IDF từ lâu đã là một phần trong cơ chế xếp hạng của Google. Google sử
dụng TF-IDF để xác định xem những cụm từ nào có liên quan (hoặc không liên
quan) về mặt chủ đề bằng cách phân tích tần suất một cụm từ xuất hiện trên một
trang (term frequency – TF) và tần suất ước tính xuất hiện trên một trang trung
bình, trong một tập hợp lớn hơn bao gồm nhiều tài liệu (inverse document
frequency – IDF).

4
Hình 2. 12. TF-IDF
- TF-IDF là một phương pháp dùng để đánh giá độ quan trọng của một từ hoặc cụm
từ trong tập văn bản (Nguồn ảnh: Moz)

- Để xác định xem một trang cụ thể có mức độ liên quan thế nào, Google sẽ phân
tích các trang có trong danh sách chỉ mục của nó dựa trên một số thuộc tính cụ thể
(features) mà nó cho là liên quan đến truy vấn.

- Bởi vì hầu hết nội dung online đều là văn bản, nên phần lớn các thuộc tính này có
thể là sự xuất hiện (presence) hoặc không xuất hiện (absence) của những từ hay
cụm từ nhất định trên trang đó. Ngoài ra, hệ thống cũng xem xét đến sự nổi bật
(prominence) của những từ đó trên trang so với các trang khác trên website.

- Và đây là lúc thuật toán TF-IDF trở nên cần thiết. Nó sẽ tính toán tần suất sử dụng
trung bình đối với một cụm từ cụ thể trên toàn website cũng như đặt ra một mức
tiêu chuẩn (benchmark) cho các từ stop word (là những từ được xem là quá phổ
biến, quá tổng quát và không mang ý nghĩa cụ thể nếu đứng độc lập) để mang đến
một kết quả chính xác hơn.

 Cơ Chế Hình Thành TF-IDF

- Bây giờ bạn đã biết được có hai khái niệm khác nhau trong cụm từ TF-IDF. Trong
khi TF (term frequency) tương đối dễ hiểu, thì IDF (inverse document frequency)
lại tương đối trừu tượng và khó hiểu hơn

- Đầu tiên, chúng ta cần biết rằng chỉ số TF-IDF có thể được tính toán dựa theo công
4
thức: TF-IDF = TF x IDF; trong đó đại lượng TF thể hiện số lần xuất hiện của một
cụm từ trong một tài liệu nào đó, còn đại lượng IDF sẽ là một đại lượng được tính
bằng hàm log. Mọi công việc tính toán sẽ được các máy tính thực hiện. Tuy nhiên,
bạn nên hiểu rằng giá trị TF-IDF không phải chỉ được hình thành dựa trên mật độ
từ khóa. Sau đây là công thức tính của các chỉ số này:
+ Term Frequency (TF): Tần suất xuất hiện của một từ trong một văn bản.
+ Hình thức đơn giản nhất của TF chính là đếm số lần sử dụng một từ khóa trên
một page hoặc một tài liệu nào đó. Tuy nhiên, lúc này sẽ có một vấn đề xảy ra: giả sử
có một trang sử dụng một từ khóa 10 lần thì sẽ được xem là có giá trị về độ liên quan
hơn là một trang chỉ sử dụng từ khóa 1 lần. Điều này trên thực tế lại không đúng. Và vì
lý do đó, chúng ta sẽ hạn chế sự sai lệch này lại, về mặt toán học thì giải pháp chính là
sử dụng một hàm dưới tuyến tính (sublinear function) để phản ánh chính xác hơn, cụ
thể ở đây là hàm lô-ga-rít (log).

Hình 2. 13. Hàm log


(Nguồn ảnh: Link-assistant)

- Khi tìm kiếm trên Internet, bạn có thể thấy có nhiều công thức tính TF khác nhau,
nhưng mỗi biến thể đều được xây dựng dựa trên cơ sở: Không phải một từ xuất
hiện càng nhiều trong một tệp thì mới có càng nhiều độ liên quan, và sự đóng góp
của TF đến độ liên quan của một tài liệu về bản chất là một hàm dưới tuyến tính.

- Chẳng hạn nếu TF của từ khóa “máy tính” trong tài liệu thứ nhất là 10 và trong tài
liệu thứ 2 là 20, thì ta có thể nói tài liệu 2 có sự liên quan với từ khóa “máy tính”
hơn tài liệu 1. Tuy nhiên, trong trường hợp TF của từ này không phải là 10 và 20
như trên mà là 1.000.000 và 2.000.000, thì lúc này sẽ không có nhiều sự khác biệt
về sự liên quan nữa do cả hai đều chứa một số lượng lớn từ khóa “máy tính”. Và

4
lúc này, hàm log được áp dụng để tinh gọn lại độ quan trọng của cụm từ có tần suất
lớn. Chẳng hạn nếu sử dụng hàm log cơ số 2, thì giá trị 1.000.000 đó sẽ được giảm
xuống chỉ còn 19.9.

- Ngoài ra, trong công thức trên, ta còn cộng thêm 1 vào, vì đôi khi có trường hợp từ
khóa chỉ xuất hiện 1 lần, và giá trị của log(1)=0. Nếu không cộng 1 thì TF lúc này
sẽ bằng 0. Trong khi về bản chất TF sẽ là 0 khi không có từ khóa nào xuất hiện
trong văn bản.

- Ví dụ, đối với công thức TF ở trên, nếu bạn có một trang có 1,000 từ và từ khóa
của bạn xuất hiện 10 lần, thì giá trị TF của nó sẽ là 4.32/9.97=0.43 (nếu bạn sử
dụng hàm số lô-ga-rít cơ số 2).

- Nếu từ khóa của bạn xuất hiện nhiều hơn gấp hai lần trong cùng một tài liệu đó, thì
giá trị TF của nó không thay đổi nhiều, lúc này sẽ là 5.32/9.97=0.53 (trong trường
hợp vẫn sử dụng hàm log cơ số 2).

- Tần suất xuất hiện của một cụm từ (TF) phản ánh xem bạn có đang sử dụng một từ
khóa quá thường xuyên hoặc quá hiếm khi dùng hay không. Tuy nhiên về bản chất
thì nó không mang lại nhiều giá trị vì bạn cần đo lường độ quan trọng của cụm từ,
không chỉ là tần suất về số lần sử dụng nó. Nếu không thì các từ ngữ chức năng (là
những từ nối, giới từ, đại từ…) sẽ thống trị hệ thống tìm kiếm. Để tránh việc đó,
chúng ta cần đến chỉ số IDF.

- Inverse Document Frequency (IDF): tần suất nghịch của một cụm từ trong một tập
hợp gồm nhiều tài liệu

- Chỉ số này thể hiện giá trị thực của một từ khóa cụ thể. Nó đo lường tỷ lệ giữa tổng
số lượng tài liệu với số lượng các tài liệu có chứa từ khóa đó. Công thức để tính
IDF như sau (tương tự như TF, bạn cũng có thể tìm thấy một vài cách tính biến thể
khác nhau của IDF, nhưng đều được xây dựng dựa trên bản chất của nó):

4
Hình 2. 14. Công thức tình IDF
(Nguồn ảnh: Link-assistant)

- Cũng giống như công thức TF ở trên, đối với IDF cũng vậy. Một hàm IDF tuyến
tính có thể đẩy điểm số của tài liệu lên quá cao khi có những cụm từ có điểm IDF
cao (có thể là những cụm từ hiếm gặp, những cụm từ sai chính tả…), trong trường
hợp đó thì một hàm dưới tuyến tính sẽ phản ánh chính xác giá trị hơn.

- Theo công thức trên, thì nếu từ khóa là một từ phổ biến, thì khả năng rất cao là nó
sẽ được sử dụng trong rất nhiều tài liệu. Do vậy, giá trị IDF của nó sẽ rất nhỏ, và
nếu ta nhân nó với chỉ số TF, thì giá trị tổng thể sẽ không thay đổi nhiều. Ngược
lại, nếu cụm từ đó chỉ được tìm thấy trong một vài tài liệu, thì giá trị IDF của nó sẽ
cao hơn từ đó dẫn đến điểm số TF-IDF cao hơn.

- Như vậy có thể thấy, không giống như đại lượng mật độ từ khóa chỉ phản ánh mức
độ “nhồi nhét” một từ khóa cụ thể vào trong văn bản, TF-IDF thể hiện vai trò là
một chỉ số toàn diện và nâng cao hơn, phản ánh mức độ quan trọng của một từ
khóa cụ thể đối với một trang cụ thể. Nó giúp làm giảm đi sự lấn át của những từ
và cụm từ không quan trọng, trong khi những cụm từ có ý nghĩa và xuất hiện
không nhiều sẽ được nâng cao mức độ quan trọng hơn.

4
CHƯƠNG 3: PHƯƠNG PHÁP THỰC HIỆN
1. Sơ đồ thực hiện

Hình 3. 1. Sơ đồ thực hiện Craw dữ liệu


2. Sử dụng ngôn ngữ python thu thập dữ liệu

2.1 Sử dụng bộ thư viện beautifulsoup

- Beautiful Soup là thư viện Python để lấy dữ liệu ra khỏi tệp HTML và XML.

4
- Nếu bạn đang sử dụng một phiên bản Debian hay Ubuntu Linux nào đó gần đây,
bạn có thể cài đặt Beautiful Soup bằng system package manager:

$ apt-get install python-bs4 (cho Python 2)


$ apt-get install python3-bs4 (cho Python 3)

- Beautiful Soup 4 được phát hành thông qua PyPI, vì thế nếu bạn không thể cài đặt
nó bằng system package manager, bạn có thể cài đặt nó bằng easy_install hoặc pip.
Tên của package là beautifulsoup4, và nó hoạt động như nhau trên cả hai phiên bản
Python2 và Python3. Hãy chắc rằng bạn sử dụng đúng phiên bản cho pip hoặc
easy_install cho phiên bản Python của bạn (chúng có thể được đặt tên là pip3 và
easy_install3 tương ứng nếu bạn sử dụng thêm cả Python3).
Cách thu thập dữ liệu từ thư viện được thực hiện như sau:

4
Hình 3. 2. Cách Craw dữ liệu bằng thư viện beautifulsoup
2.2 Sử dụng thư viện Selenium
Selenium là một bộ công cụ kiểm thử tự động open source, dành cho các ứng dụng
web, hỗ trợ hoạt động trên nhiều trình duyệt và nền tảng khác nhau như Windows,
Mac, Linus… Với Selenium, bạn có thể viết các testscript bằng các ngôn ngữ lập trình
khác nhau như Java, PHP, C#, Ruby hay Python hay thậm chí là Perl…
Selenium được sử dụng để automate các thao tác với trình duyệt, hay dễ hiểu hơn là nó
giúp giả lập lại các tương tác trên trình duyệt như một người dùng thực sự. Ví dụ bạn
có thể lập trình để tự động bật trình duyệt, open một link, input dữ liệu, hay get infor
page, upload, download dữ liệu từ trên web page. Với selenium bạn có thể làm đc rất
nhiều thứ. Hơn thế nữa, bạn có thể sử dụng, tùy biến để tận dụng tối đa sức mạnh của
nó. Ngoài mục đích sử dụng trong kiểm thử, bạn có thể tự xây dựng một project để
automate những công việc nhàm chán, lặp đi lặp lại của bạn.
- Một số tính năng nổi bật chung:
+ Có thể kết hợp với nhiều ngôn ngữ lập trình: Java, .Net, Ruby, Python, Perl.
+ Selenium giả lập thao tác người dùng trên web page và các web element.
+ Có thể verify và so sánh thông tin trên web page.
+ Script đc base theo HTML, học dễ và ứng dụng cũng rất nhanh.
+ Có thể tạo một bộ test bao gồm nhiều test case.

4
+ Có thể run các test suite thông qua Selenium IDE hoặc Selenium command line.
+ Selenium API hỗ trợ nhiều loại trình duyệt, do đó sẽ rất dễ dàng khi test các ứng
dụng web với các trình duyệt khác nhau.
Sau đây cách sử dụng craw dữ liệu bằng thư viện Selenium:

4
Hình 3. 3. Cách craw dữ liệu sử dụng thư viện Selenium

3. Xử lý ngôn ngữ tự nhiên

3.1 Thu thập dữ liệu:


Bước đầu tiên là thu thập dữ liệu văn bản, âm thanh hoặc ngôn ngữ tự nhiên từ nguồn
tương ứng.

3.2 Tiền xử lý (Tiền xử lý):


Quá trình xử lý tiền đang được thực hiện và chuẩn bị sạch dữ liệu để không thể sử
dụng nó trong NLP mô hình. Các bước xử lý trước có thể bao gồm:
+ Loại bỏ ký tự đặc biệt và dấu câu: Để loại bỏ những yếu tố không cần thiết.
+ Chuyển đổi về chữ thường: Đồng nhất viết chữ thường để tránh sự phân biệt giữa
chữ hoa và chữ thường.
+ Lemmatization and Stemming: Rút gọn từ về dạng cơ bản để giảm kích thước từ.
+ Loại bỏ từ dừng (dừng từ): Loại bỏ từ không mang ý nghĩa cao (ví dụ: "và", "the").
4
3.3 Mã thông báo:
Tokenization là quá trình chia câu hoặc đoạn văn thành các "token" nhỏ hơn (ví dụ: từ
hoặc văn bản tử tử). Tokenization giúp máy tính hiểu được cấu hình ngữ pháp của văn
bản.
3.4 Xây dựng Từ Vựng (Xây dựng từ vựng):
Xây dựng từ vựng là quá trình tạo ra một danh sách các từ mà mô hình sẽ sử dụng để
đào tạo. Các từ này thường được biểu hiện dưới dạng số vectơ.
3.5 Vector Biểu Diễn (Biểu diễn Vector):
Để máy tính có thể hiểu được văn bản, các từ cần được biểu thị dưới dạng số vectơ.
Các phương pháp như Word Embeddings (như Word2Vec, GloVe) hay Embeddings
dựa trên mô hình ngôn ngữ (như BERT) thường được sử dụng.
3.6 Xây dựng Mô hình NLP:
Sử dụng dữ liệu đã được xử lý và biểu tượng vectơ, xây dựng mô hình để thực hiện các
công việc NLP như phân loại văn bản, máy dịch, phân tích cảm xúc, vv.
3.7 Đánh Giá và Tinh Chỉnh:
Đánh giá hiệu suất của mô hình bằng cách kiểm tra dữ liệu và điều chỉnh các tham số
để cải thiện độ chính xác và hiệu suất.
3.8 Triển Khai và Duy Trì:
Triển khai mô hình trên môi trường thực tế và duy trì nó khi có cập nhật dữ liệu mới
hoặc yêu cầu thay đổi.
Để xử lý được dữ liệu ta cần thực hiện như sau:
+ Sử dụng các thư viện pandas (pd): Là một thư viện Python chuyên dụng để làm việc
với dữ liệu có cấu trúc, như bảng dữ liệu. Nó cung cấp các cấu trúc dữ liệu như
DataFrame, giúp dễ dàng thực hiện các thao tác xử lý dữ liệu.
import pandas as pd
+ Sử dụng các thư viện re:Là một thư viện Python cho xử lý biểu thức chính quy
(Regular Expressions). Nó cho phép bạn thực hiện các thao tác tìm kiếm và thay thế,
xử lý văn bản dựa trên mẫu.
import re
+ Sử dụng các thư viện unidecode: Thư viện unidecode được sử dụng để chuyển đổi
4
các ký tự Unicode sang ký tự không dấu tương đương trong ASCII. Điều này thường
được sử dụng để xử lý vấn đề về encoding và normalization.
import unidecode
+ Sử dụng các thư viện nltk (Natural Language Toolkit): Là một thư viện Python phổ
biến cho xử lý ngôn ngữ tự nhiên. Cung cấp các công cụ và tài nguyên cho các nhiệm
vụ như tokenize (tách từ), stop words, stemming, và nhiều chức năng khác.
import nltk
+ Sử dụng các thư viện stopwords: Là một tài nguyên từ vựng của thư viện nltk, chứa
danh sách các từ dừng (stop words) phổ biến trong ngôn ngữ tự nhiên. Các từ này
thường không mang ý nghĩa lớn và thường được loại bỏ trong quá trình xử lý ngôn ngữ
tự nhiên.
from nltk.corpus import stopwords
word_tokenize:
+ Sử dụng các thư viện Là một phương thức của thư viện nltk để tách câu thành các từ
(tokenize).
from nltk.tokenize import word_tokenize
+ Sử dụng các thư viện BeautifulSoup: Là một thư viện Python để phân tích cú pháp
HTML và XML. Trong ngữ cảnh của đoạn mã, nó có thể được sử dụng để loại bỏ các
thẻ HTML từ văn bản.
from bs4 import BeautifulSoup

4
4
Hình 3. 4. Xử lý dữ liệu
4. Chuyển dữ liệu sang TF-IDF

- TF-IDF chuyển đổi dạng biểu diễn văn bản thành dạng không gian vector (VSM),
hoặc thành những vector thưa thớt.

- TF (Term Frequency): là tần suất xuất hiện của một từ trong một đoạn văn bản.
Với những đoạn văn bản có độ dài khác nhau, sẽ có những từ xuất hiện nhiều ở
những đoạn văn bản dài thay vì những đoạn văn bản ngắn. Vì thế, tần suất này
thường được chia cho độ dài của đoạn văn bản như một phương thức chuẩn hóa
(normalization). TF được tính bởi công thức: tf(t)=f(t,d)/T (với t là một từ trong
đoạn văn bản f(t,d) là tần suất xuất hiện của t trong đoạn văn bản d; T là tổng số từ

4
trong đoạn văn bản đó).

- IDF (Inverse Document Frequency): tính toán độ quan trọng của một từ. Khi tính
toán TF, mỗi từ đều quan trọng như nhau, nhưng có một số từ trong tiếng Anh
như "is", "of", "that",... xuất hiện khá nhiều nhưng lại rất ít quan trọng. Vì vậy,
chúng ta cần một phương thức bù trừ những từ xuất hiện nhiều lần và tăng độ quan
trọng của những từ ít xuất hiện những có ý nghĩa đặc biệt cho một số đoạn văn bản
hơn bằng cách tính IDF: idf(t)=logN/|t∣ t∈D:t∈d | (trong đó N là tổng số đoạn văn
bản; tập |{t \in D : t \in d}| là số văn bản chứa từ t).

- TF-IDF được tính bởi: tf_idf(t)=tf(t)×idf(t).


Cách thực hiện được sử dụng như sau:

4
Hình 3. 5.Chuyển dữ liệu TF-IDF

CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN


* Kết luận & hướng phát triển
4
Chúng Em hiện thực một hệ thống dùng để xây dựng và cập nhập dữ liệu chỉ mục các
bài bảo khoa học sử dụng Web Crawler trên các thư viện số đồng thời kết hợp dữ liệu
chỉ mục có sẵn. Như vậy, so với hệ thống DBLP hay các hệ thống được giới thiệu
trong các bài báo chúng em đã cải thiện được độ chính xác cũng như hiệu năng khi
Crawl trên các thư viện số. Khác với giải pháp được giới thiệu trong của hệ thống ACI,
thì hệ thống chúng em đã tận dụng được dữ liệu có sẵn từ DBLP cũng như thu thập
được dữ liệu chỉ mục có sẵn trực tiếp từ thư viện số mà không cần download tài liệu
về. Đồ án cũng như đề ra một hướng tiếp cận để bổ sung và cập nhật dữ liệu DBLP
bằng cách lấy thông tin trực tiếp từ thư viện số. Ngoài ra với chức năng tự động cập
nhật theo thời gian định sẵn hệ thống đảm bảo được tính cập nhật các bài bảo mới được
công bố trên thư viện số.
Thực tế, người ta hướng đến đối tượng rằng Crawler Data sử dụng hạn vận chế tải việc
sử dụng tối ưu hướng đến đối tượng viên chức Nội dung. Crawler data sẽ support
Website xuất xứ mọi tất cả chúng ta sở hữu nhiều thông tin cẩn hơn, nhiều tin cẩn tức
hơn và sẽ sở hữu nhiều Users hơn. Dưới đó là những quyền nướu và hạn vận chế xuất
xứ việc Crawl data hướng đến đối tượng Website.
Ưu điểm:
+ Crawl Data giúp ta ít tốn nhiều thời kì và công sức và thời gian xuất xứ loài người
trong suốt thứ tự quét thông tin cẩn và tài liệu. Lúc những người dân du lịch crawl tài
liệu, người du lịch sở hữu một vô kể lượng nội dung vô cùng lớn nhưng nhưng ko phải
tốn đả nhập liệu.

4
Hình 4. 1. Hướng phát triển
+ Triển khai những bước Crawl data tiện nướu easy dùng. Toàn bộ tất cả chúng ta sở
hữu thể tích lũy thông tin cẩn xuất xứ nhiều Website ko như rau để so so. Đay đạ̉nvà sở
hữu thể sử dụng thuật toán tổng hợp tiềm năng trong suốt đồng đồng người tiêu sử
dụng.
+ Crawl Data giúp tăng lượt view hướng đến đối tượng những trang Website để người
khác bên cạnh biết tới. Toàn bộ tất cả chúng ta sở hữu thể tích lũy nội dung tự động
hóa hóa. Tăng trưởng Website và sử dụng phổ thông, phong phú hướng đến đối tượng
Website xuất xứ tôi. Từ đó, lôi kéo người coi một mẹo tự nhiên và đạt thành quả tốt.
+ Crawl Data quét lại kết quả tuyệt vời trong suốt việc sử dụng. Bất kỳ những nội
dung nào game thủ muốn quét thời người du lịch đều sở hữu thể quét trải sang việc
crawl tài liệu. Nó là 1 trong những trong suốt cách giải quyết vừa thời gian nhanh lượm
vừa hữu tiệm, ko mất thời kì lại trọn vẹn vẹn dữ thế dữ thế chủ động, phù hợp xác.
Hạn chế:
+ Dù vậy, crawl tài liệu nó sở hữu nhiều ưu thế trong suốt thứ tự seo Website. Nhưng
nó vẫn hiện hữu hạn vận chế rõ ràng ràng trong suốt việc quét thông tin cẩn tự động
hóa hóa một Website.

4
Hình 4. 2. Crawl
Lợi ích của việc crawl dữ liệu trong suốt website:
+ Hầu hết tất cả những app trong suốt đồng đồng người tiêu sử dụng đều sở hữu rủi ro
không may trưởng và “ứng dụng crawl tài liệu” cũng ko ngoại lệ. Crawl tài liệu tích
lũy tài liệu từ cấu trúc HTML xuất xứ trang Website. Nên sẽ sở hữu một rủi ro không
may đó là ví như Website đó làm mới cấu trúc html thời chương trình crawl xuất xứ tôi
phải update lại hướng đến đối tượng thích phù hợp với những gì đang làm mới.
+ Dù vậy, Lever rủi ro không may không cao vì Website làm mới cấu trúc lúc nhưng
người ta muốn upgrade hoặc tăng trưởng thế hệ. Thời kì để loài người update lại thuật
toán crawl xuất xứ tôi cũng rất thời gian nhanh lượm. Những người dân du lịch sở hữu
thể không phải quá phiền lòng vì vấn đề này.
+ Kỳ vọng, những nội dung tê phiên bản về Crawl tài liệu như chuyên môn trang đáp
ứng sẽ tương trợ người du lịch làm rõ hơn về Crawl Data là gì cũng tương tự quyền
như những nó sẽ mang lại.
Hướng phát triển.
Bước tiếp theo trong tương lai chúng tôi sẽ hoàn thiện hệ thống với các chức năng: -
Nâng cao hiệu năng thu thập cũng như rút ngắn thời gian phân tích kết quả trên thư
viện số. - Thu thập các bài bảo từ nhiều nguồn khác nhau. Bao gồm những thư viện số
khác và từ các trang cá nhân của tác giả. - Phân loại chủ đề cho các bài báo khoa học

4
đã được thu thập dựa trên những thông tin về chỉ mục của bài báo. - Xây dựng công cụ
tìm kiếm các bài báo khoa học dựa trên dữ liệu mà thu thập được Một phần của

TÀI LIỆU THAM KHẢO


[1] https://vinno.vn/tin-tuc/nlp-la-gi-6-ung-dung-ngon-ngu-tu-nhien-duoc-su-dung-
4
trongcuocsong#:~:text=X%E1%BB%AD%20l%C3%BD%20ng%C3%B4n%20ng
%E1%BB%AF%20t%E1%BB%B1%20nhi%C3%AAn%20(NLP)%20l
%C3%A0%20s%E1%BB%B1%20k%E1%BA%BFt,Gri%20v%C3%A0o%20nh
%E1%BB%AFng%20n%C4%83m%201970.
[2] https://vlsp.org.vn/sites/default/files/2019-06/Guidelines-NER-2018_0_0.pdf

You might also like