聊天机器人之语料准备

聊天机器人之语料准备

1. 分词词典

最终词典的格式:

词语 词性(不要和jieba默认的词性重复)

1.1 词典来源

  1. 各种输入法的词典          【通过下面链接下载使用】

    例如:https://pinyin.sogou.com/dict/cate/index/97?rf=dictindex

    例如:https://shurufa.baidu.com/dict_list?cid=211

  2. 手动收集,根据目前的需求,我们可以手动收集如下词典

    1. 机构名称,例如:传智传智播客,黑马程序员

    2. 课程名词,例如:python,人工智能+pythonc++

1.2 词典处理

输入法的词典都是特殊格式,需要使用特殊的工具才能够把它转化为文本格式

工具名称:深蓝词库转换.exe     【能把各种词库格式的文件转换成txt文件等】

下载地址:https://github.com/studyzy/imewlconverter    【此地址下载的是源码, 在这个网页右面点击Releases,下载win版本】   【转换格式:xxx词库->无拼音纯汉字】

1.3 对多个词典文件内容进行合并

下载使用不同平台的多个词典之后,把所有的txt文件合并到一起供之后使用

2. 准备停用词

2.1 什么是停用词?

对句子进行分词之后,句子中不重要的词

2.2 停用词的准备

常用停用词下载地址:https://github.com/goto456/stopwords

2.3 手动筛选和合并

对于停用词的具体内容,不同场景下可能需要保留和去除的词语不一样

比如:词语哪个,很多场景可以删除,但是在判断语义的时候则不行

3. 问答对的准备

3.1 现有问答对的样式

问答对有两部分,一部分是咨询老师整理的问答对,一部分是excel中的问答对,

最终我们需要把问答对分别整理到两个txt文档中,如下图(左边是问题,右边是答案):

Excel中的问答对如下图:

3.2 excel中问答对的处理

Excel中的问答对直接使用pandas就能够处理

import re
import pandas as pd
python_qa_path = '../data/test/短问答.xlsx'
def load_duanwenben():
    ret = pd.read_excel(python_qa_path)
    column_list = ret.columns
    assert '问题' in column_list and '答案' in column_list, 'exel中必须包含问题和答案'
    for q, a in zip(ret['问题'], ret['答案']):
#         q = re.sub("\s+", " ", q)
#         q = q.strip()
        print(q, a)
load_duanwenben()

4. 相似问答对的采集

4.1 采集相似问答对的目的

后续在判断问题相似度的时候,需要有语料用来进行模型的训练,输入两个句子,输出相似度,这个语料不好获取,所以决定从百度知道入手,采集百度知道上面的相似问题,如下图所示:

上面采集的数据会存在部分噪声,部分问题搜索到的结果语义上并不是太相似

4.2 手动构造数据

根据前面的问答对的内容,把问题大致分为了若干类型,对不同类型的问题设计模板,然后构造问题,问题模块如下:

templete = [
#概念
["{kc}","什么是{kc}","{kc}是什么","给我介绍一下{kc}","{kc}可以干什么","能简单说下什么是{kc}吗","我想了解{kc}"],

#课程优势
["{kc}课程有什么特点","{jgmc}的{kc}课程有什么特点","{jgmc}的{kc}课程有什么优势","为什么我要来{jgmc}学习{kc}","{jgmc}的{kc}课程有什么优势","为什么要到{jgmc}学习{kc}","{jgmc}的{kc}跟其他机构有什么区别?","为什么选择{jgmc}来学习{kc}?"],

#语言优势
#["{kc}","什么是{kc}","{kc}是什么","给我介绍一下{kc}","{kc}可以干什么","能简单说下什么是{kc}吗"], 
#特点
["{kc}有什么特点","{kc}有什么优势","{kc}有什么亮点","{kc}有那些亮点","{kc}有那些优势","{kc}有那些特点","{kc}的亮点是什么","{kc}的优势是什么","{kc}的特点是什么"],
#发展前景
["{kc}的发展怎么样?","{kc}的前景怎么样?","{kc}的发展前景如何?","{kc}的未来怎样","{kc}的前景好么" ],
#就业
["{kc}好就业么","{kc}就业机会多么","{kc}的岗位多吗","{kc}工作好找吗","{kc}的市场需求怎么样","{kc}的就业环境怎么样"],
#就业方向
["{kc}学完以后能具体从事哪方面工作?","{kc}的就业岗位有哪些?","{kc}课程学完应聘哪方面工作?","{kc}可以从事哪方面工作?",],
#用途
["{kc}学完可以做什么","{kc}能干什么","学{kc}能干什么","能举例说下{kc}能做什么吗?","{kc}毕业了能干什么","{kc}主要应用在什么领域"],
#就业薪资
["{kc}学完工资多少","学完{kc}能拿多少钱","{kc}的就业薪资多少","{kc}就业的平均是工资多少"],
#学习难度
["{kc}简单么","{kc}容易么","{kc}课程容易么","{kc}上手快么","{kc}课程难么"],
#校区
["在那些城市开设了{kc}","哪里可以学习{kc}","学习{kc}可以去那些城市","{kc}在哪里开班了"],
#学费
["{kc}学费","{kc}多少钱","{kc}的学费多少","{kc}是怎么收费的?","学习{kc}要花多少钱","{kc}是怎么收费的","{kc}课程的价格","{kc}课程的价格是多少"],
#适合人群
["什么人可以学{kc}","哪些人可以学{kc}","学习{kc}有什么要求","学习{kc}需要那些条件","没有基础可以学{kc}吗","学历低可以学习{kc}吗?","成绩不好可以学习{kc}吗?","什么样的人适合学习{kc}?"],
#学习时间
["{kc}需要学多久","{kc}需要多久才能就业","{kc}需要学习多长时间","{kc}的学时是多少","{kc}的课时是多少","{kc}课时","{kc}课时长度","{kc}的课程周期?","0基础学{kc}多久能才就业"],
#学习内容
["{kc}学什么","{kc}学习那些内容","我们在{kc}中学习那些内容","在{kc}中大致都学习什么内容"],
#项目内容
["{kc}的项目有哪些","{kc}有哪些项目","{kc}上课都有哪些实战","{kc}做什么项目?","{kc}项目有多少个?","{kc}课程中有项目吗?"],
#学习某课程的好处
["为什么要学习{kc}?","学习{kc}有哪些好处?","学习{kc}的理由?","为什么我要来学习{kc}"],
#上课时间
["上课时间","你们那边每天的上课时间是怎样的呢?"],
#英语要求
["学习{kc}对英语有要求么","来{jgmc}学习对英语有要求吗?"]
]

