Ứng dụng:
Chuyển giọng nói thành
văn bản
Thực hiện: Phạm Minh Đạt
Chuyển giọng nói thành văn bản
Giới thiệu cơ bản
Trong những bộ phim khoa học viễn tưởng, chúng ta rất
thường hay thấy cảnh con người tương tác với các thiết bị
điện tử bằng giọng nói. Giấc mơ này đã có từ khá lâu và bây
giờ nó đang dần trở thành hiện thực. Những chiếc
smartphone, tablet giờ đây đều có tính năng điều khiển bằng
giọng nói, một số sản phẩm thậm chí còn trả lời lại người
dùng như thể hai người đang nói chuyện với nhau. Sự ra đời
của công nghệ này đã trở thành một xu hướng mới mẻ trong
thị trường ứng dụng di động, đặc biệt là những app trước đây
đòi hỏi người dùng phải gõ và nhập liệu nhiều.Sau đây, xin
chia sẻ với các bạn một vài kiến thức hữu ích về lĩnh vực
này.
Chuyển giọng nói thành văn bản
Vì sao lại là giọng nói ???????
Có cả trăm, cả nghìn ứng dụng cho phép người dùng tìm kiếm, viết
email, ghi chú và đặt lịch hẹn trên smartphone. Thế nhưng, với một số
người, việc sử dụng bàn phím nhỏ xíu trên điện thoại là không tiện lợi,
thậm chí là rất khó chịu. Tốc độ gõ của bạn có thể rất nhanh và chính
xác, nhưng cũng có những người như nổi điên lên khi phải xóa đi viết lại
chỉ một chữ duy nhất chỉ vì họ bấm nhầm sang những phím bên cạnh.
Giọng nói là giải pháp hợp lý nhất tính đến thời điểm hiện tại. Người
dùng không chỉ dùng giọng nói của mình như một phương thức nhập liệu
mà chính bản thân thiết bị cũng có thể dùng giọng nói để đọc ra những
thông tin cần thiết. Đó là chưa kể đến lợi ích to lớn mà những phần mềm
dựa trên giọng nói có thể mang lại cho những người khiếm thị. Họ có thể
tận hưởng những tiến bộ công nghệ tương tự như những gì mà một người
bình thường có thể làm, không còn khoảng cách xuất hiện do những
khiếm khuyết về giác quan.
Chuyển giọng nói thành văn bản
Vì sao lại là giọng nói ???????
Tất nhiên,hiện nay công nghệ giọng nói vẫn chỉ mới ở giai đoạn
đầu chứ 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 dần được
hoàn thiện. Hãy nhìn vào Google Voice Input, Apple Siri hay mới
đây làMicrosoft Cortana là bạn sẽ dễ dàng thấy được xu hướng này.
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. Người ta còn áp dụng cả những kĩ thuật như
data mining (khai thác dữ liệu theo chiều sâu, đưa ra những phân
tích về nhiều mặt), machine learning (cho phép máy móc tự học hỏi
thói quen, hành vi của người dùng) nhằm cải thiện hiệu suất làm
việc của công nghệ nhận dạng giọng nói nữa.
Chuyển giọng nói thành văn bản
Một số vị dụ trong thế giới công nghệ
Đã có nhiều nghiên cứu về việc triển khai hoặc giới thiệu thành công
những ứng dụng giọng nói. Chúng có thể nhắc đến Ask.com, một dịch vụ
cho phép người dùng hỏi và nhận câu trả lời, đã tích hợp công nghệ nhận
dạng giọng nói do Nuance phát triển vào ứng dụng iOS và Android của
mình. Sự liên kết này cho phép người dùng hỏi, trả lời cũng như đăng tải
các lời bình luận.
Amazon cũng cập nhật app Kindle trên iOS để hỗ trợ tính năng VoiceOver
trong iOS. VoiceOver sẽ tự động đọc nội dung trên màn hình để giúp cho
việc xem sách của những người bị khiếm thị được dễ dàng và thuận tiện
hơn. Hãng cho biết có khoảng 1,8 triệu đầu sách e-book tương thích với
tính năng này. Bản thân Amazon cũng từng mua lại công ty IVONA
Software vốn cung cấp giải pháp chuyển đổi từ chữ sang giọng nói cho các
sách mua từ Amazon.
Chuyển giọng nói thành văn bản
Một số vị dụ trong thế giới công nghệ
Và rồi chúng ta có Siri, Google Voice hay Cortana.
Đây đều là những ứng dụng được phát triển bởi các
tập đoàn công nghệ lớn với tiềm lực mạnh mẽ và
quy tụ nhiều nhân tài. Bộ ba phần mềm này đã
giúp người dùng thiết bị di động tương tác với thiết
bị của mình một cách thông minh hơn, từ việc đặt
câu hỏi, nhận câu trả lời cho đến điều chỉnh các
thông số máy và khởi chạy app.
Một việc đơn giản có thể kể đến là đặt lịch hẹn hoặc báo thức. Trước đây
chúng ta phải mất cả chục thao tác chạm mới đặt xong một sự kiện, còn
với Siri, Google Voice hay Cortana, bạn chỉ cần ra lệnh một cái là xong.
Mọi thao tác, từ việc ghi nội dung cho đến thiết lập giờ giấc, đều được
thực hiện một cách tự động. Bạn cũng có thể thấy sự xuất hiện ngày càng
phổ biến của công nghệ nhận dạng giọng nói trong các ứng dụng
chat/nhắn tin.
Chuyển giọng nói thành văn bản
Một số vị dụ trong thế giới công nghệ
Facebook Messenger đã có
tính năng chia sẻ giọng nói
từ lâu nhiều dịch vụ OverThe-Top như Zalo, Viber và
WhatsApp của nước ngoài
cũng đã nhanh chóng đón
đầu xu hướng để tích hợp
tính năng chat giọng nói
vào sản phẩm của mình
(mặc dù chưa phải là phiên dịch từ giọng nói sang văn bản mà chỉ là gửi
tập tin âm thanh).Việc gõ từ bàn phím trở nên quá lâu lắc khi cần nói
những nội dung dài, vậy tại sao chúng ta không nói cho nhanh? Đây
cũng là suy nghĩ của hầu hết những người dùng thích chat nhưng phải
thường xuyên đối mặt với bàn phím kích cỡ nhỏ trên thiết bị di động.
Chuyển giọng nói thành văn bản
Cách thức xây dựng dịch vụ nhận dạng,điều khiển giọng nói
Vậy người ta áp dụng công
nghệ giọng nói vào phần mềm
như thế nào ???????? Thông
thường một bộ máy giọng nói
sẽ có hai phần. Phần thứ
nhất gọi là speech synthesizer
(còn gọi là Text to Speech hay
TTS). Đây là một trình tổng
hợp giọng nói và thiết bị hoặc
ứng dụng dùng để tương tác
với người dùng,ví dụ: đọc văn
bản trên màn hình, thông báo
về tiến độ chạy một tác vụ
nào đó.
Chuyển giọng nói thành văn bản
Cách thức xây dựng dịch vụ nhận dạng,điều khiển giọng nói
Phần thứ hai là một công nghệ nhận dạng cho phép app biết được
người dùng đang nói gì, từ đó chuyển thể thành lệnh để thiết bị thực thi
hoặc chuyển đổi thành các kí tự nhập liệu. Nói cách khác, đây là thứ
thay thế cho bàn phím của chúng ta. Một ứng dụng nhận dạng giọng nói
lý tưởng sẽ bao gồm cả hai bộ phận nói trên, nhưng một số app chỉ
dùng một cái rồi từ từ nâng cấp sau. Siri, Google Voice, Cortana là ví
dụ của những phần mềm tương tác giọng nói lý tưởng, còn Facebook
Messenger, Zalo, WhatsApp là các phần mềm chỉ sử dụng giọng nói
cho chiều nhập liệu, không có nhiều phản hồi.
Thoạt nhìn thì việc triển khai công nghệ nhận dạng giọng nói khá đơn
giản, nhưng thực chất thì không phải như thế.
Chuyển giọng nói thành văn bản
Cách thức xây dựng dịch vụ nhận dạng,điều khiển giọng nói
Thứ nhất, các nhà phát triển phải xây dựng nên một công nghệ có thể
lắng nghe, phân tích và phiên dịch một cách chính xác giọng nói của
người dùng. Nếu không thì làm sao app biết bạn đang nói gì, còn nếu độ
chính xác không cao thì cũng như không.
Thứ hai, vấn đề bản địa hóa (localization) cũng là một chuyện làm đau
đầu các lập trình viên. Mỗi quốc gia sẽ có ngôn ngữ của riêng mình, vấn
đề đó là làm thế nào để có thể hỗ trợ càng nhiều ngôn ngữ càng tốt. Hiện
nay hầu hết những dịch vụ giọng nói đều hỗ trợ tiếng Anh, Google Voice
Input trong Android và Voice Dictation trong iOS 8 thì có hỗ trợ tiếng
Việt nhưng cũng còn nhiều hạn chế. Đó là chưa nói đến việc mỗi vùng
miền lại có cách nói, giọng điệu khác nhau mặc dù họ sử dụng cùng một
ngôn ngữ.
Chuyển giọng nói thành văn bản
Cách thức xây dựng dịch vụ nhận dạng,điều khiển giọng nói
Có một kĩ thuật được nhắc đến nhiều trong thời gian gần đây, đó là Xử
lý ngôn ngữ tự nhiên (Natural Language Processing - NLP). Nó là tập
hợp của nhiều thuận toán phức tạp nhằm phân tích mệnh lệnh của người
dùng nhưng không bắt buộc họ phải nói theo một cấu trúc câu định sẵn.
Nhiều năm trước khi muốn điều khiển bằng giọng nói, bạn chỉ có thể nói
những thứ như "Mở bản đồ", "Nhắn tin cho vợ", "Báo thức lúc 5 giờ
sáng". Còn bây giờ thì nhờ có NLP, chúng ta có thể nói các câu như
"Siri, vui lòng nhắn tin cho vợ của tôi là tôi sẽ về trễ nhé", hay như "Hãy
đánh thức tôi lúc 5 giờ sáng ngày mai".
NLP cũng không phải là đơn giản để phát triển. Cả Apple, Google và
Microsoft đều phải đầu tư rất nhiều về tài chính và nguồn lực để có thể
đưa NLP lên đến mức tiến bộ như hiện nay. Mặc dù vậy, các công ty vẫn
phải tiếp tục nghiên cứu để cải thiện độ chính xác cũng như hỗ trợ thêm
nhiều ngôn ngữ khác nhau.
Chuyển giọng nói thành văn bản
Mô hình triển khai công nghệ giọng nói
Có nhiều cách thức mà các công ty hiện nay đang triển khai voice
technology, có thể kể đến 2 phương pháp phổ biến như sau:
Điện toán đám mây: Trong trường hợp này, việc nhận dạng, xử lý ngôn
ngữ (chính là TTS hoặc NLP đã nói ở trên) sẽ diễn ra trên máy chủ của
các công ty cung cấp dịch vụ. Phương pháp đám mây giúp việc nhận
dạng được chính xác hơn, ứng dụng thì có dung lượng nhỏ, nhưng bù lại
thì thiết bị ở phía người dùng phải luôn kết nối với Internet. Độ trễ trong
quá trình gửi giọng nói từ máy lên server rồi trả kết quả từ server về lại
máy cũng là những thứ đáng cân nhắc. Siri, Google Voice, Cortana hiện
đang dùng cách này.
Chuyển giọng nói thành văn bản
Mô hình triển khai công nghệ giọng nói
Tích hợp thẳng vào app: Với phương thức này, quá trình xử lý giọng
nói sẽ diễn ra trong nội bộ ứng dụng, không cần giao tiếp với bên ngoài,
chính vì thế tốc độ sẽ nhanh hơn. Người dùng cũng không bắt buộc phải
kết nối vào mạng thường trực. Tuy nhiên, giải pháp này gặp nhược điểm
đó là khi có cập nhật hoặc thay đổi gì đó về bộ máy nhận dạng, nhà sản
xuất sẽ phải cập nhật lại cả một app, trong khi với phương thức đám mây
thì những thay đổi đó chỉ cần làm ở phía server. Kích thước ứng dụng
cũng sẽ tăng lên, có thể lên tới cả vài trăm MB. Hiện có Nuance và một
vài app nhỏ là xài phương pháp tích hợp. Apple, Google cũng có bổ sung
tùy chọn offline cho một số ngôn ngữ nhất định dùng trong việc chuyển
văn bản thành chữ viết.
Chuyển giọng nói thành văn bản
Các thư viện giọng nói phổ biến
Nuance có lẽ là cái tên được nhắc đến nhiều nhất trong việc cung cấp thư
viện giọng nói cho app di động. Chính nhờ vào những thư viện như thế
này mà lập trình viên không cần phải tự mình thiết kế hệ thống nhận
dạng, phiên dịch cho app mà chỉ cần xài lại cái có sẵn, tiết kiệm được
nhiều thời gian, công sức và tiện bạc. Nuance có hỗ trợ cho tiếng Việt
trong ứng dụng Dragon Dictation do chính hãng này phát triển.
OpenEars cũng là một thư viện khác nhưng nó thuộc dạng nguồn mở và
hoạt động offline, hạn chế là chỉ hỗ trợ tiếng Anh và Tây Ban Nha. Vài
cái tên khác có thể kể đến như Ivona, iSpeech, Vocalkit and Acapela.
Chuyển giọng nói thành văn bản
Các thư viện giọng nói phổ biến
Một cách khác mà nhiều phần mềm hiện cũng đang dùng đó là tận dụng
bộ nguồn nhận dạng có sẵn trên các hệ điều hành di động. Người dùng
có thể kích hoạt tính năng này ở những chỗ cần nhập văn bản. Từ iOS 7
về trước thì tính năng này không hỗ trợ tiếng Việt, phải lên iOS 8 mới có.
Google thì bắt đầu hỗ trợ nhập liệu tiếng Việt cho Android khoảng một
năm về trước. Ngoài ra, Apple, Google cũng có cung cấp các hàm API
giúp app của lập trình viên biết nói chỉ với vài dòng mã nguồn.
Chuyển giọng nói thành văn bản
Kết
Tiềm năng của công nghệ nhận dạng giọng nói là rất lớn. Hiện nay chúng
ta chỉ mới khai thác được những bề nổi của nó chứ chưa thật sự đi sâu.
Hãy nghĩ đến một tương lai nơi bạn có thể hoàn toàn để điện thoại trong
túi quần và thực hiện tất cả chỉ bằng cách nói vào tai nghe Bluetooth.
Nhìn rộng hơn, bạn vừa về tới nhà và nói vào chiếc điện thoại của mình:
mở máy lạnh nha, kao về nhà rồi, mở sẵn luôn cả nhạc nữa nhé, thế là
khi mở cửa bước vào thì mọi thứ đã được thực hiện. Tính năng nhận
dạng giọng nói không chỉ dừng lại ở việc nhập liệu mà nó còn mở ra cả
một chân trời để chúng ta khai thác và đơn giản hóa cuộc sống của mình.
Công nghệ được sinh ra là để làm cho cuộc sống dễ dàng hơn kia mà, và
việc nhận dạng giọng nói chắc chắn sẽ không phải là ngoại lệ.