Ini adalah penerjemah RiveScript untuk bahasa pemrograman Python. RiveScript adalah bahasa skrip untuk chatterbots, sehingga memudahkan penulisan pasangan pemicu/respons untuk membangun kecerdasan bot.
Secara historis, pustaka ini mendukung Python 2 dan Python 3 hingga Python 2 memasuki status akhir masa pakainya yang terjadi pada 1 Januari 2020.
Versi terakhir dengan dukungan Python 2 adalah v1.14.9 yang masih dapat Anda instal dari PyPI jika Anda perlu mendukung lingkungan Python2. Ke depannya, rilis RiveScript akan menargetkan rilis bahasa Python 3 yang modern dan didukung. Saat ini, ini berarti Python 3.6 dan yang lebih baru.
# Python2 versi RiveScript yang terakhir didukung adalah 1.14.9pip install rivescript==1.14.9
Dokumentasi modul tersedia di http://rivescript.readthedocs.org/
Lihat juga Wiki Komunitas RiveScript untuk pola desain umum dan tip & trik untuk RiveScript.
Modul ini tersedia di PyPI dan dapat diinstal melalui pip:
pip install rivescript
Untuk menginstal secara manual, unduh atau kloning repositori git dan jalankan python setup.py install
Ada contoh yang tersedia di direktori eg/ proyek ini di GitHub yang menunjukkan cara berinteraksi dengan bot RiveScript dalam berbagai cara--seperti melalui Twilio SMS API--dan cuplikan kode lainnya serta trik berguna.
Modul rivescript
dapat dijalankan sebagai skrip Python yang berdiri sendiri, atau disertakan dalam kode Python lainnya. Ketika dijalankan secara langsung, ini meluncurkan sesi obrolan interaktif:
python rivescript ./eg/brain
Jika menjalankan RiveScript sebagai skrip tidak nyaman (misalnya, ketika dipasang sebagai modul sistem), Anda dapat menggunakan skrip shell.py
sebagai alias:
python shell.py eg/brain
Jika digunakan sebagai perpustakaan, sinopsisnya adalah sebagai berikut:
dari rivescript import RiveScriptbot = RiveScript()bot.load_directory("./eg/brain")bot.sort_replies() while True:msg = raw_input('You> ')if msg == '/quit':quit()reply = bot.reply("pengguna lokal", pesan)cetak 'Bot>', balas
Skrip example.py
dan example3.py
memberikan contoh sederhana untuk menggunakan RiveScript sebagai perpustakaan untuk Python 2 dan 3.
RiveScript mendukung Unicode tetapi tidak diaktifkan secara default. Aktifkan dengan meneruskan nilai True
untuk opsi utf8
di konstruktor, atau dengan menggunakan argumen --utf8
ke mode interaktif mandiri.
Dalam mode UTF-8, sebagian besar karakter dalam pesan pengguna dibiarkan utuh, kecuali untuk metakarakter tertentu seperti garis miring terbalik dan karakter tanda baca umum seperti /[.,!?;:]/
.
Jika Anda ingin mengganti regexp tanda baca, Anda dapat memberikan yang baru dengan menetapkan atribut unicode_punctuation
dari objek bot setelah inisialisasi. Contoh:
impor rebot = RiveScript(utf8=True)bot.unicode_punctuation = re.compile(r'[.,!?;:]')
Terlepas dari apakah mode UTF-8 aktif, semua pesan masukan yang diberikan ke bot dikonversi (jika diperlukan) ke tipe data unicode
Python. Jadi, meskipun merupakan praktik yang baik untuk memastikan Anda memberikan string Unicode ke bot, perpustakaan akan membantu Anda jika Anda lupa.
Paket rivescript
, ketika dijalankan berdiri sendiri, mendukung "Mode JSON", tempat Anda berkomunikasi dengan bot menggunakan JSON. Ini berguna untuk program pihak ketiga yang ingin menggunakan RiveScript tetapi tidak memiliki penerjemah dalam bahasa aslinya.
Jalankan saja seperti: python rivescript --json /path/to/brain
Cetak struktur data berkode JSON ke dalam input standar. Formatnya akan terlihat seperti ini:
{ "nama pengguna": "pengguna lokal", "pesan": "Halo bot!", "vars": { "nama": "Aiden" } }
Setelah mengirimkan ini, Anda dapat mengirimkan sinyal EOF
dan bot akan merespons dengan respons JSON dan kemudian keluar. Atau, Anda dapat membiarkan sesi tetap terbuka, dengan mengirimkan string __END__
pada satu baris setelah masukan Anda. Bot akan melakukan hal yang sama saat merespons, sehingga Anda dapat menggunakan kembali pipa yang sama untuk beberapa interaksi.
Respons bot akan berformat seperti ini:
{ "status": "ok", "reply": "Halo, manusia!", "vars": { "name": "Aiden" } }
status
akan ok
jika berhasil, atau error
jika terjadi kesalahan. reply
adalah respons bot (atau pesan kesalahan saat terjadi kesalahan).
Nuh Petherbridge
Arash Saidi
Danilo Bargen
FujiMakoto
Hung Tu Dinh
Julien Syx
Pablo
Peixuan (Shawn) Ding
The MIT License (MIT) Copyright (c) 2020 Noah Petherbridge Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Situs web resmi RiveScript, http://www.rivescript.com/