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

Đề tài xây dựng hệ thống nhận dạng chữ số viết tay sử dụng tensorflow

47 2 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Hệ Thống Nhận Dạng Chữ Số Viết Tay Sử Dụng TensorFlow
Tác giả Vũ Minh Chiến, Phạm Đình Duy, Đàm Như Đạt, Bùi Ngọc Đức, Nguyễn Thị Hương
Trường học Trường Đại Học Công Nghệ Đông Á
Chuyên ngành Công Nghệ Thông Tin
Thể loại bài tập lớn
Năm xuất bản 2024
Thành phố Bắc Ninh
Định dạng
Số trang 47
Dung lượng 5,32 MB

Nội dung

TensorFlow, một thư viện mã nguồn mở do Google phát triển, đã trở thành một cơng cụ mạnh mẽ trong việc xây dựng và triển khai các mơ hình học sâu deep learning phục vụ cho nhận diện ngơn

Trang 1

_ BQ GIAO DUC VA DAO TAO | TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á KHOA: CÔNG NGHỆ THÔNG TIN

BÀI TẬP LỚN HỌC PHAN: TRI TUE NHAN TAO

DE TAI: XAY DUNG HE THONG NHAN DANG CHU SO VIET

TAY SU DUNG TENSORFLOW

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CONG NGHE DONG A KHOA: CONG NGHE THONG TIN

BAI TAP LON HOC PHAN: TRI TUE NHAN TAO

Nhom: 04

DE SO: 38

DE TAI: XAY DUNG HE THONG NHAN DANG CHU SO VIET

TAY SU DUNG TENSORFLOW

Sinh viên thực hiện | Mã sinh viên | Điếm băng số | Điểm bằng chữ

Vũ Minh Chiên 20211416

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

Trang 3

MỞ ĐẦU

Nhận diện ngơn ngữ tự nhiên là một trong những thách thức quan trọng trong lĩnh vực xử lý ngơn ngữ tự nhiên (NLP) và trí tuệ nhân tạo Với sự phát triển nhanh chĩng của các ứng dụng thơng minh, việc phân tích, xử lý và hiểu ngơn ngữ trở thành yếu tổ cốt lỗi, mở ra nhiều cơ hội phát triển các hệ thống hỗ trợ giao tiếp giữa người và máy tính

Nhận diện ngơn ngữ (Languàe Identification - LID) là quá trình xác định ngơn ngữ của một đoạn văn bản đầu vào, đĩng vai trị quan trọng trong việc tiền xử lý dữ liệu trước khi tiến hành các nhiệm vụ NLP khác như dịch thuật tự động, phân tích cú pháp,

và tìm kiếm thơng tin đa ngơn ngữ

TensorFlow, một thư viện mã nguồn mở do Google phát triển, đã trở thành một cơng cụ mạnh mẽ trong việc xây dựng và triển khai các mơ hình học sâu (deep learning) phục vụ cho nhận diện ngơn ngữ Với sự hỗ trợ của Python, TensorFlow cung cấp các API dễ sử dụng, giúp các nhà nghiên cứu và kỹ sư dễ dàng xây dựng các mơ hình học máy từ đơn giản đến phức tạp

Trong báo cáo này, chúng tem sẽ tập trung vào việc ứng dụng TensorFlow giải quyết bài tốn nhận điện ngơn ngữ, thơng qua việc xây dựng mơ hình học sâu nhăm xác định chính xác ngơn ngữ của các đoạn văn bản đâu vào

Trang 4

900 In 4

1.1 Giới thiệu công cụ phát triỂn 2-52 ST 22 S3 3222 21x11 crrerersei 6

1.2 Các thư viện và module được sử dụng - - - S eee tree erent eeeetnaeeeeeeenaaes 9 1.2.1 Thư viện TensorFlow nh nh kg ng kh kh 9

1.2.3 Thư viện Numpy Ăn ng ng ng ng KH tk kh 14 1.2.4 Thư viện OpenCY err TH TT ng gà TK kh 17

