IsA TreesSeptember 8, 2008
Something that I've noticed is that
IsA trees, which are directed graphs that describe how an entity relates to other entities via the
is_a relationship, are quite interesting and seem to be a vital part of constructing an AI. It will be interesting to see how my use of this structure evolves over time.
Parsing numbersSeptember 6, 2008
After some thought, here is a strategy for parsing numbers.
Step 1: Word mappings and entity typesThe following word mappings and entity types are required:
'one' -> 1: digit 'two' -> 2: digit 'three' -> 3: digit 'four' -> 4: digit 'five' -> 5: digit 'six' -> 6: digit 'seven' -> 7: digit 'eight' -> 8: digit 'nine' -> 9: digit
'eleven' -> 11: teen_number 'twelve' -> 12: teen_number 'thirteen' -> 13: teen_number 'fourteen' -> 14: teen_number 'fifteen' -> 15: teen_number 'sixteen' -> 16: teen_number 'seventeen' -> 17: teen_number 'eighteen' -> 18: teen_number 'nineteen' -> 19: teen_number
'twenty' -> 20: group_of_ten 'thirty' -> 30: group_of_ten 'forty' -> 40: group_of_ten 'fifty' -> 50: group_of_ten 'sixty' -> 60: group_of_ten 'seventy' -> 70: group_of_ten 'eighty' -> 80: group_of_ten 'ninety' -> 90: group_of_ten
'hundred' -> 100: multiplier 'thousand' -> 1000: multiplier 'million' -> 1000000: multiplier 'billion' -> 1000000000: multiplier 'trillion' -> 1000000000000: multiplier 'quadrillion' -> 1000000000000000: multiplier
number_part digit is_a number_part teen_number is_a number_part group_of_ten is_a number_part 100+_number_part is_a number_part 100+_number_part is_a number
|
|
Step 2: New transformation typeThe first step is to introduce a new transformation type which evaluates a numerical formula. For example:
| {group_of_ten} {digit} -> # $1 + $2 |
|
The
# prefix indicates that the transformation's output specification is a numeric formula.
In addition, it would be helpful to be able to specify as a part of any transformation, what the result's entity type should be considered. For example:
| {group_of_ten} {digit} -> # $1 + $2 (number_part) |
|
Step 3: Transformations{group_of_ten} {digit} -> # $1 + $2 (number_part) {number_part} {multiplier} -> # $1 * $2 (100+_number_part) {multiplier} {number_part} -> # $1 + $2 (100+_number_part) {100+_number_part} {100+_number_part} -> # $1 + $2 (100+_number_part) {100+_number_part} {number_part} -> # $1 + $2 {100+_number_part} and {number_part} -> # $1 + $2 {number} + {number} -> # $1 + $2 {number} * {number} -> # $1 * $2
|
|
Numbers and the human brainSeptember 6, 2008
Something that I realized while working on exercise 9, is that it is quite mysterious how the human brain represents and deals with numbers, or more generally, quantities. While concepts and entities are fairly discrete things, numbers are more slippery. While they
are discrete, to a certain extent, there are an infinite number of them. ie. You can't create an entity in the brain to represent each one. How do you create a kind of
generic entity in the brain to represent any given number?
I have cheated in a sense, since I have implemented numbers using the computer's internal representation. I think this is the most sensible thing to do: Why lament on why the computer makes some aspects of intelligence easier?!
On a related note, I am pondering how to create a scheme to transform numbers like "five hundred and twenty three" into the brain's internal representation.
older >>