All Projects → LuciaLlavero → Ryuzaki_bot

LuciaLlavero / Ryuzaki_bot

Licence: mit
Simple chatbot in Python using NLTK and scikit-learn

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects

Projects that are alternatives of or similar to Ryuzaki bot

Text Classification
Machine Learning and NLP: Text Classification using python, scikit-learn and NLTK
Stars: ✭ 239 (+753.57%)
Mutual labels:  scikit-learn, nltk
Text Analytics With Python
Learn how to process, classify, cluster, summarize, understand syntax, semantics and sentiment of text data with the power of Python! This repository contains code and datasets used in my book, "Text Analytics with Python" published by Apress/Springer.
Stars: ✭ 1,132 (+3942.86%)
Mutual labels:  scikit-learn, nltk
Practical Machine Learning With Python
Master the essential skills needed to recognize and solve complex real-world problems with Machine Learning and Deep Learning by leveraging the highly popular Python Machine Learning Eco-system.
Stars: ✭ 1,868 (+6571.43%)
Mutual labels:  scikit-learn, nltk
Ai Chatbot Framework
A python chatbot framework with Natural Language Understanding and Artificial Intelligence.
Stars: ✭ 1,564 (+5485.71%)
Mutual labels:  chatbot, nltk
Tensorflow Ml Nlp
텐서플로우와 머신러닝으로 시작하는 자연어처리(로지스틱회귀부터 트랜스포머 챗봇까지)
Stars: ✭ 176 (+528.57%)
Mutual labels:  chatbot, nltk
nlp workshop odsc europe20
Extensive tutorials for the Advanced NLP Workshop in Open Data Science Conference Europe 2020. We will leverage machine learning, deep learning and deep transfer learning to learn and solve popular tasks using NLP including NER, Classification, Recommendation \ Information Retrieval, Summarization, Classification, Language Translation, Q&A and T…
Stars: ✭ 127 (+353.57%)
Mutual labels:  scikit-learn, nltk
pygrams
Extracts key terminology (n-grams) from any large collection of documents (>1000) and forecasts emergence
Stars: ✭ 52 (+85.71%)
Mutual labels:  scikit-learn, nltk
resume tailor
An unsupervised analysis combining topic modeling and clustering to preserve an individuals work history and credentials while tailoring their resume towards a new career field
Stars: ✭ 15 (-46.43%)
Mutual labels:  scikit-learn, nltk
Nlp tensorflow project
Use tensorflow to achieve some NLP project, eg: classification chatbot ner attention QAetc.
Stars: ✭ 27 (-3.57%)
Mutual labels:  chatbot
Icon2017
Repository for the ICON 2017 hackathon 'multivoxel pattern analysis (MVPA) of fMRI data in Python'
Stars: ✭ 14 (-50%)
Mutual labels:  scikit-learn
Twitch misc
Misc. Twitch bits and pieces
Stars: ✭ 26 (-7.14%)
Mutual labels:  api-rest
Nolearn
Combines the ease of use of scikit-learn with the power of Theano/Lasagne
Stars: ✭ 940 (+3257.14%)
Mutual labels:  scikit-learn
Notes App
Node.js application - simple notes management using Express, Postgres, Objection.js, Docker, Socket.io, Bluebird Promises
Stars: ✭ 14 (-50%)
Mutual labels:  api-rest
Tmi.js
💬 Javascript library for the Twitch Messaging Interface. (Twitch.tv)
Stars: ✭ 938 (+3250%)
Mutual labels:  chatbot
Hoppscotch
👽 Open source API development ecosystem https://hoppscotch.io
Stars: ✭ 34,569 (+123360.71%)
Mutual labels:  api-rest
Sentence Aspect Category Detection
Aspect-Based Sentiment Analysis
Stars: ✭ 24 (-14.29%)
Mutual labels:  nltk
Muscle man
💪🏻It is a chatbot which can receive your practice record!
Stars: ✭ 25 (-10.71%)
Mutual labels:  chatbot
Ailearning
AiLearning: 机器学习 - MachineLearning - ML、深度学习 - DeepLearning - DL、自然语言处理 NLP
Stars: ✭ 32,316 (+115314.29%)
Mutual labels:  scikit-learn
Cog
Bringing the power of the command line to chat
Stars: ✭ 910 (+3150%)
Mutual labels:  chatbot
Botbuilder Viber
Plug-in Viber connector for Microsoft BotBuilder framework
Stars: ✭ 12 (-57.14%)
Mutual labels:  chatbot

Hi there, I'm RyuzakiBot!

Looking for a free open source chatbot? RyuzakiBot is a simple retrieval-based chatbot made from scratch in Python3 using NLTK and scikit-learn. Try it out here: https://ryuzaki-bot.herokuapp.com/ Please notice that website is deployed on a free Heroku server and it would takes some time to load and to answer for the first time.

Using your own corpus

If you would like to train RyuzakiBot on a different subject, please just change corpus.txt file by your own. It is not difficult to create one, each corpus is just a sample of various input statements and their responses for the chatbot to train itself with. In the above example, it will be using the Wikipedia page for chatbots as its corpus.

API REST

RyuzakiBot uses microframework Flask and its extension that adds support for quickly building REST APIs: Flask-RESTful. You can make HTTPS requests to the API here: https://ryuzaki-bot-api.herokuapp.com/reply.json?q=what%20is%20a%20conversational%20bot? q= will hold query and all GET requests will return a JSON object.

Implementation

This chatbot is written in Python3 and mainly uses:

  • NLTK: is a natural language processing (NLP) and artificial intelligence library. NLTK is used for text pre-processing (removing noise, stop words, stemming and lemmatizing). Please visit https://www.nltk.org/ for more info.
  • scikit-learn: is a data mining and data analysis library. RyuzakiBot takes all last paragraph pre-processed documents, transforms them into numerical vectors with TF-IDF method and compares cosine from angles formed between all documents and the one from query with cosine similary numerical method. Please find all scikit-learn documentation here: https://www.nltk.org/

About the author

My name is Lucía Llavero Company and I'm a Spanish high-school software developer. Feel free to use this code for any purpose. I hope you find it useful!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].