中国語学習×グラフデータベース(2) - 必要なこと(中国語以外の部分)
さて、いきなり始めたシリーズだが、この掛け算は、相当ニッチなところを攻めているのは分かっている。ただ、中国語学習というものを他のモノに置き換えて考えてもらえば、何かしらの役には立つかもしれない。
中国語以外に必要な知識
今回の取り組みにおいて、中国語以外の部分で必要なツールと知識を整理しようと思う。
- グラフデータベースとそのクエリ操作
- Python
- IPython Notebook (Jupyter Notebook)
ハードルを上げているつもりはなくて、(少なくとも今回のシリーズで取り上げる範囲では)習得はそんなに難しくないと思う。自分の場合は、Neo4jというグラフデータベースを使っている。理由は、触ったことあから(笑)。データを実際に扱うにはCypherというクエリ言語を用いる。簡単なCSV取り込みなどにも対応している。
グラフデータベースとは?という場合はこれを。http://www.creationline.com/lab/7168
Neo4jに関するリンクはこちら。
neo4j.com
neo4j.com
ただし、テキストの加工処理をするとなると、やはりPythonのような言語を間に挟んだ方が個人的には楽だと思う。Pythonについては、拙ブログの今さらPython3シリーズにまとめてある。
・・・全80回シリーズだけどねw
さらにJupyter Notebookというツールを使うと、試行錯誤しながら作業を進めるのに楽である。
こんなことできそう
これだけ書いてしまうと、なんて面倒なことをやっているんだろうと思われるかもしれないが、実際にデータを使ってゴニョゴニョした結果を紹介してみよう。ひょっとすると面白いかもと思ってもらえるかもしれないので。
詳細は次回以降書いていくとして、緑色の丸が単語、青いのが短文。短文の中で使われている単語と短文が線で結ばれ、似た意味を持つ単語同士もつながっている。例文は紐付いていないが、こんな例もある。
これは例文抜きの単語だけの関連づけになっているが、グラフの形状から[了解/认识/知道]で1つの三角形を形成しているので、これらは互いに類似の単語ですと、出典元の資料に書いてある事が分かる。さらに[了解/理解]という紐付きがあるので、「了解」という単語には2つの異なる使われ方があるのでは?と想像できるのである。文法書などでは、これらのグループが別のページに分けて書かれてしまうので、なかなか意識しづらいが、グラフにしてしまえば一目瞭然だったりする。
こんなことも含めて、いろいろな気づきがありそうというのが、ここまで触ってみての感想である。次からは、もう少し具体的にこんな作業をしたという話になる予定。中国語よりも、技術的な話になるはず。
(つづく)