VB Strong A.I. Project

Discussion in 'Intelligence & Machines' started by Baal Zebul, Apr 23, 2004.

Thread Status:
Not open for further replies.
  1. DennisGorelik Registered Senior Member

    I thought about composing <a href="http://www.dennisgorelik.com/ai/Phrase.htm">phrases</a> out of N words.
    But this is wrong because of two reasons.
    Reason #1:
    Long phrases are not typical. That means that long phrases are used very rarely. That means that long phrases have very weak association with other concepts.
    That's why it has no sense to remember long phrases.

    Humans also don't remember long phrases.
    Typical phrases consist of 2-3 words. 4 and 5 words phrases are relatively rare. So I think that phrase lenght should be restricted to 3 or 4 <a href="http://www.dennisgorelik.com/ai/Word.htm">words</a>.
    (Not extended to N words as you proposed).

    Reason #2:
    From database performance point of view it's better to keep phrase in one record (PhraseId, WordId1, WordId2, WordId3) instead of keeping phrase in multiple records:
    PhraseId, 1, WordId1
    PhraseId, 2, WordId2
    PhraseId, 3, WordId3
  2. Google AdSense Guest Advertisement

    to hide all adverts.
  3. DennisGorelik Registered Senior Member

    There are two basic stages in teaching the system:
    Stage #1: AI developer (I or you) programs "learning routines" and <a href="http://www.dennisgorelik.com/ai/SuperGoal.htm">super goals</a>.
    Stage #2: AI System self-learns by using the learning routines. Learning process is directed by the <a href="http://www.dennisgorelik.com/ai/SuperGoal.htm">super goals</a>.

    Example #1 of learning routine:
    Chat with an <a href="http://www.dennisgorelik.com/ai/Operator.htm">operator</a>
    After AI response to operator, operator rates AI's answer as good or bad.
    AI makes conclusions what is good and what is bad.

    Example #2 of learning routine:
    Chat with a regular user. The longer user stays in chat - the better AI evaluates AI's actions.
    AI makes conclusions what things are good to say and what things are better not to say.
  4. Google AdSense Guest Advertisement

    to hide all adverts.
  5. G71 AI Coder Registered Senior Member


    I would not worry about the performance issues considering this particular table. It's just a bunch of numeric values (very few per row). You may have many rows but If well indexed (which you have to do anyway), the performance will be relatively OK (assuming you will use a decent DBMS). You will probably often need to select PhraseIDs of phrases which contain certain WordID. Considering the current design, that query would take 5 conditions (instead just 1) and more work for the DB engine. What I proposed would also avoid the nulls in short phrases and it would add flexibility. I'm sure you ideas will go through many changes during the development so the flexibility is generally very important. When working on AGI, keep the DB design as dynamic as you reasonably can. My understanding is that you have at least a good idea on how to convert users text-input into 4- word phrases. That's something I would like to see. What if they talk about relatively long mathematical formulas? How would you break it? Also note that having simply VarChar(20) for all words is not enough. I could never tell it that I used to code for the PriceWaterhouseCoopers (=22 chars) and not all strings in sentences are regular words. Teach it chemistry and you will find the VarChar(20) pretty short. Again, you can use a sequence and break "words" into more rows if necessary or use multiple word tables with various limits (or both ideas combined). Of course it adds some overhead but that should apply just to the very initial and the very final stage of the internal processing (+ considering the chat-like communication, relatively limited number of input/output words (at the time) would go through that process.
  6. Google AdSense Guest Advertisement

    to hide all adverts.
  7. DennisGorelik Registered Senior Member

    I worry about performance, because there will be more than 100000 phrases in phrase dictionary.
    There will be two typical operations on <a href="http://www.dennisgorelik.com/ai/PhraseDictionaryTable.htm">phrase dictionary table</a>:
    #1) Find PhraseId by sequence of WordIds.
    #2) Find Phrase by PhraseId.

    In "One phrase - one record" model these operations are obvious and fast.
    In "One phrase - N records" model these operations are less obvious and essentially slower. Especially operation #1. How are you going to get phrase which consist from sequence of three word IDs: WordId1, WordId2, WordId3?
    How are you going to build SQL query? In particular "Where" condition?

    You probably keep in mind operation #3:
    Find all phrases which have specified WordId.
    But this operation is not typical and will be executed rarely (if executed at all).

    You are right: "One phrase - one record" model waste some space for Null values. But "One phrase - N records" model waste some space for additional key (SequenceNum) values.
    So, these models are ~equal from "hard disk memory consumption" point of view.
    Moreover, with "3-words in a phrase" restriction "One phrase - one record" model use hard disk space much better.
  8. DennisGorelik Registered Senior Member

    What is "AGI"?
  9. DennisGorelik Registered Senior Member

    Here is "Phrase search solution":
    Imagine 10-words sentense:
    Word1, Word2, ..., Word10.
    For any 10-words sentence there will be
    10 words
    9 two-word phrases
    8 three-word phrases
    7 four-word phrases
    6 five-word phrases
    (I don't consider phrases longer than 5 words)
    Total: 40 Text units in the <a href="http://www.dennisgorelik.com/ai/TextUnit.htm">TextUnit</a> collection

    So when I read a text I just consider them all.

    Some phrases are incidental and would not occur again in other places.
    Such prases will be <a href="http://www.dennisgorelik.com/ai/Forgetting.htm">forgotten</a> (removed from phrase dictionary) gradually.

    So, for me it doesn't matter if text is a regular text or it's a mathematical stuff.
    However I don't think about mathematical text - it very specific and not very common form of communication.
    Usefullness of mathematical notation is quite limited also

    Please Register or Log in to view the hidden image!

    If you like to know how I separate words then read:
    <a href="http://www.dennisgorelik.com/ai/2004_02_01_aisdevelopment_archive.html#107642545616307750">Reader implementation --- Parse statement</a>
    This description is out-of-date a little bit, but it will give you main idea.
  10. DennisGorelik Registered Senior Member

    PriceWaterhouseCoopers is definetely not a word. It's phrase.
    People treat such "words" as phrases.
    Why should AI treat it as a word?

    If AI text parser feels that current substring is too long then it tries to find other types of separators (including change from uppercase to lower case).

    If there is no separators then word is cut at 20 chars. Not big deal

    Please Register or Log in to view the hidden image!

  11. DennisGorelik Registered Senior Member

    1) Yes, AI text parser should be able to find short words.

    2) I don't think that "multiple word tables" is a good idea.
    Multiple tables drammatically increase AI operational logic.
    Human's brain doesn't work this way.
  12. DennisGorelik Registered Senior Member

    "Mr Black" and "a black shirt" are quite typical <a href="http://www.dennisgorelik.com/ai/Phrase.htm">phrases</a> with completely different meaning.

    Also "Black" and "black" are different.

    Did I answer your question?
  13. DennisGorelik Registered Senior Member

    Unknown words are added into <a href="http://www.dennisgorelik.com/ai/WordDictionaryTable.htm">WordDictionary table</a> and into <a href="http://www.dennisgorelik.com/ai/ConceptTable.htm">Concept table</a>.

    Also multiple records are added into <a href="http://www.dennisgorelik.com/ai/CauseEffectRelationTable.htm">Relation table</a>.
    These <a href="http://www.dennisgorelik.com/ai/Relation.htm">relations</a> point to another <a href="http://www.dennisgorelik.com/ai/Concept.htm">concepts</a> which were used together with unknown words.

    From this point unknown word is not unknown anymore.

    Please Register or Log in to view the hidden image!

  14. DennisGorelik Registered Senior Member

    I don't understand your question.
    Do you mean: "How does AI discover what is the cause and what is the effect?"?.
    Last edited: Jun 11, 2004
  15. DennisGorelik Registered Senior Member

    Right now I don't have "strong AI", therefore it cannot play

    Please Register or Log in to view the hidden image!

    Moreover, AI prototype which I'm trying to build now wouldn't have two important features which make learning games (or other activities) possible.

    These features are:
    1) Ability to build it's own<a href="http://www.dennisgorelik.com/ai/SoftcodedRoutines.htm">softcoded routines</a>
    2) <a href="http://www.dennisgorelik.com/ai/MotivationSystem.htm">Motivation system</a> (<a href="http://www.dennisgorelik.com/ai/SuperGoal.htm">super goals</a> and <a href="http://www.dennisgorelik.com/ai/SoftcodedGoals.htm">softcoded goals</a>).

    If you like, we could discuss these features.
  16. BigBlueHead Great Tealnoggin! Registered Senior Member

    Dennis: sorry to take so long to reply.

    Having read your description of this AI, it appears to be a combination of two things:
    1) a lexical analyzer
    2) a database with a series of weighted phrase-concept associations.

    I'm not yet sure what the weightings are for exactly, but I see a major problem with your AI; its analysis of language has no sense of meaning whatsoever, and an extremely poor sense of context. For instance, your five-word phrases system would be able to draw some context out of the sentence:

    "I had gone to the place where she had gone, but she was gone."

    But none at all out of:

    "I had gone after her. I went where she had gone. She was gone."

    So, what does this AI do other than rate phrases by popularity?
  17. DennisGorelik Registered Senior Member

    You are right, but not exactly

    Please Register or Log in to view the hidden image!

    1) a lexical analyzer
    Yes, my AI does text analysis. But this analysis is not about search for verbs, nouns, and adjectives.
    Intestead my AI parser is looking for meaning of every <a href="http://www.dennisgorelik.com/ai/TextUnit.htm">text unit</a> in a text.
    Find a meaning of a <a href="http://www.dennisgorelik.com/ai/Word.htm">word</a> means to find all concepts which are related to specified word.

    You might want to ask: "How The AI parses is going to find this relations?".
    The key to the answer is: "If words are used together, then the words probably are related to each other".
    The more words occur together the stronger are <a href="http://www.dennisgorelik.com/ai/Relation.htm">relations</a> between these words.

    In addition to looking for "http://www.dennisgorelik.com/ai/Concept.htm">concepts</a> relations in one sentense, my AI parser is going to search for relations between concepts in different statement.
    It's implemented by using short memory.
    Information about concepts which were used in previous sentences will be kept in <a href="http://www.dennisgorelik.com/ai/ShortMemory.htm">short memory</a> for some time (until it will be forgotten).

    You might want to look at the core reading algorithm here:
    <a href="http://www.dennisgorelik.com/ai/ReaderPrototypePlan.htm">http://www.dennisgorelik.com/ai/ReaderPrototypePlan.htm</a>

    2) a database with a series of weighted phrase-concept associations.

    Actually relation table is about concept-to-concept associations.
    That means that relations could be:
    word-to-<a href="http://www.dennisgorelik.com/ai/DeepConcept.htm">deep concept</a>
    <a href="http://www.dennisgorelik.com/ai/DeepConcept.htm">deep concept</a>-to-phrase
    ... and so on.

    In addition to that I'm going to implement in my AI reader prototype feature which relates to read/write ability only:
    <a href="http://www.dennisgorelik.com/ai/TextPairs.htm">text pairs</a> mechanism.
    Text pairs allow to embed "correct text intuition" into AI.
  18. Baal Zebul Somewhat Registered User Registered Senior Member

    Jiri is a busy man so i will just fill in, AGI means Artificial General Intelligence. Something Jiri is extremely keen on.

    Please Register or Log in to view the hidden image!

  19. Baal Zebul Somewhat Registered User Registered Senior Member

    Let me just point out one thing. It seems to me that many believe that a chat bot is the way to achieve true intelligence (real AGI)

    So, you teach it a couple of words, let it ask someone a question using those words. It has encountered a problem and it askes the human operator who has the answer how to solve the problem in question. The operator tells you how to solve it and you solve it. Do you call that AI at all? Because i sure don't.

    Another example. It has basic and grammatic knowledge, it begins chatting and some friendly human operator tells it lots of new data (which of course is correct). The chatbot has now got new data and it asks the operator how to solve a particullar problem. The operator gives enough hints for the problem to be solved and the chatbot solves it. You call that AI? I do not call that AI, sure as hell not Strong AI.

    What i call AI is when it figures out how to solve a problem without any assistance.

    My design will allow us to start our AI with a handfull of parameters (less than 10 at the moment) and it will be able to learn how to interact.
    It will of course need a Goal too. The algorithm is built in a way that makes sure that it always tries to obtain as much knowledge as possible (identify everything unknown) unless a superior goal supercedes that ability.
    A goal that allows it to interact is for instance "Provide your familiy" and sub-goals are that the familiy needs food, water and wood (fire)

    That is what it gets to know in our "Republic".
    We will also tell it how to walk. I have designed a solution so that it can learn how to walk by itself too but it would take time to perfect it so we have choosen not to.
    Last edited: Jun 11, 2004
  20. DennisGorelik Registered Senior Member

    1) Well, I claim that my AI has very strong sense of context.

    Please Register or Log in to view the hidden image!

    I explained it in my previous post: my AI keeps track of relations between concepts.

    2) From my AI point of view there is no big difference between these two examples which you provided.
    My AI parser would just keep information about concepts occurred in previous sentences in the <a href="http://www.dennisgorelik.com/ai/ShortMemory.htm">short memory</a>. Therefore it will be able to find relations between concepts in these several short sentences.

    3) At the same time handling pronouns (like "she", "he", "it") is not an easy task for AI.
    It's not easy for humans also

    Please Register or Log in to view the hidden image!

    Nevertheless my model should be able to handle pronouns.
    Let's see how it works:
    - After reading huge amount of text (including extensive chat) AI would know that "her" and "she" words are strongly related.
    Also AI would know such facts as:
    "Woman" and "she" is strongly related.
    "Man" and "he" is strongly related.
    "Cow" is related to "it" stronger than "cow" <a href="http://www.dennisgorelik.com/ai/Relation.htm">related</a> to "she".
    "Mary" is related to "she" stronger that "Mary" related to "it".

    Such knowledge would help to correctly understand sentences like:
    "Mary milked a cow. She was tired."

    Please Register or Log in to view the hidden image!

  21. DennisGorelik Registered Senior Member

    You miss the point that operator teaches AI only for limited time. All other time AI makes decisions by itself.
    Of course AI has to <a href="http://www.dennisgorelik.com/ai/Learning.htm">learn</a> a lot from operator's tutoring.
  22. DennisGorelik Registered Senior Member

    Ok, lets consider another example: Baal Zebul reads new information in this topic and asks his friends what does it mean. After short discussion Baal clearly realized what does this new information mean. Then Baal continued reading.
    Could Baal Zebul be considered as an intelligent system (after he used help of another intelligent system)?
    Last edited: Jun 11, 2004
  23. Baal Zebul Somewhat Registered User Registered Senior Member

    If I was started with no knowledge about Language, then yes.
    If i was started with a basic language that allowed me to learn more then No.

    I simply see it as a excuse for not being able to solve the real problem.
Thread Status:
Not open for further replies.

Share This Page