Esempio n. 1
0
File: learn.py Progetto: ictar/XIXI
def learnFromUser(rule, temp):
    rule = mergeChineseSpace(unicode(rule, "utf8")).encode("utf8")
    temp = mergeChineseSpace(unicode(temp, "utf8")).encode("utf8")
    save(rule, temp)
Esempio n. 2
0
<aiml version="1.0">

<meta name="author" content="autogen"/>
<meta name="language" content="zh"/>
{rules}
</aiml>
"""

category_template = """
<category>
<pattern>{pattern}</pattern>
<template>
{answer}
</template>
</category>
"""

#print sys.argv
if len(sys.argv) == 3:
    _, rule, temp = sys.argv
    rule = mergeChineseSpace(unicode(rule, 'utf8')).encode('utf8')
    temp = mergeChineseSpace(unicode(temp, 'utf8')).encode('utf8')
    db[rule] = temp
    db.sync()
    rules = []
    for r in db:
        rules.append(category_template.format(pattern=r, answer=db[r]))
    content = template.format(rules='\n'.join(rules))
    with open("auto-gen.aiml", 'w') as fp:
        fp.write(content)
Esempio n. 3
0
<meta name="author" content="autogen"/>
<meta name="language" content="zh"/>
{rules}
</aiml>
"""

category_template = """
<category>
<pattern>{pattern}</pattern>
<template>
{answer}
</template>
</category>
"""

#print sys.argv
if len(sys.argv) == 3:
    _, rule, temp = sys.argv
    rule = mergeChineseSpace(unicode(rule, 'utf8')).encode('utf8')
    temp = mergeChineseSpace(unicode(temp, 'utf8')).encode('utf8')
    db[rule] = temp
    db.sync()
    rules = []
    for r in db:
        rules.append(category_template.format(pattern=r,
                                              answer=db[r]))
    content = template.format(rules = '\n'.join(rules))
    with open("auto-gen.aiml", 'w') as fp:
        fp.write(content)
Esempio n. 4
0
category_template = """
<category>
<pattern>{pattern}</pattern>
<template>
{answer}
</template>
</category>
"""

print(sys.argv)
# TODO: need to rewrite
'''
因为是分词后的结果,并不一定是三个词
'''

if len(sys.argv) == 3:
    _, rule, temp = sys.argv
    print(_, rule, temp)
    rule = mergeChineseSpace(str(rule, 'utf8'))
    temp = mergeChineseSpace(str(temp, 'utf8'))
    print(_, rule, temp)
    db[rule] = temp
    db.sync()
    rules = []
    for r in db:
        rules.append(category_template.format(pattern=r,
                                              answer=db[r]))
    content = template.format(rules='\n'.join(rules))
    with open("auto-gen.aiml", 'w', encoding='utf-8') as fp:
        fp.write(content)
Esempio n. 5
0
                    my_db="chatbot_my",
                    my_set="aiml_rules",
                    id_col="rid")
# mongo.insert_request(doc={"rid": hash("明天去公园吗"),
#                           "q": "明天去公园吗",
#                           "a": "当然好啦"})


def refresh_rules():
    all_rules = mongo.find_requests_by_status("all_")
    if len(all_rules) > 0:
        rules = []
        for r in all_rules:
            rules.append(
                category_template.format(pattern=r["q"], answer=r["a"]))
        content = template.format(rules='\n'.join(rules))
        with open("auto-gen.aiml", 'w') as fp:
            fp.write(content)


if len(sys.argv) == 3:
    _, rule, temp = sys.argv
    rule = mergeChineseSpace(rule)
    temp = mergeChineseSpace(temp)
    mongo.insert_request({"q": rule, "a": temp, "rid": hash(rule)})
    refresh_rules()
elif len(sys.argv) == 2:
    if sys.argv[1] == "refresh":
        refresh_rules()
        print("refresh learned rules down!")
Esempio n. 6
0
def learnFromUser(rule, temp):
    rule = mergeChineseSpace(unicode(rule, 'utf8')).encode("utf8")
    temp = mergeChineseSpace(unicode(temp, 'utf8')).encode("utf8")
    save(rule, temp)