当前位置:首页 > 实用技巧 >

word英语自动纠错功能(word文档如何自动纠错英文单词)

来源:原点资讯(www.yd166.com)时间:2023-04-29 19:11:39作者:YD166手机阅读>>

word英语自动纠错功能,word文档如何自动纠错英文单词(1)

项目简介

word-checker[1] 本项目用于单词拼写检查。支持英文单词拼写检测,和中文拼写检测。

特性说明

可以迅速判断当前单词是否拼写错误

可以返回最佳匹配结果

可以返回纠正匹配列表,支持指定返回列表的大小

错误提示支持 i18n

支持大小写、全角半角格式化处理

支持自定义词库

内置 27W 的英文词库

支持指定英文的编辑距离

支持基本的中文拼写检测

变更日志

变更日志[2]

快速开始Jdk 版本

Jdk 1.7

maven 引入

<dependency> <groupId>com.github.houbb</groupId> <artifactId>word-checker</artifactId> <version>1.1.0</version> </dependency>测试案例

会根据输入,自动返回最佳纠正结果。

final String speling = "speling"; Assert.assertEquals("spelling", WordCheckerHelper.correct(speling));核心 api 介绍

核心 api 在 WordCheckerHelper 工具类下。

WordCheckers 工具类提供了长文本中英文混合的自动纠正功能,当然也支持单个单词。

功能

方法

参数

返回值

备注

文本拼写是否正确

isCorrect(String)

待检测的文本

boolean

全部正确,才会返回 true

返回最佳纠正结果

correct(string)

待检测的单词

String

如果没有找到可以纠正的文本,则返回其本身

判断文本拼写是否正确

correctMap(string)

待检测的单词

Map<String, List<String>>

返回所有匹配的纠正列表 MAP

判断文本拼写是否正确

correctMap(string, int limit)

待检测的文本, 返回列表的大小

返回指定大小的的纠正列表 MAP

列表大小 <= limit

判断文本拼写是否正确

correctList(string)

待检测的单词

List<String>

返回所有匹配的纠正列表

判断文本拼写是否正确

correctList(string, int limit)

待检测的文本, 返回列表的大小

返回指定大小的的纠正列表

列表大小 <= limit

英文测试例子

参见 EnWordCheckerTest.java[3]

是否拼写正确

final String hello = "hello"; final String speling = "speling"; Assert.assertTrue(WordCheckerHelper.isCorrect(hello)); Assert.assertFalse(WordCheckerHelper.isCorrect(speling));返回最佳匹配结果

final String hello = "hello"; final String speling = "speling"; Assert.assertEquals("hello", WordCheckerHelper.correct(hello)); Assert.assertEquals("spelling", WordCheckerHelper.correct(speling));默认纠正匹配列表

final String word = "goox"; List<String> stringList = WordCheckerHelper.correctList(word); Assert.assertEquals("[good, goo, goon, goof, gook, goop, goos, gox, goog, gool, goor]", stringList.toString());指定纠正匹配列表大小

final String word = "goox"; final int limit = 2; List<String> stringList = WordCheckerHelper.correctList(word, limit); Assert.assertEquals("[good, goo]", stringList.toString());中文拼写纠正是否拼写正确

final String right = "正确"; final String error = "万变不离其中"; Assert.assertTrue(WordCheckerHelper.isCorrect(right)); Assert.assertFalse(WordCheckerHelper.isCorrect(error));返回最佳匹配结果

final String right = "正确"; final String error = "万变不离其中"; Assert.assertEquals("正确", WordCheckerHelper.correct(right)); Assert.assertEquals("万变不离其宗", WordCheckerHelper.correct(error));默认纠正匹配列表

final String word = "万变不离其中"; List<String> stringList = WordCheckerHelper.correctList(word); Assert.assertEquals("[万变不离其宗]", stringList.toString());指定纠正匹配列表大小

final String word = "万变不离其中"; final int limit = 1; List<String> stringList = WordCheckerHelper.correctList(word, limit); Assert.assertEquals("[万变不离其宗]", stringList.toString());长文本中英文混合情景

实际拼写纠正的话,最佳的使用体验是用户输入一个长文本,并且可能是中英文混合的。

然后实现上述对应的功能。

拼写是否正确

final String hello = "hello 你好"; final String speling = "speling 你好 以毒功毒"; Assert.assertTrue(WordCheckers.isCorrect(hello)); Assert.assertFalse(WordCheckers.isCorrect(speling));返回最佳纠正结果

final String hello = "hello 你好"; final String speling = "speling 你好以毒功毒"; Assert.assertEquals("hello 你好", WordCheckers.correct(hello)); Assert.assertEquals("spelling 你好以毒攻毒", WordCheckers.correct(speling));判断文本拼写是否正确

每一个词,对应的纠正结果。

final String hello = "hello 你好"; final String speling = "speling 你好以毒功毒"; Assert.assertEquals("{hello=[hello], =[ ], 你=[你], 好=[好]}", WordCheckers.correctMap(hello).toString()); Assert.assertEquals("{ =[ ], speling=[spelling, spewing, sperling, seeling, spieling, spiling, speeling, speiling, spelding], 你=[你], 好=[好], 以毒功毒=[以毒攻毒]}", WordCheckers.correctMap(speling).toString());判断文本拼写是否正确

同上,指定最多返回的个数。

final String hello = "hello 你好"; final String speling = "speling 你好以毒功毒"; Assert.assertEquals("{hello=[hello], =[ ], 你=[你], 好=[好]}", WordCheckers.correctMap(hello, 2).toString()); Assert.assertEquals("{ =[ ], speling=[spelling, spewing], 你=[你], 好=[好], 以毒功毒=[以毒攻毒]}", WordCheckers.correctMap(speling, 2).toString());格式化处理

