Tải bản đầy đủ (.docx) (19 trang)

Chuyển giọng nói thành văn bản

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (504.2 KB, 19 trang )

BỘ THÔNG TIN VÀ TRUYỀN THÔNG
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG


Báo cáo bài tập lớn
Đề tài: Chuyển giọng nói thành văn bản
Giảng viên hướng dẫn:
TS Vũ Hữu Tiến


Mục Lục
Chương I: Giới thiệu chung...................................................................1
1. Đặt vấn đề.........................................................................................1
a. Lý do chọn đề tài............................................................................1
b. Những nghiên cứu đi trước............................................................2
c. Mục tiêu..........................................................................................6
2. Kiến thức và nội dung liên quan.......................................................6
Chương II: Mô tả đề tài..........................................................................8
Chương III: Kết quả và đánh giá.........................................................12
1. File Clean (những file được thu âm trong điều kiện lý tưởng):......12
2. File NoisyVoice (những file được ghi âm trong môi trường có
nhiễu):...................................................................................................13


Chương I: Giới thiệu chung
1. Đặt vấn đề

a. Lý do chọn đề tài
Chúng ta đang sống trong một xã hội ngày càng phát triển, một thế giới ngày càng
hiện đại hóa. Điều đó đặt ra yều cầu rằng tất cả các lĩnh vực trong đời sống và xã hội phải
phát triển với một tốc độc nhanh hơn từ kinh tế, văn hóa, giáo dục, y tế, … Để đảm bảo


được mục tiêu phát triển trong mọi lĩnh vực thì yếu tố con người là vơ cùng quan trọng.
Con người chính là một nguồn tài nguyên vô cùng thiết yếu, từ quá trình hình thành
những nền văn minh cổ đại rồi đi lên những bước vượt bậc trong công nghiệp như hiện
nay, con người luôn là trung tâm. Tuy vậy, trong q trình đó, họ gặp rất nhiều khó khăn
và để khắc phục những điều như thế, con người đã tạo ra nhiều công cụ, giải pháp để vượt
qua những thách thức như thế. Quay trở lại với hiện tại, để có thể hồn thành cơng cuộc
dần hiện đại hóa của con người thì cần một yếu tố vơ cùng cấp thiết, đó chính là Khoa học
– Cơng nghệ và một trong những thành quả của khoa học cơng nghệ chính là Giải pháp
chuyển đổi giọng nói thành văn bản.
Giải pháp chuyển đổi giọng nói thành văn bản là cơng nghệ hiện đại được phát triển
nhằm hỗ trợ nhu cầu chuyển đổi từ file âm thanh (audio) sang văn bản (text) một cách
nhanh chóng và dễ dàng. Với giải pháp này, bạn chỉ cần nói, hệ thống sẽ xử lý thơng tin
nhận được sau đó tự động chuyển đổi sang văn bản. Hơn thế, phần mềm còn hỗ trợ
chuyển đổi giọng nói ở khoảng cách xa với độ chính xác cao, vì thế nên nó được ứng
dụng trong rất nhiều lĩnh vực, từ văn phịng, doanh nghiệp, đến phóng viên, học sinh, sinh
viên - những người có nhu cầu ghi chép và soạn thảo lớn.
Giải pháp chuyển đổi giọng nói thành văn bản ra đời trở thành công cụ hữu hiệu trong
việc ghi chép và lưu trữ của người dùng. Tích hợp nhiều tính năng hiện đại, giải pháp này
cịn có khả năng lưu trữ lớn, giúp người dùng dễ dàng tìm kiếm và quản lý. Ngày nay,
song song cùng với sự phát triển của công nghệ hiện đại, giải pháp chuyển đổi giọng nói
thành văn bản đã trở thành cơng cụ không thể thiếu của con người. Một điều không thể
bàn cãi, ứng dụng này sẽ còn “tiến xa” hơn trong tương lai, khi mà tốc độ trở thành yếu tố
căn bản để tạo nên thành công.
Trang 1


