自然言語処理を学んでいる人なら、ドイツ語の文法チェックが必要になることがあります。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.
修正案として、「eineをeinenに変更する」という提案がされます。このように、match.replacementsには修正案が含まれています。
また、match.ruleIdには、どのルールに基づいて修正案が提案されたのかが含まれています。例えば、上記の場合は「Gender_Mismatch」というルールに基づいて修正案が提案されています。
注意点
LanguageToolは、APIを通じて文法チェックを行うため、インターネット接続が必要です。また、LanguageToolのサーバーは無料で利用できますが、制限があるため、大量の文章に対して一度にチェックすることはできません。