| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
买学问 - 大牛一对一辅导,有问必答买学问 - 专业的付费知识问答平台
共有 480 人关注过本帖
标题:怎样在对照样文打字后,批改出漏打的字,多打的字和打错的字。
只看楼主 加入收藏
nhjsjjs
Rank: 1
等 级:新手上路
威 望:1
帖 子:13
专家分:0
注 册:2016-9-4
结帖率:100%
  已结贴   问题点数:10  回复次数:6   
怎样在对照样文打字后,批改出漏打的字,多打的字和打错的字。
样文有2千字左右,同学们因时间关系,打了1千字左右(有人打得多,有人打得少)(用记事本打字后保存为文件)。。想解决2个问题:
1.程序能批改出错了哪些字(用红色字在录入文本以及样文的对应位置显示);多了哪些字(用蓝色字在录入文本的对应位置显示);漏了哪些字(用绿色字在样文文本的对应位置显示)。
2.在样文的对应位置标注被批阅文本的尾部位置(各个人不一样),以便下一次继续录入。
  恳请了解或熟悉这方面问题的朋友提供一些编程的思路或资料信息,谢谢了!

[此贴子已经被作者于2018-12-12 13:49编辑过]

2018-12-12 13:34
wds1
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:36
帖 子:347
专家分:1840
注 册:2016-3-10
  得分:4 
如果按照原稿打印,进行比对,可以参考如下思路。

1、标准文章按照标点完成断句,形成标准语句数组bz1
2、录入的文章也形成一个语句数组bz2
3、以标准文章作为外循环I,以录入文章作为内循环J
  for i=1 to ubound(bz1)
   for j= 1 to ubound(bz2)
    (1)、比较2个文章的语句,如果语句中有xx%【xx是判断是否同一句子的条件,可以取50%-70%】的字相同,那么认为语句相同【当然也可以用N个相同判断】
       相同语句可以判断相同字、多字、少字
    (2)、如果语句不同,完成bz2全篇文章与bz1的第i条语句比对
    next
   next
   以上比对只是完成相同语句比对
4、对于多的语句或者少的语句,实际可以把bz1,bz2设为二维数组,增加1个比对标志位【例如bz1(0,1)=0没匹配,bz1(0,1)=1匹配,bz1(1,1)="语句内容"】
5、以上是最简单的比对情形
  (1)、如果文章内容有重复语句,就需要考虑上下文语句;
  (2)、如果想更精准比对,文章先比对段落,在比对语句;
6、对于一个文本显示多种颜色需要RichTextBox控件。
2018-12-12 16:03
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:248
帖 子:4394
专家分:26986
注 册:2008-10-15
  得分:4 
达到你这个要求是一时没好办法,但另一个要求是有的。

打开 WPS OFFICE ,选择 审阅, 找到比较
然后 有一个对话框,选择原文件 和 修订后的文件, 比较后,就会生成一个新的文档,然后按WPS修订的要求列出哪里有错误,哪里有漏的。


授人于鱼,不如授人于渔
早已停用QQ了
2018-12-12 16:56
nhjsjjs
Rank: 1
等 级:新手上路
威 望:1
帖 子:13
专家分:0
注 册:2016-9-4
  得分:0 
谢谢二位的指教,我先编个“同句子的比较”过程,在一句内找出“错字”、“多字”和“漏字”来。这个对我说来也不是容易的啰。然后再考虑颜色的要求。再次谢谢你们!
2018-12-12 21:36
icecool
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:20
帖 子:1205
专家分:1309
注 册:2005-3-14
  得分:4 
这上好像很难搞,可试试先断句分割,两个数组记录样本和输入文档,
先剔除两个数组相同内容,再把样本文档数组从后向前同输入文档数组对比,没有的已是还没有输入到的(单句还得记算相似度
如果输入时多打有标点,出上已废了

loading...
2018-12-13 16:17
wds1
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:36
帖 子:347
专家分:1840
注 册:2016-3-10
  得分:0 


实现bz1.txt和bz2.txt段落比较,比较原理如下:
1、读取文件段落到内存word1_pra,word2_pra,用回车换行作为段落标志
2、读取每个段落的句子到内存word1_sent,word2_sent,用全角",",半角",",全角"。"做句子分割,当然还可以增加。
3、输出信息为bz1.txt前面增加注释
  段落相同,前面加【相同】。
  段落相似,前面加【相似】。
  段落不同,前面加【缺少】

  段落相似判断:如果一段中,语句相同70%【可以自己设置,一般大于50%即可】,则认为段落相同,否则认为段落不同。

  具体句子的比较,你自己参照着写吧。



又做了些改进
1、以bz1.txt为范本显示的比对结果
2、缺少段落【1条语句都不同】,段落前面显示【缺段】
3、相似段落【至少有1条语句相同】,不同的语句前面显示【不同】,也可以显示多少条相同格式【6/8,总共8条6条相同】
4、多句段落【语句全部相同,但是还包含多余语句】,段落前面显示【多句】
5、相同段落,原始显示

如果在增加对bz2.txt的控制,就可以显示出多句
如果增加对不同语句的判断,就可以判断出多字,少字,错字

以上判断原理基本一致,就不写了。




[此贴子已经被作者于2018-12-14 09:45编辑过]

附件: 您没有浏览附件的权限,请 登录注册
2018-12-13 18:06
cunfu2018
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2018-12-12
  得分:0 
刚好这几天也在做类似的,学习了,谢谢!
2018-12-17 20:24







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032176 second(s), 8 queries.
Copyright©2004-2019, BCCN.NET, All Rights Reserved