メインコンテンツへスキップ

Gradioで作る!英作文の自動添削アプリ

✍️Gradioで作る!英作文の自動添削アプリ(language_tool_python使用)

🚀 はじめに

このページでは、Gradioとlanguage_tool_pythonを使って、英作文を自動添削してくれる簡単なWebアプリを作成します。
ユーザーが英文を入力すると、スペルや文法のミスをチェックして指摘してくれる仕組みです。

ポイント:

  • HuggingFaceや重たいライブラリは不要

  • オフラインでも動作(言語パックは初回DLのみ)

  • VSCodeでそのままPythonスクリプトとして動かせる

  • GradioのUI操作も自然に学べる!


🧰 必要な環境

前提環境

  • OS:Windows 10/10 または 11

  • PythonPython:3.8 3.8以降(以降(インストール済)

  • VSCode(インストール済)VSCode:インストール済(任意だが作業しやすいため推奨)

Javaランタイム(JRE):インストール必須!

    language_tool_pythonは内部でJavaベースの文法チェッカーを使用します

    仮想環境は使わなくてもOK(任意)Oracle JDK または OpenJDK 17以降 をインストールしてください(詳細は後述)

    Javaが未インストールだと以下のようなエラーになります

    ModuleNotFoundError: No java install detected. Please install java to use language-tool-python.
    

    使用ライブラリ

    • gradio(UI)

    • language_tool_python(英文の文法チェック)


    📦 ステップ① ライブラリのインストール

    まずは必要なライブラリをインストールします。
    VSCodeのターミナル(PowerShellやcmd)で以下を実行してください。

    pip install gradio language-tool-python
    

    初回使用時にLanguageToolの言語モデルがダウンロードされます(英語モデルは比較的軽量です)。


    📝 ステップ② Pythonスクリプトを作成

    以下のコードをgrammar_checker.pyとして保存します。

    import gradio as gr
    import language_tool_python
    
    # LanguageToolの英語インスタンスを作成
    tool = language_tool_python.LanguageTool('en-US')
    
    def check_grammar(text):
        # エラーの指摘を取得
        matches = tool.check(text)
    
        if not matches:
            return "✅ 文法上の問題は見つかりませんでした!"
    
        # 各エラーを表示形式にまとめる
        results = []
        for match in matches:
            results.append(f"❌ {match.message}\n→ 誤り部分: 『{text[match.offset:match.offset + match.errorLength]}』\n提案: {', '.join(match.replacements)}\n")
    
        return "\n\n".join(results)
    
    # Gradioのインターフェース
    demo = gr.Interface(
        fn=check_grammar,
        inputs=gr.Textbox(lines=5, placeholder="ここに英文を入力してください", label="英作文"),
        outputs=gr.Textbox(label="添削結果"),
        title="英作文 自動添削アプリ",
        description="英文を入力すると文法やスペルミスをチェックしてくれるツールです。",
    )
    
    # アプリ起動
    demo.launch()
    

    🖥 ステップ③ 実行してアプリを起動

    保存後、VSCodeのターミナルで以下を実行します:

    python grammar_checker.py
    

    ブラウザが自動で立ち上がり、http://127.0.0.1:7860でアプリが表示されます。


    🔍 使い方とサンプル

    例えば、次のような文章を入れてみましょう:

    He go to school every day.
    

    → 出力例:

    ❌ Did you mean 'goes'?
    → 誤り部分: 『go』
    提案: goes
    

    🎁 発展アイデア(+5分)

    • ✅ チェック対象言語を英語だけでなく日本語などに切り替え(LanguageTool('ja-JP')

    • 📝 添削後の文章を自動で修正提案(tool.correct(text)で全自動修正)

    • 📋 チェック内容を表形式で出力(gr.DataFrameの出力に対応可能)


    🏁 おわりに

    GradioとLanguageToolの組み合わせは、

    • 軽い

    • ローカルで完結

    • 使って楽しい

    という点で初心者にもぴったり。今回のように、**「ユーザーが入力 → AIが応答」**という基本パターンをマスターすれば、他のアプリにも応用しやすいです。

    気に入ったら、今度は「要約」や「翻訳」などのテーマにも挑戦してみてね!