1. Trang chủ
  2. » Giáo Dục - Đào Tạo

đồ án xây dựng ứng dụng hỗ trợ học tiếng anh tăng tính thích nghi và tương tác

46 5 0

Đ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

Định dạng
Số trang 46
Dung lượng 2,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

LỜI CẢM ƠN Trong quá trình học tập, nghiên cứu và phát triển đề tài “Xây dựng ứng dụng hỗ trợ học tiếng anh tăng tính thích nghi và tương” chúng em đã nhận được sự giúp đỡ, chỉ bảo nhiệt

Trang 1

TP HỒ CHÍ MINH, 2022

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

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA CÔNG NGHỆ PHẦN MỀM

BÁO CÁO ĐỒ ÁN 2

Đề tài: Xây dựng ứng dụng hỗ trợ học tiếng anh

tăng tính thích nghi và tương tác

Giảng viên hướng dẫn: Nguyễn Thị Thanh Trúc

Nhóm thực hiện:

19522213 - Nguyễn Võ Đức Thắng

19522494 - Nguyễn Dương Tùng

Trang 2

LỜI CẢM ƠN

Trong quá trình học tập, nghiên cứu và phát triển đề tài “Xây dựng ứng dụng hỗ trợ học tiếng anh tăng tính thích nghi và tương” chúng em đã nhận được sự giúp đỡ, chỉ bảo nhiệt tình của cô để hoàn thành đồ án này

Nhóm em xin chân thành gửi lời cảm ơn đến cô Nguyễn Thị Thanh Trúc – Giảng viên Khoa Công nghệ phần mềm, Trường Đại học Công nghệ thông tin, Đại học Quốc gia Thành phố Hồ Chí Minh – giảng viên dạy hướng dẫn môn Đồ án 1, đã tận tình hướng dẫn và giúp đỡ về kiến thức, phương pháp cho chúng em trong suốt quá trình thực hiện và hoàn thành đồ án

Hi vọng với sự chỉ bảo và góp ý từ cô, nhóm đề tài có thể tiếp tục phát triển để ứng dụng ngày càng được mở rộng và phục vụ được tốt hơn cho người dùng

Mặc dù đã có nhiều cố gắng trong suốt quá trình thực hiện đề tài, song không thể tránh khỏi những hạn chế, thiếu sót Chúng em mong rằng sẽ nhận được những đóng góp và nhận xét chân thành từ thầy, các bạn sinh viên và người dùng trong quá trình sử dụng phần mềm để phần mềm ngày càng hoàn thiện hơn nữa

Mỗi ý kiến đóng góp của thầy và các bạn sẽ là một nguồn động lực to lớn đối với chúng em để chúng em có thể cải thiện phần mềm tốt hơn và xây dựng những phần mềm hữu ích đối với người dùng hơn nữa

Chúc cô sức khỏe, thành công và hạnh phúc

Trân trọng

Nhóm thực hiện

Tp Hồ Chí Minh, 20/06/2022

Trang 6

Chương 1: GIỚI THIỆU

1 Đặt vấn đề

Ngày nay, tiếng Anh là một trong những ngôn ngữ phổ biến nhất thế giới, việc có thể sử dụng tiếng Anh là một lợi thế rất lớn đối với công việc cũng như cuộc sống hằng ngày Vì thế, một ứng dụng giúp cho việc học tiếng Anh là rất cần thiết trong môi trường hiện nay Ứng dụng giúp cho việc tiếp cận kiến thức tiếng Anh một cách trực quan và dễ dàng hơn

2 Giải pháp

Nhận thấy tình hình trên, nhóm chúng em đã lên ý tưởng xây dựng một ứng dụng hỗ trợ việc học

từ vựng tiếng Anh và dịch thuật các văn bản sang tiếng Việt cũng như những trò chơi giúp ích cho việc học tiếng Anh một cách trực quan hơn để đáp ứng nhu cầu rất lớn đối của người dùng trong thời buổi hiện nay

3 Mục tiêu

Xây dựng được ứng dụng đáp ứng được việc hỗ trợ học tiếng anh tăng tính tương tác và thích nghi cho người dùng Phần ứng giao diện đáp ứng được các yêu cầu về UX/UI, tăng tính sinh động, dễ sử dụng và có thẩm mỹ Nội dung, ý nghĩa các từ vựng được kiểm duyệt và đạt chất lượng

Trang 7