有时候用户的输入是各式各样的,本工具支持对于格式化的处理。

大小写

大写会被统一格式化为小写。

final String word = "stRing"; Assert.assertTrue(WordCheckerHelper.isCorrect(word));全角半角

全角会被统一格式化为半角。

final String word = "string"; Assert.assertTrue(WordCheckerHelper.isCorrect(word));自定义英文词库文件配置

你可以在项目资源目录创建文件 resources/data/define_word_checker_en.txt

内容如下:

my-long-long-define-word,2 my-long-long-define-word-two

不同的词独立一行。

每一行第一列代表单词,第二列代表出现的次数,二者用逗号 , 隔开。

次数越大,在纠正的时候返回优先级就越高,默认值为 1。

用户自定义的词库优先级高于系统内置词库。

测试代码

我们在指定了对应的单词之后,拼写检测的时候就会生效。

final String word = "my-long-long-define-word"; final String word2 = "my-long-long-define-word-two"; Assert.assertTrue(WordCheckerHelper.isCorrect(word)); Assert.assertTrue(WordCheckerHelper.isCorrect(word2));自定义中文词库文件配置

你可以在项目资源目录创建文件 resources/data/define_word_checker_zh.txt

内容如下:

默守成规 墨守成规

使用英文空格分隔,前面是错误,后面是正确。

后期 Road-Map

支持英文分词,处理整个英文句子

支持中文分词拼写检测

引入中文纠错算法,同音字和形近字处理。

支持中英文混合拼写检测

技术鸣谢

Words[4] 提供的原始英语单词数据。

开源地址

https://github.com/houbb/word-checker/ 欢迎大家 fork star ~

References

[1] word-checker: https://github.com/houbb/word-checker/
[2] 变更日志: https://github.com/houbb/word-checker/blob/master/CHANGELOG.md
[3] EnWordCheckerTest.java: https://github.com/houbb/word-checker/tree/master/src/test/java/com/github/houbb/word/checker/util/WordCheckerHelperTest.java
[4] Words: https://github.com/atebits/Words

栏目热文

word怎么开启英语自动检测(word为什么不能自动检测单词)

word怎么开启英语自动检测(word为什么不能自动检测单词)

1. 工具简介Microsoft Word是微软公司的一个文字处理器应用程序。它最初是由Richard Brodie在1...

2023-04-29 19:11:18查看全文 >>

word怎么自动调中英文(word如何设置英文对照)

word怎么自动调中英文(word如何设置英文对照)

word文档如何自动翻译成英文?当我们按要求整理完一份资料时,老板突然发消息,让我们尽快再提交一份英文版的。自己的手里还...

2023-04-29 18:28:58查看全文 >>

星光大赏直播(星光大赏直播回放可以在哪看)

星光大赏直播(星光大赏直播回放可以在哪看)

近日KS直播官宣星光大赏再度来袭,作为主播圈最具影响力的大型活动,每一届星光大赏都会通过网友粉丝们的支持选出最具人气的主...

2023-04-29 18:44:25查看全文 >>

腾讯星光大赏在哪里举办的(腾讯星光大赏举办过几届)

腾讯星光大赏在哪里举办的(腾讯星光大赏举办过几届)

现在身处互联网时代,消息方面都非常的迅速,一些网友的意见和想法,往往也可以靠着网络的力量传达给相关单位。那么,在众星云集...

2023-04-29 18:40:32查看全文 >>

腾讯星光大赏哪年开始第一届(腾讯星光大赏是谁投票)

腾讯星光大赏哪年开始第一届(腾讯星光大赏是谁投票)

2017腾讯视频星光大赏已于11月20日拉开帷幕。截止11月27日14时,在年度电视剧女演员的评比中包揽了373万票,成...

2023-04-29 19:01:30查看全文 >>

word怎么区分中英文(word怎么中英文对照)

word怎么区分中英文(word怎么中英文对照)

今天教个 Word 技巧:如果在同一个文档中既有中文、又有英文,想要分别采用不同的字体,如何让 Word 根据输入的内容...

2023-04-29 18:33:37查看全文 >>

word中英文上下对照(word中英文上下对照改为左右对照)

word中英文上下对照(word中英文上下对照改为左右对照)

在我们平时使用Word文档时,经常会遇到中英文排版的情况,之前已经学过了混合排版,现在我们学习的是实用性也非常强的Wor...

2023-04-29 19:04:37查看全文 >>

word里如何查找所有英文(word里如何查找全部的英文)

word里如何查找所有英文(word里如何查找全部的英文)

我们平常在做文本编辑的时候,可能有时候需要将文本的英文或者数字内容单独查找出来,当然,这时候如果文本内容比较少,自然可以...

2023-04-29 18:41:08查看全文 >>

word英文纠错功能怎样开启(word中文怎么自动纠错)

word英文纠错功能怎样开启(word中文怎么自动纠错)

Word输入英文无法自动纠错的解决方法一:打开或关闭所需的“自动更正”选项。 在“工具”菜单上,单击“自动更正选项”。 ...

2023-04-29 18:56:34查看全文 >>

word自动检测英文语法(word中英文自动翻译)

word自动检测英文语法(word中英文自动翻译)

一提到 SCI 写作,即使是科研大神,也常常会有这样的烦恼:尽管阅文献破万卷,还是逃脱不出 Chinglish 的魔掌。...

2023-04-29 19:01:17查看全文 >>

文档排行