# TSL・EJDict統合英単語JSON

作成日: 2026-10-04

## ファイル

- `tsl_ejdict_words.json`: Webサイト用の完成データ。TSL全1,250語を収録。
- `unmatched_words.json`: EJDictに一致しなかった67語の一覧。AIで補完した訳と `meaning_source: "ai"` を収録。完成データから該当67語を抽出したもので、現在の訳の欠損一覧ではありません。
- `README.md`: 出典、変換仕様、件数、ライセンス。

## 使用データと出典

### TOEIC Service List (TSL) 1.2

- 単語選定・統計情報の元データとして、提供された `TSL_1.2_stats.csv`（TSL 1.2 list with basic statistics）を使用。
- 著者: Charles Browne / Brent Culligan。
- 公式ページ: https://www.newgeneralservicelist.com/toeic-service-list
- ライセンス: Creative Commons Attribution-ShareAlike 4.0 International（CC BY-SA 4.0）。
- ライセンス本文: https://creativecommons.org/licenses/by-sa/4.0/

### EJDict-hand

- 日本語訳データとして、提供された `ejdict.json` を使用。英語見出し語をキー、訳文文字列を値とするオブジェクトで、47,010項目。
- 配布元: くじらはんど。
- 配布ページ: https://kujirahand.com/web-tools/EJDictFreeDL.php
- リポジトリ: https://github.com/kujirahand/EJDict
- ライセンス: Public Domain / CC0。同梱READMEの表示を確認。
- CC0: https://creativecommons.org/publicdomain/zero/1.0/

Webの参照は出典・ライセンス確認のために行いました。単語・統計とEJDict由来の訳文は提供された2ファイルから取得しました。その後、ユーザーの依頼により、未照合67語だけにAI生成訳を追加しました。

## 変換内容

TSLとEJDictを統合し、JSON形式への変換および日本語訳の付与を行いました。2026-10-04にEJDict未照合語のAI訳補完と由来フィールドの追加を行いました。

- TSLの `Word` → `word`、`TSL Rank` → `rank`、`SFI` → `sfi`、`U` → `u` と対応付け。
- TSLの単語表記と行順を保持。数値はJSONの数値型として保存し、値を保持。数値表記上の末尾ゼロは変わることがあります。
- 入力CSVはUTF-8ではなく、非ASCII文字は `résumé`、`café`、`entrée` の `é`（バイト0xE9）でした。これを保持するためWindows-1252で読み込みました。このファイルの文字範囲ではISO-8859-1でも同じ結果です。
- 例外: 元CSVで `correctly`（rank 47）、`birthday`（104）、`textbook`（302）、`semester`（308）、`ma'am`（725）のSFIとUが `#N/A` です。この5語・10フィールドは欠損値として `null` にしました。0や推測した数値には変換していません。有効な値はすべて数値型、rankは全件整数です。
- 照合時だけ見出し語を小文字化し、完全一致で検索。語形変化、アクセント除去、ハイフン変更、類似語・派生語による補完はしません。
- TSLにない単語は出力しません。EJDictから取得できなかった67語に限り、学習用に簡潔で一般的な意味を優先したAI生成訳を付与しました。複数の主要な意味は必要最小限を併記しています。
- EJDict由来の1,183語の訳文は更新前と完全に同一で、要約・書き換えはしていません。辞書内の参照表記（`=...` 等）も展開せず原文を保持。
- 全レコードに `meaning_source` を追加。`"ejdict"` はEJDict由来の訳、`"ai"` はAIが生成した訳を示します。AI訳はEJDictの収録内容ではありません。
- 大文字小文字を無視すると複数の見出し語に一致する場合、異なる訳文を辞書の出現順に改行で連結。同一の訳文文字列だけを重複排除します。元の文字列内の意味・記号・改行は維持します。
- 複数の訳文を連結した単語は8語: lab, cab, superior, polish, pan, pole, arc, foster。大文字表記に固有の人名・固有名詞・略語の意味も、指定された照合ルールに従って含まれます。
- TSL内の重複は大文字小文字を無視して確認しましたが、該当なし。EJDictの完全に同じキーの重複もありませんでした。
- 出力はUTF-8（BOMなし）、通常のJSON配列。コメント、JavaScriptコード、外部ファイル参照は含みません。

## 件数

| 項目 | 件数 |
| --- | ---: |
| TSL総単語数（入力行数、ヘッダーを除く） | 1,250 |
| 完成JSONの単語数 | 1,250 |
| EJDictから日本語訳を取得できた単語数（meaning_source: ejdict） | 1,183 |
| EJDict未照合・AI訳を追加した単語数（meaning_source: ai） | 67 |
| 補完後にmeaningが空の単語数 | 0 |
| TSLの重複除去数 | 0 |

「取得できた」は一致するEJDict項目に空でない訳文があったことを示します。訳文の品質や言語を推測して分類した件数ではありません。

## 学習難易度（level）

2026-10-04に全1,250語へ整数の `level`（1〜5）を追加しました。AIによる教育用の推定で、CEFRや公式の検定級に対応する認定値ではありません。

一般的な使用頻度、日本の学習者にとっての馴染みやすさ、抽象度、意味の理解しやすさ、ビジネス・経済・契約等の専門性、語形・スペルを総合的に判断しました。使用頻度は一般的な言語知識による定性的な判断で、新しい頻度コーパスの測定値ではありません。TSL Rankは頻出度・重要度として保持し、順位の区間やSFI・Uだけから難易度を算出していません。

語の主要な一般的意味を学ぶ難しさを基準とし、EJDictの長い訳文や大文字表記に由来するまれな語義だけを理由に難しくしていません。カタカナ語として馴染みのある具体語は比較的易しく、抽象語・専門語は高めに評価しました。専門分野や個人の経験によって実際の難しさは変わります。

| Level | 基準 | 単語数 |
| --- | --- | ---: |
| 1 | 非常に基本的な語 | 203 |
| 2 | 基本〜初級 | 397 |
| 3 | 中級 | 328 |
| 4 | 中上級 | 247 |
| 5 | 難しい・専門性の高い語 | 75 |

この単語集の構成を反映した分布で、各Levelの件数を均等にするための調整は行っていません。例: `airport` は1、`receipt` は2、`applicant` は3、`invoice` は4、`consignment` は5。

`unmatched_words.json` のAI補完67語にも、完成JSONと同じlevelを付与しました。更新前後を比較し、level以外の全フィールド（単語、順位、統計値、訳文、訳の由来）が完全に同一であることを確認しました。元CSV由来の統計欠損値 `null` も保持しています。

## JavaScriptからの利用

```javascript
const response = await fetch('./tsl_ejdict_words.json');
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const words = await response.json();
console.log(words[0].word, words[0].meaning);
```

Webサーバー上で利用してください。動作に必要なデータは `tsl_ejdict_words.json` のみで、元CSVやEJDictを配置する必要はありません。公開・再配布時の出典とライセンス表示には、このREADMEまたは同等の表示を添えてください。`meaning` は辞書の平文として扱い、画面表示には `textContent` 等を使用できます。

## 完成データのライセンス

**`tsl_ejdict_words.json` のライセンスは CC BY-SA 4.0 です。**

`unmatched_words.json` もCC BY-SA 4.0で提供します。TSLの著者Charles Browne / Brent Culligan、上記出典、ライセンスリンク、および本統合・変換内容を表示してください。改変して共有する場合もCC BY-SA 4.0の条件に従ってください。原典EJDict-handのPublic Domain / CC0という位置付けは変わりません。

## 検証と入力の識別

初回変換でTSLと辞書原文との一致を確認しました。AI訳追加時には、出力JSONの再読み込み、更新前との単語・順序・統計値の一致、EJDict由来1,183語の訳文が変更されていないこと、AI訳が未照合67語に限定されること、由来ラベル、空のmeaningが0件であること、UTF-8（BOMなし）を確認しました。

入力ファイルのSHA-256:

- `TSL_1.2_stats.csv`: `2259df25a1077b04067ef0c0e9e4c98b46c91e4d539741dfaceba88651ff486d`
- `ejdict.json`: `74bf048fddee2d5bad426f81cc2c10374ae7d8007d7f8550bf42d86c61614e2b`
