Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемivanovaon.susu.ru
1 Грамматический разбор английского предложения Лекция 14
2 «Элиза» 1.Подключить словарь 2.Чтение строки 3.Превращение предложения в список слов 4.Разбор предложения 5.Вывод результата
3 Словарь det("a") det("an") det("the") det("some") det("all") det("every") det("this") det("that") det("her") det("his") det("their") det("my") det("your") det("big") det("small") det("red") det("blue") noun("John") noun("Susan") noun("cat") noun("food") noun("fish") noun("Prolog") noun("man") noun("woman") noun("mother") noun("children") noun("house") noun("computer") noun("tree") noun("dog") noun("dan") noun("kathy") noun("foot) noun("you") noun("I") noun("me") rel("that") rel("who") rel("whom") rel("which") verb("love") verb("like") verb("hate") verb("live") verb("eat") verb("ate") verb("sleep") verb("sit") verb("run") verb("drink) verb("read") verb("jump") verb("is") verb("are") verb("am")
4 База данных и домены facts - senan_db det(string) noun(string) rel(string) verb(string) domains DETERM= none;determ(string) NOUNP = nounp(DETERM,string,RELCL) RELCL = none;relcl(string,VERBP) SENTENCE = sent(NOUNP,VERBP) VERBP = verb(string);verbp(string,NOUNP) TOKL = string*
5 Предикаты Описание различных форм слов is_det(string) is_noun(string) is_rel(string) is_verb(string) Парсер nondeterm s_determ(TOKL,TOKL,DETERM) nondeterm s_nounp(TOKL,TOKL,NOUNP) nondeterm s_relcl(TOKL,TOKL,RELCL) nondeterm s_sentence(TOKL,TOKL,SENTENCE) nondeterm s_verbp(TOKL,TOKL,VERBP) Сканер check(string) tokl(string,TOKL)
6 Clauses Является ли предложение набором слов s_sentence(TOKL,TOKL2,sent(NOUNP,VERBP)):- s_nounp(TOKL,TOKL1,NOUNP), s_verbp(TOKL1,TOKL2,VERBP), TOKL2=[], !. s_sentence(_,_,_):- write("Sentence not recognized\n"), fail.
7 Группа подлежащего, определение s_nounp(TOKL,TOKL2,nounp(DETERM,NOUN,RELCL)):- s_determ(TOKL,[NOUN|TOKL1],DETERM), is_noun(NOUN), s_relcl(TOKL1,TOKL2,RELCL). s_determ([DETERM|TOKL],TOKL,determ(DETERM)):- is_det(DETERM). s_determ(TOKL,TOKL,none).
8 Придаточное предложение, глагольная группа s_relcl([REL|TOKL],TOKL1,relcl(REL,VERBP)):- is_rel(REL), s_verbp(TOKL,TOKL1,VERBP). s_relcl(TOKL,TOKL,none). s_verbp([VERB|TOKL],TOKL1,verbp(VERB,NOUNP)):- is_verb(VERB), s_nounp(TOKL,TOKL1,NOUNP). s_verbp([VERB|TOKL],TOKL,verb(VERB)):- is_verb(VERB).
9 Принадлежность к какой-нибудь части речи is_noun(X):-noun(X),!. is_noun(X):-noun(Y),concat(Y,"s",X),!. is_det(X):-det(X),!. is_rel(X):-rel(X),!. is_verb(X):verb(X),!. is_verb(X):-verb(Y),concat(Y,"s",X),!. is_verb(X):-verb(Y),concat(Y,"ed",X),!. is_verb(X):-verb(Y),concat(Y,"es",X),!. is_verb(X):-verb(Y),concat(Y,"ing",X),!.
10 Преобразование строки в список слов tokl(STR,[TOK|TOKL]):- fronttoken(STR,TOK,STR1), check(TOK), !, tokl(STR1,TOKL). tokl(_,[]).
11 Является ли слово частью речи и какой check(WORD):- is_noun(WORD), !. check(WORD):- is_det(WORD), !. check(WORD):- is_rel(WORD), !. check(WORD):- is_verb(WORD), !. check(WORD):- write("Unknown word: ",WORD), nl.
12 Раздел цели goal consult("sen_an.dba",senan_db), write("Try: every man that lives loves a woman\n"), write("Write a sentence: "), readln(STR), tokl(STR,TOKL), s_sentence(TOKL,RESTTOKL,SENT), RESTTOKL=[], write(SENT).
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.