トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

LanguageTool使い方メモ

LanguageTool

LanguageToolはJavaによって実装された文法チェッカーです。さまざまな言語に対応しています。

  日本語対応

日本語対応はTakahiro Shinkaiさんの手によって行われました。日本語処理はGoSenとIPADICを用いています。GoSenはJavaによるMeCabの再実装です。

  仕組み

GoSenとIPADICによって対象の文章を形態素解析し、単語と品詞情報をルールに照らし合わせて、マッチしたものを出力します。

単純なルールはXMLによって記述します。XMLで記述しきれないような、複雑な場合の処理はJavaのコードで対応します。今のところ、日本語に対応したXMLのルールは少なく、Javaルールはまだ存在していません。

  使い方

LanguageToolの実行環境は以下の3種類があります。

  • LibreOffie/OpenOfficeプラグイン
  • コマンドライン(スタンドアロン版)
  • Firefoxプラグイン

ここではスタンドアローン版の使い方について解説します。

ダウンロード

トップページよりスタンドアローン版のzipを入手します(http://www.languagetool.org/download/LanguageTool-x.y.zip)

ファイルの展開

unzipコマンド等で入手したファイルを展開します。LanguageTool-x.yというディレクトリ以下にファイルが生成されます。

起動

コマンドラインで以下のように入力します。

$ java -jar languagetool-commandline.jar --help

実行例

$ java -jar languagetool-commandline.jar -v -l ja-JP -c UTF-8 file.txt

UTF-8で記述されたファイルfile.txtを日本語として処理する。解析結果を標準エラー出力に表示する(-v)。

実行例2

echo "そんじゃそこらのやつらとは違う" | java -jar languagetool-commandline.jar -l ja-JP -c UTF-8 -

Expected text language: Japanese

Working on STDIN...

1.) Line 1, column 1, Rule ID: SONJASOKORA[1]

Message: そんじょそこら

そんじゃそこらのやつらとは違う

^^^^^^^

Time: 323ms for 1 sentences (3.1 sentences/sec)

実行例2

-t(タギング)オプションを使うことで、入力された文章がどのように形態素解析されるかを確認できる。

$ echo "日本語の文章をタグ付" | java -jar languagetool-commandline.jar -t -l ja-JP -c UTF-8

Expected text language: Japanese

Working on STDIN...

<S> 日本語[日本語/名詞-一般,]の[の/助詞-連体化,]文章[文章/名詞-一般,]を[を/助詞-格助詞-一般,]タグ[タグ/名詞-一般,]付[付/名詞-接尾-一般,</S>,]

Time: 502ms for 0 sentences (0.0 sentences/sec)

その他のオプションについてはLanguageToo Wikiを参照。

  grammer.xml

languagetool-commandline.jarファイルがあるディレクトリ上のorg/languagetool/rules/ja/grammer.xml が文法辞書になる。エントリーを追加して確認する場合はこのファイルを変更するか、--rulefileオプションで変更したルールファイルを指定する。

エントリー例

<rule id="DOUBLE-WO" name="をを">

<pattern case_sensitive="no">

<token>を</token>

<token>を</token>

</pattern>

<message>重複したを</message>

<example type="correct"><marker>を</marker>話す</example>

<example type="incorrect"><marker>をを</marker>話す</example>

</rule>

  ルールのテスト

exampleタグはルールのテストに用いられる。日本語のルールのみをテストする場合は以下を実行する。

$ mvn --projects languagetool-language-modules/ja --also-make clean test

  ToDo

  • Version 3.0の書式に合わせる
  • grammer.xmlを充実させる
    • 書式を理解する
    • サンプルを増やす