Hiện nay với sự phát triển của công nghệ, hàng loại các thiết bị thông minh được ra đời. Cùng với đó là nhu cầu sử dụng đầy đủ các thiết bị thông minh để phục vụ cho sinh hoạt và công việc của con người ngày càng cao. Một thực tế rất gần với con người đó là trong chính căn nhà của mình, mong muốn được sử dụng công nghệ tự động hóa ngày một rộng rãi, tất cả đồ dùng trong nhà từ phòng ngủ đến phòng khách đều gắn các bộ điều khiển có thể kết nối Internet và điện thoại di động, cho phép chúng ta điều khiển vật dụng từ xa bằng giọng nói hoặc lập trình cho thiết bị ở nhà hoạt động theo thời gian mong muốn. Đối với nước ngoài thì việc nghiên cứu và ứng dụng giọng nói vào đời sống và sản xuất đang rất phát triển trong những năm gần đây. Riêng ở nước ta thì lĩnh vực này còn khá mới mẻ, chưa thể nào thay thế hoàn toàn bàn phím ảo/vật lý hoặc các nút trên màn hình. Tuy nhiên, chúng ta đang dần tiến đến một kỷ nguyên hiện đại hơn, các ứng dụng giọng nói cũng dần được hoàn thiện. Càng ngày những phần mềm nhận dạng giọng nói càng thông minh hơn, khả năng nhận dạng chính xác hơn, thông tin trả về cũng hữu ích và đa dạng hơn. Thấy được tiềm năng của công nghệ nhận diện giọng nói là rất lớn, ứng dụng trong mọi lĩnh vực của đời sống đặc biệt trong điều khiển thiết bị nhà thông minh, nhóm nghiên cứu đã bắt tay vào thực hiện nghiên cứu đề tài: “Nghiên cứu, phát triển hệ thống trí tuệ nhân tạo nhận diện giọng nói trong nhà thông minh”. 2. Mục tiêu của đề tài. - Tìm hiểu, xây dựng một hệ thống nhận diện giọng nói toàn diện có tính ứng dụng thực tiễn. - Xây dựng được một hệ thống đa nền tảng, có tính kế thừa cao. - Xây dựng mô hình hệ thống điều khiển thông minh các thiết bị bằng giọng nói. - Góp phần phát triển công nghệ nhận diện giọng nói và nghiên cứu mạng nơron nhân tạo. 3. Phương pháp nghiên cứu. Nhận dạng giọng nói là một loại mẫu nhận dạng dựa trên huấn luyện và nhận dạng. Phương pháp sử dụng là HMM (Hidden Markov Model) và thư viện sử dụng là bộ nhận dạng HTK. Tín hiệu tiếng nói người dùng được lấy bởi micro-USB đã được kết nối với hệ thống. Để xử lý tín hiệu nhận dạng nhóm nghiên cứu sử dụng bộ thư viện nhận dạng tiếng nói CMU Sphinx nhận dạng các câu lệnh điều khiển thiết bị. Chương trình điều khiển được viết bằng ngôn ngữ Python và được biên dịch trên máy tính nhúng Raspberry Pi để điều khiển các thiết bị đèn, quạt, tivi trực tiếp qua hàng chân GPIO (General Purpose Input/ Output) trên Raspberry Pi.
Trang 1BÁO CÁO TỔNG KẾT
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN
NGHIÊN CỨU, PHÁT TRIỂN HỆ THỐNG TRÍ TUỆ NHÂN TẠO NHẬN
DIỆN GIỌNG NÓI TRONG NHÀ THÔNG MINH
Giảng viên hướng dẫn:
Hà Nội 2022
BỘ CÔNG THƯƠNG
Trang 2BÁO CÁO TỔNG KẾT
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN
NGHIÊN CỨU, PHÁT TRIỂN HỆ THỐNG TRÍ TUỆ NHÂN TẠO NHẬN
DIỆN GIỌNG NÓI TRONG NHÀ THÔNG MINH
Giảng viên hướng dẫn:
Hà Nội 2022
Trang 3MỤC LỤC
MỤC LỤC i
DANH MỤC TỪ VIẾT TẮT iii
DANH MỤC HÌNH ẢNH iv
MỞ ĐẦU vi
1 Tính cấp thiết của đề tài vi
2 Mục tiêu của đề tài vi
3 Phương pháp nghiên cứu vi
4 Đối tượng và phạm vi nghiên cứu vii
5 Ý nghĩa khoa học và thực tiễn vii
CHƯƠNG 1 Tổng quan về công nghệ nhận diện giọng nói 1
1.1 Tổng quan về bài toán nhận diện giọng nói 1
1.2 Mô hình Marko ẩn trong nhận dạng tiếng nói 4
1.3 Nhận diện giọng nói sử dụng mạng nơ-ron nhân tạo 5
1.4 Một số hệ thống nhận diện giọng nói hiện nay 12
1.5 Kết luận chương 15
CHƯƠNG 2 Các thiết bị và linh kiện sử dụng 16
2.1 Raspberry Pi 16
2.2 Module relay 19
CHƯƠNG 3 Framework nhận diện giọng nói 21
3.1 Ngôn ngữ lập trình Python 21
3.2 Thư viện Flask 22
3.3 Nhận diện giọng nói bằng thư viện CMU Sphinx 23
3.4 Nhận diện giọng nói với PocketSphinx 26
3.5 Xây dựng chương trình nhận diện giọng nói với Pocketsphinx 29
CHƯƠNG 4 Thiết kế hệ thống nhận diện giọng nói trong nhà thông minh 33
4.1 Phân tích yêu cầu 33
Trang 44.2 Sơ đồ khối hệ thống 33
4.3 Lưu đồ thuật toán của hệ thống 34
4.4 Kết quả kiểm tra 35
Tài liệu tham khảo 37
Phụ lục 38
Trang 6DANH MỤC HÌNH Ả
Hình 1.2 Mô hình nhận diện giọng nói 1
Hình 1.3 Các phần tử cơ bản của một hệ thống nhận diện giọng nói 4
Hình 1.4 Mô hình Marko ẩn 4
Hình 1.5 Mô hình máy nhận dạng tiếng nói HMM [1] 5
Hình 1.6 Mô hình của một perceptron 6
Hình 1.7 Perceptron đa tầng 6
Hình 1.8 Kiến trúc mạng Nơ- ron 7
Hình 1.9 Đầu vào và đầu ra của công nghệ nhận diện giọng nói sử dụng mạng nơ- ron 7
Hình 1.10 Mô tả đoạn âm thanh của từ “HELLO” 8
Hình 1.11 Lấy mẫu tín hiệu âm thanh 8
Hình 1.12 Đồ thị biểu diễn năng lượng tần số của một giọng nam điển hình [3] 9 Hình 1.13 Nhận diện giọng nói sử dụng mạng nơ-ron hồi quy [3] 10
Hình 1.14 Bản đồ kết nối của từ “HELLO” [3] 10
Hình 1.15 Google Assistant 12
Hình 1.16 Siri 13
Hình 1.17 Amazon alexa 14
YHình 2.1 Bo mạch Raspberry Pi 16 Hình 2.2 Sơ đồ cấu tạo Raspberry Pi 17
Hình 2.3 Sơ đồ chân GPIO của Raspberry 18
Hình 4.1 Sơ đồ khối toàn hệ thống 33
Hình 4.2 Lưu đồ thuật toán của hệ thống 34 Y
Trang 7MỞ ĐẦU
1 Tính cấp thiết của đề tài
Hiện nay với sự phát triển của công nghệ, hàng loại các thiết bị thông minh được
ra đời Cùng với đó là nhu cầu sử dụng đầy đủ các thiết bị thông minh để phục vụ chosinh hoạt và công việc của con người ngày càng cao Một thực tế rất gần với con người
đó là trong chính căn nhà của mình, mong muốn được sử dụng công nghệ tự động hóangày một rộng rãi, tất cả đồ dùng trong nhà từ phòng ngủ đến phòng khách đều gắncác bộ điều khiển có thể kết nối Internet và điện thoại di động, cho phép chúng ta điềukhiển vật dụng từ xa bằng giọng nói hoặc lập trình cho thiết bị ở nhà hoạt động theothời gian mong muốn
Đối với nước ngoài thì việc nghiên cứu và ứng dụng giọng nói vào đời sống vàsản xuất đang rất phát triển trong những năm gần đây Riêng ở nước ta thì lĩnh vực nàycòn khá mới mẻ, chưa thể nào thay thế hoàn toàn bàn phím ảo/vật lý hoặc các nút trênmàn hình Tuy nhiên, chúng ta đang dần tiến đến một kỷ nguyên hiện đại hơn, các ứngdụng giọng nói cũng dần được hoàn thiện Càng ngày những phần mềm nhận dạnggiọng nói càng thông minh hơn, khả năng nhận dạng chính xác hơn, thông tin trả vềcũng hữu ích và đa dạng hơn
Thấy được tiềm năng của công nghệ nhận diện giọng nói là rất lớn, ứng dụngtrong mọi lĩnh vực của đời sống đặc biệt trong điều khiển thiết bị nhà thông minh,
nhóm nghiên cứu đã bắt tay vào thực hiện nghiên cứu đề tài: “Nghiên cứu, phát triển
hệ thống trí tuệ nhân tạo nhận diện giọng nói trong nhà thông minh”
2 Mục tiêu của đề tài
- Tìm hiểu, xây dựng một hệ thống nhận diện giọng nói toàn diện có tính ứngdụng thực tiễn
- Xây dựng được một hệ thống đa nền tảng, có tính kế thừa cao
- Xây dựng mô hình hệ thống điều khiển thông minh các thiết bị bằng giọng nói
- Góp phần phát triển công nghệ nhận diện giọng nói và nghiên cứu mạng nơronnhân tạo
3 Phương pháp nghiên cứu
Nhận dạng giọng nói là một loại mẫu nhận dạng dựa trên huấn luyện và nhậndạng Phương pháp sử dụng là HMM (Hidden Markov Model) và thư viện sử dụng là
Trang 8bộ nhận dạng HTK Tín hiệu tiếng nói người dùng được lấy bởi micro-USB đã đượckết nối với hệ thống Để xử lý tín hiệu nhận dạng nhóm nghiên cứu sử dụng bộ thưviện nhận dạng tiếng nói CMU Sphinx nhận dạng các câu lệnh điều khiển thiết bị.Chương trình điều khiển được viết bằng ngôn ngữ Python và được biên dịch trên máytính nhúng Raspberry Pi để điều khiển các thiết bị đèn, quạt, tivi trực tiếp qua hàngchân GPIO (General Purpose Input/ Output) trên Raspberry Pi
4 Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu:
+ Nghiên cứu về AI, Machine Learning
+ Nghiên cứu về ngôn ngữ lập trình Python và mạng nơron nhân tạo
+ Nghiên cứu về máy tính nhúng Raspberry Pi
+ Nghiên cứu hệ thống nhận dạng giọng nói điều khiển thiết bị trong nhàthông minh
- Phạm vi nghiên cứu: sử dụng cho mô hình một ngôi nhà với 1 phòng khách, 1phòng ngủ, 1 phòng tắm, 1 phòng bếp
5 Ý nghĩa khoa học và thực tiễn
- Ý nghĩa khoa học: Mở ra ý tưởng mới và phát triển công nghệ nhận dạng giọngnói
Trang 9NÓI1.1 Tổng quan về bài toán nhận diện giọng nói
1.1.1 Tổng quan về nhận diện giọng nói
Nhận dạng tiếng nói là làm cho máy hiểu, nhận biết được ngữ nghĩa của lời nói.Đây là quá trình biến đổi tín hiệu âm thanh thu được qua micro, qua các thiết bị thuthanh… thành một chuỗi các từ, sau đó được nhận dạng để sử dụng trong các ứngdụng điều khiển thiết bị, nhập dữ liệu hoặc soạn thảo văn bản bằng lời nói…
Nhận dạng tiếng nói là một quá trình nhận dạng mẫu, với mục đích là phân lớp(classify) thông tin đầu vào là tín hiệu tiếng nói thành một dãy tuần tự các mẫu đãđược học trước đó và lưu trữ trong bộ nhớ Các mẫu là các đơn vị nhận dạng, chúng cóthể là các từ, hoặc các âm vị
Các nghiên cứu về nhận dạng tiếng nói dựa trên ba nguyên tắc cơ bản:
Tín hiệu tiếng nói được biểu diễn chính xác bởi các giá trị phổ trong mộtkhung thời gian ngắn Nhờ vậy ta có thể trích ra các đặc điểm tiếng nói từ nhữngkhoảng thời gian ngắn và dùng các đặc điểm này làm dữ liệu để nhận dạng tiếng nói
Nội dung của tiếng nói được biểu diễn dưới dạng chữ viết, là một dãy các kỹhiệu ngữ âm Do đó ý nghĩa của một phát âm được bảo toàn khi chúng ta phiên âmphát âm thành dãy các ký hiệu ngữ âm
Nhận dạng tiếng nói là một quá trình nhận thức Thông tin về ngữ nghĩa vàsuy đoán có giá trị trong quá trình nhận dạng tiếng nói, nhất là khi thông tin về âm học
là không rõ ràng
Trang 10Trên thực tế, quá trình nhận dạng tiếng nói của người là một quá trình phức tạp.
Hình 1.1 Mô hình nhận diện giọng nói
Chúng ta có thể thấy được một cách trực quan bài toán nhận dạng tiếng nói quahình 1.1 Tín hiệu mà người phát ra là tín hiệu tương tự qua quá trình lấy mẫu, lượng
tử hóa và mã hóa để thu được các mẫu tín hiệu dạng số (tín hiệu mà máy tính có thểhiểu và xử lý được) Các mẫu tín hiệu này được trích chọn đặc trưng Những đặc trưngnày sẽ là đầu vào cho quá trình nhận dạng Để có thể thực hiện việc so sánh với cáctham số đầu vào của hệ thống nhận dạng, trước hết hệ thống phải được huấn luyện vàxây dựng các đặc trưng
Trong quá trình huấn luyện, hệ thống dùng các vector đặc trưng dựa vào để ướclượng, tính toán các tham số cho các mẫu tham khảo Một mẫu tham khảo chính là bảnmẫu dùng để so sánh và nhận dạng, các mẫu tham khảo này mô phỏng cho một từ, một
âm tiết, hoặc một âm vị Trong quá trình nhận dạng, dãy các vector đặc trưng được sosánh với các mẫu tham khảo Sau đó, hệ thống tính toán độ tương đồng của dãy vectorđặc trưng và mẫu tham khảo Việc tính toán độ tương đồng được thực hiện bằng cách
áp dụng các thuật toán đã được chứng minh hiệu quả như thuật toán Vitertbi (trongMarkov ẩn) Mẫu có độ tương đồng cao nhất là kết quả của quá trình nhận dạng
Do tính chất của tiếng nói phụ thuộc vào nhiều yếu tố nên việc thu nhận, phântích các đặc trưng của tiếng nói là việc không dễ Có một số yếu tố khó khăn cho bàitoán nhận dạng tiếng nói:
Khi phát âm, người nói thường nói nhanh, chậm khác nhau
Các từ được nói thường dài ngắn khác nhau
Trang 11 Một người cùng nói một từ, nhưng ở hai lần phát âm khác nhau Kết quảphân tích khác nhau
Mỗi người có một chất giọng riêng được thể hiện thông qua độ cao, độ to,cường độ của âm và âm sắc
Những yếu tố như nhiễu của môi trường, nhiễu của thiết bị thu… ảnh hưởngkhông nhỏ tới hiệu quả nhận dạng
Có thể thấy nhận dạng tiếng nói là một lĩnh vực nghiên cứu có nhiều ứng dụngtrong thực tế Các hệ thống nhận dạng góp phần rất lớn trong việc thúc đẩy phát triểnnhiều ngành Tuy là lĩnh vực mang ý nghĩa to lớn đó, nhưng việc phát triển các hệthống nhận dạng cũng gặp không ít những khó khăn, nhất là ở Việt Nam khi các kếtquả nghiên cứu về nhận dạng tiếng Việt chưa nhiều, cũng như cơ sở hạ tầng cho việcnghiên cứu còn ít
1.1.2 Hướng tiếp cận chính cho nhận diện giọng nói
- Tiếp cận âm học: Hướng tiếp cận này dựa vào các đặc điểm âm học được rút ra
từ phổ âm thanh Tuy nhiên kết quả của hướng tiếp cận này còn thấp vì trong thực tế,các đặc trưng âm học có sự biến động rất lớn Hơn nữa phương pháp này đòi hỏi trithức rất đầy đủ về âm học (Vốn tri thức âm học hiện nay chưa thể đáp ứng)
- Tiếp cận nhận dạng mẫu thống kê: Sử dụng các phương pháp máy học dựa trênthống kê để học và rút ra mẫu tham khảo từ lượng dữ liệu lớn Hướng này đang được
sử dụng nhiều, chủ yếu là dựa vào Mô hình Markov ẩn (HMM)
- Tiếp cận trí tuệ nhân tạo: là hướng kết hợp của cả hai hướng trên Phương phápnày kết hợp được cả tri thức của chuyên gia và phương pháp mẫu thống kê Đây sẽ làhướng tiếp cận tương lai của nhận diện giọng nói
1.1.3 Cách thức hoạt động của công nghệ nhận diện giọng nói
Để chuyển giọng nói sang văn bản hoặc câu lệnh máy tính, hệ thống phải thựchiện một quá trình gồm nhiều bước phức tạp Khi nói, chúng ta sẽ tạo ra những rungđộng trong không khí, bộ chuyển đổi tín hiệu tương tự sang số (Analog-to-DigitalConverter, ADC) chuyển các sóng tương tự (analog) này thành dữ liệu mà máy tính cóthể hiểu được
Để làm điều này, hệ thống thu thập các mẫu (hoặc số hóa) âm thanh bằng cách đochính xác sóng âm ở các khoảng thời gian gần nhau, sau đó lọc âm thanh đã được sốhóa để loại bỏ tiếng ồn, đôi khi tách chúng thành các dải tần số khác nhau Không phải
Trang 12lúc nào con người cũng nói với tốc độ như nhau nên âm thanh phải được điều chỉnhcho phù hợp với tốc độ mà âm thanh mẫu được ghi nhận trong bộ nhớ máy
Tiếp theo, tín hiệu được chia thành nhiều phần nhỏ (thời gian khoảng vài phầntrăm giây, thâm chí là phần nghìn giây trong trường hợp có phụ âm cuối khó phân biệtnhư “p” hoặc “t”) Chương trình sau đó đặt những phần âm thanh này vào các âm vị cósẵn trong ngôn ngữ thích hợp
Hình 1.2 Các phần tử cơ bản của một hệ thống nhận diện giọng nói
1.2 Mô hình Marko ẩn trong nhận dạng tiếng nói
Mô hình Marko ẩn (HMM) là một phương pháp thống kê mạnh mẽ để mô hìnhhóa tín hiệu tiếng nói, và là một mô hình thực sự hiệu quả cho các hệ thống nhận dạngtiếng nói hiện nay [7] Hệ thống được mô hình hóa được cho là một quá trình Markovvới các tham số không biết trước và nhiệm vụ là xác định các tham số ẩn từ các tham
số quan sát được, dựa trên sự thừa nhận này Trong nhận dạng tiếng nói thì tham sốquan sát được là các đặc trưng âm học của tiếng nói, còn tham số ẩn là các từ
Mô hình Marko ẩn gồm các trạng thái và một ma trận chuyển trạng thái, nên nó
có khả năng biểu diễn đúng nhất sự liên tục của tiếng nói theo thời gian Mô hình đưa
ra kết quả nhận dạng bằng phương pháp thống kê, do đó, xác suất tìm đúng từ là rấtlớn và đáng tin cậy
Trang 13Hình 1.3 Mô hình Marko ẩn
- x: các trạng thái trong mô hình Marko
- a: các xác suất chuyển tiếp
- b: các xác suất đầu ra
- y: các dữ liệu quan sát
Vấn đề đặt ra là cần xây dựng một máy nhận dạng có thể nhận biết từ đơn Đểlàm được điều này trước hết phải xây hình tập mô hình cho mỗi từ thông qua quá trìnhhuấn luyện Tiếng nói cần nhận dạng sẽ được rút trích đặc trưng và đưa vào khối lượng
tử để rời rạc đặc trưng tiếng nói thành chuỗi quan sát có các phần tử thuộc mộtcodebook hữu hạn Chuỗi quan sát sẽ được tính xác suất trên mô hình HMM của mỗi
từ Từ được nhận dạng là từ có xác suất cao nhất [1]
Trang 14Hình 1.4 Mô hình máy nhận dạng tiếng nói HMM [1]
1.3 Nhận diện giọng nói sử dụng mạng nơ-ron nhân tạo
1.3.1 Giới thiệu về mạng nơ-ron
Mạng nơ-ron nhân tạo hay thường gọi ngắn gọi là mạng nơ-ron là một mô hìnhtoán học hay mô hình tính toán được xây dựng dựa trên các mạng nơ-ron sinh học Nógồm một nhóm các nơ-ron nhân tạo nối với nhau, và xử lý thông tin bằng cách truyềntheo các kết nối và tính giá trị mới tại các nút Trong nhiều trường hợp, mạng nơ-ronnhân tạo là một hệ thống thích ứng tự thay đổi cấu trúc của mình dựa trên các thông tinbên ngoài hay bên trong chảy qua mạng trong quá trình học
Một mạng nơ-ron được cấu thành bởi các nơ-ron đơn lẻ được gọi là cácperceptron
Trang 15Một perceptron sẽ nhận một hoặc nhiều đầu vào dạng nhị phân và cho ra một kếtquả dạng nhị phân duy nhất
Mạng nơ-ron là sự kết hợp của các tầng perceptron hay còn được gọi làperceptron đa tầng (multilayer perceptron)
Trang 16Hình 1.7 Kiến trúc mạng Nơ- ron
Trong mạng nơ-ron, mỗi nút mạng là một sigmoid nơ-ron nhưng hàm kích hoạtcủa chúng có thể khác nhau Tuy nhiên trong thực tế người ta thường để chúng cùngdạng với nhau để tính toán cho thuận lợi
Ở mỗi tầng, số lượng các nút mạng có thể khác nhau tùy thuộc vào bài toán vàcách giải quyết Nhưng thường khi làm việc người ta để các tầng ẩn có số lượng nơ-ron bằng nhau Ngoài ra, các nơ-ron ở các tầng thường được liên kết đôi một với nhautạo thành mạng kết nối đầy đủ Khi đó ta có thể tính được kích cỡ của mạng dựa vào
số tầng và số nơ-ron
1.3.2 Nhận dạng tiếng nói bằng mạng nơ-ron nhân tạo
Hình 1.8 Đầu vào và đầu ra của công nghệ nhận diện giọng nói sử dụng mạng nơ-ron
Nhận dạng giọng nói với mạng nơ-ron gồm các bước sau:
Lấy mẫu dữ liệu âm thanh
Bước đầu tiên trong nhận diện giọng nói là truyền sóng âm vào máy tính
Trang 17Hình 1.9 Mô tả đoạn âm thanh của từ “HELLO”
Sóng âm có một chiều dữ liệu Ở mỗi thời điểm, chúng có một giá trị cao độ Đểchuyển sóng âm thành số, chúng ta chỉ cần ghi lại độ cao của sóng ở từng khoảng.Phương pháp này gọi là sampling- lấy mẫu Chúng ta đọc mẫu mỗi 1/1000s và ghi lạicon số đại diện chiều cao của sóng âm Lấy mẫu chỉ tạo ra đồ thị xấp xỉ so với sóng
âm, bởi vì nó chỉ đọc dữ liệu theo từng khoảng
Hình 1.10 Lấy mẫu tín hiệu âm thanh
Nhờ có lý thuyết Nyquist, chúng ta có thể sử dụng toán học để tái tạo chính xácsóng âm gốc từ những mẫu tách biệt, miễn là tần số lấy mẫu gấp đôi tần số âm màchúng ta ghi lại [3]
Tiền xử lý dữ liệu âm thanh
Sau khi lấy mẫu dữ liệu, có thể truyền những số này vào mạng nơ-ron, nhưng cốgắng nhận diện cấu trúc âm thanh trực tiếp bằng những mẫu này rất khó Thay vào đó,tiền xử lý tách dữ liệu được lấy mẫu thành nhóm dữ liệu để có thể nhận diện dễ hơn
Trang 18Một bản ghi âm dù rất ngắn nhưng vẫn là một mớ hỗn độn cao độ âm khác nhau.
Có những âm thấp, âm trung và âm cao Nhưng cùng với nhau, những âm này tạo nêngiọng nói
Để giúp mạng nơ-ron xử lý dữ liệu dễ hơn, ta tách sóng âm phức tạp này thànhtừng phần: phần chứa âm thấp, âm cao, cao hơn… Sau đó, tính tổng năng lượng ởnhững dải tần số (từ thấp đến cao) và kết nối lại tạo ra fingerprint- nhận dạng duy nhấtcho từng đoạn trích âm thanh Thực hiện tính tổng năng lượng nhờ vào viễ sử dụngFourier transform trong toán học Nó chia nhỏ những sóng âm phức tạp thành sóng âmđơn tạo ra nó, và ta có thể tính tổng năng lượng ở mỗi đơn âm (Sau khi sử dụng lýthueest Nyquis ở trên, sóng âm đã trở thành một dải liên tục Sử dụng Fouriertransform tách dải liên tục ra thành các notes riêng biệt để tìm ra tổng năng lượng ởtừng note)
Kết quả cuối cùng là một bảng số thể hiện độ năng lượng của mỗi khoảng tần số,
từ âm thấp tới âm cao Hoặc dãy số có thể được biểu diễn trên đồ thị
Hình 1.11 Đồ thị biểu diễn năng lượng tần số của một giọng nam điển hình [3]
Có thể thấy dải tần số trên hình có rất nhiều năng lượng tần số thấp, và ít nănglượng tần số cao Đây là một giọng nam điển hình
Nhận diện ký tự từ đoạn âm ngắn.
Chúng ta truyền từng dải âm vào mạng nơ-ron đa lớp Với mỗi mảnh cắt âmthanh, chúng ta cố gắng tìm ra ký tự đại diện cho âm thanh phát ra
Trang 19Hình 1.12 Nhận diện giọng nói sử dụng mạng nơ-ron hồi quy [3]
Sử dụng Recurrent Neural Network- RNN- mạng nơ-ron hồi quy: kết quả tiênđoán quá khư có ảnh hưởng tới kết quả tiên đoán trong tương lai Đó là bởi vì các ký
tự có sự liên quan đến nhau Ví dụ chúng ta đã tìm ra “HEL” thì rất có khả năng chúng
ta sẽ nói tiếp “LO” Vì thế, những dự đoán trong quá khứ sẽ giúp dự đoán tương lai Sau khi chạy toàn bộ âm thanh thông qua mạng nơ-ron, chúng ta kết nối mỗi dải
âm với một ký tự có khả năng được nói cao nhất Và đây là bản đồ kết nối của từ
“HELLO”:
Hình 1.13 Bản đồ kết nối của từ “HELLO” [3]
Trang 20Mạng nơ-ron trên dự đoán từ được nói là: “HHHEE_LL_LLLOOO”, nhưng cũng
có khả năng từ đó là “HHHUU_LL_LLOOO”, hoặc thâm chí là
“AAAUU_LL_LLLOOO” Chúng ta thêm một vài bước để làm sạch kết quả Đầutiên, chúng ta bỏ đi những ký tự bị lặp, rồi bỏ đi khoảng trống:
“Aullo” thì từ “Hello” có tần suất cao hơn rât nhiều, và đây chính là bản phiên âmđược lựa chọn
Có nhiều công cụ khác nhau được sử dụng dựa trên RNN trong đó sử dụng các ngôn ngữ lập trình python, C, java để xây dựng một mạng lưới thần kinh tái phát Sử dụng CMU pocketsphinx và ngôn ngữ lập trình python và RNN cho thấy kết quả khả quan, nếu chúng ta tăng cơ sở dữ liệu nó sẽ có thể thực hiện càng tốt hơn Không giống như STT (Speech to text) của Google và Alexa của Amazon, CMU Sphinx là có thể nhận diện ngoại tuyến để chuyển đổi văn bản công cụ cung cấp thay vì đào tạo một bộ dữ liệu được thực hiện trực tuyến Với CMUSphinx chỉ cần cung cấp một tập hợp các từ chúng ta muốn đào tạo và quá trình đào tạo của Sphinx giống như đã thảo luận ở trên trong đào tạo RNN.
Trang 211.4 Một số hệ thống nhận diện giọng nói hiện nay
1.4.1 Google Assistant.
Hình 1.14 Google Assistant
Giới thiệu về Google Assistant
Google Assistant là một trợ lý ảo của Google có khả năng tương tác trực tiếp vớicon người thông qua giọng nói Với Google Assistant người dùng có thể trò chuyện,tìm kiếm thông tin, điều khiển các tính năng trên thiết bị một cách dễ dàng chỉ bằngnhững câu lệnh
Hiện nay, Google Assistant được tích hợp trên các dòng sản phẩm do chính hãngphát triển như loa thông minh Google, điện thoại Pixel, thiết bị nhà thông minhGoogle Nest, các dòng điện thoại Android và hàng ngàn thiết bị từ bên thứ 3
Các tính năng của Google Assistant
Bằng các lệnh thoại, chúng ta có thể yêu cầu Google Assistant làm những việcnhư:
Điều khiển các thiết bị nhà thông minh: Bật/tắt bóng đèn, tivi, máy lạnh…
Tra cứu thông tin, đặt chỗ nhà hàng, chỉ đường, dự báo thời tiết, phát tin tức
Chơi nhạc trên các dịch vụ, xem phim
Kiểm tra lịch làm việc, đặt báo thức, nhắc nở
Mở các ứng dụng trên điện thoại, tivi, máy tính
Gửi tin nhắn, email, thực hiện cuộc gọi
Dịch ngôn ngữ…
Trang 221.4.2 Siri
Hình 1.15 Siri
Giới thiệu về Siri
Siri là một trợ lý ảo được tích hợp trên các thiết bị thông minh của Apple Siri cóthể được điều khiển bằng giọng nói giúp chúng ta thực hiện một số công việc cơ bản
mà không cần trực tiếp chạm vào thiết bị
Siri được thiết kế để tương tác với các dòng sản phẩm iPhone, iPad, Macbookcủa Apple bằng giọng nói
Các tính năng của Siri
Siri có một số tính năng nổi bật thường được người dùng sử dụng nhiều như:
Đặt chuông báo thức
Gọi điện thoại cho người thân
Kiểm tra cuộc gọi nhỡ, tin nhắn hoặc email
Trang 231.4.3 Amazon Alexa
Hình 1.16 Amazon alexa
Giới thiệu về Alexa
Amazon Alexa là trợ lý ảo được phát triển bởi Amazon, đầu tiên nó được sửdụng cho Amazon Echo và loa thông minh Amazon Echo Dot Nó có khả năng tươngtác bằng giọng nói, chọn bài hát, lên danh sách cần làm, cài đặt báo thức, phátpostcast, đọc sách và cung cấp thông tin thời tiết, giao thông, thể thao… Alexa cũng cóthể làm việc như một hệ thống điều khiển nhà tự động bằng cách điều khiển các thiết
bị thông minh khác
Các tính năng của Alexa
Alexa có chức năng cập nhật thời tiết do AccuWeather cung cấp, và tin tức doTuneln cung cấp từ nhiều nguồn khác nhau, bao gồm đài phát thanh địa pương, NPR
và ESPN Ngoài ra, các thiết bị hỗ trợ Alexa có thể tải nhạc từ tài khoản AmazonMusic của chủ sở hữu, và tích hợp cho tài khoản Pandora và Spotify
Alexa có thể điều khiển báo thức, hẹn giờ, danh sách mua sắm và việc cần làmbằng giọng nói
Alexa có thể trả lời các câu hỏi về các mục trong Google Calendar của ngườidùng Khả năng trả lời câu hỏi của Alexa được hỗ trợ một phần bởi ngôn ngữWolfram Khi được hỏi, Alexa chuyển đổi sóng âm thanh thành văn bản, nhờ vậy nó
có thể thu thập thông tin từ nhiều nguồn khác nhau