Chat with Fiona

NLU Question and Answer

NLU Question and Answer

Questions are automatically identified in all content (with or without proper punctuation) and evaluated to determine the proper answer. Much of the time the answer will not be known, some of the time it will be very generic (from ontology ancestry). But many of the questions will be answered simply and concisely.

The method used to get answers doesn’t need training, It just need to have the information. The easiest way is to provide the information in text to it, just as you would to a person so that they could answer the question.


Shrek is a big green ogre. He hates people and he lives in a swamp. Shrek likes eating. He once said "what are you doing in my swamp!". Is Shrek green? 
Shrek is big?
What is Shrek?
What does shrek like doing?
Does Shrek like eating?
What does Shrek do in a swamp?
What did Shrek say?

Scan down to the sentence for each question, you will see ‘Answer’ button in the sentence button bar. Click this to expand for the Answer information.

This displays the Answer type, Question we are answering (composited in cases of incomplete information) and the response options. Green means is very certain of the answer, Orange is undecided, Red means no idea.

Chat Question and Answer

The same learning occurs in chat conversations, the persona learns what you say, or what it gets from external APIs. The following is the same as the above example but with the Persona giving the answers to the questions after the information is provided.

As with the first example, information is provided and Sedro is able to use it to answer questions; in this case it is just via a persona and in a chat flow.

Chat with retained knowledge

In Sedro the information from text may be saved and loaded as a knowledge set, thus allowing plain text to provide information and be loaded for a chatbot or data mining later. The knowledge can be continually extended in the same way, with text additions and the /tell API.

In Analyze the same content is given then saved to a DB name, this DB name is added to the Persona ‘Fiona’. Using RapidAPI apis this is done by adding knowledge or using tell.

Some responses may be less detailed when from memory than in conversation (just as IRL). For example Shrek will be just ‘ogre’ instead of ‘big green ogre’ as comes from the conversation.

Try it for yourself

Try it via the live demo, or via the Apis at

The 1st, 2nd and 3rd Person Perspective in NLP

The 1st, 2nd and 3rd Person Perspective in NLP

Natural Language Processors must identify the correct Grammatical person for words, objects and phrases so that it can correctly map references and utilize the information correctly. Here we are going to take a look at how they are mapped and how Sedro tags the information and exports it via API.

Generally personal pronouns are considered for grammatical person, such as in this case of 3rd person ‘He’.

   It is his dog

Person also comes into play for lists, objects and couples such as in this 3rd person use of ‘they’:

   Linus, Lucy and Charles said they want to go trick-or-treating

Sedro maps person simply, or at least for its ability to map information references. It tags tokens and objects as either inclusive of the speaker (includes the speaker) or exclusive of the speaker (does not include the speaker). This also allows reference matching to more complex objects such as lists, couples and named objects.

The 1st Person

First person items are marked as inclusive, and have a type set to person.

   usive=inc, rtype=person

The personal pronouns are well known some are:

   [I, me, my, us, we] => inclusive

Lists and couples may also be first person and will be marked the same

   Linus, Lucy and I => inclusive

3rd Person

Third person items are marked as exclusive, and have type set to person and set to thing for objects.

   usive=exc, rtype=person/thing

The personal pronouns are well known some are:

   [he, she, it, they, them, that] => exclusive

Lists and couples may also be first person and will be marked the same

   Linus, Lucy and Charles => exclusive

2nd Person

Second person like third person are marked as exclusive, have type set to person but then also have direct set.

   usive=exc, dir=dir, rtype=person

The personal pronouns are well known some are:

   [you, y’all, thee] => exclusive, direct


The last bit of information needed for grammatical person is the quantity which differentiates between single, plural and all. This bit of information is exported via API as the quant and is set when known with one of the listed values.

   quant=[single, plural, dual, all]

The quant allows reference mapping decisions for lists, groups or across like quantity objects.

There are other uses for the inclusive / exclusive information as well, that don’t relate direction to person. More on that perhaps in a later post.

NLP and the Point of View

NLP and the Point of View

In Natural Language Processing a Point of View (POV) is the perspective of a sequence of words. Meaning it is the who said what to whom and in what context. In simple example:

                                           from/speaker: Bob
Bob said "I am Robert" => assign: said
content: I am Robert

In NLP this information is needed to:

  1. Assessment of the quality, validity and truth of POV content information
  2. Logically resolve references in POV content (I, you, we, etc)
  3. Identify source of and access to information presented in POV to determine information access or blindness for other entities
  4. Determine if quoted content is a POV not a media title or scare quote

There are several other common situations that alter the POV of content that effect the assessment of the information or who has access to it.

“don’t quote me on that”

The simplest POV is quote with clear attribution optionally to a person or entity.

Bob told me “I don’t want any words from you”

With the communication partners mapped, the references ‘I’ and ‘you’ in POV content can be logically resolved.

Some say… hearsay

When what is said is really said to be said, may not be accurate and possibly adds no value… it is often hearsay. This content has a known speaker and claimed source but must be tagged as the content is suspect at best.

Bob said your the one that eat my last cookie.

All the lies they tell

Information that is known to be a lie, is not to be trusted. Identifying lies and mistruths is unfortunately a bit difficult. Lies POVs record information and keep it separated and tagged to know that it is not good data, and to remember the source.

Bob lied me “It wasn’t me that eat the last cookie!”

Everyone’s a comedian!

Some content is just funny… but generally the text of a joke is not to be considered good information. So like the lies we find, humor is identified when possible to keep our information trusted.

“why did the chicken cross the road?”

Got Questions?

Fortunately questions are easy to identify, but who is asking them, of whom needs to be known as well. The information in a question is not known to be good until we have an answer… an honest answere.

did you eat my last cookie?

Headers, footers, adverts, and more

All content has a POV, often just simply the author communicating to the reader or author to recipient like in an email, letter or PM.

But most more structured documents contain sections not written by the author, such as a header, footer, preface or even adverts. This content is often attributable only to a generic publisher, but must be properly mapped to a POV so it is clear that what every truth or quality we attribute to the author is not associated with this information.

What next?

Without mapping the POV for all the tokens, logical references resolution and information integrity are not possible for NLP. Additionally, it adds a lot of easy to use information for data mining and content analysis. Clearly there is a lot of work in the field remaining to be able to accurately map and understand lies and humor, but it is just a matter of time.

What can you do with access to this information?