首先,我一直想搞一个聊天机器人,这回终于开始学习并开始搞了,希望可以坚持下去搞出一个半成品或者成品
自然语言处理NLP挺火的,因为AI人工智能的应用,和现在客服系统、反馈、问答、引导等等的需求很多,是必须要学习一下的。
库用的spaCy(英['speɪsɪ]美[ˈspesi]),语言在学习阶段使用英语模型和部分参杂中文做测试使用
先记录和搞清几个概念,术语
1,意图 Intent :用户的目的,意图,想要什么的?例如 “订一张电影票”,意图就是“订电影票”,或者“我要订餐”、“你可以帮我订餐吗”,意图就是“订餐”
2,实体 Entities :意图拥有命名为“实体”的元数据。例如“订一张电影票”,意图是“订票”,实体就是“电影”,实体可以是数量、次数或者体积。意图可以有很多实体,例如,“给我定一个8码的鞋子”。两个实体:类目:鞋子,大小:8[码]
3,话术 Utterances :同一个问题或意图的不同表达形式。例如订票可以很多说法,建议每个意图最好匹配10个话术,最少5个,这不是严格限制
4,训练机器人 :训练本质上是构建模型,模型是基于一组预定义的意图/实体的话术进行学习,再对新的话术进行分类以及提供一个置信度分数。使用话术训练系统时,称为监督学习。
5,置信度得分 :发现一个话术可能时什么意图时,模型得出一个置信度分数,表达机器学习模型对识别出用户意图的信心。
spyCy :开源高级自然语言处理库,按照书上说的目前最快的,准确性也更高一些。 2017年的数据是,spaCy v2.x 准确性有92.6
好了下边开始环境的配置安装,本文和以后的都使用python3环境
首先建立好项目目录后,使用dos窗口执行命令
1,安装 vnev 虚拟环境
python -m venv venv
2,打开虚拟环境
.\venv\Scripts\activate.bat
3,安装 spaCy
pip install -U spacy
4,安装 Jupyter Notebook [ 本步骤可以跳过省略,使用dos窗口或者其它编辑器进行代码编辑也可 ]
pip install jupyter
5,安装模型,比较重要的一步,
说实话,模型文件很大,一个英文模型就有438M,再加上中文模型398M,建议是下载tar.gz文件,然后使用本地安装, 其它配套的库则会自动安装
下载地址:https://github.com/explosion/spacy-models/releases,记得选择好版本,我这里只是测试,所以直接下载最新版本
下载完成后,拷贝到项目目录,然后执行 pip install en_core_web_trf-3.0.0a0.tar.gz
就会开始安装,并自动补充其它支撑库,安装完成后,即可开始测试
下边是再Jupyter环境里的测试(jupyter 每次需要手动启动,在venv虚拟环境里执行 jupyter notebook 就会自动打开浏览器并打开jupyter界面)
在界面右上角靠下一行,“New”那个菜单里选择python3,就会再弹出一个模拟终端,下边是运行测试代码的效果
好了, 以上是安装配置spaCy的记录和例子。后续会不断补充