Với nhiều lợi ích ưu việt, giải pháp chuyển đổi giọng nói được ứng dụng trong nhiều lĩnh
vực, phù hợp với nhu cầu của nhiều đối tượng.
Thư ký cuộc họp thường phải ngồi ghi chép lại toàn bộ nội dung cuộc họp, tuy
nhiên việc này gây khó khăn rất lớn khi mà tốc độ của lời nói nhanh hơn tốc độ ghi chép

của tay. Trung bình tốc độ đánh máy của thư ký trong khoảng 70-90 từ/phút và liên tục
trong khơng q 1h đồng hồ, trong khi tốc độ nói chuẩn là 125 từ/phút. Hơn nữa, việc ghi
chép lại còn có khả năng bỏ sót những nội dung quan trọng bởi thư ký khó có thể bắt kịp
tồn bộ nội dung của người nói. Do đó, một phần mềm chuyển đổi giọng nói sẽ là cơng cụ
hỗ trợ đắc lực của mỗi thư ký khi nó có thể hỗ trợ ghi chép lời nói thành văn bản ngay tức
thì. Học sinh, sinh viên vừa phải ghi chép lại nội dung bài giảng của mình vừa phải tập
trung lắng nghe nội dung bài học. Phần mềm chuyển đổi giọng nói thành văn bản sẽ là
công cụ tuyệt vời trong việc tạo ra ghi chú bài giảng một cách nhanh nhất thay vì ghi chép
thủ cơng. Phóng viên là những người thường xuyên phải lấy ý kiến phỏng vấn, ghi âm lại
rồi bóc băng ghi âm. Việc này mất rất nhiều thời gian trong khi lĩnh vực này tốc độ là chìa
khóa để tạo nên thành công. Nếu không lên bài nhanh chóng, tin tức sẽ giảm nhiệt, các
thơng tin sẽ hết “hot”. Giải pháp chuyển đổi giọng nói thành văn bản sẽ là phương án hữu
hiệu giúp phóng viên lấy ý kiến phỏng vấn nhanh chóng, lên bài tức thì và tăng năng suất
làm việc. Qua đây, ta thấy Giải pháp chuyển đổi giọng nói thành văn bản thực sự rất hữu
dụng và cần thiết trong nhiều lĩnh vực.
b. Những nghiên cứu đi trước
Giải pháp chuyển đổi giọng nói thành văn bản là một lĩnh vực liên ngành của khoa học
máy tính và ngơn ngữ học. Hình thái ban đầu tổng qt của cơng nghệ này là Nhận dạng
tiếng nói (Speech recognition). Lĩnh vực này được bắt đầu nghiên cứu từ những năm 70
của thế kỷ trước và bây giờ thì đang bùng nổ, trở thành một phần quan trọng trong hầu hết
tất cả các lĩnh vực, được ứng dụng rất nhiều trong đời sống.
Trước năm 1970
1952 – Ba nhà nghiên cứu của Bell Labs, Stephen Balashek, R. Biddulph, và K. H. Davis
đã xây dựng một hệ thống gọi là “Audrey” để nhận dạng chữ số. Hệ thống của họ định
hình về hệ thống nhận dạng tiếng nói.
Trang 2


1966 – Mã hóa dự đốn tuyến tính , một phương pháp mã hóa giọng nói, lần đầu tiên
được đề xuất bởi Fumitada Itakura của Đại học Nagoya và Shuzo Saito của Nippon