Chương 2: TỔNG QUAN

1 Tổng quan về đồ án

1.1 Tên đồ án:

● Tên tiếng việt: Xây dựng ứng dụng hỗ trợ học tiếng anh tăng tính thích nghi và tương tác

● Tên tiếng anh: Lett

bị thêm đặc biệt nào - chẳng hạn như phần mềm được viết bằng một ngôn ngữ thông dịch hay được biên dịch trước sang mã bytecode có khả năng di động bằng một trình thông dịch hay các gói run-time thường dùng hoặc là thành phần tiêu chuẩn trên mọi nền tảng”

Cross platform hay Multi Platform là một nền tảng đa ứng dụng Hiểu đơn giản hơn là chỉ với một bản code, bạn có thể phiên dịch và sử dụng nó trên nhiều nền tảng ứng dụng khác nhau, giúp bạn tiết kiệm được công sức và thời gian đáng kể

Chính vì lợi thế đó mà Cross platform được ưa chuộng bởi rất nhiều lập trình viên hiện nay Ngoài ra, khi lập trình, bạn cần phải lựa chọn tuỳ theo ưu, nhược điểm của một Framework bởi Cross platform sử dụng Framework đa nền tảng

Đến thời điểm hiện tại, React-Native, Xamarin và Flutter theo thứ tự được xem là 3 frameworks phổ biến nhất cho phép phát triển app trên smartphone sử dụng các hệ điều hành, hay nền tảng khác nhau (cross-platform mobile development), mà thông dụng nhất là iOS và

Trang 8

Android Với các frameworks này, một chương trình được viết có thể chạy trên tất cả các nền tảng; cụ thể hơn, chỉ cần phát triển 1 project nhưng có thể tạo ra các apps chạy trên smartphone

• Có thể sử dụng một bản code trên nhiều phiên bản khác nhau

• Sử dụng Cross platform sẽ giúp tiết kiệm được lượng lớn chi phí và công sức viết code

• Cross platform thích hợp với những dự án lớn, đòi hỏi tính linh hoạt và đa dạng

Nhược điểm:

• Chưa có khả năng khai thác thư viện của những nền tảng lớn như Android hoặc iOS dù

nó tiết kiệm được chi phí và có tính linh hoạt cao

• Quá trình cấp phép cho công nghệ của ứng dụng Cross platform gặp nhiều khó khăn và phức tạp

2.2 Restful API

2.2.1 Khái niệm Restful

API (Application Programming Interface) là một tập các quy tắc và cơ chế mà theo đó, một ứng dụng hay một thành phần sẽ tương tác với một ứng dụng hay thành phần khác API có thể trả về

dữ liệu ở những kiểu dữ liệu phổ biến như JSON hay XML

Restful (REpresentational State Transfer) là một dạng chuyển đổi cấu trúc dữ liệu, một kiểu kiến trúc để viết API Nó sử dụng phương thức HTTP đơn giản để tạo giao tiếp giữa các máy Vì vậy, thay vì sử dụng một URL cho việc xử lý một số thông tin người dùng, REST gửi một yêu cầu HTTP như GET, POST, DELETE,… đến một URL để xử lý dữ liệu

Rest API là một tiêu chuẩn dùng trong việc thiết kế các API cho các ứng dụng web để quản lý các resource RESTful là một trong những kiểu thiết kế API được sử dụng phổ biến ngày nay để cho các ứng dụng (web, mobile…) khác nhau giao tiếp với nhau

Trang 9

Chức năng quan trọng nhất của REST là quy định cách sử dụng các HTTP method (như GET, POST, PUT, DELETE…) và cách định dạng các URL cho ứng dụng web để quản các resource RESTful không quy định logic code ứng dụng và không giới hạn bởi ngôn ngữ lập trình ứng dụng, bất kỳ ngôn ngữ hoặc framework nào cũng có thể sử dụng để thiết kế một RESTful API

2.2.2 Hoạt động của Restful

REST hoạt động chủ yếu dựa vào giao thức HTTP Các hoạt động cơ bản nêu trên sẽ sử dụng những phương thức HTTP riêng

• GET (SELECT): Trả về một Resource hoặc một danh sách Resource

• POST (CREATE): Tạo mới một Resource

• PUT (UPDATE): Cập nhật thông tin cho Resource

• DELETE (DELETE): Xoá một Resource

