CRF基于spark实现的过程与源码分析
Crf-spark实现时基于spark的LBFGS算法实现,由于在spark的mllib库中实现了LBFGS算法,因此在使用crf训练时调用该算法在spark平台上将会使迭代更加快速。缩短训练时间。
源码地址:https://github.com/lihait/CRF-Spark
源码是scala语言写的,将源码下载后使用sbt工具打包成jar文件在项目中导入即可使用crf-spark中方法。
src目录下有main和test两个文件夹,其中test中是作者用来测试的代码。
Main目录下是主要的实现scala代码,有七个文件:
最重要的是CRF.scala 、CRFModel.scala、CRFWithLBFGS.scala
CRF.scala:CRF.scala中有用来训练模型的train函数,默认的输入参数是:freq= 1, regParam = 0.5, maxIterations = 1000, tolerance = 1E-3, regularization =L2。
在使用时可对这几个参数进行设置。
CRFModel.scala: CRFModel.s