1180 lines (1179 with data), 99.1 kB
{
"cells": [
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: Flask==0.12.3 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from -r requirements.txt (line 4)) (0.12.3)\n",
"Collecting chatterbot==0.8.4\n",
" Using cached ChatterBot-0.8.4-py2.py3-none-any.whl (72 kB)\n",
"Requirement already satisfied: SQLAlchemy==1.2 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from -r requirements.txt (line 6)) (1.2.0)\n",
"Requirement already satisfied: Werkzeug>=0.7 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Flask==0.12.3->-r requirements.txt (line 4)) (1.0.0)\n",
"Requirement already satisfied: itsdangerous>=0.21 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Flask==0.12.3->-r requirements.txt (line 4)) (1.1.0)\n",
"Requirement already satisfied: click>=2.0 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Flask==0.12.3->-r requirements.txt (line 4)) (7.0)\n",
"Requirement already satisfied: Jinja2>=2.4 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Flask==0.12.3->-r requirements.txt (line 4)) (2.11.1)\n",
"Collecting chatterbot-corpus<1.2,>=1.1\n",
" Using cached chatterbot_corpus-1.1.4-py2.py3-none-any.whl (117 kB)\n",
"Requirement already satisfied: python-twitter<4.0,>=3.0 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4->-r requirements.txt (line 5)) (3.5)\n",
"Requirement already satisfied: mathparse<0.2,>=0.1 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4->-r requirements.txt (line 5)) (0.1.2)\n",
"Requirement already satisfied: python-dateutil<2.7,>=2.6 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4->-r requirements.txt (line 5)) (2.6.1)\n",
"Requirement already satisfied: pymongo<4.0,>=3.3 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4->-r requirements.txt (line 5)) (3.10.1)\n",
"Requirement already satisfied: nltk<4.0,>=3.2 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4->-r requirements.txt (line 5)) (3.4.5)\n",
"Requirement already satisfied: MarkupSafe>=0.23 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Jinja2>=2.4->Flask==0.12.3->-r requirements.txt (line 4)) (1.1.1)\n",
"Collecting PyYAML<4.0,>=3.12\n",
" Using cached PyYAML-3.13-cp37-cp37m-win_amd64.whl (206 kB)\n",
"Requirement already satisfied: requests-oauthlib in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5)) (1.3.0)\n",
"Requirement already satisfied: future in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5)) (0.18.2)\n",
"Requirement already satisfied: requests in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5)) (2.22.0)\n",
"Requirement already satisfied: six>=1.5 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from python-dateutil<2.7,>=2.6->chatterbot==0.8.4->-r requirements.txt (line 5)) (1.14.0)\n",
"Requirement already satisfied: oauthlib>=3.0.0 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests-oauthlib->python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5)) (3.1.0)\n",
"Requirement already satisfied: idna<2.9,>=2.5 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5)) (2.8)\n",
"Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5)) (1.25.8)\n",
"Requirement already satisfied: chardet<3.1.0,>=3.0.2 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5)) (3.0.4)\n",
"Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5)) (2019.11.28)\n",
"Installing collected packages: PyYAML, chatterbot-corpus, chatterbot\n",
" Attempting uninstall: PyYAML\n",
" Found existing installation: pyyaml 5.3\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"ERROR: Cannot uninstall 'pyyaml'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.\n"
]
}
],
"source": [
"!pip install -r requirements.txt "
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"pip 20.0.2 from C:\\Users\\Vanisri Kirubakaran\\anaconda3-new\\lib\\site-packages\\pip (python 3.7)\n",
"\n"
]
}
],
"source": [
"!pip --version"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Collecting PyYAML==5.3.1\n",
" Using cached PyYAML-5.3.1-cp37-cp37m-win_amd64.whl (216 kB)\n",
"Installing collected packages: PyYAML\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"ERROR: Could not install packages due to an EnvironmentError: [WinError 5] Access is denied: 'C:\\\\Users\\\\Vanisri Kirubakaran\\\\anaconda3-new\\\\Lib\\\\site-packages\\\\_yaml.cp37-win_amd64.pyd'\n",
"Consider using the `--user` option or check the permissions.\n",
"\n"
]
}
],
"source": [
"!pip install --ignore-installed PyYAML==5.3.1"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Collecting pip==9.0.3\n",
" Downloading pip-9.0.3-py2.py3-none-any.whl (1.4 MB)\n",
"Installing collected packages: pip\n",
" Attempting uninstall: pip\n",
" Found existing installation: pip 20.0.2\n",
" Uninstalling pip-20.0.2:\n",
" Successfully uninstalled pip-20.0.2\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"ERROR: Could not install packages due to an EnvironmentError: [WinError 5] Access is denied: 'C:\\\\Users\\\\Vanisri Kirubakaran\\\\AppData\\\\Local\\\\Temp\\\\pip-uninstall-j9fdwomc\\\\pip.exe'\n",
"Consider using the `--user` option or check the permissions.\n",
"\n"
]
}
],
"source": [
"!pip install --upgrade --force-reinstall pip==9.0.3"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: Flask==0.12.3 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from -r requirements.txt (line 4))\n",
"Collecting chatterbot==0.8.4 (from -r requirements.txt (line 5))\n",
" Downloading https://files.pythonhosted.org/packages/b6/8d/472f3e9e9f969fbbe455910148739d5fdad86e212573274ab0611d3272f2/ChatterBot-0.8.4-py2.py3-none-any.whl (72kB)\n",
"Requirement already satisfied: SQLAlchemy==1.2 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from -r requirements.txt (line 6))\n",
"Requirement already satisfied: itsdangerous>=0.21 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Flask==0.12.3->-r requirements.txt (line 4))\n",
"Requirement already satisfied: Jinja2>=2.4 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Flask==0.12.3->-r requirements.txt (line 4))\n",
"Requirement already satisfied: click>=2.0 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Flask==0.12.3->-r requirements.txt (line 4))\n",
"Requirement already satisfied: Werkzeug>=0.7 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Flask==0.12.3->-r requirements.txt (line 4))\n",
"Collecting chatterbot-corpus<1.2,>=1.1 (from chatterbot==0.8.4->-r requirements.txt (line 5))\n",
" Downloading https://files.pythonhosted.org/packages/75/76/98639175fe64eaa3cb6903004d737a62cb6eab1f3f34020ca11fb3250214/chatterbot_corpus-1.1.4-py2.py3-none-any.whl (117kB)\n",
"Requirement already satisfied: pymongo<4.0,>=3.3 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4->-r requirements.txt (line 5))\n",
"Requirement already satisfied: mathparse<0.2,>=0.1 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4->-r requirements.txt (line 5))\n",
"Requirement already satisfied: python-twitter<4.0,>=3.0 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4->-r requirements.txt (line 5))\n",
"Requirement already satisfied: python-dateutil<2.7,>=2.6 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4->-r requirements.txt (line 5))\n",
"Requirement already satisfied: nltk<4.0,>=3.2 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4->-r requirements.txt (line 5))\n",
"Requirement already satisfied: MarkupSafe>=0.23 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Jinja2>=2.4->Flask==0.12.3->-r requirements.txt (line 4))\n",
"Collecting PyYAML<4.0,>=3.12 (from chatterbot-corpus<1.2,>=1.1->chatterbot==0.8.4->-r requirements.txt (line 5))\n",
" Downloading https://files.pythonhosted.org/packages/bf/96/d02ef8e1f3073e07ffdc240444e5041f403f29c0775f9f1653f18221082f/PyYAML-3.13-cp37-cp37m-win_amd64.whl (206kB)\n",
"Requirement already satisfied: future in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5))\n",
"Requirement already satisfied: requests-oauthlib in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5))\n",
"Requirement already satisfied: requests in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5))\n",
"Requirement already satisfied: six>=1.5 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from python-dateutil<2.7,>=2.6->chatterbot==0.8.4->-r requirements.txt (line 5))\n",
"Requirement already satisfied: oauthlib>=3.0.0 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests-oauthlib->python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5))\n",
"Requirement already satisfied: chardet<3.1.0,>=3.0.2 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5))\n",
"Requirement already satisfied: idna<2.9,>=2.5 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5))\n",
"Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5))\n",
"Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->python-twitter<4.0,>=3.0->chatterbot==0.8.4->-r requirements.txt (line 5))\n",
"Installing collected packages: PyYAML, chatterbot-corpus, chatterbot\n",
" Found existing installation: PyYAML 5.3\n",
" Uninstalling PyYAML-5.3:\n",
" Successfully uninstalled PyYAML-5.3\n",
" Rolling back uninstall of PyYAML\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" Cache entry deserialization failed, entry ignored\n",
" Cache entry deserialization failed, entry ignored\n",
" Cache entry deserialization failed, entry ignored\n",
" Cache entry deserialization failed, entry ignored\n",
" Cache entry deserialization failed, entry ignored\n",
" Cache entry deserialization failed, entry ignored\n",
" DEPRECATION: Uninstalling a distutils installed project (PyYAML) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.\n",
"Exception:\n",
"Traceback (most recent call last):\n",
" File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\basecommand.py\", line 215, in main\n",
" status = self.run(options, args)\n",
" File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\commands\\install.py\", line 342, in run\n",
" prefix=options.prefix_path,\n",
" File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\req\\req_set.py\", line 784, in install\n",
" **kwargs\n",
" File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\req\\req_install.py\", line 851, in install\n",
" self.move_wheel_files(self.source_dir, root=root, prefix=prefix)\n",
" File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\req\\req_install.py\", line 1064, in move_wheel_files\n",
" isolated=self.isolated,\n",
" File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\wheel.py\", line 345, in move_wheel_files\n",
" clobber(source, lib_dir, True)\n",
" File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\wheel.py\", line 323, in clobber\n",
" shutil.copyfile(srcfile, destfile)\n",
" File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\shutil.py\", line 121, in copyfile\n",
" with open(dst, 'wb') as fdst:\n",
"PermissionError: [Errno 13] Permission denied: 'c:\\\\users\\\\vanisri kirubakaran\\\\anaconda3-new\\\\Lib\\\\site-packages\\\\_yaml.cp37-win_amd64.pyd'\n"
]
}
],
"source": [
"!pip install -r requirements.txt --disable-pip-version-check"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Collecting pip\n",
" Downloading https://files.pythonhosted.org/packages/43/84/23ed6a1796480a6f1a2d38f2802901d078266bda38388954d01d3f2e821d/pip-20.1.1-py2.py3-none-any.whl (1.5MB)\n",
"Installing collected packages: pip\n",
" Found existing installation: pip 9.0.3\n",
" Uninstalling pip-9.0.3:\n",
" Successfully uninstalled pip-9.0.3\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"Cache entry deserialization failed, entry ignored\n",
"Exception:\n",
"Traceback (most recent call last):\n",
" File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\shutil.py\", line 398, in _rmtree_unsafe\n",
" os.unlink(fullname)\n",
"PermissionError: [WinError 5] Access is denied: 'C:\\\\Users\\\\Vanisri Kirubakaran\\\\AppData\\\\Local\\\\Temp\\\\pip-8gao_bdp-uninstall\\\\users\\\\vanisri kirubakaran\\\\anaconda3-new\\\\scripts\\\\pip.exe'\n",
"\n",
"During handling of the above exception, another exception occurred:\n",
"\n",
"Traceback (most recent call last):\n",
" File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\basecommand.py\", line 215, in main\n",
" File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\commands\\install.py\", line 342, in run\n",
" File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\req\\req_set.py\", line 795, in install\n",
" File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\req\\req_install.py\", line 767, in commit_uninstall\n",
" File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\req\\req_uninstall.py\", line 142, in commit\n",
" File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\_vendor\\retrying.py\", line 49, in wrapped_f\n",
" return Retrying(*dargs, **dkw).call(f, *args, **kw)\n",
" File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\_vendor\\retrying.py\", line 212, in call\n",
" raise attempt.get()\n",
" File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\_vendor\\retrying.py\", line 247, in get\n",
" six.reraise(self.value[0], self.value[1], self.value[2])\n",
" File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\_vendor\\six.py\", line 686, in reraise\n",
" def assertRegex(self, *args, **kwargs):\n",
" File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\_vendor\\retrying.py\", line 200, in call\n",
" attempt = Attempt(fn(*args, **kwargs), attempt_number, False)\n",
" File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\utils\\__init__.py\", line 102, in rmtree\n",
" File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\shutil.py\", line 516, in rmtree\n",
" return _rmtree_unsafe(path, onerror)\n",
" File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\shutil.py\", line 395, in _rmtree_unsafe\n",
" _rmtree_unsafe(fullname, onerror)\n",
" File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\shutil.py\", line 395, in _rmtree_unsafe\n",
" _rmtree_unsafe(fullname, onerror)\n",
" File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\shutil.py\", line 395, in _rmtree_unsafe\n",
" _rmtree_unsafe(fullname, onerror)\n",
" [Previous line repeated 1 more time]\n",
" File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\shutil.py\", line 400, in _rmtree_unsafe\n",
" onerror(os.unlink, fullname, sys.exc_info())\n",
" File \"c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages\\pip\\utils\\__init__.py\", line 114, in rmtree_errorhandler\n",
"PermissionError: [WinError 5] Access is denied: 'C:\\\\Users\\\\Vanisri Kirubakaran\\\\AppData\\\\Local\\\\Temp\\\\pip-8gao_bdp-uninstall\\\\users\\\\vanisri kirubakaran\\\\anaconda3-new\\\\scripts\\\\pip.exe'\n"
]
}
],
"source": [
"!pip install --upgrade pip"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Found existing installation: PyYAML 5.3\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"ERROR: Cannot uninstall 'PyYAML'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.\n"
]
}
],
"source": [
"!pip uninstall PyYAML==5.3"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"ename": "ModuleNotFoundError",
"evalue": "No module named 'chatterbot'",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-5-5b4764c2a302>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mchatterbot\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mChatBot\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mchatterbot\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtrainers\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mListTrainer\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mos\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mModuleNotFoundError\u001b[0m: No module named 'chatterbot'"
]
}
],
"source": [
"from chatterbot import ChatBot\n",
"from chatterbot.trainers import ListTrainer\n",
"import os\n",
"\n",
"\n",
"english_bot = ChatBot('Bot')\n",
"english_bot.set_trainer(ListTrainer)\n",
"for file in os.listdir('data'):\n",
" print('Training using '+file)\n",
" convData = open('data/' + file).readlines()\n",
" english_bot.train(convData)\n",
" print(\"Training completed for \"+file)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"so,tried various things for the error,but no use..seems like pip version and PyYAML versions do not match.But pyyaml version is difficult to change.\n",
"so..took each line out from requirements.txt and run as separate commands.\n",
"also updated SQLAlchemy to 1.2 from 1.1.11 "
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: Flask==0.12.3 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (0.12.3)\n",
"Requirement already satisfied: itsdangerous>=0.21 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Flask==0.12.3) (1.1.0)\n",
"Requirement already satisfied: Werkzeug>=0.7 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Flask==0.12.3) (1.0.0)\n",
"Requirement already satisfied: click>=2.0 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Flask==0.12.3) (7.0)\n",
"Requirement already satisfied: Jinja2>=2.4 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Flask==0.12.3) (2.11.1)\n",
"Requirement already satisfied: MarkupSafe>=0.23 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from Jinja2>=2.4->Flask==0.12.3) (1.1.1)\n"
]
}
],
"source": [
"!pip install Flask==0.12.3"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Collecting chatterbot==0.8.4\n",
" Using cached ChatterBot-0.8.4-py2.py3-none-any.whl (72 kB)\n",
"Collecting chatterbot-corpus<1.2,>=1.1\n",
" Using cached chatterbot_corpus-1.1.4-py2.py3-none-any.whl (117 kB)\n",
"Requirement already satisfied: mathparse<0.2,>=0.1 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4) (0.1.2)\n",
"Requirement already satisfied: pymongo<4.0,>=3.3 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4) (3.10.1)\n",
"Requirement already satisfied: python-dateutil<2.7,>=2.6 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4) (2.6.1)\n",
"Requirement already satisfied: python-twitter<4.0,>=3.0 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4) (3.5)\n",
"Requirement already satisfied: nltk<4.0,>=3.2 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4) (3.4.5)\n",
"Requirement already satisfied: sqlalchemy<1.3,>=1.2 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from chatterbot==0.8.4) (1.2.0)\n",
"Collecting PyYAML<4.0,>=3.12\n",
" Using cached PyYAML-3.13-cp37-cp37m-win_amd64.whl (206 kB)\n",
"Requirement already satisfied: six>=1.5 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from python-dateutil<2.7,>=2.6->chatterbot==0.8.4) (1.14.0)\n",
"Requirement already satisfied: requests-oauthlib in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from python-twitter<4.0,>=3.0->chatterbot==0.8.4) (1.3.0)\n",
"Requirement already satisfied: future in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from python-twitter<4.0,>=3.0->chatterbot==0.8.4) (0.18.2)\n",
"Requirement already satisfied: requests in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from python-twitter<4.0,>=3.0->chatterbot==0.8.4) (2.22.0)\n",
"Requirement already satisfied: oauthlib>=3.0.0 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests-oauthlib->python-twitter<4.0,>=3.0->chatterbot==0.8.4) (3.1.0)\n",
"Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->python-twitter<4.0,>=3.0->chatterbot==0.8.4) (1.25.8)\n",
"Requirement already satisfied: chardet<3.1.0,>=3.0.2 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->python-twitter<4.0,>=3.0->chatterbot==0.8.4) (3.0.4)\n",
"Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->python-twitter<4.0,>=3.0->chatterbot==0.8.4) (2019.11.28)\n",
"Requirement already satisfied: idna<2.9,>=2.5 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->python-twitter<4.0,>=3.0->chatterbot==0.8.4) (2.8)\n",
"Installing collected packages: PyYAML, chatterbot-corpus, chatterbot\n",
"Successfully installed PyYAML-3.13 chatterbot-0.8.4 chatterbot-corpus-1.1.4\n"
]
}
],
"source": [
"!pip install chatterbot==0.8.4"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: SQLAlchemy==1.2 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (1.2.0)\n"
]
}
],
"source": [
"!pip install SQLAlchemy==1.2"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Old database removed. Training new database\n",
"Training using botprofile.yml\n",
"List Trainer: [####################] 100%\n",
"Training completed for botprofile.yml\n",
"Training using cough.cold.yml\n",
"List Trainer: [####################] 100%\n",
"Training completed for cough.cold.yml\n",
"Training using doctor.yml\n",
"List Trainer: [####################] 100%\n",
"Training completed for doctor.yml\n",
"Training using fever.yml\n",
"List Trainer: [####################] 100%\n",
"Training completed for fever.yml\n",
"Training using fracture.yml\n",
"List Trainer: [####################] 100%\n",
"Training completed for fracture.yml\n",
"Training using generalhealth.yml\n",
"List Trainer: [####################] 100%\n",
"Training completed for generalhealth.yml\n",
"Training using greetings.yml\n",
"List Trainer: [####################] 100%\n",
"Training completed for greetings.yml\n",
"Training using headache.yml\n",
"List Trainer: [####################] 100%\n",
"Training completed for headache.yml\n",
"Training using new.yml\n",
"List Trainer: [####################] 100%\n",
"Training completed for new.yml\n",
"Training using personalinfo.yml\n",
"List Trainer: [####################] 100%\n",
"Training completed for personalinfo.yml\n"
]
}
],
"source": [
"from chatterbot import ChatBot\n",
"from chatterbot.trainers import ListTrainer\n",
"import os\n",
"\n",
"try:\n",
"\tos.remove(\"db.sqlite3\")\n",
"\tprint(\"Old database removed. Training new database\")\n",
"except:\n",
"\tprint('No database found. Creating new database.')\n",
"\n",
"english_bot = ChatBot('Bot')\n",
"english_bot.set_trainer(ListTrainer)\n",
"for file in os.listdir('data'):\n",
" print('Training using '+file)\n",
" convData = open('data/' + file).readlines()\n",
" english_bot.train(convData)\n",
" print(\"Training completed for \"+file)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"now,training is done but when you run the run file..you shall get error as no module named 'gtts' or no module named 'speech_recognition'.\n",
"so,install each of them separately again."
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Collecting gtts\n",
" Using cached gTTS-2.1.1-py3-none-any.whl (25 kB)\n",
"Requirement already satisfied: click in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from gtts) (7.0)\n",
"Collecting gtts-token>=1.1.3\n",
" Using cached gTTS-token-1.1.3.tar.gz (3.4 kB)\n",
"Requirement already satisfied: beautifulsoup4 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from gtts) (4.8.2)\n",
"Requirement already satisfied: requests in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from gtts) (2.22.0)\n",
"Requirement already satisfied: six in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from gtts) (1.14.0)\n",
"Requirement already satisfied: soupsieve>=1.2 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from beautifulsoup4->gtts) (1.9.5)\n",
"Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->gtts) (1.25.8)\n",
"Requirement already satisfied: idna<2.9,>=2.5 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->gtts) (2.8)\n",
"Requirement already satisfied: chardet<3.1.0,>=3.0.2 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->gtts) (3.0.4)\n",
"Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from requests->gtts) (2019.11.28)\n",
"Building wheels for collected packages: gtts-token\n",
" Building wheel for gtts-token (setup.py): started\n",
" Building wheel for gtts-token (setup.py): finished with status 'done'\n",
" Created wheel for gtts-token: filename=gTTS_token-1.1.3-py3-none-any.whl size=4100 sha256=b87d99ea50d25f8cb795fddd613682b55cff07690a6811f9d7cdd07184882ca4\n",
" Stored in directory: c:\\users\\vanisri kirubakaran\\appdata\\local\\pip\\cache\\wheels\\c1\\78\\25\\81270af5521d88ea8db7da5d4f64872673976eb9692bcb0c13\n",
"Successfully built gtts-token\n",
"Installing collected packages: gtts-token, gtts\n",
"Successfully installed gtts-2.1.1 gtts-token-1.1.3\n"
]
}
],
"source": [
"!pip install gtts"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Collecting SpeechRecognition\n",
" Using cached SpeechRecognition-3.8.1-py2.py3-none-any.whl (32.8 MB)\n",
"Installing collected packages: SpeechRecognition\n",
"Successfully installed SpeechRecognition-3.8.1\n"
]
}
],
"source": [
"!pip install SpeechRecognition"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"there will be an error with pyaudio as well mentioning no wheel file.go here https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyaudio\n",
" go down to pyaudio..and download cp37-cp37m-win_amd64.whl and then move it to the project's folder(NLP-project 1),then run below command."
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Processing c:\\users\\vanisri kirubakaran\\downloads\\chatbot\\nlp-chatbot-master (1)\\pyaudio-0.2.11-cp37-cp37m-win_amd64.whl\n",
"Installing collected packages: PyAudio\n",
"Successfully installed PyAudio-0.2.11\n"
]
}
],
"source": [
"!pip install PyAudio-0.2.11-cp37-cp37m-win_amd64.whl"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Okay Bro\n",
"You said: i have a headache\n",
"\n",
"- what kind of headache do you have : 1. Migrane headache - intense throbbing pain on just one side of the head. 2. Cluster headaches - severe and recurrent headaches 3. Tension Headache - Ocassional;\n",
"Okay Bro\n",
"You said: migraine\n",
"\n",
"- good to know. how may i assist you then?\n",
"Okay Bro\n",
"Your last instruction was unclear to me\n",
"Okay Bro\n",
"Your last instruction was unclear to me\n",
"Okay Bro\n",
"Your last instruction was unclear to me\n",
"Okay Bro\n",
"You said: i have cold\n",
"\n",
"- You should take a sudafed tablet after your meal.\n",
"Okay Bro\n",
"Your last instruction was unclear to me\n",
"Okay Bro\n"
]
},
{
"ename": "KeyboardInterrupt",
"evalue": "",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mUnknownValueError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-26-636afcd1c583>\u001b[0m in \u001b[0;36mmyCommand\u001b[1;34m()\u001b[0m\n\u001b[0;32m 45\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 46\u001b[1;33m \u001b[0mcommand\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mr\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrecognize_google\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0maudio\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlower\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 47\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'You said: '\u001b[0m\u001b[1;33m+\u001b[0m \u001b[0mcommand\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;34m'\\n'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\speech_recognition\\__init__.py\u001b[0m in \u001b[0;36mrecognize_google\u001b[1;34m(self, audio_data, key, language, show_all)\u001b[0m\n\u001b[0;32m 857\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mshow_all\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mactual_result\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 858\u001b[1;33m \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mactual_result\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdict\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mor\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mactual_result\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"alternative\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;32mraise\u001b[0m \u001b[0mUnknownValueError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 859\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mUnknownValueError\u001b[0m: ",
"\nDuring handling of the above exception, another exception occurred:\n",
"\u001b[1;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-26-636afcd1c583>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m 67\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 68\u001b[0m \u001b[1;32mwhile\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 69\u001b[1;33m \u001b[0mvalue\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mget_bot_response\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mmyCommand\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 70\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m<ipython-input-26-636afcd1c583>\u001b[0m in \u001b[0;36mmyCommand\u001b[1;34m()\u001b[0m\n\u001b[0;32m 49\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0msr\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mUnknownValueError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 50\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'Your last instruction was unclear to me'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 51\u001b[1;33m \u001b[0mcommand\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mmyCommand\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m;\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 52\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 53\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mcommand\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m<ipython-input-26-636afcd1c583>\u001b[0m in \u001b[0;36mmyCommand\u001b[1;34m()\u001b[0m\n\u001b[0;32m 44\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 45\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 46\u001b[1;33m \u001b[0mcommand\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mr\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrecognize_google\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0maudio\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlower\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 47\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'You said: '\u001b[0m\u001b[1;33m+\u001b[0m \u001b[0mcommand\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;34m'\\n'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 48\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\speech_recognition\\__init__.py\u001b[0m in \u001b[0;36mrecognize_google\u001b[1;34m(self, audio_data, key, language, show_all)\u001b[0m\n\u001b[0;32m 843\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mURLError\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 844\u001b[0m \u001b[1;32mraise\u001b[0m \u001b[0mRequestError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"recognition connection failed: {}\"\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0me\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mreason\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 845\u001b[1;33m \u001b[0mresponse_text\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mresponse\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdecode\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"utf-8\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 846\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 847\u001b[0m \u001b[1;31m# ignore any blank blocks\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\http\\client.py\u001b[0m in \u001b[0;36mread\u001b[1;34m(self, amt)\u001b[0m\n\u001b[0;32m 462\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 463\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mchunked\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 464\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_readall_chunked\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 465\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 466\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlength\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\http\\client.py\u001b[0m in \u001b[0;36m_readall_chunked\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 569\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 570\u001b[0m \u001b[1;32mwhile\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 571\u001b[1;33m \u001b[0mchunk_left\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_get_chunk_left\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 572\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mchunk_left\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 573\u001b[0m \u001b[1;32mbreak\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\http\\client.py\u001b[0m in \u001b[0;36m_get_chunk_left\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 552\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_safe_read\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;31m# toss the CRLF at the end of the chunk\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 553\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 554\u001b[1;33m \u001b[0mchunk_left\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_read_next_chunk_size\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 555\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mValueError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 556\u001b[0m \u001b[1;32mraise\u001b[0m \u001b[0mIncompleteRead\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34mb''\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\http\\client.py\u001b[0m in \u001b[0;36m_read_next_chunk_size\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 512\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m_read_next_chunk_size\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 513\u001b[0m \u001b[1;31m# Read the next chunk size from the file\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 514\u001b[1;33m \u001b[0mline\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mreadline\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0m_MAXLINE\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 515\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mline\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m>\u001b[0m \u001b[0m_MAXLINE\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 516\u001b[0m \u001b[1;32mraise\u001b[0m \u001b[0mLineTooLong\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"chunk size\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\socket.py\u001b[0m in \u001b[0;36mreadinto\u001b[1;34m(self, b)\u001b[0m\n\u001b[0;32m 587\u001b[0m \u001b[1;32mwhile\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 588\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 589\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_sock\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrecv_into\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mb\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 590\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 591\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_timeout_occurred\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mKeyboardInterrupt\u001b[0m: "
]
}
],
"source": [
"from flask import Flask, render_template, request\n",
"from chatterbot import ChatBot\n",
"from chatterbot.trainers import ChatterBotCorpusTrainer\n",
"import os\n",
"from gtts import gTTS\n",
"import speech_recognition as sr\n",
"import os\n",
"import re\n",
"import webbrowser\n",
"import smtplib\n",
"import requests\n",
"\n",
"\n",
"from chatterbot import ChatBot\n",
"from chatterbot.trainers import ListTrainer\n",
"\n",
"filenumber=int(os.listdir('saved_conversations')[-1])\n",
"filenumber=filenumber+1\n",
"file= open('saved_conversations/'+str(filenumber),\"w+\")\n",
"file.write('bot : Hi There! I am a medical chatbot. You can begin conversation by typing in a message and pressing enter.\\n')\n",
"file.close()\n",
"\n",
"\n",
"english_bot = ChatBot('Bot',\n",
" storage_adapter='chatterbot.storage.SQLStorageAdapter',\n",
" logic_adapters=[\n",
" {\n",
" 'import_path': 'chatterbot.logic.BestMatch'\n",
" },\n",
" \n",
"],\n",
"trainer='chatterbot.trainers.ListTrainer')\n",
"english_bot.set_trainer(ListTrainer)\n",
"\n",
"\n",
"def myCommand():\n",
" r = sr.Recognizer()\n",
"\n",
" with sr.Microphone() as source:\n",
" print('Okay Bro')\n",
" r.pause_treshold = 1\n",
" r.adjust_for_ambient_noise(source, duration = 1)\n",
" audio = r.listen(source)\t\n",
"\n",
" try:\n",
" command = r.recognize_google(audio).lower()\n",
" print('You said: '+ command + '\\n')\n",
"\n",
" except sr.UnknownValueError:\n",
" print('Your last instruction was unclear to me')\n",
" command = myCommand();\n",
"\n",
" return command \n",
"\n",
"\n",
"def get_bot_response(command):\n",
" #userText = request.args.get('msg')\n",
" response = str(english_bot.get_response(command))\n",
"\n",
" appendfile=os.listdir('saved_conversations')[-1]\n",
" appendfile= open('saved_conversations/'+str(filenumber),\"a\")\n",
" appendfile.write('user : '+command+'\\n')\n",
" appendfile.write('bot : '+response+'\\n')\n",
" appendfile.close()\n",
" return response\n",
"\n",
"\n",
"while True:\n",
" value=get_bot_response(myCommand())\n",
" print(value)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"P.S i stopped the running last time..\n",
"now trying speech function.move to after 4 commands."
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Collecting pyttsx3\n",
" Downloading pyttsx3-2.90-py3-none-any.whl (39 kB)\n",
"Collecting pypiwin32; platform_system == \"Windows\"\n",
" Using cached pypiwin32-223-py3-none-any.whl (1.7 kB)\n",
"Requirement already satisfied: pywin32; platform_system == \"Windows\" in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from pyttsx3) (227)\n",
"Requirement already satisfied: comtypes; platform_system == \"Windows\" in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from pyttsx3) (1.1.7)\n",
"Installing collected packages: pypiwin32, pyttsx3\n",
"Successfully installed pypiwin32-223 pyttsx3-2.90\n"
]
}
],
"source": [
"!pip install pyttsx3"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: pypiwin32 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (223)\n",
"Requirement already satisfied: pywin32>=223 in c:\\users\\vanisri kirubakaran\\anaconda3-new\\lib\\site-packages (from pypiwin32) (227)\n"
]
}
],
"source": [
"!pip install pypiwin32"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"ename": "TypeError",
"evalue": "item 1 in _argtypes_ passes a union by value, which is unsupported.",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mKeyError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\pyttsx3\\__init__.py\u001b[0m in \u001b[0;36minit\u001b[1;34m(driverName, debug)\u001b[0m\n\u001b[0;32m 19\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 20\u001b[1;33m \u001b[0meng\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0m_activeEngines\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mdriverName\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 21\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\weakref.py\u001b[0m in \u001b[0;36m__getitem__\u001b[1;34m(self, key)\u001b[0m\n\u001b[0;32m 136\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_commit_removals\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 137\u001b[1;33m \u001b[0mo\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 138\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mo\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mKeyError\u001b[0m: None",
"\nDuring handling of the above exception, another exception occurred:\n",
"\u001b[1;31mImportError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\pyttsx3\\drivers\\sapi5.py\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mcomtypes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgen\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mSpeechLib\u001b[0m \u001b[1;31m# comtypes\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 4\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mImportError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mImportError\u001b[0m: cannot import name 'SpeechLib' from 'comtypes.gen' (C:\\Users\\Vanisri Kirubakaran\\anaconda3-new\\lib\\site-packages\\comtypes\\gen\\__init__.py)",
"\nDuring handling of the above exception, another exception occurred:\n",
"\u001b[1;31mKeyError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m~\\anaconda3-new\\lib\\ctypes\\__init__.py\u001b[0m in \u001b[0;36mWINFUNCTYPE\u001b[1;34m(restype, *argtypes, **kw)\u001b[0m\n\u001b[0;32m 120\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 121\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0m_win_functype_cache\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mrestype\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0margtypes\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mflags\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 122\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mKeyError\u001b[0m: (<class 'ctypes.HRESULT'>, (<class 'comtypes.automation.tagVARIANT'>, <class 'ctypes.wintypes.LP_c_long'>), 0)",
"\nDuring handling of the above exception, another exception occurred:\n",
"\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-30-dd44a913bd59>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mpyttsx3\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0mengine\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mpyttsx3\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0minit\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 3\u001b[0m \u001b[0mengine\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msay\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"I will speak this text\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[0mengine\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrunAndWait\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\pyttsx3\\__init__.py\u001b[0m in \u001b[0;36minit\u001b[1;34m(driverName, debug)\u001b[0m\n\u001b[0;32m 20\u001b[0m \u001b[0meng\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0m_activeEngines\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mdriverName\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 21\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 22\u001b[1;33m \u001b[0meng\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mEngine\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdriverName\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdebug\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 23\u001b[0m \u001b[0m_activeEngines\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mdriverName\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0meng\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 24\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0meng\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\pyttsx3\\engine.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, driverName, debug)\u001b[0m\n\u001b[0;32m 28\u001b[0m \u001b[1;33m@\u001b[0m\u001b[0mtype\u001b[0m \u001b[0mdebug\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mbool\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 29\u001b[0m \"\"\"\n\u001b[1;32m---> 30\u001b[1;33m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mproxy\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mdriver\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mDriverProxy\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mweakref\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mproxy\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdriverName\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdebug\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 31\u001b[0m \u001b[1;31m# initialize other vars\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 32\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_connects\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m{\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\pyttsx3\\driver.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, engine, driverName, debug)\u001b[0m\n\u001b[0;32m 48\u001b[0m \u001b[1;31m# import driver module\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 49\u001b[0m \u001b[0mname\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m'pyttsx3.drivers.%s'\u001b[0m \u001b[1;33m%\u001b[0m \u001b[0mdriverName\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 50\u001b[1;33m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_module\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mimportlib\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mimport_module\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 51\u001b[0m \u001b[1;31m# build driver instance\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 52\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_driver\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_module\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mbuildDriver\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mweakref\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mproxy\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\importlib\\__init__.py\u001b[0m in \u001b[0;36mimport_module\u001b[1;34m(name, package)\u001b[0m\n\u001b[0;32m 125\u001b[0m \u001b[1;32mbreak\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 126\u001b[0m \u001b[0mlevel\u001b[0m \u001b[1;33m+=\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 127\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0m_bootstrap\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_gcd_import\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mlevel\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpackage\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlevel\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 128\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 129\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\importlib\\_bootstrap.py\u001b[0m in \u001b[0;36m_gcd_import\u001b[1;34m(name, package, level)\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\importlib\\_bootstrap.py\u001b[0m in \u001b[0;36m_find_and_load\u001b[1;34m(name, import_)\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\importlib\\_bootstrap.py\u001b[0m in \u001b[0;36m_find_and_load_unlocked\u001b[1;34m(name, import_)\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\importlib\\_bootstrap.py\u001b[0m in \u001b[0;36m_load_unlocked\u001b[1;34m(spec)\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\importlib\\_bootstrap_external.py\u001b[0m in \u001b[0;36mexec_module\u001b[1;34m(self, module)\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\importlib\\_bootstrap.py\u001b[0m in \u001b[0;36m_call_with_frames_removed\u001b[1;34m(f, *args, **kwds)\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\pyttsx3\\drivers\\sapi5.py\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mImportError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[1;31m# Generate the SpeechLib lib and any associated files\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 6\u001b[1;33m \u001b[0mengine\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mcomtypes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mclient\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mCreateObject\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"SAPI.SpVoice\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 7\u001b[0m \u001b[0mstream\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mcomtypes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mclient\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mCreateObject\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"SAPI.SpFileStream\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 8\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mcomtypes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgen\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mSpeechLib\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\comtypes\\client\\__init__.py\u001b[0m in \u001b[0;36mCreateObject\u001b[1;34m(progid, clsctx, machine, interface, dynamic, pServerInfo)\u001b[0m\n\u001b[0;32m 248\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mdynamic\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 249\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mcomtypes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mclient\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdynamic\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mDispatch\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 250\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0m_manage\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mclsid\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0minterface\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0minterface\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 251\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 252\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mCoGetObject\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdisplayname\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0minterface\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdynamic\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mFalse\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\comtypes\\client\\__init__.py\u001b[0m in \u001b[0;36m_manage\u001b[1;34m(obj, clsid, interface)\u001b[0m\n\u001b[0;32m 186\u001b[0m \u001b[0mobj\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__dict__\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'__clsid'\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mstr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mclsid\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 187\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0minterface\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 188\u001b[1;33m \u001b[0mobj\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mGetBestInterface\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 189\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mobj\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 190\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\comtypes\\client\\__init__.py\u001b[0m in \u001b[0;36mGetBestInterface\u001b[1;34m(punk)\u001b[0m\n\u001b[0;32m 108\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 109\u001b[0m \u001b[1;31m# import the wrapper, generating it on demand\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 110\u001b[1;33m \u001b[0mmod\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mGetModule\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtlib\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 111\u001b[0m \u001b[1;31m# Python interface class\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 112\u001b[0m \u001b[0minterface\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mgetattr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mmod\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mitf_name\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\comtypes\\client\\_generate.py\u001b[0m in \u001b[0;36mGetModule\u001b[1;34m(tlib)\u001b[0m\n\u001b[0;32m 108\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 109\u001b[0m \u001b[1;31m# create and import the module\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 110\u001b[1;33m \u001b[0mmod\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0m_CreateWrapper\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtlib\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpathname\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 111\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 112\u001b[0m \u001b[0mmodulename\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtlib\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mGetDocumentation\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\comtypes\\client\\_generate.py\u001b[0m in \u001b[0;36m_CreateWrapper\u001b[1;34m(tlib, pathname)\u001b[0m\n\u001b[0;32m 182\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 183\u001b[0m \u001b[0mofi\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mclose\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 184\u001b[1;33m \u001b[0mmod\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0m_my_import\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfullname\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 185\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mmod\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 186\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\comtypes\\client\\_generate.py\u001b[0m in \u001b[0;36m_my_import\u001b[1;34m(fullname)\u001b[0m\n\u001b[0;32m 22\u001b[0m \u001b[1;32mand\u001b[0m \u001b[0mcomtypes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mclient\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgen_dir\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mcomtypes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgen\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__path__\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 23\u001b[0m \u001b[0mcomtypes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgen\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__path__\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcomtypes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mclient\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgen_dir\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 24\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0m__import__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfullname\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mglobals\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlocals\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;34m'DUMMY'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 25\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 26\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m_name_module\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtlib\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\comtypes\\gen\\_C866CA3A_32F7_11D2_9602_00C04F8EE628_0_5_4.py\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m 1739\u001b[0m \u001b[1;33m(\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;34m'in'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mVARIANT\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'Position'\u001b[0m \u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1740\u001b[0m \u001b[1;33m(\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;34m'in'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'optional'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mSpeechStreamSeekPositionType\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'Origin'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m0\u001b[0m \u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1741\u001b[1;33m ( ['out', 'retval'], POINTER(VARIANT), 'NewPosition' )),\n\u001b[0m\u001b[0;32m 1742\u001b[0m ]\n\u001b[0;32m 1743\u001b[0m \u001b[1;31m################################################################\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\comtypes\\__init__.py\u001b[0m in \u001b[0;36m__setattr__\u001b[1;34m(self, name, value)\u001b[0m\n\u001b[0;32m 327\u001b[0m \u001b[1;31m# overrides this by \"Interface._methods_ = [...]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 328\u001b[0m \u001b[1;31m## assert self.__dict__.get(\"_methods_\", None) is None\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 329\u001b[1;33m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_make_methods\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 330\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_make_specials\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 331\u001b[0m \u001b[1;32melif\u001b[0m \u001b[0mname\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;34m\"_disp_methods_\"\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\comtypes\\__init__.py\u001b[0m in \u001b[0;36m_make_methods\u001b[1;34m(self, methods)\u001b[0m\n\u001b[0;32m 696\u001b[0m \u001b[0mrestype\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mname\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0margtypes\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mparamflags\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0midlflags\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdoc\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mitem\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 697\u001b[0m \u001b[1;31m# the function prototype\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 698\u001b[1;33m \u001b[0mprototype\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mWINFUNCTYPE\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mrestype\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m*\u001b[0m\u001b[0margtypes\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 699\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 700\u001b[0m \u001b[1;31m# a low level unbound method calling the com method.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\ctypes\\__init__.py\u001b[0m in \u001b[0;36mWINFUNCTYPE\u001b[1;34m(restype, *argtypes, **kw)\u001b[0m\n\u001b[0;32m 121\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0m_win_functype_cache\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mrestype\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0margtypes\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mflags\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 122\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 123\u001b[1;33m \u001b[1;32mclass\u001b[0m \u001b[0mWinFunctionType\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0m_CFuncPtr\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 124\u001b[0m \u001b[0m_argtypes_\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0margtypes\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 125\u001b[0m \u001b[0m_restype_\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mrestype\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mTypeError\u001b[0m: item 1 in _argtypes_ passes a union by value, which is unsupported."
]
}
],
"source": [
"import pyttsx3\n",
"engine = pyttsx3.init()\n",
"engine.say(\"I will speak this text\")\n",
"engine.runAndWait()"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import os\n",
"os.system(\"echo 'hello world'\")\n",
"os.system(\"say 'hello world'\") "
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from win32com.client import Dispatch\n",
"\n",
"speak = Dispatch(\"SAPI.SpVoice\")\n",
"\n",
"speak.Speak(\"Ciao\")"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Okay Bro\n",
"You said: latest ringtone\n",
"\n",
"- Thank you kindly. How are you feeling today?\n",
"Okay Bro\n",
"Your last instruction was unclear to me\n",
"Okay Bro\n",
"Your last instruction was unclear to me\n",
"Okay Bro\n",
"You said: i have settled in the meaning in hindi\n",
"\n",
"- - What are your interests\n",
"Okay Bro\n",
"Your last instruction was unclear to me\n",
"Okay Bro\n",
"Your last instruction was unclear to me\n",
"Okay Bro\n",
"Your last instruction was unclear to me\n",
"Okay Bro\n",
"You said: cold\n",
"\n",
"- You should take a sudafed tablet after your meal.\n",
"Okay Bro\n"
]
},
{
"ename": "KeyboardInterrupt",
"evalue": "",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-39-4d7ef7dbb8f0>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m 71\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 72\u001b[0m \u001b[1;32mwhile\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 73\u001b[1;33m \u001b[0mvalue\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mget_bot_response\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mmyCommand\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 74\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m<ipython-input-39-4d7ef7dbb8f0>\u001b[0m in \u001b[0;36mmyCommand\u001b[1;34m()\u001b[0m\n\u001b[0;32m 42\u001b[0m \u001b[0mr\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpause_treshold\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 43\u001b[0m \u001b[0mr\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0madjust_for_ambient_noise\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msource\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mduration\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 44\u001b[1;33m \u001b[0maudio\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mr\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlisten\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msource\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 45\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 46\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\speech_recognition\\__init__.py\u001b[0m in \u001b[0;36mlisten\u001b[1;34m(self, source, timeout, phrase_time_limit, snowboy_configuration)\u001b[0m\n\u001b[0;32m 650\u001b[0m \u001b[1;32mbreak\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 651\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 652\u001b[1;33m \u001b[0mbuffer\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0msource\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstream\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msource\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mCHUNK\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 653\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mbuffer\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;32mbreak\u001b[0m \u001b[1;31m# reached end of the stream\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 654\u001b[0m \u001b[0mframes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mbuffer\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\speech_recognition\\__init__.py\u001b[0m in \u001b[0;36mread\u001b[1;34m(self, size)\u001b[0m\n\u001b[0;32m 159\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 160\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mread\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msize\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 161\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpyaudio_stream\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msize\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mexception_on_overflow\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mFalse\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 162\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 163\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mclose\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\pyaudio.py\u001b[0m in \u001b[0;36mread\u001b[1;34m(self, num_frames, exception_on_overflow)\u001b[0m\n\u001b[0;32m 606\u001b[0m paCanNotReadFromAnOutputOnlyStream)\n\u001b[0;32m 607\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 608\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mpa\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread_stream\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_stream\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mnum_frames\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mexception_on_overflow\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 609\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 610\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mget_read_available\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mKeyboardInterrupt\u001b[0m: "
]
}
],
"source": [
"from flask import Flask, render_template, request\n",
"from chatterbot import ChatBot\n",
"from chatterbot.trainers import ChatterBotCorpusTrainer\n",
"import os\n",
"from gtts import gTTS\n",
"import speech_recognition as sr\n",
"import os\n",
"import re\n",
"import webbrowser\n",
"import smtplib\n",
"import requests\n",
"from win32com.client import Dispatch\n",
"speak = Dispatch(\"SAPI.SpVoice\")\n",
"from chatterbot import ChatBot\n",
"from chatterbot.trainers import ListTrainer\n",
"\n",
"filenumber=int(os.listdir('saved_conversations')[-1])\n",
"filenumber=filenumber+1\n",
"file= open('saved_conversations/'+str(filenumber),\"w+\")\n",
"file.write('bot : Hi There! I am a medical chatbot. You can begin conversation by typing in a message or saying it.\\n')\n",
"file.close()\n",
"\n",
"print(\"Hi\")\n",
"speak.Speak(\"Hey There! I am a medical chatbot. You can begin conversation.\")\n",
"\n",
"\n",
"english_bot = ChatBot('Bot',\n",
" storage_adapter='chatterbot.storage.SQLStorageAdapter',\n",
" logic_adapters=[\n",
" {\n",
" 'import_path': 'chatterbot.logic.BestMatch'\n",
" },\n",
" \n",
"],\n",
"trainer='chatterbot.trainers.ListTrainer')\n",
"english_bot.set_trainer(ListTrainer)\n",
"\n",
"\n",
"def myCommand():\n",
" r = sr.Recognizer()\n",
"\n",
" with sr.Microphone() as source:\n",
" print('I am listenong')\n",
" speak.Speak(\"I am listening\")\n",
" r.pause_treshold = 1\n",
" r.adjust_for_ambient_noise(source, duration = 1)\n",
" audio = r.listen(source)\t\n",
"\n",
" try:\n",
" command = r.recognize_google(audio).lower()\n",
" print('You said: '+ command + '\\n')\n",
" speak.Speak(\"You said: \"+ command)\n",
"\n",
" except sr.UnknownValueError:\n",
" print('Your last instruction was unclear to me')\n",
" speak.Speak(\"Your last instruction was unclear to me\")\n",
" command = myCommand();\n",
"\n",
" return command \n",
"\n",
"\n",
"def get_bot_response(command):\n",
" #userText = request.args.get('msg')\n",
" response = str(english_bot.get_response(command))\n",
" speak.Speak(response)\n",
"\n",
" appendfile=os.listdir('saved_conversations')[-1]\n",
" appendfile= open('saved_conversations/'+str(filenumber),\"a\")\n",
" appendfile.write('user : '+command+'\\n')\n",
" appendfile.write('bot : '+response+'\\n')\n",
" appendfile.close()\n",
" return response\n",
"\n",
"\n",
"while True:\n",
" value=get_bot_response(myCommand())\n",
" print(value)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"Yay!"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"trying to display as html file."
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Hi\n",
"I am listening\n",
"You said: i feel dizzy\n",
"\n",
"- This might be because you are tired, you should take some rest.\n",
"I am listening\n",
"You said: thank you\n",
"\n",
"- happy to help!\n",
"I am listening\n"
]
},
{
"ename": "KeyboardInterrupt",
"evalue": "",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-45-a11162ca3415>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m 82\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 83\u001b[0m \u001b[1;32mwhile\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 84\u001b[1;33m \u001b[0mvalue\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mget_bot_response\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mmyCommand\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 85\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 86\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m<ipython-input-45-a11162ca3415>\u001b[0m in \u001b[0;36mmyCommand\u001b[1;34m()\u001b[0m\n\u001b[0;32m 53\u001b[0m \u001b[0mr\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpause_treshold\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 54\u001b[0m \u001b[0mr\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0madjust_for_ambient_noise\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msource\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mduration\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 55\u001b[1;33m \u001b[0maudio\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mr\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlisten\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msource\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 56\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 57\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\speech_recognition\\__init__.py\u001b[0m in \u001b[0;36mlisten\u001b[1;34m(self, source, timeout, phrase_time_limit, snowboy_configuration)\u001b[0m\n\u001b[0;32m 650\u001b[0m \u001b[1;32mbreak\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 651\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 652\u001b[1;33m \u001b[0mbuffer\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0msource\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstream\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msource\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mCHUNK\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 653\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mbuffer\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;32mbreak\u001b[0m \u001b[1;31m# reached end of the stream\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 654\u001b[0m \u001b[0mframes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mbuffer\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\speech_recognition\\__init__.py\u001b[0m in \u001b[0;36mread\u001b[1;34m(self, size)\u001b[0m\n\u001b[0;32m 159\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 160\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mread\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msize\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 161\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpyaudio_stream\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msize\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mexception_on_overflow\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mFalse\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 162\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 163\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mclose\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\anaconda3-new\\lib\\site-packages\\pyaudio.py\u001b[0m in \u001b[0;36mread\u001b[1;34m(self, num_frames, exception_on_overflow)\u001b[0m\n\u001b[0;32m 606\u001b[0m paCanNotReadFromAnOutputOnlyStream)\n\u001b[0;32m 607\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 608\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mpa\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread_stream\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_stream\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mnum_frames\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mexception_on_overflow\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 609\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 610\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mget_read_available\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mKeyboardInterrupt\u001b[0m: "
]
}
],
"source": [
"from flask import Flask, render_template, request\n",
"from chatterbot import ChatBot\n",
"from chatterbot.trainers import ChatterBotCorpusTrainer\n",
"import os\n",
"from gtts import gTTS\n",
"import speech_recognition as sr\n",
"import os\n",
"import re\n",
"import webbrowser\n",
"import smtplib\n",
"import requests\n",
"from win32com.client import Dispatch\n",
"speak = Dispatch(\"SAPI.SpVoice\")\n",
"from chatterbot import ChatBot\n",
"from chatterbot.trainers import ListTrainer\n",
"\n",
"filenumber=int(os.listdir('saved_conversations')[-1])\n",
"filenumber=filenumber+1\n",
"file= open('saved_conversations/'+str(filenumber),\"w+\")\n",
"file.write('bot : Hi There! I am a medical chatbot. You can begin conversation by typing in a message and pressing enter or by saying it.\\n')\n",
"file.close()\n",
"\n",
"print(\"Hi\")\n",
"speak.Speak(\"Hey There! I am a medical chatbot. You can begin conversation.\")\n",
"\n",
"app = Flask(__name__)\n",
"\n",
"\n",
"\n",
"english_bot = ChatBot('Bot',\n",
" storage_adapter='chatterbot.storage.SQLStorageAdapter',\n",
" logic_adapters=[\n",
" {\n",
" 'import_path': 'chatterbot.logic.BestMatch'\n",
" },\n",
" \n",
"],\n",
"trainer='chatterbot.trainers.ListTrainer')\n",
"english_bot.set_trainer(ListTrainer)\n",
"\n",
"\n",
"\n",
"@app.route(\"/\")\n",
"def home():\n",
" return render_template(\"index.html\")\n",
"\n",
"def myCommand():\n",
" r = sr.Recognizer()\n",
"\n",
" with sr.Microphone() as source:\n",
" print('I am listening')\n",
" speak.Speak(\"I am listening\")\n",
" r.pause_treshold = 1\n",
" r.adjust_for_ambient_noise(source, duration = 1)\n",
" audio = r.listen(source)\t\n",
"\n",
" try:\n",
" command = r.recognize_google(audio).lower()\n",
" print('You said: '+ command + '\\n')\n",
" speak.Speak(\"You said: \"+ command)\n",
"\n",
" except sr.UnknownValueError:\n",
" print('Your last instruction was unclear to me')\n",
" speak.Speak(\"Your last instruction was unclear to me\")\n",
" command = myCommand();\n",
"\n",
" return command \n",
"\n",
"@app.route(\"/get\")\n",
"def get_bot_response(command):\n",
" #userText = request.args.get('msg')\n",
" response = str(english_bot.get_response(command))\n",
" speak.Speak(response)\n",
"\n",
" appendfile=os.listdir('saved_conversations')[-1]\n",
" appendfile= open('saved_conversations/'+str(filenumber),\"a\")\n",
" appendfile.write('user : '+command+'\\n')\n",
" appendfile.write('bot : '+response+'\\n')\n",
" appendfile.close()\n",
" return response\n",
"\n",
"\n",
"while True:\n",
" value=get_bot_response(myCommand())\n",
" print(value)\n",
"\n",
"\n",
"# if __name__ == \"__main__\":\n",
"# app.run()\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 4
}