голосовой ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ Π½Π° python исходный ΠΊΠΎΠ΄

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ голосового ассистСнта Π½Π° Python, Ρ‡Π°ΡΡ‚ΡŒ 1

Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь. НавСрноС, всС смотрСли Ρ„ΠΈΠ»ΡŒΠΌΡ‹ ΠΏΡ€ΠΎ ΠΆΠ΅Π»Π΅Π·Π½ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΈ Ρ…ΠΎΡ‚Π΅Π»ΠΈ сСбС голосового ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ°, ΠΏΠΎΡ…ΠΎΠΆΠ΅Π³ΠΎ Π½Π° ДТарвиса. Π’ этом постС я расскаТу, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ассистСнта с нуля. Моя ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ написана Π½Π° python 3 Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС windows. Π˜Ρ‚Π°ΠΊ, ΠΏΠΎΠ΅Ρ…Π°Π»ΠΈ!

Π Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ наш ассистСнт Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎ Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ:

Нам Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ pyttsx3 для синтСза Ρ€Π΅Ρ‡ΠΈ:

Π—Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π΅ΡΡ‚ΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΅Ρ‘ выполнСния.

2) РаспознаваниС Ρ€Π΅Ρ‡ΠΈ

БущСствуСт ΠΌΠ½ΠΎΠ³ΠΎ инструмСнтов для распознавания Ρ€Π΅Ρ‡ΠΈ, Π½ΠΎ ΠΎΠ½ΠΈ всС ΠΏΠ»Π°Ρ‚Π½Ρ‹Π΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я пытался Π½Π°ΠΉΡ‚ΠΈ бСсплатноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π½Π°ΡˆΡ‘Π» Π΅Ρ‘! Π­Ρ‚ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° speech_recognition.

Π’Π°ΠΊΠΆΠ΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½ΠΎΠΌ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° PyAudio.

Π£ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… людСй Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с установкой PyAudio, поэтому слСдуСт ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΏΠΎ этой ссылкС ΠΈ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½ΡƒΡŽ Π²Π°ΠΌ Π²Π΅Ρ€ΡΠΈΡŽ PyAudio. Π—Π°Ρ‚Π΅ΠΌ ввСсти Π² консоль:

Π—Π°Ρ‚Π΅ΠΌ запускаСтС Ρ‚Π΅ΡΡ‚ΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Но ΠΏΠ΅Ρ€Π΅Π΄ этим Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π² Π½Π΅ΠΉ device_index=1 Π½Π° своё Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ индСкса ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½Π°. Π£Π·Π½Π°Ρ‚ΡŒ индСкс ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½Π° ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

ВСст распознавания Ρ€Π΅Ρ‡ΠΈ:

Если всё ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ дальшС.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ассистСнт просто общался с Π²Π°ΠΌΠΈ (Π±Π΅Π· ИИ), Ρ‚ΠΎ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ бСсплатного инструмСнта DialogFlow ΠΎΡ‚ Google. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Π·Π°Π»ΠΎΠ³ΠΈΠ½Π΅Ρ‚Π΅ΡΡŒ, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ экран, Π³Π΄Π΅ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ своСго ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π±ΠΎΡ‚Π°. НаТмитС Create agent. ΠŸΡ€ΠΈΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ Π±ΠΎΡ‚Ρƒ имя (Agent name), Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚Π΅ язык (Default Language) ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Create. Π‘ΠΎΡ‚ создан!

Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² Π½Π° Ρ€Π°Π·Π½Ρ‹Π΅ вопросы, Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ intent. Для этого Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ intents Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Create intent. Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ поля «НазваниС» ΠΈ Training phrases, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹. НаТмитС Save. Π’ΠΎΡ‚ ΠΈ всё.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π±ΠΎΡ‚ΠΎΠΌ Π½Π° python, Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄. Π’ ΠΌΠΎΠ΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π±ΠΎΡ‚ ΠΎΠ·Π²ΡƒΡ‡ΠΈΠ²Π°Π΅Ρ‚ всС ΠΎΡ‚Π²Π΅Ρ‚Ρ‹.

На сСгодня всё. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ части я расскаТу ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡƒΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΡ‚Π°, Ρ‚.Π΅. Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΠΌΠΎΠ³ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ, Π½ΠΎ ΠΈ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Alexa Π² 20 строках Python

голосовой ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ Π½Π° python исходный ΠΊΠΎΠ΄. %D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5 2021 03 21 165826. голосовой ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ Π½Π° python исходный ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. голосовой ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ Π½Π° python исходный ΠΊΠΎΠ΄-%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5 2021 03 21 165826. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° голосовой ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ Π½Π° python исходный ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° %D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5 2021 03 21 165826. Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь. НавСрноС, всС смотрСли Ρ„ΠΈΠ»ΡŒΠΌΡ‹ ΠΏΡ€ΠΎ ΠΆΠ΅Π»Π΅Π·Π½ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΈ Ρ…ΠΎΡ‚Π΅Π»ΠΈ сСбС голосового ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ°, ΠΏΠΎΡ…ΠΎΠΆΠ΅Π³ΠΎ Π½Π° ДТарвиса. Π’ этом постС я расскаТу, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ассистСнта с нуля. Моя ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ написана Π½Π° python 3 Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС windows. Π˜Ρ‚Π°ΠΊ, ΠΏΠΎΠ΅Ρ…Π°Π»ΠΈ!

Π£ всСх ΠΌΠΎΠΈΡ… Π΄Ρ€ΡƒΠ·Π΅ΠΉ Π΅ΡΡ‚ΡŒ Alexa, Π° Ρƒ мСня Π½Π΅Ρ‚, ΠΈΠ·-Π·Π° Ρ‡Π΅Π³ΠΎ ΠΎΠ½ΠΈ Π½Π°Π΄ΠΎ ΠΌΠ½ΠΎΠΉ ΡΠΌΠ΅ΡŽΡ‚ΡΡ. ΠΠ°Ρ‚Π΅Ρ€ΠΏΠ΅Π²ΡˆΠΈΡΡŒ вдоволь, я Ρ€Π΅ΡˆΠΈΠ»: β€œΠ₯Π²Π°Ρ‚ΠΈΡ‚!”.