Những phương thức hay hoạt động này thường được gọi là CRUD tương ứng với Create, Read, Update, Delete – Tạo, Đọc, Sửa, Xóa

2.2.3 Web API

Web API hay ASP.NET Web API là một framework dùng để xây dựng và lập trình các dịch vụ web HTTP Nó có dạng là một RESTful API hiện đại, hội tụ đủ các điều kiện của REST cũng như các tiêu chuẩn tương tự, được tối ưu cho các dịch vụ trực tuyến cũng như ứng dụng web hiện nay

hỗ trợ interface, mixin, abstract, generic, static typing và sound type (2 cái cuối có thể hiểu là type-safe) Dart là ngôn ngữ mã nguồn mở và miễn phí, được phát triển trên GitHub

Ưu nhược điểm:

Trang 10

• Năng suất Cú pháp Dart rõ ràng và súc tích, công cụ của nó đơn giản nhưng mạnh mẽ Type-safe giúp bạn xác định sớm các lỗi tinh tế Dart có các thư viện cốt lõi và một hệ sinh thái gồm hàng ngàn package

• Nhanh Dart cung cấp tối ưu hóa việc biên dịch trước thời hạn để có được dự đoán hiệu suất cao và khởi động nhanh trên các thiết bị di động và web

• Di động Dart biên dịch thành mã ARM và x86, để các ứng dụng di động của Dart có thể chạy tự nhiên trên iOS, Android và hơn thế nữa Đối với các ứng dụng web, chuyển mã

từ Dart sang JavaScript

• Dễ gần Dart quen thuộc với nhiều nhà phát triển hiện có, nhờ vào cú pháp và định hướng đối tượng không gây ngạc nhiên của nó Nếu bạn đã biết C ++, C # hoặc Java, bạn có thể làm việc hiệu quả với Dart chỉ sau vài ngày

• Reactive Dart rất phù hợp với lập trình Reactive, với sự hỗ trợ để quản lý các đối tượng tồn tại trong thời gian ngắn, chẳng hạn như các widget UI, thông qua phân bổ đối tượng nhanh và GC Dart hỗ trợ lập trình không đồng bộ thông qua các tính năng ngôn ngữ và API sử dụng các đối tượng Future và Stream

2.3.2 Flutter framework

Tổng quan:

Flutter là mobile UI framework của Google để tạo ra các giao diện chất lượng cao trên iOS và Android trong khoảng thời gian ngắn Flutter hoạt động với những code sẵn có được sử dụng bởi các lập trình viên, các tổ chức

Ưu nhược điểm:

Ưu điểm:

• Mạnh về animation, performance app rất cao

• Giao tiếp gần như trực tiếp với native

• Static language nhưng với syntax hiện đại, compiler linh động giữa AOT (for archive, build prod) và JIT (for development, hot reload)

• Có thể chạy được giả lập mobile ngay trên web, tiện cho development Các metric measure performance được hỗ trợ sẵn giúp developer kiểm soát tốt performance của app

• Có thể dùng để build các bundle/framework gắn và app native để tăng performance

Trang 11

Khuyết điểm:

• Bộ render UI được team author gần như viết lại, không liên quan tới UI có sẵn của Framework native, dẫn đến memory sử dụng khá nhiều

• Phải học thêm ngôn ngữ DART, BLOC pattern, DART Streaming

• Do là một framework có tuổi đời rất trẻ, cộng đồng dù vẫn đang phát triển rất nhanh, nhưng ở Việt Nam thì mới nổi lên 2 năm gần đây

2.3.3 Firebase

Tổng quan:

Firebase là dịch vụ cơ sở dữ liệu hoạt động trên nền tảng đám mây – cloud Kèm theo đó là hệ thống máy chủ cực kỳ mạnh mẽ của Google Chức năng chính là giúp người dùng lập trình ứng dụng bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu

Cụ thể là những giao diện lập trình ứng dụng API đơn giản Mục đích nhằm tăng số lượng người dùng và thu lại nhiều lợi nhuận hơn

Ưu nhược điểm:

Ưu điểm:

• Tạo tài khoản và sử dụng dễ dàng

• Tốc độ phát triển nhanh

• Nhiều dịch vụ trong một nền tảng

• Được cung cấp bởi Google

• Tập trung vào phát triển giao diện người dùng

• Firebase không có máy chủ

• Học máy (Machine Learning)

• Tạo lưu lượng truy cập

• Theo dõi lỗi

• Sao lưu

Nhược điểm:

• Không phải là mã nguồn mở

• Người dùng không có quyền truy cập mã nguồn

Trang 12

• Firebase không hoạt động ở nhiều quốc gia

• Chỉ hoạt động với Cơ sở dữ liệu NoSQL

• Truy vấn chậm

• Không phải tất cả các dịch vụ Firebase đều miễn phí

• Firebase khá đắt và giá không ổn định

• Chỉ chạy trên Google Cloud

• Thiếu Dedicated Servers và hợp đồng doanh nghiệp

• Không cung cấp các API GraphQL

2.3.4 Android Studio

Tổng quan:

Android Studio là IDE chính thức trong phát triển ứng dụng Android, dựa trên IntelliJ IDEA Chức năng của Android Studio là cung cấp giao diện để tạo các ứng dụng và xử lý phần lớn các công cụ quản lý file phức tạp đằng sau hậu trường Ngôn ngữ lập trình được sử dụng là Java và được cài đặt riêng trên thiết bị

Với khả năng đáng mong đợi từ IntelliJ, Android Studio còn cung cấp:

• Hệ thống Gradle-based linh hoạt

• Xây dựng các biến thể và tạo nhiều tệp APK

• Code các mẫu template để hỗ trợ các tính năng app thông thường

• Chỉnh sửa bố cục đa dạng với khả năng kéo và thả theme

• Công cụ lint giúp nắm bắt hiệu suất, khả năng sử dụng, phiên bản tương thích và các vấn

Trang 13

o Tùy chỉnh, cấu hình và mở rộng quá trình thiết kế, kiến trúc

o Trình quản lý thiết bị ảo của Android (AVD)

o Inline debugging

• Bộ nhớ và màn hình CPU

• Truy cập file dữ liệu

2.3.5 Ưu nhược điểm

Ưu điểm

• Được phát triển bới Google, cũng là chủ sở hữu của hệ điều hành Android

• Các công cụ hỗ trợ và được cập nhật mới nhất và đầy đủ

• Các tính năng dễ làm quen và giao diện thân thiện, nó là điểm cộng lớn

• Có các tài liệu tham khảo và hướng dẫn đầy đủ và rõ ràng cũng như các diễn đàn dành cho các lập trình viên Android

Nhược điểm

• Là công cụ hỗ trợ tích hợp tất cả nên dữ liệu phải phát triển tối ưu nhất Lượng lớn dữ liệu chiếm nhiều không gian bộ nhớ máy tính của bạn

• Có thể kiểm tra được cash hoạt động của app thông qua giả lập của Android studio nên

nó làm đơ máy, lag, nóng máy tính của vạn và gây tiêu tốn nhiều pin của laptop

• Android là một công cụ lập trình hỗ trợ mạnh mẽ với các hỗ trợ và cập nhật các tính năng mới nhất, liên tục từ google Google đã khắc phục được các vấn đề tối ưu được tài nguyên máy tính giúp giảm bớt được Android Studio quá nặng trên các máy tính cũ

2.4 Optical Character Recognition (ORC)

Tổng quan:

Optical Character Recognition (Nhận dạng ký tự quang học) là một trong những vấn đề đầu tiên của nghiên cứu về công nghệ nhân tạo (artificial technology) ORC là được mô tả như là một quá trình chuyển đổi chữ viết tay, chữ in,… sang dạng kỹ thuật số ORC hiện nay là một trong

những lĩnh vực quan trọng trong trí tuệ nhân tạo, pattern recognition, và thị giác máy tính Lịch sử:

Trang 14

Ý tưởng của ORC xuất hiện năm 1913 khi mà tiến sĩ Edmund Fournier d’Albe phát triển Optophone để quét và chuyển đổi chữ thành âm thanh phục vụ cho những người bị suy giảm chức năng Kể từ đây, ORC có những bước phát triển khác nhau và phục vụ trên nhiều lĩnh vực Thập niên 90s, công nghệ này trở nên phát triển vượt bậc và bùng nổ với xu hướng số hóa các loại báo chí Thêm vào đó, sự phát triển của công nghệ, kỹ thuật, điện thoại thông minh đã làm công nghệ OCR phát triển đến những tầm cao mới

Định nghĩa:

Nhận dạng ký tự quang học đề cập đến công nghệ phần mềm nhận dạng điện tử văn bản (viết hoặc in) bên trong tệp hình ảnh hoặc tài liệu vật lý, chẳng hạn như tài liệu được quét và chuyển đổi nó thành dạng văn bản có thể đọc được bằng máy để sử dụng cho quá trình xử