CHƯƠNG II: XÂY DỰNG CHƯƠNG TRÌNH 0 2 2 2222222 exsxsrrxerrrrerree 22

2.1.1 Xử lý ngôn ngữ tự nhiên (Natural Language Processing) là gì? 22 2.1.2 Thuật toán và tập dữ liệu ch ng kh kết 25 2.1.3 InpUt & OU[DUI TT HH TH TH TH HH KH kg 25 2.1.4 _ Quy trình bài tOÁP c LH KH KH kg KH tk hykt 26 2.2 Mô hình thuật toán sử dụng cho bài toán - che 27 2.1.1 Convolution là GÌ? - ch TH Tnhh KH kh ĐH KH 27 2.1.2 Vậy tính tích chập để làm gì? S522 2tS St xe 3S 2xx sxrxerrrrerrre 27 2.1.3 Mạng nơ-ron tích chập là gÌ? nh nh kh kh kh 29 2.1.4 CNN áp dụng như thế nào vào nhận diện ngôn ngữ tự nhiên (NLP)? 30 2.1.5 Các lớp CNN được xây dựng trong bài toán Ăn nhnnnhehhheee 32 2.3 Mô tả quá trình đào tạo máy với CNNs và Tensorflow 33 2.4 Cấu trúc chương trình +: S2 S2 St St SE SE E223 EEEEEE 1221151111 2E Trrre 39 2.5 Các giao diện chương trình cece eens eee nh ng kết 41

CHƯƠNG III: KÉT QUÁ THỰC NGHIỆM CHƯƠNG TRÌNH .- 55 42

3.1 Mô tả giao diện chính n n nnnnnn hnnnnh gà 42

1.2.3 Mau thử nghiệm 3.00.00 ccc cccccccessescsecessesesesscscsecessesesesaessesessseseasesseeaeeees 43 1.2.4 Mẫu thử nghiệm 4.000.000 cccccccecsescsecessesesesscecsecessesesesacecseessesesesasesseesaeeees 43 1.2.5 Mau thir nghiém 5.00.00 cccccccccessescsececsesesesscscseesesesesacecsesesesesesacesseesaeeees 43 1.2.6 Mẫu thử nghiệm 6 - (2-52 12223 St SE 2322353 121 E335 1E1 1E E1 rrree 44

4

MỤC LỤC

Trang 5

1.2.7 Mẫu thử nghiệm 7 - 2-52 222 St S322 E3 121 E335 1E1 1E re rrvrrrec 44 1.2.8 Mẫu thử nghiệm 8 S2 S2 12321 2v SE 23222153 1 1 E115 E11 xxx vrrrờc 44 1.2.9 Mẫu thử nghiệm 9 L5 S22 2323 v SE 232111511211 1151111111 HH rrrờc 45 1.2.10 Mẫu thử nghiệm 1( - -:- S2 2 St S323 3 E3 2E E353 ty nh rec 45

CHUONG IV: KET LUAN ng - 46

4.1 Các nội dung đã đạt được va chưa đạt được - - nh nhe nhe 46 LAM na A ÔỎ 46

IV \180i130/9:7 0/864 ản 47

9

Trang 6

CHUONG I: CO SO LY THUYET

1.1 Giới thiệu công cụ phát triển

Đề tài xây dựng hệ thống nhận dạng chữ số viết tay là một đề tài thú vị trong lĩnh vực trí tuệ nhân tạo, đặc biệt là phân tích hình ảnh và học máy Để phát triển hệ thông này một các hiệu quả, nhóm 04 sử dụng các công cụ phát triển sau:

1.1.1 PyCharm Thứ nhất, nhóm sử dụng công cụ ứng dụng PyCharm lưu trữ và khởi chạy dự án

Về công cụ PyCharm là một môi trường phát triển tích hợp (IDE) phô biến, được thiết

kê đặc biệt cho Python và công cụ này còn có những đặc trưng nối trội hơn so với công

cụ ứng dụng khác như:

© H6 tro Da Nén Tang © H6 tro Debugging Manh Mé

© H6 tro Ngén ngit Python Todn Dién ~~ Tich hop Céng cu Quan ly Co sé Dit

© 7ích hợp Hệ Thống Kiểm Soát Phiên liệu

Trang 7

Ưu điểm Nhược điểm

Tính Năng Tự Động Hoá: PyCharm

cung cấp tự động hoàn thành mã, gợi ý

và sửa lỗi, giúp tăng năng suất và hiệu

qua làm việc

Tốc độ và Hiệu Suất: PyCharm có thê chạy chậm trên các máy tính có cầu hình yếu hoặc khi làm việc với các dự án rất lớn

Tỉnh Năng Gỡ Lỗi Mạnh Mẽ: Cung

cấp công cụ gỡ lỗi mạnh mẽ với giao

diện người dùng thân thiện, dễ sử dụng

Giá cả: PyCharm có phiên bản miễn phí

(Community Edition), nhung cac tinh nang nâng cao chỉ có trong phiên bản trả phí (Professional Edition), có thể là một rào cản đối với những người dùng cá nhân hoặc

Hồ trợ Phát Triển Web: Tích hợp tốt

voi cac framework phat trién web

Python, nhu Django va Flask, giup don

giản hóa quy trinh phat trién web

Can cau hinh nhiều: Đôi khi việc cầu hình môi trường làm việc có thê phức tạp và mắt thoi gian

Trang 8

ython’

Hình l2 Ngôn ngữ lập trinh Python

e Thong dich va Dong s_ Hỗ trợ Lập trình Hướng dỗi tượng và

Lập trình Hàm

Cùng với những đặc trên, thì Python cũng có những ưu điểm và nhược điêm của ngôn ngữ như:

Phat Trién Nhanh Chong Không Phù Hợp cho ng dạng Yêu Cau Hi

Suát Cao Cộng đồng Lớn và Tài liệu Phong phú | Quán Lý Bó Nhớ Thiếu Hiệu Quá

Khá Năng Tích Hợp Tốt Kha Nang Pa Luông Chưa Tối Ưu

Ứng dựng Róng Bãi Không phù hợp cho Mobile Development

hỗ trợ mạnh mẽ như gỡ lỗi, tự động hoàn thành mã, và quản lý dự án, giúp quá trình

Trang 9

phát triển trở nên mượt mà hơn Kết hợp Python và PyCharm, thì sẽ có một bộ công cụ mạnh mẽ đề xây dựng hệ thống nhận dạng chữ số viết tay hiệu quả

1.2 Các thư viện và module được sử dụng

Trong đề tài xây dựng hệ thống nhận dạng chữ số viết tay hiệu quả, các thư viện Python như TensorFlow, Gradio, NumPy, và OpenCV đóng vai trò quan trọng trong việc tạo ra một giải pháp mạnh mẽ và chính xác

1.2.1 Thư viện TensorFlow

TensorFlow là một trong những thư viện mã nguồn mở phô biến nhất để phát triển và triển khai các mô hình học máy, đặc biệt 1a hoc sau (deep learning) No duoc phát triển bởi Google và đã trở thành một công cụ mạnh mẽ cho các nhà nghiên cứu, nhà phát triển, và kỹ sư dữ liệu

¥

TensorFlow

\

S Hình 1.2.1.1 Thư viện TensorFlow

Dưới đây là ưu điểm nhược điêm của thư viện TensorFlow:

Hế trợ đa nên táng Yêu cầu cáu hình phần cứng cao

7m viện phong phú và linh hoạt Tài liệu và hố trợ ¿hông đồng nhất

Kha năng mở rộng tốt Tĩnh tương thích ngược chưa hoàn chỉnh

Bang 1.2.1.1 Cac uu nhuoc diém cia thu vién TensorFlow

Trang 10

1.2.1.2 Chức măng của thư viện TensorFlow Thư viện TensorFlow là một nên tảng mã nguôn mở mạnh mẽ, phô biên trong xIviệc phát triển và triển khai các mô hình học may (machine learning) và trí tuệ nhân tạo (AI) Dưới đây là một số chức năng chính của TensorFlow:

Layers va Activation Functions: Cung cấp các lớt mang no-ron (neural network layers) va cac ham k

hoat (activation functions) dé xay dựng các mô hinh phức tạp

Huấn luyện vả tối ưu hóa

mô hình (Model Training

Triển khai mô hình

(Model Deployment) TensorFlow Serving: Cung cấp công cụ để triển khai

mô hỉnh học máy trong môi trường sản xuất

TensorFlow Lite: Cho phép triển khai mô hình trên các thiệt bị dị động và nhúng với hiệu suất cao

10

Trang 11

TensorFlow.js: Cho phép triển khai mô hình trên trình duyệt và các ứng dụng JavaScript

Distributed Training: Cung cap cac API dé huan luyén m6 hinh trén nhiéu GPU hoặc nhiều máy khác nhau

Mô hình hóa thời gian

thực (Real-time Model

Inference)

e TensorFlow Extended (TFX): Cung cap cac céng cu

để xây dựng, trién khai, va quan ly pipeline hoc may trong môi trường sản xuat

Bang 1.2.1.2 Các chức năng của thư viện TensorFlovw 1.2.1.3 Cac module s# dung trong thư viện tensorflow Thư viện TensorFlow bao gồm nhiều module và gói con (submodules) cung cấp các chức năng khác nhau đề hồ trợ việc phát triên và triên khai các mô hình học máy Dưới đây là các module chính của TensorFlow:

Cung cap các công cụ đề tạo và xử lý các pipeline dữ liệu

Hồ trợ tải, xử lý và biên đôi dữ liệu trước khi đưa vào mô

hình huấn luyện

tensorflow.linalg Cung cập các phép tính đại số tuyên tính như ma trận,

phép nhân, tính định thức, và các phép biến đối ma trận

tensorflow.math Cung cap các phép toán sô hoc co ban va nang cao như

phép cộng, trừ, nhân, chia, hàm số học, và các phép toán

11

Trang 12

tensorflow.random Hỗ trợ tạo ra các số ngau nhiên, tensor ngau nhiên, và các

phép biến đổi ngẫu nhiên khác

tensorflow.nn

Cung cap cac ham lién quan dén mang no-ron, bao g6m các hàm kích hoạt, phép biên d6i convolution, va cac ham mất mát đặc biệt

tensorflow.losses Cung cấp các hàm mất mat (loss functions) dé tinh toan

lỗi của mô hình trong quá trình huấn luyện

†ensorflow.saved_ model Cung câp công cụ đề lưu và tải các mô hình TensorFlow,

hỗ trợ triển khai mô hình trong môi trường sản xuất

tensorflow.image xoay, thay đôi kích thước Cung cấp các hàm đề xử lý và biến đôi hình ảnh như cắt,

Bang 1.2.1.3 Cac module trong the vién TensorFlow

1.2.2 Thư viện Gradio

Gradio là một thư viện mã nguồn mở cho phép tạo giao diện người dùng (UI)

đơn giản để tương tác với các mô hỉnh học máy Nó giúp nhà phát triển nhanh chóng triển khai và kiêm thử mô hỉnh trực tiếp từ trình duyệt mà không cần thiết kế giao diện phức tạp

øradio

Hình 1.2.2.1 Thư viện Gradio

12

Trang 13

Dưới đây là các ưu và nhược điểm của thư viện Gradio:

Bang 1.2.2.1 Cac uu nhược điểm của thư viện Gradio

1.2.2.2 Chức măng của thư viện của Gradio Thư viện Gradio là một công cụ mạnh mẽ trong Python giúp bạn dé dang tao cac giao diện người dùng đơn giản và nhanh chóng cho các ứng dụng máy học hoặc xử lý

dữ liệu Dưới đây là một số chức năng chính của Gradio:

oo e H6tro tinh nang chinh swa và cập nhật

e Hỗ trợ nhiêu loại input va output

e_ Triên khai mô hình máy học

1.2.2.3 Cac module s# dung trong thir vién Gradio Thư viện Gradio có nhiều module và lớp hỗ trợ cho việc tạo vả quản lý các giao diện người dùng một cách đễ dàng Dưới đây là một số module chính trong Gradio:

Đây là module chính và phô biến nhất trong Gradio Interface cho gr.Interface phép tạo một giao diện người dùng đơn giản chỉ với một vài dòng

grBlocks Blocks là một module mạnh mẽ hơn, cho phép xây dung cac giao

điện phức tạp hơn với nhiêu loại thành phan và bô cục tủy chỉnh Module này chứa các lớp và hàm giúp định nghĩa các loại input khác

gr.inputs nhau nhu TextBox, Slider, Image, Audio, File, v.v Nhimg input nay

được sử dụng để nhận dữ liệu từ người dùng

13

Trang 14

State là một module đặc biệt giúp duy trì trạng thái giữa các tương

gr.State tác của người dùng Nó rất hữu ích khi bạn cần theo dõi hoặc lưu trữ

dữ liệu người dùng trong suốt quá trình tương tác

Bang 1.2.2.3 Cac module trong thư viện Gradio 1.2.3 Thư viện Numpy

NumPy (Numerical Python) là một thư viện mã nguồn mở cơ bản cho khoa học

dữ liệu và tính toán số trong Python Nó cung cấp hỗ trợ cho các mảng đa chiều (ndarray)

và các hàm toán học đề thao tác với các mảng này, giúp xử lý các phép tính số học nhanh

Hiệu suất cao và xz lý nhanh Giới hạn ch¿ cho các kiều dữ liệu đồng nhà

Hồ trợ máng đa chiều (ndarray) Không phù hợp cho các phép toán quy

Trang 15

1.2.3.2 Chức măng của thư viện NumDy Thư viện NumPy là một thư viện cơ bản và quan trọng trong Python, đặc biệt hữu ích cho khoa học đữ liệu, tính toán khoa học, và phát triển các ứng dụng máy học NumPy cung câp một tập hợp các chức năng mạnh mẽ đê làm việc với mảng số học (array) và các phép toán trên mảng Dưới đây là các chức năng chính của thư viện

Chi muc va cat mang: NumPy hé tro các thao tác chỉ mục và cắt mảng phức tạp, cho phép đễ dàng truy cập và thay đổi phần tử trong mảng

Tính toán vector hóa

Pháp toán số học: NumPy hỗ trợ các phép toán số học (cộng, trừ, nhân, chia) trên mảng với hiệu suất cao và cú pháp đơn giản Điều này giúp tránh việc

sử dụng vòng lặp trong Python, cải thiện hiệu suất Phép toán ma trận: NumPy cung cap cac ham dé thực hiện các phép toán ma trận như nhân ma trận, chuyền vị, tính định thức, và nghịch đảo ma trận

Các hàm thông kê và toán học Hàm thông kê: NunPy cung cấp các hàm tính toán

thông kê như trung bình (mean), phương sai (var),

độ lệch chuân (std), tong (sum), tích (prod), giá trị lớn nhất (max), và nhỏ nhất (min)

Hàm toán học: Bao gồm các hàm như lượng giác (sin, cos, tan), mu (exp), logarit (log), can bac hai

15

Trang 16

Broadcasting

e NumPy hé tro mét tinh nang goi la broadcasting

cho phép thực hiện các phép toán trên mảng có kích thước khác nhau bằng cách tự động mở rộng mảng nhỏ hơn đề phù hợp với mảng lớn hơn

1.2.3.3

Bang 1.2.3.2 Các chức năng của the vién NumPy

Cac module sw# dung trong thir vién Numlpy

Thư viện NumPy bao g6m nhieu module, m6i module cung cap cac chire nang khác nhau đề thao tác với mảng và thực hiện các phép toán khoa học Dưới đây là một

số module chính của NumPy:

Laguerre, va Hermite

numpy.random Day la module dé sinh số ngẫu nhiên và các mảng ngầu nhiên

Nó cung cấp các hàm tạo mầu ngầu nhiên từ các phân phôi xác suât khác nhau như phân phôi chuâãn, phân phối đều, phân phôi

Bang 1.2.3.3 Cac module sử dụng trong thư viện NuinPy

16

Trang 17

1.2.4 Thư viện OpenCV

OpenCV (OpenSource Computer Vision Library) la mét thu vién ma nguồn mở phổ biến cho xử lý ảnh và thị giác máy tính Nó cung cấp các công cụ và thuật toán cho việc phân tích, nhận dạng, và xử lý hình ảnh và video

©}

OpenCV

Hình 1.2.4.1 Thu vién OpenCV (OpenSource Computer Vision Library)

Dưới đây là các ưu điểm và nhuge diém của thư viện OpenCV:

Pa nên tảng và linh hoạt Giới hạn trong xz lý học sâu

Hiệu suát cao và tới ưu hóa rốt Quan lý bó nhớ th¿ công

Thư viện OpenOV cung cấp nhiều chức năng mạnh mẽ cho xử lý ảnh và thị giác

máy tính Nó bao gồm hàng loạt các thuật toán và công cụ để phân tích và thao tác hình ảnh và video Dưới đây là các chức năng chính của OpenCV:

17

Trang 18

Chức năng Nội dung

Thay đổi kích thước (Resize): Thay déi kich thước ảnh (phóng to hoặc thu nhỏ)

Cất ánh (Cropping): Cắt và trích xuất các phần

cụ thể từ ảnh

Bién déi mau sac (Color Space Conversion Chuyên đôi giữa các không gian màu khác nhau như BGR, RGB, HSV, Grayscale, v.v

Lam mé va lec anh (Blurring and Filtering): Ap dụng các b6é loc Gaussian, trung vi (median), Bilateral, và các bộ lọc khác để làm mờ và xử lý ảnh

Phát hiện biên và cạnh (Edge

Detection): Thuật toán Canny Edge Detection: Một tron

những thuật toán phát hiện biên phô biến nhất được sử dụng đề xác định các đường viễn và biên cua vat thé trong anh

Cac bé lec Sobel va Laplacian: Phat hién ca canh bang cách tính toán độ dốc của cường độ

18

Trang 19

Cascade va HOG (Histogram of Orient

Gradients) dé phát hiện khuôn mặt và mắt

Nhén dang vat thé (Object Recognition): Si

dụng các ky thuật nhw HOG +SVM, YOLO (You Only Look Once), va SSD (Single Shot MultiB:

Detector)

Phát hiện và theo dõi vi thể chuyển don (Obiect Tracking): Sử dụng các thuật toán như MeanShift, CamShift, KLT (Kanade-Luca Tomasi), va MOSSE

Phan tich va xu ly video (Vided

Analysis and Processing):

Phát hién chuyén déng (Motion Detection): Phé hiện và phân tích chuyển động trong video, ứng dụng cho giám sát và phân tích hành vi Theo dõi vát thể (Object Tracking): Theo dõi cí vật thể qua các khung hình video

Trích xuất khung hình (Frame Extraction): Xử

lý từng khung hình riêng lẻ từ video để phân tích hoặc áp dụng thuật toán xử lý ảnh

Xử lý hình học (Geometric

Transformations): Biếu đổi Affine và Perspective: Thực hiện các

phép biến đổi hình học như xoay, dịch chuyên, kéo dai, va co giãn ảnh

hiện các đường thăng và đường tròn trong ảnh

19

Trang 20

Phân đoạn và phân loại ảnh

(Image Segmentation and

Classification):

e Phan doan anh (Image Segmentation): Sử dun

các kỹ thuật như Watershed, GrabCut, và K- means clustering đề phân đoạn ảnh thành các vùng riêng biệt

Recognition - OCR): Tich hop voi Tesseract

OCR dé nhận diện và trích xuất văn bản từ ảnh

Hình 1.2.4.2 Cac chức năng của the vién OpenCV 1.2.4.3 Cac module s# dung trong thir vién OpenCV Thư viện OpenCV bao gém nhiều module, mỗi module cung cấp các chức năng chuyên biệt cho các tác vụ xử lý ảnh và thị giác máy tính Các module này được thiết kế

đề thực hiện các phép toán cụ thê, từ xử lý ảnh cơ bản đên học sâu Dưới đây là các

module chính của OpenOV:

Core Module (core)

Chứa các chức năng cơ bản và các lớp hỗ trợ xử lý ảnh và

ma trận, chẳng hạn như Mat (ma trận đa chiều), các phép toán đại số tuyến tính, các hàm thống kê, và các công cụ

cơ bản khác

Image Processing Module

(imgproc)

Cung cấp các công cụ xử lý ảnh như làm mờ, lọc anh, bién đổi hình học, phát hiện biên và cạnh, phân đoạn ảnh, vả các kỹ thuật khác để xử lý và phân tích ảnh

High-Level GUI Module

(highgui) Cung cấp giao điện đồ họa người dùng cơ bản đề hiền thị

hỉnh ảnh và video, và xử lý các sự kiện bàn phím và chuột

Nó rất hữu ích cho việc hiển thị kết quả trong quá trình phát triển

20

Trang 21

Image Input and Output

(imgcodecs)

Hỗ trợ việc đọc và ghi các định dạng hình ảnh khác nhau

như JPEG, PNG, TIFF, BMP, và nhiều định dạng khác

Video Input and Output

(ml)

Chứa các thuật toán học máy cô điển như SVMI (Support

Vector Machine), KNN (K-Nearest Neighbors), Decis

Trees, Random Forests, va cac thuat toan clustering

Calib3d Module (calib3d)

Chứa các công cu cho hiệu chỉnh camera, tái thiết 3D, và các phép biến đôi hình học 3D, như biến đôi affine và biến déi projective

Structured Light Module

(structured_light)

Cung cap các công cụ cho kỹ thuật chiêu sáng có câu trúc

để quét và tái tạo hình ảnh 3D

Deep Neural Networks

Module (dnn) Hỗ trợ tải và chạy các mô hình học sâu được huân luyện

trước từ các framework nhu TensorFlow, Caffe, và PyTorch, sử dụng các mô hình học sâu để phát hiện và nhận dạng đối tượng

Hình 1.2.4.3 Cac module trong thu vién OpenCV

21

Trang 22

CHUONG II: XÂY DỰNG CHƯƠNG TRÌNH

2.1 Mô tả bài toán

2.1.1 Xử lý ngôn ngữ tự nhiên (Natural Language Processing) là gì?

Về cơ bản, các hệ thống NLP cô gắng phân tích và trong nhiều trường hợp, "hiểu" ngôn ngữ của con người Các hệ thông này thường có trách nhiệm nhận dạng giọng nói của con người (nói cách khác, có thê "nghe" những gì ai đó đang nói), hiểu nó (tìm ra bối cảnh của những gì đã nói) và tạo ra phản hồi ngôn ngữ tự nhiên (tức là nói lại) Với sự trợ giúp của các thuật toán phức tạp và phân tích thông minh, Xử lý ngôn ngữ tự nhiên (NLP) là một công nghệ đang bắt đầu định hình cách chúng ta tương tác với thế giới NLP đã mở đường cho các trợ lý kỹ thuật số, chatbot, tìm kiếm bằng giọng nói và vô số ứng dụng mà chúng ta chưa hình dung ra Nếu bạn đã trò chuyện với trợ lý

kỹ thuật số hoặc chatbot gần đây, bạn có thể đã tận mắt chứng kiến chúng ta đã tiễn xa đến mức nào về mặt tính vi công nghệ Tuy nhiên, chúng ta vẫn còn một chặng đường dài phía trước

Tất nhiên, NLP vẫn chưa có quỹ đạo tăng trưởng không giới hạn Các nhà phát trién NLP van con phải đối mặt với nhiều vấn đề nhưng chúng ta đã bắt đầu tìm ra cách giải quyết chúng Dưới đây là cách vấn đề chính mà các nhà phát triển gặp phải trong quá trình phát triển hệ thống:

Anh, nhưng nếu bạn đang nghĩ đến việc tiếp cận đối tượng quốc tế và/hoặc đa văn hóa, bạn sẽ cần cung cấp hỗ trợ cho nhiều ngôn ngữ

Các ngôn ngữ khác nhau không chỉ có các bộ

từ vựng khác nhau rất nhiều mà còn có các loại cụm

từ khác nhau, các chế độ biến tố khác nhau và các kỳ vọng văn hóa khác nhau Bạn có thê giải quyết vẫn đề này với sự trợ giúp của các mô hình "phô quát" có thể chuyền ít nhất một số kiến thức sang các ngôn ngữ khác Tuy nhiên, bạn vẫn cần dành thời gian đào tạo lại hệ thống NLP của mình cho từng ngôn ngữ

22

Trang 23

e_ Dữ liệu đào tao Về ban chat, NLP la tat cả về việc phân tích

ngôn ngữ đề hiểu rõ hơn Con người phải đắm chỉm trong một ngôn ngữ liên tục trong một khoảng thời gian nhiều năm để trở nên thành thạo ngôn ngữ đó; ngay cả AI tốt nhất cũng phải dành nhiều thời gian để đọc, nghe và sử dụng ngôn ngữ đó Khả năng của hệ thông NLP phụ thuộc vào dữ liệu đào tạo được cung cấp cho nó Nếu bạn cung cấp cho hệ thống dữ liệu xấu hoặc đáng ngờ, nó sẽ học những điều sai hoặc học theo cách không hiệu quả

s_ Thời gian phát triển Tương tự như vậy, bạn cũng cân phải suy nghĩ

về thời gian phát triển cho một hệ thống NLP

Để được đào tạo đầy đủ, AI thường phải xem xét hàng triệu điểm đữ liệu Việc xử lý tất cả đữ liệu

đó có thể mất cả đời nếu bạn sử dụng một chiếc PC không đủ mạnh Tuy nhiên, với một mô hình học sâu phân tán và nhiều GPU hoạt động phối hợp, bạn có thé rút ngắn thời gian đảo tạo xuống chỉ còn vải gid Tất nhiên, bạn cũng cần phải tính đến thời gian để phát triển sản phẩm từ đầu—trừ khi bạn đang sử dụng các cong cu NLP da co san

© Swmo ho trong cach dién Đôi khi, ngay cả một con người bình thường

nói điều gì đó mơ hồ Có thể không tìm thấy ý nghĩa

rõ ràng và súc tích trong quá trình phân tích chặt chẽ các từ ngữ của họ Đề giải quyết vấn đề này, hệ thống NLP phải có khả năng tìm kiếm ngữ cảnh đề giúp hiểu được cách diễn đạt Hệ thông cũng có thể cần yêu cầu

người dùng giải thích rõ ràng

© Lỗi chính tả Lỗi chính tả là một vân đề đơn giản đôi với con

người Chúng ta có thể dễ dàng liên kết một từ viết sai chính tả với từ viết đúng chính tả tương ứng và

23

Ngày đăng: 23/12/2024, 12:47

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

TÀI LIỆU LIÊN QUAN