Π― связался со своСй ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, ΠΈ ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΌΠΎΠΈΡ… уст ΠΏΡ€ΠΎΠ·Π²ΡƒΡ‡Π°Π»ΠΎ β€œAlexa”, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ· рСбят Π²Ρ‹ΠΊΡ€ΠΈΠΊΠ½ΡƒΠ»: β€œΠΠ΅ ΠΏΠΎΠΊΡƒΠΏΠ°ΠΉ Alexa! Π‘ΠΎΠ·Π΄Π°ΠΉ свою. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π² 20 строк кода”.

О Ρ‡Π΅ΠΌ этот ΠΏΡ€ΠΎΠ΅ΠΊΡ‚?

Π•Π³ΠΎ Ρ†Π΅Π»ΡŒ β€” ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ дСньги ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Alexa, ΡΠΏΠΎΡΠΎΠ±Π½ΡƒΡŽ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ для вас массу ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ.

Π’Π°ΡˆΠ° Π±Π°Π±ΡƒΡˆΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ Π² восторгС! Π•ΠΉ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ придСтся Π΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, достаточно Π±ΡƒΠ΄Π΅Ρ‚ голосовых ΠΊΠΎΠΌΠ°Π½Π΄, ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ сдСлаСт всС, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ.

НСмного Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ

ΠœΠΎΠ΄ΡƒΠ»ΡŒ/Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°:

ΠŸΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ написанный ΠΊΠ΅ΠΌ-Ρ‚ΠΎ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ бСсплатно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² своСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.

Класс:

ΠšΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡ ΠΈΠ· ООП, которая позволяСт Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ смыслС являСтся схСмой для создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². ΠšΠ»Π°ΡΡΡ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚:

ЭкзСмпляр класса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ для обращСния ΠΊ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ класса.

Π£ Alexa Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ

1. Π‘Π»ΡƒΡˆΠ°Ρ‚ΡŒ

ΠŸΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ являСтся основной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ любого Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ°. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Π±Ρ‹Π²Π°ΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: β€œΠΠ»Π΅ΠΊΡΠ°, Π²ΠΊΠ»ΡŽΡ‡ΠΈ музыку” ΠΈΠ»ΠΈ β€œΠΠ»Π΅ΠΊΡΠ°, сколько врСмя?”

ΠŸΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, ΠΏΠΎΠ½ΡΡ‚ΡŒ Π΅Π΅ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ дСйствиС.

2. Π“ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Ρ ΠΈ понимая ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Alexa выполняСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ дСйствия. Π’ Ρ…ΠΎΠ΄Π΅ этого процСсса ΠΎΠ½Π° прСдоставляСт Π³ΠΎΠ»ΠΎΡΠΎΠ²ΡƒΡŽ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ связь.

РСализация этих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

Нам понадобятся Π΄Π²Π° модуля Python:

1. SpeechRecognition

Π­Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ распознаваниС Ρ€Π΅Ρ‡ΠΈ: ΠΎΠ½Π° ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΡƒ ΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ ваши ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΈΡ… ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ дСйствия.

Π›ΡŽΠ±ΠΎΠΉ сторонний ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π½ΡƒΠΆΠ½ΠΎ Ρ‚Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ. Для этого Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅:

ПослС установки ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Π’ процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ Π½Π°ΠΌ понадобятся Ρ‚Ρ€ΠΈ Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°.

1) Класс Recognizer: это основной класс модуля, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит всС ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½ΡƒΠΆΠ½Ρ‹Π΅ для создания прилоТСния распознания Ρ€Π΅Ρ‡ΠΈ.

Для Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ этот класс, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹:

Π—Π΄Π΅ΡΡŒ r прСдставляСт просто ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ имя, Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π’ Π΅Π³ΠΎ качСствС ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΠΌΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Python.

2) Доступ ΠΊ ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½Ρƒ: Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΡƒ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π²Π°ΠΌ потрСбуСтся ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅ΠΌΡƒ доступ ΠΊ ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½Ρƒ устройства. Для этого ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ класс Microphone :

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ происходит Ρ€Π°Π±ΠΎΡ‚Π° с распознаваниСм Ρ€Π΅Ρ‡ΠΈ Π² Python. Π Π°Π·ΠΎΠ±Ρ€Π°Π²ΡˆΠΈΡΡŒ с основами этого модуля, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ.

2. Python Text-To-Speech (pyttsx3)

Π­Ρ‚ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Text-to-Speech (TTS) для Python 2 ΠΈ Python 3, которая Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π±Π΅Π· обращСния ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ ΠΈ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это сторонний ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, сначала Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого модуля ваш ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ ΠΎΠ±Ρ€Π΅Ρ‚Π΅Ρ‚ Π΄Π°Ρ€ Ρ€Π΅Ρ‡ΠΈ.

Π‘Π΅ΠΊΡ€Π΅Ρ‚: здСсь ΠΌΡ‹ просто ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌ тСкст Π² Ρ€Π΅Ρ‡ΡŒ.

ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ. Π‘Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ pyttsx3 с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° init() ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π—Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для прСобразования тСкста Π² Ρ€Π΅Ρ‡ΡŒ:

Π—Π΄Π΅ΡΡŒ say() выполняСт ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡŽ тСкста Π² Ρ€Π΅Ρ‡ΡŒ, Π° runAndWait() ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚, ΠΏΠΎΠΊΠ° ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ ΠΏΡ€ΠΎΠ³ΠΎΠ²Π°Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, послС Ρ‡Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π°Π΄Π°Ρ‡Π΅.

Π Π°Π·ΠΎΠ±Ρ€Π°Π²ΡˆΠΈΡΡŒ ΠΈ с этим ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ, ΠΏΠΎΡ€Π° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ самому интСрСсному.

Π‘Π°ΠΌΠΎΠ΅ интСрСсноС

ΠœΡ‹ создадим Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π·Π° ΠΎΠ΄Π½Ρƒ Π·Π°Π΄Π°Ρ‡Ρƒ. Но ΠΏΡ€Π΅ΠΆΠ΄Π΅ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠΌ ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

Π¨Π°Π³ 1. Π˜ΠΌΠΏΠΎΡ€Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ

Π­Ρ‚ΠΎ всСгда Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ шагом:

