ChatGPT神秘的4个步骤,你真的了解吗?
文章主题:商务智能对话客服, ChatGPT, 问答系统, 信息检索
ChatGPT入门案例|商务智能对话客服(一)
ChatGPT是人工智能研究实验室OpenAI新推出的一种人工智能技术驱动的自然语言处理工具,使用了Transformer神经网络架构,也是GPT-3.5架构,这是一种用于处理序列数据的模型,拥有语言理解和文本生成能力,尤其是它会通过连接大量的语料库来训练模型,这些语料库包含了真实世界中的对话,使得ChatGPT具备上知天文下知地理,还能根据聊天的上下文进行互动的能力,做到与真正人类几乎无异的聊天场景进行交流。
ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。
01
问答系统的分类可以从多个角度进行,包括应用领域、答案形式和语料格式等。基于应用领域的分类,我们可以将问答系统划分为限定域问答系统和开放域问答系统。限定域问答系统是指系统能够处理的问题仅限于特定的领域或范围,例如医学、商务或金融等,而开放域问答系统则适用于更广泛的领域。另一方面,我们也可以根据支持技术进行分类,包括数据库系统、对话式系统、阅读理解系统、问题集系统和知识库系统等。这些不同的分类方式有助于更好地理解和运用问答系统,满足各种需求。
问答系统的核心功能包括:问题输入、问题理解、信息检索、信息抽取、答案排序、答案生成以及结果输出等。用户首先提出问题,然后系统通过在知识库中查询获取相关资讯。接着,根据特定的规则,从提取的信息中挑选出合适的候选答案特征向量。最后,系统会筛选出这些候选答案中的最佳选项并呈现给用户,如图9-1所示。
02
问题处理
问题映射
在回答用户提出的问题时,我们需要进行问题匹配。为了更精确地找到与用户问题相关的信息,我们可以利用相似度匹配和同义词表等技术手段来解决映射问题。在此过程中,可能需要进行拆分和合并操作,以便更好地整合相关内容。
查询构建
处理输入问题后,将其转化为计算机可解析的查询语句,接着在知识图谱或数据库中进行检索,从而获取相应的备选解答。
知识推理
🤖AI会根据问题的属性进行相应的推理,当问题属性在我们的知识图谱或数据库中有明确的定义时,我们会直接从这些已知的信息中寻找答案并反馈给您。然而,当问题的属性没有在我们的知识体系中找到对应的定义时,我们需要借助机器学习和深度学习的技术,来生成一个新的答案。
消歧排序
根据知识图谱中查询返回的单数或者复数备选答案,结合问题属性进行消歧处理和优先级排序,输出最优答案。
03
基于远程服务器模板的交互模式的主要操作步骤如下。
欢迎来到 Azure 官方网站!如果您想要创建一个 Microsoft Azure 账户,请访问以下网址:https://azure.microsoft.com/en-us/。在您完成注册并登录到 Azure Portal 页面后,您可以开始探索各种 Azure 服务了。
(2) 切换到Azure Portal页面,选择QnA makers创建服务QnA Service,如图9-2所示。
(3) 单击QnA Maker Portal选项,如图9-3所示。
■ 图9-3问答创建选项
(4) 单击Create a QnA Service按钮创建知识库,参见图9-4。
■ 图9-4创建问答服务
(5) 根据提示完成步骤(1)~步骤(4),然后单击Create your KB按钮完成知识库创建,参见图9-5。
■ 图9-5创建知识库
(6) 知识库完成创建后,单击Save and train按钮,最后单击Publish按钮,如图9-6所示。
(7) 知识库完成创建后,单击My knowledge bases按钮确认知识库详细信息,参见图9-7。
■ 图9-7确认知识库信息
(8) 单击View Code按钮,确认并记录主机地址、知识库和认证键值。
POST /knowledgebases/knowledgebases- id/generateAnswer
Host: https: //host-address
Authorization: EndpointKey EndpointKey – id
Content-Type: application/json
{ “question”: “<Your question>”}
(9) 新建app.py文件,从botbuilder.core库导入BotFrameworkAdapter、BotFrameworkAdapterSettings、TurnContext、ConversationState、MemoryStorage类,导入网页框架Flask库以及asynciobotbuilder.schema.Activity。主要代码如下。
app = Flask(__name__)
loop = asyncio.get_event_loop
botframework = BotFrameworkAdapterSettings( “”, “”)
botadapter = BotFrameworkAdapter(botframework)
remotebot = RemoteBot
@app.route(“/api/messages”,methods=[“POST”])
defmessages:
if“application/json”inrequest.headers[ “content-type”]:
context = request.json
else:
returnResponse(status = 415)
activity = Activity.deserialize(context)
if“Authorization”inrequest.headers:
outcome = request.headers[ “Authorization”]
else:
outcome= “”
asyncdefcall_fun(turncontext):
awaitremotebot.on_turn(turncontext)
task = loop.create_task(
botadapter.process_activity(activity,outcome,call_fun)
)
loop.run_until_complete(task)
if__name__ == __main__:
app.run( localhost, 4000)
(10) 新创建remotebot.py文件,主要代码如下。
frombotbuilder.core importTurnContext,ActivityHandler,MessageFactory
frombotbuilder.ai.qna importQnAMaker,QnAMakerEndpoint
classRemoteBot(ActivityHandler):
def__init__(self):
endpoint = QnAMakerEndpoint( “knowledgebases-id”, “EndpointKey -id”, “https://host-address”)
self.botmaker = QnAMaker(endpoint)
asyncdefon_message_activity(self,context:TurnContext):
response = awaitself.botmaker.get_answers(context)
ifresponse andlen(response) > 0:
awaitcontext.send_activity(MessageFactory.text(response[ 0].answer))
■ 图9-8启动页面
(12) 启动Bot Framework Emulator程序,单击左下角设置按钮,在Path to ngrok中选择下载的ngrok.exe的路径位置,勾选Bypass ngrok for local addresses,Run ngrok when the Emulator starts up以及Use version 1.0 authentication tokens复选框,参见图9-9和图9-10。
■ 图9-11远程连接设置
■ 图9-12远程连接对话测试
04
参考书籍
《Python自然语言处理——算法、技术及项目案例实战(微课视频版)》
作者:(日)中本一郎、马冀、张积林、郭彦、庄伟卿、冯丽娟、江明、黄益
定价:59.90元
扫码优惠购书
本书全面介绍了数据挖掘和商务智能的基础知识、主要技术、基于Python语言的商务应用生成技术。全书共12章,主要内容包括数据挖掘、深度学习、Seq2Seq、商务智能应用创建及部署、Tensorflow、卷积神经网络、循环神经网络和Rasa技术。本书注重理论结合实战,实例部分配套操作步骤,重要代码讲解,中间图形和文本输出,将实战内容融合在课程教学过程中,使理论紧密联系实际,帮助学生在潜移默化中获得知识。 返回搜狐,查看更多
责任编辑:

AI时代,拥有个人微信机器人AI助手!AI时代不落人后!
免费ChatGPT问答,办公、写作、生活好得力助手!
搜索微信号aigc666aigc999或上边扫码,即可拥有个人AI助手!