中国語学習×グラフデータベース(1) - なぜグラフなのか?

思い付きって怖い。でも入口としては面白そうなトピックなのでやってみることに。

まず前提

中国語関連で、こんなデータがありますという前提。

  1. 5800語格納の単語DB(1200語前後詳細付き、残りはHSK6級の単語リストから単語とピンインを投入)
  2. 短文をテキストに落としたもの500文ぐらい。
  3. 類義語使い分け的な本に載っている類義語の組み合わせ500パターン。

最初の単語DBは、いろいろな教科書から拾ったモノに、これを追加した感じ。一応、重複しているモノは取り除いているはず。ファイル自体はFileMakerで作ってある。

その次の短文をテキストに落としたモノは、先日の春節の時に、この本に載っていた例文を片っ端からiPhoneのメモ帳に書き写したモノ。ただし、とりあえず動かす前提なので、最初の1割から2割程度の内容かな?

ネイティブ中国語―補語例解

ネイティブ中国語―補語例解

最後の類義語は、グラフDBを使うことに決めてから、面白そうだと思って追加。単語どうしの関係(Relationship)とかやったらどうなるかをみたいから。ネタ元は、この本の中国語版。

CD付 どう違う?例文で覚える中国語類義語1000

CD付 どう違う?例文で覚える中国語類義語1000

  • 作者: 于鵬,平山邦彦,川田直樹
  • 出版社/メーカー: アスク出版
  • 発売日: 2010/04/28
  • メディア: 単行本(ソフトカバー)
  • クリック: 1回
  • この商品を含むブログを見る

中国語版は、現地価格で58元(購入当時のレートで1,000円足らず)。日本語版は2,700円だけど音声CDがついている。どっちがお買い得かは人によって違うかも。これは500パターンすべて、ただし重複が結構あるので正味はもう少し少ないかも(本の中の例文は拾ってない)。

少なくとも、下の2つは合計作業時間が数時間で収まるような作業量だ。もちろん、もっと大きくてタダで手に入るデータもあるんだろうけど、あくまで「中国語学習×グラフデータベース」という位置づけなので、一度学習したモノを振り返ることができるという体裁を保ちたかった。だからこそ、あえてこんなデータを使っている訳である。ちなみに、これから紹介するような内容でゴニョゴニョする場合は、少なくとも初心者レベルを脱している必要があると思う。

リレーショナルだといろいろ難しいことも

例えば、単語帳をイメージすると、単語と発音(中国語ならピンイン)、それに品詞と意味ぐらいの項目があって、ノートに書き起こしたり、Excelなどのスプレッドシートに保存するようなところから始めると思うが、だんだん以下のような問題に直面するはず。

  • 多音字の場合どうするか?もうノートに書く場所ないし。
  • 複数の品詞や意味を持つ場合どうするか
  • 例文と紐付けたい
  • てか同じ単語、もう単語帳にあったじゃん。。。

そうすると、ノートやExcelだと物足りなくなって、DBに入れてみようかとい考える事に(こんなこと考えるのは、自分みたいなIT屋だけかな?)。そこで自分の場合は、MacでもWindowsでも使えるFileMakerに移行したんだけど、いわゆるリレーショナルデータベースにした場合、上の問題を解決するためにいろいろ面倒なことをしなくてはならない。上のようなパターンに遭遇した場合に、どうするかをあらかじめ決めてDBを設計しないと、収拾がつかなくなる。自分の場合も、短文と単語を紐付けようとして挫折した。

どういうことか?こんな例文を考えよう。

我第一次去中国的时候,中文完全听不懂。
(私が初めて中国に行ったとき、中国語は全く分からなかった)

これを単語に分割すると、「我/第一次/去/中国/的/时候/中文/完全/听/不懂」こんな感じで10個の単語に紐付くことになる。それをリレーショナルDB上でどう表現するか?おそらくアプローチは2つで、単語1つ1つに対してこの短文をぶら下げるか、逆に短文に対して、単語をぶら下げるか。どちらかのアプローチを決めて、それを実現するためには、単語や短文にIDを振ってみたいな感じで、実際の学習と関係ない部分でのコストが発生するのだ。やがて、そのコストが中国語を勉強しようという熱意を上回ると、挫折して放置という憂き目に遭うのだw。

我がDBもやがて2年ほど眠りにつくことに。(単に日本日本帰国してモチベーションが下がっただけという噂もあるが)

ここでグラフデータベースの登場

時間は流れて、グラフデータベースの登場である。

グラフデータベース ―Neo4jによるグラフデータモデルとグラフデータベース入門

グラフデータベース ―Neo4jによるグラフデータモデルとグラフデータベース入門

自分の場合は、最短経路云々という話からグラフ理論に興味を持って(興味だけ)、そこからグラフDBという存在に出会ったが、当時行き詰まった諸々の問題を解決してくれるのではないかという淡い期待を持たせてくれた。ということで、今手元にあるデータを使って、グラフデータベースを使って何か面白いことができないかを検証してみることにしたのである。

(あと数回続く)