Π¨Π°Π³ 2. Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ

Для использования ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡ… ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ Π΄Π°Π»Π΅Π΅ ΠΈ создадим ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ассистСнту Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΈ ΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ.

Π¨Π°Π³ 3. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° talk() для прСобразования тСкста Π² Ρ€Π΅Ρ‡ΡŒ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π½Π°Π΄Π΅Π»ΠΈΠΌ Π΅Π³ΠΎ Π΄Π°Ρ€ΠΎΠΌ ΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ наши ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, создав для этого ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ распознаваниС Ρ€Π΅Ρ‡ΠΈ.

Π¨Π°Π³ 4. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° take_command() для распознавания Ρ€Π΅Ρ‡ΠΈ

ΠœΡ‹ ΡƒΠΆΠ΅ Π½Π° ΠΏΠΎΠ»ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ†Π΅Π»ΠΈ, ΠΈ основная Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρƒ нас ΠΏΠΎΠ·Π°Π΄ΠΈ.

Π¨Π°Π³ 5. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° run_alexa() для ΠΎΡ‚Π²Π΅Ρ‚Π°

Π—Π΄Π΅ΡΡŒ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ нСсколько ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ²:

1) ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΉ части: ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ вас прСслСдуСт навязчивая строчка ΠΈΠ· пСсни, ΠΈ Π²Ρ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ Π΅Π΅ ΠΏΠΎΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ, ΠΏΡ€ΠΈΠΊΠ°Π·Π°Π² Alexa: β€œPlay song_name ”. Для этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΌΡ‹ просто удаляСм слово Play ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Ρ‡Π°ΡΡ‚ΡŒ song_name :

ΠœΠΎΠ΄ΡƒΠ»ΡŒ этот Ρ‚ΠΎΠΆΠ΅ сторонний ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ установки:

И ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°:

4) wikipedia.summary(): для примСнСния этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° потрСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Wikipedia. Wikipedia β€” это Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Python, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ доступа ΠΈ парсинга Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ. Она ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΌ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π΅Π΅ Π² качСствС Π²Ρ‹Π²ΠΎΠ΄Π°. ΠœΠ΅Ρ‚ΠΎΠ΄ summary() Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· сводного Ρ€Π°Π·Π΄Π΅Π»Π° этого рСсурса.

ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, это сторонний ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ:

5) pyjokes.get_joke(): для использования этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Pyjokes. Он ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ случайныС однострочныС ΡˆΡƒΡ‚ΠΊΠΈ для программистов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ смоТСт ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Π­Ρ‚ΠΎΡ‚ сторонний ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ устанавливаСм:

Аналогичным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠ² возмоТности ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ°.

Помимо этого, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ Π·Π°Π³ΠΎΠ²ΠΎΡ€ΠΈΠ», ΠΌΡ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ talk() ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

Π¨Π°Π³ 6. ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас Π΅ΡΡ‚ΡŒ собствСнная Alexa!

Аналогичным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, обладая ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π½Π°Π²Ρ‹ΠΊΠ°ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Python ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности, сдСлав Π΅Π΅ Π½Π΅ просто ΡƒΠΌΠ½Ρ‹ΠΌ, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ интСрСсным ΠΈ красивым Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΎΠΌ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ПишСм голосового ассистСнта Π½Π° Python

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π² области машинного обучСния Π·Π° послСдний Π³ΠΎΠ΄ Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰Π΅ΠΉ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ. Всё большС ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ дСлятся своими Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΌΠΈ, Ρ‚Π΅ΠΌ самым открывая Π½ΠΎΠ²Ρ‹Π΅ возмоТности для создания ΡƒΠΌΠ½Ρ‹Ρ… Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΎΠ².

Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ я Ρ…ΠΎΡ‡Ρƒ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ своим ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ голосового ассистСнта ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ Π²Π°ΠΌ нСсколько ΠΈΠ΄Π΅ΠΉ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π΅Ρ‰Ρ‘ ΡƒΠΌΠ½Π΅Π΅ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Π΅Π΅.

голосовой ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ Π½Π° python исходный ΠΊΠΎΠ΄. . голосовой ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ Π½Π° python исходный ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. голосовой ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ Π½Π° python исходный ΠΊΠΎΠ΄-. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° голосовой ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ Π½Π° python исходный ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° . Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь. НавСрноС, всС смотрСли Ρ„ΠΈΠ»ΡŒΠΌΡ‹ ΠΏΡ€ΠΎ ΠΆΠ΅Π»Π΅Π·Π½ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΈ Ρ…ΠΎΡ‚Π΅Π»ΠΈ сСбС голосового ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ°, ΠΏΠΎΡ…ΠΎΠΆΠ΅Π³ΠΎ Π½Π° ДТарвиса. Π’ этом постС я расскаТу, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ассистСнта с нуля. Моя ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ написана Π½Π° python 3 Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС windows. Π˜Ρ‚Π°ΠΊ, ΠΏΠΎΠ΅Ρ…Π°Π»ΠΈ!

Π§Ρ‚ΠΎ ΡƒΠΌΠ΅Π΅Ρ‚ ΠΌΠΎΠΉ голосовой ассистСнт?

ОписаниС умСнияРабота Π² offline-Ρ€Π΅ΠΆΠΈΠΌΠ΅Π’Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ зависимости
Π Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ ΠΈ ΡΠΈΠ½Ρ‚Π΅Π·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Ρ‡ΡŒΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡpip install PyAudio (использованиС ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½Π°)

pip install pyttsx3 (синтСз Ρ€Π΅Ρ‡ΠΈ)

Для распознавания Ρ€Π΅Ρ‡ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈΠ»ΠΈ Π²Π·ΡΡ‚ΡŒ ΠΎΠ±Π΅:

Π¨Π°Π³ 1. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° голосового Π²Π²ΠΎΠ΄Π°

Начнём с Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ научимся ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ голосовой Π²Π²ΠΎΠ΄. Нам потрСбуСтся ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½ ΠΈ ΠΏΠ°Ρ€Π° установлСнных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ: PyAudio ΠΈ SpeechRecognition.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ создадим ΠΌΠ΅Ρ‚ΠΎΠ΄ для записи ΠΈ распознавания Ρ€Π΅Ρ‡ΠΈ. Для ΠΎΠ½Π»Π°ΠΉΠ½-распознавания Π½Π°ΠΌ потрСбуСтся Google, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ высокоС качСство распознавания Π½Π° большом количСствС языков.

А Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Π½Π΅Ρ‚ доступа Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚? МоТно Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ для offline-распознавания. МнС Π»ΠΈΡ‡Π½ΠΎ Π±Π΅Π·ΡƒΠΌΠ½ΠΎ понравился ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Vosk.

На самом Π΄Π΅Π»Π΅, Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ offline-Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Ссли ΠΎΠ½ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ΅Π½. МнС просто Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ±Π° способа Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΡΡ‚Π°Ρ‚ΡŒΠΈ, Π° Π²Ρ‹ ΡƒΠΆΠ΅ Π²Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅, исходя ΠΈΠ· своих Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ систСмС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎ количСству доступных языков распознавания бСсспорно Π»ΠΈΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ Google).

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Π²Π½Π΅Π΄Ρ€ΠΈΠ² offline-Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½ΡƒΠΆΠ½Ρ‹Π΅ языковыС ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΏΡ€ΠΈ отсутствии доступа ΠΊ сСти Ρƒ нас автоматичСски Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° offline-распознаваниС.

Π—Π°ΠΌΠ΅Ρ‡Ρƒ, Ρ‡Ρ‚ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π΄Π²Π° Ρ€Π°Π·Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ Ρ„Ρ€Π°Π·Ρƒ, я Ρ€Π΅ΡˆΠΈΠ»Π° Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π°ΡƒΠ΄ΠΈΠΎ с ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½Π° Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ wav-Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒΡΡ послС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ распознавания.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ спроситС «А Π·Π°Ρ‡Π΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ offline-возмоТности?Β»

Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ всСгда стоит ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Ρ€Π΅Π·Π°Π½ ΠΎΡ‚ сСти. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС, голосовой ассистСнт всё Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ, Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Π½ΠΎΠ³ΠΎ Π±ΠΎΡ‚Π° ΠΈΠ»ΠΈ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ряда простых Π·Π°Π΄Π°Ρ‡, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, ΠΏΠΎΡ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΈΠ»ΡŒΠΌ, ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ ΠΊΡƒΡ…Π½ΠΈ, ΡΡ‹Π³Ρ€Π°Ρ‚ΡŒ Π² ΠΈΠ³Ρ€Ρƒ ΠΈ Ρ‚.Π΄.

Π¨Π°Π³ 2. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ голосового ассистСнта

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ наш голосовой ассистСнт ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠΎΠ», язык Ρ€Π΅Ρ‡ΠΈ, Π½Ρƒ ΠΈ ΠΏΠΎ классикС, имя, Ρ‚ΠΎ Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π²Ρ‹Π΄Π΅Π»ΠΈΠΌ ΠΏΠΎΠ΄ эти Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ класс, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² дальнСйшСм.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π΄Π°Ρ‚ΡŒ Π½Π°ΡˆΠ΅ΠΌΡƒ ассистСнту голос, ΠΌΡ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ для offline-синтСза Ρ€Π΅Ρ‡ΠΈ pyttsx3. Она автоматичСски Π½Π°ΠΉΠ΄Π΅Ρ‚ голоса, доступныС для синтСза Π½Π° нашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π² зависимости ΠΎΡ‚ настроСк ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы (поэтому, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ вас ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ доступны Π΄Ρ€ΡƒΠ³ΠΈΠ΅ голоса ΠΈ Π²Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ индСксы).

Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² Π² main-ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ синтСза Ρ€Π΅Ρ‡ΠΈ ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ для Π΅Ρ‘ проигрывания. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, сдСлаСм Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ с Π½Π°ΠΌΠΈ поздоровался, ΠΈ Π²Ρ‹Π΄Π°Π΄ΠΈΠΌ Π΅ΠΌΡƒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ привСтствиС ΠΎΡ‚ ассистСнта:

На самом Π΄Π΅Π»Π΅, здСсь Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΈΡΠ°Ρ‚ΡŒ синтСзатор Ρ€Π΅Ρ‡ΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠΈΡ… Π·Π½Π°Π½ΠΈΠΉ здСсь Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ достаточно. Если Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρƒ, курс ΠΈΠ»ΠΈ интСрСсноС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² этой Ρ‚Π΅ΠΌΠ΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΎ β€” поТалуйста, Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π² коммСнтариях.

Π¨Π°Π³ 3. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Β«Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒΒ» Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ ΠΈ ΡΠΈΠ½Ρ‚Π΅Π·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Ρ‡ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ просто боТСствСнных Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ Π½Π°ΡˆΠΈΡ… ΠΊΠΎΠ»Π»Π΅Π³, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚ΡŒ свой вСлосипСд для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ€Π΅Ρ‡Π΅Π²Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ πŸ˜€

Π’ ΠΌΠΎΡ‘ΠΌ случаС я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΡΠ·Ρ‹Ρ‡Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ хранСния ΠΊΠΎΠΌΠ°Π½Π΄, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρƒ мСня Π² дСмонстрационном ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π½Π΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ событий, ΠΈ мСня устраиваСт Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ опрСдСлСния Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Однако, для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² я Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ языкам.

Для хранСния ΠΊΠΎΠΌΠ°Π½Π΄ я ΠΌΠΎΠ³Ρƒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ Π΄Π²Π° способа.

1 способ

МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ прСкрасный JSON-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ намСрСния, сцСнарии развития, ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ ΠΏΡ€ΠΈ Π½Π΅ΡƒΠ΄Π°Π²ΡˆΠΈΡ…ΡΡ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ°Ρ… (Ρ‚Π°ΠΊΠΈΠ΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Ρ‡Π°Ρ‚-Π±ΠΎΡ‚ΠΎΠ²). Выглядит это ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

Π’Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ Π½Π°Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ассистСнта Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΠΎΡ‚Π²Π΅Ρ‡Π°Π» Π½Π° слоТныС Ρ„Ρ€Π°Π·Ρ‹. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, здСсь ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ NLU-ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΡƒΠ³Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, свСряя ΠΈΡ… с Ρ‚Π΅ΠΌΠΈ, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ этот способ ΠΌΡ‹ Π΅Π³ΠΎ рассмотрим Π½Π° 5 шагС Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ. А ΠΏΠΎΠΊΠ° ΠΎΠ±Ρ€Π°Ρ‰Ρƒ вашС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π±ΠΎΠ»Π΅Π΅ простой Π²Π°Ρ€ΠΈΠ°Π½Ρ‚

2 способ

МоТно Π²Π·ΡΡ‚ΡŒ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½Ρ‹ΠΉ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π² качСствС ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ hashable-Ρ‚ΠΈΠΏ tuple, Π° Π² Π²ΠΈΠ΄Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π±ΡƒΠ΄ΡƒΡ‚ названия ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ. Для ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚:

Для Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π°ΠΌ потрСбуСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, сказанныС послС ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ слова. Π’ΠΎ Π΅ΡΡ‚ΡŒ, Ссли ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ„Ρ€Π°Π·Ρƒ «Π²ΠΈΠ΄Π΅ΠΎ ΠΌΠΈΠ»Ρ‹Π΅ ΠΊΠΎΡ‚ΠΈΠΊΠΈ«, ΠΊΠΎΠΌΠ°Π½Π΄Π° «Π²ΠΈΠ΄Π΅ΠΎ» Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ search_for_video_on_youtube() с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ «ΠΌΠΈΠ»Ρ‹Π΅ ΠΊΠΎΡ‚ΠΈΠΊΠΈ» ΠΈ выдаст Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

голосовой ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ Π½Π° python исходный ΠΊΠΎΠ΄. ptcm84xx8l le7bm3fb3sbcp9ei. голосовой ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ Π½Π° python исходный ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. голосовой ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ Π½Π° python исходный ΠΊΠΎΠ΄-ptcm84xx8l le7bm3fb3sbcp9ei. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° голосовой ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ Π½Π° python исходный ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ptcm84xx8l le7bm3fb3sbcp9ei. Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь. НавСрноС, всС смотрСли Ρ„ΠΈΠ»ΡŒΠΌΡ‹ ΠΏΡ€ΠΎ ΠΆΠ΅Π»Π΅Π·Π½ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΈ Ρ…ΠΎΡ‚Π΅Π»ΠΈ сСбС голосового ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ°, ΠΏΠΎΡ…ΠΎΠΆΠ΅Π³ΠΎ Π½Π° ДТарвиса. Π’ этом постС я расскаТу, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ассистСнта с нуля. Моя ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ написана Π½Π° python 3 Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС windows. Π˜Ρ‚Π°ΠΊ, ΠΏΠΎΠ΅Ρ…Π°Π»ΠΈ!

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ входящих Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²:

Ну Π²ΠΎΡ‚ ΠΈ всё! Основной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Π±ΠΎΡ‚Π° Π³ΠΎΡ‚ΠΎΠ². Π”Π°Π»Π΅Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎ бСсконСчности ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ. Моя рСализация с ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌΠΈ коммСнтариями доступна Π½Π° ΠΌΠΎΡ‘ΠΌ GitHub.

НиТС ΠΌΡ‹ рассмотрим ряд ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нашСго ассистСнта Π΅Ρ‰Ρ‘ ΡƒΠΌΠ½Π΅Π΅.

Π¨Π°Π³ 4. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΡΠ·Ρ‹Ρ‡Π½ΠΎΡΡ‚ΠΈ

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ нашСго ассистСнта Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с нСсколькими языковыми модСлями, Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ всСго ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСбольшой JSON-Ρ„Π°ΠΉΠ» с простой структурой:

Π’ ΠΌΠΎΡ‘ΠΌ случаС я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ русским ΠΈ английским языком, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ½Π΅ для этого доступны ΠΌΠΎΠ΄Π΅Π»ΠΈ для распознавания Ρ€Π΅Ρ‡ΠΈ ΠΈ голоса для синтСза Ρ€Π΅Ρ‡ΠΈ. Π―Π·Ρ‹ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½ Π² зависимости ΠΎΡ‚ языка Ρ€Π΅Ρ‡ΠΈ самого голосового ассистСнта.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ класс с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π½Π°ΠΌ строку с ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠΌ:

Π’ main-ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Π΄ΠΎ Ρ†ΠΈΠΊΠ»Π° объявим наш ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: translator = Translation()

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Π½ΠΈΠΈ Ρ€Π΅Ρ‡ΠΈ ассистСнта ΠΌΡ‹ смоТСм ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π²Ρ‹ΡˆΠ΅, это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π΄Π°ΠΆΠ΅ для Ρ‚Π΅Ρ… строк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ вставки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒ «стандартныС» Π½Π°Π±ΠΎΡ€Ρ‹ Ρ„Ρ€Π°Π· для Π²Π°ΡˆΠΈΡ… ассистСнтов.

Π¨Π°Π³ 5. НСмного машинного обучСния

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ вСрнёмся ΠΊ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½ΠΎΠΌΡƒ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Ρ‡Π°Ρ‚-Π±ΠΎΡ‚ΠΎΠ² Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρƒ с JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ для хранСния ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… слов, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ я ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»Π° Π² ΠΏΡƒΠ½ΠΊΡ‚Π΅ 3. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Ρƒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²:

А Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ main-ΠΌΠ΅Ρ‚ΠΎΠ΄, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² Ρ†ΠΈΠΊΠ» Π½Π° Π²Π΅Ρ€ΡΠΈΡŽ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ:

Однако, Ρ‚Π°ΠΊΠΎΠΉ способ слоТнСС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ: ΠΎΠ½ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ постоянной ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π° ΠΈΠ»ΠΈ иная Ρ„Ρ€Π°Π·Π° всё Π΅Ρ‰Ρ‘ Π²Π΅Ρ€Π½ΠΎ опрСдСляСтся систСмой ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ намСрСния. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π°Π½Π½Ρ‹ΠΌ способом стоит ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ с Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒΡŽ (Π»ΠΈΠ±ΠΎ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с самой модСлью).

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

На этом ΠΌΠΎΠΉ нСбольшой Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π» ΠΏΠΎΠ΄ΠΎΡˆΡ‘Π» ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ.