Telegraph and Telephone trong khi nghiên cứu về nhận dạng giọng nói.
Khoảng thời gian này, các nhà nghiên cứu Liên Xơ đã phát minh ra thuật tốn cong vênh
thời gian năng động và sử dụng nó để tạo ra một bộ nhận biết có khả năng hoạt động trên
200 từ vựng. DTW xử lý lời nói bằng cách chia nó thành các khung ngắn, ví dụ như các
phân đoạn 10ms và xử lý từng khung hình như một đơn vị duy nhất.
1970–1990
1971 – DARPA tài trợ năm năm cho nghiên cứu nhận dạng giọng nói và mục tiêu từ vựng
tối thiểu là 1.000 từ. Họ nghĩ rằng sự hiểu biết về lời nói sẽ là chìa khóa để đạt được tiến
bộ trong nhận dạng giọng nói, nhưng điều này sau đó đã chứng minh khơng đúng sự thật.
1976 – ICASSP lần đầu tiên được tổ chức tại Philadelphia, kể từ đó đã là một địa điểm
chính để xuất bản nghiên cứu về nhận dạng giọng nói.
Một thập kỷ sau, tại CMU, các sinh viên của Raj Reddy là James Baker và Janet
M. Baker bắt đầu sử dụng Mô hình Markov ẩn để nhận dạng giọng nói. Vào giữa những
năm 1980, nhóm Fred Jelinek của IBM đã tạo ra một máy đánh chữ kích hoạt bằng giọng
nói có tên Tangora, có thể xử lý từ vựng 20.000 từ cách tiếp cận thống kê của Jelinek ít
nhấn mạnh vào việc mô phỏng cách bộ não con người xử lý và hiểu lời nói có lợi cho việc
sử dụng các kỹ thuật mơ hình thống kê như HMMs. Tuy nhiên, HMM đã chứng tỏ là một
cách rất hữu ích để mơ hình hóa lời nói và thay thế độ cong thời gian động để trở thành
thuật tốn nhận dạng giọng nói thống trị trong những năm 1980.
Những năm 1980 cũng chứng kiến sự ra đời của mơ hình ngơn ngữ n-gram.
1987 – Mơ hình back-off cho phép các mơ hình ngơn ngữ sử dụng nhiều n-gram chiều
dài, và CSELT đã sử dụng HMM để nhận dạng ngôn ngữ .
Phần lớn sự tiến bộ trong lĩnh vực này là do tốc độ xử lý của máy tính.
1984 - Apricot Portable được phát hành với tối đa 4096 từ hỗ trợ, trong đó chỉ có 64 từ có
thể được giữ trong RAM tại một thời điểm.
Trang 3


1990 - Dragon Dictate, một sản phẩm tiêu dùng được phát hành vào năm 1990 bởi AT&T
đã triển khai dịch vụ Xử lý cuộc gọi nhận dạng giọng nói vào năm 1992 để định tuyến các

cuộc gọi điện thoại mà không cần sử dụng nhà điều hành của con người. Công nghệ này
được phát triển bởi Lawrence Rabiner và những người khác tại Bell Labs.
Đến thời điểm này, vốn từ vựng của hệ thống nhận dạng giọng nói thương mại điển hình
lớn hơn từ vựng trung bình của con người. Học trò cũ của Raj Reddy, Xuedong Huang, đã
phát triển hệ thống Sphinx-II tại CMU. Hệ thống Sphinx-II là hệ thống đầu tiên thực hiện
độc lập với người nói, từ vựng lớn, nhận dạng giọng nói liên tục và nó có hiệu suất tốt
nhất trong đánh giá năm 1992 của DARPA. Xử lý lời nói liên tục với vốn từ vựng lớn là
một cột mốc quan trọng trong lịch sử nhận dạng giọng nói. Huang tiếp tục thành lập nhóm
nhận dạng giọng nói tại Microsoft vào năm 1993. Sinh viên kai-Fu Lee của Raj Reddy gia
nhập Apple, nơi vào năm 1992, ông đã giúp phát triển một nguyên mẫu giao diện giọng
nói cho máy tính Apple được gọi là Casper.
Thập niên 2000
Trong những năm 2000, DARPA đã tài trợ cho hai chương trình nhận dạng giọng
nói: Hiệu quả tái sử dụng giọng nói với giá cả phải chăng vào năm 2002 và Khai thác
ngơn ngữ tự trị tồn cầu . Bốn nhóm đã tham gia vào chương trình EARS: IBM, một
nhóm do BBN dẫn đầu với LIMSI và Univ. của Pittsburgh, Đại học Cambridge, và một
nhóm bao gồm ICSI, SRI và Đại học Washington. EARS đã tài trợ cho việc thu thập tổng
đài tập tin phát biểu qua điện thoại chứa 260 giờ các cuộc hội thoại được ghi lại từ hơn
500 diễn giả. Chương trình GALE tập trung vào bài phát biểu tin tức phát sóng tiếng Ả
Rập và tiếng Quan Thoại. Nỗ lực đầu tiên của Google trong việc nhận dạng giọng nói là
vào năm 2007 sau khi thuê một số nhà nghiên cứu từ Nuance. Sản phẩm đầu tiên là
GOOG-411, một dịch vụ thư mục dựa trên điện thoại. Các bản ghi âm từ GOOG-411 đã
tạo ra dữ liệu có giá trị giúp Google cải thiện hệ thống nhận dạng của họ. Google Voice
Search hiện được hỗ trợ bằng hơn 30 ngôn ngữ.
Tại Hoa Kỳ, Cơ quan An ninh Quốc gia đã sử dụng một loại nhận dạng giọng nói
để phát hiện từ khóa ít nhất là từ năm 2006. Công nghệ này cho phép các nhà phân tích
Trang 4


tìm kiếm thơng qua khối lượng lớn các cuộc hội thoại được ghi lại và cô lập các đề cập

đến từ khóa. Các bản ghi âm có thể được lập chỉ mục và các nhà phân tích có thể chạy các
truy vấn qua cơ sở dữ liệu để tìm các cuộc hội thoại quan tâm. Một số chương trình
nghiên cứu của chính phủ tập trung vào các ứng dụng tình báo của nhận dạng giọng nói,
ví dụ như chương trình EARS của DARPA và chương trình Babel của IARPA.
Vào đầu những năm 2000, nhận dạng giọng nói vẫn bị chi phối bởi các phương
pháp truyền thống như Mơ hình Markov ẩn kết hợp với mạng thần kinh nhân tạo
feedforward. Tuy nhiên, ngày nay, nhiều khía cạnh của nhận dạng giọng nói đã được tiếp
quản bởi một phương pháp học sâu gọi là Trí nhớ ngắn hạn dài hạn , một mạng lưới thần
kinh tái phát được xuất bản bởi Sepp Hochreiter & Jürgen Schmidhuber vào năm 1997.
RSTM tránh được vấn đề chuyển hướng biến mất và có thể học các nhiệm vụ «Rất sâu
học» địi hỏi ký ức về các sự kiện đã xảy ra hàng ngàn bước thời gian rời rạc trước đây,
điều này rất quan trọng đối với lời nói. Khoảng năm 2007, LSTM được đào tạo bởi
Connectionist Temporal Classification bắt đầu vượt trội so với nhận dạng giọng nói
truyền thống trong một số ứng dụng nhất định. Vào năm 2015, nhận dạng giọng nói của
Google đã trải qua một bước nhảy vọt hiệu suất đáng kể 49% thơng qua LSTM do CTC
đào tạo, hiện có sẵn thơng qua Google Voice cho tất cả người dùng điện thoại thông
minh.
Thập niên 2010
Vào đầu những năm 2010, nhận dạng giọng nói, cịn được gọi là nhận dạng giọng
nói đã được phân biệt rõ ràng với nhận dạng người nói, và sự độc lập của người nói được
coi là một bước đột phá lớn.
Năm 2017, các nhà nghiên cứu của Microsoft đã đạt được một cột mốc tương đương lịch
sử của con người về việc phiên âm lời nói điện thoại đàm thoại trên nhiệm vụ Tổng đài
được chuẩn hóa rộng rãi. Nhiều mơ hình học sâu đã được sử dụng để tối ưu hóa độ chính
xác nhận dạng giọng nói. Tỷ lệ lỗi từ nhận dạng giọng nói được báo cáo là thấp như 4
người phiên âm con người chuyên nghiệp làm việc cùng nhau trên cùng một điểm chuẩn,
được tài trợ bởi nhóm bài phát biểu IBM Watson trên cùng một nhiệm vụ.
Trang 5



