Warning: session_start(): open(/var/lib/php/sessions/sess_c79v7vtorp1piu5c4dmdflt6ng, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
svoid test_RecursiveProbabilisticParser1() {
new RecursiveProbabilisticParser1 p;
p.loadRules(" has a => => has($1, $2)");
assertEqualsVerbose(ll([[has("the farmer", "pig")]]),
p.parse("the farmer has a pig"));
test_RecursiveProbabilisticParser1_2();
}
svoid test_RecursiveProbabilisticParser1_2() {
new RecursiveProbabilisticParser1 p;
p.loadRules([[
"Ein/eine/der/die/das führt (nach/in/hin zu/ins) " => satz => $1 leads to $2
"zimmer " => zimmer => room $1
"der/die/dem/das/den " => nomen => the $1
]]);
p.sentenceClass = "satz";
p.useRoundBrackets = true;
assertEqualsVerbose(ll("(Haustür) leads to (the (room (Flur)))"), p.parse("Die Haustür führt in das Zimmer Flur"));
test_RecursiveProbabilisticParser1_3();
}
svoid test_RecursiveProbabilisticParser1_3() {
new RecursiveProbabilisticParser1 p;
p.loadRules([[
"vom/... kommt/gelangt man in/nach/... " => satz => $1 connects to $2
"zimmer " => zimmer => room $1
"der/die/dem/das/den " => nomen => the $1
]]);
p.sentenceClass = "satz";
p.useRoundBrackets = true;
assertEqualsVerbose(ll("(Flur) connects to (the (room (GästeWC)))"), p.parse("Vom Flur kommt man (auch) in das Zimmer GästeWC"));
test_RecursiveProbabilisticParser1_4();
}
svoid test_RecursiveProbabilisticParser1_4() {
new RecursiveProbabilisticParser1 p;
p.loadRules([[
"Ein/eine/der/die/das führt (nach/in/hin zu/ins) " => satz => $1 leads to $2
"Ein/eine/der/die/das führt von/vom (nach/in/hin zu/ins) " => satz => $1 leads from $2 to $3
"Ein/eine/der/die/das führt von/vom nach (in/hin zu/ins) " => satz => $1 leads from $2 to $3 to $4
"der/die/dem/das/den " => nomen => the $1
"der/die/dem/das/den des/der " => nomen => $1 of $2
" in/im " => ding => $1 in $2
"erster/erste/ersten " => nomen => first $1
"zimmer " => zimmer => room $1
zimmer => ort
ding => nomen
ort => nomen
bereich => ort
"auch " => nomen => also $1
"ein/eine/einen/einem " => nomen => a $1
"kein/keine/keinen/keinem " => nomen => no $1
"bereich " => bereich => area $1
"der/... zwischen und " => ding => the $1 between $2 and $3
" geht nach auf" => satz => $1 opens to the $2
" und " => nomen => $1 and $2
"vom/... kommt/gelangt man in/nach/... " => satz => $1 connects to $2
"von da aus kommt/gelangt man in/nach/... " => satz => last mentioned place connects to $1
" hat " => satz => $1 has $2
" hat einen Bereich " => satz => $1 has an area $2
]]);
p.sentenceClass = "satz";
p.useRoundBrackets = true;
assertEqualsVerbose(ll(""), p.parse("Das Zimmer Hauptkeller hat einen Bereich Heizungsanlage"));
}