dumb fake NLP stuff
This commit is contained in:
		
							
								
								
									
										73
									
								
								polymani.pl
									
									
									
									
									
								
							
							
						
						
									
										73
									
								
								polymani.pl
									
									
									
									
									
								
							@@ -33,7 +33,6 @@
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
:- use_module(library(clpr)).
 | 
					:- use_module(library(clpr)).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
                 /*******************************
 | 
					                 /*******************************
 | 
				
			||||||
                 *        USER INTERFACE        *
 | 
					                 *        USER INTERFACE        *
 | 
				
			||||||
                 *******************************/
 | 
					                 *******************************/
 | 
				
			||||||
@@ -153,6 +152,78 @@ is_number_in_predicate(C, F) :-
 | 
				
			|||||||
    write(C),
 | 
					    write(C),
 | 
				
			||||||
    fail.
 | 
					    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           *
 | 
					                 *            BACKEND           *
 | 
				
			||||||
                 *******************************/
 | 
					                 *******************************/
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user