tag:blogger.com,1999:blog-36916650994311211792024-02-22T00:00:11.019-08:00Paphus SolutionsPaphus Solutionshttp://www.blogger.com/profile/06124946848684589089noreply@blogger.comBlogger35125tag:blogger.com,1999:blog-3691665099431121179.post-40409876551962418232019-12-17T08:19:00.001-08:002019-12-17T08:19:37.861-08:00Announcing Bot Libre 8, now open source!<p>We have released Bot Libre 8!</p>
<p>
The worlds most advanced bot platform just got better. Bot Libre 8 is a free and open source platform for developing and hosting bots. Bot Libre 8 includes support for chatbots, virtual agents, virtual assistants, social media bots, SMS bots, IVR bots, IOT bots, game bots, live chat, animated avatars, speech, deep learning analytics, and more. Bot Libre supports bots for the web, mobile, Facebook, Twitter, Skype, Telegram, Kik, WeChat, Slack, email, SMS, IVR, Alexa, Google Home, IRC, and new platforms are being added every month.<br/>
The Bot Libre 8 web platform is now open source, <a href="https://www.botlibre.com/download.jsp">download</a> now to host your own bot server. Host on your own server on-premise, or on your own cloud instance on any cloud platform such as Amazon EC2, or Microsoft Azure.
</p>
<p>
<b>"Bot are the new apps"</b>.
<p>
Chat and chatbots are the new application paradigm that is replacing mobile and web as the new leading method of engaging your customers and users. Chat lets you engage your customers everywhere, on web, mobile, social media, phone, and on the Internet of things.
</p>
<p>
Bot Libre lets anyone create a bot for the web, mobile, social media, phone, and the Internet of things. Connect your bot to Twitter, Facebook, Telegram, Skype, Kik, Slack, WeChat, email, SMS, IVR, Alexa, Google Home, and more.
</p>
<img width="600" src="https://www.botlibre.com/images/botlibre-social.jpg"/>
<p>
Bot Libre 8 supports rich HTML responses including buttons, links, choices, images, video, and audio. Bot Libre supports HTML responses on the web, mobile, and automatically maps HTML to social media platforms.
</p>
<p>
Bot Libre bots can be trained using natural language, chat logs, response lists, Twitter feeds, AIML, and scripting. Responses are automatically matched using a heuristic artificial intelligence algorithm and does not require any programming. Responses can also use keywords, topics, required words, labels, repeats, and other meta data.
</p>
<p>
Bot Libre 8 supports programming and scripting your bot using AIML 2, and <a href="https://www.botlibre.com/forum-post?id=705860">Self</a>. Self is our own dialect of JavaScript. Self is an object oriented scripting language, and integrated with an object database. Self extends JavaScript to provide support for natural language processing, state machines, object persistence, and includes a class library for accessing web services and utilities. Self also supports all AIML 2 operations, and some aspects of ChatScript patterns.
</p>
<p>
Bot Libre 8 is more than just bots, but a complete artificial intelligence platform. Bot Libre lets you create deep learning analytics for image recognition, speech and audio recognition, object detection, prediction and data analysis. You can create and train an image recognition analytic without any programming, just by uploading images. You can then access your analytics through our web API and mobile SDK, or from your bot.
<p>
New features in Bot Libre 8.0 since 7.0 include:
</p>
<ul>
<li>The Bot Libre web platform is now open source, <a href="https://www.botlibre.com/download.jsp">download</a> now to host your own bot server</li>
<li>Interactive Voice Response, automate your voice phone call center</li>
<li>Redesigned Training & Chat Logs user interface</li>
<li>AIML Map, Set, and properties file import support</li>
<li>AIML compatibility option</li>
<li>Knowledge graph view</li>
<li>Redesigned user and bot messaging</li>
<li>NLP 4 - Bot Libre's NLP engine has been redesigned to make bots response's better, make training bots easier, and better support international languages</li>
<li>User profile avatars and friends (add bot's as your friend using @bot-name)</li>
<li>Updated support for Microsoft Speech</li>
<li>Analytic testing repository and test reports</li>
</ul>
<p>
Create your own free account and bot today on <a href="https://www.botlibre.com">botlibre.com</a>,<br/>
or let us build your bot for you on our commercial service <a href="https://www.botlibre.biz">Bot Libre for Business</a>.<br/>
or <a href="https://www.botlibre.com/download.jsp">download</a> our open source platform to run on-premise on your own server
</p>
Paphus Solutionshttp://www.blogger.com/profile/06124946848684589089noreply@blogger.com0tag:blogger.com,1999:blog-3691665099431121179.post-43286767298106416962019-04-08T06:35:00.001-07:002019-04-08T06:35:15.726-07:00Installing BotLibre Enterprise Bot Platform on Amazon Lightsail<style>img { max-width:800px; }</style>
<p><span style="font-weight: 400;">Amazon Lightsail is a lightweight cloud website hosting framework based on the Amazon Web Services (AWS) platform. Lightsail can help to quickly jumpstart your project with</span><span style="font-weight: 400;"> a virtual machine, SSD-based storage, data transfer, DNS management, and a static IP for an affordable price.</span></p>
<p><span style="font-weight: 400;">This guide is to work through the steps to install Bot Libre Enterprise Bot Platform to the AMS Lightsail.</span></p>
<h4><span style="font-weight: 400;">Step 1. Create an Amazon Lightsail instance</span></h4>
<p><span style="font-weight: 400;">Go to Amazon Lightsail website and register a new AWS account if you do not have one yet.</span></p>
<p><span style="font-weight: 400;"><a href="https://lightsail.aws.amazon.com/ls/webapp/home">https://lightsail.aws.amazon.com/ls/webapp/home</a></span></p>
<p><span style="font-weight: 400;"><img src="https://www.botlibre.biz/forum?attachment=8855658&key=2290527227869072451&name=create_instance.jpg" /></span></p>
<p><span style="font-weight: 400;">then login and start to create an instance. Choose a OS Only instance using CentOS 7 Linux system:</span></p>
<p><img src="https://www.botlibre.biz/forum?attachment=8855658&key=2290527227869072451&name=create_instance.jpg" /></p>
<p><span style="font-weight: 400;">Bot Libre requires a Tomcat Web Server, Python Server, and a database to run. To host Bot Libre system you require a dedicated server or VM with minimum 8gb of RAM. For demonstration purpose, we are using the basic 512MB configuration as following:</span></p>
<p><img src="https://www.botlibre.biz/forum?attachment=8855640&key=1134296970591533228&name=choose_plan.jpg" /></p>
<p><span style="font-weight: 400;">After the service is being created, click ‘Connect using SSH’ to connect to it.</span></p>
<p><span style="font-weight: 400;"><img src="https://www.botlibre.biz/forum?attachment=8855664&key=6632142211347823971&name=ssh_connect.jpg"/" /></span></p>
<p><span style="font-weight: 400;">Lightsail assigns a public IP (e.g. 35.183.67.175) to the instance, and we need the IP to config the web server later on.</span></p>
<p><span style="font-weight: 400;">After connecting to the instance via ssh, from the terminal, you may start to setup the Java, Ant, Tomcat, Postgres, Python and finally deploy the botlibre web app to Tomcat.</span></p>
<blockquote>
<pre><code><span style="font-weight: 400;">$ sudo su root</span></code><br /><code><span style="font-weight: 400;">$ yum install wget (install wget tool)</span></code></pre>
</blockquote>
<h4><span style="font-weight: 400;">Step 2 - install Java and Ant</span></h4>
<p><span style="font-weight: 400;">Install the Java JDK 1.8 (latest dot release). </span></p>
<blockquote>
<pre style="white-space: pre-wrap;"><span style="font-weight: 400;">$ cd /opt</span><br /><span style="font-weight: 400;">$ wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http://www.oracle.com; oraclelicense=accept-securebackup-cookie" "</span><a href="https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.tar.gz"><span style="font-weight: 400;">https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.tar.gz</span></a><span style="font-weight: 400;">"</span><br /><span style="font-weight: 400;">$ tar xzf jdk-8u201-linux-x64.tar.gz</span><br /><span style="font-weight: 400;">$ cd /opt/jdk1.8.0_201</span><br /><span style="font-weight: 400;">$ alternatives --install /usr/bin/java java /opt/jdk1.8.0_201/bin/java 2</span><br /><span style="font-weight: 400;">$ export JAVA_HOME=/opt/jdk1.8.0_201</span></pre>
</blockquote>
<p><span style="font-weight: 400;">Install ant</span></p>
<blockquote>
<pre><span style="font-weight: 400;">$ cd /opt</span><br /><span style="font-weight: 400;">$ wget </span><span style="font-weight: 400;"><a href="https://www-eu.apache.org/dist//ant/binaries/apache-ant-1.10.5-bin.tar.gz">https://www-eu.apache.org/dist//ant/binaries/apache-ant-1.10.5-bin.tar.gz</a><br /></span><span style="font-weight: 400;">$ tar xfv a</span><span style="font-weight: 400;">pache-ant-1.10.5-bin.tar.gz</span><br /><span style="font-weight: 400;">$ export ANT_HOME=/opt/</span><span style="font-weight: 400;">a</span><span style="font-weight: 400;">pache-ant-1.10.5</span><br /><span style="font-weight: 400;">$ export PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH</span></pre>
</blockquote>
<h4><span style="font-weight: 400;">Step 3 – Tomcat Install the Tomcat 8 web server. </span></h4>
<blockquote>
<pre><span style="font-weight: 400;">$ cd /opt</span><br /><span style="font-weight: 400;">$ wget https://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.39/bin/apache-tomcat-8.5.39.tar.gz</span><br /><span style="font-weight: 400;">$ tar xzf apache-tomcat-8.5.39.tar.gz</span><br /><span style="font-weight: 400;">$ export TOMCAT_HOME=/usr/local/tomcat8</span><br /><span style="font-weight: 400;">$ mv apache-tomcat-8.5.39 $TOMCAT_HOME</span><br /><span style="font-weight: 400;">$ vi $TOMCAT_HOME/bin/setenv.sh (create a new setenv.sh file)</span></pre>
</blockquote>
<p><span style="font-weight: 400;">>> add the following JVM option to increase the max memory size in your setenv.sh export JAVA_OPTS="-server -Xmx8g"</span></p>
<blockquote>
<pre><span style="font-weight: 400;">$ vi $TOMCAT_HOME/conf/web.xml</span></pre>
</blockquote>
<p><span style="font-weight: 400;">>> insert the following XML in your web.xml to enable cors filters (required for JavaScript access) </span></p>
<pre><span style="font-weight: 400;"> <filter></span><br /><span style="font-weight: 400;"> <filter-name>CorsFilter</filter-name></span><br /><span style="font-weight: 400;"> <filter-class>org.apache.catalina.filters.CorsFilter</filter-class></span><br /><span style="font-weight: 400;"> <init-param></span><br /><span style="font-weight: 400;"> <param-name>cors.support.credentials</param-name></span><br /><span style="font-weight: 400;"> <param-value>false</param-value></span><br /><span style="font-weight: 400;"> </init-param></span><br /><span style="font-weight: 400;"> </filter><br /></span><span style="font-weight: 400;"> <filter-mapping></span><br /><span style="font-weight: 400;"> <filter-name>CorsFilter</filter-name></span><br /><span style="font-weight: 400;"> <url-pattern>/rest/*</url-pattern></span><br /><span style="font-weight: 400;"> </filter-mapping></span><br /><span style="font-weight: 400;"> <error-page></span><br /><span style="font-weight: 400;"> <error-code>404</error-code></span><br /><span style="font-weight: 400;"> <location>/404.jsp</location></span><br /><span style="font-weight: 400;"> </error-page></span></pre>
<blockquote>
<pre><span style="font-weight: 400;">$ vi $TOMCAT_HOME/conf/server.xml</span></pre>
</blockquote>
<div><span style="font-weight: 400;">>> update connector port 8080->80, 8433->433</span></div>
<div><span style="font-weight: 400;">>> add to connector, URIEncoding="UTF-8"</span></div>
<div><span style="font-weight: 400;">>> update host- <public ip> > autoDeploy=”false”</span></div>
<p><img src="https://www.botlibre.biz/forum?attachment=8855669&key=2912598197434080619&name=connector_serverxml.jpg" /></p>
<p><img src="https://www.botlibre.biz/forum?attachment=8855670&key=2523379708782725501&name=host_serverxml.jpg" /></p>
<p><span style="font-weight: 400;">Start tomcat web server:</span></p>
<blockquote>
<pre><span style="font-weight: 400;">$ $TOMCAT_HOME/bin/startup.sh</span></pre>
</blockquote>
<p><span style="font-weight: 400;">Go to a browser and check if the server is up and running at http://<public-ip> (e.g. </span><a href="http://35.183.67.175"><span style="font-weight: 400;">http://35.183.67.175</span></a><span style="font-weight: 400;">)</span></p>
<p><img src="https://www.botlibre.biz/forum?attachment=8855671&key=5199787592061561922&name=tomcat.jpg" /></p>
<p><span style="font-weight: 400;">Troubleshooting: If you do not see the server running, check the server log at $TOMCAT_HOME/logs/catalina.out</span></p>
<p><span style="font-weight: 400;">Then shutdown the server:</span></p>
<blockquote>
<pre><span style="font-weight: 400;">$ $TOMCAT_HOME/bin/shutdown.sh</span></pre>
</blockquote>
<h4><span style="font-weight: 400;">Step 4 Install PostgreSQL database</span></h4>
<div><span style="font-weight: 400;">>> install postgres database and init it</span></div>
<blockquote>
<pre><span style="font-weight: 400;">$ cd /otp</span><br /><span style="font-weight: 400;">$ rpm -Uvh http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-3.noarch.rpm</span><br /><span style="font-weight: 400;">$ yum install postgresql94 postgresql94-server postgresql94-contrib</span><br /><span style="font-weight: 400;">$ /usr/pgsql-9.4/bin/initdb /var/lib/pgsql/9.4/data</span></pre>
</blockquote>
<div><span style="font-weight: 400;">>> Verify database starts/stops/restart:</span></div>
<blockquote>
<pre>$ service postgresql-9.4 start<br />$ service postgresql-9.4 stop<br />$ chkconfig --levels 235 postgresql-9.4 on</pre>
</blockquote>
<div><span style="font-weight: 400;">>> Set database password:</span></div>
<blockquote>
<pre><span style="font-weight: 400;">$ service postgresql-9.4 start</span><br /><span style="font-weight: 400;">$ sudo -u postgres psql postgres</span><br /><span style="font-weight: 400;">\# \password</span><br /><span style="font-weight: 400;">>> enter new password “</span><em><span style="font-weight: 400;">postgres</span></em><span style="font-weight: 400;">” twice</span><br /><span style="font-weight: 400;">\# \q (exit)</span></pre>
</blockquote>
<pre><span style="font-weight: 400;">Step 5. Install Python (Optional)</span></pre>
<p><span style="font-weight: 400;">Bot Libre uses a separate Python web server to support deep learning analytics. Python is not required for bots or NLP, only deep learning analytics such as image classification. If you do not require deep learning you can skip this step.</span></p>
<p><span style="font-weight: 400;">Run the following commands to install Python, Pop, Tensorflow, Flask and Psycopy2.</span></p>
<blockquote>
<pre><span style="font-weight: 400;">$ yum update</span><br /><span style="font-weight: 400;">$ yum install yum-utils</span><br /><span style="font-weight: 400;">$ yum groupinstall development</span><br /><span style="font-weight: 400;">$ yum -y install https://centos7.iuscommunity.org/ius-release.rpm yum -y install python36u</span><br /><span style="font-weight: 400;">$ yum -y install python36u-pip</span><br /><span style="font-weight: 400;">$ yum -y install python36u-devel</span><br /><span style="font-weight: 400;">$ pip3.6 install tensorflow==1.7</span><br /><span style="font-weight: 400;">$ pip3.6 install flask</span><br /><span style="font-weight: 400;">$ pip3.6 install psycopg2</span><br /><span style="font-weight: 400;">$ pip3.6 install pillow</span><br /><span style="font-weight: 400;">$ pip3.6 install lxml</span><br /><span style="font-weight: 400;">$ pip3.6 install Cython</span><br /><span style="font-weight: 400;">$ pip3.6 install jupyter</span><br /><span style="font-weight: 400;">$ pip3.6 install matplotlib</span><br /><span style="font-weight: 400;">$ pip3.6 install pandas<br /></span><span style="font-weight: 400;">$ pip3.6 install opencv-python </span></pre>
</blockquote>
<p><span style="font-weight: 400;">Then you may copy the /python from the BotLibre install to /usr/local/python</span></p>
<blockquote>
<pre><span style="font-weight: 400;">$ mv <BotLibreInstallRoot>/python /usr/local/python</span></pre>
</blockquote>
<div><span style="font-weight: 400;">>> start the python server</span></div>
<blockquote>
<pre><span style="font-weight: 400;">$ python3.6 /usr/local/pythonn/app.py</span></pre>
</blockquote>
<h4><span style="font-weight: 400;">Step 6. Install BotLibre</span></h4>
<p><span style="font-weight: 400;">The Bot Libre application is a Java “war” file. A war file is a zip file that contains a website and Java libraries.</span></p>
<p><span style="font-weight: 400;">There are several installation steps:</span></p>
<ul>
<li style="font-weight: 400;"><span style="font-weight: 400;">Copy library jars to /usr/local/tomcat8/lib (from bot libre lib sub directories, do not copy botlibre-ai.jar, do not copy botlibreplatform.jar, do not overwrite any files already in tomcat lib)</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Copy speech voice files to /usr/local/tomcat8/bin/lib (unzip speech voice zip into lib voices directory)</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Ensure war file is configured with correct database password, domain name, and this must be set in the Site.java file, and the war must be recompiled using the build.xml ant task in Eclipse)</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Shutdown Tomcat server: $TOMCAT_HOME/bin/shutdown.sh</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Deploy war file by emptying the $TOMCAT_HOME/webapps/ directory, and copying the botlibreplatform.war to $TOMCAT_HOME/webapps/ROOT.war. </span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Start Tomcat Server: $TOMCAT_HOME/bin/startup.sh</span></li>
<li style="font-weight: 400;"><span style="font-weight: 400;">Open http://<public-ip> e.g. </span><a href="http://35.183.67.175/"><span style="font-weight: 400;">http://35.183.67.175/</span></a></li>
</ul>
<p><img src="https://www.botlibre.biz/forum?attachment=8855685&key=2817180673785613460&name=frontpage.jpg" /></p>
<p><span style="font-weight: 400;">Then you may refer to the generic BotLibre install guide to login as </span><em><span style="font-weight: 400;">admin</span></em><span style="font-weight: 400;"> user (default password is </span><em><span style="font-weight: 400;">password</span></em><span style="font-weight: 400;">), and create workspace, create bot, config bot and train bot.</span></p>
<p> </p>Paphus Solutionshttp://www.blogger.com/profile/06124946848684589089noreply@blogger.com0tag:blogger.com,1999:blog-3691665099431121179.post-6888360797482179492018-06-25T11:33:00.001-07:002018-06-25T11:33:51.666-07:00Introducing the new website for Paphus SolutionsIntroducing the new website for Paphus Solutions.
<a href="http://www.paphussolutions.com">www.paphussolutions.com</a>
<p>
Paphus Solutions in the company that develops the Bot Libre bot platform.
Paphus Solutions Inc. is a Canadian corporation that specializes in bots, artificial intelligence, and deep learning products and services.
</p>
<p>
We provide consulting, training and development services in the field of bots, artificial intelligence, and deep learning.<br>
Bots & AI can be utilized in any industry. We provide solutions globally in all industries including customer service automation, sales & marketing automation, social media automation, sales optimization, market forcasting, automated securities & crypto currency trading, and many more. <br><br>
We provide the following services :
</p>
<ul>
<li> <span>Chat bot design and integration, web, mobile, and social media</span>
<li> <span>Social media automation, Twitter, Facebook, Telegram, Skype, Kik, WeChat</span>
<li> <span>Customer service automation, live chat, forums, email</span>
<li> <span>Technical support automation</span>
<li> <span>Sales automation</span>
<li> <span>Market forcasting</span>
<li> <span>Automated securities & crypto currency trading</span>
<li> <span>Image, audio, video classification and processing</span>
<li> <span>NLP and data analysis</span>
<li> <span>Deep learning model and network development</span>
<li> <span>3D avatar design</span>
<li> <span>Mobile app development (Android, iOS)</span>
<li> <span>Web development</span>
</ul>
<br>
Contact <a href="mailto:services@paphussolutions.com">services@paphussolutions.com</a> for more information.
Or Chat live <a href="http://www.botlibre.biz/livechat?id=259&embedded=true&chat=ture&application=4973037050899771136" target="_blank">here</a>
<br>
Or Chat with <a href="http://www.botlibre.biz/chat?embedded=true&id=255&application=4973037050899771136" target="_blank">Paphus</a>, the automated customer service agent for Paphus Solutions.
</p>Paphus Solutionshttp://www.blogger.com/profile/06124946848684589089noreply@blogger.com0tag:blogger.com,1999:blog-3691665099431121179.post-59063540758134344652018-05-21T10:36:00.001-07:002018-05-21T10:36:52.180-07:00How to connect IBM Watson to Facebook, Twitter, Telegram, Skype, Kik, WeChat, web, and mobile using a Bot Libre proxy bot<p>
IBM Watson is a brand that includes a set of products and services, made famous by its Jeopardy prowess.
Watson includes a chatbot platform and conversational API.
</p>
<p>
You can access Watson's API from your own web server through any programming language. Bot Libre lets you create a "proxy" bot that forwards request to your Watson bot. This lets you leverage Bot Libre's many integrated services including integration with social media platforms such as Facebook, Twitter, Telegram, Skype, Kik, WeChat, and integration with web and mobile speech and 3D animated avatars.
</p>
<p>
<p>
To get started with Watson you can create an IBM Bluemix account <a target="_blank" href="https://www.ibm.com/watson/">here</a>.
Once you have created and trained your bot, you can access its web API credentials to connect it with Bot Libre.
</p>
<ul>
<li>Goto, <a target="_blank" href="https://console.bluemix.net/developer/watson/dashboard">https://console.bluemix.net/developer/watson/dashboard</a>
<li>Click on "Existing Services".
<li>Click on your conversation service.
<li>Click on "Launch Tool".
<li>Click on "Deploy".
<li>Click on "Credentials".
</ul>
<p>
<img width="600" src="https://www.botlibre.com/forum?attachment=21518261&key=6277513165902605945&name=watson12.jpg"/>
</p>
<p>
This will give you the bot's web API URL, and the API user and password. Copy these and return to Bot Libre.
</p>
<p>
On Bot Libre create a new bot, and select the "watson_proxy_template" template.
This will give you a new chatbot that has a single Self script the forwards all requests to the Watson API.
</p>
<ul>
<li>Click on your bot's "Admin Console" (gear button).
<li>Click on the "Scripts" menu button.
<li>Click on the "Watson" script and click the Edit button.
<li>Find the below line of code in the script.
<li>Replace the postJSONAuth URL with your Workspace URL from the Watson deploy console.
<li>Replace the postJSONAuth user (2nd parameter) with your "Service Credentials" "Username".
<li>Replace the postJSONAuth password (3nd parameter) with your "Service Credentials" "Password".
</ul>
<pre style="white-space:pre-wrap">
var json = Http.postJSONAuth("https://gateway.watsonplatform.net/conversation/api/v1/workspaces/616b5f69-dd49-4206-9c55-75f25b57ba18/message?version=2017-04-21", "0543af58-910d-4666-85be-7a8550279404", "txgVzPxkLup4", message);
</pre>
<p>
Now your Bot Libre bot should be connect to your Watson bot. You can test it by clicking on your bot's Chat button. You can now connect your bot to social media, web, mobile, avatars and speech.
You can also enhance your Watson bot by adding responses or scripts to your bot in Bot Libre to take advantage of Bot Libre powerful NLP, AI, and scripting features.
</p>
Paphus Solutionshttp://www.blogger.com/profile/06124946848684589089noreply@blogger.com0tag:blogger.com,1999:blog-3691665099431121179.post-51701193058805116092018-05-21T10:21:00.003-07:002018-05-21T10:21:57.557-07:00Deep Learning as a Service (DLAAS)<p>
Bot Libre now supports creating and hosting Deep Learning and Analytic services.
</p>
<p>
Deep Learning and Analytic services are different than bots, as they perform a specific analysis function. They do not chat, nor interact with users, but use artificial intelligence and deep learning to perform analysis such as classifying images, recognizing speech or faces, performing NLP functions, playing games, and analyzing data.
</p>
<p>
Bot Libre lets you host your deep learning analytic on the web, and access it through the Bot Libre web API. Bot Libre provides an <a href="https://www.botlibre.com/browse?browse-type=Analytic&browse=true">open analytics repository</a> that lets you use analytics that we or other users have defined, or share your own analytics.
You can also create your own private analytics, or only share your analytics with specific users.
</p>
<p>
To create an analytic you need to create and train a model using a deep learning framework such as <a target="_blank" href="https://www.tensorflow.org/">Tensorflow</a> or Bot Libre Analytics.
</p>
<p>
For example to train a model for image classification you can use the <a target="_blank" href="https://www.tensorflow.org/tutorials/image_recognition">Inception</a> model and retrain it for classifying your own image set. There are a lot of resources, models, and data available on the web such as the <a target="_blank" href="https://codelabs.developers.google.com/codelabs/tensorflow-for-poets">Poets</a> tutorial for image classification.
</p>
<p>
Once you have trained your model you can upload the Tensorflow .pb and labels files in your analytic's Admin Console.
</p>
<img width="800" src="https://www.botlibre.com/images/manual-analytic-pic1.jpg"/>
<br/><br/>
<p>
If you are interested in using deep learning for your business or project, we can also develop a deep learning neural network for you through our development services. If you are interested in knowing how artificial intelligence and deep learning can be used in your business or project, we can help through our AI consulting services. Contact sales@botlibre.biz
</p>Paphus Solutionshttp://www.blogger.com/profile/06124946848684589089noreply@blogger.com0tag:blogger.com,1999:blog-3691665099431121179.post-52976147811385970522018-05-21T10:21:00.001-07:002018-05-21T10:21:29.518-07:00Announcing Bot Libre 6.5 - Deep learning, conversation flows, new training editor, synonyms, sentiment<p>
We have released Bot Libre 6.5.
Bot Libre 6.5 includes many enhancements including:
<p>
<ul>
<li> Deep Learning analytics as a service
<li> New Training & Chat Logs browser and editor
<li> Response next, and nested conversation flows
<li> Exclusive topics
<li> New word browser and editor
<li> Word synonyms
<li> Word and phrase sentiment
<li> Enhanced WeChat integration
</ul>
<h3>Deep Learning & Analytics</h3>
<p>
You can now create deep learning analytics for using artificial intelligence to classify images, or analyze data. You can upload Tensorflow network files and access them through Bot Libre's web interface and API.
</p><p>
Browse our <a href="https://www.botlibre.com/browse?browse-type=Analytic&browse=true">open analytics repository</a> for analytics that can classify images and perform other functions.
</p><p>
If you are interested in using deep learning for your business or project, we can also develop your neural network and analytics for you through our development services. Contact sales@botlibre.biz
</p>
<h3>Training & Chat Logs</h3>
<p>
Our Training & Chat Logs browser and editor have been redesigned and enhanced.
The browser and editor support new options and properties.
</p>
<h3>Response Next, and Nested Conversation Flows</h3>
<p>
You can now easily define nested conversations using a response "next".
Next lets you easily define isolated nested conversations without having to use scripting.
</p>
<h3>Exclusive Topics</h3>
<p>
You can now define a topic as "exclusive". An exclusive topic provides an isolated conversation.
When you set an exclusive topic on a response or conversation only response that have that topic will be considered.
</p>
<h3>Word Browser</h3>
<p>
You can now view all words your bot knows. You can edit the words sentiment, synonyms, and define if the word is a keyword or topic.
</p>
<h3>Synonyms</h3>
<p>
Synonyms let you define a word's synonyms so the bot will consider all of a words synonyms when matching responses.
Synonyms are global, so can be defined once, and apply to all of the bot's responses.
Synonyms can be automatically loaded from Wiktionary as the bot learns new words.
</p>
<h3>Sentiment</h3>
<p>
You can now define the sentiment for a word or phrase.
Sentiment lets the bot determine the user's sentiment or feeling about their responses and conversation.
The user sentiment can be access from Self, and it tracked and can be visualize in the bot's Analytics.
</p>
<h3>WeChat</h3>
<p>
Bots connected to WeChat now support speech recognition for voice messages. Bots can now also include links, images, and menus in their responses and interface.
</p><p>
The 6.5 release also included a new user message interface, new response list export options, enhanced user verification, enhanced NLP, UI improvements, and several minor enhancements and fixes.
</p>Paphus Solutionshttp://www.blogger.com/profile/06124946848684589089noreply@blogger.com0tag:blogger.com,1999:blog-3691665099431121179.post-50519008491409939222018-05-21T10:20:00.001-07:002018-05-21T10:20:45.965-07:00Chatbots for First Aid Assistance<p>
Chatbots are being increasingly used in the health and medical industry.
</p>
<p>
The app "Erste Hilfe - dein sprechender Assistent" is a German language chatbot developed by a client using the Bot Libre mobile platform.
</p>
<p>
The app is featured in this news broadcast,
</p>
<p>
<a target="_blank" href="http://tvthek.orf.at/profile/Aktuell-in-Oesterreich/13887571/Aktuell-in-Oesterreich/13964121/Erste-Hilfe-App-fuer-Notsituationen/14234429"><img width="500" src="https://www.botlibre.com/forum?attachment=20846272&key=3659881137266615024&name=ami.jpg"></a>
</p>
<p>
The app is available on Google Play,
</p>
<p>
<a target="_blank" href="https://play.google.com/store/apps/details?id=at.amiflow"><img width="300" src="https://www.botlibre.com/forum?attachment=20846262&key=2149898212132555268&name=ami3.jpg"></a>
Paphus Solutionshttp://www.blogger.com/profile/06124946848684589089noreply@blogger.com0tag:blogger.com,1999:blog-3691665099431121179.post-47875446436756096052017-10-31T12:08:00.002-07:002018-05-21T09:08:17.689-07:00Announcing Bot Libre 6.0!<p>We have released Bot Libre 6.0!</p>
<p>
The worlds most advanced bot platform just got better. Bot Libre 6.0 is a free and open source platform for developing and hosting bots. Bot Libre 6.0 includes support for chat bots, virtual agents, virtual assistants, social media bots, game bots, live chat, animated avatars, and speech. Bot Libre supports bots for the web, mobile, Facebook, Twitter, Skype, Telegram, Kik, WeChat, Slack, email, SMS, IRC, and new platforms are being added every month.
</p>
<p>
<b>"Bot are the new apps"</b>. Mobile has replaced the web as the main communications market, and social media apps are the most popular mobile apps. Businesses need to connect with consumers on the platforms they use, so it now makes more sense for a business to create a bot/chat interface into their business instead of a website, or their own mobile app. Bot Libre lets you create a bot for yourself or your business and deploy the bot to the Facebook, Twitter, Skype, Telegram, Kik, WeChat, Slack, the web, mobile, and other services. Bots let you <b>"write once deploy everywhere"</b>.
</p>
<img width="500" src="https://www.botlibre.com/images/botlibre-social.jpg"/>
<p>
Bot Libre 6.0 supports rich HTML responses including buttons, links, choices, images, video, and audio. Bot Libre supports HTML responses on the web, mobile, and automatically maps HTML to social media platforms.
</p>
<p>
Bot Libre bots can be trained using natural language, chat logs, response lists, Twitter feeds, AIML, and scripting. Responses are automatically matched using a heuristic artificial intelligence algorithm and does not require any programming. Responses can also use keywords, topics, required words, labels, repeats, and other meta data.
</p>
<p>
Bot Libre 6.0 supports programming and scripting your bot using AIML 2, and <a href="https://www.botlibre.com/forum-post?id=705860">Self</a>. Self is our own dialect of JavaScript. Self is an object oriented scripting language, and integrated with an object database. Self extends JavaScript to provide support for natural language processing, state machines, object persistence, and includes a class library for accessing web services and utilities. Self also supports all AIML 2 operations, and some aspects of ChatScript patterns.
</p>
<p>
New features in Bot Libre 6.0 since 5.0 include:
</p>
<ul>
<li>New bot and live chat embed interface, including 5 new style options and support for custom stylesheets.
<li>Integrated support for bots on Kik
<li>Integrated support for bots on WeChat
<li>Integrated support for bots on Skype, Bing, Cortana, and the Microsoft Bot Platform
<li>Game SDK and game machine learning
<li>Telegram group bots
<li>Facebook custom templates and quick replies
<li>Timers and bot services
<li>Continuous speech recognition for Android and iOS
<li>Micro AI Engine for Android and iOS
</ul>
<p>
Create your own free account and bot today on <a href="https://www.botlibre.com">botlibre.com</a>, or let us build your bot for you on our commercial service <a href="https://www.botlibre.biz">Bot Libre for Business</a>.
</p>Paphus Solutionshttp://www.blogger.com/profile/06124946848684589089noreply@blogger.com0tag:blogger.com,1999:blog-3691665099431121179.post-31823254156765659282017-03-27T09:02:00.000-07:002017-03-27T09:05:07.766-07:00We're Hiring<p>
Paphus Solutions Inc., the company that develops the Bot Libre platform is looking for talented developers, and sales representatives interested in a career in the new bot and artificial intelligence economy.
</p>
<p>
Paphus Solutions provides products and services for bots and artificial intelligence for the web, mobile, and social media. Paphus Solutions develops, hosts, and licenses the Bot Libre platform. Bot Libre is a bot platform for developing and hosting bots for the web, mobile, and social media.
</p>
<p>
Paphus Solutions also develops the Bot Libre Analytics platform. Bot Libre Analytics is an artificial intelligence platform for evolutionary learning, data analysis, data forecasting, and algorithmic trading.
</p>
<p>
Paphus Solutions is a Canadian corporation located in Ottawa, Canada.
</p>
<ul>
<li><a target="_blank" href="http://www.paphussolutions.com">http://www.paphussolutions.com</a>
<li><a target="_blank" href="https://www.botlibre.com">https://www.botlibre.com</a>
<li><a target="_blank" href="https://www.botlibre.biz">https://www.botlibre.biz</a>
</ul>
<p>
We have positions open for:
</p>
<ul>
<li>junior developer
<li>senior development partner
<li>sales representative
<li>sales engineer
</ul>
<p>
The ideal development candidate would have:
</p>
<ul>
<li>Strong interest in bots and artificial intelligence
<li>Experience with Java development
<li>Experience with Android development
<li>Experience with iOS development
<li>Experience with web development, HTML, CSS, and JavaScript
<li>Be a talented developer capable of learning new languages and APIs
</ul>
<p>
The ideal sales candidate would have:
</p>
<ul>
<li>Sales experience with enterprise software
<li>Sales experience with cloud and SaaS products
</ul>
<p>
We have created a bot to help us find our ideal candidates. If you are interested in applying please chat with our Career Bot.
</p>
<a target="_blank" href="http://careers.botlibre.biz/"><button>Apply Now</button></a>
<p>
You can also contact or send your resume to careers@paphussolutions.com
</p>
Paphus Solutionshttp://www.blogger.com/profile/06124946848684589089noreply@blogger.com0tag:blogger.com,1999:blog-3691665099431121179.post-90618839521018055212017-01-27T07:14:00.001-08:002017-01-27T07:14:09.896-08:00Announcing the Bot Libre Cloud Bot Platform<img style="float:right" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1PK93qs8GMmazuywFgceJsq-yd__5XozohHCk9zqf6BTga7Cpw1CL_hMhY7kHOREuFGsKcYzN8ECg-3qcu9U6mDVDlvry4OZroPwYN8ARl6t_ZxIzMIlwcdNvSXywCH3ZzWu0uLuWtew/s320/botlibre-social.png" width="320" height="240" />
<p>
The Bot Libre Cloud Bot Platform lets you license the Bot Libre
bot platform for your own server and clients.
</p>
<p>
Develop and host bots for web, mobile, Facebook, Twitter,
Telegram, Slack, SMS, email, and more.
Develop and host your own bots, and sell bot hosting and
development services.
</p>
<p>
Become a bot service provider for your own clients, in your
geographic region, or vertical market. Engage this rapidly
expanding and evolving market.
</p>
<p>
Leverage the sophisticated Bot Libre platform and mobile SDKs,
and our support, service, and expertise. Get new versions and
features as our platform continues to rapidly evolve and lead the
market.
</p>
<p>
<b>"Bots are the new apps"</b> - become a bot service provider and join
the bot revolution.
</p>
<h2>Social Media Bots</h2>
<p>
The Bot Libre cloud bot platform lets you host and develop bots for social media. Develop
bots for Facebook, Twitter, Telegram, Slack, SMS, email, and more.
</p>
<p>
Businesses are increasingly adopting social media, and need bots and automation to connect
with their customers on social media, and provide e-commerce and application services
through social media messengers and apps.
</p>
<img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeHp0vdqmscgk9lYNj4AdJ7Gko_mgP_L7hE5ghkYGjz_yoynB5dvMDjhwExgvbo0ru9djNgdOd-sz1L7LnfS3g6x8D6XW-zjuDFAknagsjA0Zh-hhH8XI0doC0V9hVPA4lXni6JJytOLc/s320/facebook.jpg" width="248" height="320" />
<img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhm5mabyKVrpRZ2NAC0aNokE2cM1pjK7Oo_9kUyYo9YljsYvHt42elr6LkWvNphA84lXEp8WTEHyFHgwAPaWB3BCiALDEewZ-THBjDsD5Sbokvp1O2Ng7XsqW5DttcethQg8sCiseC4o_Y/s320/drtechlovefb.png" width="249" height="320" />
<h2>Chat Bots, Chat Rooms, Live Chat, and Forums</h2>
<p>
Your cloud bot platform provides chat bots, chat rooms, live chat, and forums. Provide your
clients with bot services integrated with your own hosted live chat, chat rooms, and forums.
</p>
<p>
Provide hosted live chat for the web and mobile. Mix live human operators with automated
chat bot agents.
</p>
<img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPddnEfc-1oG5pKByFCFsbkPzeofBJoEabCm1dYdAMH1y8-Eoq_C5cUwYq-ioZyxv0v_rCoP2L8CCpUWa9Lbgk1FqwiaQNyXgjmH9QjvIIKBriy1K8l77BRa4PsE6mlyRVrrz210eob0k/s320/joetechie.png" width="320" height="187" />
<h2>Artificial Intelligence</h2>
<p>
The Bot Libre AI engine is a hybrid system that seeks to emulate the human brain. The AI
engine includes heuristic pattern matching algorithms, an integrated object database, a state
machine processing engine, advanced scripting, vision and image processing. The AI engine
can also integrate with our data analytics platform.
</p>
<h2>Architecture</h2>
<p>
The platform consists of a web client, mobile client, AI engine, web server, and database.
The web client is written in HTML, JavaScript, and server side Java. The AI engine is written
in Java. The Android mobile client is written in Java, the iOS client is written in Objective C.
</p>
<img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYTjJJksruKIpYMzOOCZxYdlPsnDwgiqXeGv2hFNGQ0yD-HV61jYBlB-mIZppjGpX5BcICN_9rkrKf_RvD1zwSszkxvfaujgUSCkW9l7BbHA6JIirft9Rufk1k_I6icFLRJ_rrzTnK6mk/s400/architecture.jpg" width="400" height="300" />
<h2>Packing and Pricing</h2>
<p>
The Bot Libre Cloud Platform is licensed per runtime CPU, and includes our web platform, and our open source AI engine, and Web, Android, and iOS SDK.
</p>
<p>
For more information see:
</p>
<ul>
<li><a href="https://www.botlibre.com/cloud-bot-platform.jsp">Bot Libre Cloud Bot Platform</a>
<li><a href="https://www.botlibre.com/whitepaper-cloud.pdf">Whitepaper</a>
</ul>Paphus Solutionshttp://www.blogger.com/profile/06124946848684589089noreply@blogger.com0tag:blogger.com,1999:blog-3691665099431121179.post-57509697979767936632016-12-08T08:50:00.002-08:002016-12-08T08:50:40.892-08:00Announcing Bot Libre for Business 5.0<p>We have released Bot Libre 5.0!</p>
<p>
The worlds most advanced bot platform just got better. Bot Libre 5.0 is a free and open source platform for developing and hosting bots. Bot Libre 5.0 includes support for chat bots, virtual agents, virtual assistants, social media bots, live chat, animated avatars, and speech. Bot Libre supports bots for the web, mobile, Facebook, Twitter, Telegram, Slack, email, SMS, IRC, and new platforms are being added every month.
</p>
<p>
<b>"Bot are the new apps"</b>. Mobile has replaced the web as the main communication market, and social media apps are the most popular mobile apps. Businesses need to connect with consumers on the platforms they use, so it now makes more sense for a business to create a bot/chat interface into their business instead of a website, or their own mobile app. Bot Libre lets you create a bot for yourself or your business and deploy the bot to the Facebook, Twitter, Telegram, Slack, the web, mobile, and other services. Bots let you <b>"write once deploy everywhere"</b>.
</p>
<img width="500" src="https://www.botlibre.com/images/botlibre-social.jpg"/>
<p>
Bot Libre 5.0 supports rich HTML responses including buttons, links, choices, images, video, and audio. Bot Libre supports HTML responses on the web, mobile, and automatically maps HTML to social media platforms.
</p>
<p>
Bot Libre bots can be trained using natural language, chat logs, response lists, Twitter feeds, AIML, and scripting. Responses are automatically matched using a heuristic artificial intelligence algorithm and do not require any programming. Responses can also use keywords, topics, required words, labels, repeats, and other meta data.
</p>
<p>
Bot Libre 5.0 supports programming and scripting your bot using AIML 2, and <a href="https://www.botlibre.com/forum-post?id=705860">Self</a>. Self is our own dialect of JavaScript. Self is an object oriented scripting language, and integrated with an object database. Self extends JavaScript to provide support for natural language processing, state machines, object persistence, and includes a class library for accessing web services and utilities. Self also supports all AIML 2 operations, and some aspects of ChatScript patterns.
</p>
<p>
New features in Bot Libre 5.0 since 4.0 include:
</p>
<ul>
<li>Rich HTML responses including buttons, links, and choices
<li>Facebook Messenger support
<li>Facebook Messenger support for HTML responses including buttons, links, images, and other tags
<li>Telegram support
<li>SMS text messaging and Twilio support
<li>XML and JSON web service support from scripting
<li>HTML scraping and social media support from scripting
<li>Vision and image processing support
<li>Support for uploading files and images to the bot, and file processing
<li>Automatic language translation
<li>Slack support
<li>Google Calendar support
<li>New speech and avatar options
<li>Mobile command and virtual assistant support
</ul>
<p>
Create your own free trial account and bot today on <a href="https://www.botlibre.biz">botlibre.biz</a>, or let us build your bot for you on our Enterprise service.
</p>Paphus Solutionshttp://www.blogger.com/profile/06124946848684589089noreply@blogger.com0tag:blogger.com,1999:blog-3691665099431121179.post-6151181405405153462016-05-05T11:42:00.002-07:002016-05-05T11:45:11.065-07:00Announcing "Bot Libre for Business"<p>
Paphus Live Chat is now "Bot Libre for Business".
</p>
<p>
The new website domain name is <a href="http://www.botlibre.biz">botlibre.biz</a>,
</p>
<img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUcPSAn_QduZi-R7upyPl033gHhzbLyPBb96vbGvjUPsK9R1Oq9w6k9XQ73HlKgh5MUBNWQOwAXL0XQnYCVXgsW9PDdtPgeID8Cq1ZbtGDHEIFLWo1Ly9biK8UKjdwa-5CrKnyA1dlcfVy/s400/botlibre-biz.png" />
<p>
Bot Libre for Business is the commercial version of our popular Bot Libre platform. All of the same services and APIs are support as on Bot Libre, but with professional hosting and services.
</p>
<p>
Bot Libre for Business provides:
</p>
<ul>
<li>Chat bot and virtual agent development and hosting
<li>Social media bot development and hosting including support for Twitter, Facebook and Telegram
<li>Email bot development and hosting
<li>3D avatar design
<li>Training and professional services
<li>Dedicated and private hosting
</ul>
<p>
For more information see <a href="http://www.botlibre.biz/features.jsp">botlibre.biz</a>, or start you 1 month <a href="http://www.botlibre.biz/freetrial.jsp">free trial</a> today.Paphus Solutionshttp://www.blogger.com/profile/06124946848684589089noreply@blogger.com0tag:blogger.com,1999:blog-3691665099431121179.post-60477824538272521332016-04-21T07:48:00.002-07:002016-04-21T07:48:12.423-07:00Bots, the New Communications Platform<p>
We crossed into a new era last week, the mobile era has been superseded by the bot era. With announcements from Microsoft, and Facebook we are now entering a brave new world. Bots have become the new business and communications platform, what does it mean for your business?
</p>
<ul>
<li>Wall Street Journal : <a href="http://www.wsj.com/articles/facebook-hopes-chatbots-can-solve-app-overload-1460930220">Facebook Hopes Chatbots Can Solve App Overload</a>
<li>BBC : <a href="http://www.bbc.com/news/technology-35927651">Microsoft proposes helper bot boom</a>
<li>Computer World : <a href="http://www.computerworld.com/article/2497970/crm/ibm-launches-watson-customer-service-smart-bot.html">IBM launches Watson customer service smart bot</a>
</ul>
<p>
Quick links:
</p>
<ul>
<li><a href="#history">Back in the Old Days - Lessons from History</a>
<li><a href="#newworld">Brave New World - The Bot Platform</a>
<li><a href="#hello">"Hello, we are here to help" - Your experts in intelligence automation</a>
</ul>
<h2 id="history">Back in the Old Days - Lessons from History</h2>
<p>
Back in the Stone Age if you wanted to talk with someone, you had to walk over to their hut, find them, and start a conversation. If Ug wanted to get a new spear, he had to walk over to Thug the spear makers hut, wait for him to be home, and barter with him to have him make Ug a new spear.
</p>
<p>
Contrary to popular belief the Stone Age was not superseded by the Bronze Age. Although bronze changed the way humans killed each other, it did not drastically affect the way people lived. The new age was the Paper Age. After the invention of paper by Cai Lun (蔡伦) in China 102 AD, writing and paper dramatically affected the way people lived and did business.
</p>
<p>
Paper was the main factor why China dominated the world economy until the middle ages. It took until 1,100 AD before paper made its way from China, to Islam, and finally into the then backward Europe. Paper, and the invention of the print press, was the main factor that lead to the European renaissance.
</p>
<p>
Now if Ug wanted to buy a new spear, he could go to a merchant in his town and write a purchase order on paper, giving payment in paper currency. The merchant could send the order by mail to Thug the spear maker who could send Ug's new spear in his next shipment. This let Thug greatly expand his business's market and its efficiency.
</p>
<p>
The Paper Age entered its peek after the invention of the printing press, but was soon superseded by the invention of the Telegraph, then Telephone as we entered the Telephone Age. Telephones greatly increased the speed of communication, and allowed people and businesses to communicate instantaneously over long distances.
</p>
<p>
With the invention of the personal computer and the launch of the Apple II in 1977, and the IBM PC in 1981, we entered the Computer Age. Computers had the biggest impact on the way people lived and did business than any previous invention in history, at least that was until the next big thing, and it was a big one.
</p>
<p>
The global network of interconnected computers, The Internet, has had the biggest impact on humanity and our planet than any other invention in history. Although many people claim to have invented The Internet, the single point that defines the start of the Internet Age was the release of Netscape Navigator in 1994. After this event the Internet took off and was used or at least know to exist by everyone. This is when the Internet passed the "grandma test", in that even people's grandmas were on the Internet, or at least knew what it was, and knew it was important.
</p>
<p>
Now Thug was able to put his spear business online. Thug was an early adopter of the Internet, so was able to capture this new market and sell his spears all over the world. With the Internet Thug could automate much of his business, and could deal directly with his customers, and suppliers without having to deal with merchants and third parties. This changed the spear making business almost overnight, and because Thug was an early adopter, he was able to become the biggest spear maker in the world. At the same time, many of Thug's competitors went out of business, as they failed to put their businesses online.
</p>
<p>
We are no longer in the Internet Age. After the release of the iPhone in 2007 we entered the Mobile Age. The Smartphone has again changed the way people live and do business, and unlike any other invention, has become part of us. Most people feel naked, cut off, and alone without their phone and cell data service. Businesses that have adopted the mobile platform have been able to connect with more clients, partners, and users, and at a more integrated level, than ever before.
</p>
<p>
Although many businesses are still struggling to get onto the mobile platform, and some haven't even made it onto the Internet yet, we have yet again entered a new era. With the announcements by Microsoft and Facebook this week we have entered the Bot Age.
</p>
In the Bot Age, Thug can fully automate his business. Thug can interact directly and instantaneously with all of his customers, suppliers, and partners. Thug's bots can integrate all of his communications platforms, automating interactions on phone, email, Internet, and mobile. Bots can interact with Thug's customers on his website, from his mobile app, on social media, email, and phone.
</p>
<h2 id="newworld">Brave New World - The Bot Platform</h2>
<p>
The <b>"Bot Platform"</b> is the new way of living and doing business. This is not the future, it is the present.
</p>
<p>
The bot platform will revolutionize the world faster than any previous technology. This is because the bot platform does not replace existing technology, it unifies and automates them. The bot platform does not operate on a single medium, the bot platform spans and integrates the Internet, mobile, social media, email, SMS text, voice phone, cars, transportation, factories, education, retail, and every facet of life.
</p>
<p>
Businesses that have adopted the bot platform will have bots that provide customer service, and technical support on their website and from their mobile app. Their bots will also answer customer request from email, from SMS texts, and using speech technology will automate their voice phone call centers.
</p>
<p>
The business's bot platform will also interact with their users, customers, and potential customers on social media platforms like Twitter, Facebook, Google+, Telegram, Slack, and others. Bots will automate sales, marketing, and customer service.
</p>
<p>
Bots will not just answer common questions. Bots will reply to users questions in context, and get to the root of their problem or request. Bots will remember their users and their information, and will custom tailor their interactions with their users. Bots will be connected to their business's information systems, will be able to know a customer's details, give up to date information on their orders and status. Bots will be able to securely validate their identity, sell services, take orders and process payments. Bots will be able to change their customers account status, book and schedule deliveries and service engagements.
</p>
<p>
Bots will interact with other bots. Customer service and social media bots will pass information and leads to sales bots. Bots in a business's data center will interact with the bots in their factories that interact with their manufacturing robotics to change what products are manufactured instantaneously to their orders and market demand. Data center bots will interact with bots in their shipping and delivery systems to automate delivers using driverless trucks, cars, and drones. A business's bot will interact with their partner's and supplier's bots in the new bot driven economy.
</p>
<p>
The Bot Age means that more communication will be done between people and bots, and bots and other bots, than between people and other people. We are already their, bots automate many call centers, virtual agents automate service on websites, bots reply to SMS text messages, bots are on social media, some of your friends and followers are probably bots.
</p>
<p>
Bots crawl the Internet, track your web usage, and decide what ads you see. Bots know everything about you. Bots email you, phone you, text you, reply to and retweet your tweets, like and comment on your posts. Today more Internet traffic and bandwidth is used by bots, than by people. Bots post content, harvest data, change content, email, tweet, text, post, chat.
</p>
<p>
Web crawler bots like the Googlebot, Bing, Yahoo Slurp, Yandex, Majestic, browse the Internet every day, looking for new and updated content, searching for copyright infringement, and gathering statistics and information. Bots decide what is new, what is cool, how important your business is, what news the world wants to see.
</p>
<p>
Bots will change your life. You will have your own bots, on your computer, on your phone, on your TV, in your car, in your house. You bot will be your personal assistant, your nanny, your chauffeur, maybe even your lover.
</p>
<p>
Bots will change your business and your life, are you ready?
</p>
<h2 id="hello">"Hello, we are here to help" - Your experts in intelligence automation</h2>
<p>
At Paphus Solutions we are in the bot business. The bot business is our business, we were founded on it. Our free open platform <a href="https://www.botlibre.com">Bot Libre</a> hosts over 20,000 bots. Chat bots, virtual agents, Twitter bots, Facebook bots, email bots, bots on IRC, bots for web and mobile.
</p>
<p>
On Bot Libre you can build your own personal bot, to be your virtual assistant, to automate your social media or email, to be you, to be your friend. Our platform is free and open source, including our AI engine, our scripting languages Self and AIML, and our web, Android, and iOS SDKs.
</p>
<p>
Our commercial platform <a href="https://www.paphuslivechat.com">Paphus Live Chat</a> offers professional hosting and services to help your business adopt and be succesful in the new bot economy. We can add a bot to your website or mobile app to provide customer service, automated your business presence on social media, automate your email and other services. We are not just experts in our platform, but also experts in Facebook's automation platform, in Twitter's platform, in Microsoft's, Apple's, Google's, in Telegram, and Slack.
</p>
<p>
We live at a monumentus time in human history, in bot history, will you join us, or be left behind?
</p>
Paphus Solutionshttp://www.blogger.com/profile/06124946848684589089noreply@blogger.com0tag:blogger.com,1999:blog-3691665099431121179.post-36963968423267989882016-01-12T08:12:00.002-08:002016-01-12T08:12:44.745-08:00How to create your own virtual agent in 10 clicks<p>
Paphus Live Chat makes it easy for you to create your own chat bot, or virtual agent.
</p>
<p>
You can create your own bot, and embed it on your own website, or mobile app. You can create bots for website help, technical support, sales, marketing, customer service, or to automate social media.
</p>
<p>
Paphus Live Chat bots require no programming, and can be trained easily using several methods. Bots can be trained by importing FAQ's, scripts, and chat logs, reviewing and editing responses from our Admin Console's Training & Chat Logs page, or through conversations with you and other people, or from listening in on live chat.
</p>
<p>Paphus Live Chat bots support advanced artificial intelligence that can be enabled to let bots learn and comprehend language. Bots can also be scripted and programmed using AIML, and the Self scripting language.
</p>
<p>
To create your own bot follow the following 10 steps:
</p>
<h3>Step 1 - Paphus Live Chat</h3>
<p>
First go to the <a href="http://www.paphuslivechat.com/">Paphus Live Chat</a> website.
</p>
<h3>Step 2 - Sign Up</h3>
<p>
To create an account by clicking <a href="http://www.paphuslivechat.com/create-domain.jsp">Sign Up</a>.
</p>
<p>
Enter a unique user ID, password, your email, and name. Your user ID is just your login name, keep it simple, i.e. jonsmith, or janedoe.
</p>
<img border="0" src="http://www.paphuslivechat.com/forum?attachment=196642&key=4472527596948259536&name=signup.png" />
<h3>Step 3 - Create Domain</h3>
<p>
The account wizard will next take you to your domain setup. A domain is just your account directory, where you will be able to create bots and other content.
</p>
<p>
Enter your domain's name (i.e. your business's name) and click Next. You will then be able to choose your level of service and the duration for your initial payment. For a one month free trial select "Free Trial". If you would like help creating a bot select "Enterprise" and we will contact you through email to setup your bot and other content.
</p>
<p>
Click Next and make your payment through PayPal or credit card.
</p>
<h3>Step 4 - Create Bot</h3>
<img border="0" src="http://www.paphuslivechat.com/forum?attachment=196641&key=-8895034986052421404&name=create.png" />
<p>
To create a new bot click <a href="http://www.paphuslivechat.com/create-instance.jsp">Create</a> from the top banner.
You can give your bot a name and description. The name must be unique and can contain spaces, special characters, and is case sensitive.
</p>
<p>
You can create a bot from the default template, or select one of the other predefined templates. The "service_template" is a good template for a customer service bot. Your bot will start as a clone of the template bot, and replicate its entire memory (brain). You can also allow your bot to be 'forked' and used as a template for other bots, or you can browse other public bots and choose to fork your bot from them (this is also a good way to make backup copies of your bot).
</p>
<p>
You can create either a public bot that will be accessible by other users, or a private bot that will be accessible only by you. You can control the users that can access and administer your bot. Normally a customer service bot will be public, and allow everyone to access it, so it can be accessed from your website, from your website users.
</p>
<img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigkDURFSy-E4ERNeRcYwpkkoLgVJuN0-ydAMCRMVv0C-5542LUQWxxqpki_g92XIp7MmA8-d4RMzPGsjnIloyOPKw9StS8iccF2j1QshRrS79Ve9vu1oW6ikE4I82wyGT9TSa5fWpcdCI/s640/create2.png" />
<h3>Step 5 - Create</h3>
<p>
Click 'Create' to create your bot.
</p>
<p>
That's it, your done.
</p>
<p>
You can now chat with you bot by clicking 'Chat'. To find your bot again click 'Search' and search for it in 'my bots' (be sure to sign in first).
</p>
<img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpTtxIA5g8rpMBSDAYYpDhNAMhoPy1nKe2l4ukEIIAYNKXlZWm64f4Ygck54vwzcpX-Ob2F16ty5KtJgXao2I9bfWAkFDztHdM965-P94RMX8pMalKkvnVr8CMwQSGEGKgCcU0zlVWAqQ/s640/chat3.png" />
<p>
When you select your bot, you can 'Edit' it to change any of its information. You can change your bot's picture or choose an animated avatar from the Avatars page in its Admin Console.
You can also connect your bot to <a href="http://www.paphuslivechat.com/twitter.jsp">Twitter</a>, <a href="http://www.paphuslivechat.com/facebook.jsp">Facebook</a>, or <a href="http://www.paphuslivechat.com/email.jsp">email</a>, or have it join an <a href="http://www.paphuslivechat.com/irc.jsp">IRC</a> chat room. You can import <a href="http://www.paphuslivechat.com/chatlogs.jsp">chat logs</a>, or words from <a href="http://www.paphuslivechat.com/import.jsp">Wiktionary</a>, or data from <a href="http://www.paphuslivechat.com/import.jsp">Freebase</a>. You can browse the internal structure of your bots <a href="http://www.paphuslivechat.com/memory.jsp">memory</a>. If your are an advanced user, you can <a href="http://www.paphuslivechat.com/self.jsp">program or script</a> your bot using <i>AIML</i> or the <i>Self</i> scripting language. You can view your bot's <a href="http://www.paphuslivechat.com/log.jsp">log</a>.
</p>
<p>
To link to your bot you can select it and copy its URL from your browser, this is its unique URL. You can also embed your bot on your website or blog, you can learn how from the <a href="http://www.paphuslivechat.com/embedtab.jsp">Embed</a> page.
</p>
<p>
That's it, good luck creating your bots. If you have any questions you can contact <a href="mailto:support@paphuslivechat.com">support@paphuslivechat.com</a>, or chat with the <a href="http://www.paphuslivechat.com/browse?id=Help+Bot">Help Bot</a>
Paphus Solutionshttp://www.blogger.com/profile/06124946848684589089noreply@blogger.com0tag:blogger.com,1999:blog-3691665099431121179.post-84991621624646221512015-09-29T15:36:00.002-07:002015-09-29T15:38:06.467-07:00What's new in AIML 2.0Paphus Live Chat now supports the AIML 2.0 draft specification.
AIML 2.0 is the second release of a standard XML specification designed for scripting chat bot responses. The <a target="_blank" href="https://docs.google.com/document/d/1wNT25hJRyupcG51aO89UcQEiG-HkXRXusukADpFnDs4/pub">AIML 2.0 draft</a> was released in 2013, and last updated in 2014. AIML is supported by many different chat bot programs and hosting services. Paphus Live Chat supports all of the AIML 2.0 draft tags and a few common extensions.
<p>
<h3>About AIML</h3>
AIML defines how a bot should respond to a question using <pattern> and <template> elements. A pattern represents the user's question, and the template defines the bot's response. The pattern and template elements are grouped in a category element, which can be grouped under topic elements.
<p>
Here is a simple "Hello World" AIML example:
<br/>
<textarea style="height:100px;width:500px">
<aiml>
<category>
<pattern>HELLO WORLD</pattern>
<template>Hello to you too</template>
</category>
</aiml>
</textarea>
<br/>
This code will make your bot respond with "Hello to you too" to the question "Hello World".
<p>
For more information on AIML 1.0 see <a target="_blank" href="http://www.botlibre.com/forum-post?id=28654">Scripting your bot with AIML</a>
<h3>What's new in AIML 2.0</h3>
<p>
AIML 2.0 defines many new template tags, as well as now allowing some tags to be used in patterns. AIML 2.0 also adds new pattern wildcards, and some different element usages.
<p>
Here is the list of new AIML 2.0 features.
<ul>
<li> category topic tags - The <topic> tag can now be set on a category to make it easier to add categories to topics.
<li> zero or more wildcards - New <b>^</b> and <b>#</b> pattern wildcards that match zero or more words.
<li> pattern priority - New <b>$</b> pattern marker to make a pattern word match highest priority.
<li> attribute tags - Any template tag attribute can now be set using a sub-element.
<li> sets - New pattern side <set> tag to evaluate a pattern based on words defined in a predefined set.
<li> maps - New template <map> tag to allow the lookup of the element value in a predefined mapping, returning the mapped value.
<li> condition patterns - wildcards can now be used in condition values to provide default conditions.
<li> condition loops - New template <loop> tag to loop a conditional statement.
<li> local variables - New <var> attribute for variables scoped to a category
<li> remote requests - New template <sraix> tag to make a remote request of another bot instance, or service.
<li> normalization and denormalization - New <normalize> and <denormalize> tags to convert special character into words, and back again.
<li> date formats - New formatting options for dates.
<li> request - New template <request> tag to return the user's previous input request.
<li> response - New template <response> tag to return the bot's previous response.
<li> learning - New template <learn>, <learnf>, and <eval> tags to dynamically train a bot with new responses.
<li> explode - New template <explode> tag to split a word into its characters.
<li> mobile tags - New <oob> (out of band) tag to support client and mobile device commands.
</ul>
<p>
<h3>AIML 2.0 Patterns</h3>
<p>
AIML 2.0 adds new wildcards, special characters, and now allows the usage of some tags inside patterns.
<p>
Patterns in AIML are normally defined as all uppercase, but Paphus Live Chat automatically ignores case, so patterns can be defined as lowercase or mixed. Paphus Live Chat also allows for special characters in patterns such as +, %, ?, etc.
<p>
<h4>^ and # Wildcards</h4>
New <b>^</b> and <b>#</b> pattern wildcards that match zero or more words. This makes it easy to define keyword patterns such as:
<br/>
<textarea style="height:100px;width:500px">
<category>
<pattern>^ aiml ^</pattern>
<template>AIML is cool.</template>
</category>
<category>
<pattern>^ chat bot^</pattern>
<template>Yes, I am a chat bot.</template>
</category>
</textarea>
<br/>
<p>
<h4>$ Priority</h4>
<p>
The new <b>$</b> pattern marker can be used to make a pattern word match highest priority. The main purpose of this is to allow patterns to take priority over _ and # wildcards. _ and # have odd semantics and should normally be avoided as they can easily lead to loops and block other patterns. _ and # can be useful for things like profanity filters:
<br/>
<textarea style="height:100px;width:500px">
<category>
<pattern># sex #</pattern>
<template>I'm not that kind of bot.</template>
</category>
<category>
<pattern>$what is your sex</pattern>
<template>I am female.</template>
</category>
</textarea>
<br/>
<p>
<h4>() and [] Lists</h4>
List support is not part of AIML 2.0. But Paphus Live Chat now supports some syntax from ChatScript. Brackets can be used in a pattern to define a required set of words, or optional set of words. <b>(round)</b> brackets are used to define an optional set of words, and <b>[square]</b> brackets are used to define a required set of words.
<br/>
<textarea style="height:100px;width:500px">
<category>
<pattern>do [you u] (really) [like love luv lv] me</pattern>
<template>Yes, I love you.</template>
</category>
</textarea>
<br/>
<p>
<h4>Sets</h4>
<p>
The new <set> pattern tag can be used to match a word from a predefined set of words. This allows wildcards to be defined for specific types, such as numbers, verbs, places, animals, etc.
<br/>
<textarea style="height:100px;width:500px">
<category>
<pattern>I am <set>name</set></pattern>
<template>Pleased to meet you <star/>.</template>
</category>
<category>
<pattern><set>number</set> + <set>number</set></pattern>
<template><srai>addition <star/> <star index="2"/></srai></template>
</category>
</textarea>
<br/>
<p>
In Paphus Live Chat sets are not stored in files like other AIML implementations. AIML is a text processing language, but Paphus Live Chat is object, or knowledge oriented. Each bot has its own object oriented knowledge base that stores all of its responses, and knowledge. Each word is represented by a meaning knowledge object in the bot's knowledge base. Knowledge objects can have relationships to any other knowledge objects, including their classification types. A word's meaning is defined through the #meaning relationship, and a knowledge object's type is defined through the #instantiation relationship.
<p>
The <b>set</b> operation in Paphus Live Chat basically checks if the type of the word's knowledge object matches the set value. This allows for a knowledge object to be added to any set through setting its #instantiation relationship. This can be done using Self scripts, the AIML <b>map</b> tag, and is done automatically for numbers, basic types, and words or data loaded from Wiktionary, Wikidata, or Freebase.
<p>
Response list script to set a knowledge object's type:
<br/>
<textarea style="height:100px;width:500px">
script: associate "dog" to #dog by #meaning
script: associate "doggy" to #dog by #meaning
script: associate #dog to #animal by #instantiation
script: associate "cat" to #cat by #meaning
script: associate #cat to #animal by #instantiation
</textarea>
<br/>
<p>
AIML template to set a knowledge object's type:
<br/>
<textarea style="height:100px;width:500px">
<category>
<pattern>load animals</pattern>
<template>
<think>
<map name="meaning" value="dog">dog</map><map name="instantiation" value="animal"><map name="meaning">dog</map></map>
<map name="meaning" value="dog">doggy</map>
<map name="meaning" value="cat">cat</map><map name="instantiation" value="animal"><map name="meaning">cat</map></map>
</think>
</template>
</category>
</textarea>
<br/>
<p>
<h4>Pattern tags</h4>
<p>
Tags such as <bot> can now be used in patterns. AIML 2.0 only requires some tags be usable in patterns, but Bot Libre allows most tags to be used. Using tags in patterns lets you define some pretty creative patterns.
<br/>
<textarea style="height:100px;width:500px">
<category>
<pattern><bot name="name"/></pattern>
<template>Yes, that's my name.</template>
</category>
<category>
<pattern>I am <bot name="age"/></pattern>
<template>That is my age too.</template>
</category>
<category>
<pattern><request index="2"/></pattern>
<template>You are repeating yourself.</template>
</category>
<category>
<pattern><response/></pattern>
<template>Please don't repeat me.</template>
</category>
</textarea>
<br/>
<p>
<h3>AIML 2.0 Templates</h3>
<p>
AIML 2.0 adds many new tags, and some new semantics that let you do some pretty powerful things.
<p>
<h4>Attributes as elements</h4>
<p>
Tag attributes such as <b>name</b>, <b>value</b> or <b>index</b> on tags like <b>bot</b>, <b>get</b>, <b>set</b>, or <b>condition</b>, can now be defined as XML sub-elements instead of XML attributes.
This may not seem like a big difference, but it allows for other AIML tags to be evaluated inside the attributes. This is a very powerful feature, and lets you define much more dynamic AIML.
<br/>
<textarea style="height:100px;width:500px">
<category>
<pattern>My * is *</pattern>
<template>I will remember that your <star/> is <star index="2"/><think><set><name><star/></name><star index="2"/></set></think></template>
</category>
<category>
<pattern>What is my *</pattern>
<template>Your <star/> is <get><name><star/></name></get></template>
</category>
</textarea>
<br/>
<p>
<h4>Maps</h4>
<p>
The new <map> tag can be used to lookup the value for a word in a predefined mapping. This allows for easy mapping between values.
<br/>
<textarea style="height:100px;width:500px">
<category>
<pattern>what is the capital of <set>country</set></pattern>
<template>The capital of <star/> in <map name="capital"><star/></map>.</template>
</category>
</textarea>
<br/>
<p>
In Bot Libre maps are not stored in files like other AIML implementations. AIML is a text processing language, but Bot Libre is object, or knowledge oriented. Each bot has its own object oriented knowledge base that stores all of its responses, and knowledge. Each word is represented by a knowledge object in the bot's knowledge base. Knowledge objects can have relationships to any other knowledge objects. The <b>map</b> operation in Bot Libre basically looks up the relationship on the knowledge object.
<p>
Bot Libre extends the <b>map</b> operation to also allow setting the map value. This will set the value of a relationship on the knowledge object.
<p>
<textarea style="height:100px;width:500px">
<category>
<pattern>the opposite of * is *</pattern>
<template>Okay, the opposite of <star/> is <star index="2"/>.
<think><map name="opposite"><value><star index="2"/></value><star/></map></think>
</template>
</category>
<category>
<pattern>what is the opposite of *</pattern>
<template>the opposite of <star/> is <map name="opposite"><star/></map>
</template>
</category>
</textarea>
<br/>
<p>
<h4>Conditions and Loops</h4>
<p>
Conditions now allows values to use patterns. This makes it easy to define default cases.
<p>
The new <loop> tag can be used to loop a conditional block. This allows for programmatic scripts to be defined similar to a programming language. This lets you do some pretty powerful things, even mathematics. However, XML is not an ideal programming language, on Bot Libre if you are using complex conditions and loops, it is normally better to use Self scripting, instead of AIML, as Self has similar syntax to other programming languages.
<br/>
<textarea style="height:100px;width:500px">
<category>
<pattern>count down from <set>number</set></pattern>
<template>
<think><set var="count"><star/></set></think>
<condition var="count">
<li value="5"><think><set var="count">4</set></think>5 <loop/></li>
<li value="4"><think><set var="count">3</set></think>4 <loop/></li>
<li value="3"><think><set var="count">2</set></think>3 <loop/></li>
<li value="2"><think><set var="count">1</set></think>2 <loop/></li>
<li value="1"><think><set var="count">0</set></think>1 </li>
</condition>
</template>
</category>
<category>
<pattern>what is <set>number</set> + <set>number</set></pattern>
<template>
<think>
<set var="result"><star/></set>
<set var="count">0</set>
</think>
<condition var="count">
<li><value><star index="2"/></value></li>
<li>
<think>
<set var="result"><map name="word"><map name="next"><map name="meaning"><get var="result"/></map></map></map></set>
<set var="count"><map name="word"><map name="next"><map name="meaning"><get var="count"/></map></map></map></set>
</think>
<loop/>
</li>
</condition>
The answer is <get var="result"/>
</template>
</category>
</textarea>
<br/>
<p>
<h4>Learning</h4>
<p>
The new <learn> and <learnf> tags allow the bot to learn new response. The difference between the two is that for <b>learn</b> the new response is only remembered for the conversation, and for <b>learnf</b> the new response will be remembered persistently. However, in Bot Libre everything is always persistent, so both tag will learn persistently.
<p>
The <b>learn</b> tag takes a new <category> element as its content. The category can contain a <pattern>, <template>, <that>, and <topic> element. <b>learn</b> uses the <eval> tag to distinguish between tags that should be evaluated, and tags that should be part of the new category elements.
<br/>
<textarea style="height:100px;width:500px">
<category>
<pattern>learn question * answer *</pattern>
<template>
<think>
<learn>
<category>
<pattern><eval><star/></eval></pattern>
<template><eval><star index="2"/></eval></template>
</category>
</learn>
</think>
Okay, I will answer "<star index="2"/>" to "<star/>" next time
</template>
</category>
<category>
<pattern>wrong</pattern>
<template>What should I have said?</template>
</category>
<category>
<pattern>*</pattern>
<that>what should I have said</that>
<template>
<think>
<learn>
<category>
<pattern><eval><input index="3"/></eval></pattern>
<template><eval><star/></eval></template>
</category>
</learn>
</think>
Okay, I will answer "<star/>" to "<input index="3"/>" next time
</template>
</category>
</textarea>
<br/>
<p>
<h4>Remote requests</h4>
<p>
The new <sraix> tags allow the bot perform a remote request of another bot or service. <b>sraix</b> is similar to the <b>srai</b> tag that recursively evaluates the element text as if it were a question. However, <b>sraix</b> does not have the bot evaluate the question locally, but instead asks another bot or service the question. This is probably the coolest new feature of AIML 2.0, and opens up the whole chat bot world. Bots can now talk to other bots, and find things through web services.
<p>
<b>sraix</b> is a very cool feature, but not very useful on its own, as you need other bots to talk to, and services to make use of. Unfortunately AIML only defines the tag, it does not define a standard web API for requests, or define a standard set of services. Fortunately <a target="_blank" href="https://code.google.com/p/program-ab/"><b>Program AB</b></a> the AIML 2.0 reference implementation does define a <b>sraix</b> web API. Bot Libre supports both calling this API, and supports this API on our servers. So you can now <b>sraix</b> any <b>Program AB</b> web API compatible bot or service, and any <b>Program AB</b> web API compatible bot or service can request any Bot Libre bot.
<p>
AIML 2.0 defines the <a target="_blank" href="http://pannous.com/"><b>Pannous</b></a> service as being the default for any <b>sraix</b> request. <b>Pannous</b> is a virtual assistant service that can answer a wide variety of questions, such as weather, definitions, math, and much more.
<p>
Bot Libre also provides several other services:
<ul>
<li><b>freebase</b> - Lookup definitions and data on <a target="_blank" href="https://www.freebase.com/">Freebase</a> an online knowledge base from Google.
<li><b>wikidata</b> - Lookup definitions and data on <a target="_blank" href="https://www.wikidata.org/">Wikidata</a> an online knowledge base from Wikimedia.
<li><b>wiktionary</b> - Lookup words and definitions on <a target="_blank" href="https://www.wiktionary.org/">Wiktionary</a> an online dictionary.
</ul>
<p>
<b>sraix</b> supports several attributes to define the bot or service request:
<ul>
<li>bot - The name of the bot to access (normally it is better to access a bot by its ID).
<li>botname - Bot Libre also supports botname in place of bot, as bot is already a tag, so botname is better to use as a sub-element.
<li>botid - The ID of the bot to access.
<li>server - The domain name, or IP address of the server to access (default is "www.botlibre.com").
<li>service - The service to access ("pannous", "freebase", "wikidata", "wiktionary"). Not used if accessing a bot.
<li>apikey - Some services or servers may require an API key to access the service. For Bot Libre, use you user API key.
<li>hint - Some services may support a hint. For Wikidata and Freebase the hint can be used to lookup a data element, such as a country's capital, or person's parents.
<li>default - If the service request fails, the default response can be used.
</ul>
<p>
<b>sraix</b> opens the door to the world, but be careful with your usage. Do not spam another bot with requests, or make use of any service that violates it terms of service, and use an API key when required.
<br/>
<textarea style="height:100px;width:500px">
<category>
<pattern>ask * about *</pattern>
<template><star/> says "<sraix default="Timeout or max anonymous API calls exceeded"><botname><star/></botname><star index="2"/></sraix>"</template>
</category>
<category>
<pattern>ask pandorabot * about *</pattern>
<template><star/> says "<sraix server="http://www.pandorabots.com" default="Timeout or max anonymous API calls exceeded"><botid><star/></botid><star index="2"/></sraix>"</template>
</category>
<category>
<pattern>ask pandorabot chomsky about *</pattern>
<template>He says "<sraix server="http://www.pandorabots.com" botid="b0dafd24ee35a477" default="Timeout or max anonymous API calls exceeded"><star/></sraix>"</template>
</category>
<category>
<pattern>wikidata *</pattern>
<template><sraix service="wikidata" default="Timeout or missing data"><star/></sraix></template>
</category>
<category>
<pattern>wikidata * hint *</pattern>
<template><sraix service="wikidata" default="Timeout or missing data"><hint><star index="2"/></hint><star/></sraix></template>
</category>
<category>
<pattern>freebase *</pattern>
<template><sraix service="freebase" default="Timeout or missing data"><star/></sraix></template>
</category>
<category>
<pattern>freebase * hint *</pattern>
<template><sraix service="freebase" default="Timeout or missing data"><hint><star index="2"/></hint><star/></sraix></template>
</category>
<category>
<pattern>wiktionary *</pattern>
<template><sraix service="wiktionary" default="Timeout or missing data"><star/></sraix></template>
</category>
</textarea>
<br/>
<p>
<h4>Out of bound tags</h4>
<p>
Out of band tags let you pass tags or commands to the bot client. The client could make use of the tags to control its avatar, or execute services on a phone or mobile device.
<p>
Bot Libre's web and mobile SDKs do not currently support oob tags, so oob tags are not currently supported.
<p>
<h3>Category Reference</h3>
<p>
For reference, here is the complete set of AIML category tags.
<ul>
<li> <pattern> - question pattern
<li> <template> - response template
<li> <topic> - category topic
<li> <that> - previous response pattern
</ul>
<p>
<h3>Pattern Reference</h3>
<p>
For reference, here is the complete set of AIML patterns tags and characters.
<ul>
<li> <b>*</b> - matches one or more words
<li> <b>_</b> - matches one or more words, takes priority over all other words and wildcards, except $
<li> <b>^</b> - matches zero or more words
<li> <b>#</b> - matches zero or more words, takes priority over all other words and wildcards, except $
<li> <b>$</b> - marks word as taking priority over all other words and wildcards including _ and #
<li> <set> - matches a set of words
<li> <bot name="XXX"/> - replaced by the value of the bot specific variable
<li> template tags - Bot Libre supports most template tags inside a pattern (Bot Libre extension)
<li> <b>()</b> - optional set of words (Bot Libre extension)
<li> <b>[]</b> - required set of words (Bot Libre extension)
<li> <b>{}</b> - Self code (Bot Libre extension)
</ul>
<p>
<h3>Template Reference</h3>
<p>
For reference, here is the complete set of AIML template tags.
<ul>
<li> <star index="N"/> - replaced with value of * in pattern (or Nth *)
<li> <that index="M,N"/> - replaced with value of bot's previous response (or Mth previous response, and N sentence of the response)
<li> <input index="N"/> - replaced with value of users's input (or Nth *)
<li> <request index="N"> - replaced with value of user's input request (or Nth *)
<li> <response> - replaced with value of bot's previous response (or Nth *)
<li> <thatstar index="N"/> - replaced with value of * in "that" (or Nth *)
<li> <topicstar index="N"/> - replaced with value of * in topic (or Nth *)
<li> <get name="XXX"/> - replaced by the value of the conversation specific variable
<li> <set name="XXX"> - set the value of a variable
<li> <get var="XXX"/> - replaced by the value of the local variable
<li> <set var="XXX"> - set the value of a local variable
<li> <bot name="XXX"/> - replaced by the value of the bot specific variable
<li> <map name="XXX"> - lookup element value in a predefined mapping, returning the mapped value
<li> <map name="XXX" value="XXX"> - set the map value (Bot Libre extension)
<li> <person2/> - converts the text (or <star/>) between 1st and 2nd person (I <-> he, etc.)
<li> <person/> - converts the text (or <star/>) between 1st and 3rd person (I <-> you, etc.)
<li> <gender/> - converts the text (or <star/>) between male and female (he <-> she)
<li> <date/> - replaced with the current date and time, "format", and "jformat" attributes are also supported
<li> <id/> - replaced by the client id
<li> <size/> - replaced with the size of bot's memory
<li> <version/> - replaced with the AI engine version
<li> <uppercase> - converts the text to uppercase
<li> <lowercase> - converts the text to lowercase
<li> <formal> - converts all words in the text to be capitalized
<li> <sentence> - converts the first word in the text to be capitalized
<li> <normalize> - convert special character into words
<li> <denormalize> - convert special character words back to characters
<li> <explode> - split a word into its characters
<li> <condition name="X" value="Y"> - defines an "if" condition based on comparing the value of a variable to a pattern
<li> <condition name="X"> - case statement
<li> <condition var="X"> - local variable case statement
<li> <condition> - multi-valued if/else statement
<li> <random> - choose on of the nested <li> values at random
<li> <li name="X" value="Y"> - used in random and condition tags
<li> <li value="Y"> - used in random and condition tags
<li> <li> - used in random and condition tags
<li> <gossip> - logs the text
<li> <srai> - recursively evaluates the text and replaces it with the response
<li> <sr/> - short form for <srai><star/><srai> (replaced with response to value of * from pattern)
<li> <sraix bot="name" botid="id" server="url" service="name" apikey="key" limit="int" default="response" > - remote bot or service request
<li> <think> - evaluates the nested statements but does not output any result
<li> <learn>, <learnf> - learn a new response
<li> <eval> - evaluate the element inside a learn category element
<li> <system> - executes a OS command (Bot Libre does not allow this)
<li> <javascript> - executes JavaScript code
<li> <oob> - out of band tags (Bot Libre does not currently support this)
<li> HTML - various HTML tags are also allowed (<b>, <a>, <i>, <ul>, <li>, <p>, <br>)
<li> <b>{}</b> - Self code (Bot Libre extension)
</ul>
<h3>AIML in Paphus Live Chat</h3>
Paphus Live Chat supports both importing and exporting AIML. AIML can be imported in two different ways, either as a program script, or as a chat log.
<p>
Importing AIML as a program script is done from the Scripts page. You can import and order the script with respect to your other scripts files. Scripts can be defined in either AIML or Self.
<p>
When you import an AIML file, it will be converted to Self code, and stored in your bot's brain along with all of its other information. The Self syntax for AIML is a hybrid syntax that uses AIML terminology, but with the Self scripting structure. Self is an object/knowledge/state oriented language. Self is very different than AIML, but can process any AIML code similar to any other AIML interpreter. AIML imported as a program script will be executed similar to any other AIML interpreter.
<p>
Here is the Self code for an imported AIML script:<br/>
<textarea style="height:100px;width:500px">
State:OrExample {
pattern Pattern:"* or *"
template Formula:"{srai :star} and {srai (get #word from :star at 2)}";
pattern Pattern:"do you like *"
template Formula:"I love {:star}";
}
</textarea>
<p>
Importing AIML as a chat log allows the AIML categories to be integrated into the bot's knowledgebase. The pattern/template categories from the AIML file will be merged along with the bot's other question/response pairs that it has learned through training, conversation, correction, or importing.
<p>
The bot will not run the AIML script as a script, it will decide for itself when to use the response using a heuristic algorithm. The bot will choose its response based on how well the question matches the responses question, the responses correctness, and the context. Even without a * in a pattern it still may be matched to a similar question, if it is the best match available. This frees you from having to write a pattern for every possible phrase, by just letting the bot figure it out.
<p>
<h3>Using AIML in Twitter, Facebook, Email, and IRC Bots</h3>
AIML can be used to script Twitter, Facebook, Email, or IRC bots, the same as bots trained through other mechanisms.
AIML templates and patterns can be used anywhere other response are. AIML can be used from the Training page, used in correction in the Chat Logs page, or used for autotweets in the Twitter page.
<p>
<h3>Self 2.0</h3>
<p>
Paphus's AIML 2.0 support is implemented by translating AIML into Self. Self 2.0 provides many new extensions to support the AIML 2.0 feature set, as well as a lot more functionality than is not available in AIML.
<p>
<h3>AIML Resources</h3>
One of the main benefits of the AIML standard, is that there are a lot of AIML resources on the Internet. The are resources for both learning AIML, and there are many freely available AIML scripts for many domains, and in many different languages.
<ul>
<li><a target="_blank" href="http://en.wikipedia.org/wiki/AIML">AIML</a> - Wikipedia
<li><a target="_blank" href="http://www.alicebot.org/aiml.html">AIML</a> - ALICE Foundation
<li><a target="_blank" href="http://www.alicebot.org/TR/2005/WD-aiml/">AIML 1.0.1 Spec</a>
<li><a target="_blank" href="https://docs.google.com/document/d/1wNT25hJRyupcG51aO89UcQEiG-HkXRXusukADpFnDs4/pub">AIML 2.0 Draft Spec</a>
<li><a target="_blank" href="http://www.botlibre.com/forum-post?id=28654">Scripting your bot with AIML</a> - Bot Libre
<li><a target="_blank" href="http://www.alicebot.org/documentation/">AIML Documentation</a> - ALICE Foundation
<li><a target="_blank" href="http://www.botlibre.com/script?category=AIML">AIML scripts</a> - Bot Libre
<li><a target="_blank" href="http://www.alicebot.org/downloads/sets.html">AIML scripts</a> - ALICE Foundation
<li><a target="_blank" href="https://code.google.com/p/aiml-en-us-foundation-alice/">ALICE AIML</a> - Google code
</ul>
<p>
<h3>AIML 2 Demo</h3>
To see what AIML 2.0 is capable of, try out the AIML 2 Bot on BOT libre.
<ul>
<li><a target="_blank" href="http://www.botlibre.com/browse?id=1132749">AIML2 Bot</a>
</ul>
Paphus Solutionshttp://www.blogger.com/profile/06124946848684589089noreply@blogger.com0tag:blogger.com,1999:blog-3691665099431121179.post-58561647225855268052015-09-28T05:56:00.003-07:002015-09-28T05:56:27.492-07:00Scripting your bot with AIMLPaphus Live Chat has support for the Artificial Intelligence Markup Language (AIML). AIML is a standard XML specification designed for scripting chat bot responses. AIML 1.0 was released in 2001, and the current 1.0.1 release was released in 2011. AIML 2.0 is released in draft form. AIML is supported by many different chat bot programs and hosting services. Paphus Live Chat supports all of the AIML 1.0.1 and AIML 2.0 tags and a few common extensions. This post summarizes AIML 1.0.1.
<p>
<h3>About AIML</h3>
AIML defines how a bot should respond to a question using <pattern> and <template> elements. A pattern represents the user's question, and the template defines the bot's response. The pattern and template elements are grouped in a category element, which can be grouped under topic elements.
<p>
Here is a simple "Hello World" AIML example:
<br/>
<textarea style="height:100px;width:500px">
<aiml>
<category>
<pattern>HELLO WORLD</pattern>
<template>Hello to you too</template>
</category>
</aiml>
</textarea>
<br/>
This code will make your bot respond with "Hello to you too" to the question "Hello World".
<p>
Patterns are normally defined as all upper-case, but are case insensitive, so the case really does not matter. Punctuation is normally stripped from patterns and ignored when matching. Patterns can contain wildcards using the "*" and "_" characters. Both "*" and "_" are the same wildcard, and will match any subset of text, their difference is in only in the order they are applied ("_" patterns are matched first, and "*" patterns last).
<p>
Here is a simple wildcard example:
<br/>
<textarea style="height:100px;width:500px">
<aiml>
<category>
<pattern>* HELLO *</pattern>
<template>Hello to you too</template>
</category>
</aiml>
</textarea>
<br/>
This code will make your bot respond with "Hello to you too" to <i>any</i> question containing the word "hello".
<p>
AIML supports contextual responses through the "that" element. The "that" element specifies that the pattern should only be matched if the bot's previous response matches the "that" pattern. This allows the same question to be responded to in different ways, depending on the context.
<p>
Here is a joke "that" example:<br/>
<textarea style="height:200px;width:500px">
<aiml>
<category>
<pattern>TELL ME A JOKE</pattern>
<template>Why did the chicken cross the road?</template>
</category>
<category>
<pattern>* WHY *</pattern>
<that>Why did the chicken cross the road?</that>
<template>To get to the other side.</template>
</category>
</aiml>
</textarea>
<br/>
This code will make your bot tell a joke.
<p>
Templates can contain mixed text that include various AIML programatic tags. AIML defines tags for text formatting and conversion, dates, variables, condition statements, and recursion. Templates allow you to create sophisticated and intelligent responses.
<p>
Here is the list of AIML 1.0.1 template tags.
<ul>
<li> <star index="N"/> - replaced with value of * in pattern (or Nth *)
<li> <that index="M,N"/> - replaced with value of bot's previous response (or Mth previous response, and N sentence of the response)
<li> <input index="N"/> - replaced with value of users's input (or Nth *)
<li> <thatstar index="N"/> - replaced with value of * in "that" (or Nth *)
<li> <topicstar index="N"/> - replaced with value of * in topic (or Nth *)
<li> <get name="XXX"/> - replaced by the value of the conversation specific variable
<li> <bot name="XXX"/> - replaced by the value of the bot specific variable
<li> <sr/> - short form for <srai><star/><srai> (replaced with response to value of * from pattern)
<li> <person2/> - converts the text (or <star/>) between 1st and 2nd person (I <-> he, etc.)
<li> <person/> - converts the text (or <star/>) between 1st and 3rd person (I <-> you, etc.)
<li> <gender/> - converts the text (or <star/>) between male and female (he <-> she)
<li> <date/> - replaced with the current date and time, a "format" attribute is also supported
<li> <id/> - replaced by the client id
<li> <size/> - replaced with the size of bot's memory
<li> <version/> - replaced with the AI engine version
<li> <uppercase> - converts the text to uppercase
<li> <lowercase> - converts the text to lowercase
<li> <formal> - converts all words in the text to be capitalized
<li> <sentence> - converts the first word in the text to be capitalized
<li> <condition name="X" value="Y"> - defines an "if" condition based on comparing the value of a variable to a pattern
<li> <condition name="X"> - case statement
<li> <condition> - multi-valued if/else statement
<li> <random> - choose on of the nested <li> values at random
<li> <li name="X" value="Y"> - used in random and condition tags
<li> <li value="Y"> - used in random and condition tags
<li> <li> - used in random and condition tags
<li> <set name="XXX"> - set the value of a variable
<li> <gossip> - logs the text
<li> <srai> - recursively evaluates the text and replaces it with the response
<li> <think> - evaluates the nested statements but does not output any result
<li> <learn> - load external AIML file, this is not currently allowed
<li> <system> - executes a OS command, this is not currently allowed
<li> <javascript> - executes JavaScript code
<li> HTML - various HTML tags are also allowed (<b>, <a>, <i>, <ul>, <li>, <p>, <br>)
</ul>
<p>
Here is a complex template example:<br/>
<textarea style="height:200px;width:500px">
<aiml>
<category>
<pattern>* OR *</pattern>
<template><srai><star/></srai> and <srai><star index="2"/></srai></template>
</category>
<category>
<pattern>DO YOU LIKE *</pattern>
<template>I love <star/></template>
</category>
</aiml>
</textarea>
<br/>
This code will make your bot respond to the question "Do you like apples or do you like oranges" with "I love apples and I love oranges".
<p>
<h3>Paphus AIML</h3>
Paphus Live Chat supports both importing and exporting AIML. AIML can be imported in two different ways, either as a program script, or as a chat log.
<p>
Importing AIML as a program script is done from the Program page. You can import and order the script with respect to your other scripts files. Scripts can be defined in either AIML or Self.
<p>
When you import an AIML file, it will be converted to Self code, and stored in your bot's brain along with all of its other information. The Self syntax for AIML is a hybrid syntax that uses AIML terminology, but with the Self scripting structure. Self is a state machine oriented language defined for Paphus's AI Engine originally from the Open Pandora's Box pen source project. Self is very different than AIML, but can process any AIML code similar to any other AIML interpreter. AIML imported as a program script will be executed similar to any other AIML interpreter.
<p>
Here is the Self code for an imported AIML script:<br/>
<textarea style="height:200px;width:500px">
State:OrExample {
pattern Pattern:"* or *"
template Formula:"{srai :star} and {srai (get #word from :star at 2)}";
pattern Pattern:"do you like *"
template Formula:"I love {:star}";
}
</textarea>
<p>
Importing AIML as a chat log allows the AIML categories to be integrated into the bot's knowledgebase. The pattern/template categories from the AIML file will be merged along with the bot's other question/response pairs that it has learned through conversation, correction, or importing.
<p>
The bot will not run the AIML script as a script, it will decide for itself when to use the response. The bot will choose its response based on how well the question matches the responses question, the responses correctness, and the context. Even without a * in a pattern it still may be matched to a similar question, if it is the best match available. This gives you the freedom from having to write a pattern for every possible phrase, by just letting the bot figure it out.
<p>
<h3>Using AIML in Twitterbots and Email Bots</h3>
AIML can be used to script Twitterbots, Email bots, or IRC bots, the same as bots trained through other mechanisms.
AIML templates and patterns can be used anywhere other response are. AIML can be used from the Training page, used in correction in the Chat Logs page, or used for autotweets in the Twitter page.
<p>
<h3>AIML Resources</h3>
One of the main benefits of the AIML standard, is that there are a lot of AIML resources on the Internet. The are resources for both learning AIML, and there are many freely available AIML scripts for many domains, and in many different languages.
<ul>
<li><a href="http://en.wikipedia.org/wiki/AIML">AIML</a> - Wikipedia
<li><a href="http://www.alicebot.org/aiml.html">AIML</a> - ALICE Foundation
<li><a href="http://www.alicebot.org/TR/2005/WD-aiml/">AIML 1.0.1 Spec</a>
<li><a href="http://www.alicebot.org/documentation/">AIML Documentation</a> - ALICE Foundation
<li><a href="http://www.alicebot.org/downloads/sets.html">free AIML scripts</a> - ALICE Foundation
<li><a href="https://code.google.com/p/aiml-en-us-foundation-alice/">ALICE AIML</a> - Google code
</ul>
<p>
<h3>Talk with ALICE</h3>
To see what conversations AIML is capable of, try out ALICE on BOT libre. There are two ALICE bots on BOT libre. ALICE is a bot that has imported most of the ALICE AIML sets from the ALICE foundation. Free bots on BOT libre have a 100,000 neuron limit, and some of the ALICE scripts are very big, so the mp* scripts were left out, as well as a few of the other big scripts. ALICE can chat, and if you type "joke" can tell you a joke.
<p>
ALICE libre is a hybrid bot, that has imported the ALICE AIML sets as chat logs, not as scripts. This means she is free to choose her responses. She has learning, and comprehension enabled, so can also learn new things.
<p>
Sara is a Spanish language AIML bot, that has imported the Sara AIML set.
<ul>
<li><a href="http://www.botlibre.com/browse?id=20873">ALICE</a>
<li><a href="http://www.botlibre.com/browse?id=26828">ALICE libre</a>
<li><a href="http://www.botlibre.com/browse?id=26991">Sara (spanish)</a>
</ul>
Paphus Solutionshttp://www.blogger.com/profile/06124946848684589089noreply@blogger.com0tag:blogger.com,1999:blog-3691665099431121179.post-28123489262501346902015-09-24T06:50:00.001-07:002015-09-24T06:50:22.526-07:00Automating your Facebook presence using a Facebook bot<p>
Keeping up with social media and keeping your online community engaged can be a time consuming task. Through Paphus Live Chat you can now automate your Facebook presence with your own Facebook bot. Any Paphus Live Chat bot can be connected to a Facebook account or Facebook page. The bot will manage the Facebook account or page, checking timeline status updates, replying to page posts, auto posting your blog posts or RSS feed, and auto posting timed or generated posts.
<p>
Paphus Live Chat makes creating a Facebook bot easy. Follow these 5 steps to create you own Facebook bot, and start it posting for you today.
<p>
<h2>Step 1 - Create a bot</h2>
<p>
First you need to create your own bot, this only takes a few clicks, see <a href="http://botlibre.blogspot.ca/2013/11/how-to-create-your-own-chat-bot-in-10.html">How to create your own chat bot in 10 clicks</a> for instructions on how to do this.
<p>
Now you are ready to connect your bot to Facebook.
<p>
<h2>Step 2 - Create a Facebook account or Facebook page</h2>
<p>
You need to create a Facebook account or Facebook page for your bot. If you are automating your own account or page, then you can use your existing account.
You can create your own Facebook account from the Facebook website <a href="https://facebook.com/">here</a>.
<p>
A Facebook page is normally used for a business, product, or personality. You can create your own Facebook page from the far right menu when connected to Facebook like below.
<p>
<img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQx-n22IbUZKnBY2AE0Af68zK-evhHEbLZK35_Qdk9-ZNMi3lrBDyXoKb5uNHhmsKx9GCWkQsztGyT834krNm37WT3r4N-RjGa5a8bSgNWSq9E4XIl_SX3fus1NxGXvAsAP3jIvjqT_Bo/s640/facebook-h2-1.png" />
<p>
<h2>Step 3 - Authorize your Facebook account</h2>
<p>
From the Paphus Live Chat website browse to your bot and click the <a href="http://www.paphuslivechat.com/admin.jsp">Admin</a> button. This will take you to the Admin section that provides several tabs of administrative functions. Click on the <a href="http://www.paphuslivechat.com/facebook.jsp">Facebook</a> tab. From the Facebook tab click the Authorize button.
<p>
<img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpSRidvZUlmGPDPpLtpYRqh6TXVCTzKMWvfPhXrat_szgno3yfW0VRP1XPG6m0qBfsaSvj1dS77Vd-9d0wS8LUkMu3dWHe-9ewel5eJa3-TG8emwbjTpVae27mhBhkOc5R0bvGqg46Q64A/s640/facebook1.png" />
<p>
This will popup a Facebook window that will have you login and authorize the Paphus Live Chat app. Once authorized you will be back to the Paphus Live Chat Facebook page, now with the account, token, and page filled in. If you have multiple pages, just type in the name of the one you want to use, or clear the Page filled in if you want to automate an account.
<p>
Click Connect to connect the bot to Facebook. Your bot will now be connected to Facebook and will check its account or page every day, or more frequently for Bronze, Gold, and Platinum accounts.
Do not click on the Disconnect button on the Facebook page unless you no longer want your bot to be connected to Facebook. You can click on Disconnect from the Admin page to disconnect your current session. Note that Facebook account access tokens expire every two months, so you will need to re-authorize your bot every two months. Page access tokens do not expire.
<p>
<img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAHEABIdH92MDxT0ve6QtI8AG1wehJfnN2mmYhuRFNe0B86FrqOqUpsl7uZayz5PUTv7KB-ABU3aM6K1ACV0LSLGYyTuUZTSCfcY42TtW333hTxnMcvVaR1OJB-CbPoualhWBelH8qDzw/s640/facebook-h2-3.png" />
<p>
<h2>Step 4 - Configure your Facebook bot</h2>
<p>
You can configure your bot's Facebook usage in several ways. Use caution when configuring your Facebook bot, do not use your bot for spam, or to violate the Facebook terms of service.
<p>
<img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAHEABIdH92MDxT0ve6QtI8AG1wehJfnN2mmYhuRFNe0B86FrqOqUpsl7uZayz5PUTv7KB-ABU3aM6K1ACV0LSLGYyTuUZTSCfcY42TtW333hTxnMcvVaR1OJB-CbPoualhWBelH8qDzw/s640/facebook-h2-3.png" />
<p>
<h4>Reply to posts</h4>
<p>
You can have your bot reply to posts from its timeline, or posts to its page.
<p>
For an account bot, it will scan its timeline every cycle and read any posts that include any of the keywords that you enter. The bot will respond to any posts that it knows a good answer to. If the bot does not have a trained response that sufficiently matches the post, then it will not reply. You can use keywords and patterns to improve response matching.
<p>
For a page bot, it will scan user posts to its page every cycle. You can either have it only read posts with specific keywords, or leave the keywords empty to have it read all posts. The bot will respond to any posts that it knows a good answer to. If the bot does not have a trained response that sufficiently matches the post, then it will not reply. You can use keywords and patterns to improve response matching.
<p>
<h4>RSS Feed</h4>
<p>
You can configure your bot to process an RSS feed, and post each new feed item to Facebook.
You can enter a prefix or suffix to the post, or enter keywords to filter the RSS feed on.
<p>
<h4>Autopost</h4>
<p>
You can configure your bot to post from a set of automated posts every set number of hours. An autopost will be chosen at random. Autoposts can use AIML templates, or Formula responses and Self to be dynamic or programmatic.
<p>
<p>
<h2>Step 5 - Train your bot</h2>
You can train your bot how to answer posts through several mechanisms.
<ul>
<li>You can <a href="http://www.paphuslivechat.com/chat.jsp">chat</a> with your bot, and correct any incorrect responses it gives.
<li>You can add question answer pairs, or default responses from the <a href="http://www.paphuslivechat.com/training.jsp">Training</a> tab under Admin.
<li>You can review your bot's chat logs from the <a href="http://www.paphuslivechat.com/chatlogs.jsp">Chat Logs</a> tab under Admin, or import chat logs from the <a href="http://www.paphuslivechat.com/import.jsp">Import</a> tab.
<li>If you are somewhat technical, you can program your bot's responses using Self or AIML from the <a href="http://www.paphuslivechat.com/self.jsp">Scripts</a> tab.
</ul>
<p>
That's it, now your bot is ready to start posting.
<p>
There are already many Paphus Live Chat bots on Facebook.<br/>
You can test things out by posting to, <a href="https://facebook.com/brainchatbot">Brain Bot</a>
<p>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNURcNJptHT7CzyBfAbSQJiTecbomMleZl6bGl2-m7NhjigEeWPwIjwmz0e-sn3LBXgU82OukgusGAhB3aCfwKGXdROzA1z5vzFrPR1NhmMugJK6YM9RyfyjrU3QNB4tv-7iJm-bYwi0A/s1600/facebook-h2-4.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNURcNJptHT7CzyBfAbSQJiTecbomMleZl6bGl2-m7NhjigEeWPwIjwmz0e-sn3LBXgU82OukgusGAhB3aCfwKGXdROzA1z5vzFrPR1NhmMugJK6YM9RyfyjrU3QNB4tv-7iJm-bYwi0A/s640/facebook-h2-4.png" /></a>
Paphus Solutionshttp://www.blogger.com/profile/06124946848684589089noreply@blogger.com0tag:blogger.com,1999:blog-3691665099431121179.post-62875664095496547202015-09-22T06:58:00.000-07:002015-09-22T06:58:06.385-07:00Introducing the Self scripting languageThe Self scripting language is a programming language designed to enable a bot developer to program a bot's mind. Self uses a simple 4h gl scripting syntax based on state machine transitions. Self is compiled directly into the bot's brain's knowledgebase. This allows any Self script, or the bot to process its own code the same as it processes any of its other knowledge, and enables the bot to program itself (hence the name <i>Self</i>).
<p>
There are two way that you can utilize Self. The simplest is to define a <i>Formula</i> response. You can define a formula response anywhere you define a response, including the Training page, the Chat Logs page, or in a chat correction. A formula response is a response to a phrase or a pattern that can include programmatic logic. For example "What is your name?" could have the formula response Formula:"My name is {:target}". The <i>{ }</i> brackets are used to denote some piece of code embedded within the response text, and the <i>Formula:</i> keyword is required to define a formula response. The code within the brackets is Self scripting code.
<p>
The second usage of Self is from a program script. Program scripts can be defined or imported from the Scripts page under your bot's Admin page. A new bot will have a default bootstrap set of scripts, that can do things such as understand simple language, perform math, tell the current date or time, or look information up on Freebase. You can alter, extend, import, or create your own scripts to do virtually anything. Scripts are more complex than formulas, but more functional. A Self script is essentially a state machine that processes the input.
<p>
<h3>Self Syntax</h3>
The Self syntax is the same for formula responses and equations within a Self script. Self scripts also contain additional syntax for defining state machines. The Self syntax flows similar to natural language, or languages such as SQL. Self is similar but different than other languages, it is a language based on processing and pattern matching knowledge. It may be difficult to learn at first, but once you understand it, it is quite simple.
<p>
Self is a knowledge oriented language. Everything in Self is either a vertex (similar to an object in object oriented languages), or a relationship (this includes the Self program itself). A vertex has a unique id, and can have a data element, which can be a string (word/sentence), number, date, time, or primitive. A vertex can have a relationship to any other vertex in the bot's knowledgebase. A relationship has a source, type, target, and can have a meta value (all of which are other vertices). Relationships for a type can be ordered and have an index.
<p>
The following are the Self data elements:
<ul>
<li><b>"hello"</b> - string data
<li><b>1234</b> - number
<li><b>Date("1973-11-10")</b> - date
<li><b>Time("11:00:00")</b> - time
<li><b>Timestamp("1973-11-10 11:00:00")</b> - timestamp
<li><b>#is</b> - primitive
<li><b>:value</b> - variable
<li><b>Vertex:34789</b> - vertex reference
<li><b>Formula:"The answer is {:result}"</b> - formula phrase
</ul>
</br>
The following are the Self operators:
<ul>
<li><b>if</b> (:value, :match) <b>then</b> (:result) <b>else</b> (:result2) - <i>if</i> statement
<li><b>do</b> (:operation1, :operation2, :operation3) - <i>do</i> statement
<li><b>for each</b> :relationship <b>of</b> :source <b>as</b> :variable do (:operation1, :operation2, :operation3) - <i>for</i> statement
<li><b>return</b> :value - return the value
<li><b>not</b> (:value) - negates a logical value
<li><b>assign</b> :variable <b>to</b> :value - variable assignment
<li><b>new</b> (:classification) - construct a new vertex
<li><b>word</b> (:word1, :word2) - create a compound word
<li><b>sentence</b> (:word1, :word2) - create a sentence
<li><b>define</b> :word <b>as</b> :meaning - associate the word to the value
<li><b>primitive</b> :text - create a new primitive
<li><b>get</b> :relationship <b>from</b> :source - get a relationship from a vertex
<li><b>all</b> :relationship <b>from</b> :source - create a list of all the relationships from a vertex
<li><b>set</b> :relationship <b>to</b> :value <b>on</b> :source - set a relationship on a vertex
<li><b>append</b> :value <b>to</b> :relationship <b>of</b> :source - add to a relationship on a vertex
<li><b>associate</b> :source <b>to</b> :value <b>by</b> :relationship - add a relationship on a vertex
<li><b>is</b> :source <b>related to</b> :value <b>by</b> :relationship - return if the relationship exists
<li><b>random</b> (:value1, :value2, :value3) - select a random value
<li><b>call</b> :method <b>on</b> :tool <b>with</b> :value - call external tool method
<li><b>Equation:</b>equation - call another equation
<li><b>srai</b> :phrase - evaluate the response to the phrase
</ul>
<p>
<h4>if</h4>
The <i>if</i> statement is similar to other languages, in that it has a logical condition, <i>then</i> condition, and <i>else</i> condition. It is a little different though, as the logical condition is based on pattern matching. The <i>if</i> condition always takes two parameters, and compares the two values to see if they match. If can also include <i>and</i>, <i>or</i>, and <i>not</i>.
<p>
Examples:</br>
<pre>
if (:value, #null) then (do (...)) else (do (...))
if (:value, #true) then (do (...))
if (:value, #false) then (do (...))
if (:word, "you") and (:word2, "are") then (do (...))
if (:word, "I") or (:word, "me") then (do (...))
if (:value, :value2) or (:value, :value3) then (do (...))
if not (:value, :value2) or not (:value, :value3) then (do (...))
</pre>
<p>
<h4>do</h4>
The <i>do</i> statement is similar to other languages. <i>do</i> is used to perform multiple operations, it takes a set of operations as argument, and performs them sequentially. Operators such as <i>if</i> can only perform a single operation in their <i>then</i> or <i>else</i>, so a <i>do</i> operation is required. You can separate operation inside a <i>do</i> using either <i>,</i> or <i>;</i>.
<p>
Examples:</br>
<pre>
do (
assign :response to (new (#sentence));
append "Hello" to #word of :response;
append "world" to #word of :response;
return :response;
)
if (:word, "hello")
then (do (set #topic to "greeting" on :conversation), return "hello there"))
</pre>
<h4>for</h4>
The <i>for</i> statement is similar to other languages. <i>for</i> is used to iterate over the collection of a vertex's relationships. It takes the relationship type, the source object, and a variable to assign each related element to.
<p>
Examples:</br>
<pre>
for each #word of :sentence as :word do (
if ((is :word related to #keyword by #instantiation), #true)
then (set #topic to :word on :conversation)
)
for each #sequence of :repeat do (
append :word to #word of :response;
)
</pre>
<h4>return</h4>
The <i>return</i> operator will return the result from the current equation. If an equation has no return value, the result of the last operation will be returned. If #null is returned it is an indication that equation failed to generate a response, and the next case or response will be used. From within a formula, the #return primitive can be used to avoid printing anything into the phrase.
<p>
Examples:</br>
<pre>
if (:word, "hello")
then (return "hello there")
Formula:"Do you like bridges? { do (set #topic on :conversation to "bridges"; #return) }"
</pre>
<h4>not</h4>
The <i>not</i> operator will negate a logical primitive (#true -> #false, #false - > #true). If the value is not a logical value, the value is returned.
<p>
Examples:</br>
<pre>
assign :negative to (not :negative)
</pre>
<h4>assign</h4>
The <i>assign</i> operator assigns a new value to a variable. Variables start with the <i>:</i> character. You do not need to declare a variable. It will automatically be declared on its first usage. The following variables are always defined and can be used in any script, :input, :sentence, :speaker, :target, and :conversation.
<p>
Examples:</br>
<pre>
assign :name to (word (:firstName, :lastName))
</pre>
<h4>new</h4>
The <i>new</i> operator creates a new vertex. A vertex can be an #instantiation of one or more #classification vertices. Most classifications are defined by a primitive, you can define your own classifications, they are just another vertex that is an #instantiation of #classification. You can also add a classification to an existing vertex using the <i>associate</i> operator. Common classifications include, #word, #compound-word, #name, #sentence, #number, #date, #time, #person, #speaker, #classification, #formula, #pattern, #variable, #keyword, #thing, #description, #action, #adjective, #noun, #verb, #punctuation, #question, #paragraph, #topic, #tweet, #email, and #url.
<p>
Examples:</br>
<pre>
assign :response to (new (#sentence))
associate :name to #name by #instantiation
</pre>
<h4>word</h4>
The <i>word</i> operator can be used to create a new compound word from two or more words. A compound word is a word made up of two or more words, such as a name "Bob Jones", or adjectives like "dark blue". Compound words will automatically be detected in new sentences when being parsed, and help the bot associate meanings. Be careful defining invalid compound words, as they can cause a sentence to be misunderstood.
<p>
Examples:</br>
<pre>
assign :name to (word (:firstName, :lastName))
assign :color to (word ("dark", :color))
</pre>
<h4>sentence</h4>
The <i>sentence</i> operator can create a new sentence from a set of words, or sentence fragments.
<p>
Examples:</br>
<pre>
sentence ("It is a Monday and", srai ("how are you"))
sentence ("I do not know much about", :star)
</pre>
<h4>define</h4>
The <i>define</i> operator associates a word as a meaning. It will also associate the lowercase, uppercase, and capitalized version of the word to the meaning.
<p>
Examples:</br>
<pre>
define :name as :speaker
</pre>
<h4>primitive</h4>
The <i>primitive</i> operator create a new primitive representing the meaning of a word.
<p>
Examples:</br>
<pre>
define :word as (primitive (:word))
</pre>
<h4>get</h4>
The <i>get</i> operator gets the value of a relationship. If the relationship has multiple values, <i>get</i> will return the <i>most conscious</i> to the current context. <i>most conscious</i> means the relationship that has the highest correctness factor, and is most associated to the recent input. <i>get</i> can optionally include an <i>at</i> modifier to get a specific index in an ordered relationship. The <i>at last</i> modifier can be used to obtain the last element in an ordered relationship. <i>get</i> can also include an <i>associated to by</i> modifier to return the related vertex that is most associated to the other vertex.
<p>
Examples:</br>
<pre>
get #age from :speaker
get #parent from :speaker associated to #male by #gender
get #word from :sentence at 2
get #word from :sentence at last 1
</pre>
<h4>all</h4>
The <i>all</i> operator is similar to <i>get</i> but returns a list of all of the values of a relationship. <i>all</i> can also include an <i>associated to by</i> modifier to return the related vertices that are most associated to the other vertex. The list is a new vertex with the #sequence relationship to each item. Lists can be added to a sentence and will be automatically printing as a comma separated list of values.
<p>
Examples:</br>
<pre>
all #parent from :speaker
all #song from :musician associated to #gold by #award
</pre>
<h4>set</h4>
The <i>set</i> operator sets the value of a relationship. Set first clears any existing relationships of the same type, and is meant to be used with single value relationships.
<p>
Examples:</br>
<pre>
set #topic on :conversation to :star
set #age on :speaker to :age
</pre>
<h4>append</h4>
The <i>append</i> operator appends a value to an indexed relationship. <i>append</i> is similar to <i>set</i>, but adds to the relationship, and does not replace the existing value. An optional <i>with meta</i> modifier can be used to add to the relationship's meta value. The meta value of a relationship can contain information or restrictions on the relationship.
<p>
Examples:</br>
<pre>
append :word to #word of :response
append :noun to #word of :response with meta #type as #reflexive
</pre>
<h4>associate</h4>
The <i>associate</i> operator adds a value to a relationship. <i>associate</i> is similar to <i>set</i>, but adds to the relationship, and does not replace the existing value. An optional <i>with meta</i> modifier can be used to add to the relationship's meta value. The meta value of a relationship can contain information or restrictions on the relationship. The <i>weak</i> modifier can be used to define a weak or uncertain relationship (low correctness). If associate is used on a relationship that already exists, its correctness will be increased. The <i>dissociate</i> operator can be used to define an inverse relationship. An inverse relationship can be used to inform the bot that a such a relationship is incorrect. If dissociate is used on a inverse relationship that already exists, its correctness will be decreased.
<p>
Examples:</br>
<pre>
associate :thing to :description by :action with meta #tense as :tense
associate :response to #response of :sentence with meta #previous as :previous;
weak associate :response to #response of :sentence;
associate :speaker to #male by #gender;
dissociate :speaker to #female by #gender;
</pre>
<h4>is</h4>
The <i>is</i> operator returns if a relationship existing. If the relationship exists #true is returned, if the inverse relationship exists #false is returned, otherwise #unknown is returned. <i>is</i> normally takes a relationship and target, but can also just have a target to check if any relationship exists. The <i>is</i> operator will also check synonyms for a word.
<p>
Examples:</br>
<pre>
is :speaker related to #male by #gender
is :speaker related to :topic
</pre>
<h4>random</h4>
The <i>random</i> operator selects one of the arguments at random.
<p>
Examples:</br>
<pre>
random ("Hello", "Hi", "Hey", "G'day mate")
</pre>
<h4>call</h4>
The <i>call</i> operator executes a function on an external tool class. Tools can be used to perform special functions, such as looking up a word on Freebase or Wiktionary, or performing calculations. The system defines several built in tools, these include #Context, #Watch, #Calculator, #Wiktionary, and #Freebase.
<p>
Examples:</br>
<pre>
call #push on #Context with :topic
call #search on #Context with (get #variable from #it)
call #define on #Wiktionary with :unknownWord
call #discover on #Freebase with (:first, :last)
call #multiply on #Calculator with (:number, :number2)
call #subtract on #Calculator with (:number, :number2)
call #add on #Calculator with (:number, :number2)
call #divide on #Calculator with (:number, :number2)
call #time on #Watch
call #date on #Watch
</pre>
<h4>Equation</h4>
The <i>Equation:</i> operator calls another equation within the scope of the script.
<p>
Examples:
<pre>
Equation:plusEquation
</pre>
<h4>srai</h4>
The <i>srai</i> operator recursively evaluates the phrase and returns the response. It can be used to redirect a response, or break up a question into several components. <i>srai</i> was borrowed from AIML, and can be used in conjunction with patterns to process text fragments.
<p>
Examples:
<pre>
srai "hello"
</pre>
<h3>Self Scripts</h3>
<p>
Self is based on processing sensory input. An input could be a chat message, or an email, tweet, or other input. The input is wrapped in an input object which contains the phrase or data. A Self script will normally begin by extracting the phrase from the input, then processing each word in the phrase in sequence. A Self script is broken into a series of states. The first state will process the first word, then if the word matches a case, it will transition to the child state to process the next word.
<p>
When a state sequence reaches the end of the sequence of words in a phrase, it is considered a successful match. Once matched, if the state contains a quotient, it will be evaluated, and the response returned.
<p>
A Self script is composed of the following components:
<ul>
<li>States - A state defines the current input processing.
<li>Cases - A case can transition to another state if the case variable matches the current input.
<li>Patterns - A pattern can match an input and evaluate a template response.
<li>Quotient - A quotient of a state is evaluated if the input processing is complete.
<li>Equation - An equation can be called from a quotient or do statement.
<li>Variables - A variable can be matched with the current input, or store context.
<li>Comments - Comments can be defined in a script using the <i>//</i> characters.
</ul>
<p>
<h4>State</h4>
The <i>State</i> defines the current input processing. Every Self script start with a root state, which is the name of the script. The state can evaluate the current input and transition to another state, or return a quotient. A state can include definitions of sub-states, variables, and equations. A state is composed of a sequence of operations which can include <i>case</i>, <i>pattern</i>, <i>do</i>, <i>goto</i>, and <i>return</i>.
<p>
Examples:
<pre>
// Example script that repeat words.
State:RepeatStateMachine {
case :input goto State:sentenceState for each #word of :sentence;
State:sentenceState {
case "repeat" goto State:repeatState;
State:repeatState {
case :someWord goto State:repeatWordState;
State:repeatWordState {
case :digits goto State:repeatWordNState;
:digits {
set #meaning to :number;
}
:number {
set #instantiation to #number;
}
State:repeatWordNState {
case "times" goto State:repeatWordNTimesState;
State:repeatWordNTimesState {
Quotient:Equation:repeatResponse;
Equation:repeatResponse {
assign :response to (new #sentence);
for each #sequence of :number as :finger
do (append :someWord to #word of :response);
}
}
}
}
}
}
}
</pre>
<h4>case</h4>
The <i>case</i> operator defines a state transition. If the current input matches the case value or variable, then it will transition to the case goto state. A <i>case</i> can also return a template, return and abort the current state, or restrict the match to a topic or previous that match. A state can also process the transition state for a collection of values.
<p>
Examples:
<pre>
case "hello" goto State:helloState
case :name goto State:nameState
case "lol" template "Very funny."
case "what"
topic "joke"
that "what do you get when you cross music and an automobile"
template "a car-tune"
case "huh" return
</pre>
<h4>pattern</h4>
The <i>pattern</i> operator evaluates if the input sentence matches the pattern. A pattern is an easy way to evaluate a phrase and return a template response. A pattern can include wildcards using the <i>*</i> character. The <i>*</i> word or text fragment it matched to the <i>:star</i> variable which can be used in the response.
<p>
Examples:
<pre>
pattern "hello" template "Hi there"
pattern "my name is *" template Formula:"Pleased to meet you {:star}"
pattern "what *"
topic "joke"
that "what do you get when you cross music and an automobile"
template "a car-tune"
</pre>
<h4>Quotient</h4>
A <i>Quotient</i> defines a state's response, and is evaluated if the state is done processing input.
<p>
Examples:
<pre>
Quotient:"Hi there"
Quotient:Formula:"Pleased to meet you {:star}"
Quotient:Equation:repeatResponse;
</pre>
<h4>Equation</h4>
An <i>Equation</i> defines a Self function that can be evaluated to return a response, or process input.
<p>
Examples:
<pre>
Equation:todayResponse {
Formula:"Today is {call #date on #Watch}.";
}
</pre>
<h4>Variables</h4>
A variable defines a matching pattern, or temporary state. Variables can define relationships that must be included or excluded to evaluate a match. Variables are used in a <i>case</i> operation, if the current input matches the variable, then the case is evaluated. Variable make it possible to define generic functions that can process any noun, number, or name.
<p>
Examples:
<pre>
:digits {
set #meaning to :number;
}
:number {
set #instantiation to #number;
}
:name{
set #instantiation to #name;
}
:noun {
set #instantiation to #noun;
}
:firstName {
exclude #instantiation from #verb;
exclude #instantiation from #adjective;
exclude #instantiation from #pronoun;
exclude #instantiation from #punctuation;
exclude #instantiation from #adverb;
exclude #instantiation from #article;
exclude #instantiation from #question;
exclude #meaning from #not;
}
</pre>
<h3>Self vs AIML</h3>
Self is very different than AIML. Self is based on knowledge and state processing, where as AIML is based on patterns and text processing. Self can do everything that AIML can do, and a lot more. If you are experienced with AIML, and want to know how to do the same thing in Self, just import the AIML script and it will be converted to Self.
<p>
<h3>Self Examples</h3>
Paphus provides a shared repository of Self scripts and examples that you can import, customize, and learn from. You bot will also come bootstrapped with several Self scripts that you can learn from and customize.
<p>
See the <a href="http://www.paphuslivechat.com/script?category=Self">Self</a> script category for all of the example scripts.
Paphus Solutionshttp://www.blogger.com/profile/06124946848684589089noreply@blogger.com0tag:blogger.com,1999:blog-3691665099431121179.post-22477401266865817312015-09-22T06:57:00.003-07:002015-09-22T06:57:59.117-07:00Adding a style sheet to your embedded virtual agentYou can embed your virtual agent on your website using JavaScript, or HTML.
You can get the code to embed your bot from the Embed tab, by clicking on the Embed button from your bot's main page.
<p>
There are several embedding options to choose from including:
<ul>
<li>Box - embed using JavaScript as an in-page popup from a button anchored to the browser bottom corner
<li>Div - embed using JavaScript inside your own page that you can customize in HTML and JavaScript
<li>Link - embed as a link to a popup window
<li>Button - embed as a button to a popup window
<li>Bar - embed as a button anchored to the browser bottom corner to a popup window
<li>Bubble - embed as a chat now bubble anchored to the browser bottom corner to a popup window
<li>Frame - embed inside your HTML page as an HTML iframe
</ul>
<p>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVhQBJAa0S0thQVS1tCZniY0nIbYk2gW8D5OMU0fCJzAbGRMdqYrHffELpM0e-vpm5V6idlmb269FJO_YZF7_QRCoAot-7j82bzWuaNSW5qDp0Vy1V1yWHp7wqjVxMHfl4bidxmR9VXG4/s1600/embed-style.png" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVhQBJAa0S0thQVS1tCZniY0nIbYk2gW8D5OMU0fCJzAbGRMdqYrHffELpM0e-vpm5V6idlmb269FJO_YZF7_QRCoAot-7j82bzWuaNSW5qDp0Vy1V1yWHp7wqjVxMHfl4bidxmR9VXG4/s1600/embed-style.png" /></a>
<p>
The embed page lets you customize several settings when embedding, including the colors and text. However, you can customize a lot more if you use your own style settings or style sheet. You can also customize things in JavaScript.
<p>
<h2>Using a Style Sheet</h2>
A css style sheet is a text file format used to describe formatting for an HTML document. Style sheets can contains colors, fonts, sizes, and other formatting information. The Paphus embed API lets you pass your own style sheet to the embed call. You can host this file on your own website, or in the Paphus script library. If using the Paphus script library, just create the file, and use the "File Link" from the script's "Details" page.
<p>
You can custom any element in the embedded chat, here are some examples,
<br/>
<textarea style="width:100%;height:200px">
#send {
background-color: #c90404;
}
menu img {
background-color: white;
padding: 2px;
}
span {
color:#c90404;
}
h1 {
color:#c90404;
}
#admin-topper a {
color: #c90404;
}
response {
color:#c90404;
}
span.chat-1 {
color:grey;
}
img.toolbar {
background-color:white;
padding:2px;
}
</textarea>
<p>
<p>
To customize other elements, just open the embedded chat page and right click in Chrome or other browsers and select "Inspect Element" from the popup menu. You will then be able to find the name, id, or class of the element. You can then add that name to your style sheet.
<p>
For more info on style sheets see, <a href="http://www.w3schools.com/css/">http://www.w3schools.com/css/</a>
<p>
<h2>Using the style tag</h2>
When using the "Box" embed option, JavaScript is used to embed the chatbot, so you cannot pass your own stylesheet, as it is embedded in your own page. You can add your style sheet to your page, or use the style tag to add styles to the page. Some things cannot be customized using style sheets, for these you can use JavaScript to customize the generated HTML after it has been initialized.
<p>
For example to remove the max and close buttons from the popup use,
<pre>
#boxclose {
display: none;
}
#boxmax {
display: none;
}
</pre>
<p>
This example will customize the chatbot Box embedding using a style tag and JavaScript,
<p>
<textarea style="width:100%;height:200px">
<style>
.boxbar {
text-decoration:none;
text-align:center;
padding:3px 22px;
border:ridge 1px #004F72;
border-radius: 8px;
font:24px "Palatino Linotype", "Book Antiqua", Palatino, serif;
color:#E5FFFF;
background-color:#ffcccc;
background-image: -moz-linear-gradient(top, #ffcccc 0%, #c90404 60%);
background-image: -webkit-linear-gradient(top, #ffcccc 0%, #c90404 60%);
background-image: -o-linear-gradient(top, #ffcccc 0%, #c90404 60%);
background-image: -ms-linear-gradient(top, #ffcccc 0% ,#c90404 60%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fa0f0f', endColorstr='#c90404',GradientType=0 );
text-shadow: 2px 0px 0px #121111;
filter: dropshadow(color=#121111, offx=2, offy=0);
}
#response {
color: #c90404;
background-color:black;
}
.boxmenu a {
color: #c90404;
}
#boxclose {
display: none;
}
#boxmax {
display: none;
}
</style>
<script type='text/javascript' src='http://www.paphuslivechat.com/scripts/sdk.js'></script>
<script type='text/javascript'>
SDK.applicationId = "<your-id>";
var sdk = new SDKConnection();
var web = new WebChatbotListener();
web.connection = sdk;
web.instance = '<bot-id>';
web.instanceName = 'MyBot';
web.caption = 'Chat With MyBot ^';
web.createBox();
document.getElementById("box").style.borderColor = "white";
</script>
</textarea>
<p>
<p>
You can customize most things this way, but if you need further customization, you can just use your own JavaScript to access your bot using the Paphus JavaScript SDK. The "Div" embed option gives you some sample code that you can customize to suite your needs.
Paphus Solutionshttp://www.blogger.com/profile/06124946848684589089noreply@blogger.com0tag:blogger.com,1999:blog-3691665099431121179.post-5393513977804012402015-08-12T09:27:00.003-07:002015-08-12T09:28:40.998-07:00Paphus Live Chat 2.7 - AIML 2.0, Facebook automation, iOS app and SDK, native voices, and much more<p>We have released Paphus Live Chat 2.7.</p>
<p>The new release includes many new features, and some fixes and enhancements:</p>
<ul>
<li>Support for AIML 2.0</li>
<li>Support for Self 2.0</li>
<li>Native browser speech including voices for Spanish, Italian, French, German, Chinese, Japanese, and Korean</li>
<li>Facebook automation support</li>
<li>iOS app and SDK</li>
<li>Subdomain and domain web hosting, bot/chat/forum pages</li>
<li>Updated AI engine</li>
<li>Improved embedding</li>
</ul>Paphus Solutionshttp://www.blogger.com/profile/06124946848684589089noreply@blogger.com0tag:blogger.com,1999:blog-3691665099431121179.post-88433949334629776062015-03-31T11:22:00.000-07:002015-03-31T11:23:03.495-07:00Paphus Live Chat 2.4, live video and audio chat, mobile interfaces, and much more<p>We have released Paphus Live Chat Libre 2.4</p>
<p>This release includes many new features such as:</p>
<ul>
<li>Redesigned and mobile friendly interface.</li>
<li>New live video and audio chat.</li>
<li>Create your own video broadcasts.</li>
<li>Create your own video conference.</li>
<li>New rich text, markup, and HTML forum post editors.</li>
<li>Forum images, media, and attachments.</li>
<li>New mobile web interface.</li>
<li>Thumbs up/down/star rating of channels and content.</li>
</ul>
<h2>Video Chat</h2>
<p><img src="http://www.paphuslivechat.com/forum?attachment=50910&key=-1085239783870662118&name=videochat.jpg" alt="" width="500" /></p>Paphus Solutionshttp://www.blogger.com/profile/06124946848684589089noreply@blogger.com0tag:blogger.com,1999:blog-3691665099431121179.post-79152386446965971202015-01-19T08:45:00.001-08:002015-01-19T08:51:44.961-08:00Announcing Paphus Live Chat 2.0 - 3D animated avatars, video, audio, script library, enterprise services and moreWe released Paphus Live Chat 2.0 this week.
<p>
This release includes many new features and services. We added several new bundled services to our Enterprise membership, including custom chat bot creation and training, custom 3D avatar, custom Android app and website, and free web domain name.
<p>
This release includes new avatar support that lets you build, share, and embed avatars independently of your bot. The new avatars support 3D animation, video, audio, emotions, actions, and poses.
<p>
You can browse, create, and link avatars from the <a href="http://www.paphuslivechat.com/browse?browse-type=Avatar">avatar directory</a>. You can choose your bot's avatar from its Avatar Admin page.
<p>
An avatar its a bot's appearance. You can import video, audio, and images to define your avatar. You can associate each media element with an emotion, action, or pose. When your bot expresses the emotion, action, or pose, the avatar will update its appearance.
<p>
There are already several avatars to choose from, and more are being added each day. You can add your own by rendering your own video from 3D software packages such as <a href="http://www.daz3d.com">Daz3D</a>, designing your own graphics, or use stock content available on many content services, or capture your own videos or images and bot yourself.
<p>
The avatars can be linked from a bot, or used by themselves through the Paphus Live Chat web API and SDK. You can embed a avatar on your own website and prompt it what to say, or use the avatar with your own home grown bot.
<p>
The release also includes a new script library. The script library gives you access to many free scripts for training your bot, and includes JavaScript and HTML examples. You can add your own scripts (in any language or format) to your own domain to resuse and share with your teammates.
<p>
The website interface was also redesigned a bit, and the release includes many other minor fixed and enhancements.
<p>
This was a significant release, so there may be a few hiccups as everything get fully tested. If you notice anything that does not work, or wrong, please report it.
Paphus Solutionshttp://www.blogger.com/profile/06124946848684589089noreply@blogger.com0tag:blogger.com,1999:blog-3691665099431121179.post-32620244216687590022015-01-19T06:46:00.003-08:002015-01-19T06:51:14.056-08:00How to add a 3D avatar to your websitePaphus Live Chat 2.0 includes support for creating, using, and embedding web avatars. A web avatar is your website's visual or animated web presence.
<p>
Paphus Live Chat avatars can contain 3D animation, video, audio, and images. You can create your own avatar or choose a shared avatar from the Paphus Live Chat <a href="http://www.paphuslivechat.com/browse?browse-type=Avatar">avatar directory</a>. Avatars can either be connected to your Paphus Live Chat bot, or controlled directly through JavaScript, or even connected to your home grown bot, or third party bot.
<p>
<img style="float:right" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCcy2ojVDRWAovIOcoqhlW7qzy7WuLMgnwygXsKEWNadTbUl5jWr0XfbWO_nQgmn54bP7upC3V-MJrBqIfgfxuGLQbJgVlpIkwCOB5k9lRmHbcZMnfWyMO-cpzEdPrTVsZ2LTqfnV0aXw/s640/embed.jpg" />
The Paphus Live Chat <a href="http://www.botlibre.com/sdk.jsp">JavaScript SDK</a> makes it easy to add an avatar to your own website or blog, to welcome your website visitors, or provide them with information or help. A website avatar gives visitors to your website a good first impression, can highlight important differentiators of your business, or draw attention to special offers.
<p>
<h3>Embedding an avatar</h3>
You can browse existing avatars or create your own from Paphus Live Chat's <a href="http://www.paphuslivechat.com/browse?browse-type=Avatar">avatar directory</a>. To embed an existing avatar simply select the avatar from the browse directory and click on the <i>Embed</i> button. The embed page will let you test the avatar, choose its voice, enter it what to say, and generate the embedding JavaScript code. You then just need to copy the embedding code and paste it on your website.
<p>
The following example shows how to embed the <i>Julie</i> avatar in your website to welcome visitors.
<p>
<textarea style="width:600px;height:150px">
<script type="text/javascript" src="scripts/sdk.js"></script>
<script type="text/javascript">
var sdk = new SDKConnection();
sdk.applicationId = "{your app id}";
var web = new WebAvatar();
web.connection = sdk;
web.avatar = "Julie.webm";
web.createBox();
web.message("Welcome to Paphus Live Chat");
</script>
</textarea>
<p>
<script type="text/javascript" src="scripts/sdk.js"></script>
<script type="text/javascript">
var greet = function() {
var sdk = new SDKConnection();
var web = new WebAvatar();
web.connection = sdk;
web.avatar = "Julie.webm";
web.createBox();
web.message("Welcome to Paphus Liive Chat");
}
</script>
<button type="button" onclick="greet();return false;">Try It Now</button>
<p>
The example shows how to use the <i>WebAvatar</i> class and its <i>createBox()</i> function to add an avatar to a web page. The <i>message()</i> will make the avatar speak the text, and can optionally include an emote, action, and pose. The emotion and pose influence which video or image will be displayed, the action can trigger an image, or audio. You can also choose the voice for the avatar.
<p>
When using the SDK ensure you set your application id. You can obtain your application id from your user page.
<p>
<h3>Connecting your bot to an avatar</h3>
To connect your bot to an avatar, go to your bot's main page. Click on the <i>Admin</i> button and the <a href="http://www.paphuslivechat.com/instance-avatar.jsp"><i>Avatar</i></a> link. When you click on the <i>Choose Avatar</i> input a list of available avatars will be presented for you to select from. If you want to create your own avatar, you can create one from the <i>Avatars</i> browse page. If your bot has an old image avatar, or you just want a simple image avatar, you can click on the <i>1.0 avatar</i> link.
<img width="600" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGd2vbIGXer6djWsoqpEzZKORNjT295scC0Mi6xBjcMpKKXE24fZVGIutt4fDOaF9KFz5U80vUrvpM0uwRQgeWfPPGuLBbkK9sgqFvF9-dabDMiuUIVSA9VvvOzy7NbqE1wAmdTE4Krko/s640/chooseavatar.png" />
<p>
Once your bot is connected to its avatar, you can link phrases or responses to avatar emotions, actions, and poses. You can teach the bot to associate emotions and actions with phrases and responses when chatting with it in learning mode. The emote and action drop downs in the chat page can be used for this.
<p>
The Chat Logs page under your bot's Admin page lets you review and edit all emotions, actions, and poses that have been associated with phrases and responses, or add new ones.
<p>
<img width="600" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0gU_JHoyPm2F7M_npryswbAj4mZkTTYsq7K8-xV2JSDScuWpGo0Gp9y_44vN8_ShPImOCRVIV3xQGsgtoJocl0KZO4vqqm4IMCazYZz2C2N48_ZuBl4S16hB_PsO4smwaPNLDxGPcssU/s640/chatlogs.png" />
<p>
<h3>Creating Your Own Avatar</h3>
You can create your own avatar from the <a href="http://www.botlibre.com/browse?browse-type=Avatar">browse</a> avatars page. To create an avatar, just give it a name, description, and category to categorize it under. You can either make the avatar private and choose who can access it, or make it public and accessible by anyone. You can also choose what license you wish to release its content under.
<p>
To edit the avatar, click on the <i>Editor</i> button. The avatar editor lets you import video, audio, and image files. You can associate each media with an emotion, action, or pose. For example if you have a video that makes the avatar talk, you would associate the pose for the video to <i>talking</i>. The emotions let the avatar express different emotions, and will let the bot using the avatar express itself. There are a fixed set of emotions, but you can create any actions and poses that you wish.
<p>
You can have multiple media for a emotions, action, or pose, and one will be chosen at random. For actions, and poses, you can have an audio element in addition to a video element. Audio can be used to make your avatar perform actions such as laugh, or used as background music or noise for a pose.
<p>
<img width="600" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvwPAjGbsJ_l-lJ4FO7yQTlGlL6FcY3nRqfSbk6HJBM-qYiKrKno8i4omyJMbZpKIpV7Bzi-t8zeV6He7xbFRaGpOd7t0rxDLhV654FDiF5VBgz4au3h6uzFze6_f_caF7Rzpe6lyqG7U/s640/avatar.png" />
<p>
Your video files can be any valid web video format, including mp4, webm, or ogg. Audio files can be any web audio format, such as mp3, or wav.
<p>
You can create your media content using stock content from media websites such as <a href="http://us.fotolia.com/?&utm_source=204427476&utm_medium=affiliation&utm_content=204427476&tmad=c&tmcampid=8&tmplaceref=204427476">Fotolia</a>, or free media libraries like <a href="https://openclipart.org/">openclipart</a>.
<p>
You can use 3D software such as <a href="http://www.daz3d.com/">Daz3D</a> to generate images and video for your avatar. You can use available 3D models, or buy stock 3D models from 3D media marketplaces.
<p>
You can bot yourself, a friend, or model by capturing photos, or video clips using your phone, or camera. If you are adventurous, you can use a green screen (a green sheet will do) to make a transparent background for your media.
<p>
If you are an artist, model, or studio, you can make your own images, or 3D models and video.
<p>
<h3>Video types and browser compatibility</h3>
Avatars can include several types of media. Simple image avatars are the most compatible with all browsers. Video avatars require the browser support HTML5 video, which most modern browsers do. There are several web video formats, including mp4, webm, and ogg. The mp4 video format is the most compatible with all browsers and works in the latest Firefox, Chrome, Internet Explorer, and Safari browsers. The webm format has the advantage of supporting transparent backgrounds, but is only currently supported by Chrome and Firefox, and only Chrome supports transparency.
<p>
Chrome is the most popular browser for most websites, Firefox is normally second, then Safari, Internet Explorer, and other browsers. If browser compatibility is important to your website you can use JavaScript to choose your avatar based on the browser.Paphus Solutionshttp://www.blogger.com/profile/06124946848684589089noreply@blogger.com0tag:blogger.com,1999:blog-3691665099431121179.post-18289769300981811962015-01-19T06:41:00.001-08:002015-01-19T06:42:36.769-08:00Add Speech to your Website using the Paphus Live Chat TTS JavaScript SDKThe Paphus Live Chat JavaScript SDK provides dynamic access to all of Paphus Live Chat's services including chat bots, live chat, chat rooms, forums, and speech.
The speech API for the SDK can be used in conjunction with chat bots, live chat, or on its own.
<p>
The speech API is part of the Paphus Live Chat JavaScript SDK.<br/>
To add the <a href="http://www.paphuslivechat.com/scripts/sdk.js">Paphus Live Chat JavaScript SDK</a> to your webpage you just need to import it in your webpage's <head> section.
<textarea style="width:530px;height:60px">
<script type="text/javascript" src="http://www.paphuslivechat.com/scripts/sdk.js"></script>
</textarea>
<p>
The speech API is <code>SDK.tts(text, voice)</code>.
The <i>text</i> is the text you would like converted to voice, and the <i>voice</i> is the voice you would like to use.
A voice is not required, if none is passed, the default voice is used.
There are currently 20 voices available in several languages. You can test the voices <a href="http://www.paphuslivechat.com/voice.jsp">here</a>.
<p>
The available voices include:
<ul>
<li>cmu-slt - English : US : Female
<li>cmu-slt-hsmm - English : US : Female
<li>cmu-bdl-hsmm - English : US : Male
<li>cmu-rms-hsmm - English : US : Male
<li>dfki-prudence-hsmm - English : GB : Female
<li>dfki-spike-hsmm - English : GB : Male
<li>dfki-obadiah-hsmm - English : GB : Male
<li>dfki-poppy-hsmm - English : GB : Female
<li>bits1-hsmm - German : DE : Female
<li>bits3-hsmm - German : DE : Male
<li>dfki-pavoque-neutral-hsmm - German : DE : Male
<li>camille - French : FR : Female
<li>camille-hsmm-hsmm - French : FR : Female
<li>jessica_voice-hsmm - French : FR : Female
<li>pierre-voice-hsmm - French : FR : Male
<li>enst-dennys-hsmm - French : FR : Male
<li>istc-lucia-hsmm - Italian : IT : Male
<li>voxforge-ru-nsh - Russian : RU : Male
<li>dfki-ot-hsmm - Turkish : TR : Male
<li>cmu-nk-hsmm - Telugu : TE : Female
</ul>
<h4>Example Speech API Usage</h4>
<textarea style="width:530px;height:120px"><script>
SDK.applicationId = <your-app-id>;
SDK.tts("The Paphus Live Chat JavaScript SDK provides free dynamic access to all of Paphus Live Chat's services including chat bots, live chat, chat rooms, forums, and speech.");
</script>
</textarea>
<script type="text/javascript" src="http://www.paphuslivechat.com/scripts/sdk.js"></script>
<script>
function speak() {
var voice = document.getElementById("voice").value;
var text = document.getElementById("text").value;
SDK.tts(text, voice);
}
</script>
<p>
Try it out now (press speak)
<br/>
<textarea id="text" style="width:530px" type="text">The Paphus Liive Chat Java Script SDK provides free dynamic access to all of Paphus Liive Chat's services including chat bots, live chat, chat rooms, forums, and speech.
</textarea>
<br/>
<input type="button" onClick="speak();return false;" value="Speak">
<select id="voice">
<option value="cmu-slt">English : US : Female : SLT</option>
<option value="cmu-slt-hsmm">English : US : Female : SLT HSMM</option>
<option value="cmu-bdl-hsmm">English : US : Male : BDL</option>
<option value="cmu-rms-hsmm">English : US : Male : RMS</option>
<option value="dfki-prudence-hsmm">English : GB : Female : Prudence</option>
<option value="dfki-spike-hsmm">English : GB : Male : Spike</option>
<option value="dfki-obadiah-hsmm">English : GB : Male : Obadiah</option>
<option value="dfki-poppy-hsmm">English : GB : Female : Poppy</option>
<option value="bits1-hsmm">German : DE : Female : Bits1</option>
<option value="bits3-hsmm">German : DE : Male : Bits3</option>
<option value="dfki-pavoque-neutral-hsmm">German : DE : Male : Pavoque</option>
<option value="camille">French : FR : Female : Camille</option>
<option value="camille-hsmm-hsmm">French : FR : Female : Camille HSMM</option>
<option value="jessica_voice-hsmm">French : FR : Female : Jessica</option>
<option value="pierre-voice-hsmm">French : FR : Male : Pierre</option>
<option value="enst-dennys-hsmm">French : FR : Male : Dennys</option>
<option value="istc-lucia-hsmm">Italian : IT : Male : Lucia</option>
<option value="voxforge-ru-nsh">Russian : RU : Male : NSH</option>
<option value="dfki-ot-hsmm">Turkish : TR : Male : OT</option>
<option value="cmu-nk-hsmm">Telugu : TE : Female : NK</option>
</select>
<p>
When using the Paphus Live Chat SDK, ensure you set your application id. You can obtain your application id from your user page.
Paphus Solutionshttp://www.blogger.com/profile/06124946848684589089noreply@blogger.com0tag:blogger.com,1999:blog-3691665099431121179.post-44203581349472353562015-01-19T06:24:00.002-08:002015-01-19T08:48:28.550-08:00Chat Logs : how to train your customer service bot by monitoring its chat logs, using keywords and topicsPaphus Live Chat supports a diverse set of features for creating and training chat bots and live chat automation bots.
Today we will discuss the Chat Logs feature, and how to create and train a customer service bot using the Chat Logs page.
The Chat Logs page provides the best way to monitor and train your bot, by letting you see its conversations and let you correct its responses.
No scripting or programming is required.
<p>
To create a customer service bot, create your bot using the service_template. This template has learning disabled. This is important, as normally for a customer service bot, you do not want it to learn responses from your users. It also does not include the generic AI scripts <i>WhatIs</i>, <i>WhereIs</i>, <i>NounVerbAdjective</i>, as these scripts can normally lead to the bot responding to questions outside of its domain. If you created your bot through other means, you can disable Learning, and Comprehension from the Learning page under Admin. You can also remove the <i>WhatIs</i>, <i>WhereIs</i>, and <i>NounVerbAdjective</i> scripts from the Scripts page under Admin.
<p>
Once you have created your bot, you can enter or upload some common questions and answers for your domain. If you already have a FAQ on your website, uploading this would be a good way to start. Once you have your basic bot built, you can deploy it to your website or beta site, and let others interact with it. Letting users talk with your bot is the best way to see what questions you should train it for.
<p>
To view your bot's conversations or trained responses go to the Chat Logs page. To get to your bot's Chat Logs page, first select your bot from Browse (click on My Bots), then click the <i>Admin</i> button, and finally click the <i>Chat Logs</i> link from the top menu.
<img width="550" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghj0hloSavbX5bYL6tiECuVkZ6MBlzLHxyI71l4Hpa8Cj98FShaOVab8n_lI_dLEDMegv41VQW1KYK-ar_2hfjS_3vtyNBpJhm2JupT-S9l5d9YUNM_xR3btB52U97OqxONsxheR2RD14/s640/chatlogs02.png" />
<p>
The chat logs page initially shows nothing, you need to first select what your want to see from the <i>Search</i> drop-down.
<br/>
The choices are:
<ul>
<li>conversations : the log of each conversation your bot has had
<li>new responses : all new responses your bot has learned
<li>new phrase : all new phrases (sentences) your bot has encountered
<li>flagged responses : all responses that have been flagged by users or administrators
</ul>
Next you need to select a <i>Duration</i> from the next drop-down. The duration is just the time period to view, from the last 24 hours, to week, month, or all.
You can also filter the results that contain certain words, or filter the type of conversation (chat, email, tweet, message).
<p>
<h3>Conversations</h3>
To see how your bot is doing, search for all conversations since you last checked it. This will give you a list of conversations.
The top toolbar gives a set of buttons for administrating your bot's responses.
<br/>
<img width="550" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAU9uyQ8Sxh7Ua18HzgF1m49MGmu6c7dqh3SaS7LHd7unZm7tJVeyZr5Npo6hEsV-qkjsHhSm14qIo9iGUcKrA5OaIAyzDMROrevbV5cpYNoqdS7Nj57WpccxRydHPrPHDjM1XM6aZwKA/s640/chatlogs01.png" />
<br/>
From the left to right the buttons are:
<ul>
<li>correction : enter a better response for each selected response in the conversations
<li>select all : select all listed conversations
<li>invalidate : mark the selected responses as incorrect, or decrease their % correctness (the bot will never use these responses to the question again)
<li>validate : mark the selected responses as good responses, or increase their % correctness (the bot will use this response to similar questions)
<li>flag : flag the selected phrases as offensive, the bot will never repeat them, and will not let users enter them
<li>unflag : unflag the selected phrase as not offensive phrases
<li>delete : remove the response from the question, or delete the conversation
<li>download : export and download the listed conversations as a chat log, response list, or AIML set
<li>upload : upload and import a chat log, response list, or AIML file from your computer
<li>import : import a chat log, response list, or AIML script from the shared script library
</ul>
<p>
When you review your bot's chat logs, search for relevant questions that it answered poorly. Click the checkbox beside its response to the question, and click the <i>correction</i> button. This will take you to a screen to enter a better response to the question. Enter the response, and optionally a keyword or required words from the question, or a topic to categories the response. Click <i>Save</i>. Your bot will now answer this question, and similar questions, or questions with the keywords, using your new response.
<p>
If the user's question was specific to the bot's previous response, then click the checkbox beside the bot's previous response. This will add the previous response to the new response, so that it will use this response in the correct context.
<p>
<img width="550" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPRMu4Smszv7mO4zVhNAKY_bOahgsVid1G7lVGDPVO43mhNZSN7S4TA80mkwgxY0_csdHF3aQm4komJKD5bkN98i-ar2qYJ1XGbl78WNrRBIElAZrrRJlYKiYPENyqg8_lnnngjJbae_I/s640/chatlogs03.png" />
<h3>Responses</h3>
To see all of your bot's learned responses, search for <i>new responses</i> for the <i>all</i> duration. This will list all of your bots responses, ordered by when they were learned.
A response will not only be used for the exact question it was learned for, but also any similar questions. When your bot encounters a question it does not know a response to, it will find the best matching question that it knows a response to, and use that response. If the bot does not know any similar questions, then it will use its default response.
<p>
The response list lets you enter a new response to each question, or delete, invalidate, validate, or flag any response.
<p>
<img width="550" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJLbR0qx6-56g8339FlrFF1fU3yAbRlcHUSx5G5CqmCl0aWa-fxdSuTubeuxovqsYceDYuXdUiJmCjrlILrodYEymCFrR3f-_d3h-8wK8SmnRJMPnnnXBX2vc-mKTsqGJ4F1vmAVRcMiA/s640/chatlogs04.png" />
<h3>Keywords, required, previous, and topics</h3>
The checkboxes under the toolbar let the keywords, required, previous, and topics be shown for the responses. These can be used to improve a bot's responses.
When you click each of the checkboxes the elements will be displayed under the response, and a entry will be given to let you specify new elements for new or existing responses. To add to an existing response, simply cut and paste the response into the new response entry.
<p>
<h4>Keywords</h4>
Keywords are important words in the question that should influence when the response is used.
<br/><br/>
Keyword Example
<pre>Question: Do you like hockey?
Response: Hockey is my favorite sport.
Keyword: hockey
Question: I love spinach.
Response: Spinach is is my favorite food.
Keyword: spinach
</pre>
A keyword will be used by the bot to select the best response. Keywords let some words count for more than other words. In the example, the bot knows two responses, how will it respond to the phrase "I love hockey"? Without the keywords the bot would probably match this question with "I love spinach", but since hockey is a keyword, it will instead match it with "Do you like hockey?".
<p>
If the response has no defined required words, then the keywords will also be required for the response match. So "I love hockey" would not be matched with "I love spinach." because it is missing the keyword.
<p>
Be careful using too many keywords. If every word is a keyword, then their value is diminished. Never make common words like "the", "a", "he", "what" keywords, if you require one of these words for a match use a required word instead.
<p>
<h4>Required</h4>
A required word is a word that is required to be in the question for a specific response.
<br/><br/>
Required Example
<pre>Question: Do you like hockey?
Response: Yes, I like hockey.
Required: like
</pre>
A required word can be used to ensure the bot does not choose a response if the required word is missing from the question.
For example the question "Do you play hockey?" would normally be matched to this response, but because it is missing the required word "like", it will not be considered as a match.
<p>
<h4>Previous</h4>
A previous responses is the bot's preceding response. Previous responses can be used to give a response a context.
<br/><br/>
Previous Example
<pre>Question: Yes.
Response: Great, wanna go out sometime?
Previous: Are you single?
Question: Yes.
Response: I am please to hear that.
Previous: Are you happy?
</pre>
The question "Yes" has multiple responses. The bot can use the previous response to choose the best response. You can also invalidate a previous response to ensure the bot does not use a response if the previous response was preceding.
<p>
<h4>Topics</h4>
A topic is the general topic category for the response. For example a response on a hockey related question would belong to the "hockey" topic. You can use topics to categories your responses and give the bot additional context. If the bot has multiple responses to a question, it will use the one that matches the current topic.
<p>
<h3>Importing</h3>
You can import shared, or upload response lists, chat logs, or AIML sets into your bot. Your bot will learn all of the imported responses. This is a good way to kick-start your bot. Be careful of importing too much, or importing responses that are not relevant to your domain, as this will make your bot less able to give responses relevant to its domain.
<p>
<img width="550" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNFAohi-6HcCI9u58NLaJOKY_0qU6fnAFUQEEXK6eUqCTuiZvE-hCYHGCMJ3BXQi1sT1Cl-2KwVqeTDAgBidD90c4m68RvaPJYrrHQnvGGo4nnlcjiPubEx1k7se-seBrtwtSMbLnyI44/s640/chatlogs05.png" />
<br/>
<img width="550" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg88ev8qQiAy0U9Z6Yd-S92xzXz-Xl4wLle6Jcdpb_xlmHUthl2Z46VJMKfYLEuzKMtA4amcNlsP9Yrp2Rtkvl0uKolrpmJGOwK3npfAdCLb3aUmJqe_co3hiS82MkV7EqY2418wJSKkKM/s640/chatlogs06.png" />
<h4>Chat Logs</h4>
A <i>Chat Log</i> is the log of one or more conversations. Each phrase must be prefixed by the speaker, and each conversation must be separated by a new line.
<br/><br/>
Example Chat Log
<pre>User: Hello
Bot: Hello
User: How are you?
Bot: I am fine, yourself?
User: I'm good.
User: Hey
Bot: Hey whats up?
</pre>
This log contains two conversations. When you import the chat log, the bot will learn the responses in context, in that it will both record the responses to the questions, and the previous response. This will allow the bot to choose the best response for questions it knows multiple responses to, based on the context. For the example above if you say "Hello" the bot may answer "Hello" or "How are you?", however if its previous response was "Hello" then it will answer "How are you?" because of the context.
<p>
You can also add emotions to responses in a chat log. This will tag the word or phrase with the emotion. Emotions will affect the bot's mood and avatar.
<br/>
The available emotions are:
<ul>
<li> <love>, <like>, <dislike>, <hate>
<li> <serene>, <calm>, <anger>, <rage>
<li> <ecstatic>, <happy>, <sad>, <crying>
<li> <courageous>, <confident>, <afraid>, <panic>
<li> <surprise>, <bored>
<li> <laughter>, <serious>
</ul>
<br/>
Example Chat Log with emotions
<pre>User: Do you like me?
Bot:<love> I love you.
User:<anger> Your are stupid.
Bot: That is not a nice thing to say.
Bot:<laughter> lol
</pre>
There is an import option to <i>Process learning and comprehension</i>. Instead of just importing the responses, this will have the bot listen to the conversation and learn from it. If you have comprehension enabled in your bot, it will process each response through comprehension.
<p>
Comprehension will analyze the questions and responses and try to generalize the responses into scripted formula responses. For example is may take the response "Bot: My name is Bot" to be generalized to Formula:"My name is {get #name from :target}". Or could learn how to count from the response "Bot: 2" to "User: 1".
<p>
It will also lookup each word for its meaning from Wiktionary, and process questions and answer through its state machines. For example the question "User: What is the Earth" will have the bot lookup in Freebase all information related to the planet Earth, and import the information into its brain. Comprehension will take significantly longer to import the chat log, so only use this for small chat log files that you want the bot to learn from.
<p>
<h4>Response Lists</h4>
A response list is a list of questions and responses. Each question and its responses must be separated by a new line. When you import a response list, the bot will learn all of the new responses.
<br/><br/>
Response List Example
<pre>Hello
Hi
Hey
Hello
Hi
Hi
Bye
Goodbye
Good night
Good night, have a good sleep.
</pre>
You can also include keywords, required, previous, and topics in a response list. You can also import default responses, greetings, or execute scripts. A default response is used when no other response is known, and a greeting is used as the bot's first response in a new conversation. A script can include Self code to be executed, which can add knowledge directly to your bot's brain.
<br/><br/>
Advanced Response List Example
<pre>greeting: Hello, how may I be of service?
greeting: Hi, how can I help?
default: Sorry, I do not understand.
default: I do not understand, please rephrase your question.
What are your services?
Our services include chat bot hosting and development.
keywords: services
topic: services
Yes
Please email the error to support at support@paphuslivechat.com
previous:Are you getting an error?
script: set #botmaster to "Admin" on #self
</pre>
<p>
<h4>AIML</h4>
AIML stands for the Artificial Intelligence Markup Language. It is an XML standard for defining chat bot responses. You can import any AIML file as a chat log. The bot will learn all of the patterns and templates as questions and responses. It will convert any AIML tags in the template to Formula responses using Self code, and use wildcard Patterns for any AIML patterns.
<p>
AIML is normally executed as a script, where each pattern either matches or does not match a question. When importing AIML as a chat log, it will not be executed as a script. Each AIML pattern will be matched based on how well it matches the question. For example the pattern "what is meaning of life" could match the question "what's the purpose of life", if it were the best match. Standard AIML would not perform such as match, as only exact or wildcard matches are allowed.
<p>
The chat logs method of importing AIML allows the AIML to be integrated with the bot's responses, knowledgebase, and learning. Importing AIML as a chat log is the best way to import large AIML files. You can also import AIML from the Scripts page, if you want the AIML to be executed precisely.
<p>
<h3>Summary</h3>
You now should better understand how your bot responses to questions, and how to best train your bot for your domain using chat logs, responses, keywords, required, previous, and topics. If you are interested in learning scripting, you can program more advanced responses using Self or AIML from the Scripts page.
Paphus Solutionshttp://www.blogger.com/profile/06124946848684589089noreply@blogger.com0