ChatGPT神秘的4个步骤,你真的了解吗?

文章主题:商务智能对话客服, ChatGPT, 问答系统, 信息检索

666AI工具大全,助力做AI时代先行者!

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助手!

Leave a Reply