Ở Việt Nam hiện nay cũng có rất nhiều cơng ty, tổ chức phát triển cơng nghệ
chuyển đổi giọng nói thành văn bản. Một số cái tên có thể kể đến như V-IONE, FPT,…
Giải pháp chuyển đổi giọng nói thành văn bản từ những tổ chức này khá tiện dụng và tiết
kiệm khá nhiều thời gian cho người dùng, độ chính xác ở mức tương đối. Tuy nhiên, một
số vẫn cịn giới hạn lượt sử dụng, số ít cịn thu phí nên khá bất tiện cho người dùng. Chính
vì vậy nhóm chúng em xin được phép chọn đề tài Giải pháp chuyển đổi giọng nói thành
văn bản để có thể mổ phỏng lại công nghệ này cũng như củng cố thêm kiến thức.
c. Mục tiêu
Với đề này này, mục tiêu đề ra sẽ:
 Đạt được độ chính xác 80-90% khi chuyển đổi giọng nói thành văn bản.
 Chuyển đổi nhiều files trong mỗi lần thực hiện.
2. Kiến thức và nội dung liên quan
Mơ hình Markov:
Hệ thống nhận dạng giọng nói đa năng hiện đại dựa trên Mơ hình Markov ẩn. Đây
là những mơ hình thống kê xuất ra một chuỗi các biểu tượng hoặc số lượng. HMM được
sử dụng trong nhận dạng giọng nói vì tín hiệu giọng nói có thể được xem như một tín hiệu
cố định theo từng phần hoặc tín hiệu cố định trong thời gian ngắn. Trong một quy mơ thời
gian ngắn, lời nói có thể được xấp xỉ như một q trình đứng n.
Lời nói có thể được coi là một mơ hình Markov cho nhiều mục đích ngẫu nhiên.
Trong nhận dạng giọng nói, mơ hình Markov ẩn sẽ tạo ra một chuỗi các vectơ có giá trị
thực n chiều, xuất ra một trong số này cứ sau 10 mili giây. Các vectơ sẽ bao gồm các hệ
số cepstral, thu được bằng cách thực hiện một biến đổi Fourier của một cửa sổ thời gian
ngắn của lời nói và giải mã quang phổ bằng cách sử dụng một biến đổi cosine, sau đó lấy
các hệ số đầu tiên. Mơ hình Markov ẩn sẽ có xu hướng có trong mỗi tiểu bang một phân
bố thống kê là một hỗn hợp của biến số chéo Gaussians, mà sẽ cung cấp cho một khả
năng cho mỗi vectơ quan sát được.
Mô tả ở trên là các yếu tố cốt lõi của cách tiếp cận phổ biến nhất, dựa trên HMM
để nhận dạng giọng nói. Các hệ thống nhận dạng giọng nói hiện đại sử dụng sự kết hợp
Trang 6



khác nhau của một số kỹ thuật tiêu chuẩn để cải thiện kết quả so với cách tiếp cận cơ bản
được mô tả ở trên. Nhiều hệ thống sử dụng cái gọi là kỹ thuật đào tạo phân biệt đối xử
phân phối với cách tiếp cận thống kê thuần túy để ước tính tham số HMM và thay vào đó
tối ưu hóa một số biện pháp liên quan đến phân loại dữ liệu đào tạo. Giải mã bài phát biểu
có lẽ sẽ sử dụng thuật tốn Viterbi để tìm ra con đường tốt nhất, và ở đây có một sự lựa
chọn giữa việc tự động tạo ra một mơ hình Markov ẩn kết hợp, bao gồm cả thơng tin mơ
hình âm thanh và ngơn ngữ và kết hợp nó tĩnh trước .
Một cải tiến có thể để giải mã là giữ một tập hợp các ứng cử viên tốt thay vì chỉ
giữ ứng cử viên tốt nhất và sử dụng chức năng chấm điểm tốt hơn để đánh giá những ứng
cử viên tốt này để chúng tơi có thể chọn ứng cử viên tốt nhất theo điểm số tinh tế này. Tập
hợp các ứng cử viên có thể được giữ dưới dạng danh sách hoặc dưới dạng tập hợp con của
các mơ hình.
Nhận dạng giọng nói dựa trên độ cong thời gian động (DTW)
Cong vênh thời gian năng động là một cách tiếp cận được sử dụng trong lịch sử để nhận
dạng giọng nói nhưng hiện nay phần lớn đã bị thay thế bởi cách tiếp cận dựa trên HMM
thành cơng hơn.
Cong vênh thời gian động là một thuật tốn để đo lường sự tương đồng giữa hai
chuỗi có thể thay đổi về thời gian hoặc tốc độ. Ví dụ, sự tương đồng trong mơ hình đi bộ
sẽ được phát hiện, ngay cả khi trong một video, người đó đang đi chậm và nếu trong một
video khác, anh ta hoặc cơ ta đang đi bộ nhanh hơn, hoặc thậm chí nếu có tăng tốc và
giảm tốc trong q trình quan sát. DTW đã được áp dụng cho video, âm thanh và đồ họa thực sự, bất kỳ dữ liệu nào có thể biến thành biểu diễn tuyến tính đều có thể được phân
tích bằng DTW.
Một ứng dụng nổi tiếng đã được nhận dạng giọng nói tự động, để đối phó với tốc
độ nói khác nhau. Nói chung, nó là một phương pháp cho phép máy tính tìm thấy một sự
kết hợp tối ưu giữa hai chuỗi nhất định (ví dụ: chuỗi thời gian) với những hạn chế nhất
Trang 7


