Ankiにデータをまとめて取り込む
2014-09-22 更新連載: Ankiの使い方 〜覚えるために忘れろ〜 第2回
Ankiを使っている人なら知っている使い方をあえて紹介する連載の2回目は、学習教材の一括登録です。前回は、暗記したい項目に出会う度に登録する使い方を取り上げましたが、今回はまとまったリストを暗記教材として登録する方法を紹介します。
この記事の目標
教材を一括登録するAnkiの読み込み機能の扱い方になれましょう。
例として中学校教科書に使われている英単語リストをテキストファイルに整形して読み込みます。
使うもの
-
Anki2
-
英単語リスト
-
表計算ソフト(Excel形式を読み込めて、テキストファイルに保存できるもの)
中学校の教科書に掲載されている英単語一覧を登録してみましょう。教科書会社のサイトに現行6社の教科書に使用している英単語のリストが入手できますのでこれを使います。教科書の巻末にある語彙集をまとめたもののようです。
平成24~27年度用の各社の中学校 英語教科書で使われる英単語のリスト (開隆堂出版株式会社)
Excel形式と、PDF形式で提供していますが今回はExcel形式のものを使います。
代替リストの参考例
他にも同じようなリストで面白そうなものを紹介します。頻出の英単語なので全体としては違いはそれほどないですが、その中の微妙な差が興味深いかなと。
ケンブリッジ大学ESOL試験 ビジネス英語分野(BEC Preliminary; CEFR B1レベル) の受験準備教材。ビジネス英語の基礎語彙を確認したい場合に。 BEC Preliminaryの詳しい説明
フィクションの現代作品の中の頻出2000語。作品の主題と使用頻度で分類。左の列から400語毎に5段階に頻度分類。フィクションを読む速度をもっと上げたいのなら。
テキストファイル読み込み機能
Ankiは、タブやカンマ、セミコロン、スペースで区切ったテキストファイルを読み込むことができます。 フィールドにHTMLのタグを含めることができますし、テキストファイルのフィールドとAnkiファイルのフィールドの対応を読み込みの際に画面から設定することができます。
Ankiに登録したいデータを持っているのなら、そのデータをタブ区切りなどのテキストファイルに加工する方法を考えましょう。
この機能が利用できるのは PC 版 Anki だけです。iOS アプリ AnkiMobile、Android アプリ AnkiDroid は、Anki単語帳パッケージ (apkg) の読み込みだけに対応しています。
単語リストの前処理
まずデータの内容を確認してみましょう。Microsot ExcelかExcel形式のファイルを編集してテキスト形式で保存できるアプリケーションソフトを使います。この記事ではLibreOffice Calcを使いますが、操作内容Excelを使った場合とはほとんど変わりません。
LibreOfficeは自由でかつオープンソースのオフィススイートです。Windows、Macintosh、Linux を始めとする多くのプラットフォームで動作します。LibreOfficeの入手や詳しい内容は http://ja.libreoffice.org/ をご覧ください。
ダウンロードした "h24-eitango-1.xls" を開いてみると図2のようになります。
A列は英単語、B列は同綴異義語の区別、C列からH列までは、各社の教科書で何年生で初出するか、I列は何社の教科書に掲載されているかを示しています。3277個の単語が含まれていました。 A列をFrontフィールドに、I列を頻度表示を示すタグに割り当てるようデータを加工していきます。今回はBackフィールドにあたる解答項目は空白にしておきます。
今後の連載で解答、ヒントへのリンクを生成するカードのカスタマイズ方法を紹介します。
重複を除く
Anki2では、最初のフィールド(既定でFrontフィールド、いわゆる見出しフィールド)の重複を認めていません。B列でソートして重複している見出しを解消する必要があります。 図3からcanは助動詞と名詞で同綴異義語として別々の項目で登録されていることが分かります。
一つ目の方法は、片方を削ってしまうこと。 もう一つ目は、見出しを書き換えてcan(助動詞),can(名詞)と別の見出しにしてしまう方法です。
今回は次の17個の重複している単語を一つの項目にまとめました。名寄せというべきかもしれません。 can, close, fall, felt, found, kid, kind,last, light, like, live, read, rest, right, second, story, train
頻度タグの準備
I列の数字を頻度表示のタグとして利用したいので、加工しておきます。数字だけのタグだと意味が分かりにくいので、Gradeという文字を先につけて、1社で使われている単語のタグをGrade1と付けたいと思います。
やり方は色々ありますが、I列を選択した状態で、"1"を"Grade1"、"2"を"Grade2"というように検索置換掛けました。
不要なデータを削除
C列からH列までは不要なので削除します。 また、見出しの中に"Agghhhhhh"というようなオノマトペや"Alice in Wonderland"のような書名、固有名詞が多数含まれています。暗記に必要のない項目は今のうちに削除しておきましょう。Ankiからも削除はできますが、今の段階で除いておく方が断然楽です。
最終的に見出し語と頻度の2列からなるデータにまとめました。(図 4)
テキストファイルに保存
最後にテキストファイル形式に保存します。LibreOffice Calcではファイルの種類を[テキスト CSV(.csv)]を選択します。
テキストファイルを開いて中を確認すると、カンマで区切られたテキストファイルになっていることが分かります。(図 5)
Ankiへの読み込み
これまで作業してきたテキストファイルの読み込み手順を紹介します。
読み込みファイルの指定
Ankiへの読み込み処理を呼び出す方法は、(1) メインウィンドウ右下の[ファイルを読み込む]ボタンを押す方法、(2) メニューバーから[ファイル]>[読み込む](Command/Ctrl + I)の2通りあります。
ファイル選択画面が開きますので、これまで作成してきたテキストファイルを選択し、ファイルの種類の指定に[テキスト(タブ区切りまたはセミコロン区切り)(*)]を選択して[開く]ボタンを押してください (図 6)。作成したファイルはカンマ区切りですが読み込むことができます。
Ankiの読み込み機能から、Ankiから書き出して作るAnki 単語帳パッケージ (apkg)や旧バージョンの単語帳ファイル(anki)を読み込むことが出来ます。 また、Mnemosyne、Supermemo、Paukerなどのアプリケーションの出力ファイルを読み込むことが出来ます。 ファイル指定の際にそれぞれのファイルの種類を選択します。
選択したテキストファイルが Anki に読み込まれると、図 7 のように設定画面が開きます。[コンマで区切ったフィールド]というボタンが現れたことに注意してください。区切り文字を自動認識してくれます。素晴らしい。 他の区切り文字を指定したい場合はこのボタンを押すと他の文字を指定できます。
保存先単語帳の作成
図 7の右上に、単語帳という見出しの右に[Default]というボタンがあります。これは、読み込み先に単語帳Defaultを指定しています。今回は中学英単語という名前の単語帳を作ってデータ追加してみましょう。
[Default]ボタンを押すと単語帳指定ウィンドウが表示されます。このウィンドウの左下[追加]ボタンを押すと、単語帳の新規作成ができます。(図 8)
フィールドの対応指定
さらにフィールドの割り当てをしましょう。 読み込んだテキストファイルは1列目英単語、2列目頻度表示タグだったことを思い出してください。 図 7のフィールドの割り当てを見ていただくと、1列目はFrontフィールドに、2列目はBackフィールドに設定しています。2列目が、1列目の解答やヒントであればこのままでよいのですが、今回はタグに割り当てるため、設定を変更します。フィールド設定の[変更]ボタンを押すと、対象フィールドを選択する画面が開きますので [タグに割り当てる]を選択してください。(図 9)
読み込みオプションの設定
最後に、読み込みオプションの[最初のフィールドが一致した場合、既存ノートを更新する。]という項目を[最初のフィールドが既存ノートと同じであっても読み込む]に変更します。 これは、読み込みデータに既に登録済みの単語があった場合、既存ノートを書き換えることなく別のデータとして読み込む設定になります。(図 10)
これで読み込み設定完了です。[読み込む]ボタンを押すと、読み込みを開始し、終了すると処理内容の報告を表示します。(図 11)
既存のノートを更新した場合、読み込まなかったデータがあった場合などもここで表示します。
報告画面を閉じて、メインウィンドウに戻ります。単語帳「中学英単語」が現れ、新規学習20件が早速割り当てられていることが分かります。(図 12)
ブラウザーで登録内容を確認
読み込んだデータ全体を確認してみましょう。単語帳一覧から「中学英単語」をクリックし、タイトルバー下の[ブラウザー]というリンクをクリックしてください。 ブラウザーが表示されます。さらに左のリストから「中学英単語」を選択すると一覧表示が得られます。
ウィンドウのタイトルバーを見てください。この単語帳に3254枚のカードがあることが分かります。 actuallyという単語を選択した状態で、下のタグ欄に"Grade5"という文字が表示されています。頻度表示のタグも割り振られていることが分かります。 また、検索欄に"deck:中学英単語"という文字が現れていることも注意してください。これは、左のメニューをクリックしなくても、検索欄に文字入力しても同じ結果が得られることを意味します。
左のメニューから"Grade2"を選択すると、このタグを持つデータ一覧が得られます。Grade2のタグを持つカードは、470枚あり、"tag:Grade2"でも検索できることが分かります。(図 14)
左のメニューから「今日追加したカード」を選択すると、その日追加したカードの一覧が表示されます。中学英単語のカード3254枚を表示します。"added:1"でも検索できます。
ブラウザーの詳しい使い方は、ユーザーマニュアルのBrowserをご覧ください。検索文字列の詳しい設定方法を知っておくと、学習方法をカスタマイズするフィルター学習を設定する時に役立ちます。幸いにしてこのページは日本語訳されています。
おわりに
データをテキスト形式に変換できれば、簡単にAnkiに取り込めます。その点を分かっていただけるとうれしいです。たくさん問題を作りすぎて困るくらいです。皆さんの作った専門性あふれるAnki単語帳を共有していただけると、もっと楽しくなるのではないかと思います。
学習方法については、前回説明した内容の通りです。いろいろな事柄の暗記をして、Ankiを楽しんでください。
この記事には、解答へのリンクを設定していく続編と画像や音声、動画もまとめて取り込む続編を用意しています。合わせてご利用ください。
更新情報
2013/04/20: 初出
2014/09/21: 再構成、ファイル読み込みの手順を更新