根据给出的语料库,训练n-gram模型。根据训练出的模型,判断测试集中每个句子是不是语法合法的句子

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)读入。然后比较用户的输入的语句进行分词存入数组,然后计算各个语句的概率。具体方法如下图:


 

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值