định. Đó là, các chuỗi được "vênh" phi tuyến tính để phù hợp với nhau. Phương pháp căn

chỉnh trình tự này thường được sử dụng trong bối cảnh của các mơ hình Markov ẩn.
Mạng lưới thần kinh ( Neural networks)
Mạng lưới thần kinh nổi lên như một phương pháp mô hình hóa âm thanh hấp dẫn
trong ASR vào cuối những năm 1980. Kể từ đó, các mạng thần kinh đã được sử dụng
trong nhiều khía cạnh của nhận dạng giọng nói như phân loại âm vị, phân loại âm vị
thơng qua các thuật tốn tiến hóa đa khách quan, nhận dạng từ bị cơ lập, nhận dạng giọng
nói nghe nhìn, nhận dạng loa nghe nhìn và thích nghi loa.
Các mạng thần kinh đưa ra ít giả định rõ ràng hơn về các thuộc tính thống kê tính
năng so với HMM và có một số phẩm chất làm cho chúng trở thành mơ hình nhận dạng
hấp dẫn để nhận dạng giọng nói. Khi được sử dụng để ước tính xác suất của một phân
đoạn tính năng giọng nói, mạng thần kinh cho phép đào tạo phân biệt đối xử một cách tự
nhiên và hiệu quả. Tuy nhiên, mặc dù hiệu quả của chúng trong việc phân loại các đơn vị
thời gian ngắn như âm vị riêng lẻ và các từ bị cô lập, các mạng thần kinh ban đầu hiếm
khi thành cơng cho các nhiệm vụ nhận dạng liên tục vì khả năng hạn chế của chúng để mơ
hình hóa sự phụ thuộc thời gian.
Một cách tiếp cận đối với giới hạn này là sử dụng các mạng thần kinh như một q
trình xử lý trước, chuyển đổi tính năng hoặc giảm kích thước, bước trước khi nhận dạng
dựa trên HMM. Tuy nhiên, gần đây hơn, LSTM và các mạng thần kinh tái phát liên quan
(RNNs) và Time Delay Neural Networks (TDNN) đã chứng minh hiệu suất được cải thiện
trong lĩnh vực này.

Trang 8


Chương II: Mô tả đề tài
I/ Speech to text
1. Tổng quan về speech to text
Hiện nay có nhiều cách tiếp cận nhận dạng tiếng nói khác nhau bao gồm: sử dụng
Mơ hình HMM (Markov), mạng Neural, cơ sở tri thức, hoặc mơ hình kết hợp giữa các mơ
hình.

