Einführung in die Methoden der Künstlichen Intelligenz - Goethe ...
Einführung in die Methoden der Künstlichen Intelligenz - Goethe ...
Einführung in die Methoden der Künstlichen Intelligenz - Goethe ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
5.4 Sprachverarbeitung und Parsen <strong>in</strong> Prolog<br />
Die Übersetzung <strong>in</strong> re<strong>in</strong>es Prolog ist gerade<br />
s(E<strong>in</strong>,Rest) :- aa(X,E<strong>in</strong>,Rest1),bb(X,Rest1,Rest2),cc(X,Rest2,Rest3),dd(X,Rest3,Rest).<br />
aa(0,E<strong>in</strong>,Rest) :- term<strong>in</strong>al([a],E<strong>in</strong>,Rest).<br />
aa(succ(X),E<strong>in</strong>,Rest) :- term<strong>in</strong>al([a],E<strong>in</strong>,Rest1), aa(X,Rest1,Rest).<br />
bb(0,E<strong>in</strong>,Rest) :- term<strong>in</strong>al([b],E<strong>in</strong>,Rest).<br />
bb(succ(X),E<strong>in</strong>,Rest) :- term<strong>in</strong>al([b],E<strong>in</strong>,Rest1), bb(X,Rest1,Rest).<br />
cc(0,E<strong>in</strong>,Rest) :- term<strong>in</strong>al([c],E<strong>in</strong>,Rest).<br />
cc(succ(X),E<strong>in</strong>,Rest) :- term<strong>in</strong>al([c],E<strong>in</strong>,Rest1), cc(X,Rest1,Rest).<br />
dd(0,E<strong>in</strong>,Rest) :- term<strong>in</strong>al([d],E<strong>in</strong>,Rest).<br />
dd(succ(X),E<strong>in</strong>,Rest) :- term<strong>in</strong>al([d],E<strong>in</strong>,Rest1), dd(X,Rest1,Rest).<br />
o<strong>der</strong> ohne Verwendung von term<strong>in</strong>al:<br />
s(E<strong>in</strong>,Rest) :- aa(X,E<strong>in</strong>,Rest1),bb(X,Rest1,Rest2),cc(X,Rest2,Rest3),dd(X,Rest3,Rest).<br />
aa(0,[a|E<strong>in</strong>],E<strong>in</strong>).<br />
aa(succ(X),[a|E<strong>in</strong>],Rest) :- aa(X,E<strong>in</strong>,Rest).<br />
bb(0,[b|E<strong>in</strong>],E<strong>in</strong>).<br />
bb(succ(X),[b|E<strong>in</strong>],Rest) :- bb(X,E<strong>in</strong>,Rest).<br />
cc(0,[c|E<strong>in</strong>],E<strong>in</strong>).<br />
cc(succ(X),[c|E<strong>in</strong>],Rest) :- cc(X,E<strong>in</strong>,Rest).<br />
dd(0,[d|E<strong>in</strong>],E<strong>in</strong>).<br />
dd(succ(X),[d|E<strong>in</strong>],Rest) :- dd(X,E<strong>in</strong>,Rest).<br />
Die zusätzlich erlaubten Parameter <strong>in</strong>nerhalb <strong>der</strong> DCGs s<strong>in</strong>d <strong>in</strong>sbeson<strong>der</strong>e für <strong>die</strong> Verarbeitung<br />
natürlicher Sprache nützlich, da sie bestimmte Attribute <strong>der</strong> Term<strong>in</strong>ale testen<br />
können, <strong>die</strong> bei bestimmten Satzglie<strong>der</strong>n übere<strong>in</strong>stimmen müssen, z.B. Geschlecht, Fall,<br />
Zeit, usw. und <strong>die</strong> Akzeptanz e<strong>in</strong>er Phrase steuern können.<br />
Deutsch (Late<strong>in</strong> auch) z.B. bauen auf Wortendungen zum Anzeigen <strong>der</strong> Fälle, S<strong>in</strong>gluar/Plural<br />
Geschlecht an und erlauben somit auch e<strong>in</strong>e freiere Wahl <strong>der</strong> Satzstellung. Als<br />
Beispielsprache ist Englisch e<strong>in</strong>facher, da es fast ke<strong>in</strong>e Wortendungen gibt, und <strong>die</strong> Reihenfolge<br />
<strong>der</strong> Worte e<strong>in</strong>es Satzes fast nicht umstellbar ist.<br />
5.4.1 Kontextfreie Grammatiken für Englisch<br />
E<strong>in</strong>e Tabelle <strong>der</strong> syntaktischen Kategorien ist:<br />
M. Schmidt-Schauß & D. Sabel, Skript KI, WS 2012/13 185 Stand: 7. Januar 2013