2019 Fiscal Year Annual Research Report
Project/Area Number |
16H01715
|
Research Institution | The University of Tokyo |
Principal Investigator |
田浦 健次朗 東京大学, 大学院情報理工学系研究科, 教授 (90282714)
|
Project Period (FY) |
2016-04-01 – 2021-03-31
|
Keywords | 大規模データ処理 / ad‐hocデータ処理 / LL(*)文法 / 構文解析生成系 |
Outline of Annual Research Achievements |
冗長な計算をすることなく並列に構文解析を行える(locally parsable)という性質を持つ文法として演算子優先度文法(の一部のクラス)がある. この文法に対して並列構文解析器生成系を実装した. また, これまでの, 字句解析のいらない(スキャナレス)構文解析方式では, 実用的な文法が上記の性質を満たす範囲で記述できないことがわかったため, 字句解析フェーズと構文解析の2段階からなるアプローチで実装した. このアプローチでは字句解析を並列に行うことが必要となり, その要は, 文字列を並列化のためにいくつかの部分文字列(チャンク)区切った時, チャンクの開始時点におけるオートマトンの状態がわからないことである. このため, 最初の状態を未知(すべての状態がありうる)として, 実際の字句解析は行わないまま最終状態(すなわち次のチャンクの開始状態)を求める, プリスキャンという前処理を実装する. プリスキャン自身は初期状態が未知のまま行わなくてはならないため, 効率が落ちる可能性があるが, さらにプリスキャンをどの場所から始めればよいかを決めるための手法を考案し, 実装した. プリスキャン, 字句解析, 構文解析の生成器をマルチコアCPU用に実装した. JSONを解析するための文法記述から生成された解析器でWikidataのダンプファイル(約10GB)を解析した. プリスキャン, 字句解析, 構文解析そのもの(入力が文法に合致しているかをチェックするのみ)の処理は良好な台数効果が得られ, 6GB/秒ほどのスループットを得ることが出来た. ただし現状の実装はセマンティックアクションの実装のためにすべての認識された字句をメモリ上に保持しており, それを行うとスループットが150MB/秒ほどに低下する. この解決は次年度以降の課題である.
|
Current Status of Research Progress |
Current Status of Research Progress
3: Progress in research has been slightly delayed.
Reason
研究の中心的テーマである, 文法記述から高速な構文解析器を生成する, それによりad-hocな大規模データの高速処理に適用する, というテーマについて, 当初から想定していた成果が得られつつあるが, 方針については何度か変更を余儀なくされており, ad-hocデータの大規模並列処理という目標にはまだやや距離がある.
|
Strategy for Future Research Activity |
概要の最後に述べた問題点を踏まえて, さらに分散メモリ計算機による超並列処理や, 高速ストレージ(SSDや不揮発メモリなど)を用いて現実の大規模データからの超高速なデータ抽出処理での実証実験を目指す. 現在すでに, 分散メモリ計算機上での並列実装を進めている.
|