最近在学习deeplearning4j,简称为dl4j。其中有许多示例,可以编译源码以后,运行runexample.sh来查看相关的结果。其中有分词的例子,所以想要学习一下分词,特别是中文分词的实例。

  关于中文分词,比较好的一个例子就是DeepLearning4J入门——让计算机阅读《天龙八部》,版主也想要研究一下该例子,并通过学习加深对分词的理解。

环境

  版主使用的环境,基本上与原文作者使用的类似:

  1. Eclipse:导入dl4j-examples.git
  2. Windows7系统:单台CPU机器;
  3. Maven3:主要用于FNLP的编译,获取fnlp-core的JAR包,当然也可以直接下载百度云盘上的JAR包。

dl4j自带自带实例

  感兴趣的朋友,可以下载dl4j-examples的源码,自己动手编译源码运行一下。dl4j分词的实例,主要是【17】这一个例子:
dl4j-examples-17

  刚开始,可能需要下载数据,大约为80M左右,同时需要研究原代码,因为直接运行的话会报错:
dl4j-error
版主写此文时,可以在网上找到该缺失文件,地址为: GoogleNews-vectors-negative300

中文分词学习

  参考引文的代码,可以完成编译。值得注意的是,版主在编译的时候遇到几个问题:

  1. 直接下载【天龙八部】,用Eclipse直接打开,发现时乱码。将文本的格式设置为UTF-8无BOM以后,可以正常显示;
  2. 使用MAVEN下载FNLP-CORE时,发现速度非常慢。可以直接到FNLP的百度云盘下载相关JAR包,或自行编译FNLP源码得到JAR包,然后再本地使用mvn install:install-fiile安装到本地库中;
  3. 关于代码运行的顺序问题:首先运行processFile的代码,这样可以通过tlbb.txt生成分词文件tlbb_t.txt;然后通过ZhWord2Vector来获得结果。
    为了后来学习者减少雷区,版主将Eclipse工程结构送上:
    pp
    qq
    版主的结构与原文类似,但有一些差异,各种差异读者可自行体会_^_。

分词的结果,与参考文中的结果也略有差异,如果有知晓原因的,请告诉版主:
ll

版主使用的训练参数:

minWordFrequency(10).iterations(4).layerSize(100).seed(45).windowSize(5)

  1. 参考文:http://blog.csdn.net/a398942089/article/details/51970691

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

FNLP编译安装 上一篇
SAS中实用函数 下一篇