Hiện tại bản thân đang mày mò về nhận dạng tiếng nói của một dân tộc Tiếng Việt. Cơ phiên bản bây giờ mới tò mò về speechh khổng lồ text cùng có ý tưởng phát minh cao sa là xây cất trợ lý ảo cho tất cả những người việt.

Bạn đang xem: Thư viện nhận dạng giọng nói tiếng việt

Đây là sản phẩm nơi mình đã học… một trong những nơi trước tiên nghiên cứu vãn về nhấn dạng tiếng việt ( sảm phẩm này trước cả VAV của đại học non sông nha)

https://www.youtube.com/watch?v=d
JW2Jnrel6I

Về chuẩn bị toán học thì sử dụng mô hình HMM với N gram

Về code áp dụng toolkit cmusphinx viết bởi C nhưng mà chuyên sử dụng cho androidưu điểm về speech.

`Ai tất cả hứng thú thì bọn họ lập box luận bàn với nhau và chia sẻ tài liệu thất thoát

*

Pasted image982×590 60.9 KB
6 Likes
Nguyen_Van_Khai (Nguyễn Văn Khải) March 15, 2016, 4:01am #2

hay quá,mình cũng đang làm cho về vấn đề nhận diện giọng nói này cơ mà lập trình trên linux,sử dụng mô hình MFCC.


2 Likes
chazo1994 (chazo1994) March 15, 2016, 6:15am #3

MFCC là nhằm phân tích các đặc tính của speech wave. Bản thân mất khoảng tầm 1 tuần khám phá về nó do mỗi tài liệu lại sở hữu công thức khac nhau! c sài toolkit gì?t định sử dụng trên ubuntu nhưng code android studio bên trên ubuntu ổn định ko?


2 Likes
Nguyen_Van_Khai (Nguyễn Văn Khải) March 26, 2016, 12:51pm #4

mình cũng đang thực hiện ubuntu để làm,viết bằng ngữ điệu python. Python cũng cung ứng mấy library của toán mà lại vẫn khó.tìm tài liệu trên mạng chỉ thấy làm bằng matlab vày matlab đã tất cả sẵn mấy mẫu lib cho giải mã fft.


2 Likes
chazo1994 (chazo1994) March 26, 2016, 7:32pm #5
*
Nguyen_Van_Khai:

viết bằng ngữ điệu python. Python cũng cung cấp mấy library của toán tuy thế vẫn khó.tìm tư liệu trên mạng

bạn biết dùng cmusphinx không? sẽ mắt khu vực generate dictionary bởi Phonetisaurus


2 Likes
ltd (Lê è Đạt) March 27, 2016, 12:16am #6

Đạt đã có lần làm cmusphinx để thừa nhận diện ngôn ngữ, nhưng sẽ là tiếng Anh.

Tiếng Việt thì không tồn tại thư viện phải không làm, cùng với lại nhu yếu project là giờ đồng hồ Anh.

Theo Đạt nhớ ko lầm là để chuẩn bị một bộ thư viện tốn không hề ít thời gian, do dự
chazo1994 đang mong mỏi generate mẫu gì, file âm thanh hay file bản đồ thôi?


1 lượt thích
chazo1994 (chazo1994) March 27, 2016, 11:16am #7
*
ltd:

rất những thời gian, chần chờ
chazo1994 đang mong mỏi generate mẫu gì, file âm nhạc hay file bản đồ thôi?

bộ thư viện thì em new đang có tác dụng nhận dạng số buộc phải khá nhó.có về dự án công trình em đang theo là của viện nghiên cứu mica có rất nhiều người đi trước vẫn làm bộ thự viện rồi ạ. Em chỉ develop thêm.còn vụ việc em đã mắc với dòng Phonetisaurus là lúc cài đặt nó trên ubuntu thôi a. Hết error này đến error khác

*


2 Likes
chazo1994 (chazo1994) March 27, 2016, 11:17am #8

em vẫn làm dòng nhận dạng số nhỏ dại nhỏ trươc lúc tham gia dự án công trình to. Bị mắc khi mua Phonetisaurus. Ko biết là bao gồm tool nào tốt hơn để chế tạo ra dic ko a?


1 like
drgnz (Drgnz) split this topic August 25, 2016, 8:31am #9

A post was split to lớn a new topic: giải pháp đưa các file huấn luyện và giảng dạy để trang bị học nhấn diện tiếng nói trong VB.Net


1 like
ngocduc (Nguyễn Ngọc Đức ) December 14, 2016, 3:38am #10

Em rất hứng thú với cái này. Mà lại giờ không biết bước đầu từ đâu.Các anh có tài năng liệu không ạ? Em cần phải biết những đồ vật gì để có thể code được ạ?


1 like
Rok_Hoang (Minh Hoàng) December 14, 2016, 3:59am #11

Background của bạn? Chỉ hào hứng thôi là chưa đủ.Nhận dạng ngôn ngữ thì liên quan đến vision computer.


1 like
anhkien96 (Nguyễn Công Kiên) December 14, 2016, 10:12am #12

perfect! giỏi qúa anh ơi.


1 lượt thích
Thi (Tran
Dinh) February 21, 2017, 8:46am #13

Mình rất vồ cập và muốn mày mò về vụ việc này. Các bạn có tài liệu khuyên bảo về CMUSphinx cho mình tìm hiểu thêm với


1 like
banhmisg9509 (Nguyễn Hùng) February 21, 2017, 11:37am #14

Không biết google bao gồm api mang lại chuyển tiếng nói không? Thấy sử dụng nó trên android cũng khá tốt.


1 like
Trai_Tim_Bang_Gia1 (Trái Tim Băng Gía) April 11, 2017, 4:57am #16

Mjk đang mày mò cách dấn dạng các giọng nói tiếng việt và đưa text giờ việt thành tiếng nói bằng ngữ điệu android. Chúng ta cũng có thể cho mjk xin tài liệu không? mail mjk là: ngocmanbg
gmail.com
Cảm ơn !


2 Likes
chazo1994 (chazo1994) April 12, 2017, 6:16am #17

Ok mình gửi vào mail nhé.


2 Likes
Kenh_Suy_luan_manga (Kenh Suy Luan Manga) May 11, 2017, 3:36pm #18

Anh ay anh dung phan mem gi tren dien thoai vay, bỏ ra cho em voi. Neu duoc thi anh teo the bỏ ra cho em cach lam cai vày duoc khong, em cung dang teo mot y tuong ve van de giong noi nay. Xin anh giup dum.


1 lượt thích
chazo1994 (chazo1994) May 11, 2017, 4:31pm #19

có nhiều cách để làm vấn đề với giọng nói lắm. Còn tùy theo project của công ty nữa. Chúng ta có thể nêu qua cầm thể bạn muốn làm gì ko? bản thân sẽ gợi nhắc giúp cho.


1 lượt thích
Lovemagic May 11, 2017, 7:06pm #20

Bạn check inbox nhé, mình muốn hỏi chúng ta thêm về sự việc này cơ mà không luôn tiện post có tác dụng loãng topic của bạn.Cảm ơn bạn.


1 lượt thích
hell6w9rld (Hello
World) May 12, 2017, 12:15pm #21

Hell6w9rld
gmail.com
Cho mình xin tư liệu với. Tks bạn


1 like
next page →

trang chủ Categories FAQ/Guidelines Terms of Service Privacy Policy

Powered by Discourse, best viewed with Java
Script enabled

Ngoài Siri của Apple, Alexa của Amazon và vừa mới đây là Google Asisstant của Google, còn gì tuyệt vời hơn khi biết bạn có thể tự khiến cho mình một nhỏ trợ lý ảo, ngay cả phiên bản tiếng việt. Nào bắt tay vào làm thôi.

Trong bài viết, mình đã đi cụ thể làm cố gắng nào để viết một trở lý ảo giờ đồng hồ việt bằng Python, mình gọi tên cậu ấy là Alex.

Nhiều chúng ta vẫn chưa thực sự được tiếp cận cùng với trí tuệ nhân tạo hay cụ thể hơn là xử lý ngữ điệu tự nhiên hay như là 1 con trợ lý ảo tức thị gì. Thực sự, trí tuệ tự tạo nói thông thường và cách xử trí ngôn ngữ thoải mái và tự nhiên đóng góp to lớn lớn như thế nào đối với ngành công nghệ thông tin. Mình chọn sử dung python, Python là một trong ngôn ngữ lập trình gồm một cỗ thư viện nhiều năng. Cần trí tuệ nhân tạo bây chừ cũng trở nên đơn giản dễ dàng hơn với bọn chúng ta. Bản thân sẽ rõ ràng hóa các chi tiết giúp bạn hình dung những các bước để làm một con trợ lý ảo nhé.

Trợ lý ảo đã cải cách và phát triển thế nào?

*

Timeline trợ lý ảo từ bỏ 2010 đến nay

Gần đây, Trợ lý ảo đã chiếm lĩnh được nền tảng chính sau khi Apple tích vừa lòng Trợ lý ảo đáng ngạc nhiên nhất - Siri, chấp thuận là 1 phần của hãng apple Inc. Cơ mà dòng thời gian của sự tiến hóa béo phì nhất bước đầu từ sự kiện năm 1962 trên Hội chợ quả đât Seattle địa điểm IBM trưng bày cỗ máy độc đáo gọi là Shoebox.Đó là kích thước thực tế của một vỏ hộp đựng giày và có thể thực hiện các tính năng khoa học và rất có thể nhận biết 16 từ cùng cũng nói theo cách khác chúng bằng giọng nói dễ phân biệt của con người với 0 mang lại 9 chữ số.

Sau đó trong giai đoạn trong những năm 1970, những nhà nghiên cứu và phân tích tại Đại học Carnegie Mellon sinh sống Pittsburgh, Pennsylvania với sự hỗ trợ của bộ Quốc chống Hoa Kỳ và cơ quan Dự án nghiên cứu và phân tích Quốc phòng tiên tiến và phát triển (DARPA) - đã tạo thành chiếc sản phẩm công nghệ Harpy.Nó hoàn toàn có thể hiểu ngay gần 1.000 từ, gần bởi từ vựng của một đứa trẻ bố tuổi.

Vào tháng bốn năm 1997, Dragon Natatural
Speaking
là ứng dụng chỉnh sửa chủ yếu tả đầu tiên có thể hiểu khoảng 100 trường đoản cú và biến nó thành nội dung rất có thể đọc được. Theo mẫu thời gian, xử lý ngôn ngữ tự nhiên và trợ lý ảo được đầu tư nghiên cứu táo bạo mẽ, trải qua đầy đủ cột mốc đặc biệt và giành được thành tựu tuyệt vời như ngày hôm nay.

Kiến thức đề nghị có

*

Phải nói rằng, vẫn thật tuyệt đối nếu có thể tự mình tạo ra một trợ lý ảo tức thì trên chiếc máy tính để bàn hay laptop của mình với các tiện ích dễ dàng và đơn giản như:

Giao tiếp, kính chào hỏi
Cho các bạn biết thời gian hiện tại
Khởi chạy ứng dụng khối hệ thống và mở bất kỳ trang web nào trên trình lưu ý Chrome
Mở Google tìm kiếm và tra cứu kiếm nạm cho bạn
Gửi email tới những người vào danh bạ của bạn
Cho các bạn biết thời tết cùng nhiệt độ bây giờ của phần nhiều mọi thành phố
Phát cho bạn một bài bác hát trên Youtube
Thay đổi màn hình máy tính
Cho các bạn biết tin tức mới nhất
Nói cho bạn về hấu hết số đông thứ các bạn yêu cầu

Do đó, ngơi nghỉ trong nội dung bài viết này, mình sẽ xây dựng một ứng dụng tiếng việt có chức năng thực hiện toàn bộ các trách nhiệm trên. Mình shop với trợ lý ảo trên laptop và mình sẽ gọi bạn ấy là Alex.

Nào bọn chúng ta ban đầu thôi. Let"s go !!!!

Nguyên liệu cần chuẩn bị

System requirements:Python 3.7.6, Jupyter notebook, Anaconda.Libraries:speech_recognition: dìm dạng giọng nóitime, datetime: xử lý thời gianwikipedia: search kiếm trên từ điển wikipediawebbrowser, selenium, webdriver_manager,urllib: truy vấn web, trình phê chuẩn (Chrome)g

*

Anacondalà một phương pháp tổng hợp tích hợp sẵn không hề ít các gói phần mềm, thư viện giúp họ có một môi trường xung quanh để tiến hành xây dựng những ứng dụng Python. Anacoda cũng tích phù hợp sẵn conda bên trong do đó chúng ta chỉ cần thiết đặt Anacoda là đủ.

Khi setup xong, bạn mở Anaconda Prompt (có thể search thấy trong thư mục setup Anaconda), dịch rời đến thư mục đựng project và tiến hành chạy Jupyter Notebook bằng câu lệnh:

jupyter notebook

Cửa số hiện tại lên, bạn chỉ việc vào new lựa chọn python 3ta đã bao gồm một notebook hoàn toàn có thể chạy Python bên dưới dạng cácinteractive shell

*

Cuối thuộc là việc setup các thư viện bắt buộc thiết, họ tiếp tục vào Anaconda Prompt và thực hiện cài các Python Package thông qua gói thư việnpip. Ví dụ, ta muốn cài đặt thư việnabcxyzthì gõ câu lệnh:

pip install abcxyz

*

Xây dựng trợ lý ảo giờ việt Alex

1. Import các thư viện yêu cầu thiếtDriver
Managerfrom time import strftimefrom gtts import g
TTSfrom youtube_search import Youtube
Search
Ở trên, tủ sách urlllib2 thực ra đã được sửa chữa thay thế bằng tủ sách urllib.request cùng urllib nghỉ ngơi phiên phiên bản Python 3. Bản thân vẫn đặt tên là urllib2 để tránh nhầm lẫn.

Với mỗi tác dụng mà trợ lý ảo triển khai mình sẽ thay mặt đại diện bằng một hàm. Từng hàm có thể trả về giá trị hoặc chỉ thực hiện lệnh tùy theo tác dụng của nó.

Việc thứ nhất mình vẫn khai báo một vài phát triển thành để lưu đường dẫn hay các tham số để xử lý ngôn ngữ dưới dạng tiếng việt.

2. Khai báo biến mặc định

wikipedia.set_lang("vi")language = "vi"path = Chrome
Driver
Manager().install()Hiện tại, những Lab phân tích về trí tuệ tự tạo ở nước ta đang chi tiêu đẩy mạnh nghiên cứu mảng xử trí ngôn ngữ thoải mái và tự nhiên (Natural Language Processing) sinh sống dạng giờ đồng hồ việt và đã có được những công dụng đáng ghi nhận. Các quy mô nghiên cứu vớt được rất có thể xử lý ngữ điệu tiếng việt ở các vùng miền, cả phái nam lẫn nữ, siêu thực. Ở góc độ người sử dụng phổ thông thì khó rất có thể biết đâu là do máy tính, đâu là do người thực hiện. Các nghiên cứu đều sở hữu tính vận dụng cao, đang được các công ty technology áp dụng thực thi thực tế, cải thiện năng suất lao cồn một biện pháp rõ rệt.

Các tủ sách mình thực hiện ở trên đều rất phổ thông, tích hợp các hàm xử lý. Tuy chất lượng xử lý tiếng việt chưa thực sự tuyệt vời và hoàn hảo nhất nhưng ở góc cạnh độ bài viết thì mình thấy là khá ổn.

Mình giữ thêm đổi mới path nhằm lưu con đường dẫn cài đặt Chrome nhằm tránh việc cài đặt lại Chrome lúc chạy lại hàm.

3. Tính năng chuyển văn bản thành âm thanh

*

Google Cloud Text lớn Speech

def speak(text): print("Bot: ".format(text)) tts = g
TTS(text=text, lang=language, slow=False) tts.save("sound.mp3") playsound.playsound("sound.mp3", False) os.remove("sound.mp3")Chức năng đầu tiên mình đề xuất là chuyển một đoạn văn phiên bản thành âm thanh và đọc nó lên trên thiết bị tính.

Mình thực hiện hàm g
TTS (google Text to lớn Speech) để đưa văn phiên bản thành âm nhạc theo ngôn từ nhận dạng giờ đồng hồ việt rồi lưu về máy vi tính dữ liệu âm thanh dưới file sound.mp3.

Sau đó, minh dùng hàm playsound.playsound() để đọc file sound.mp3trên đồ vật tính.

Sau khi đọc xong, mình phải xóa tệp tin sound.mp3 để tránh lỗi khi mình gọi một đoạn văn bản khác thì cũng khá được lưu lại bên dưới file sound.mp3.

4. Tính năng chuyển music thành văn bản

*

Quy trình chung khối hệ thống nhận dạng giọng nói

Đây là tác dụng cơ bạn dạng thứ hai thuộc với tác dụng chuyển văn phiên bản thành âm thanh.

Trong chức năng này, mình sử dụng 2 hàm khác cung cấp là get_audio() và stop()

def get_audio(): r = sr.Recognizer() with sr.Microphone() as source: print("Tôi: ", end="") audio = r.listen(source, phrase_time_limit=5) try: text = r.recognize_google(audio, language="vi-VN") print(text) return text except: print("...") return 0Ở hàm trên, mình áp dụng thư viện speech_recognition (sr) có tính năng là nhận dạng tiếng nói để chuyển âm nhạc thành văn bản. Âm thanh được đọc vào microphone của máy tính tiếp đến được giải pháp xử lý qua hàm listen của sr.Recognition rồi lưu tài liệu âm thanh vào đổi thay audio. Dữ liệu âm thanh audio chiếm được sẽ được nhận dạng ở ngôn ngữ tiếng việt vào hàm r.recognize_google để đưa thành dạng văn bản rồi lưu dữ liệu vào trở nên text.

Nếu dữ liệu âm thanhaudio ko lỗi có nghĩa là hàmr.recognize_google có thể nhận dạng được audio để chăm thành text thì hàm get_audio() sẽ được trả về cực hiếm là text còn nếu tài liệu audio bị lỗi mà hàm r.recognition_google không sở hữu và nhận dạng được thì hàm get_audio() sẽ tiến hành trả về quý giá là 0 (Mục đích là khi máy tính không hiểu nhiều mình nói gì thì bản thân sẽ thực hiện lại hàm get_audio() nhằm đọc lại)

def stop(): speak("Hẹn chạm mặt lại bạn sau!")Hàm stop() đơn giản dễ dàng là hiểu đoạn text "Hẹn gặp mặt lại bạn sau" áp dụng hàm speak() sinh sống trên.

def get_text(): for i in range(3): text = get_audio() if text: return text.lower() elif i Hàm get_text() có tác dụng là máy tính xách tay sẽ cố gắng nhận dạng music của người đọc về tối đa 3 lần cho đến khi laptop hiểu. Mình áp dụng hàm for lặp lại 3 lần, giả dụ đoạn text có mức giá trị không giống 0 thì hàm get_text sẽ tiến hành trả về giá trị text.lower() (Chuyển chữ cái in hoa thành in thường), còn giả dụ text nhận quý giá là 0 (Tức là minh phát âm mà máy tính không hiểu) mà chưa đọc mang lại lần đồ vật 3 thì mình vẫn yêu cầu người tiêu dùng đọc lại. Trường hợp sau 3 lần mà máy vi tính vẫn không hiểu biết nhiều thì bản thân nói gì hay không nghe thấy gì thì mình đã cho tạm dừng sử dụng hàm stop cùng hàm get_text bây giờ sẽ được trả về giá trị là 0 (Mục đích là khi máy vi tính không nghe thấy gì thì mình sẽ đến dừng chương trình luôn).

Mình thêm câu lệnh time.sleep(2) mục đích là chương trình tạm ngưng 2 giây nhằm tránh máy tính xách tay đọc các đoạn văn bản bị khớp nhau.

5. Công dụng giao tiếp, kính chào hỏi

def hello(name): day_time = int(strftime("%H")) if day_time Nội dung công dụng này là để giao tiếp thông hay giữa bạn và lắp thêm tính. Đơn cử như: kính chào hỏi, hỏi thăm sức mạnh hay nói đến thông tin trợ lý ảo,... Ở đây, mình đã mô phỏng bằng tính năng chào hỏi thực hiện hàm hello.

Mình sử dụng biến day_time nhằm lưu giờ bây giờ trong ngày. Sau đó, thay đổi sẽ được so sánh với các mốc giờ đồng hồ trong ngày để mang ra lời chào.

Như trên thì trước 12 tiếng thì mình sẽ xin chào buổi sáng, từ 12 giờ đến sau 18 giờ bản thân sẽ kính chào buổi chiều, từ bỏ 18 giờ đồng hồ trở đi bản thân sẽ chào buổi tối.

6. Tính năng hiển thị thời gian

def get_time(text): now = datetime.datetime.now() if "giờ" in text: speak("Bây tiếng là %d giờ %d phút" % (now.hour, now.minute)) elif "ngày" in text: speak("Hôm nay là ngày %d mon %d năm %d" % (now.day, now.month, now.year)) else: speak("Bot chưa biết đến ý của bạn. Chúng ta nói lại được không?")Chức năng này hơi là 1-1 giản. Mình thực hiện thư viện datetime nhằm lưu thông tin thời gian tại thời điểm hiện tại trong ngày rồi lưu vào biến now.

Mình kiểm tra nếu trong khúc text bản thân hỏi gồm chữ "giờ", mình đã đọc thời gian hiện tại trong ngày còn nếu bao gồm chữ "ngày" trong text thì mình vẫn đọc thời điểm hiện nay trong năm.

Ví dụ:

text = "Bây giờ đồng hồ là mấy giờ"

Tức là gồm chữ "giờ" trong text thì hàm get_time thực hiện lệnh đọc:

Bây giờ đồng hồ là 10 giờ 26 phút

7. Chức năng mở ứng dụng hệ thống, website và chức năng tìm kiếm từ khóa bên trên Google

def open_application(text): if "google" in text: speak("Mở Google Chrome") os.startfile("C:Program Files (x86)GoogleChromeApplicationchrome.exe") elif "word" in text: speak("Mở Microsoft Word") os.startfile("C:Program FilesMicrosoft Office\rootOffice16\WINWORD.EXE") elif "excel" in text: speak("Mở Microsoft Excel") os.startfile("C:Program FilesMicrosoft Office\rootOffice16EXCEL.EXE") else: speak("Ứng dụng chưa được cài đặt. Các bạn hãy thử lại!")Khi xuất hiện các từ bỏ khóa quan trọng như google xuất xắc word tuyệt excel trong text thì mình cần sử dụng hàm os.startfile() để mở các file vận dụng từ hệ thống.

Chỉ kiểm soát từ google giỏi word tốt excel vào text là chưa đủ. Bản thân cần số lượng giới hạn ngữ nghĩa của text ngơi nghỉ trong hàm assistant để bot có thể hiểu là mở lịch trình Google Chrome, Word, Excel chứ không hề nhầm lẫn với các chức năng khác.

def open_website(text): reg_ex = re.search("mở (.+)", text) if reg_ex: domain name = reg_ex.group(1) url = "https://www." + domain webbrowser.open(url) speak("Trang web bạn yêu mong đã được mở.") return True else: return False
Mình áp dụng hàm re.search() (Hàm tìm kiếm vào biểu thức bao gồm quy Regular Expression) để bóc phần tên miền sau chữ "mở" trong text rồi ghép với phần chi phí tố "https://www." để chế tác thành con đường dẫnurl của web.

Sau đó, mình áp dụng webbroser.open(url) nhằm mở trang web mình yêu thương cầu.

Xem thêm: 12 Phim Siêu Nhân Phép Thuật Tập 49 Tập, Mahou Sentai Magiranger

Nếu domain name được hàm re.search() search thấy thì mình sẽ thực hiện chức năng mở website cùng hàm open_website được trả về giá trị là True, còn nếu tên miền không được tìm kiếm thấy thì mình sẽ không thực hiện công dụng gì cả và hàm open_website trả về quý giá là False.

def open_google_and_search(text): search_for = text.split("kiếm", 1)<1> speak("Okay!") driver = webdriver.Chrome(path) driver.get("http://www.google.com") que = driver.find_element_by_xpath("https://input<