1. Trang chủ
  2. » Tất cả

Tìm hiểu về selenium để lấy dữ liệu từ trang web và sử dụng máy học để dự đoán đánh giá của sản phẩm

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

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm hiểu về selenium để lấy dữ liệu từ trang web và sử dụng máy học để dự đoán đánh giá của sản phẩm
Tác giả Nguyễn Xuân Cường, Nguyễn Tiến Hoàng, Nguyễn Hồng Thủy
Người hướng dẫn Nguyễn Hồng Thủy
Trường học Trường Đại Học Công Nghệ Thông Tin - Đại Học Quốc Gia Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo cáo đồ án
Năm xuất bản 2022
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 44
Dung lượng 1,16 MB

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

Nội dung

Máy học hay machine learning là một lĩnh vực của trí tuệ nhân tạo liên quan đến việc nghiên cứu và xây dựng các kĩ thuật cho phép các hệ thống "học" tự động từ dữ liệu để giải quyết nhữn

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

ĐỂ DỰ ĐOÁN ĐÁNH GIÁ CỦA SẢN PHẨM

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

Nguyễn Hồng Thủy

Sinh viên thực hiện:

Nguyễn Xuân Cường- 17520308 Nguyễn Tiến Hoàng – 17520515

TP HỒ CHÍ MINH, 2022

Trang 2

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

ĐỂ DỰ ĐOÁN ĐÁNH GIÁ CỦA SẢN PHẨM

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

Nguyễn Hồng Thủy

Sinh viên thực hiện:

Nguyễn Xuân Cường- 17520308 Nguyễn Tiến Hoàng – 17520515

TP HỒ CHÍ MINH, 2022

Trang 3

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC

CÔNG NGHỆ THÔNG TIN

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc Lập - Tự Do - Hạnh Phúc

TP HCM, ngày tháng năm 2022

NHẬN XÉT ĐỒ ÁN 2 (CỦA CÁN BỘ HƯỚNG DẪN)

Tên đồ án:

Tìm hiểu Selenium để lấy dữ liệu từ trang web và sử dụng máy học để dự đoán đánh

giá của sản phẩm

Nhóm sinh viên thực hiện: Cán bộ hướng dẫn:

NGUYỄN TIẾN HOÀNG 17520515

Đánh giá đồ án:

1 Về cuốn báo cáo:

Một số nhận xét về hình thức cuốn báo cáo:

Trang 4

- Điểm từng sinh viên:

NGUYỄN XUÂN CƯỜNG: ……… /10

NGUYỄN TIẾN HOÀNG: ……… /10

Người nhận xét

(Ký và ghi rõ họ tên)

Nguyễn Hồng Thủy

Trang 5

LỜI CẢM ƠN

Để hoàn thành đồ án này, chúng em xin gửi lời cảm ơn chân thành đến:

Ban Giám hiệu trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM vì đã tạo điều kiện về cơ sở vật chất với hệ thống thư viện hiện đại, đa dạng các loại sách, tài liệu thuận lợi cho việc tìm kiếm, nghiên cứu thông tin

Chúng em xin gửi lời cảm ơn chân thành đến cô Nguyễn Hồng Thủy đã tận tình giúp

đỡ, định hướng cách tư duy và cách làm việc khoa học Đó là những góp ý hết sức quý báu không chỉ trong quá trình thực hiện đồ án này mà còn là hành trang tiếp bước cho chúng em trong quá trình học tập và lập nghiệp sau này

Và cuối cùng, chúng em xin gửi lời cảm ơn đến gia đình, tất cả thầy cô trong khoa, bạn

bè, tập thể lớp KTPM2017 là những người luôn sẵn sàng sẻ chia và giúp đỡ trong học tập và cuộc sống Mong rằng, chúng ta sẽ mãi mãi gắn bó với nhau

Trong quá trình làm đồ án này chúng em không tránh khỏi được những sai sót, chúng

em kính mong nhận được sự chỉ dẫn và góp ý của quý thầy cô để đồ án được hoàn thiện hơn