МнС Π±ΡƒΠ΄Π΅Ρ‚ приятно, Ссли Π²Ρ‹ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ со ΠΌΠ½ΠΎΠΉ Π² коммСнтариях извСстными Π²Π°ΠΌ open-source Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π° Ρ‚Π°ΠΊΠΆΠ΅ вашими идСями ΠΊΠ°ΡΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ Π΅Ρ‰Ρ‘ online ΠΈ offline-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ исходники ΠΌΠΎΠ΅Π³ΠΎ голосового ассистСнта Π² Π΄Π²ΡƒΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ здСсь.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ПишСм голосового ассистСнта Π½Π° Python

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π² области машинного обучСния Π·Π° послСдний Π³ΠΎΠ΄ Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰Π΅ΠΉ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ. Всё большС ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ дСлятся своими Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΌΠΈ, Ρ‚Π΅ΠΌ самым открывая Π½ΠΎΠ²Ρ‹Π΅ возмоТности для создания ΡƒΠΌΠ½Ρ‹Ρ… Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΎΠ².

Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ я Ρ…ΠΎΡ‡Ρƒ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ своим ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ голосового ассистСнта ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ Π²Π°ΠΌ нСсколько ΠΈΠ΄Π΅ΠΉ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π΅Ρ‰Ρ‘ ΡƒΠΌΠ½Π΅Π΅ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Π΅Π΅.

голосовой ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ Π½Π° python исходный ΠΊΠΎΠ΄. . голосовой ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ Π½Π° python исходный ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. голосовой ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ Π½Π° python исходный ΠΊΠΎΠ΄-. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° голосовой ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ Π½Π° python исходный ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° . Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь. НавСрноС, всС смотрСли Ρ„ΠΈΠ»ΡŒΠΌΡ‹ ΠΏΡ€ΠΎ ΠΆΠ΅Π»Π΅Π·Π½ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΈ Ρ…ΠΎΡ‚Π΅Π»ΠΈ сСбС голосового ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ°, ΠΏΠΎΡ…ΠΎΠΆΠ΅Π³ΠΎ Π½Π° ДТарвиса. Π’ этом постС я расскаТу, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ассистСнта с нуля. Моя ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ написана Π½Π° python 3 Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС windows. Π˜Ρ‚Π°ΠΊ, ΠΏΠΎΠ΅Ρ…Π°Π»ΠΈ!

Π§Ρ‚ΠΎ ΡƒΠΌΠ΅Π΅Ρ‚ ΠΌΠΎΠΉ голосовой ассистСнт?

ОписаниС умСнияРабота Π² offline-Ρ€Π΅ΠΆΠΈΠΌΠ΅Π’Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ зависимости
Π Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ ΠΈ ΡΠΈΠ½Ρ‚Π΅Π·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Ρ‡ΡŒΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡpip install PyAudio (использованиС ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½Π°)

pip install pyttsx3 (синтСз Ρ€Π΅Ρ‡ΠΈ)

Для распознавания Ρ€Π΅Ρ‡ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈΠ»ΠΈ Π²Π·ΡΡ‚ΡŒ ΠΎΠ±Π΅:

Π¨Π°Π³ 1. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° голосового Π²Π²ΠΎΠ΄Π°

Начнём с Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ научимся ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ голосовой Π²Π²ΠΎΠ΄. Нам потрСбуСтся ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½ ΠΈ ΠΏΠ°Ρ€Π° установлСнных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ: PyAudio ΠΈ SpeechRecognition.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠΌ основныС инструмСнты для распознавания Ρ€Π΅Ρ‡ΠΈ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ создадим Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для записи ΠΈ распознавания Ρ€Π΅Ρ‡ΠΈ. Для ΠΎΠ½Π»Π°ΠΉΠ½-распознавания Π½Π°ΠΌ потрСбуСтся Google, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ высокоС качСство распознавания Π½Π° большом количСствС языков.

А Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Π½Π΅Ρ‚ доступа Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚? МоТно Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ для offline-распознавания. МнС Π»ΠΈΡ‡Π½ΠΎ Π±Π΅Π·ΡƒΠΌΠ½ΠΎ понравился ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Vosk.

На самом Π΄Π΅Π»Π΅, Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ offline-Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Ссли ΠΎΠ½ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ΅Π½. МнС просто Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ±Π° способа Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΡΡ‚Π°Ρ‚ΡŒΠΈ, Π° Π²Ρ‹ ΡƒΠΆΠ΅ Π²Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅, исходя ΠΈΠ· своих Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ систСмС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎ количСству доступных языков распознавания бСсспорно Π»ΠΈΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ Google).

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Π²Π½Π΅Π΄Ρ€ΠΈΠ² offline-Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½ΡƒΠΆΠ½Ρ‹Π΅ языковыС ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΏΡ€ΠΈ отсутствии доступа ΠΊ сСти Ρƒ нас автоматичСски Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° offline-распознаваниС.

Π—Π°ΠΌΠ΅Ρ‡Ρƒ, Ρ‡Ρ‚ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π΄Π²Π° Ρ€Π°Π·Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ Ρ„Ρ€Π°Π·Ρƒ, я Ρ€Π΅ΡˆΠΈΠ»Π° Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π°ΡƒΠ΄ΠΈΠΎ с ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½Π° Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ wav-Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒΡΡ послС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ распознавания.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ спроситС «А Π·Π°Ρ‡Π΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ offline-возмоТности?Β»

Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ всСгда стоит ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Ρ€Π΅Π·Π°Π½ ΠΎΡ‚ сСти. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС, голосовой ассистСнт всё Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ, Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Π½ΠΎΠ³ΠΎ Π±ΠΎΡ‚Π° ΠΈΠ»ΠΈ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ряда простых Π·Π°Π΄Π°Ρ‡, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, ΠΏΠΎΡ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΈΠ»ΡŒΠΌ, ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ ΠΊΡƒΡ…Π½ΠΈ, ΡΡ‹Π³Ρ€Π°Ρ‚ΡŒ Π² ΠΈΠ³Ρ€Ρƒ ΠΈ Ρ‚.Π΄.

