🇹🇼 台湾華語効率化Anki開発日記

Ankiの重複カードを「単語+発音」で安全に削除できるアドオンを作りました

StashLogからAnkiへ何度も出力していると、便利な一方で同じカードが増えてしまうことがあります。特に台湾華語では、単語だけで重複判定すると危ない場面が多いので、複数フィールドを見て安全に整理できるAnkiアドオンを作りました。

I
ITコンサルタント yw台湾在住のITコンサルタント / StashLog 開発者
2026-05-22読了 約8分

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を押すことで削除前の状態に戻せます。もちろん、事前にバックアップを取っておくのが一番安全ですが、戻せる設計にしておくことはかなり重要だと思っています。

使い方

  1. 1Ankiのメニューから Tools → Multi-Field Duplicate Remover を開く
  2. 2Select Note Type で整理したいノートタイプを選ぶ
  3. 3Select Fields で重複判定に使うフィールドへチェックを入れる。台湾華語ならHeadwordとZhuyinのような組み合わせがおすすめ
  4. 4Which note should be KEPT? で残す基準を選ぶ。迷ったらLonger Intervalがおすすめ
  5. 5Scan Duplicates をクリックする
  6. 6プレビュー画面でKEEPとDELETEの一覧を確認する
  7. 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
AnkiWebhttps://ankiweb.net/shared/info/1203306800

公式ページはこちらです。AnkiWeb Shared Add-ons: Multi-Field Duplicate Remover

まとめ

重複削除は地味ですが、Ankiを長く使うほど効いてくるメンテナンス作業です。特に台湾華語のように、同じ漢字でも発音や意味が変わる言語では、単語フィールドだけを見て削除するのはかなり危険です。

Multi-Field Duplicate Removerは、単語、発音、意味などを組み合わせて、完全に重なっているカードだけを狙って整理するために作りました。StashLogからAnkiへ頻繁に出力している人ほど、デッキの掃除に役立つはずです。

StashLog で続きを

記事で学んだ注音・繁体字フレーズを、
そのままAnkiにエクスポートしよう

StashLogのVocabulary機能に繁体字を登録するだけで、注音・音声・日本語訳付きのAnkiデッキがワンタップで完成。ピンインではなく台湾式の注音で定着させる、ガチ学習者のためのツールです。

無料でAnkiデッキを作るクレジットカード不要 · 永久無料プランあり
I

ITコンサルタント yw

台湾在住のITコンサルタント / StashLog 開発者

台湾在住5年。台湾華語を独学している経験から、「自分が本当に欲しい学習ツール」としてStashLogを開発。注音・繁体字での学習にこだわる理由を、日々ブログと開発で発信中。