# Fractal Zero Shot Chatbot

**URL:** <https://discourse.numenta.org/t/fractal-zero-shot-chatbot/5800>\
**Category:** Lounge\
**Created:** [April 10, 2019, 4:42pm UTC](https://discourse.numenta.org/t/fractal-zero-shot-chatbot/5800 "2019-04-10T16:42:50Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tofara\_Moyo](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.numenta.org/tofara_moyo/32/3837_2.png) [@Tofara\_Moyo](https://discourse.numenta.org/u/Tofara_Moyo)\
**Post date:** [April 10, 2019, 4:42pm UTC](https://discourse.numenta.org/t/fractal-zero-shot-chatbot/5800/1 "2019-04-10T16:42:50Z")

</div>

Author: Tofara Moyo

Title: Fractal Zero Shot Chatbot

[https://www.researchgate.net/…/332330414\_FRACTAL\_BASED\_ZERO…](https://www.researchgate.net/%E2%80%A6/332330414_FRACTAL_BASED_ZERO%E2%80%A6)

abstract  
We outline a way to exploit the fractal nature of  
conversation in order to predict the next word given  
all the preceding ones in the generation process in  
a zero shot trained chatbot. First a corpus of  
conversations is given. Then for every instance of a  
word, we create a set that contains an unordered  
list of all the words that follow after it. We have  
unique entries for each unique instance of a word that came after  
in each set. And give each set a value. At  
initialisation this will be zero. During operation when  
given a particular word we increase the value of  
every set that that word is associated with. Then we  
take the entire database of sets and choose one  
element from it at random. That word will be selected as the  
next word in the utterance. The probability of each word in the sets is increaded proportionaly to their value.The process is repeated  
with this new word, but the value we gave to the  
previous sets is maintained. We sample yet again  
from the union of all the sets to select the next word. This process is  
continued until an end of utterance symbol is met.  
When a human agent responds each of the sets  
corresponding with the words uttered get their value  
incremented, when the utterance is complete, the  
chat bot will know the first word to say, and the next  
and so on. This chatbot can keep cognisance of all that has gone on in a conversation to the current point, regardless of the number of exchanges. Because of the fractal nature of  
conversation we shall see that this should work.

---

<div class="post-metadata">

**Author:** ![Tofara\_Moyo](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.numenta.org/tofara_moyo/32/3837_2.png) [@Tofara\_Moyo](https://discourse.numenta.org/u/Tofara_Moyo)\
**Post date:** [April 10, 2019, 4:43pm UTC](https://discourse.numenta.org/t/fractal-zero-shot-chatbot/5800/2 "2019-04-10T16:43:24Z")

</div>

If you did this with a human, making a set of all neurons that fired after a particular one be the basis , and mapping it to inputs and outputs that we also create sets for, you could have a zero shot trained robot.
