Constructing a Natural Language Expert System
End result
Answers natural language questions in context using knowledge in the knowledge base
Associative memory knowledge base of real world objects and concepts
Automatic creation of lexicons for and learning of language structure, grammar, and syntax
Ability to formulate grammatically correct sentences
Components
Language learning
Pattern recognition
Determine the ordering of parts of speech
Determine the syntax for phrases
Determine part of speech and meaning from word suffixes
Learning never ends and always continues to evolve
Language dictionary
Includes all words and their possible meanings and parts of speech
Associative memory model
ART or similar neural network for storage of associations
Representation, storage, and retrieval of knowledge
Allows for contextual representation of knowledge and semantics
Short-term memory model
Associative memory model only provides a method for storage and retrieval of knowledge
Allows knowledge to be picked apart and key components to be extracted, then fed as inputs to the associative memory model
Natural language processing
Handles input and generates output using
Knowledge from the associative memory model
Learned language structure, grammar, and syntax
Parsing
Shortcomings of current systems
Unable to understand context
Unable to determine semantic meaning of words
Lexicons must be hard-coded
Possible uses
Devices that can perform actions based on natural language input
An application that answers questions encompassing all human knowledge
An application that reads a text and answers questions based on that text
Language translation (would require more subsystems)
Natural Language Expert System - Idea
What do you guys think of the following idea (Possible? Impossible? Soemthing that needs to be fixed?)?
People have been working on this for decades. What exactly are you looking for in terms of answers?
The problem of natrual language is much much harder than it seems at first.
Many very smart men attempted to solve it ever since computers were interactive and still attempt it these days. It will have huge market and will impact our society very much when its finally here, but I dont recomend attempting to solve it alone.
Natrual languages have so many duplicate meanings that even with great database of knowledge its very hard for computers to understand. Simple things such as refering to "it" can confuse humans (for a second) and confuse computers into ridiculus conclusions.
"Danny threw the coffee mug at the wall and it broke into pieces"
- what broke? the mug or the wall?
Note in a glass house the wall is also an option.
Iftah.
Many very smart men attempted to solve it ever since computers were interactive and still attempt it these days. It will have huge market and will impact our society very much when its finally here, but I dont recomend attempting to solve it alone.
Natrual languages have so many duplicate meanings that even with great database of knowledge its very hard for computers to understand. Simple things such as refering to "it" can confuse humans (for a second) and confuse computers into ridiculus conclusions.
"Danny threw the coffee mug at the wall and it broke into pieces"
- what broke? the mug or the wall?
Note in a glass house the wall is also an option.
Iftah.
I know, but here I'm bringing all the pieces together. What I'm asking you guys is whether you see any missing pieces or anything that needs to be changed.
wellll, your "pieces" are very big projects and I dont know what you plan on doing with them. I havent given the problem of natrual language recognition any thought because its such a difficult problem, so I dont know how to even start at it.
Its like asking if the following is a good design for a spacecraft program.
spacecraft program:
1) take off
2) orbit
3) land on the moon
4) explore the moon
5) take off moon
6) land back on earth
yes its a start of a good design, but each part may be *very* hard to implement and its hard to know now (without deep thought) if there are missing parts.
Iftah.
Its like asking if the following is a good design for a spacecraft program.
spacecraft program:
1) take off
2) orbit
3) land on the moon
4) explore the moon
5) take off moon
6) land back on earth
yes its a start of a good design, but each part may be *very* hard to implement and its hard to know now (without deep thought) if there are missing parts.
Iftah.
...and a simple design with a lot of ambition is all it takes to acheive something great. One thing at a time - piece by piece. It's possible, and it will be done.
Thanks!
Thanks!
Quote:Original post by chadjohnson
...and a simple design with a lot of ambition is all it takes to acheive something great. One thing at a time - piece by piece. It's possible, and it will be done.
Thanks!
I appreciate your optimism.
Please make a blog or developer journal on your progress or at least let us know what you got so far a year from now [smile]
Cheers and best of luck!
Pat.
Haha. But seriously, we've merely scratched the surface with technology. There are so many things that are possible which are yet to be discovered and exploited. Some day, if we're still here, I think we won't be able to tell the difference between humans and computers. They'll be different (i.e., they won't have souls as we do), but we won't be able to tell.
Quote:Original post by chadjohnson
...and a simple design with a lot of ambition is all it takes to acheive something great. One thing at a time - piece by piece. It's possible, and it will be done.
Thanks!
I'm not trying to rain on your parade here, but as the sole author of a fairly complicated system, I can attest firsthand to the difficulty of the topic you're tackling here. Each of the lines in your original post covers enough investigation and mathematical hand-waviness to fill a dozen research papers.
Metalyzer, a heuristic analysis system of my own devising, was originally going to use natural language recognition to answer questions about its ever-expanding knowledge base. I quickly realized my error, because a pure-NL program is a substantial task. Instead, I realized that with more clever contextual methods, I could approximate NL for a fraction of the computational complexity and cost. It's these alternate methods you should focus on, not NL.
Of course, if you think you have something revolutionary, none of the above applies. Go for it. [smile]
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement