人物相関図作成のためのグラフィカルエディタの開発
インドネシア日本軍占領期資料のデジタルアーカイブのために
佐々木啓豪
須栗研究室
2023 年度卒業
文献を読むだけでは登場人物同士の関係性を把握するのは困難です。手書きのメモでは、読んでいくうちに判明する関係性の変化に対応できません。そこで、デジタルによってメモ感覚で関係性を表すグラフを作成できるようなアプリケーションを開発しました。データベースによる管理を行うことで、整合性と共有性を持たせました。グラフの形を自由に変えながら、ユーザはネットワーク図を作成し、直感的に情報を把握できます。

はじめに

様々な研究が行われる中で、社会史や文化史などのように、歴史に関する分野では人や出来事の関係性を明らかにする必要がある。しかしながら、長年にわたってそのような研究を行ってきた達者な研究者でも大量の文献から大量の人物達の関係性を把握しきることは容易ではない。

基礎教育学群の山本まゆみ教授は、第二次世界大戦中におけるインドネシア日本軍政期の研究をしている。当時の資料のスキャン作業をRAとしてお手伝いしているときに上記の悩みを伺い、I T技術を活用してこの課題を解決することを提案した。

文献から人物相関を抽出し、視覚化するにあたって、分析していくにつれて増えていく人物と関係性を把握していくには、静的グラフでは修正、改善が困難である。複雑なものになるにつれて人物の配置を変更したり、関係値を取り消したりするとこになる。そこで、相関図のグラフ化において、研究の進行によって生じる、人物や関係値の追加、変更、それに伴うグラフの変形を容易にするために、動的グラフを作成できるG U Iアプリケーションの開発を目的とすることとした。

すなわち、本研究は、相関把握のための、ユーザによる自由度のあるグラフ作成ツールの開発を目標とする。具体的には、人物及び関係性のリスト化、そのリストのグラフ化、ユーザによる自由なグラフ編集機能、これらのデータベースによる管理機能を要求仕様とし、ユーザが自分のわかりやすい視点でグラフを作成して眺め、容易に関係性を把握することができるグラフィカルエディタを開発する。

調査

桂ら [1] は、直感的なデータの記述が可能であり、実世界の概念を忠実に写生したデータベースの構築が可能なアプリケーションを開発した。これは、独自に開発した半構造の対応データベースをグラフィカルに作成するためのアプリケーションであり、対応演算やスキーマに縛られない自由な記述を許すような設計のデータベースが用いられている。しかしながら、これはWindowsアプリケーションであるため環境に制限がある。また、この独自のデータベースではスキーマの制限を排除しているため、整合性が担保されないという点において、データの共有性や再利用性を確保できないものとなっている。

福井 [2] は一部ツールにグラフィックエディタがあるフリーソフトを開発した。数種類のボックスが選択でき、配置したボックス同士をドラッグで結ぶと矢印が作成される。このツールには分析機能も備えられており、共分散構造解析や、階層構造図、PERT図などをデータから作成、編集することができる。しかし、このツールは統計や数量的な分析に特化したものであり、直感的な操作機能は備えておらず、また数値や分数のような表記を想定してボックス、矢印のラベルを文字列型にいているため、定量的な関係性や情報を表現するのには向いていない。

本研究のアプリケーション開発では、これらの関連研究の欠点を補い、環境にとらわれないwebアプリケーションとしての開発をし、整合性を担保する関係データベースを用いることとした。

添付のグラフは山本まゆみ教授からお借りした資料の一部[3]を元に作成したネットワーク図である。文献を読み進めていきながら人物が登場した場合nodeを作成し、文章に人物同士の関係性が記されている部分を発見した場合、対応するnode間にedgeを作成していった。読むだけでは記憶に頼り関係性を把握しなければならない、もしくはメモなどで記録しなければならないが、このグラフィカルエディタを使うことで一度出てきた人物が複数回、他の人物との関係を持っている時でもまとめて把握しながら情報を追加する事ができた。また、nodeが増えていくにあたって、最初に作成した場所ではedgeが複雑に混ざり合ってしまう事があるが、ドラッグ機能があることでグラフを整形し見えやすい形にする事ができた。ここでは文献からの情報だけでグラフを作成したが、Adbullah Sudiobrotoの子供がImamura Hitoshiというデータと、Abdullah Sujonoの弟がImamura Hitoshiというデータから、Abdullah SudiobrotoとAbdullah Sujonoも親子関係にあるということを発見する事ができる。このように、直感的にグラフを眺めながら編集できることで、文献では明示されていない関係を発見することができる。しかしながら、英語の文献の場合には比較的長い名前や、関係値も単語だけでも長くなってしまい文字の認識が多少困難になってしまっている。また、日本語のような比較的短めの単語の言語でグラフを作成したとしてもnodeの数が大量になってしまうと互いに潰し合ってしまい文字の認識が非常に困難になる可能性がある。

研究方法

画面の機能にはグラフ画面と表画面の二つがある。グラフ画面は、描画のためのグラフィカルエディターである。表画面は、描画したデータに対応する関係データベースのテーブルを表示、操作する。

