chasonlee / SentenceClassifier

ANN-based Chinese Sentence Classifier

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SentenceClassifier

an ANN-based chinese sentence classifier

说明

  • 这是一个基于中文词向量和BP神经网络的中文句子分类器,句子向量目前只是简单的词向量拼接,若出现新词,则为其随机生成词向量。
  • 已测试的开发环境:WIN10 + VS2015

训练模型

  • 进入bin\x64\Debug目录下,运行NeuroNetworkClassifier.exe,点击加载词向量,选择当前目录下的wiki.zh.text.jian.seg.vector词向量文件。
  • 加载词向量完成后,加载数据集,选择dataset5文件夹下的所有文件,加载过程可能需要十几秒。数据集加载完成后,程序会将数据随机分离成训练集和测试集。现在在当前目录下会生成一个DataVector.vecmap文件,这是当前生成的向量映射表,以后需要继续训练模型时,可以直接加载此映射表,不需要再加载词向量和数据集。
  • 通过点击保存映射表,可以将此映射表另存为其他名字。
  • 有了训练集和测试集后,接下来点击训练新模型,可以在新窗口中设置神经网络的隐藏层结构,默认只有一层,10个节点,点击数字后可以在下方修改,也可以添加更多隐藏层,并任意修改节点数,确定后便会开始训练模型,模型训练迭代两次后就能看到动态的性能曲线图。训练开始后,可以随时停止和开始训练,训练结果默认每次迭代都会保存到Classifier.model

加载模型

  • 运行 NeuroNetworkClassifier.exe ,可以直接点击加载模型,选择当前目录下的Classifier_[1492-167]_12400-20-12_650--3--44.model
  • 这是我自己训练过的模型。目前由于训练样本太少,测试集的误差率依然很高,红色是训练集误差,蓝色是测试集误差。
  • 现在再点击加载模型,选择Classifier_[20296-2184]_10400-20-12_560--2--6.model
  • 这个是较大样本的训练结果,可以看到现在的模型性能表现相对较好。

引用

About

ANN-based Chinese Sentence Classifier


Languages

Language:C# 100.0%