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

Thuyết minh phim tự động sử dụng tổng hợp tiếng nói tiếng việt

75 15 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 75
Dung lượng 4,81 MB

Nội dung

NGUYỄN VĂN NAM BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI NGUYỄN VĂN NAM LUẬN VĂN THẠC SĨ KỸ THUẬT PHẦN MỀN THUYẾT MINH PHIM TỰ ĐỘNG SỬ DỤNG TỔNG HỢP TIẾNG NÓI TIẾNG VIỆT LUẬN VĂN THẠC SĨ KỸ THUẬT CHUYÊN NGÀNH KỸ THUẬT PHẦN MỀM KHOÁ – 2016B Hà Nội – 2019 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI NGUYỄN VĂN NAM THUYẾT MINH PHIM TỰ ĐỘNG SỬ DỤNG TỔNG HỢP TIẾNG NÓI TIẾNG VIỆT Chuyên ngành : KỸ THUẬT PHẦN MỀM LUẬN VĂN THẠC SĨ KỸ THUẬT NGƯỜI HƯỚNG DẪN: TS NGUYỄN THỊ THU TRANG Hà Nội – Năm 2019 LỜI CẢM ƠN Để có ngày hồn thành luận văn tốt nghiệp này, lời em xin chân thành cảm ơn thầy, cô cán giảng dạy trường Đại học Bách Khoa Hà Nội, thầy cô viện Công nghệ thông tin & Truyền thông đặc biệt thầy cô môn Công nghệ phần mềm tận tậm dạy em suốt thời gian học vừa qua Em xin trận trọng gửi lời cảm ơn đến Tiến sĩ Nguyễn Thị Thu Trang, Bộ môn Công nghệ phần mềm, Viện CNTT&TT, Trường Đại học Bách Khoa Hà Nội Cảm ơn cô thời gian em thực luận văn nhiệt tình hướng dẫn, bảo kiến thức định hướng cho em thực đề tài Em xin gởi lời cảm ơn chân thành đến bạn học lớp 16BKTPM đồng hành giúp đỡ sẻ chia tơi khó khăn q trình học tập làm luận văn Cuối cùng, em xin cảm ơn gia đình, người ln động viên giúp đỡ em mặt tinh thần, để em có động lực vững tin đạt đến kết cuối Hà Nội, ngày 24 tháng 11 năm 2019 Tác giả LVThS Nguyễn Văn Nam LỜI CAM ĐOAN Tôi - Nguyễn Văn Nam - cam kết luận văn cơng trình nghiên cứu thân tơi hướng dẫn TS Nguyễn Thị Thu Trang Các kết nêu luận văn trung thực, khơng phải chép tồn văn cơng trình khác Hà Nội, ngày 24 tháng 11 năm 2019 Tác giả LVThS Nguyễn Văn Nam MỤC LỤC LỜI CAM ĐOAN MỤC LỤC DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ DANH MỤC HÌNH DANH MỤC BẢNG CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 10 1.1 Đặt vấn đề 10 1.2 Mục tiêu phạm vi đề tài 11 1.3 Bố cục luận văn 12 CHƯƠNG 2: KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU 13 2.1 Khảo sát trạng 13 2.2 Tổng quan dịch vụ ứng dụng 14 2.2.1 Dịch vụ quản lý xác thực người dùng 16 2.2.2 Dịch vụ quản lý tổng hợp thuyết minh 17 2.2.3 Dịch vụ quản lý phim thuyết minh 17 2.3 Đặc tả use case 18 2.3.1 Đặc tả use case tổng hợp thuyết minh 18 2.3.2 Đặc tả use case cấu hình phụ đề 19 2.3.3 Đặc tả use case xem phim 20 2.4 Tổng kết 20 CHƯƠNG 3: GIẢI PHÁP THUYẾT MINH PHIM TỰ ĐỘNG 21 3.1 Thiết kế kiến trúc 21 3.1.1 Kiến trúc tổng quan 21 3.1.2 Kiến trúc front-end 22 3.1.3 Kiến trúc back-end 24 3.2 Giải pháp tổng hợp thuyết minh phim 25 3.2.1 Giới thiệu MaryTTS định dạng SSML 25 3.2.2 Quá trình tổng hợp file âm 26 3.3 Cách thức trình chiếu phim thuyết minh tự động 29 3.3.1 Phương thức trình chiếu phim thuyết minh 29 3.3.2 Cơ chế đồng phim thuyết minh 31 3.4 Kết chương 32 CHƯƠNG 4: PHÁT TRIỂN ỨNG DỤNG 33 4.1 Công nghệ sử dụng 33 4.1.1 NodeJS 33 4.1.2 Bảo mật API với Json web token – JWT 35 4.1.3 Elastic Search 36 4.1.4 ReactJS 36 4.1.5 Android platform 41 4.2 Thư viện API 45 4.2.1 MongooseJS 45 4.2.2 Redux 45 4.2.3 ObjectBox 46 4.2.4 Glide 48 4.2.5 Volley 48 4.3 Phát triển ứng dụng 48 4.3.1 Thư viện công cụ sử dụng 48 4.3.2 Kiến trúc ứng dụng 50 4.3.3 Thiết kế chi tiết 51 4.3.4 Kết đạt 60 4.3.3 Minh họa chức 64 4.4 Thử nghiệm 68 4.4.1 Dữ liệu thử nghiệm 68 4.4.2 Kết thử nghiệm 68 4.5 Đánh giá 69 4.5.1 Ưu điểm 69 4.5.2 Nhược điểm 69 4.6 Kết chương 70 KẾT LUẬN 71 DANH MỤC CÁC TÀI LIỆU THAM KHẢO 72 DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ API EUD RDBMS SQL HTML URI JSON Application Programming Interface Giao diện lập trình ứng dụng End-User Development Phát triển ứng dụng người dùng cuối Relational Database Management System Hệ quản trị sỡ liệu quan hệ Structured Query Language Ngôn ngữ truy vấn mang tính cấu trúc, thiết kế để quản lý liệu RDBMS HyperText Markup Language Ngôn ngữ đánh dấu siêu văn Uniform Resource Identifier Một chuỗi ký tự dùng để xác định tài nguyên JavaScript Object Notation Một kiểu định dạng liệu ngôn ngữ JavaScript REST Representational State Transfer Một chuẩn thiết kế phần mềm, quy định cách mà client server tương tác với CNTT Công nghệ thơng tin TTS Hệ thống tổng hợp tiếng nói LVTN Luận văn tốt nghiệp MVVM Model – View – ViewModel DANH MỤC HÌNH Hình Tổng quan chức 14 Hình Biểu đồ use case tổng quan 15 Hình Biểu đồ use case quản lý xác thực người dùng 16 Hình Biểu đồ use case cho dịch vụ quản lý tổng hợp thuyết minh 17 Hình Biểu đồ use case dịch vụ quản lý phim thuyết minh 18 Hình Kiến trúc ứng dụng thuyết minh phim 21 Hình Kiến trúc mobile-front-end 22 Hình Kiến trúc web-front-end 23 Hình Kiến trúc microservice 24 Hình 10 Quá trình tạo file âm với đầu vào file srt 27 Hình 11 Trình chiếu phim thuyết minh tự động 29 Hình 12 Cấu trúc HTML DOM [8] 37 Hình 13 Server side rendering [9] 39 Hình 14 Client side rendering [9] 41 Hình 15 Các thành phần Android 42 Hình 16 Quản lý liệu có redux khơng có redux [16] 46 Hình 17 Kiến trúc mobile front-end 50 Hình 18 Kiến trúc back-end 51 Hình 19 Kiến trúc dịch vụ quản lý xác thực người dùng 52 Hình 20 Các thành phần dịch vụ tổng hợp thuyết minh 53 Hình 21 Kiến trúc dịch vụ quản lý phim thuyết minh 54 Hình 22 Thiết kế sở liệu Database 56 Hình 23 Kiến trúc ứng dụng Android 57 Hình 24 Thiết kế giao diện ứng dụng Android front-end 59 Hình 25 Cấu trúc gói xây dựng dịch vụ back-end server 61 Hình 26 Cấu trúc gói ứng dụng mobile front-end 62 Hình 27 Màn hình danh sách phim thuyết minh 64 Hình 28 Màn hình xem phim 65 Hình 29 Màn hình thơng tin cá nhân 66 Hình 30 Màn hình quản lý tổng hợp thuyết minh 67 hình chức người dùng cần đăng nhập Màn hình chức cho phép người dùng thực nội dung sau: - Thêm, sửa, xóa phim - Thêm, sửa, xóa phụ đề - Thêm, xóa thuyết minh thực - Xem phim với phụ đề thuyết minh tạo b Thiết kế liệu Dữ liệu lưu ứng dụng Android mobile app chất ánh xạ liệu back-end server lưu cho người dùng đăng nhập sử dụng ứng dụng Các đối tượng lưu trữ ứng dụng thông qua thư viện ObjectBox đề cập c Thiết kế giao diện Hình 24 Thiết kế giao diện ứng dụng Android front-end 59 Giao diện ứng dụng thiết kế cách phân chia thiết kế thành thành phần chức logic độc lập đại diện cho giao diện có chứa phương thức, kiện thuộc tính Ưu điểm kiến trúc tính đóng gói, tính tái sử dụng, tính thay thế, không phụ thuộc vào bối cảnh môi trường sử dụng, khả mở rộng cao, độc lập thân với thành phần khác cao Hình 24 mơ tả ứng dụng gồm thành phần header, footer main Phần header thiết kế để hiển thị chức tìm kiếm quay lại hình tương tác trước Phần footer dùng chức điều hướng đến hình chức Phần main thiết kế để hiển thị động: với hình có độ rộng nhỏ hiển thị nội dung chính, hình có độ rộng lớn hiển thị thêm danh sách điều hướng đối tượng hiển thị Nội dung hiển thị hình chức năng: hình user, hình trang chủ hình tổng hợp 4.3.4 Kết đạt Kết đạt bao gồm: server, ứng dụng mobile Android Server nơi xử lý nghiệp vụ mà phía client yêu cầu, liệu đóng gói thành định dạng JSON Client nơi người dùng tạo tương tác với ứng dụng, client server giao tiếp với thông qua API Bảng 11 thống kê kết đạt qua tiêu chí mã nguồn Bảng 11 Kết đạt Kết Tiêu chí Server Web client Dung lượng mã nguồn 2.3 MB MB Dung lượng mã nguồn 113 MB 320 MB thư viện Số lượng file mã nguồn 131 107 Số API hoạt động ~100 60 Mobile client 864 KB 139.3 MB 166 4.3.4.1 Cấu trúc chương trình back-end Hình 25 Cấu trúc gói xây dựng dịch vụ back-end server Phần back end xây dựng dựa framework ExpressJS NodeJS Cấu trúc gói xây dựng back-end server mơ tả hình 25 Trong cấu trúc này, phần cốt lỗi cần quan tâm thư mục services Tại nơi chứa xử lý nghiệp vụ dịch vụ Các thư mục file khác logic sử dụng chung cho dịch vụ kể o config: có chứa cấu hình cho khởi tạo biến mơi trường o initData: chứa số script khởi tạo liệu cho ứng dụng 61 o middlewares: chứa đoạn mã xử lý chức trung gian bóc tách tham số request o modules: chưa mô tả đối tượng ứng dụng, điều hướng hàm thao tác với liệu đối tượng o services: chứa mã xử lý cho microservice ứng dụng o utils: chứa mã xử lý chung logging 4.3.4.2 Cấu trúc chương trình mobile front-end Hình 26 Cấu trúc gói ứng dụng mobile front-end Ứng dụng mobile front-end phát triển tảng Android Source code tổ chức thành View, Model ViewModel Cấu trúc gói xây dựng back-end server mơ tả hình 26 Trong cấu trúc này, phần cốt lỗi cần quan tâm 62 thư mục Fragment, Model ViewModel Tại nơi chứa xử lý logic ứng dụng, định nghĩa đối tượng đoạn mã xử lý tương tác với back-end server o CustomeView: thư mục chứa mã xây dựng đối tượng hiển thị mà Android không hỗ trợ tùy chỉnh lập trình viên o Fragment: thư mục chứa đoạn mã tổ chức thành phần hình/thành phần chức o Model: thư mục chứa mã đối tượng ứng dụng, thư viện ObjectBox đoạn code mô tả để sinh đối tượng tương tác với liệu o Util: thư mục chứa hàm tiện ích dùng chung o ViewModel: thư mục chứa xử lý logic hình chức năng, tương tác với liệu lưu offline thông qua đối tượng ObjectBox đồng liệu với back-end server thông qua hàm api publish o res: thư mục chứa file định nghĩa giao diện cho Fragment, CustomView 63 4.3.3 Minh họa chức Hình 27 Màn hình danh sách phim thuyết minh 64 Hình 27 hình danh sách phim người dùng đăng tải tạo thuyết minh cho phim Hình 28 Màn hình xem phim 65 Hình 28 hình xem phim cho phép người dùng tương tác với nội dung phim như: tua, tạm dừng, tua ngắn, chọn phụ đề, bât/tắt phụ đề… Hình 29 Màn hình thơng tin cá nhân 66 Hình 29 hình thơng tin cá nhân, hiển thị thông tin cá nhân người dùng đăng nhập Ở hình cá nhân cịn cho phép người dùng xem danh sách bạn bè, tìm kiếm bạn bè, kết bạn/hủy kết bạn… Hình 30 Màn hình quản lý tổng hợp thuyết minh 67 Hình 30 hình quản lý tổng hợp thuyết minh, hình hiển thị phim người dùng tải lên chưa tạo thuyết minh cho phim 4.4 Thử nghiệm Trong nội dung thử nghiệm em vào thử nghiệm chức ứng dụng, chức tổng hợp thuyết minh 4.4.1 Dữ liệu thử nghiệm Để thử nghiệm chức tăng tổng hợp thuyết minh cần có tập tin phụ đề, để giảm việc thao tác em lấy liệu trang chia sẻ phụ đề import vào database thay để người dùng tự tải lên Cộng đồng chia sẻ file phụ đề đa dạng phong phú, nội dung thử nghiệm em lấy file phụ đề trạng subscene.com Thống kê liệu thử nghiệm bảng 12 sau: Bảng 12 Dữ liệu thử nghiệm Thời lượng phim Số lượng Dưới 45 phút Từ 45 phút đến 90 phút 24 Từ 90 đến 120 phút 77 Từ 120 phút đến 150 phút 15 Trên 150 phút Tổng cộng 125 Danh sách phụ đề nhập vào database để phục vụ cho thử nghiệm tổng hợp thuyết minh 4.4.2 Kết thử nghiệm Các người dùng tạo để thử nghiệm đăng nhập vào ứng dụng Android mobile app, sau đến hình tổng hợp thuyết minh sử dụng chức tổng hợp thuyết minh với phụ đề chuẩn bị Kết tổng hợp thuyết minh mô tả bảng 13 Bảng 13 Kết thử nghiệm tổng hợp Tên phim Fluttering Warning Thời lượng phụ đề 45 phút Thời lượng thuyết minh 45 phút 68 Thời gian tổng hợp 22 phút Người hùng tia chớp Phần - Tập 20 L Storm / Biệt đội chống tham nhũng Mojin: The Worm Valley / Ma Thổi Đèn: Trùng Cốc Vân Nam Hunter Killer/Mật Vụ Giải Cứu Rampant / Dạ Quỷ Seven Samurai/Bẩy Võ Sĩ Samurai 42 phút 42 phút 20 phút 90 phút 90 phút 40 phút 110 phút 110 phút 58 phút 122 phút 122 phút 65 phút 129 phút 202 phút 129 phút 202 phút 66 phút 103 phút Như trình bày trên, dịch vụ tổng hợp thuyết minh hoạt động dự việc phân tách câu hội thoại tệp phụ đề gửi đoạn hội thoại đến server TTS, sau ghép đoạn âm thu Từ thấy kết tổng hợp phụ thuộc vào số lần request tổng hợp âm mà service không thử lại Kết bảng 13 cho thấy dịch vụ tổng hợp thuyết minh phim cho kết tệp âm tổng hợp khớp với tệp phụ đề, dịch vụ hoạt động ổn định với tốc độ tổng hợp trung bình phút xử lý cho phút phụ đề 4.5 Đánh giá 4.5.1 Ưu điểm • Ứng dụng back-end phân tách dịch vụ riêng biệt theo mơ hình microservice nên thành phần ứng dụng dễ bảo trì, phát triển • Ứng dụng mobile front end phát triển chức cốt lõi, tổ chức ứng dụng thành thành phần độc lập, dễ tái sử dụng • Giải tốn cốt lõi hệ thống 4.5.2 Nhược điểm • Ứng dụng dừng lại mức thử nghiệm, chức nghèo nàn, cần phát triển thêm chức để tăng trải nghiệm người dùng • Tính bảo mật chưa cao • Chưa thử nghiệm nhân rộng khơng có đủ sở vật chất 69 4.6 Kết chương Chương trình bày kiến trúc microservice back-end ứng dụng, kiến trúc dịch vụ ứng dụng, mô tả tương tác lớp với dịch vụ Phần mobile front-end vào trình bày chi tiết kiến trúc ứng dụng, thành phần tương tác chúng Từ thiết kế chi tiết, kết hợp với công nghệ, thư viện cơng cụ lập trình để tạo sản phẩm sau back-end server mobile client Cuối luận văn vào trình bày thử nghiệm đánh giá ứng dụng đạt 70 KẾT LUẬN Như em trình bày ứng dụng thuyết minh phim tự động sử dụng tổng hợp tiếng nói Tiếng Việt Về mặt kỹ thuật luận văn tiếp cận sử dụng ngôn ngữ khác Java, Nodejs để xây dựng dịch vụ, dịch vụ giao tiếp với sử dụng Restful giao thức HTTP đơn giản mà ngôn ngữ lập trình thơng dụng hỗ trợ Với việc sử dụng giao diện API cho dịch vụ, việc thay modules dễ dàng có modules cần nâng cấp, thay đổi loại bỏ lý chức thay đổi hay cơng nghệ lạc hậu Các dịch vụ xây dựng định hướng phát triển riêng biệt không phụ thuộc chức đảm bảo liên quan chức đáp ứng yêu cầu quản lý Các định hướng luận văn Kiểm soát lỗi, lỗ hổng phát sinh phần mềm, tiến hành chạy ổn định ứng dụng môi trường người dùng thực tế Thêm liệu cho sở liệu phim có thuyết minh với nhiều giọng đa dạng Kiểm sốt chặt chẽ vai trị người dùng thuyết minh người dùng tạo ra, hướng tới giới hạn số lượng tệp thuyết minh người dùng bình thường phép tạo Xây dựng chức thống kê báo cáo tốt giúp người dùng xem tổng quan phim thuyết minh tạo Phát triển chức thơng báo phát sinh tương tác người dùng với người dùng người dùng với phim Do thời gian thực luận văn không nhiều kiến thức cá nhân cịn nhiều hạn chế nên luận văn khơng thể tránh khỏi thiếu sót Em mong ý kiến đóng góp thầy bạn đọc để luận văn hoàn thiện Xin chân thành cảm ơn! 71 DANH MỤC CÁC TÀI LIỆU THAM KHẢO [1] N js Foundation, “Node.js,” Node.js [Online] Available: https://nodejs.org/en/ [Accessed: 24-May-2019] [2] “Express - Node.js web application framework.” [Online] Available: https://expressjs.com/ [Accessed: 24-May-2019] [3] “REST API Tutorial.” [Online] Available: https://www.restapitutorial.com/ [Accessed: 24-May-2019] [4] “The most popular database for modern apps | MongoDB.” [Online] Available: https://www.mongodb.com/ [Accessed: 24-May-2019] [5] “JSON Web Token” [Online] Available: https://jwt.io/introduction/ [Accessed: 24-May-2019] [6] “Elasticsearch documentation” [Online] Available: https://www.elastic.co/guide/index.html [Accessed: 24-May-2019] [7] “React – A JavaScript library for building user interfaces.” [Online] Available: https://reactjs.org/ [Accessed: 20-May-2019] [8] “JavaScript HTML DOM.” [Online] Available: https://www.w3schools.com/js/js_htmldom.asp [Accessed: 24-May-2019] [9] “So sánh Server Side Rendering Client Side Rendering React,” Viblo [Online] Available: https://viblo.asia/p/so-sanh-server-side-rendering-vaclientside-rendering-trong-react-V3m5WBrylO7 [Accessed: 24-May-2019] [10] “Next.js - The React Framework.” [Online] Available: https://nextjs.org [Accessed: 24-May-2019] [11] “Webpack,” webpack [Online] Available: https://webpack.js.org/ [Accessed: 24-May-2019] [12] “Babel · The compiler for next generation JavaScript.” [Online] Available: https://babeljs.io/index.html [Accessed: 24-May-2019] 72 [13] “Android Platform” [Online] Available: https://developer.android.com/docs [Accessed: 25-May-2019] [14] “Mongoose ODM v5.5.11.” [Online] Available: https://mongoosejs.com/ [Accessed: 24-May-2019] [15] “Redux · A Predictable State Container for JS Apps.” [Online] Available: https://redux.js.org/ [Accessed: 24-May-2019] [16] “Flux | Application Architecture for Building User Interfaces.” [Online] Available: http://facebook.github.io/flux/index.html [Accessed: 24-May-2019] [17] “ObjectBox - Edge Database for Mobile and IoT” [Online] Available: https://objectbox.io/ [Accessed: 24-May-2019] [18] “An image loading and caching library” [Online] Available: https://github.com/bumptech/glide [Accessed: 24-May-2019] [19] “Volley overview” [Online] Available: https://developer.android.com/training/volley [Accessed: 24-May-2019] 73 ... pháp tổng hợp thuyết minh phim Như đề cập trước đó, ứng dụng sử dụng hệ thống tổng hợp tiếng nói Tiếng Việt sẵn có, phần vào tìm hiểu hệ thống tổng hợp tiếng nói cách sử dụng hệ thống để tạo thuyết. .. quen với giọng thuyết minh phim Từ điều nêu em thấy cần đưa ứng dụng thuyết minh phim tự động, giúp ta giảm thiểu chi phí để tạo phim thuyết minh Ứng dụng thuyết minh phim tự động ứng dụng đưa để... lý tổng hợp thuyết minh Dịch vụ quản lý tổng hợp thuyết minh cho phép lưu trữ quản lý phụ đề phim muốn tổng hợp thuyết minh Hình mơ tả tương tác người dùng dịch vụ quản lý tổng hợp thuyết minh

Ngày đăng: 28/02/2021, 00:12

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w