Page content¶
General bot frameworks¶
Language¶
Filtering¶
- List of Dirty, Naughty, Obscene, and Otherwise Bad Words (by Shutterstock)
- dariusk/wordfilter (by Darius Kazemi)
node.js¶
- jimkang/iscool (by Jim Kang)
Generating and templating¶
- RiveScript, see also bots using RiveScript
- SuperScript: a dialog system and bot engine for conversational UI’s
- ChatScript
- How to build your first chatbot using ChatScript (Giorgio Robino via freecodecamp.com)
- ink: narrative scripting language
node.js¶
- queneau-letters: node.js implementation of Queneau Assembly/Letter Chunks algorithm by Leonard Richardson
- queneau-buckets: node.js implementation of Leonard Richardson’s Queneau Assembly buckets algorithm
- kylestetz/Sentencer: madlibs-style sentence templating
- jimkang/shakesnippet: provides a randomly chosen Shakespeare excerpt
- spewer: a reverse part-of-speech tagger: give it a list of tags and it spews out matching language
- shariq/burgundy: generates “aesthetically pleasing words”, see burgundy.io
- Improv: a javascript library for generative text
- incrediblesound/story-graph: the graph that generates stories
- michaelpaulukonis/tagspewer: spew text based on pos-tagged-templates and associated lexicon; includes tools for parsing text and generating templates and lexicon
Python¶
- leonardr/olipy: Python library for artistic text generation
- cblgh/storyteller: a templating language and python parser for generating small stories
- nathanielksmith/prosaic: cut-up poetry generation over large corpora
- ryankiros/neural-storyteller: recurrent neural network for generating little stories about images
- mewo2/syllpos: a collection of wordlists
Dialog mockups¶
- Bottery: a conversational agent prototyping platform (Google via github.com)
- Demo on Glitch (glitch.me, view source code)
- Twine: an open-source tool for telling interactive, nonlinear stories
- Twinecery: tool for authoring and implementing tracery grammars in Twine
- The Poor Man’s Dialogue Tree (article)
- Chat Mapper: offers a free version
- Tree based tool to create dialog: question on rpg.stackexchange.com
- Dialogue System for Unity: How To Manage Quests (article)
- Walkie: Test copy, add attachments and share with your dev team.
Rhyming and pronunciation¶
node.js¶
- zeke/cmu-pronouncing-dictionary: all the 134,000+ words in the CMU pronouncing dictionary as a simple JSON object
- zeke/rhymes: “Give me an English word and I’ll give you a list of rhymes.” (uses zeke/cmu-pronouncing-dictionary)
Python¶
- aparrish/pronouncingpy: a simple interface for the CMU pronouncing dictionary, useful for finding rhymes
Other language libraries¶
node.js¶
- NaturalNode/natural: general natural language facilities for node
- stanford-simple-nlp: a simple node.js wrapper for Stanford CoreNLP
- doeg/toke: an experimental linguistics DSL for phrase grammar
- nemo/natural-synaptic: natural language classifier
- MichaelPaulukonis/mispelr (Michael Paulukonis via github.com)
Python¶
- NLTK: platform for building Python programs to work with human language data
- seatgeek/fuzzywuzzy: fuzzy string matching in Python, read more on chairnerd.seatgeek.com
- karpathy/neuraltalk: Python+numpy project for learning Multimodal Recurrent Neural Networks that describe images with sentences
- mewo2/syllpos: wordlists by part of speech and syllable count
- hugovk/chroniclingamerica.py: a Python wrapper for the Chronicling America API
- pteichman/quotefix: Insert matching punctuation for mismatched quotation marks, parentheses, etc. Good postprocessing for N-gram text synthesis.
- interrogator/corpkit: a Python-based toolkit for working with linguistic corpora
Other¶
- facebookincubator/duckling: language, engine, and tooling for expressing, testing, and evaluating composable language rules on input strings (Haskell)
Images¶
node.js¶
Math and data¶
node.js¶
Python¶
- NumPy: the fundamental package for scientific computing with Python (numpy.org)
APIs¶
node.js¶
- google-spreadsheet: “a simple Node.js library to read and manipulate data in Google Spreadsheets”; also see this article on how it can be used
Python¶
- hugovk/whatsonthemenu: Python interface to NYPL’s What’s on The Menu API
- pyNASA (bmtgoncalves.github.io)
Web scraping and parsing¶
node.js¶
- cheeriojs/cheerio: “fast, flexible, and lean implementation of core jQuery designed specifically for the server” (web scraping)
- feedparser: a robust RSS Atom and RDF feed parsing using Isaac Schlueter’s sax parser
Python¶
- Beautiful Soup: a Python library for pulling data out of HTML and XML files
Latest from the blog
Cheap Bots, Done Quick suspended, this time for good
So long, and thanks for all the bots.
Twitter shutting down free access to their API on February 9
I keep saying it's an end of an era quite often these days.
How do folks get into creative botmaking?
Sharing the stories of our early botmaking days.
What kind of bots are posting in the fediverse?
Exploring the bots people make and follow in the fediverse.