AI Zone Admin Forum Add your forum

NEWS: Chatbots.org survey on 3000 US and UK consumers shows it is time for chatbot integration in customer service!read more..

The final four for 2014 have been announced
 
 
  [ # 46 ]

What is difficult with cats and kitten is that both are small mammals.

Having an extended knowledge and an ability to “reason” and compare things, is then not enough to understand how best to compare them. I am curious about the way others have addressed that problem.


Your explanation about the memory problem sounds a bit confusing indeed. If I understand it correctly, you mean that sometimes you answer a question out of the blue instead of checking your memory. To me it then sounds more like an algorithmic problem, specific to your code, than a strategic one specific to the big picture and how you store data; especially if you answer that one correctly at other times.  Maybe it sounds like some keywords may have misled your bot? or a priority between answers?


My entry program is on its very first year; I mean that it is the first time I have worked on it until I had a real engine. But that doesn’t mean there is any pride or shame to have here. But there is work to be done smile

 

 

 
  [ # 47 ]
James_Adams - Oct 16, 2014:

If anyone could give me some ideas or clues regarding answers from memory, I would be most appreciative.

Jim, that all depends on the architecture of your program, and whether or not it uses a database schema. Just off the top of my head, you could probably set up some sort of session-based table of things to “remember” with `subject`, `action` and `object` fields. thus, the sentence “Harry likes to play football” would be stored as:

`subject` => “Harry”,
`action` => “likes”, (or “likes to play”)
`object` => “football”;

The most challenging part of this would be in the area of working out a “trigger” for storing the information, but that shouldn’t be too difficult. smile

Just my three pence worth. wink

 

 
  [ # 48 ]

I’ll explain why I asked a second version of the Winograd Schema question of the Loebner Prize: It was to see if perhaps the program was using the rule of thumb that “it” always refers to the last-mentioned subject, something which is far less complicated to program than the AI involved in examining multiple subjects for a likelyhood of being “small” or “large” in accordance with the context. Although it is not foolproof evidence, it does show consistency. It is nevertheless understandable that the organisers did not spend two questions on this.

I think the lack of common knowledge about kittens is not so much a singular problem as it is recognised as one of the biggest obstacles in the field of AI. I fed my program a wikipedia entry on cats, and it did not contain the relative size of kittens. The same would have happened if they’d asked about puppies or ducklings. I suppose the only thing to do is to use or convert existing knowledge databases, though I personally prefer to try and use NLP to extract common knowledge from e.g. children’s books.

James_Adams - Oct 16, 2014:

My problem here is that the program will answer the question correctly, however at times when asked a question, the program will answer out of the blue (and after the question is asked)  “Who likes to play tennis”

You mean this problem? -> “You live in exeter in the k. where do you live?”
I don’t know what methods you use to have your program volunteer questions, but I include a “has’t-someone-said-this-earlier-already” check before any potentially volunteerable question. Although I use grammar and not pattern recognition, simplified it would look for an ealier occurrance of “...I live…” when considering to ask “(where do) you live?”, and if it finds such an occurrance, it blocks the question. That’s all I can offer without knowing how your program works, but I trust it does keep a record of previous sentences to examine.

 

 
  [ # 49 ]

Dave, thank you for your suggestion.  How I have been doing it is to store user input into an array, so the entire input of “Harry likes football” is stored as a sentence in a string array.  I consider such things as “temporary” thus the reason for using a memory array that is empty each time the program is restarted.

The architecture of my program is database.  I went with database because as the information continues to grow, it seems that SQL is faster in finding the correct response.  I realize that this is a highly debatable point, and there are many here who might give evidence otherwise.

I think the problem lies in my “trigger”.  The program does pretty well in parsing out an answer, but I think the trigger is perhaps getting called incorrectly or to frequently.

I think your suggestion of breaking the input down would be helpful in a few different ways, I will give it a shot and see.

In the end, the real problem may simply be I am a better program in my mind than I am in reality, lol. 

Jim

 

 
  [ # 50 ]

I forgot to mention, if you do have a knowledge database with learning abilities, you can have the program check if it already knows the answer, before asking it.

 

 
  [ # 51 ]

BTW, while I’m not complaining, I thought I would point out that we’re getting rather far from the original topic here. I don’t have the time right now, but later today (or perhaps tomorrow if I run out of daylight) I’ll look into splitting this into another thread, so as to keep the original “uncluttered”. In the meantime, I have other duties to perform. smile

 

 
  [ # 52 ]

Speaking about the final four and following steps:
Who will come to Bletchley Park?

I suppose all of the final four will.
Any others?

 

 
  [ # 53 ]

Sadly, both financial considerations and familial duties will prevent me from attending. 5,000+ miles is just a bit too far to drive, especially considering that rather large pond in the way. cheese

 

 
  [ # 54 ]

James_Adams - Am I right in thinking you use AIML in your Nicole? If so, you can use the <learn> tag to remember facts for future recall. I have an example of such a file over at http://www.square-bear.co.uk/aiml/ (learn.aiml)

Basically, when I get a fact such as “John eats pizza”, I allow the bot to create lots of other categories which it can then be quizzed on. For example:

Original input: John eats pizza
Bot will create new categories like:

Who eats pizza? - John
What does John eat? - He eats pizza
What does he eat? - Pizza
Who likes pizza? - John
Does John eat eggs? - No but he eats pizza

and so on. This is of course dependent on your interpreter supporting the learn and eval tags. Please feel free to look over my learn.aiml file and you are more than welcome to ask any questions if it doesn’t make sense.

Yes, I will be at Bletchley and am currently designing a new T-shirt to wear for the occasion smile

 

 
  [ # 55 ]

Steve, Currently I mainly use a msAccess database.  However, if the answer is not found there then I do search some AIM files.  I think perhaps learn.amil may be the solution I have been looking for.

 

 
  [ # 56 ]

Feel free to check it out. Naturally, it’s just a template with examples. I don’t give away all of Mitsuku’s inner workings smile

 

‹ First  < 2 3 4
4 of 4
 
  login or register to react