まずグラフ画面から説明する。エディターでグラフを描画するために、ユーザはnode追加ボタンで新規のnodeを追加する。その際promptでnodeのラベルを入力する。nodeはドラッグで自由な位置に配置することができる。nodeをダブルクリックすることで選択状態となり、node削除ボタンでnodeを削除することができ、選択解除ボタンで選択状態を解除することができる。nodeを一つ選択した状態でさらにnodeを選択するとedge作成状態になり、promptに関係値を入力することでedgeが作成される。nodeやedgeに付随しているラベルはダブルクリックすることで変更することができる。edgeをダブルクリックすると、edge選択状態となり、選択されたedgeの詳細が画面右下に公開される。この状態で、削除ボタンを押すとedgeが削除可能であり、人物変更ボタンを押すことでnodeのI Dを指定しなおすことで有向グラフのsourceとtargetを変更することができる。

画面右上の切り替えボタンを押すことで表画面に切り替えることができる。表画面では、node、edgeの情報が人物リストと相関リストとして表形式で表示され、指定のテキストボックスに入力し各編集機能ボタンを押すことによってデータを編集することができる。また、表画面でもグラフ画面同様に画面右上に画面切り替えボタンがあり、ユーザは表画面とグラフ画面を自由に行き来することができる。

開発技術にはHTML、CSS、JavaScript、SQLite 3を採用した。データベースとの連携のためにJavaScriptのnode.js、グラフ描画のために同じくd3.jsを使っている。

ユーザの操作によるデータの変化は、node.jsを介してデータベースとやり取りされ、即座に画面に反映される。ユーザによる表画面での操作はindex.jsのAPIを発火し、node.jsがデータベースとのやり取りをする。また同様に、グラフ画面での操作はgraph.jsがAPIとなっている。表画面ではブラウザへの接続時に、人物リストと相関リストの作成のためのAPIが発火しており、リスト編集の操作では、その都度、同一のリスト作成APIが発火されるようになっている。また、グラフ画面でも同様に画面への接続時にグラフ描画用のデータのやり取りをするAPIが発火するが、同期・非同期によりエターが起こることを防ぐために、動作ごとにグラフ描画用のAPIを発火させるのではなく、ブラウザのリロードをかけている。これにより、エラーの防止に加えて、即時レスポンスを可能としている。

nodeとedgeをデータとして管理するためにnodeの属性はidとname、edgeの属性はid、source_node_id、target_node_id、relationshipとして関係データベースで管理している。personsテーブルのidに対しては他二つのテーブルの外部キーを設定した。personsとpositionは一対一の関係であり、personsとperson_correlationsは多対多の関係である。position、person_correlations共にpersonsの外部キーとすることで整合性を担保している。positionテーブルではnodeの位置操作のためにnodeのx座標、y座標を管理している。グラフ画面で新規に作成されたnode又は、表画面で新規に追加された人物は、その作成時にpersonsテーブルにinsertした後、追ってpositionテーブルにもinsertする。その時の座標はグラフ描画領域のやや左側の指定範囲内のランダムな座標値が保存される。グラフ画面でのグラフ描画ではこのpositionテーブルの座標データを元に描画され、ブラウザでのドラッグが行われた場合、ドラッグ終了時の座標値がpositionテーブルにデータ保存される。

まとめ

本研究では、相関把握のために動的グラフを作成できるG U Iアプリケーションを開発した。相関図を直感的に作成する事ができ、動的に編集できることで、情報把握と情報整理が効率よく行う事ができた。しかしながらnodeやedgeのラベルの表示方法には問題があり、ラベルの長さやnodeの数そのものが増えても文字の認識に支障が出ない設計にする必要がある。今回、山本まゆみ教授の実際の悩みを参考にI T技術による問題解決を図ったが、進化し続けるI T技術をもっと活用していくことでより効果的なものになるであろう。このアプリケーションにはA I技術や自然言語処理などを活用し、文献を登録すると文章を解析し登場する人物の抽出、人物間の関係性の分析、それらをリスト化しデータとして保管したものからグラフを自動で生成されるといった機能が備わることで、ユーザによる分析が要らず、修正したい部分や追加したい部分を操作できるような、より簡易的であり相関関係の把握が容易いものになると期待できる。

参考文献

[1] 桂 善浩, 唐重 順平, 横尾 徳保, 重松 保弘:対応データベースのためのグラフィカルエディタの開発, 九州工業大学研究報告 (工学), No. 77, pp. 1 – 8, 2005.

[2] 福井 正康:学生指導に最適なデータ分析フリーソフトウェア College Analysis Ver.9.0,

https://sites.google.com/view/fukuimasayasu (2024年1月15日閲覧)

[3]  Peter Post (General Editor), William H. Frederick, Iris Heidebrink, Shigeru Satō, William Bradley Horton, Didi Kwartanada (Editors). The Encyclopedia of Indonesia in the Pacific War. Volume 19 of Handbook of Oriental Studies, Section 3 Southeast Asia Series, Brill, 2010

研究を終えて

このテーマは関わりのある研究者の悩みをもとに定めたものでしたが、思うように技術が追いつかず中間期から断念した機能もありました。便利だけれども使うには知識が必要であり、頻繁にアップデート、新技術の開発が行われるこの界隈では生涯勉強が必須だと感じました。そんな中、限られた時間で得た知識で開発し、理想通りとはいかなかったものの、作り上げたものを実際に使っていただいて、とても興味を持っていただき、ITやデジタルでの問題解決の素晴らしさを実感しました。一つのアプリケーションを作ったという経験は貴重なことだったと思います。今後IT技術者としての仕事で活かしていけたらいいなと思います。

メニュー