Chúng em xin chân thành cảm ơn Xin chúc những điều tốt đẹp nhất sẽ luôn đồng hành cùng mọi người

Thành phố Hồ Chí Minh, … tháng … năm 2022

Sinh viên

NGUYỄN XUÂN CƯỜNG NGUYỄN TIẾN HOÀNG

Trang 6

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC

CÔNG NGHỆ THÔNG TIN

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc Lập - Tự Do - Hạnh Phúc

TP HCM, ngày… tháng … năm 2022

ĐỀ CƯƠNG CHI TIẾT

TÊN ĐỀ TÀI: Tìm hiểu Selenium để lấy dữ liệu từ trang web và sử dụng máy

học để dự đoán đánh giá của sản phẩm

TÊN ĐỀ TÀI (TIẾNG ANH):

Cán bộ hướng dẫn: Nguyễn Hồng Thủy

Thời gian thực hiện: Từ ngày 05/09/2022 đến ngày 28/12/2022

Sinh viên thực hiện:

Nguyễn Xuân Cường – 17520308

Nguyễn Tiến Hoàng – 17520515

Nội dung đề tài

I Lý do chọn đề tài:

Selenium là công cụ tự động hóa trình duyệt web ban đầu được thiết kế để tự

động hóa các ứng dụng web cho mục đích thử nghiệm (testing) Nó hiện được

sử dụng cho nhiều ứng dụng khác như tự động hóa các tác vụ quản trị dựa trên

web, tương tác với các nền tảng không cung cấp API, cũng như để thu thập

Trang 7

thông tin web (web crawling) Với Selenium, chúng ta có thể tự động hóa quá trình sử dung trình duyệt giống người dùng bình thường trên browser Từ việc truy cập vào trang chủ, next page, submit form, click button, link đều được tiến hành một cách tự động

Máy học hay machine learning là một lĩnh vực của trí tuệ nhân tạo liên quan đến việc nghiên cứu và xây dựng các kĩ thuật cho phép các hệ thống "học" tự động từ dữ liệu để giải quyết những vấn đề cụ thể Tuy nhiên với những người chưa tiếp xúc với máy học sẽ cảm thấy máy học là một lĩnh vực khó hiểu, khó học, khó tiếp cận Trong khi đó máy học là một lĩnh vực chiếm lĩnh thế giới công nghệ trong hiện tại và tương lai

Chính vì đó chúng em quyết định chọn đề tài này để hiểu thêm về Selenium, cách lấy và xử lý dữ liệu từ trang web bằng Selenium và ứng dụng máy học vào việc thể hiện kết quả đạt được

Tình trạng hiện nay:

- Hệ thống đánh giá sản phẩm bằng số sao có nhiều bất cập

- Người tiêu dùng có nhu cầu mua hàng khó có thể xác định chất lượng sản phẩm chỉ dựa vào số sao và các bình luận hàng đầu

⇒ Vì những lý do đó nhóm quyết định xây dựng một mô hình xử lý bình luận sản phẩm trên các trang thương mại điện tử

II Mục tiêu: bao gồm 2 mục tiêu chính:

1 Tìm hiểu về Selenium:

- Tìm hiểu về cách lấy dữ liệu từ trang web với Selenium

- Dùng Selenium để lấy dữ liệu từ các trang thương mại điện tử

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

Trang 8

- Tìm hiểu về python và một số thư viện cần thiết

- Tìm hiểu về xử lý ngôn ngữ tự nhiên

- Tìm hiểu cách tạo ra một mô hình hình máy học

III Đối tượng sử dụng:

- Người dân có nhu cầu tham khảo đánh giá sản phẩm

IV Phương pháp thực hiện:

Phương pháp làm việc:

- Làm việc nhóm 2 thành viên thông qua phương thức online dưới sự hướng dẫn của giảng viên hướng dẫn

Phương pháp nghiên cứu:

