Class OpenNMTRule

java.lang.Object
org.languagetool.rules.Rule
org.languagetool.rules.OpenNMTRule

@Experimental public class OpenNMTRule extends Rule
Queries an OpenNMT server started like this: th tools/rest_translation_server.lua -replace_unk -model ...
  • Field Details

    • defaultServerUrl

      private static final String defaultServerUrl
      See Also:
    • serverUrl

      private final String serverUrl
    • mapper

      private final com.fasterxml.jackson.databind.ObjectMapper mapper
  • Constructor Details

    • OpenNMTRule

      public OpenNMTRule(String serverUrl)
      Parameters:
      serverUrl - URL of the OpenNMT server, like http://127.0.0.1:7784/translator/translate
    • OpenNMTRule

      public OpenNMTRule()
      Expects an OpenNMT server running at http://127.0.0.1:7784/translator/translate
  • Method Details

    • getId

      public String getId()
      Description copied from class: Rule
      A string used to identify the rule in e.g. configuration files. This string is supposed to be unique and to stay the same in all upcoming versions of LanguageTool. It's supposed to contain only the characters A-Z and the underscore.
      Specified by:
      getId in class Rule
    • getDescription

      public String getDescription()
      Description copied from class: Rule
      A short description of the error this rule can detect, usually in the language of the text that is checked.
      Specified by:
      getDescription in class Rule
    • match

      public RuleMatch[] match(AnalyzedSentence sentence) throws IOException
      Description copied from class: Rule
      Check whether the given sentence matches this error rule, i.e. whether it contains the error detected by this rule. Note that the order in which this method is called is not always guaranteed, i.e. the sentence order in the text may be different than the order in which you get the sentences (this may be the case when LanguageTool is used as a LibreOffice/OpenOffice add-on, for example).
      Specified by:
      match in class Rule
      Parameters:
      sentence - a pre-analyzed sentence
      Returns:
      an array of RuleMatch objects
      Throws:
      IOException
    • detokenize

      private String detokenize(String translation)
    • getFirstDiffPosition

      int getFirstDiffPosition(String text1, String text2)
    • getLastDiffPosition

      int getLastDiffPosition(String text1, String text2)
    • getLeftWordBoundary

      int getLeftWordBoundary(String text, int pos)
    • getRightWordBoundary

      int getRightWordBoundary(String text, int pos)
    • createJson

      private String createJson(AnalyzedSentence sentence) throws com.fasterxml.jackson.core.JsonProcessingException
      Throws:
      com.fasterxml.jackson.core.JsonProcessingException
    • postToServer

      @NotNull private @NotNull HttpURLConnection postToServer(String json, URL url) throws IOException
      Throws:
      IOException