lý dữ liệu Nó còn được gọi là nhận dạng văn bản

Nói tóm lại, phần mềm nhận dạng ký tự quang học giúp chuyển đổi hình ảnh hoặc tài liệu vật lý thành dạng có thể lưu trữ điện tử và trích xuất Ví dụ về OCR là công cụ trích xuất văn bản, trình chuyển đổi PDF sang txt và chức năng tìm kiếm hình ảnh của Google

Phương thức & hoạt động:

Ý tưởng của OCR rất rõ ràng, so sánh chữ viết thuần túy hoặc có thể áp dụng một số công nghệ

để tăng cường tính chính xác khi nhận dạng như là máy học Việc triển khai một chức năng OCR

có thể gặp một số khó khăn bởi một số tác nhân như là sự đa dạng và khác biệt bởi các font chữ,

sự hình thành từ hoặc câu Ví dụ, OCR có thể gặp khó khăn lớn với các loại chữ viết tay, thủ công

Toàn bộ quá trình OCR bao gồm một loạt các bước chủ yếu bao gồm ba mục tiêu: tiền xử lý hình ảnh, nhận dạng ký tự và xử lý hậu kỳ (pre-processing of the image, character recognition, and post-processing the specific output.)

Các bước xử lý chính của OCR có thể đơn giản hóa như sau:

Trang 15

Bước 1: Quét tài liệu/đối tượng cần trích xuất text

Có thể nói, đây là một bước chính trong quy trình ORC, ở bước nay, đầu vào là hình ảnh sẽ được chuẩn hóa Hình ảnh ở bước này nếu được tối ưu tốt sẽ nâng cao năng suất của toàn bộ quy trình ORC

Bước 2: Tối ưu, căn chỉnh hình ảnh

Trong bước này, phần mềm nhận dạng ký tự quang học sẽ cải thiện các đặc điểm và tính chất của tài liệu cần được chụp Mọi khuyết điểm như nhiễu ảnh, nhiễu hạt đều được loại bỏ và các cạnh, cũng như các điểm ảnh, được làm mịn để có được văn bản đơn giản và rõ ràng Bước này giúp chương trình nắm bắt dễ dàng hơn và có thể "nhìn thấy" rõ ràng các từ được nhập vào mà không có vết nhòe hoặc vùng tối/vùng sáng không đều

Bước 3: “Thập phân hóa” dữ liệu (Binarization)

Hình ảnh đầu vào sau khi đã được tối ưu, được chuyển về dạng dữ liệu nhị phân, chỉ bao gồm các điểm ảnh trên gray-scale (chỉ đen trắng), vùng tối sẽ được xác định như là vùng từ ngữ cần trích xuất Đồng thời, vùng sáng sẽ được xác định là nền hình ảnh Bước này nhằm mục đích áp dụng phân đoạn cho tài liệu để dễ dàng phân biệt nền và văn bản, cho phép nhận dạng các ký tự một cách tối ưu

Bước 4: Nhận dạng ký tự

Trong bước này, các vùng màu đen được xử lý thêm để xác định các chữ cái hoặc chữ số Thông thường, OCR tập trung vào một ký tự hoặc khối văn bản tại một thời điểm Việc nhận dạng các

ký tự được thực hiện bằng cách sử dụng một trong hai thuật toán sau:

• Nhận dạng mẫu (pattern recognition) Thuật toán nhận dạng mẫu bao gồm việc chèn văn bản ở các phông chữ và định dạng khác nhau vào phần mềm OCR ORC sẽ so sánh các font chữ đã được nạp với hình ảnh được ghi nhận từ bước trước, ký tự có độ tương đồng xấp xỉ lớn nhất sẽ được ghi nhận

• Nhận dạng đặc trưng (feature detection) Thông qua thuật toán feature detection, OCR

áp dụng các quy tắc xem xét các đặc trưng và cấu tạo của một chữ cái hoặc số nhất định

để xác định các ký tự trong tài liệu được quét Ví dụ về các đối tượng ký tự bao gồm số lượng đường thẳng góc, đường gạch chéo hoặc đường cong được sử dụng để so sánh và xác định các ký tự

Trang 16

OCR đơn giản so sánh các pixel của mọi chữ cái được quét với cơ sở dữ liệu hiện có để xác định