- Nguyên cứ tài liệu Selenium, machine learning và các công nghệ liên quan

- Thu thập dữ liệu về sản phẩm cụ thể trên các trang web

Phương pháp công nghệ:

- Tìm hiểu cách thức xây dựng một mô hình máy học

- Xây dựng ứng dụng Web để thể hiện kết quả đạt được

V Nền tảng công nghệ:

- Frontend: HTML, CSS, Javascript

- Backend: Django

- Database: MySQL

VI Kết quả mong đợi:

- Dữ liệu thu thập có độ chính xác cao, đến từ nhiều nguồn

Trang 9

- Kết quả đánh giá cố độ chính xác cao

- Trang web thể hiện được kết quả nghiên cứu đầy đủ, trực quan

VII Hướng phát triển của đề tài:

- Tăng độ chính xác của mô hình

VIII Kế hoạch làm việc:

Thời gian thực hiện từ ngày 05/09/2022 đến ngày 28/12/2022

Nhóm chia thành 3 giai đoạn cụ thể:

Giai đoạn 1: Tìm hiểu về Selenium và lấy dữ liệu từ trang web

Thời gian: 05/09/2022 -09/10/2022

1 Tìm hiểu về Selenium, webdriver

2 Dùng Selenium để xấy dựng một script crawl bình luận của sản phẩm từ các trang thương mại điện tử

Giai đoạn 2: Tìm hiểu về xử lý ngôn ngữ tự nhiên và xây dựng mô hình

Thời gian: 09/10/2022 - 15/11/2022

1 Tìm hiểu về python và các thư viện cần thiết

2 Tìm hiểu về quá trình xử lý ngôn ngữ tự nhiên

3 Tìm hiểu về một số mô hình máy học

4 Xây dựng mô hình xử lý đánh giá sản phẩm

Giai đoạn 3: Xây dựng website thể hiện kết quả nghiên cứu

Thời gian: 15/11/2021-28/12/2022

Trang 10

Xác nhận của CBHD

(Ký tên và ghi rõ họ tên)

TP HCM, ngày tháng năm 2022

Trang 11

MỤC LỤC

MỤC LỤC 11

DANH MỤC HÌNH ẢNH 13

1 Lý do chọn đề tài 14

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

3 Phương pháp thực hiện 15

4 Ý nghĩa và kết quả hướng tới 15

a Về mặt sản phẩm 15

b Về mặt tài liệu 15

Chương 2: TÌM HIỂU VỀ SELENIUM 16

1 Tổng quát về Selenium 16

a Selenium là gì 16

b Selenium IDE 17

c Selenium RC 17

d WebDriver 17

e Selenium Grid 17

2 Các bước cơ bản để crawl data từ web bằng Selenium 18

Chương 3: TÌM HIỂU VỀ MÁY HỌC VÀ XỬ LÝ NGÔN NGỮ TỰ NHIÊN 18 1 Tổng quát về máy học 18

a Máy học là gì 18

b Các bước thực hiện máy học 18

c Phân loại 19

d Một số khái niệm 19

2 Tổng quát về xử lý ngôn ngữ tự nhiên 21

a Giới thiệu về xử lý ngôn ngữ tự nhiên (NLP) 21

b Các nhiệm vụ chính trong xử lý ngôn ngữ tự nhiên 22

c Một số ứng dụng của xử lý ngôn ngữ tự nhiên 23

Chương 4: MỘT SỐ MODEL XỬ LÝ NGÔN NGỮ TỤ NHIÊN PHỔ BIẾN 25 1 Support Vector Machine (SVM) 25

Trang 12

a SVM là gì 25

b SVM làm việc như thế nào 26

c Ưu điểm của SVM 31

d Nhược điểm của SVM 31

2 Convolutional Neural Network (CNN) 31

a CNN là gì 31

b Các lớp cơ bản của mạng CNN 32

c Cấu trúc của mạng CNN 33

d Ưu điểm của CNN 35

e Nhược điểm của CNN 35

