在Win10上搭建Rasa_NLU_Chi中文语义识别

1. 安装Visual Studio 2015

VS2015并不是非装不可,也不一定要这个版本。不过,在Python开发中还是比较重要的,有很多Python库在安装时f都会出现文件或者是命令,又或者是库找不到等等,这样那样的问题。比如:Twisted、Scrapy、MITIE等等。安装VS2015可以减少很多问题。

下载地址

VS2015 专业版下载链接
http://download.microsoft.com/download/B/8/9/B898E46E-CBAE-4045-A8E2-2D33DD36F3C4/vs2015.pro_chs.isoVS2015

企业版下载链
http://download.microsoft.com/download/B/8/F/B8F1470D-2396-4E7A-83F5-AC09154EB925/vs2015.ent_chs.isoVS2015

社区版下载链接
http://download.microsoft.com/download/B/4/8/B4870509-05CB-447C-878F-2F80E4CB464C/vs2015.com_chs.iso

注意: 安装时要选择安装Visual C++语言及工具,默认是不安装的。

2. 安装cmake

官网下载:https://cmake.org/download/

选择下载安装包,这个最简单,运行时直接选择写入环境变量就好了,不用自己手动写环境变量了。

3. 安装boost

官网下载:https://www.boost.org/

boost没有编译好的安装程序之类的东西,需要将下载回来的压缩包解压后,再编译。编译过程对VS2015有依赖,之前装了,可以放心运行。

我本机boost的解压目录为:D:\boost\boost_1_69_0

安装步骤

先打开命令行工具,并切换工作目录。执行bootstrap.bat命令后,会生b2.exe bjam.exe。最后再执b2, --prefix指定安装的目录

cd D:\boost\boost_1_69_0\tools\build

bootstrap.bat

b2 --prefix=D:\boost\bin install

4. 安装MITIE

不安装MITIE并不影响Rasa_NLU_Chi的安装,但是在运行过程中会报错,所以还是先安装吧。事实上,也是因为安装MITIE出问题,才去安装cmake以及boost库的,因为MITIE的安装也是要在本地编译的,编译过程中Visual Studio、cmake、boost库三者缺一不可

MITIE可以通过在线安装

pip install git+https://github.com/mit-nlp/MITIE.git

如果没有安装git也可以用svn代替。不过最好还是离线安装,先下载代码,解压后切换到目录下,然后运行

python setup.py install

离线安装的好处是如果安装出现问题,可以更好的发现及重试。

5. 安装中文分词工具jieba

jieba的安装非常简单。

pip install jieba

在安装Rasa_NLU_Chi中,可能还会出现一些依赖库没有安装导致安装失败的问题,一个个安装就可以了。

6. 安装Rasa_NLU_Chi

经过漫长的准备工作,终于进入正题了。

  • 首先下载代码并解压,然后打开命令提示符并切换工作目录,执行安装。

    python setup.py install

  • 接下来准备模型数据。先不用自己训练模型,直接下载一份训练好的模型数据。

    链接:http://pan.baidu.com/s/1micEF0G 密码:opli

    下载完成后将文件放到data目录下。

  • 训练Rasa NLU的模型。所有的配置以及训练数据都先不改,直接使用已有的。先跑起来看到效果再说。

    python -m rasa_nlu.train -c sample_configs/config_jieba_mitie_sklearn.yml --data data/examples/rasa/demo-rasa_zh.json --path models
    

    注意: 这个步骤不能少,虽然代码中test_models目录下已经有训练好的模型了,但是当前版本的模型与代码不匹配,运行会报错。

  • 启动Rasa_nlu服务。

    python -m rasa_nlu.server -c sample_configs/config_jieba_mitie_sklearn.yml --path models
    
  • 测试。终于完成了,来看看效果吧。

    使用浏览器打开

    localhost:5000/parse?q=你好

    稍等片刻后会看到返回结果

    {
    "intent": {
      "name": "greet",
      "confidence": 0.6863286690180176
    },
    "entities": [],
    "intent_ranking": [
      {
        "name": "greet",
        "confidence": 0.6863286690180176
      },
      {
        "name": "goodbye",
        "confidence": 0.22795754042984873
      },
      {
        "name": "affirm",
        "confidence": 0.058162658792195523
      },
      {
        "name": "search",
        "confidence": 0.01325906726417518
      },
      {
        "name": "restaurant_search",
        "confidence": 0.008356444773033047
      },
      {
        "name": "medical",
        "confidence": 0.005935619722729551
      }
    ],
    "text": "你好"
    }
    

你可能感兴趣的:(在Win10上搭建Rasa_NLU_Chi中文语义识别)