NLP第13课:动手制作自己的简易聊天机器人

自动问答简介

自动聊天机器人,也称为自动问答系统,由于所使用的场景不同,叫法也不一样。自动问答(Question Answering,QA)是指利用计算机自动回答用户所提出的问题以满足用户知识需求的任务。不同于现有搜索引擎,问答系统是信息服务的一种高级形式,系统返回用户的不再是基于关键词匹配排序的文档列表,而是精准的自然语言答案。近年来,随着人工智能的飞速发展,自动问答已经成为倍受关注且发展前景广泛的研究方向。


v2-825997cb3b5c8a587066b2430a7b9a77_b.jpg


自动问答主要研究的内容和关键科学问题如下:

  1. 问句理解:给定用户问题,自动问答首先需要理解用户所提问题。用户问句的语义理解包含词法分析、句法分析、语义分析等多项关键技术,需要从文本的多个维度理解其中包含的语义内容。
  2. 文本信息抽取:自动问答系统需要在已有语料库、知识库或问答库中匹配相关的信息,并抽取出相应的答案。
  3. 知识推理:自动问答中,由于语料库、知识库和问答库本身的覆盖度有限,并不是所有问题都能直接找到答案。这就需要在已有的知识体系中,通过知识推理的手段获取这些隐含的答案。

纵观自动问答研究的发展态势和技术现状,以下研究方向或问题将可能成为未来整个领域和行业重点关注的方向:基于深度学习的端到端自动问答,多领域、多语言的自动问答,面向问答的深度推理,篇章阅读理解、对话等。

基于 Chatterbot 制作中文聊天机器人

ChatterBot 是一个构建在 Python 上,基于一系列规则和机器学习算法完成的聊天机器人,具有结构清晰,可扩展性好,简单实用的特点。

Chatterbot 安装有两种方式:

  • 使用 pip install chatterbot 安装;
  • 直接在 Github Chatterbot 下载这个项目,通过 python setup.py install 安装,其中 examples 文件夹中包含几个例子,可以根据例子加深自己的理解。

安装过程如果出现错误,主要是需要安装这些依赖库:

        chatterbot-corpus>=1.1,<1.2
mathparse>=0.1,<0.2
nltk>=3.2,<4.0
pymongo>=3.3,<4.0
python-dateutil>=2.6,<2.7
python-twitter>=3.0,<4.0
sqlalchemy>=1.2,<1.3
pint>=0.8.1
      

1. 手动设置一点语料,体验基于规则的聊天机器人回答。

        from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer
Chinese_bot = ChatBot("Training demo") #创建一个新的实例
Chinese_bot.set_trainer(ListTrainer)
Chinese_bot.train([
    '亲,在吗?',
    '亲,在呢',
    '这件衣服的号码大小标准吗?',
    '亲,标准呢,请放心下单吧。',
    '有红色的吗?',
    '有呢,目前有白红蓝3种色调。',
])
      

下面进行测试:

        # 测试一下
question = '亲,在吗'
print(question)
response = Chinese_bot.get_response(question)
print(response)
print("\n")
question = '有红色的吗?'
print(question)
response = Chinese_bot.get_response(question)
print(response)
      

从得到的结果可以看出,这应该完全是基于规则的判断:

亲,在吗

亲,在呢

有红色的吗?

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值