3 Bidirectional Encoder Representations from Transformers (BERT) 36

a BERT là gì 36

b Nền tảng của BERT 36

c Phương pháp Fine-tuning BERT 38

d Ưu điểm của BERT 39

e Nhược điểm của BERT 39

Chương 5: SỬ DỤNG SELENIUM ĐỂ LẤY DỮ LIỆU TỪ TRANG WEB 40

Chương 6: SỬ DỤNG MÁY HỌC ĐỂ ĐÁNH GIÁ SẮC THÁI CỦA BÌNH LUẬN 42 1 Xử lý dữ liệu 42

2 Dùng dữ liệu để train một số mô hình nhằm giải bài toán Sentiment analysis 43

Chương 7: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 44

1 Kết quả đạt được 44

2 Ưu điểm 44

3 Khuyết điểm 44

4 Hướng phát triển 44

Trang 13

DANH MỤC HÌNH ẢNH

Hình 1 Các thành phần của Selenium 16

Hình 2 SVM trong không gian hai chiều và ba chiều 25

Hình 3 Siêu phẳng tối ưu có lề cực đại 26

Hình 4 Cách chọn siêu phẳng tối ưu 27

Hình 5 Trường hợp dữ liệu có nhiều điểm gây nhiễu 29

Hình 6 Trường hợp dữ liệu không tuyến tính 30

Hình 7 Minh họa CNN 32

Hình 8 CNN trong xử lý ngôn ngữ tự nhiên 33

Hình 9 Cấu trúc của mạng CNN 34

Hình 10 Mô hình Encoder 37

Hình 11 Hàm khởi tạo và cấu hình WebDriver 40

Hình 12 Lấy link sản phẩm 40

Hình 13 Lưu bình luận và số sao 40

Hình 14 Lấy dữ liệu đánh giá và số sao cho từng sản phẩm 41

Hình 15 Bộ dữ liệu chưa xử lý 42

Hình 16 Thông tin Dataframe 42

Hình 17 Bộ dữ liệu sau xử lý 43

Hình 18 Tách bộ dữ liệu thành train set và test set 43

Trang 14

Chương 1: TÌM HIỂU CHUNG

- Machine learning gây nên cơn sốt công nghệ trên toàn thế giới trong vài năm nay Trong giới học thuật, mỗi năm có hàng ngàn bài báo khoa học về đề tài này Trong giới công nghiệp, từ các công ty lớn như Google, Facebook, Microsoft đến các công ty khởi nghiệp đều đầu tư vào machine learning Hàng loạt các ứng dụng sử dụng machine learning ra đời trên mọi lĩnh vực của cuộc sống, từ khoa học máy tính đến những ngành ít liên quan hơn như vật lý, hóa học, y học, chính trị

- Tình trạng hiện nay:

+ Hệ thống đánh giá sản phẩm bằng số sao có nhiều bất cập

+ Người tiêu dùng có nhu cầu mua hàng khó có thể xác định chất lượng sản phẩm chỉ dựa vào số sao và các bình luận hàng đầu

⇒ Vì những lý do đó nhóm quyết định xây dựng một mô hình xử lý bình luận sản phẩm trên các trang thương mại điện tử

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

- Tìm hiểu các kiến thức cơ bản về Selenium

- Dùng Selenium để crawl dữ liệu từ trang web

- Tìm hiểu các kiến thức cơ bản về máy học và một số các mô hình phổ biến

- Xây dựng mô hình máy học có thể ứng dụng trong thực tế

Trang 15

- Xây dựng trang web thể hiện hết quả nghiên cứu

3 Phương pháp thực hiện

- Tìm hiểu về Selenium và các thư viện hỗ trợ

- Tìm hiểu về một số trang thương mại điên tử nổi tiếng, dùng Selenium để crawl

dữ liệu bình luận từ các trang web đó

- Tìm hiểu về một số mô hình phổ biến trong xử lý ngôn ngữ tự nhiên

