AIが書いた日本語に出やすい単語や言い回しを見つけ、利用者自身の推敲を助ける静的Webアプリです。AIが書いた確率や根拠のない総合スコアは表示しません。
本文と形態素解析はブラウザ内で完結します。外部API、ログ、アクセス解析、URL、永続ストレージには本文を送りません。
「点検する表現を選ぶ」から、文脈に合う表現の指摘を個別にオン・オフできます。表現名で検索でき、一括切り替えも可能です。オン・オフ設定だけをブラウザに保存します。
npm install
npm run devnpm test
npm run build
npm run test:e2enpm test: 実IPADICを使う検出・位置情報・失敗系テストnpm run build: TypeScript型検査と本番ビルドnpm run test:e2e: ChromiumでWorker、UI連携、原文のHTML非解釈、モバイル横幅を検証
- Vite + TypeScript + HTML/CSS
lindera-wasm@6.0.0+ IPADIC 6.0.0- WASM初期化と解析をWeb Worker内で実行し、初期化済みTokenizerを再利用
- LinderaのUTF-8バイト位置をDOM用のUTF-16位置へ変換
- 表現辞書と検出器を形態素解析から分離
IPADICの dict.words はCloudflare Pagesの1ファイル25 MiB制限を超えるため、内容を変えず3ファイルへ分割しています。Workerで取得後に結合します。
Cloudflare Pagesの設定は次のとおりです。
- Build command:
npm run build - Build output directory:
dist - 公開前にプレビューデプロイでWorkerと全辞書ファイルの取得を確認
このプロジェクト独自のコードと文書はMIT Licenseです。第三者コンポーネントはMITへ再許諾せず、それぞれの条件を維持します。
表現ルールは textlint-rule-preset-ai-words-ja@1.2.1 を移植しています。Lindera、WASM内部のRust依存、表現ルール、IPADIC、Viteのライセンスと告知はTHIRD_PARTY_NOTICES.mdおよび public/ 配下に同梱しています。特にIPADICは、Lindera配布版の不完全な告知を原版の完全なCOPYINGで補っています。調査結果と更新時の注意事項はライセンス監査を参照してください。
表現辞書と検出方法を公開されたp1ass氏に感謝します。