"Oh, fate most cruel, would that my boundless acting skills would avail mе a sword with which to slay this wretched curse."
Calculon is a Generative Dialog System in that it tries to generate dialogs based on different TV-show charactes' scripts. As now, Calculon only works with Sheldon from The Big Bang Theory and Dr. Gregory House from Dr. House.
Calculon is an acting robot from the Futurama comedy series; since our project is aiming to reproduce characters' personalities, we thought that the name was well justified
Calculon uses a markov-chain based model to generate text from context extracted from in previous sentences of the dialog. There are different evaluation metrics in place before accepting a generated dialog.
We evaluate generated sentences based on their syntax as well as semantics. We are using WordNet based algorithm to evaluate semantic similarity within conversations.
First of all, clone the repository from the current master:
$ git clone https://github.com/crybot/calculon
Then move into the directory and install the requirements:
$ cd calculon
$ python3 install requirements.txt
(you may need to install cobe from this pull request pteichman/cobe#26 to support python3)
Then if everything went well, you should be able to execute the program by:
$ cd main_package
$ python3 calculon.py [generate | chat (sheldon|house)]
If you want to chat with Sheldon Cooper you will have to execute the following command:
$ python3 calculon.py chat sheldon
If, on the other hand, you would like to generate a dialog between the two available characters (Sheldon and House):
$ python3 calculon.py generate > generated_dialog.txt
will save the dialog inside generated_dialog.txt.
This is one of the dialogs generated by the system:
sheldon: Uh, can you identify our cricket?
house: No, but I can t diagnose you.
sheldon: : No, you re mad at me.
house: Under New Jersey law, you re good.
sheldon: Oh, Leonard, you may change your mind.
house: Oh, do you want a reason?
sheldon: Oh, you want to go to Jewish heaven?
house: Oh he's going to have a life.
sheldon: I m going, and you have to offer.
house: So, what are you going to trust them?