В LanguageTool, как вы создаете словарь и используете его для проверки орфографии?

Как создать словарь для проверки орфографии с помощью Language Tool? Я не программист на Java, и я впервые увидел LT.

1 ответ

Решение

Здравствуйте, это мой опыт создания словаря для проверки орфографии с помощью Language Tool! Надеюсь, тебе понравится.

Часть 1: Как создать словарь

Тебе нужно:

•.txt файл со словарем внутри

•.info-файл, определяющий информацию о том, как установить выходной файл LT (он уже присутствует в каталоге LT).

• LanguageTool автономная версия

• Java 8

В конце этого раздела вы будете иметь:

• файл.dict, т.е. файл с вашим словарем в удобочитаемой форме для LT

  1. Установите последнюю версию LT: https://languagetool.org/download/snapshots/?C=M;O=D
  2. Убедитесь, что ваш.txt имеет правильный формат (а) и кодировку (б): а. 1 слово в строке b. Кодировка UTF8
  3. В командной строке напишите: java -cp languagetool.jar org.languagetool.tools.SpellDictionaryBuilder fr_FR -i путь к файлу словаря -info путь к файлу.info -o путь к выходному файлу

где:

я. fr_FR - код, связанный с языком словаря

II. –I это параметр входного файла (ваш.txt)

III. –Info - это параметр файла.info, относящийся к словарю. Вы можете создать его, следуя этим инструкциям ( http://wiki.languagetool.org/hunspell-support - раздел "Настройка словаря") или использовать уже существующий.info - если он есть - в \ org \ languagetool \ resource \ yourlanguage

внутривенно –O это параметр для указания, где вы хотите сохранить выходной файл.dict


Часть 2: Как интегрировать словарь на LT для проверки орфографии

Тебе нужно:

• JDK 1.8 ( http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)

• Maven ( https://maven.apache.org/download.cgi)

• IDE для Java (JetBrains, Eclipse и т. Д.)

•.info файл + .dict файл (см. Часть1)

• проект GitHub LanguageTool ( https://github.com/languagetool-org/languagetool)

  1. Установите путь к корзине JDK и Maven (дополнительная информация: https://maven.apache.org/install.html).
  2. Скопируйте файлы.info и.dict, созданные в part1, в папку \languagetool-master\languagetool-language-modules\YourLanguage\src\main\resources\org\languagetool\resource\YourLanguage\hunspell
  3. Откройте в вашей среде IDE файл Java, называемый языком вашего словаря (например, French.java):

а. Измените HunspellNoSuggestionRule в YourLanguage.java на MorfologikYourLanguageSpellerRule

 @Override
  public List<Rule> getRelevantRules(ResourceBundle messages) throws IOException {
    return Arrays.asList(
new CommaWhitespaceRule(messages),
new DoublePunctuationRule(messages),
new GenericUnpairedBracketsRule(messages,
Arrays.asList("[", "(", "{" /*"«", "‘"*/),
Arrays.asList("]", ")", "}"
/*"»", French dialog can contain multiple sentences. */
/*"’" used in "d’arm" and many other words */)),
new MorfologikYourLanguageSpellerRule(messages, this),
new UppercaseSentenceStartRule(messages, this),
new MultipleWhitespaceRule(messages, this),
new SentenceWhitespaceRule(messages),
// specific to French:
new CompoundRule(messages),
new QuestionWhitespaceRule(messages)
);
}

б. Создайте новый MorfologikYourLanguageSpellerRule.java в \languagetool-master\languagetool-language-modules\YourLanguage\src\main\java\org\languagetool\rules\YourLanguage:

/* LanguageTool, a natural language style checker
 * Copyright (C) 2012 Marcin Miłkowski (http://www.languagetool.org)
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301
 * USA
 */

package org.languagetool.rules.fr;

import java.io.IOException;
import java.util.ResourceBundle;

import org.languagetool.Language;
import org.languagetool.rules.spelling.morfologik.MorfologikSpellerRule;

public final class MorfologikYourLanguageSpellerRule extends MorfologikSpellerRule {

    public static final String RULE_ID = "MORFOLOGIK_RULE_CODEOFYOURLANGUAGE"; /* for ex. Fr_FR for French */

    private static final String RESOURCE_FILENAME = "PATH TO YOUR .DICT FILE";

    public MorfologikFrenchSpellerRule(ResourceBundle messages,
                                      Language language) throws IOException {
    super(messages, language);
  }

    @Override
    public String getFileName() {
        return RESOURCE_FILENAME;
    }

    @Override
    public String getId() {
        return RULE_ID;
    }
}

с. Перейдите в \ languagetool-master \ с помощью командной строки и напишите: Mvn package

д. Смотрите результаты в \languagetool-master\languagetool-standalone\target\LanguageTool-3.4-SNAPSHOT\LanguageTool-3.4-SNAPSHOT.

В качестве альтернативного решения я создал программу с графическим интерфейсом, чтобы упростить выполнение того, что ответил @KeyPi. Вы можете найти это здесь.

Другие вопросы по тегам