Sunday, January 17, 2010

Operational Text=>Meaning model

The model has several levels, though they are almost completely different from Melchuk's:

Level 1: text/phonology.The parser receives it as an input and then produces

Level 2: constructions.The contiguous text is separated into constructions of all sizes, from morphological to complex syntactical ones. Basic constructions are (mostly) word stems, complex constructions combine the simpler ones. The structure is most probably a tree though not necessarily. Each construction may have information structure. Constructions are ordered and considered to be executable in that order. Being executed, they give us

Level 3: semantics: a program.In some general-purpose (programming) language with well-defined semantics and model. The model probably consists of local variables (max. 4-7), salient context and general memory, which is organized as a graph of frames and represents the listener's knowledge of the world. The language is imperative, object-oriented and almost lacks any control flow, being very linear. The basic instructions are frame creation and assignments to local variables or frame slots. If we execute this semantics program, we'll get

Level 4: change in the frame structure in the memory.Which means change in the listener's knowledge of the world. Actually, the change may be greater than we expect looking at the semantics program. Every its simple instruction may cause significant changes that are not directly encoded in that program. This is what we call pragmatics.

We've done! Though it's worth noting that the built frames might well encode a sequence of actions (e.g. cooking recipe), which can also be executed via interpretation and result in real listener's actions in the real world.

3 comments:

I am reading about NLP for the first time. Your BLOG has been very informative and accessible. I am intrigued though that NLP 'appears' to be the domain of programmers (taught by science department in universities) when in fact much of what I have read tends towards linguistics and therefore the domain of linguists (taught by humanities dept.).

I have one question: I have a huge transcript of people conversing. Will NLP help me locate specific language functions (such as instances of agreement/ disagreement, negotiation, etc.)?

Actually I'm writing very little about current state of NLP. Of course NLP can analyze the transcripts. Modern software can provide quite high accuracy, but still not ideal, very much depending on the language 'well-formedness'. From what I know, XLE is the best though commercial. For programmers there's an NLTK library containing lots of primitives to assemble one's own NLP program.