Ta thấy đây là bài tốn rất khó, vì âm thanh người nói khá phức tạp, có tính liên tục
và các âm quyện nối vào nhau, vì mỗi người mỗi giọng, vì có các tạp âm khác nhiễu vào
thiết bị thu, .... Với tiếng nói chuẩn, các hệ hiện đại cũng mới nhận dạng đúng được
khoảng 70%. Bài tốn nhận dạng tiếng nói là làm cho máy tính nhận biết và chuyển
tiếng nói thu nhận của người thành một chuỗi các từ tương ứng, kết quả này có thể
được dùng trong các ứng dụng điều khiển thiết bị, nhập dữ liệu, soạn thảo văn bản, ...
hoặc chuyển cho một quá trình xử lý ngơn ngữ ở mức cao hơn. Nhận dạng tiếng nói phát
triển từ nhận dạng các từ nói riêng biệt đến nhận dạng các từ được nói liên tục, bộ từ vựng
sử dụng trong hệ thống được chia thành 3 nhóm:
Từ vựng nhỏ: sử dụng tối đa khoảng 100 từ.
Từ vựng trung bình: sử dụng từ hàng trăm đến 20000 từ.
Từ vựng lớn: cho phép mở rộng đến hơn 64000 từ
Một hệ thống dạng tiếng nói là một thiết bị có khả năng tự động chuyển đổi tiếng
nói thành văn bản.

Hình 1: Mơ tả q trình nhận dạng tiếng nói
Hình trên mơ tả một cách tổng thể về q trình nhận dạng tiếng nói. Đầu tiên, tiếng
nói được phát ra theo ý nghĩ của người nói, tiếng nói này được thu nhận thu dưới dạng
sóng âm, sau khi rút trích các đặc trưng và được chuyển tới bộ phận xử lý ngữ âm. Tại
đây các đặc trưng được phân tích thành các ngữ âm. Sau đó các ngữ âm này được xử lý
trong bộ giải mã để cho ra chuỗi từ phù hợp.

Trang 9


THỰC TẬP TỐT NGHIỆP 7
Sinh viên thực hiện:
Nguyễn Cao Thăng – Lớp
11TLT


Hiện nay có nhiều cách
tiếp cận nhận dạng
tiếng nói khác nhau
bao gồm: sử
dụng Mơ hình HMM,
mạng Neural, cơ sở tri
thức, hoặc mơ hình kết
hợp giữa các
mơ hình

2. Mơ hình Markov ẩn (HMM)
Mơ hình Markov ẩn (HMM) là một mơ hình thống kê, thích hợp ứng dụng trong việc
nhận dạng mẫu: tiếng nói, hình ảnh và chữ viết
HMM được ứng dụng rộng rãi trong những năm gần đây vi hai lý do.
Thứ nhất, mơ hình có độ chính xác cao trong nhiều ứng dụng
Trang 10


Thứ hai, cấu trúc mơ hình có thể thay đổi dễ dàng cho phù hợp với từng ứng dụng cụ
thể.
 

Mô hình Markov ẩn được xác định bởi các yếu tố sau:








Chuỗi các quan sát O=(o1,o2,...,on,...)O=(o1,o2,...,on,...)
Tập các trạng thái S={s1,s2,...,sn}S={s1,s2,...,sn}
Ma trận xác suất chuyển AA của các trạng thái thuộc S:A=(aij)S:A=(aij)
Ma trận xác suất phụ thuộc trạng thái B=(pi(oi))B=(pi(oi))
Phân phối ban đầu π

Hình 2: Các chuyển tiếp trạng thái trong mơ hình Markov ẩn
3. Nhận dạng giọng nói dựa trên độ cong thời gian động (DTW)
Cong vênh thời gian năng động là một cách tiếp cận được sử dụng trong lịch sử để
nhận dạng giọng nói nhưng hiện nay phần lớn đã bị thay thế bởi cách tiếp cận dựa trên
HMM thành công hơn.
Cong vênh thời gian động là một thuật toán để đo lường sự tương đồng giữa hai
chuỗi có thể thay đổi về thời gian hoặc tốc độ
4. Mạng lưới thần kinh ( Neural networks)
Mạng nơron nhân tạo hay còn gọi là mạng nơron nhân tạo, viết tắt: ANN (tiếng
Anh là Artificial neural network, ANN), là mạng của các nơron nhân tạo.
Chúng là đối tượng nghiên cứu về tin học thần kinh và đại diện cho một nhánh của
trí tuệ nhân tạo.
Trang 11


Giống như tế bào thần kinh nhân tạo, mạng lưới thần kinh nhân tạo có mơ hình
sinh học.
Chúng được so sánh với mạng lưới tế bào thần kinh tự nhiên, đại diện cho một
mạng lưới tế bào thần kinh trong hệ thống thần kinh của một sinh vật.

Đề tài sử dụng ngơn ngữ lập trình Python với cơng cụ là PyCharm để mọi người dễ tiếp
cận. Vì vậy, để thực hiện, máy tính cần cài Python và PyCharm.
Link tải Python: Download Python | Python.org
Link tải PyCharm: Download PyCharm: Python IDE for Professional Developers by JetBrains

Sau khi tải tiến hành cài đặt theo hướng dẫn sau: Hướng dẫn cài đặt Pycharm IDE - YouTube
Tiến hành cài thư viện cho chương trình:
Cách cài đặt thư viện Librosa trong Pycharm
B1: Sử dụng tổ hợp Ctrl + Alt + S hoặc vào mục File /Settings có biểu tượng là hình chiếc
cờ-lê.

Trang 12


B2: Tại đây chọn mục Project: tên Project của bạn/ Python Interpreter

Trang 13


B3: Click vào biểu tượng dấu cộng hoặc dùng tổ hợp Alt + Insert

B4: Tại đây nhập vào thư viện bạn cần trong thanh tìm kiếm sau đó chọn và Click vào
Install Package

Trang 14



Thư viện : speech_recognition trong Python:
Là một thư viện nhận diện giọng nói được sử dụng phổ biến trong Python. Thư viện này
bao gồm nhiều thư viện con khác với nhiều thuật tốn trong xử lý tiếng nói để có thể nhận
diện được tiếng nói trong file audio.
Mã chương trình:
import speech_recognition as sr
import os

import webbrowser as wb
i_path = 'D:\hoctap\TTDPT\Clean'
r = sr.Recognizer()
for rootpath, dirs, files in os.walk(i_path):
for file in files:
if file.endswith('.wav'):
wav_path = os.path.join(rootpath, file)
with sr.AudioFile(wav_path) as source:
#LOAD ÂM THANH
Trang 15


audio_data = r.record(source)
#NHẬN BIẾ
T TIẾ
NG VIỆT
txt_name = wav_path.replace('.wav', '.txt')
try:
text = r.recognize_google(audio_data,
language = 'vi-VN')
with open(txt_name, 'w', encoding='utf8') as txt_file:
txt_file.writelines(text)
print(txt_name)
except Exception as e:
print('{} !!!'.format(txt_name))
print(e)
Sau khi chạy chương trình, phần văn bản sẽ được lưu trữ trong thư mục “i_path” chính là
thư mục đường dẫn của file audio.

Chương III: Kết quả và đánh giá

Chương trình chỉ có khả năng chuyển đổi những âm thanh của từ vững thành văn bản chứ
không thể xét được các phân đoạn ngắt nghỉ để thêm dấu câu hay in hoa chữ cái. Vì thế,
ta chỉ so sánh và thống kế từ vựng được chuyển đổi.
1. File Clean (những file được thu âm trong điều kiện lý tưởng):

Biểu đồ hiệu suất chuyển đổi âm thanh thành văn bản trong điều kiện lý tưởng
Trang 16


Thực hiện tiến hành chạy thử nghiệm trên 61 files cho kết quả tương đối chính xác do
giọng đọc chính thống từ đài phát thanh nên khơng có lỗi phát âm. Vì vậy mà chương
trình dễ dàng có được các đoạn văn bản với hiệu suất khoảng 96%. Cao hơn cả những
phần cho dùng thử của một số phần mềm trên thị trường hiện nay.
2. File NoisyVoice (những file được ghi âm trong mơi trường có nhiễu):

Biểu đồ hiệu suất chuyển đổi âm thanh thành văn bản trong điều kiện có nhiễu
Tiến hành chuyển đổi các file được thu âm trong điều kiện chưa được lý tưởng và lẫn tạp
âm cùng với giọng nói địa phương và các từ ngữ chuyên ngành nên hiệu suất khi chuyển
đổi chưa được cao như trong điều kiện lý tưởng.

Trang 17



×