Understanding Natural Language

Post on 19-Jan-2016

46 views 0 download

description

14. 14.0The Natural Language Understanding Problem 14.1Deconstructing Language: A Symbolic Analysis 14.2Syntax 14.3Syntax and Knowledge with ATN parsers. 14.4Stochastic Tools for Language Analysis 14.5Natural Language Applications 14.6Epilogue and References - PowerPoint PPT Presentation

Transcript of Understanding Natural Language

1

Understanding Natural Language14 14.0 The Natural Language

UnderstandingProblem

14.1 Deconstructing Language: A SymbolicAnalysis

14.2 Syntax

14.3 Syntax and Knowledgewith ATN parsers

14.4 Stochastic Tools forLanguage Analysis

14.5 Natural LanguageApplications

14.6 Epilogue and References

14.7 Exercises

Additional source used in preparing the slides:Patrick H. Winston’s AI textbook, Addison Wesley, 1993.

2

Alternative to CSGs

• Retain simple structure of CFGs

• Augment them with procedures that perform the necessary contextual tests

• Attach features to terminals and nonterminals:augmented transition networks

3

Parsing with ATNs

• Attach procedures to the arcs of the network.

• The parser will execute those procedures while traversing the arcs.

• The procedures: Perform tests

Construct a parse tree

• Both terminals and nonterminals are represented as identifiers with attached features.

4

Frames for three nonterminals

Sentence

Noun phrase:

Verb phrase:

Verb phrase

Verb:

Number:

Object:

Noun phrase

Determiner:

Noun:

Number:

5

Dictionary entries - 1

PART_OF_SPEECH: verb

ROOT: like

NUMBER: plural

like

PART_OF_SPEECH: verb

ROOT: like

NUMBER: singular

PART_OF_SPEECH: verb

ROOT: bite

NUMBER: plural

PART_OF_SPEECH: verb

ROOT: bite

NUMBER: singular

bite bites

likes

6

Dictionary entries - 2

PART_OF_SPEECH: noun

ROOT: man

NUMBER: plural

men

PART_OF_SPEECH: noun

ROOT: man

NUMBER: singular

PART_OF_SPEECH: noun

ROOT: dog

NUMBER: plural

PART_OF_SPEECH: noun

ROOT: dog

NUMBER: singular

dogs dog

man

7

Dictionary entries - 3

PART_OF_SPEECH: article

ROOT: a

NUMBER: singular

a

PART_OF_SPEECH: article

ROOT: the

NUMBER: plural or singular

the

8

Sentence

function sentence-1; begin NOUN_PHRASE := structure returned by

noun_phrase network; SENTENCE.SUBJECT := NOUN_PHRASE; end.

init final

noun_phrase verb_phrase

1 2

9

Sentence

function sentence-2; begin VERB_PHRASE := structure returned by verb_phrase network; if NOUN_PHRASE.NUMBER = VERB_PHRASE.number then begin SENTENCE.VERB_PHRASE := VERB_PHRASE; return SENTENCE end else fail end.

init final

noun_phrase verb_phrase

1 2

10

Noun_phrase

function noun_phrase-1; begin ARTICLE := definition frame for next word of input; if ARTICLE.PART_OF_SPEECH = article then NOUN_PHRASE.DETERMINER := ARTICLE else fail end.

init final

article noun

1 2

3

noun

11

Noun_phrase

function noun_phrase-2; begin NOUN := definition frame for next word of input; if NOUN.PART_OF_SPEECH = noun and NOUN.NUMBER agrees with NOUN_PHRASE.DETERMINER.NUMBER then begin NOUN_PHRASE.NOUN := NOUN NOUN_PHRASE.NUMBER := NOUN.NUMBER return NOUN_PHRASE end else fail end.

init final

article noun

1 2

3

noun

12

Noun_phrase

function noun_phrase-3; begin NOUN := definition frame for next word of input; if NOUN.PART_OF_SPEECH = noun then begin NOUN_PHRASE.DETERMINER := unspecified NOUN_PHRASE.NOUN := NOUN NOUN_PHRASE.NUMBER := NOUN.NUMBER end else fail end.

init final

article noun

1 2

3

noun

13

Verb_phrase

function verb_phrase-1; begin VERB := definition frame for next word of input; if VERB.PART_OF_SPEECH = verb then begin VERB_PHRASE.VERB := VERB; VERB_PHRASE.NUMBER := VERB.NUMBER end; end.

init final

verb noun_phrase

1 2

3

verb

14

Verb_phrase

function verb_phrase-2; begin NOUN_PHRASE := structure returned by noun_phrase network; VERB.PHRASE.OBJECT := NOUN_PHRASE; return VERB_PHRASE end.

init final

verb noun_phrase

1 2

3

verb

15

Verb_phrase

function verb_phrase-3; begin VERB := definition frame for next word of input; if VERB.PART_OF_SPEECH = verb then begin VERB_PHRASE.VERB := VERB; VERB_PHRASE.NUMBER := VERB.NUMBER VERB_PHRASE.OBJECT := unspecified; return VERB_PHRASE end; end.

init final

verb noun_phrase

1 2

3

verb

16

“The dog likes a man.”

17

Knowledge base for the “dogs world.”

18

Case frames for two verbs

19

Semantic representation

20

Concluding remarks

• The parse tree can be converted to a conceptual graph that represents the meaning of the sentence.

• Simpler approaches use templates and plug in words as they are recognized.

• Applications include: Story understanding and question answering

Front End to a database

Information extraction and summarization on the web