TJBOT sebagai ilustrasi layanan IBM Watson

Halo, Habr! Pada musim semi tahun 2019, Think Developers Workshop berikutnya diadakan, di mana setiap orang dapat merakit robot kardus TJBota yang menjalankan Layanan IBM Watson. Di bawah pemotong adalah instruksi terperinci tentang cara dan cara merakit robot seperti itu, tautan berguna dan resep sederhana yang menunjukkan beberapa kemampuan kognitif layanan Watson, serta pengumuman kecil dua seminar bulan Juli tentang Layanan Watson di kantor IBM di Moskow.

gambar


Layanan IBM Watson adalah sistem kognitif yang dapat memproses bahasa alami, mengenali gambar, dan belajar. Untuk penggunaan yang mudah dari layanan ini di aplikasi apa pun, API ada.

TJBot adalah proyek sumber terbuka yang dirancang untuk membantu mengakses layanan Watson. Ini adalah robot yang dapat dibuat oleh setiap raspberry pi dan kecerdasan buatan siap pakai. TJBot dapat dihidupkan kembali dengan resep.

Resep adalah petunjuk langkah demi langkah untuk membantu Anda menghubungkan TJBot ke layanan Watson seperti Pidato ke Teks, Pengenalan Visual, dan Penerjemah Bahasa. Resep didasarkan pada Raspberry Pi.

Apa yang dibutuhkan untuk TJBota


  • Kartu Raspberry Pi 3 + OS SD
  • Mic USB
  • Speaker Bluetooth atau speaker dengan 3.5mm. jack audio
  • Drive servo
  • NeoPixel RGB LED (8mm)
  • Posting ibu ibu dan ayah ibu
  • Kamera pi raspberry
  • Catu daya
  • Kasing (dapat dicetak pada printer 3D atau potongan laser dari kardus. Tata letak yang diperlukan ada di sini )



Instruksi perakitan dapat ditemukan di sini .

Diagram koneksi dioda dan servo ke papan pada gambar di bawah ini.

gambar

Kasing ini dipasang "mengelilingi" papan, jadi Anda harus terlebih dahulu menulis OS ke kartu memori.

Cara termudah adalah menginstal NOBS , tetapi Linux lainnya cocok untuk kita. Sebelum memasang NOOBS, format kartu memori, unduh arsip dengan file instalasi, dan ekspor ke komputer Anda. Selanjutnya, Anda perlu mentransfer file dari folder NOOBS ke kartu memori. Pertama kali Anda memulai raspberry (dengan kartu memori yang dimasukkan sebelumnya), menu instalasi OS terbuka. Instruksi lengkap dapat ditemukan di sini .

Persiapan program


Hal pertama yang harus dilakukan adalah menginstal paket:

curl -sL http://ibm.biz/tjbot-bootstrap | sudo sh – 

Sekarang unduh resep yang sudah jadi dari github:

 git clone https://github.com/ibmtjbot/tjbot.git 

Pergi ke direktori dengan resep:

 cd tjbot / recipes / speech_to_text 

Folder ini berisi file konfigurasi config.js dan file dengan skrip executable stt.js.

Pasang npm:

 sudo apt-get install npm 

Hubungkan layanan Watson


Untuk menggunakan layanan Watson, Anda harus mengikuti langkah-langkah ini.

Kami lolos ke situs ini.

gambar

Daftarkan dan buka direktori. Dalam katalog kami mencari "speech to text". Ucapan ke teks adalah layanan yang digunakan untuk menerjemahkan ucapan ke dalam teks. Akses ke API dapat ditemukan di sini .

gambar

Teks ke ucapan dan Pengenalan Visual juga akan dibutuhkan saat kita bekerja dengan pengenalan gambar. Kami mengklik pada pidato ke teks, kami sampai ke halaman dengan deskripsi komponen ini dan rencana untuk digunakan.

gambar

Paket gratis sudah cukup bagi kami. Klik buat, lalu di menu di sebelah kiri, pergi ke Kredensial Layanan.

gambar

Dari sini, Anda perlu menyalin kredensial dan APIKEY dan menempelkannya ke file config.js.

 // Create the credentials object for export exports.credentials = {}; // Watson Speech to Text // https://www.ibm.com/watson/services/speech-to-text/ exports.credentials.speech_to_text = { "apikey": "...", "iam_apikey_description": "...", "iam_apikey_name": "...", "iam_role_crn": "...", "iam_serviceid_crn": "...", "url": "https://gateway-lon.watsonplatform.net/speech-to-text/api" }; 

Sekarang, jika kita ingin menambahkan layanan Watson lain, dalam file konfigurasi kita perlu menambahkan blok dengan apikey dan url untuk setiap layanan, yang dibungkus dengan konstruksi berikut:

 exports.credentials.[ text_to_speech/visual_recognition/speech_to_text ] = { … }; 

Kebangkitan TjBota


Pertimbangkan file dengan skrip bot yang dapat dieksekusi stt.js. Ini memiliki fungsi diskoParty () siap pakai untuk memeriksa operasi bot tanpa menggunakan layanan Watson. Fungsi ini membuat bot diode berkedip dalam berbagai warna.

 function discoParty() { for (i = 0; i < 30; i++) { setTimeout(function() { var randIdx = Math.floor(Math.random() * tjColors.length); var randColor = tjColors[randIdx]; tj.shine(randColor); }, i * 250); } } discoParty(); 

Dalam skrip yang sama ada fungsi yang memungkinkan Anda untuk mengganti warna dioda menggunakan ucapan pengembang.

Jalankan skrip:

 sudo node stt.js 

