Friday, May 4, 2007

Natural Language Understanding

Nations can have literatures, as can corporations, philosophical schools or historical periods. Popular belief commonly holds that the literature of a nation, for example, comprises the collection of texts which make it [into/become] a whole nation. The Hebrew Bible, Persian Shahnama, the Indian Mahabharata, Ramayana and Thirukural, the Iliad and the Odyssey, Beowulf, and the Constitution of the United States, all fall within this definition of a kind of literature.


The difference between machine reading and natural language understanding, in my opinion, is that machine reading is towards natural language processing and natural language understanding is towards machine reasoning and artificial intelligence. Looking at the underlined portions of the quote, we can equate or otherwise relate them, but I would say this is a task of natural language understanding as defined and not machine reading.

This is a sort of pronoun or reference resolution, binding strings to the same underlying unique representations may be slightly more advanced than reference resolution as in:

Nations can have literatures, as can corporations, philosophical schools or historical periods. Popular belief commonly holds that the literature of a nation, for example, comprises the collection of texts which make it [into/become] a whole nation. The Hebrew Bible, Persian Shahnama, the Indian Mahabharata, Ramayana and Thirukural, the Iliad and the Odyssey, Beowulf, and the Constitution of the United States, all fall within this definition of a kind of literature.


Revisiting the “X makes Y Z” sentence, the [into/becomes] predicate is unique to the makes predicate as to allow paraphrases and is not necessarily the same predicate as other text occurences of the words “into” or “become”. While predicates and nouns are resolved from text to integers after machine reading structures the sentence, predicates generated during machine reading are algorithmically determined.

Algorithmically, “X P Y Z.” → “X P Y P' Z.” where the empty string is a candidate for P' in P'(X,Y) in NLG, allows permutation based paraphrasing and the generation of sentences that occur naturally as in this document from Wikipedia. The context entered with P should notice when Z, a noun chunk, is to be placed in a predicate position that P' is needed and Z is the right argument.

X P Y Z.

Start a predicate with X as the left argument.
Label that predicate P.
Place Y into the right argument of that predicate.
Z...
Wrap that argument (Y) into a predicate with the previous content in the left argument.
Label that predicate P'.
Place Z into the right argument of that predicate.

So, the “X makes Y Z” required some thinking. If you find any other sentences that are good examples to strengthen algorithm design, comment them here or email me and I'll post on them.

No comments: