dumb fake NLP stuff
This commit is contained in:
parent
07f341b5fa
commit
7fd64223fc
73
polymani.pl
73
polymani.pl
@ -33,7 +33,6 @@
|
||||
*/
|
||||
:- use_module(library(clpr)).
|
||||
|
||||
|
||||
/*******************************
|
||||
* USER INTERFACE *
|
||||
*******************************/
|
||||
@ -153,6 +152,78 @@ is_number_in_predicate(C, F) :-
|
||||
write(C),
|
||||
fail.
|
||||
|
||||
/*******************************
|
||||
* NLP *
|
||||
*******************************/
|
||||
polyplay :-
|
||||
write("> "),
|
||||
read(R),
|
||||
(
|
||||
R = bye,
|
||||
write("See ya")
|
||||
;
|
||||
(
|
||||
nlp_understand(R, P, I),
|
||||
writeln("That's trivial:"),
|
||||
nlp_compute(P, I)
|
||||
;
|
||||
writeln("I didn't understand what you want.")
|
||||
),
|
||||
polyplay
|
||||
).
|
||||
|
||||
nlp_understand(R,P,I) :-
|
||||
(
|
||||
R = simplify_x_squared,
|
||||
P = simplify,
|
||||
I = x^2
|
||||
;
|
||||
fail
|
||||
).
|
||||
|
||||
nlp_compute(simplify, P) :-
|
||||
simplify_polynomial(P, O),
|
||||
writeln(O).
|
||||
nlp_compute(_,_) :-
|
||||
fail.
|
||||
|
||||
parse_digit(zero, 0).
|
||||
parse_digit(one, 1).
|
||||
parse_digit(two, 2).
|
||||
parse_digit(three, 3).
|
||||
parse_digit(four, 4).
|
||||
parse_digit(five, 5).
|
||||
parse_digit(six, 6).
|
||||
parse_digit(seven, 7).
|
||||
parse_digit(eight, 8).
|
||||
parse_digit(nine, 9).
|
||||
|
||||
parse_digit(ten, 10).
|
||||
parse_digit(eleven, 11).
|
||||
parse_digit(twelve, 12).
|
||||
parse_digit(thirteen, 13).
|
||||
parse_digit(fourteen, 14).
|
||||
parse_digit(fifteen, 15).
|
||||
parse_digit(sixteen, 16).
|
||||
parse_digit(seventeen, 17).
|
||||
parse_digit(eighteen, 18).
|
||||
parse_digit(nineteen, 19).
|
||||
|
||||
parse_digit(twenty, 20).
|
||||
parse_digit(thirty, 30).
|
||||
parse_digit(forty, 40).
|
||||
parse_digit(fifty, 50).
|
||||
parse_digit(sixty, 60).
|
||||
parse_digit(seventy, 70).
|
||||
parse_digit(eighty, 80).
|
||||
parse_digit(ninety, 90).
|
||||
|
||||
parse_number([],0).
|
||||
parse_number([N|L], X) :-
|
||||
parse_digit(N, X1),
|
||||
parse_number(L, X2),
|
||||
X is X1 + X2.
|
||||
|
||||
/*******************************
|
||||
* BACKEND *
|
||||
*******************************/
|
||||
|
Reference in New Issue
Block a user