- Xử lý dữ liệu đã crawl được và dùng chúng để xây dựng một số mô hình xử lý ngôn ngữ tự nhiên

- Xây dựng trang web thể hiện kết quả đạt được và đánh giá mô hình

4 Ý nghĩa và kết quả hướng tới

a Về mặt sản phẩm

- Dữ liệu đầy đủ, phong phú, chính xác

- Mô hình máy học có độ chính xác cao

- Trang web thể hiện rõ ràng, trực quan kết quả đạt được

b Về mặt tài liệu

- Bản báo cáo của đề tài sẽ trở thành tài liệu nghiên cứu, tham khảo nhanh, dễ hiểu cho các bạn quan tâm đến Selenium cũng như máy học hoặc trí tuệ nhân tạo

Trang 16

Chương 2: TÌM HIỂU VỀ SELENIUM

- Bộ công cụ Selenium gồm Selenium IDE, Selenium Remote Control (Selenium RC), WebDriver và Selenium Grid Hiện tại, Selenium RC và WebDriver đã được hợp nhất thành một framework duy nhất để tạo ra Selenium 2 Còn Selenium 1 chính là Selenium RC

Hình 1 Các thành phần của Selenium

Trang 17

b Selenium IDE

- Là khuôn khổ đơn giản nhất trong bộ Selenium và là cách đơn giản nhất để học Đây là một plugin của trình duyệt mà bạn có thể cài đặt dễ dàng như các plugin khác Tuy nhiên, vì tính đơn giản của nó, Selenium IDE chỉ nên được sử dụng như là một công cụ tạo mẫu Nếu bạn muốn tạo các trường hợp thử nghiệm nâng cao hơn, bạn sẽ cần phải sử dụng Selenium RC hoặc WebDriver

c Selenium RC

- Selenium RC là framework thử nghiệm hàng đầu của toàn bộ dự án Selenium trong một thời gian dài Đây là công cụ kiểm tra web tự động đầu tiên cho phép người dùng sử dụng ngôn ngữ lập trình mà họ thích Tính đến phiên bản 2.25.0,

RC có thể hỗ trợ các ngôn ngữ lập trình sau: Java, C#, PHP, Python, Perl, Ruby

d WebDriver

- WebDriver chứng tỏ bản thân nó tốt hơn cả Selenium IDE và Selenium RC về nhiều mặt Nó thực hiện tiếp cận hiện đại và ổn định hơn trong tự động hoá các hành động của trình duyệt WebDriver, không giống như Selenium RC, không phụ thuộc vào JavaScript cho Tự động hóa Nó điều khiển trình duyệt bằng cách liên lạc trực tiếp với nó Các ngôn ngữ được hỗ trợ giống với Selenium

RC

e Selenium Grid

- Selenium Grid là một công cụ được sử dụng cùng với Selenium RC để chạy thử nghiệm song song trên các máy khác nhau và các trình duyệt khác nhau cùng một lúc Thực hiện song song có nghĩa là chạy nhiều kiểm thử cùng một lúc Tính năng:

+ Cho phép chạy đồng thời các thử nghiệm trong nhiều trình duyệt và môi trường

+ Tiết kiệm thời gian to lớn

Trang 18

+ Sử dụng khái niệm hub-and-nodes Hub hoạt động như một nguồn chính của Selenium lệnh cho mỗi nút kết nối với nó

2 Các bước cơ bản để crawl data từ web bằng Selenium

- Bước 1: cài đặt Selenium và driver cho trình duyệt cần sử dụng

- Bước 2: import các thư viện cần thiết và thêm một số tùy chọn cho trình duyệt, sau đó khởi tạo đối tượng

- Bước 3: tạo request đến trang web cần lấy dữ liệu và đợi response từ trang Bản chất Javascript là không đồng bộ, vì vậy một số phần tử có thể không được tải đầy đủ và hiển thị ngay lập tức Trong thực tế, nên thêm một số thời gian trễ trước khi nhận được phản hồi

- Bước 4: tương tác với dữ liệu Selenium cung cấp một số cách để truy cập các phần tử trên trang Các phương pháp thường được sử dụng là:

+ Elements by id: cách này bạn sẽ cần kiểm tra mã nguồn và tìm id của phần

tự động từ dữ liệu để giải quyết những vấn đề cụ thể

b Các bước thực hiện máy học

- Thu thập dữ liệu

- Chuẩn bị dữ liệu

Trang 19

- Huấn luyện mô hình

+ Classification (Phân loại)

+ Regression (Hồi Quy)

- Unsupervised Learning (Học không giám sát)

+ Clustering (Phân nhóm)

+ Association (kết hợp)

- Semi-Supervised Learning (Học bán giám sát): Là các bài toán khi chúng ta có một lượng lớn dữ liệu X nhưng chỉ một phần trong chúng được gán nhãn

- Reinforcement Learning (Học củng cố): Là các bài toán giúp cho một hệ thống

tự động xác định hành vi dựa trên hoàn cảnh để đạt được lợi ích cao nhất

d Một số khái niệm

- Overfitting

Mô hình rất hợp lý, rất khớp với tập huấn luyện nhưng khi đem ra dự đoán với

dữ liệu mới thì lại không phù hợp Nguyên nhân có thể do ta chưa đủ dữ liệu để đánh giá hoặc do mô hình của ta quá phức tạp Mô hình bị quá phức tạp khi mà

mô hình của ta sử dụng cả những nhiễu lớn trong tập dữ liệu để học, dẫn tới mất tính tổng quát của mô hình

- Underfitting

Trang 20

Mô hình chưa được chưa phù hợp với tập dữ liệu huấn luyện và cả các mẫu mới khi dự đoán Nguyên nhân có thể là do mô hình chưa đủ độ phức tạp cần thiết để bao quát được tập dữ liệu

- Train/Test/Val set

Hầu hết các mô hình machine learning đều yêu cầu việc phân chia dataset thành các tập nhỏ hơn

+ Train set: là một tập các cặp input và output, có kích thước lớn, được dùng

để training trong quá trình huấn luyện máy học

+ Test set: là tập các giá trị input và được dùng để kiểm thử độ chính xác của những mô hình máy học sau khi được huấn luyện

+ Val set (validation set): được tách từ train set để đánh giá độc lập hiệu suất của mô hình và kiểm tra các hiện tượng overfitting và underfitting Mục đích của train set là huấn luyện mô hình nên tập train cần chiếm tỷ lệ lớn

để giúp mô hình học bao quát được các trường hợp của dữ liệu Val set là tập dữ liệu sử dụng để đánh giá lại mô hình xem có xảy ra các hiện tượng overfitting và underfitting hay không? Những hiện tượng này cần được khắc phục nhằm giúp

mô hình dự báo tốt hơn trên dữ liệu thực tế

- Loss function

Loss function trả về một số thực không âm thể hiện sự chênh lệch giữa hai đại lượng: y' (label được dự đoán) và y (label đúng) Loss function giống như một hình thức để bắt model đóng phạt mỗi lần nó dự đoán sai, và số mức phạt tỉ lệ thuận với độ trầm trọng của sai sót Trong mọi bài toán supervised learning, mục tiêu của ta luôn bao gồm giảm thiểu tổng mức phạt phải đóng Trong trường hợp

lý tưởng loss function sẽ trả về giá trị cực tiểu bằng 0

- Bagging

Xây dựng một lượng lớn các model (thường là cùng loại) trên những subsamples khác nhau từ tập training dataset (random sample trong 1 dataset để tạo 1 dataset

Trang 21

mới) Những model này sẽ được train độc lập và song song với nhau nhưng đầu

ra của chúng sẽ được trung bình cộng để cho ra kết quả cuối cùng

- Boosting

Xây dựng một lượng lớn các model (thường là cùng loại) Mỗi model sau sẽ học cách sửa những errors của model trước (dữ liệu mà model trước dự đoán sai) -> tạo thành một chuỗi các model mà model sau sẽ tốt hơn model trước bởi trọng