Π¨Π°Π³ 2. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ голосового ассистСнта

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ наш голосовой ассистСнт ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠΎΠ», язык Ρ€Π΅Ρ‡ΠΈ, Π½Ρƒ ΠΈ ΠΏΠΎ классикС, имя, Ρ‚ΠΎ Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π²Ρ‹Π΄Π΅Π»ΠΈΠΌ ΠΏΠΎΠ΄ эти Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ класс, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² дальнСйшСм.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π΄Π°Ρ‚ΡŒ Π½Π°ΡˆΠ΅ΠΌΡƒ ассистСнту голос, ΠΌΡ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ для offline-синтСза Ρ€Π΅Ρ‡ΠΈ pyttsx3. Она автоматичСски Π½Π°ΠΉΠ΄Π΅Ρ‚ голоса, доступныС для синтСза Π½Π° нашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π² зависимости ΠΎΡ‚ настроСк ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы (поэтому, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ вас ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ доступны Π΄Ρ€ΡƒΠ³ΠΈΠ΅ голоса ΠΈ Π²Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ индСксы).

Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² Π² main-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ синтСза Ρ€Π΅Ρ‡ΠΈ ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для Π΅Ρ‘ проигрывания. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, сдСлаСм Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ с Π½Π°ΠΌΠΈ поздоровался, ΠΈ Π²Ρ‹Π΄Π°Π΄ΠΈΠΌ Π΅ΠΌΡƒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ привСтствиС ΠΎΡ‚ ассистСнта:

На самом Π΄Π΅Π»Π΅, здСсь Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΈΡΠ°Ρ‚ΡŒ синтСзатор Ρ€Π΅Ρ‡ΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠΈΡ… Π·Π½Π°Π½ΠΈΠΉ здСсь Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ достаточно. Если Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρƒ, курс ΠΈΠ»ΠΈ интСрСсноС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² этой Ρ‚Π΅ΠΌΠ΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΎ β€” поТалуйста, Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π² коммСнтариях.

Π¨Π°Π³ 3. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Β«Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒΒ» Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ ΠΈ ΡΠΈΠ½Ρ‚Π΅Π·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Ρ‡ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ просто боТСствСнных Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ Π½Π°ΡˆΠΈΡ… ΠΊΠΎΠ»Π»Π΅Π³, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚ΡŒ свой вСлосипСд для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ€Π΅Ρ‡Π΅Π²Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ πŸ˜€

Π’ ΠΌΠΎΡ‘ΠΌ случаС я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΡΠ·Ρ‹Ρ‡Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ хранСния ΠΊΠΎΠΌΠ°Π½Π΄, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρƒ мСня Π² дСмонстрационном ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π½Π΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ событий, ΠΈ мСня устраиваСт Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ опрСдСлСния Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Однако, для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² я Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ языкам.

Для хранСния ΠΊΠΎΠΌΠ°Π½Π΄ я ΠΌΠΎΠ³Ρƒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ Π΄Π²Π° способа.

1 способ

МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ прСкрасный JSON-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ намСрСния, сцСнарии развития, ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ ΠΏΡ€ΠΈ Π½Π΅ΡƒΠ΄Π°Π²ΡˆΠΈΡ…ΡΡ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ°Ρ… (Ρ‚Π°ΠΊΠΈΠ΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Ρ‡Π°Ρ‚-Π±ΠΎΡ‚ΠΎΠ²). Выглядит это ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

Π’Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ Π½Π°Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ассистСнта Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΠΎΡ‚Π²Π΅Ρ‡Π°Π» Π½Π° слоТныС Ρ„Ρ€Π°Π·Ρ‹. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, здСсь ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ NLU-ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΡƒΠ³Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, свСряя ΠΈΡ… с Ρ‚Π΅ΠΌΠΈ, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ этот способ ΠΌΡ‹ Π΅Π³ΠΎ рассмотрим Π½Π° 5 шагС Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ. А ΠΏΠΎΠΊΠ° ΠΎΠ±Ρ€Π°Ρ‰Ρƒ вашС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π±ΠΎΠ»Π΅Π΅ простой Π²Π°Ρ€ΠΈΠ°Π½Ρ‚

2 способ

МоТно Π²Π·ΡΡ‚ΡŒ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½Ρ‹ΠΉ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π² качСствС ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ hashable-Ρ‚ΠΈΠΏ tuple (ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ словари ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ…ΡΡˆΠΈ для быстрого хранСния ΠΈ извлСчСния элСмСнтов), Π° Π² Π²ΠΈΠ΄Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π±ΡƒΠ΄ΡƒΡ‚ названия Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ. Для ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚:

Для Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π°ΠΌ потрСбуСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, сказанныС послС ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ слова. Π’ΠΎ Π΅ΡΡ‚ΡŒ, Ссли ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ„Ρ€Π°Π·Ρƒ «Π²ΠΈΠ΄Π΅ΠΎ ΠΌΠΈΠ»Ρ‹Π΅ ΠΊΠΎΡ‚ΠΈΠΊΠΈ«, ΠΊΠΎΠΌΠ°Π½Π΄Π° «Π²ΠΈΠ΄Π΅ΠΎ» Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ search_for_video_on_youtube() с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ «ΠΌΠΈΠ»Ρ‹Π΅ ΠΊΠΎΡ‚ΠΈΠΊΠΈ» ΠΈ выдаст Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

голосовой ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ Π½Π° python исходный ΠΊΠΎΠ΄. image loader. голосовой ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ Π½Π° python исходный ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. голосовой ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ Π½Π° python исходный ΠΊΠΎΠ΄-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° голосовой ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ Π½Π° python исходный ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь. НавСрноС, всС смотрСли Ρ„ΠΈΠ»ΡŒΠΌΡ‹ ΠΏΡ€ΠΎ ΠΆΠ΅Π»Π΅Π·Π½ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΈ Ρ…ΠΎΡ‚Π΅Π»ΠΈ сСбС голосового ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ°, ΠΏΠΎΡ…ΠΎΠΆΠ΅Π³ΠΎ Π½Π° ДТарвиса. Π’ этом постС я расскаТу, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ассистСнта с нуля. Моя ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ написана Π½Π° python 3 Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС windows. Π˜Ρ‚Π°ΠΊ, ΠΏΠΎΠ΅Ρ…Π°Π»ΠΈ!

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ входящих Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²:

