AI and search enginesJuly 26, 2008
One of the most sensible uses of an AI that can read information, update a data structure to reflect that information, and then answer questions about that information, is a search engine. In fact, that's exactly what a search engine is, the difference being that today the internal representation that search engines use doesn't contain much meaning.
What this brings to mind is that the Internet is an important aspect of AI: It serves as the raw knowledge base for an AI to read to learn about the world. Now, this has some serious limitations given that anyone can write whatever they want on the 'Net, but overall I think the Internet will serve as one of the primary means for AI's learning about the world.
Let's fast forward into the future and ask Google some questions that will test its understanding of the world:
Search: What is Bill Clinton's birthday?
Answer: August 19, 1946
Search: What year did World War II end?
Answer: 1945
Search: What month comes after November?
Answer: December
Search: How many feet are there in a yard?
Answer: 3
Search: What day of the week was it when man first landed on the moon?
Answer: ...
Story 6: I was born in CanadaJuly 17, 2008
Story: I was born in Canada.
Question: What country was I born in?
Answer: Canada
Required knowledge about the worldperson has_a birth birth is_a event event has_a location 0.9: location has_a country "Canada" -> Canada: noun Canada is_a country country is_a location "born" -> birth: noun |
|
Parsing the statement{noun} was {fragment} -> $1.(($2)) I was born in Canada -> speaker.((born in Canada))
{verb} in {location} -> $1.location = $2 speaker.((born in Canada)) -> speaker.birth.location = Canada |
|
Parsing the questionwhat {fragment}? -> $1 What country was I born in? -> country was I born in
{noun} was {noun} {verb} {participle} -> $2.(($3 $4 $1)) country was I born in -> speaker.((born in country))
{verb} in {location} -> $1.$2 speaker.((born in country)) -> speaker.birth.country |
|
CommentsOf interest is the following transformations:
{verb} in {location} -> $1.location = $2 {verb} in {location} -> $1.$2 |
|
The first is used to parse a statement, the second to answer a question. What makes the second transformation more interesting is that it takes an intermediate form as its input. In this example, the fragment
"born in country" wasn't a part of the original question and isn't quite valid English.
Also of interest is that we set
speaker.birth.country rather than
speaker.birth.location.country. Under the covers, the engine needs to search the
has_a graph to determine which child of
birth has a
country node. The successful search path is:
birth is_a event event has_a location location has_a country |
|
current_dateJuly 17, 2008
The introduction of the
current_date entity is especially interesting. In people, this entity might be much like any other, but in designing an AI, it's tempting to wire it into the computer's clock.
It's strange to think what it would be like to know the time intuitively.
older >>