自分の単語帳を作る場所は検索精度で選ぶべきか?

 言語学習において自分の単語帳を作るのがおすすめであると昔読んだ本に書いてあった。

確かに自分がレッスンで教えてもらった単語は教えてもらった用例と一緒に残すことで記憶に残りやすいし、忘れても後から確認することが出来る。

単語帳は紙のノートで作ることも出来るが、いつでもどこでも調べたい、確認したいと思うならクラウドベースのサービスに作成しておくべきだろう。

そこで手っ取り早く思いつくのはGoogleスプレッドシートになるだろう。

本格的なデータベースに記録してもよいが、表計算ソフトであるスプレッドシートなら気軽に誰でも利用できるし、GoogleスプレッドシートにはQuery関数というスプレッドシートを簡易データベースのように利用できる独自関数が用意されている。

Googleスプレッドシートなら出先でモバイルアプリからアクセスしても高速だし、家にいる時はPCからキーボードで入力すれば単語登録は素早く行える。

単語帳の記録場所として最適かと思えた。

ドキュメントと検索の比較をするまでは・・・。

Query関数を使ったような検索ではなく、普通にメニューに存在する「検索と置換」機能で検索した場合、スプレッドシートだとセルが選ばれるだけで、単語自体が選択されるわけではない。

一つのセルにたくさん文字が入っている場合、検索した単語がどこにあるかわかりにくい。

これらの単語をGoogleドキュメントに貼り付けて、同様に「検索と置換」で「đồ」を検索してみるとこの様になる。
「đồ」が含まれる3ヶ所で該当文字がわかるようにマークされている。
ぱっと見て、ドキュメントのほうが文字列検索した時の表示がわかりやすい事がはっきりわかる。
それに加えてスプレッドシートには無いチェックボックス、「ラテン文字の発音区分記号を無視する」が存在する。
これは前回の電子書籍についての記事でも少し触れたが、記号を入力できない環境や、記号を正確に覚えていない時は無視するをチェックすれば検索出来るし、正確に記憶している場合は無視するのチェックを外せば正しい検索結果になる。
状況に応じて適切な検索が可能になる便利な機能であり、スプレッドシートにはこれが無いので、この点でもドキュメントの方が優れている。

正規表現での検索

Googleドキュメント、スプレッドシートともに「検索と置換」のチェックボックスに「正規表現を使用する」が存在している。
正規表現が何かを知っている人はそれが便利である事を理解できると思う。
前回の電子書籍の検索についての問題点も、正規表現を利用できるのであれば解決する。
しかし、実はドキュメントとスプレッドシートで使える正規表現に差があることがわかった。
文字列の先頭を指定する「^」(キャレット)と、文字列の最後を指定する「$」(ドル・ダラー)がスプレッドシートでは使えて、ドキュメントでは使えない。
これはかなり大きな差である。
前回の記事で電子書籍の検索では「anh」で検索したら部分一致で違う単語がヒットしてしまう問題を記した。(「thanh」のような部分一致がヒットしていた)
こういう時、「anh」で始まって終わるを正規表現で指定するなら「^anh$」となる。

このように正確に「anh」のみがヒットしている。
この2つの記号以外はだいたいどちらも問題なく使えるようなのだけど、この2つが結構重要なので、検索精度を重視するならドキュメントよりスプレッドシートに単語を記録したほうが良いという事になる。
行頭で始まって終わるを指定すると用例はヒットしなくなってしまうので、用例を含めて探したい場合はこのようにする
「(^|\s)anh($|\s)」
「\s」バックスラッシュにsを付与するとスペースの意味になる。
 カッコで囲んだ中で「|」で区切ることでどちらかという意味になる。つまり行頭かスペースの後にanhがあり、行末かスペースが続くという意味となる。
なので、文中にスペースに囲まれる形でanhが登場しても検索にヒットする。
単に文中にanhがヒットするだけなら「\sanh\s」スペースに囲まれたanhを検索すれば良いように思えるが、この場合、先頭や最後にanhが来る場合ヒットしなくなり「em chào anh」というようなのがヒットしない。

モバイルアプリの落とし穴

先に述べたようにGoogleスプレッドシート、ドキュメントにはモバイルアプリがある。
なので、書き溜めた単語帳を出先でいつでも確認が出来る。
それは良いのだけど、使ってみたらドキュメントもスプレッドシートも「検索と置換」で細かな選択肢がまったくなく、正規表現は使えなかった。
これは想定外で残念な結果となった。




まとめ

Googleドキュメント、スプレッドシートともに一長一短があり、単語帳を作る際にどちらが良いとも言えない。
検索の見やすさ、ラテン文字の記号を無視する機能などの使い勝手を重視するならドキュメント、正規表現で正確に検索したいならスプレッドシートを選ぶべきだろうと思う。
また、Query関数を利用して高度な処理をしたい人もスプレッドシートを選ぶべき。
ただ、どちらを選んでもモバイルアプリから検索しようとすると正規表現が使えない。この点はどうにもならない。
もっと良いサービスがあればよいのだけど、とりあえずはドキュメントかスプレッドシートに単語を溜めておいて、良いサービスがあったら移行すれば良いと思う。
テキストデータのデータ移行は簡単だから。




コメント

このブログの人気の投稿

Googleスプレッドシートの正規表現置換で改行文字

Googleスプレッドシートのimportxml関数をhtmlに使う

名作と定評のあるスーパーファミコンの『ザ・モノポリーゲーム2』を今更ながら遊んでみた