自然言語処理を学んでいる人なら、ドイツ語の文法チェックが必要になることがあります。Pythonのライブラリlanguage-tool-pythonは、LanguageToolというドイツ語の文法チェックに特化したAPIを提供しています。このライブラリを使うと、ドイツ語の文章に対して文法エラーを検出し、修正案を提案することができます。

インストール

language-tool-pythonをインストールするには、次のコマンドを実行します。

pip install language-tool-python

また、LanguageToolを使うためには、Javaが必要です。

使い方

LanguageToolを使うには、まずLanguageToolのサーバーを起動する必要があります。

from language_tool_python import LanguageTool

tool = LanguageTool('de-DE')

上記の例では、LanguageToolのサーバーをドイツ語 (de-DE) に設定しています。

次に、チェックしたい文章を入力して、check()メソッドを呼び出します。

text = 'Ich habe einen Apfel.'
matches = tool.check(text)

for match in matches:
    print(match.ruleId, match.replacements)

上記の例では、ドイツ語の文章「Ich habe einen Apfel.」に対して文法チェックを行い、修正案を提案しています。check()メソッドは、修正案をリスト形式で返します。修正案がない場合は、空のリストが返されます。

結果の解釈

LanguageToolが返す修正案には、修正箇所や修正案の詳細が含まれます。例えば、次のような文法エラーが検出された場合、

Ich habe eine Apfel. -> Ich habe einen Apfel.

修正案として、「eineeinenに変更する」という提案がされます。このように、match.replacementsには修正案が含まれています。

また、match.ruleIdには、どのルールに基づいて修正案が提案されたのかが含まれています。例えば、上記の場合は「Gender_Mismatch」というルールに基づいて修正案が提案されています。

注意点

LanguageToolは、APIを通じて文法チェックを行うため、インターネット接続が必要です。また、LanguageToolのサーバーは無料で利用できますが、制限があるため、大量の文章に対して一度にチェックすることはできません。