|
|
Experienced member
Total posts: 94
Joined: Dec 8, 2011
|
Hi Bruce, hi all,
is it possible to have annotations in CS,
perhaps of anaphors -
and how would they look like?
For example:
u: (your mother) <span id=“a1”>My mother</span> hates <span id=“a2”>doing the dishes</span>, but <span data-antecedent=“a1”>she</a> would never allow me to do <span data-antecedent=“a2”>it</a> for <span data-antecedent=“a1”>her</a>.
How would I do it in “real” ChatScript?
Best
Andreas
|
|
|
|
|
Posted: Jan 24, 2015 |
[ # 1 ]
|
|
Moderator
Total posts: 2372
Joined: Jan 12, 2010
|
Not sure what you are asking. You can certainly take that rule you wrote, put it into chatscript and it will output what you have written. If you want to do something else with this, you’ll have to explain what is intended to process these annotations.
|
|
|
|
|
Posted: Jan 24, 2015 |
[ # 2 ]
|
|
Experienced member
Total posts: 94
Joined: Dec 8, 2011
|
Hi Bruce,
sorry for being not clear enough:
I want these annotations to be inside the output
for reasons of anaphora-resolution, but invisible in the output for the user.
The user should see after a sentence with “your mother” in it simply:
“My mother hates doing the dishes, but she would never allow me to do it for her.”
But the bot should react as if having said:
“My mother hates doing the dishes, but my mother would never allow me to do it for my mother.”
Can you see my point now?
Best
Andreas
|
|
|
|
|
Posted: Jan 24, 2015 |
[ # 3 ]
|
|
Guru
Total posts: 1081
Joined: Dec 17, 2010
|
For it to be valid HTML, you need closing /SPAN instead of /a around “she”, “her” and “it”.
<span id="a1">My mother</span> hates <span id="a2">doing the dishes</span>, but <span data-antecedent="a1">she</span> would never allow me to do <span data-antecedent="a2">it</span> for <span data-antecedent=“a1”>her</span>.
|
|
|
|
|
Posted: Jan 24, 2015 |
[ # 4 ]
|
|
Experienced member
Total posts: 94
Joined: Dec 8, 2011
|
Hi Merlin,
thank you for your hint.
You are absolutely right.
It should just be an example
to show Bruce, what I need in ChatScript: )
Best
Andreas
|
|
|
|
|
Posted: Jan 24, 2015 |
[ # 5 ]
|
|
Moderator
Total posts: 2372
Joined: Jan 12, 2010
|
So, Andreas, your use case is still not clear. Normally bots don’t react to what THEY say, unless you are using postprocess topic to analyze chatbots own sentences. But let’s pretend I do know what you want…
1. if you had some program outside of chatscript that you were annotating for, that was between CS and the user, then that exterior program could strip off any form of annotation, make use of it, and present the unannotated output to the user. I presume this is not what you want.
2. If you intend to have CS analyze its own output (and assuming you don’t have a reasonable pronoun resolution code in postprocessing to do this automatically which is admittedly a difficult thing to do), then annotation is data you want to pass to postprocessing. So
u: (your mother) ^pronoundef(a1 “My mother”) ... ^pronounref(a1 “she”)
would be a notation.
Then its a question of how to code the output macro. I would imagine it records facts which hold (a1 pronoundef “My mother”) and probably the position in the sentence of the pronoun for a pronounref and then just puts the words into the output stream Then during postprocessing one could reconstruct a sentence which had pronouns substituted back in place, and then analyze that sentence to react in script. The user would see the clean output.
|
|
|
|
|
Posted: Jan 26, 2015 |
[ # 6 ]
|
|
Experienced member
Total posts: 94
Joined: Dec 8, 2011
|
Dear Bruce,
its a variation of case 1:
Hendrik and me are still working
an an anaphora-resolution-tool, which shall be go to work
after every output (after bot-output AND user-output).
Would a more abstract annotation bepossible: like
u: (your mother) ^antezref(a1 “My mother”) hates doing the dishes, but. ^anapref(a1 “she”)...
to catch the antecedent by ^antezref(a1 “XYZ”) ant the first anaphora by ^anapref(a1 “xyz”)
with a user-seen output:
“My mother hates doing the dishes, but…”
but with antecedent and the anaphora sent to the anaphora-resolution-tool?
Thanks for your patience: )
Best
Andreas
|
|
|
|
|
Posted: Jan 27, 2015 |
[ # 7 ]
|
|
Moderator
Total posts: 2372
Joined: Jan 12, 2010
|
so if you are in case #1, you have an interceptor program between the user and CS, then what I would “expect” is that you annotation using macros (as you show), and that the macro both generates facts and then puts out the ordinary output. And then during postprocessing, you retrieve those facts (FACTTRANSIENT) and output special annotation as out of band information to your interceptor which processes the oob data and does not display it to the user. So the resulting oob data might be
[ a1=“My mother” ref=a1.15] the user message
where the ref names both the value to use and the position of the pronoun in the sentence. That’s one idea anyway.
|
|
|
|
|
Posted: Jan 27, 2015 |
[ # 8 ]
|
|
Experienced member
Total posts: 94
Joined: Dec 8, 2011
|
Yes,
that is the structure
of what we wanna do.
Our interceptor program (SLS) shall recreate
the process of human thinking by putting the puzzle of words together,
for example using elipses als “free space” in this puzzle.
Like:
User: Einstein was a great physicist.
Bot: (finding u: (<<Einstein* ~value_d) ) He was a great violonist, too!
(Bot (thinking with the help of SLS and sending back to ChatScript) Einstein was a great violonist, too!)
User: Impossible!
(Bot (putting the puzzle together, thinking:) Impossible, that Einstein was a great violonist, too!)
Bot outputs: Believe me!
(Bot thinking: Believe me, that Einstein was a great violonist, too!)
Best
Andreas
|
|
|
|
|
Posted: Jan 27, 2015 |
[ # 9 ]
|
|
Moderator
Total posts: 2372
Joined: Jan 12, 2010
|
|
|
|
|
|
Posted: Jan 27, 2015 |
[ # 10 ]
|
|
Experienced member
Total posts: 94
Joined: Dec 8, 2011
|
We will keep you informed,
when we have good results to show.
Like my teacher in primary school said:
“He is working slowly, but he never gives up!” : )
|
|
|
|