ký tự trùng khớp nhất Tuy nhiên, các dạng OCR tinh vi chia mọi ký tự thành các thành phần của nó, chẳng hạn như đường cong và góc, để so sánh và khớp các đặc điểm vật lý với các chữ cái tương ứng

Bước 5: Kiểm tra tính chính xác

Sau khi nhận dạng thành công các ký tự, kết quả được tham chiếu chéo bằng cách sử dụng từ điển của OCR để đảm bảo độ chính xác Việc đo độ chính xác của OCR được thực hiện bằng cách lấy đầu ra của một phân tích được thực hiện bởi OCR và so sánh nó với nội dung của phiên bản gốc

Có hai phương pháp điển hình để phân tích độ chính xác của phần mềm OCR:

• Độ chính xác ở cấp độ ký tự, đếm số lượng ký tự được phát hiện một cách chính xác

• Độ chính xác cấp độ từ, đếm số từ đã được nhận dạng chính xác

Trong hầu hết các trường hợp, độ chính xác 98-99% là tỷ lệ chính xác có thể chấp nhận được, được đo ở cấp độ trang Điều này có nghĩa là trong một trang có khoảng 1.000 ký tự, OCR phải xác định chính xác 980-990 ký tự

Ứng dụng & lợi ích:

ORC có ứng dụng ở rất nhiều lĩnh vực: đọc biển số xe, đọc biển báo, số hóa tài liệu,…

Nhận dạng ký tự quang học mang lại nhiều lợi những lợi ích quan trọng nhất của OCR được liệt

kê dưới đây:

• Cải thiện tính chính xác: Nhận dạng ký tự dựa trên phần mềm giúp loại bỏ lỗi của con người, giúp cải thiện độ chính xác

• Tăng tốc các quy trình: Công nghệ chuyển đổi dữ liệu phi cấu trúc thành thông tin có thể tìm kiếm được, cung cấp dữ liệu cần thiết có sẵn với tốc độ nhanh hơn và sau đó tăng tốc các quy trình

• Hiệu quả về chi phí: Công nghệ OCR không yêu cầu nhiều tài nguyên giúp giảm chi phí

xử lý và sau đó giảm chi phí tổng thể

• Nâng cao sự hài lòng của khách hàng: Khả năng truy cập dữ liệu có thể tìm kiếm của khách hàng đảm bảo trải nghiệm tốt, đảm bảo sự hài lòng của khách hàng tốt hơn

Trang 17

• Cải thiện năng suất

2.5 Text-to-speech (TTS)

Tổng quan:

Chuyển văn bản thành giọng nói (TTS) là một loại công nghệ hỗ trợ đọc to văn bản kỹ thuật số Đôi khi nó được gọi là công nghệ “read aloud” TTS có thể lấy các kỹ từ, câu từ và chuyển đổi chúng thành âm thanh TTS thường sử

dụng các công nghệ như Natural Language

Processing (NLP) và Digital Signal

Processing (DSP) để chuyển đổi text thành

âm thanh

Phương thức & hoạt động:

Hoạt động của một module Text-to-speech có thể chia thành đơn giản như sau:

Bước 1: Tổng hợp ký tự thành từ

Đây là bước đầu tiên, mà thường được gọi là tiền xử lý hoặc chuẩn hóa, tất cả đều nhằm giảm

sự mơ hồ: đó là việc thu hẹp nhiều cách khác nhau mà bạn có thể đọc một đoạn văn bản thành cách thích hợp nhất Quá trình tiền xử lý bao gồm việc xem qua văn bản và làm sạch nó để máy tính ít mắc lỗi hơn khi thực sự đọc to các từ Những thứ như số, ngày, giờ, chữ viết tắt, từ viết tắt và các ký tự đặc biệt (ký hiệu tiền tệ, v.v.) cần phải được chuyển thành từ - và điều đó khó hơn âm thanh của nó

• Sử dụng bản ghi âm của con người nói các âm vị

• Để máy tính tự tạo ra các âm vị bằng cách tạo ra các tần số âm thanh cơ bản (hơi giống bộ tổng hợp âm nhạc)

Trang 18

• Bắt chước cơ chế của giọng nói con người

2.6 Speech-to-text (STT)

Tổng quan:

