VB Strong A.I. Project

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

Thread Status:
Not open for further replies.
  1. Baal Zebul Somewhat Registered User Registered Senior Member

    Honestly, your "AI" it is just A. Artificial. It has no Intelligence.

    It is not smarter than a Dictionary.

    But, Dennis go ahead and make this "AI", means that there will be less opposition for me and i have never liked opponents, because i can't stand failing.
  2. Google AdSense Guest Advertisement

    to hide all adverts.
  3. Baal Zebul Somewhat Registered User Registered Senior Member

    First of all, your AI does not have the capabilities to say "What do you mean?"
    Secondly, Your AI is lesser advanced.
  4. Google AdSense Guest Advertisement

    to hide all adverts.
  5. DennisGorelik Registered Senior Member

    Why not?
    My AI will be able "to steal" this magic phrase "What do you mean" directly from Baal Zebul post.

    My AI will apply this phrase in following conversations. It will be done absolutely mechanically, without any intelligence at all ;-)
  6. Google AdSense Guest Advertisement

    to hide all adverts.
  7. DennisGorelik Registered Senior Member

    Oh yeah, it won't be intelligent at all.
    It will just follow preprogrammed <a href="http://www.dennisgorelik.com/ai/HardcodedRoutines.htm">reflexes</a> and <a href="http://www.dennisgorelik.com/ai/Goals.htm">goals</a> (like you follow yours).


  8. DennisGorelik Registered Senior Member

    I like opponents. They help to think better. They help to find my mistakes. They point me to better options.
    If you don't like opponents then it's another reason why your research will fail.

  9. G71 AI Coder Registered Senior Member


    I'm in trouble with time. I did not read everything here and I currently cannot address everything what I would like to. I recommend you to do some performance testing with "randomly" generated data. It shouldn't take more than a few minutes to create a table with hundreds of thousands rows. I don't think it's a problem when you have roughly 500000 rows per 100000 phrases (each taking relatively few integers). We are talking about several MB only. The flexibility of the design is what's IMO important. I'm just thinking about the query you asked about. Unfortunately, I'm nearly in a sleep mode again.. You are using the SQL Server, right? My very first thought is something like:

    Select PhraseID from phrase where
    (seq = 1 and WordID = WordID1) or
    (seq = 2 and WordID = WordID2) or
    (seq = 3 and WordID = WordID3)
    group by PhraseID having count(*) = 3

    Would it work for you? Well, maybe one more condition to handle the count a bit better. If you do this, make the key from PhraseId and seq and add an index for the WordID field. There are also other ways how to do this.. Some work better on one DBMS, some on another.. Indexes can do lots of magic but it's definitely good to think about the needed queries before designing tables. I did not have that info before. Do you always know the positions of the words you are looking for (the 1,2,3 here)? If not then I guess you already know why I asked. If the 5 words is a limit you want to keep and if you do not want to use my seq suggestion then you may want to consider having 5 phrase tables (with a different number of WordIDs) and no nulls. But feel free to keep your current design if you like. There are other things to focus on as some of the others already pointed out.

    When the system is going to forget a phrase which holds the last reference to a word, is it gonna forget the word as well? What tables are referencing words (except the Phrase)? I know you already mentioned some, but do you have the whole DB schema in a single document? If you created the DB, can you generate the DB script and send it to me (G71ai@aol.com) ?

    BTW I do not think that the knowledge about "what words are usually together" will really help to get the meaning. You should probably demonstrate how the understanding and problem solving works. Would it be even able to correctly answer questions like "what's the color of a blue ball?" or "what's the speed of a car which is moving 50 miles per hour"?

    IF your system is not being designed to handle mathematical tasks then I would not call it a "Strong AI" project as you did.

    The "Reader implementation --- Parse statement" link does not work (at least for me). But I'm currently connecting from a very unusual environment so it could be just my local problem.

    If the "PriceWaterhouseCoopers" is a phrase then how would you classify the "screwdriver"? If I understand correctly, you would break the "PriceWaterhouseCoopers" to 3 (or 4) words, right? If so, what then tells the system that it needs to put these 3 words back together when generating the output. My mind takes it as a single-word company name (but of course it can break it just as the "screwdriver"). Some languages have LOTs of these combined words. Did you think about the multi-language support?

    FYI, in my AI design, I'm thinking not only about the multiple word-tables (with various limits) but also about the built-in ability to create new tables. When you just need to get an ID of a word (when dealing with multiple word tables) then it does not necessarily "dramatically increase AI operational logic". The word2ID and ID2word conversion is (as far as I understand) a very small part of the process. It will do most of the thinking using the numeric ID. And keep in mind that doing things the way how brain works (let's pretend we know how it works) is not necessarily the best way how to do it (especially when using the whole different "platform"). My favorite note on this is: "Airplanes don't flap wings". There are many things which our brains cannot handle well. That's one of the key reasons why we need powerful AI systems.

    The question about CauseNeuronID and EffectNeuronID was basically "Where/how do you get these numbers?".

    Do you think it can learn to recognize jokes?

    What's the most impressive thing your AI currently does?

    If you already addressed some of the stuff I mentioned then please ignore what I wrote. As I said, I did not have a chance to read everything. I'll be back B-]..
  10. darktr00per Registered Senior Member

    A.I in VB LOL
  11. Baal Zebul Somewhat Registered User Registered Senior Member

    darktr00per, I call my programming language Raven. At the moment it is just Pseudo Code but i hope to create that language in the future.
    I find VB very OOP and since it is compatible with C# i see no reason why not to use those 2 at the moment.
  12. Baal Zebul Somewhat Registered User Registered Senior Member

    Dennis, your AI cannot quote anything from this discussion. It has no idea what it means.
    And if it knows what it means then you have made it to pre-programmed. Even helping it by telling it how to phrase a question to someone with more knowledge, that is too much pre-programmed.

    It should start with no knowledge at all. The parameters i was talking about were physical parameters. Etc Force = 1 m2/s
    It can figure out that by itself really easy with machine vision. But it would probably be Force = 9.81 m2/s then and it would take time for the neural net to perfect that value.
    We can start it without the ability to walk too.
    We can start it without any goals too.
    We can start our AI with a empty DB. Yes, that is right. Just the Algorithm.

    Tell me when your "AI" can be started with no knowledge and i will raise my image of you as a "Strong AI" designer.
  13. DennisGorelik Registered Senior Member

    G71, thank you for the ideas about building phrase table. They are useful.
    However I still think that "one phrase in one row" is optimal solution.
    Even if solution which you propose is relatively fast, it is still 3-5 times slower than "one phrase in one row".

    In order to read 10-words sentense you need to make 40 phrase queries.
    Essential advantage of AI over humans is speed, but if we apply 3-5 times slower solution then it makes AI almost as slow as human reader

    Please Register or Log in to view the hidden image!

    Multiple tables are also less efficient because of additional space required by PhraseId key in every table and because of time lost for join.

  14. DennisGorelik Registered Senior Member

    <a href="http://www.dennisgorelik.com/ai/Word.htm">Word</a> usually has its own meaning. That's why I'm not going to delete word just because all phrases with this word are deleted already.
    However word could also be <a href="http://www.dennisgorelik.com/ai/Forgetting.htm">forgotten</a>.

    And if word is forgotten then all phrases with this word have to be removed from the phrase dictionary table.
    In other hand - why would AI want to forget word with is actively used in existing <a href="http://www.dennisgorelik.com/ai/Phrase.htm">phrases</a>?
  15. DennisGorelik Registered Senior Member

    <a href="http://www.dennisgorelik.com/ai/WordDictionaryTable.htm">Word dictionary table</a> is referenced by <a href="http://www.dennisgorelik.com/ai/PhraseDictionaryTable.htm">phrase dictionary table</a> and by <a href="http://www.dennisgorelik.com/ai/TextPairs.htm">Text Pairs</a> table.

    Also <a href="http://www.dennisgorelik.com/ai/WordDictionaryTable.htm">Word dictionary table</a> refer to <a href="http://www.dennisgorelik.com/ai/ConceptTable.htm">concept table</a>.
  16. DennisGorelik Registered Senior Member

    Making conclusions based on "what words are usually together" would help. It wouldn't be enough though

    Please Register or Log in to view the hidden image!

    But it would help a lot, because this "close words" analysis is fast and can use huge text base (from Internet, for instance).
  17. DennisGorelik Registered Senior Member

    Are you programmer?
    Are you familiar with Turing machine?
  18. Baal Zebul Somewhat Registered User Registered Senior Member

    he probably meant LOL as Lots of Love instead of Laughing out Loud

    Please Register or Log in to view the hidden image!

  19. G71 AI Coder Registered Senior Member


    Just a note on the seq query in case you will consider using something like that in the future development:
    On current machines, it should not take more than something between 0 and 25 milliseconds per a "seq" query (running against half a million records) if the phrase exists (and possibly a bit more if it does not exist). The way how you build those "40" queries can let SQL Server significantly benefit from cached (sub)queries so some of the subsequent queries might take almost no time + with certain algorithms you may be able to skip some queries considering the results from some of the previous queries.

    Doesn't your system have a problem with yes/no questions?

    What exactly the system does when it "activates concept"?

    You mentioned learning from the Internet.
    What if the text_to_learn_from contains something like
    "X is broken. [a few more sentences] X is blue.. X cannot do Y."
    Is the system gonna understand that the X (if not broken) might be able to do the Y? Note the ambiguous "blue" and the possibility of making an incorrect relationship between the "blue" and the "cannot do Y".

    ..Which (for your system) means to find all the words which relatively often appeared close to that word, right? How about concepts like "he" or "it". You cannot copy the Internet into your DB. If you keep just the "top" 100000 phrases then it might be just lots of junk data. You need to get the meaning and generalize most of the knowledge. It's not very clear to me how you can generalize with the level of "understanding" which your system is capable of.

    True, but not necessarily in the sense of cause/effect. Also note that there are many causes and effects which cannot be described in a few words. It often gets a lot more complex.

    Your google example (on the word counts) may not be very valuable because it does not say how many times are the words used on those pages and if they are close enough to each other to allow your system to pick the relationship up.

    I recommend you to do some experiments with reasoning (including things like deduction, induction, abduction, analogy analyses etc.)

    BTW in order to think well, your system also needs to have some sense about things like time, space, minds of other subjects etc.. And put some thoughts on system's creativity..
  20. DennisGorelik Registered Senior Member

    I don't know the answer yet

    Please Register or Log in to view the hidden image!

    My system is still in "design and development".

    But the design of the system would allow it to self-learn with a time. The learning will include "how to understand specific questions" and "how to respond to specific situations.

    I'm not going to hardcode "Yes"/"No" constructions.

    It seems that you do hardcode it. And here you come into trap of getting immediate results right now and sarcrifizing universal cognitive abilities in long term.

    I even described this approach here :
    <a href="http://www.dennisgorelik.com/ai/FalseWaysInAISDevelopment.htm">False ways in AIS development</a>

    But you know - by your approach you even doesn't get immediate results:
    checking if AI could solve these "yes/no questions" is not more than a game for the users.

    It doesn't have much of business sense.

    Typical users' questions would be: "Tell me about that" or "How could I achieve this?".
  21. DennisGorelik Registered Senior Member

    When the system <a href="http://www.dennisgorelik.com/ai/Activate.htm">activates</a> a <a href="http://www.dennisgorelik.com/ai/Concept.htm">concept</a> it just simply the concept into fast memory (RAM). I name this memory: <a href="http://www.dennisgorelik.com/ai/ShortMemory.htm">short memory</a>

    Short memory keeps current thought: set of concepts. For instance, 100 concepts.

    These <a href="http://www.dennisgorelik.com/ai/ActiveConcept.htm">active concepts</a> could be handled in a special way.
    For instance:
    The longer these concepts are in the short memory together, the stronger their inter-<a href="http://www.dennisgorelik.com/ai/Relation.htm">relations</a> become.

    Another specific is that active concepts could cause AIS <a href="http://www.dennisgorelik.com/ai/Action.htm">action</a> with higher probability than non-activated concepts.
  22. DennisGorelik Registered Senior Member

    1) The father the sentences are the weaker <a href="http://www.dennisgorelik.com/ai/Relation.htm">relations</a> between these sentences would be.
    2) Even if the system remembered wrong relations from one example, later on this problem would be fixed.
    Just because majority of examples will will teach correct relations between concepts (words, phrases).
    3) So my thinking is that this relatively "linear" <a href="http://www.dennisgorelik.com/ai/ReaderPrototypePlan.htm">reading</a> will provide good results.
    4) BUT!
    In order to achieve good understanding it is not enough just to read the text.
    The system has to act. Make several choices about whether to continue reading or to read again or apply different technique to reading the text or just drop the whole reading.
    5) That means that <a href="http://www.dennisgorelik.com/ai/DecisionMaking.htm">decision making system</a> and <a href="http://www.dennisgorelik.com/ai/MotivationSystem.htm">motivation system</a> have to be implemented.
    I'm not going to fully implement these systems in the first AI version.
  23. DennisGorelik Registered Senior Member

    Find relations, forget unusual stuff

    1) You are right, but not completely

    Please Register or Log in to view the hidden image!

    The system doesn't have to find ALL related words.
    Just the strongest relations have to be used.

    2) Instead of copying the Internet into my database I will just copy information about words and most common relations between the words.
    Unusual phrases will be regularly removed from my <a href="http://www.dennisgorelik.com/ai/MainMemory.htm">database</a>.
    See: <a href="http://www.dennisgorelik.com/ai/Forgetting.htm">Forgetting process</a>.
Thread Status:
Not open for further replies.

Share This Page