2-Gram的训练:先是将下载好的汉语分词工具NLPIR导入eclipse中,注意在使用这个分词工具的时候必须将Data包更新为最新,不然会初始化失败。编写代码实现对文件的分词,由于这个分词工具只可以实现3M左右的文件分词,过大的文件会出现无法读取从而报错,所以需要我们把100M的文件进行切割读入。我的程序中是把文件切成101份文本,然后进行分词,用bufferwriter进行写入afterSeg.txt,注意把bufferwiters的参数值设置成true,这样才可以实现追加文本,不会导致覆盖。然后,HashMap<String,int>派上用场了,用HashMap存储每一个词,存在于HashMap的词不在存入但出现次数加一,没有在HashMap中出现的把它添加进HashMap中,出现次数设置为1。同时进行前后两个词一起出现的概论统计,存在于HashMap的词不在存入但出现次数加一,没有在HashMap中出现的把它添加进HashMap中,出现次数设置为1。然后把HashMap的数据写入wordTime文件中。

测试:在上面一个程序得到的afterSeg.txt文件,我们用同样的方法(HashMap)读入。然后比较用户的输入的语句进行分词存入数组,然后计算各个语句的概率。具体方法如下图:


最后是跟选定阈值进行比较得出正确语序的句子。

更多相关文章

  1. java文件上传输入输出流的问题
  2. Android MediaCodec硬解码AAC音频文件(实时AAC音频帧)并播放
  3. 获取所有音乐文件的专辑封面
  4. android应用私有存储文件的写入与读取-openFileInput 和 openFil
  5. jni读取assets资源文件
  6. 使用adb从android手机拉取文件到电脑
  7. Android Studio 集成 ShareSDK 如何 覆盖 文件夹
  8. Android 自动编译、打包生成apk文件 1 - 命令行方式
  9. 如何将文件路径从.java类文件传递到本机jni文件

随机推荐

  1. android 使用Intent传递数据之剪切板
  2. Android获取运营商代码
  3. Android(安卓)中如何复制文件的操作
  4. android与服务端通信
  5. Activity-Spinner使用
  6. android RecycleView实现下拉刷新和上拉
  7. Android Studio 报No resource found tha
  8. 比比看,Android和Mango到底有什么不同?
  9. Android 开发集锦
  10. android activity的生命周期,四种启动模