LanguageTool最简范例代码

简介: LanguageTool最简范例代码

说明中有这些代码。如果能搜索到这个博文也行:

package taishan.languagetool;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import org.languagetool.JLanguageTool;
import org.languagetool.language.BritishEnglish;
import org.languagetool.language.Chinese;
import org.languagetool.rules.Rule;
import org.languagetool.rules.RuleMatch;
import org.languagetool.rules.spelling.SpellingCheckRule;
public class LanguageToolTest
{
  private static void testEnglish() throws IOException
  {
  JLanguageTool langTool = new JLanguageTool(new BritishEnglish());
     // comment in to use statistical ngram data:
     //langTool.activateLanguageModelRules(new File("/data/google-ngram-data"));
     List<RuleMatch> matches = langTool.check("A sentence with a error in the Hitchhiker's Guide tot he Galaxy");
     for (RuleMatch match : matches) {
       System.out.println("Potential error at characters " +
           match.getFromPos() + "-" + match.getToPos() + ": " +
           match.getMessage());
       System.out.println("Suggested correction(s): " +
           match.getSuggestedReplacements());
     }
     for (Rule rule : langTool.getAllActiveRules()) {
         if (rule instanceof SpellingCheckRule) {
           List<String> wordsToIgnore = Arrays.asList("specialword", "myotherword");
           ((SpellingCheckRule)rule).addIgnoreTokens(wordsToIgnore);
         }
     }
     for (Rule rule : langTool.getAllActiveRules()) {
         if (rule instanceof SpellingCheckRule) {
           ((SpellingCheckRule)rule).acceptPhrases(Arrays.asList("foo bar", "producct namez"));
         }
     }
  }
  private static void testChinese() throws IOException
  {
  JLanguageTool langTool = new JLanguageTool(new Chinese());
     List<RuleMatch> matches = langTool.check("泰山OFFICE要与WORD媲美!");
     for (RuleMatch match : matches) {
       System.out.println("可能拼写错误 " +
           match.getFromPos() + "-" + match.getToPos() + ": " +
           match.getMessage());
       System.out.println("建议修正(s): " +
           match.getSuggestedReplacements());
     }     
  }
  public static void main(String[] args)
  {
  try
  {
    long startTime = System.currentTimeMillis();
    testEnglish();
    System.out.println("testEnglish() cost="+(System.currentTimeMillis()-startTime));
    testChinese();
    System.out.println("testChinese() cost="+(System.currentTimeMillis()-startTime));
  }
  catch (Exception e)
  {
    e.printStackTrace();
  }
  }
}
目录
相关文章
|
1月前
|
设计模式 算法 前端开发
有什么可以减少注释,但依然能让他人看得懂代码的方法吗?
有什么可以减少注释,但依然能让他人看得懂代码的方法吗?
36 0
|
7月前
|
机器学习/深度学习 编译器 C++
C++模板元模板实战书籍讲解第一章(顺序、分支与循环代码的编写)--续篇
C++模板元模板实战书籍讲解第一章(顺序、分支与循环代码的编写)--续篇
66 0
|
NoSQL Java 数据库
解释afterPropertiesSet方法的用处
解释afterPropertiesSet方法的用处
|
前端开发 开发者
评论列表案例-演示艾特符号替代相对路径的好处|学习笔记
快速学习评论列表案例-演示艾特符号替代相对路径的好处
444 0
|
Java Maven
编写一个 spootboot 程序,有二个方法,一个问早上好,一个说再见
编写一个 spootboot 程序,有二个方法,一个问早上好,一个说再见
121 0
if引导的选择语句,解释和例子
if引导的选择语句,解释和例子
87 0
|
缓存 Shell 开发工具
Shell脚本编程实践——第4关:编写一个脚本,计算txt文件中每一行单词的个数并将结果写入另一个文件
Shell脚本编程实践——第4关:编写一个脚本,计算txt文件中每一行单词的个数并将结果写入另一个文件
898 0
|
前端开发
评论列表案例-演示艾特符号替代相对路径的好处
评论列表案例-演示艾特符号替代相对路径的好处
|
缓存 API
如何写出高质量的代码 data 组件 函数 注释 命名 变量的次数
如何写出高质量的代码 data 组件 函数 注释 命名 变量的次数
|
Python
5. Python 循环的本质就是一段代码懒得重复写
5. Python 循环的本质就是一段代码懒得重复写
191 0