Ну Π²ΠΎΡ‚ ΠΈ всё! Основной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Π±ΠΎΡ‚Π° Π³ΠΎΡ‚ΠΎΠ². Π”Π°Π»Π΅Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎ бСсконСчности ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами. Моя рСализация с ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌΠΈ коммСнтариями доступна Π½Π° ΠΌΠΎΡ‘ΠΌ GitHub.

НиТС ΠΌΡ‹ рассмотрим ряд ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нашСго ассистСнта Π΅Ρ‰Ρ‘ ΡƒΠΌΠ½Π΅Π΅.

Π¨Π°Π³ 4. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΡΠ·Ρ‹Ρ‡Π½ΠΎΡΡ‚ΠΈ

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ нашСго ассистСнта Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с нСсколькими языковыми модСлями, Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ всСго ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСбольшой JSON-Ρ„Π°ΠΉΠ» с простой структурой:

Π’ ΠΌΠΎΡ‘ΠΌ случаС я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ русским ΠΈ английским языком, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ½Π΅ для этого доступны ΠΌΠΎΠ΄Π΅Π»ΠΈ для распознавания Ρ€Π΅Ρ‡ΠΈ ΠΈ голоса для синтСза Ρ€Π΅Ρ‡ΠΈ. Π―Π·Ρ‹ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½ Π² зависимости ΠΎΡ‚ языка Ρ€Π΅Ρ‡ΠΈ самого голосового ассистСнта.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ класс с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π½Π°ΠΌ строку с ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠΌ:

Π’ main-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎ Ρ†ΠΈΠΊΠ»Π° объявим наш ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: translator = Translation()

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Π½ΠΈΠΈ Ρ€Π΅Ρ‡ΠΈ ассистСнта ΠΌΡ‹ смоТСм ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π²Ρ‹ΡˆΠ΅, это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π΄Π°ΠΆΠ΅ для Ρ‚Π΅Ρ… строк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ вставки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒ «стандартныС» Π½Π°Π±ΠΎΡ€Ρ‹ Ρ„Ρ€Π°Π· для Π²Π°ΡˆΠΈΡ… ассистСнтов.

Π¨Π°Π³ 5. НСмного машинного обучСния

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ вСрнёмся ΠΊ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½ΠΎΠΌΡƒ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Ρ‡Π°Ρ‚-Π±ΠΎΡ‚ΠΎΠ² Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρƒ с JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ для хранСния ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… слов, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ я ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»Π° Π² ΠΏΡƒΠ½ΠΊΡ‚Π΅ 3. Он ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π½Π΅ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ строгиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ NLU-ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

Π“Ρ€ΡƒΠ±ΠΎ говоря, Π² Ρ‚Π°ΠΊΠΎΠΌ случаС Ρ„Ρ€Π°Π·Ρ‹ «Π΄ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь«, «Π΄ΠΎΠ±Ρ€Ρ‹ΠΉ Π²Π΅Ρ‡Π΅Ρ€» ΠΈ «Π΄ΠΎΠ±Ρ€ΠΎΠ΅ ΡƒΡ‚Ρ€ΠΎ» Π±ΡƒΠ΄ΡƒΡ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ Ρ€Π°Π²Π½ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹ΠΌΠΈ. АссистСнт Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²ΠΎ всСх Ρ‚Ρ€Ρ‘Ρ… случаях Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠΏΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ своСго голосового ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ°.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π°Π½Π½ΠΎΠ³ΠΎ способа Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ смоТСтС ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Π½ΠΎΠ³ΠΎ Π±ΠΎΡ‚Π° для Ρ‡Π°Ρ‚ΠΎΠ² Π»ΠΈΠ±ΠΎ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ для вашСго голосового ассистСнта (Π½Π° случаи, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Π±ΡƒΠ΄Π΅Ρ‚ собСсСдник).

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠΉ возмоТности Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ:

А Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ main-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² Ρ†ΠΈΠΊΠ» Π½Π° Π²Π΅Ρ€ΡΠΈΡŽ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ:

Однако, Ρ‚Π°ΠΊΠΎΠΉ способ слоТнСС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ: ΠΎΠ½ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ постоянной ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π° ΠΈΠ»ΠΈ иная Ρ„Ρ€Π°Π·Π° всё Π΅Ρ‰Ρ‘ Π²Π΅Ρ€Π½ΠΎ опрСдСляСтся систСмой ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ намСрСния. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π°Π½Π½Ρ‹ΠΌ способом стоит ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ с Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒΡŽ (Π»ΠΈΠ±ΠΎ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с самой модСлью).

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

На этом ΠΌΠΎΠΉ нСбольшой Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π» ΠΏΠΎΠ΄ΠΎΡˆΡ‘Π» ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ.

МнС Π±ΡƒΠ΄Π΅Ρ‚ приятно, Ссли Π²Ρ‹ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ со ΠΌΠ½ΠΎΠΉ Π² коммСнтариях извСстными Π²Π°ΠΌ open-source Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π° Ρ‚Π°ΠΊΠΆΠ΅ вашими идСями ΠΊΠ°ΡΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ Π΅Ρ‰Ρ‘ online ΠΈ offline-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ исходники ΠΌΠΎΠ΅Π³ΠΎ голосового ассистСнта Π² Π΄Π²ΡƒΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ здСсь.

P.S: Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Windows, Linux ΠΈ MacOS с Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ различиями ΠΏΡ€ΠΈ установкС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ PyAudio ΠΈ Google.

ΠšΡΡ‚Π°Ρ‚ΠΈ, Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Ρƒ Π² IT, я Π±ΡƒΠ΄Ρƒ Ρ€Π°Π΄Π° Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π° своём YouTube-ΠΊΠ°Π½Π°Π»Π΅ IT DIVA. Π’Π°ΠΌ Π²Ρ‹ смоТСтС Π½Π°ΠΉΡ‚ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ ΠΎΡ„ΠΎΡ€ΠΌΠ»ΡΡ‚ΡŒ GitHub, ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ собСсСдования, ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅, ΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ с ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Π³ΠΎΡ€Π°Π½ΠΈΠ΅ΠΌ, ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΈ Ρ‚.Π΄.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *