StashLogから何度も出力すると、Anki側に重複がたまる
StashLogでは、Vocabularyに登録した単語や表現をAnki向けに出力できます。気になった語彙を見つけたタイミングでどんどん追加して、あとからAnkiで復習できるのはかなり便利です。
ただ、実際に使い続けていると別の問題が出てきました。何度もエクスポートしているうちに、すでにAnkiへ入れた単語をもう一度出力してしまい、デッキ内に重複カードが増えてしまうことがあります。
英単語のように、単語フィールドだけを見れば大体判断できるケースもあります。ですが台湾華語ではそう単純ではありません。同じ繁体字でも、注音や意味が違えば別カードとして残したいことがあるからです。
単語だけで消すのは危険
台湾華語のデッキでは、Headwordだけが一致しているカードを機械的に削除すると、本来残すべきカードまで消してしまう可能性があります。
標準の重複チェックだけでは足りなかった理由
Ankiの標準機能や一般的な重複削除アドオンは、基本的に1つのフィールドを中心に重複を探します。たとえばHeadwordだけを見て、同じ文字列のノートを重複として扱うようなイメージです。
でも台湾華語の学習では、見た目の漢字だけではカードの同一性を決められません。発音、注音、意味、例文、文脈まで含めて、ようやく「これは同じカードだ」と判断できることが多いです。
| 判定方法 | 何が起きるか | 台湾華語デッキでのリスク |
|---|---|---|
| Headwordだけ | 同じ漢字のカードを重複扱いする | 発音や意味が違うカードまで削除候補になる |
| Headword+Zhuyin | 漢字と発音が両方一致したカードだけ重複扱いする | 同字異音のカードを残しやすい |
| Headword+Zhuyin+Meaning | 意味まで一致したものだけ重複扱いする | より厳密に完全重複だけを狙える |
この問題を解決するために作ったのが、Ankiアドオン Multi-Field Duplicate Remover です。名前の通り、複数フィールドの組み合わせで重複を判定できます。
Multi-Field Duplicate Removerでできること
1. 重複判定に使うフィールドを自由に選べる
このアドオンでは、ノートタイプを選んだあと、重複判定に使うフィールドをチェックボックスで選択できます。1つだけ選べば通常の重複チェックとして使えますし、2つ選べば「単語+発音」、3つ選べば「単語+発音+意味」のように判定条件を細かくできます。
- 英語デッキ: wordだけ、またはphrase+meaningで判定
- 台湾華語デッキ: Headword+Zhuyinで判定
- 専門用語デッキ: term+definition+sourceで判定
2. どのノートを残すか選べる
重複が見つかったときに、どのノートを残すかも選べます。単に先頭の1件を残すのではなく、学習履歴を壊しにくいルールを用意しました。
| Keep Rule | 残すノート | 向いている使い方 |
|---|---|---|
| Oldest Note | 一番古く作成されたノート | 最初に作ったカードを正としたい場合 |
| Newest Note | 一番新しく作成されたノート | 最近作り直したカードを優先したい場合 |
| Longer Interval | 紐づくカードの中で最も復習間隔が長いノート | 育ったカードの学習スケジュールを守りたい場合 |
おすすめはLonger Interval
すでに何度も復習して間隔が伸びているカードは、学習履歴として価値があります。迷ったらLonger Intervalを選ぶと、育ったカードを残しやすくなります。
3. 削除前にプレビューで確認できる
重複削除で一番怖いのは、意図しないカードがまとめて消えてしまうことです。このアドオンでは、Scan Duplicatesを押してもすぐには削除されません。
まずプレビュー画面が開き、どのノートがKEEPとして残り、どのノートがDELETEとして削除対象になるのかをNote ID付きで確認できます。内容に納得してから Yes, Delete Them を押す流れなので、機械的に一発削除される不安を減らせます。
4. 実行直後ならCtrl + Zで戻せる
削除処理はAnkiのチェックポイント機能に対応しています。実行直後であれば、Anki画面でCtrl + Zを押すことで削除前の状態に戻せます。もちろん、事前にバックアップを取っておくのが一番安全ですが、戻せる設計にしておくことはかなり重要だと思っています。
使い方
- 1Ankiのメニューから Tools → Multi-Field Duplicate Remover を開く
- 2Select Note Type で整理したいノートタイプを選ぶ
- 3Select Fields で重複判定に使うフィールドへチェックを入れる。台湾華語ならHeadwordとZhuyinのような組み合わせがおすすめ
- 4Which note should be KEPT? で残す基準を選ぶ。迷ったらLonger Intervalがおすすめ
- 5Scan Duplicates をクリックする
- 6プレビュー画面でKEEPとDELETEの一覧を確認する
- 7問題なければ Yes, Delete Them をクリックして完了
StashLogユーザー向けの使い方
StashLogから台湾華語デッキを何度も出力している場合は、HeadwordとZhuyinを重複条件にすると、同じ漢字でも発音が違うカードを残しながら整理しやすくなります。
StashLog — My Stash機能
この記事で紹介した注音の単語を、そのままAnkiにエクスポートしよう
繁体字・注音・日本語訳・音声付きのAnkiデッキをワンタップで生成。ピンインなしの台湾式カードで定着率が大幅アップ。
こういう人に向いています
- StashLogやCSVからAnkiへ頻繁にインポートしている人
- 台湾華語、中国語、英語のコロケーション、多義語などをAnkiで管理している人
- 同じ単語でも発音や意味が違うカードを別物として残したい人
- 既存の重複削除ツールで、消したくないカードまで消えそうで不安だった人
- 復習間隔が育ったカードをなるべく残したいAnkiヘビーユーザー
導入方法
アドオンはAnkiWebで公開しています。Ankiのアドオン追加画面から、以下のコードを入力するとインストールできます。
| 項目 | 内容 |
|---|---|
| アドオン名 | Multi-Field Duplicate Remover |
| アドオンコード | 1203306800 |
| AnkiWeb | https://ankiweb.net/shared/info/1203306800 |
公式ページはこちらです。AnkiWeb Shared Add-ons: Multi-Field Duplicate Remover
まとめ
重複削除は地味ですが、Ankiを長く使うほど効いてくるメンテナンス作業です。特に台湾華語のように、同じ漢字でも発音や意味が変わる言語では、単語フィールドだけを見て削除するのはかなり危険です。
Multi-Field Duplicate Removerは、単語、発音、意味などを組み合わせて、完全に重なっているカードだけを狙って整理するために作りました。StashLogからAnkiへ頻繁に出力している人ほど、デッキの掃除に役立つはずです。