Beri tahu bot "nyalakan biru muda" untuk mengubah warna dioda menjadi biru, "nyalakan lampu" untuk menyalakan dioda, atau "matikan lampu" untuk mematikan. Warna yang didukung untuk pengakuan (sejauh ini hanya bahasa Inggris yang didukung): kuning, hijau, oranye, ungu, magenta, merah, biru, aqua dan putih.

TjBot memiliki banyak fungsi dasar. Misalnya, untuk memeriksa servo, Anda dapat menggunakan fungsi tj.wave (), yang membuat bot menyapa Anda dengan gelombang pegangan. Fungsi deskripsi singkat ini dapat ditemukan di sini .

Sekarang pertimbangkan skenario berikut, menggunakan pengenalan visual dan teks untuk berbicara.

Teks ke ucapan adalah layanan yang mengubah teks cetak menjadi ucapan menggunakan berbagai suara, kunci, dan bahasa. API-nya dapat ditemukan di tautan berikut. Layanan pengenalan visual memungkinkan Anda untuk menggambarkan apa yang ditampilkan dalam gambar. Ini mengenali wajah orang-orang dengan penentuan usia dan jenis kelamin, makanan, piring, benda, dan dapat mencari gambar yang serupa. API untuk layanan ini dapat ditemukan di sini . Dengan menggunakan layanan ini, kami akan mengajarkan bot untuk melihat dan berbicara. Berdasarkan gambar yang diterima dari kamera, layanan Watson (pengenalan visual) akan mengirimkan objek json dengan tag gambar sebagai jawaban, dan teks ke ucapan akan membantu menyuarakannya.

Pertama-tama, buat kredensial di cloud.ibm.com. Kami menyalinnya dan menempelkannya ke file konfigurasi config.js.

Selanjutnya, edit skrip yang dapat dieksekusi stt.js. Kami menemukan baris berikut di dalamnya:

 // these are the hardware capabilities that our TJ needs for this recipe var hardware = ['led', 'microphone']; 

Array perangkat keras berisi perangkat bot yang digunakan. Jika kita ingin menggunakan servo dalam skrip, kita perlu menandatangani "servo" ke dalam array, jika kita membutuhkan kamera, kita akan menambahkan "kamera" ke dalam array, untuk menggunakan kolom kita akan menulis "speaker".
Jadi, skrip kami akan menggunakan kolom dan kamera, masing-masing, kami tandatangani ke array perangkat keras.

 // these are the hardware capabilities that our TJ needs for this recipe var hardware = ['led', 'servo', 'camera', 'speaker', 'microphone']; // set up TJBot's configuration var tjConfig = { log: { level: 'verbose' }, speak: { language: 'en-US', // see TJBot.prototype.languages.speak voice: undefined, // use a specific voice; if undefined, a voice is chosen based on robot.gender and speak.language speakerDeviceId: "plughw:0,0" // plugged-in USB card 1, device 0; see aplay -l for a list of playback devices }, listen: { microphoneDeviceId: "plughw:1,0", // plugged-in USB card 1, device 0; see arecord -l for a list of recording devices inactivityTimeout: -1, // -1 to never timeout or break the connection. Set this to a value in seconds eg 120 to end connection after 120 seconds of silence language: 'en-US' // see TJBot.prototype.languages.listen }, }; 

Dari fungsi dasar tj-library, kita membutuhkan fungsi tj.see () dan tj.speak ().

Fungsi tj.see () membuat foto (objek disimpan dalam folder tmp), mengirimkannya ke cloud dengan layanan Watson, menganalisis gambar dan menghasilkan objek json yang terdiri dari tag - kata yang menggambarkan foto (Anda dapat memilih berbagai deskripsi dan tingkat kepercayaan) dan Persentase keandalan tag ini. Kami akan menampilkan konten tanggapan layanan ke konsol.

Fungsi tj.speak () dapat mengubah teks menggunakan layanan Watson menjadi file suara, dan kemudian memutarnya. Juga, jika dengan bantuan layanan Watson seseorang terdeteksi dalam foto, maka TJBot akan melambaikan pena.

 // instantiate our TJBot! var tj = new TJBot(hardware, tjConfig, credentials); tj.see().then(function(objects){ var tags = objects.map(function(object){ return object.class; }); if (tags.includes('person')){ tj.wave(); } console.log(tags); for(var i=0;i<tags.length;i++){ tj.speak(tags[i]); } }); 

Resep ini menunjukkan betapa mudahnya menggunakan layanan Watson di proyek Anda. Penjelasan singkat tentang layanan ini dan tautan ke mereka sudah ada di artikel ini. Coba semua layanan Watson secara gratis.

Juga, seminar akan diadakan di kantor IBM Moscow segera, di mana Anda akan dapat berkenalan dengan fitur layanan Watson lainnya.

Pada 9 Juli 2019, Unveil AI Blackbox dengan IBM Watson OpenScale Workshop akan diadakan pada produk cloud baru, Watson OpenScale. Pada acara ini, Anda akan dapat berkenalan dengan prinsip-prinsip jaringan saraf, mencoba membuat dan melatih jaringan saraf dan mengujinya menggunakan platform Watson AI OpenScale. Anda harus mendaftar terlebih dahulu untuk acara tersebut menggunakan tautan ini.

Pada 10 Juli 2019, seminar "Pengenalan Gambar dan Video di IBM Cloud" akan diadakan. Dalam seminar ini, Anda dapat mempelajari cara menggunakan Watson Studio untuk mengimplementasikan kecerdasan buatan dalam aplikasi Anda. Deskripsi acara terperinci dan tautan pendaftaran di sini .

Source: https://habr.com/ru/post/id458374/


All Articles