基于pytorch和NLP的聊天机器人

聊天机器人的行业背景
为什么学?
1.热门行业(NLP主流方向)
2.技术流,主流Seq2Seq+Attention
3.前沿,行业内缺乏大量人才
4.薪资高,贴近生活

在这里插入图片描述

一、聊天机器人综合介绍

具代表性的有;腾讯QQ小冰,天猫精灵等不刻板不生硬

应用场景:自动回复,医疗,旅游,餐饮,财经,新闻等

起源发展:诞生于20世纪80年代,用来模拟人类对话或者聊天的程序。1966年诞生的Eliza和1972年诞生的Parry是早期非常著名的聊天机器人。

分类;
&检索模式:预定义响应 的数据库和某种启发式推理来根据输入和上下文选择适当的响应。换句话说就是构建FAQ,存储问题-答案对,之后用检索的方式从该FAQ中返回句子的答案。
检索模式应用:
在这里插入图片描述

&生成模式:这种方法更难一些,它不依赖于预定义的响应,完全从零开始生成新的响应。生成式模型通常基于机器翻译技术,但不是从一种语言翻译到另一种语言,而是从输入到输出(响应)的翻译。
生成模式应用:
在这里插入图片描述
如何构建最简单的聊天机器人
***基于规则***rule-base的简单聊天机器人(应用)

//只有我们询问"你好吗"这三个字的时候,聊天机器人才会做出回应
//而我们问“你好吗?”,聊天机器人不作出反应
if "你好吗" in user.query:
	chatbot.say("我很好")
if "天气" in user.query:
	chatbot.say("今天阳光明媚")

实现方法以及环境:
Python3.7 , Anaconda , jupyter NoteBook , Nltk(Natural Language Toolkit)

import random
#打招呼
greetings=['hi','Hi!','Hi','hello','Hello']
#随机回复
response_greetings=random.choice(greetings)

#问好
questions=['how are you ? ','how are you doing ?']
#随机回复
response=['Okay','fine','just so so']
response_questions=random.choice(response)

#问答机器人跑起来
while True:
	userInput=input('>>>')
	if userInput in greetings:
		print(response_greetings)
	elif userInput in questions:
		print(response_questions)
	elif userInput ='bye':
		break
	else:
	print("I did not understand what you said")

显然上述代码实现的机器人太笨了,我们需要更精准一点的问答。通过关键字来判断这句话的意图(intents)是什么。

import random
from nltk import word_tokenize
#打招呼
greetings=['hi','Hi!','Hi','hello','Hello']
#随机回复
response_greetings=random.choice(greetings)

#假期
questions=['holiday','vacation','weekend']
#随机回复
response=['It was nice','I went to Paris','I just stay at home']
response_questions=random.choice(response)

#问答机器人跑起来
while True:
	userInput=input('>>>')
	#清理一下输入
	cleaned_input=word_tokenize(userInput)
	#对比一下关键词,看看具体属于那个问题
	if not set(cleaned_input).isdisjoint(greetings):
		print(response_greetings)
	elif not set(cleaned_input).isdisjoint(questions):
		print(response_questions)
	elif userInput ='bye':
		break
	else:
	print("I did not understand what you said")

二、NLP基础

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、检索类聊天机器人

四、生成类聊天机器人

五、pytorch基础

六、聊天机器人发展方向

七、基于pytorch聊天机器人代码实战

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值