Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Section: A
AIML FILE :
<?xml version="1.0" encoding="UTF-8"?>
<aiml>
<category>
<pattern>Hi</pattern>
<template>
</random>
</template>
</category>
<category>
</category>
<category>
</category>
<category>
</category>
</aiml>
import aiml,socket
import nltk as nltk
from py2neo import Graph, Node, Relationship, NodeMatcher
kernel = aiml.Kernel()
kernel.learn('aiml.aiml')
graph = Graph("http://localhost:7474",auth=("neo4j","12345"))
matcher = NodeMatcher(graph)
def sigUp():
name = str(input("kindly Enter Name:"))
u_name = str(input("kindly Enter User_name:"))
Email = str(input("Enter your Email:"))
password = str(input("Enter your password:"))
host_name = socket.gethostname()
ip = socket.gethostbyname(host_name)
node = Node("person",name=name,u_name=u_name,email=Email,passwd=password,ip=ip)
graph.create(node)
ret = matcher.match("person",ip=ip)
for i in list(ret):
print("Do you know this user "+ i['name'])
us_in = str(input())
words = nltk.word_tokenize(us_in)
tagged = nltk.pos_tag(words)
NN = [i[0] for i in tagged if i[1]=='NN']
relation = Relationship(node,NN,i)
graph.create(relation)
def main():
while True:
user = None
robot = None
user = str(input("user: "))
robot = kernel.respond(user)
print("Robot: " + robot)
if 'What is your name?' in robot:
user = 'My name is ' + str(input("user:My name is "))
robot = kernel.respond(user)
print("Robot: " + robot)
if 'What is your password?' in robot:
user = 'My password is ' + str(input("user:My password is "))
robot = kernel.respond(user)
print("Robot: " + robot)
password = kernel.getPredicate("password")
name = kernel.getPredicate("name")
ret = matcher.match("person", u_name=name, passwd=password)
if ret.first() is not None:
print("Login Successfull!")
else:
sigUp()
main()