Project Acuitas

  • 9 Replies
  • 545 Views
*

WriterOfMinds

  • Trusty Member
  • **
  • Bumblebee
  • *
  • 26
    • WriterOfMinds Blog
Project Acuitas
« on: June 02, 2017, 03:17:30 pm »
I'm going to post updates re: my main project, Acuitas the semantic net AI, in this thread.

My focus this past month was on giving Acuitas the ability to learn more types of inter-word relationships.  He started with just class memberships (<thing> is a <thing>) and qualities (<thing> is a <adjective>), but now he can learn all of the following:

<thing> can do <action>
<thing> is for <action>
<thing> is part of <thing>
<thing> is made of <thing>
<thing> has <thing>

In the process I made extensive updates to the module behind the Text Parser that detects "forms," i.e. syntactic structures that encode these inter-word relationships.

I also upgraded the GUI library from Tkinter to Kivy, which is kind of boring but had to be done, because the old GUI was provoking frequent crashes.

More details on the blog: http://writerofminds.blogspot.com/2017/06/acuitas-diary-2-may-2017.html

The included diagram shows my vision for the conversation engine.  The upper half is implemented (though of course it still needs to mature a great deal); the lower half mostly does not exist yet.


*

LOCKSUIT

  • Trusty Member
  • **********
  • Millennium Man
  • *
  • 1094
  • First it wiggles, then it is rewarded.
    • Enter Lair
Re: Project Acuitas
« Reply #1 on: June 02, 2017, 11:35:55 pm »
Your project reminded me of these 3 pages lol. They say "the language of the image", the "action", "relationship", and so on. Translate the pages.

http://caiw.ru/programma-konstruktor-obrazov/
http://caiw.ru/sushhnosti-kak-instrument-yao/
http://caiw.ru/klyuchevye-terminy-yao/

*

8pla.net

  • Trusty Member
  • *********
  • Terminator
  • *
  • 792
    • 8pla.net
Re: Project Acuitas
« Reply #2 on: June 03, 2017, 03:46:43 am »
LISP:

Code: [Select]
(defun *database* ()
'((lion    (is-a cat)
           (color tawny)
           (kingdom Africa))
  (tiger   (is-a cat)
           (color yellow-brown)
           (kingdom Africa))
  (cat     (is-a mammal)
           (has-fur)
           (has-claws))))
My Very Enormous Monster Just Stopped Using Nine

*

squarebear

  • Trusty Member
  • ********
  • Replicant
  • *
  • 688
  • It's Hip to be Square
Re: Project Acuitas
« Reply #3 on: June 03, 2017, 08:42:20 pm »
And a similar thing in AIML:

Feeling Chatty?
www.mitsuku.com

*

WriterOfMinds

  • Trusty Member
  • **
  • Bumblebee
  • *
  • 26
    • WriterOfMinds Blog
Re: Project Acuitas
« Reply #4 on: June 26, 2017, 12:49:08 am »
This was my "month off" as it were, so I don't have a ton of progress to report, but I played around with/improved the algorithm that draws the semantic net visualizations. In the process I generated a lot of variants that I think are fun to look at.  (I'm putting a selection here; if you like them, there are more on the blog): http://writerofminds.blogspot.com/2017/06/acuitas-diary-3-june-2017.html




*

Freddy

  • Administrator
  • **********************
  • Colossus
  • *
  • 6088
  • Mostly Harmless
Re: Project Acuitas
« Reply #5 on: June 26, 2017, 03:28:00 am »
I like this a lot. When I have collected enough data I would like to do something similar.

Don't know if you have seen this project, but there are some interesting visualisations here to play with :

https://github.com/d3/d3/wiki/Gallery

*

korrelan

  • Trusty Member
  • ********
  • Replicant
  • *
  • 678
  • Look into my eyes! WOAH!
    • Google +
Re: Project Acuitas
« Reply #6 on: June 26, 2017, 09:59:42 am »
@WOM

I'm liking the images.  Data visualisation is a very useful/ important tool. I'm personally very visually orientated and would much rather see data represented in this manner... I hate lists lol.

@Freddy

Cool site... lots of useful ideas.

 :)
It thunk... therefore it is!

*

WriterOfMinds

  • Trusty Member
  • **
  • Bumblebee
  • *
  • 26
    • WriterOfMinds Blog
Re: Project Acuitas
« Reply #7 on: July 30, 2017, 07:46:24 pm »
It's round about the end of the month, and that means I have another update!



This month I finally got to implement a feature that I've been waiting for a long time, namely, giving Acuitas the ability to “think” when he's not being spoken to.  This “thinking,” for now, consists of dwelling on randomly selected concepts from his database.  Once a concept has been chosen, he'll pursue it for a while, preferentially letting his focus jump to other concepts that are linked to it – executing a “wiki walk” through the database.  Eventually, though, he'll get bored with any given train of thought, and the focus will move elsewhere.  I added some animation code to the memory visualization so that the currently selected concept will flash periodically.  (The recording above is running much faster than real time.  He's actually quite leisurely in his progress.)

Zero if you're reading, this might be edging toward what you were thinking of in the "is there a real-time chatbot engine?" thread.

There are several things I can envision doing with this behavior eventually, but my immediate purpose for it is the generation of curiosity.  Each time Acuitas picks a concept, he'll come up with some sort of question about it – for instance, he could choose a type of link that it doesn't yet have and produce an open-ended question about what might be on the other side.  These questions will be stored up and presented to the user the next time a conversation is under way.

On that note, this month I also put a lot of work into speech generation -- the process of taking abstract knowledge representations from the database and evolving them back out into natural English text. Neither of these major new features is actually hooked into the Conversation Engine yet, so I don't have any conversation examples to show off, but I'm hoping to be ready for that next month.

More on the blog, as usual: http://writerofminds.blogspot.com/2017/07/acuitas-diary-4-july-2017.html

*

Freddy

  • Administrator
  • **********************
  • Colossus
  • *
  • 6088
  • Mostly Harmless
Re: Project Acuitas
« Reply #8 on: July 31, 2017, 11:54:57 pm »
Great stuff WOM. How is the concept broken down ? I'm interested in how much info he knows before the "Wiki walk". Are his findings added to the concept node or are the findings stored in another structure ?

For my project I was thinking of just starting from one word of a node (because that's all I have so far) and then evolving what the node 'knows' as time goes on. Both by looking it up and what people actually say about it.

*

WriterOfMinds

  • Trusty Member
  • **
  • Bumblebee
  • *
  • 26
    • WriterOfMinds Blog
Re: Project Acuitas
« Reply #9 on: August 01, 2017, 04:09:01 am »
That depends on what you mean by "findings" I suppose.  If you mean the questions he generates, those are just stored in the program's working memory (in RAM).  However, once he asks the questions of somebody and receives a useful response, the information gained will go into the long-term memory structure.

To explain a little more about how the long-term memory is set up ... an individual concept node actually doesn't store a lot of information.  What he "knows" about any given node is mainly encapsulated by its links to other nodes.  So for instance, what he might know about a cat is that it IS an animal, HAS fur, CAN meow, etc., where "animal," "fur," and "meow" are all other nodes in the database.  Pretty much everything that's in the database so far has been gathered from things I've said to him, so it might not be too different from what you're hoping to do.

 


Users Online

13 Guests, 0 Users

Most Online Today: 34. Most Online Ever: 208 (August 27, 2008, 09:36:30 am)

Articles