số được update qua mỗi model

- Stacking

Xây dựng một số model (thường là khác loại) và một meta model (supervisor model), train những model này độc lập, sau đó meta model sẽ học cách kết hợp kết quả dự báo của một số mô hình một cách tốt nhất

2 Tổng quát về xử lý ngôn ngữ tự nhiên

a Giới thiệu về xử lý ngôn ngữ tự nhiên (NLP)

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

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

âm thanh) Các ứng dụng quan trọng của xử lý tiếng nói bao gồm nhận dạng tiếng nói và tổng hợp tiếng nói Nếu như nhận dạng tiếng nói là chuyển ngôn ngữ từ dạng tiếng nói sang dạng văn bản thì ngược lại, tổng hợp tiếng nói chuyển ngôn ngữ từ dạng văn bản thành tiếng nói Xử lý văn bản tập trung vào phân tích

dữ liệu văn bản Các ứng dụng quan trọng của xử lý văn bản bao gồm tìm kiếm

Trang 22

và truy xuất thông tin, dịch máy, tóm tắt văn bản tự động, hay kiểm lỗi chính tả

tự động Xử lý văn bản đôi khi được chia tiếp thành hai nhánh nhỏ hơn bao gồm hiểu văn bản và sinh văn bản Nếu như hiểu liên quan tới các bài toán phân tích văn bản thì sinh liên quan tới nhiệm vụ tạo ra văn bản mới như trong các ứng dụng về dịch máy hoặc tóm tắt văn bản tự động

b Các nhiệm vụ chính trong xử lý ngôn ngữ tự nhiên

- Phân tích hình vị: là sự nhận biết, phân tích, và miêu tả cấu trúc của hình vị trong một ngôn ngữ cho trước và các đơn vị ngôn ngữ khác, như từ gốc, biên từ, phụ

tố, từ loại, v.v Trong xử lý tiếng Việt, hai bài toán điển hình trong phần này là tách từ (word segmentation) và gán nhãn từ loại (part-of-speech tagging)

- Phân tích cú pháp: là quy trình phân tích một chuỗi các biểu tượng, ở dạng ngôn ngữ tự nhiên hoặc ngôn ngữ máy tính, tuân theo văn phạm hình thức Văn phạm hình thức thường dùng trong phân tích cú pháp của ngôn ngữ tự nhiên bao gồm Văn phạm phi ngữ cảnh (Context-free grammar – CFG), Văn phạm danh mục kết nối (Combinatory categorial grammar – CCG), và Văn phạm phụ thuộc (Dependency grammar – DG) Đầu vào của quá trình phân tích là một câu gồm một chuỗi từ và nhãn từ loại của chúng, và đầu ra là một cây phân tích thể hiện cấu trúc cú pháp của câu đó

- Phân tích ngữ nghĩa: là quá trình liên hệ cấu trúc ngữ nghĩa, từ cấp độ cụm từ, mệnh đề, câu và đoạn đến cấp độ toàn bài viết, với ý nghĩa độc lập của chúng Nói cách khác, việc này nhằm tìm ra ngữ nghĩa của đầu vào ngôn từ Phân tích ngữ nghĩa bao gồm hai mức độ: Ngữ nghĩa từ vựng biểu hiện các ý nghĩa của những từ thành phần, và phân biệt nghĩa của từ; Ngữ nghĩa thành phần liên quan đến cách thức các từ liên kết để hình thành những nghĩa rộng hơn

- Phân tích diễn ngôn: là phân tích văn bản có xét tới mối quan hệ giữa ngôn ngữ

và ngữ cảnh sử dụng (context-of-use) Phân tích diễn ngôn, do đó, được thực hiện ở mức độ đoạn văn hoặc toàn bộ văn bản thay vì chỉ phân tích riêng ở mức câu

Ngày đăng: 01/02/2023, 21:14

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w