其中大括号的内容kc表示课程,jgmc表示机构名称

接下来,需要完成两件事

  1. 最终我们会把前面准备好的课程字典和机构名称字典中的词语放入大括号中

  2. 把kc相同的内容构造成相似问题

### 回答1: Alime工具包是一个基于阿里云智能对话服务的机器人开发工具包,可以帮助开发者快速搭建自己的聊天机器人。 以下是使用Alime工具包搭建聊天机器人的一些步骤: 1. 注册阿里云账号并开通智能对话服务。 2. 安装Alime工具包,并创建一个新的机器人项目。 3. 在机器人项目中配置对话场景和技能,包括意图、实体、对话流程等。 4. 在对话场景中添加自定义的语料库和答案库,用于机器人的应答。 5. 将机器人项目部署到阿里云服务器上,生成API接口。 6. 在自己的应用程序中调用API接口,实现与机器人的交互。 通过使用Alime工具包,开发者可以快速搭建出功能强大的聊天机器人,为用户提供更好的交互体验。 ### 回答2: Alime工具包是一个能够帮助开发者搭建聊天机器人的工具包。使用Alime工具包,我们可以利用自然语言处理技术和机器学习算法来构建一个灵活、智能的聊天机器人。 首先,我们需要收集大量的训练数据。这些数据可以包括用户的常见问题、对应的回答、以及一些特定的语境和场景。利用这些训练数据,我们可以通过机器学习算法进行模型训练。 接下来,我们可以使用Alime工具包提供的对话管理和对话流程设计功能来设计和管理聊天机器人的对话流程。对话管理可以帮助机器人根据用户输入作出相应的回答或者引导用户进行下一步的对话。同时,我们可以根据实际需求来调整对话流程,以达到更好的交互效果。 另外,Alime工具包还提供了丰富的自然语言处理功能,例如语义理解、意图识别和情感分析等。这些功能可以帮助我们更好地理解用户的意图和情感,并根据用户的输入作出相应的回答或者反馈。 最后,Alime工具包还支持多种渠道的部署,例如Web页面、移动App和智能音箱等。我们可以根据实际需求选择适合的渠道进行部署,以便用户可以随时随地与聊天机器人进行交流。 总结来说,Alime工具包提供了丰富的功能和工具,使得搭建聊天机器人变得简单而高效。通过使用Alime工具包,我们可以构建一个智能、灵活的聊天机器人,为用户提供便捷、个性化的服务和帮助。 ### 回答3: Alime工具包是一个强大的人工智能开发工具包,它提供了搭建聊天机器人所需的各种功能和技术支持,具有很高的灵活性和可扩展性。 在使用Alime工具包进行聊天机器人搭建时,首先需要准备一个语料库,包含了机器人需要了解的各种问题和对应的回答。然后,可以通过Alime工具包提供的模型训练功能,对语料库进行训练,以使机器人具备自然语言处理和理解能力。 另外,Alime工具包还提供了丰富的对话管理功能,可以根据用户提出的问题进行意图识别和实体识别,并生成合适的回答。同时,可以由开发者定义一系列的对话流程和应答规则,使机器人能够根据具体情境进行智能应答。 此外,Alime工具包还支持多渠道接入,包括Web、APP、微信等,让聊天机器人能够在不同的平台上与用户进行对话。 总结起来,Alime工具包通过语料库的训练、对话管理和多渠道接入等功能,帮助开发者搭建出功能强大、智能高效的聊天机器人,能够满足用户的各种需求。同时,Alime工具包还提供了丰富的接口和开发文档,使开发过程更加便捷和灵活。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值