Chuyển đổi giọng nói sang văn bản là quá trình chuyển đổi lời nói thành văn bản viết Quá trình này cũng thường được gọi là nhận dạng giọng nói Mặc dù các thuật ngữ này gần như đồng nghĩa, nhưng tính năng Nhận dạng giọng nói đôi khi được sử dụng để mô tả quy trình rộng hơn của việc trích xuất ý nghĩa từ giọng nói, tức là hiểu giọng nói Thuật ngữ nhận dạng giọng nói nên tránh vì nó thường được liên kết với quá trình xác định một người từ giọng nói của họ, tức

là nhận dạng người nói

Phương thức & hoạt động:

Tất cả các hệ thống chuyển lời nói thành văn bản đều dựa vào ít nhất hai mô hình: mô hình âm học và mô hình ngôn ngữ (acoustic model and language model) Ngoài ra, hệ thống từ vựng lớn

sử dụng mô hình phát âm Điều quan trọng là phải hiểu rằng không có cái gọi là công cụ nhận dạng giọng nói phổ biến Để có được chất lượng phiên âm tốt nhất, tất cả các mô hình này có thể chuyên biệt cho một ngôn ngữ, phương ngữ, miền ứng dụng, loại giọng nói và kênh giao tiếp nhất định

Giống như bất kỳ công nghệ nhận dạng mẫu nào khác, nhận dạng giọng nói không thể không có lỗi Độ chính xác của bản ghi lời nói phụ thuộc nhiều vào người nói, phong cách nói và điều kiện môi trường Nhận dạng giọng nói là một quá trình khó hơn những gì mọi người thường nghĩ, ngay cả đối với một con người Con người quen với việc hiểu giọng nói, không phải phiên âm

nó, và chỉ những bài phát biểu được xây dựng đúng công thức mới có thể được phiên âm mà không bị mơ hồ

Theo quan điểm của người dùng, hệ thống chuyển lời nói thành văn bản có thể được phân loại dựa trên cách sử dụng của nó: lệnh và điều khiển, hệ thống hộp thoại, đọc chính tả văn bản, phiên

âm tài liệu âm thanh, v.v Mỗi cách sử dụng có yêu cầu cụ thể về độ trễ, hạn chế về bộ nhớ , kích thước từ vựng và các tính năng thích ứng

Trang 19

Chương 3: PHÂN TÍCH, THIẾT KẾ

1 Cơ sở dữ liệu

1.1 Sơ đồ lớp

1.2 Chi tiết các thuộc tính

1.2.1 User

3 email String Email của người dùng

4 password String Mẫu khẩu người dùng

Trang 20

1.2.2 Dictionary

2 word String Từ vựng người dùng nhập vào

3 phonetic String Phiên âm từ vựng

4 partOfSpeech String Tính chất từ vựng

5 defiton String Nghĩa của từ vựng

1.2.3 Question Catalog

3 description String Mô tả câu hỏi

4 questionData String Câu trả lời

1.2.4 Slide Model

Trang 21

2 Yêu cầu chức năng

2.1 Sơ đồ use case

2.2 Mô tả tác nhân

Trang 22

1 User Người dùng từ điển

2.3 Mô tả use case

1 Eng - Viet dictionary Dịch từ vựng từ tiếng Anh sang tiếng Việt

2 Eng - Eng dictionary Dịch từ vựng Anh - Anh

3 Using photo Sử dụng máy ảnh quét từ vựng và dịch nó

4 Using microphone Sử dụng microphone để quét từ vựng và dịch nó

5 Flash card Sử dụng flashcard để tăng khả năng học từ vựng

6 Quiz catalog Sử dụng câu hỏi để tăng khả năng học từ vựng

Tên use case Eng - Viet dictionary

Mô tả Người dùng tra từ điển anh việt hoặc tra một đoạn văn tiếng Anh sang tiếng Việt

Điều kiện trước User phải đăng nhập

Các yêu cầu đặc biệt Từ vựng phải có nghĩa và không chứa kí tự đặc biệt

Trang 23

3.1.2 Activity diagram

3.2 Eng - Eng dictionary

3.2.1 Use case

Tên use case Eng - Eng dictionary

Mô tả Người dùng tra từ điển anh - anh và các từ đồng nghĩa trái nghĩa

của nó

Điều kiện trước User phải đăng nhập

Các yêu cầu đặc biệt Từ vựng phải có nghĩa và không chứa kí tự đặc biệt hay số

Từ vựng chỉ gồm 1 từ

Ngày đăng: 17/08/2022, 21:20

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