博士(工学)後藤文太朗 学位論文題名
論 理プ口グラミングヘの語彙と 語彙 構築機構 の導入に関する研究
学位論文内容の要旨
ブログ ラミング 言語は 人と計 算機と の閲で 情報を やり取 りする ための言 葉であ る.計算機が 現 れた当 初は, 人間側 が計算 機にあ わせて プログ ラミング を行っ ていた .すな わち,プログラ ミ ング言 語とし て計算 機の動 作機構 により 近いも のが使わ れ,人 間側が 自分の 思考過程をそれ に 翻訳し 計算機 に伝え ていた .近年 ,計算 機の性 能は飛躍 的に向 上して おり, 計算機上で扱う 対 象も大 規模化 かつ多 種多様 化して きてい る.そ れにとも ない, 人間側 が計算 機にあわせてプ 口 グラミ ングを 行うこ とは困 難にな ってき た.人 間側の思 考過程 およぴ コミュ ニケーション過 程 により 近いプ 口グラ ミング 言語が 必要と なって きた.人 間同士 は自然 言語を 用いて情報のや り 取りや 概念モ デルの 構築を 行っている.自然言語が従来のプログラミング言語と異なる点は,
柔 軟な構 文と豊 富な語 彙の二 点である.特に,自然言語における豊富な語彙は重要な役割を担つ て いると 考えら れる. 本研究 では, 自然言 語にお ける語彙 が持つ 機能に 注目し ,それを論理プ 口 グラミ ングに 導入す ること に関する研究,お よび語彙を導入した論理プログラミングにおけ る可視化と視覚的ブログラミング環境に関する研究を行った.
本 研 究で は ,自然 言語に おける 語彙が 持つ機 能とし て,(1)対 象の概 念や対 象間の 関係概念 を語で表す機能,(う語を合成レて複雑な対象の概念や複雑な対象間の黜ゑ概念を表現する機能,
(3)合成 語に対し て名前 付けを 行い,この名前を新たに語として用いることを許す語彙構築機能 を 抽出し た.こ れらの 機能は ,人と 人との 間にお ける高度 なコミ ュニケ ーショ ンや,概念モデ ルの構築を可能にしている.
論理プ ログラミ ングは ,「論 理をプ 口グラ ミング 言語と して使 うことが できる 」という考え に 基づく もので ある. 一階述 語論理 の一部 分であ るホーン 節に基 づぃた 論理型 ブログラミング 言語Prolog(Programming in logic)が作られた.論理プログラミングの中心的な考え、方のーっは,
ア ル ゴ リ ズム は問 題が何(What)であ るかを記 述して いる論 理(Lo gic) の部分 と,ど のよう に (How)問題を 解くか を記述 してい る制御(Control)の部分からなるという考え方である.論理プロ グ ラ ミ ン グで は,Whatの部分 をブ口 グラマ ーが記 述し,Howの部分 は論理 プ口グ ラミン グシス テムが自動的に実行してくれるというのが理想である.
本研究 では,前 述の自 然言語 の語彙 が持つ 機能をPrologに導入 した拡 張論理 型プ口グラミン グ言語Vocalog(Vocabulary based logic programming language)を開発した.語彙をPrologに導入す る ことで ,知識 表現言 語とし ての記 述カが 高めら れた.基 本的な 概念を コンテ キストから取り 出 して名 詞や形 容詞と してジ ェネリ ックに 定義し ,これら の合成 により ,より 高次の概念をコ ンテキストから独立に定義することが可能となった.′
Vocalogで は,名 詞と形 容詞を 定義で き,そ れらを 用いる ことでそ れぞれ 対象の 概念や 対象
一 41―
間の 関係 概 念を ジェ ネリ ック に 記述 でき るようになった.述 語の引数位置に対応づけら れたラ ベル とし て 基本 名詞 を導 入し た .名 詞に より指示される対象 間の関係を記述するラベル として 基本形容詞を導入した .語構成子を用`,ヽて名詞や形容詞を組み合わせて名詞句や形容詞旬を作 るこ とが で きる .名 詞句 や形 容 詞句 を用 いることで,それぞ れ複雑な対象の概念や複雑 な対象 間の 関係 概 念を コン テキ スト か ら独 立に 表現できるようにな った,語彙構築機能を用い ること で, 基本 的 な語 彙を もと に, 派 生語 彙を 増やしていくことが できるようになった,導入 した名 詞 や 形 容 詞 を 述 語 定 義 や 質 問 で 利 用 す る 機 構 と し て り ス ト 述 語 を 導 入 し た . われわれ人間の知的 活動のための解放型包括的 統合環境としてのシンセティ ック・メディア・
アーキテクチャと,そ れを実現したシステムIntelligentPadカ濃案されている.シンセティック・
メデ ィア ・ アー キテ クチ ャで は ,「 メデ ィア」とぃう枠組み で,計算機上にのせられる あらゆ る知 識資 産 を統 一的 に取 リ扱 う .本 研究 では,語彙と「メデ ィア」という概念を対応さ せるこ とで ,シ ン セテ ィッ ク・ メデ ィ ア・ アー キテクチャと語彙を 導入した論理ブログラミン グとの 間に緊密な対応関係を とった.VocalogとIntelligentPadの融合を行い,Vocalogプログラムを可視 化し,視覚的プ口グラ ミング環境VPEを開発した.
ブログラミングに おける視覚化には,プログ ラムの作成環境の視覚化,プ 口グラムのデバッ グ環境の視覚化,そし てプ口グラムの利用環境の 視覚化がある,プ口グラムの 作成,デバッグ,
そし てブ ロ グラ ムの 利用 はそ れ ぞれ 独立 したものではなく相 互に関連している.これら の環境 を個 々独 立 に視 覚化 した ので は ,プ ログ ラム利用のための視 覚オブジェクトの動きを見 ながら 視覚的なデバッグを行 うといった,機能連携が行 えない.
本 研究 で は, ブロ グラ ムの 作 成, デバ ッグ,そしてプログ ラムの利用という三つの環 境をー つの シス テ ムに 統合 して 視覚 化 を行 なっ た.その際に,プ口 グラムの作成モード,ブ口 グラム のデ バッ グ モー ド, プロ グラ ム の利 用モ ードとして個々独立 に視覚化するのではなく, これら のモ ード が ーつ の環 境に 混在 し うる 統合 シス テ ムと した .こ れに より,VPEでは視覚化 された 個々 のモ ー ドを 独立 に利 用す る のみ なら ず,モード間をわた った機能連携を行うことが 可能と なった.
エ ンド ユ ーザ ーレ ベル で3つの モー ド 間の自在な機能連携 を行うためには,3つのモー ドをつ なぎ ぬな く 統合 する こと が必 要 とな る. 本研究では,モード 間の差異にとらわれずに視 覚オブ ジェ クト を 統一 的に 操作 する こ とが 可能 となるように,どの モードにおいても視覚オブ ジェク トの 表現 形 態を 同一 にし た. そ れぞ れの モード用の視覚オブ ジェクトの操作も含んだ見 せ方を 用意 して , それ ぞれ のモ ード に 適レ た視 覚オブジェクトの操 作及び表示が可能となるよ うにし た. これ に より ,3つの モー ド間 の自 在 な機 能連 携を 行う こ とが でき,かつ各モードに 特有の 視覚オブジェクトの操 作及び表示が可能となった .
本 論文 の 構成 を以下に示す.第1章では,自然言語におぃて 語彙が持つ役割を考察して いる.
第2章で は, 論理 プ口グラミング ヘ語彙と話彙構築機キ藩を導 入することにより何が得ら れるか につ いて 述 べる .第3章 では ,拡 張論 理 型プ口グラミング言 語Vocalogにおける語彙と語 彙稀築 機偽の導入方法,およ びVocalogインタープリタの 実現について説明を行って いる.第4章では,
Vocalogによ るプ 口グラミング例 を示している.第5章では,Vocalogブ口グラムをどのよ うにし て可 視化 す るか にっ いて 説明 す る, 第6章で は,Vocalogの視 覚的 統合ブログラミング環 境VPE が,IntelligentPadを 用いてどのように実現され ているかを示す.第7章では ,VPEの使用例を示 す.第8章は,本論文 のまとめである.
‑ 42−
学 位 論 文 審査 の要 旨
学 位 論 文 題 名
論 理 プ 口 グ ラ ミ ン グ ヘ の語 彙と 語 彙 構 築 機 構 の 導 入 に 関 す る 研 究
近年、 計算機の 性能は 飛躍的に向上しており、計算機上で扱う対象も大規模化かつ多種 多様化してきている。従来のプログラミング言語による対応は、プログラムにおける記述を 複雑なものとし、プログラムの保守・管理・再利用等の点で問題となっている。このため、よ り高レベルな記述が可能なプログラミング・パラダイム及びそれを実現したプログラミング言 語は大きな研究開発課題となっている。
本論文は、従来のプログラミング言語では重要視されていなかった 自然言語における語 彙が持つ機能 に注目し、その機能を論理プログラミングに導入することで、より高レベルな 記 述 が 可 能 と な る こ と を 示 し た も の で 、 そ の 主 要 な成 果 は 次 の2点 に 要約 さ れ る。
(1)論 理プログラミングヘ語彙と語彙構築機構を導入した拡張論理型プログラミング言語の 開発
(2)プ ログラムの作成、デバッグ、そしてプログラムの利用という三つののモードにまたが る 機 能 連 携 を 自 在 に 行 う こ と が 可 能 な 視 覚 的 統 合 プ ロ グ ラ ミ ン グ 環 境 の 開 発 (1)では、自然言語における名詞と形容詞に相当するものを論理プログラミングに導入す ること で、それ ぞれ対象 の概念 や対象間の関係概念をコンテキストから取り出してジェネ リックに記述することが可能となった。語彙構築機構を論理プログラミングに導入すること で 、 よ り 高 次 の 概 念 を コ ン テ キ ス ト か ら 独 立 に 定 義 す る こ と が 可 能 と な っ た 。 (2)は(1)の拡張論理型プログラミング言語のための視覚的統合プログラミング環境であ る。プログラムの作成モード、プログラムのデバッグモード、プログラムの利用モードがー つの環境に混在しうる統合システムとしたことで、視覚化された個々のモードを独立に利用 するのみならず、異なるモードにまたがった機能連携を行うことが可能となった。どのモー ドにおいても視覚オプジェクトの表現形態を同一にし、かつそれぞれのモードに特有の視覚 オプジ ェクトの 操作も含 み得る 表現法を 用意し たことで 、エンドユーザーレペルで3つの モード間の自在な機能連携を行うことおよび、各モードに特有の視覚オプジェクトの操作及 び表示が可能となった。
これを要するに、著者は、論理プログラミングヘの語彙と語彙構築機構の導入およぴそ れを実現した拡張論理型プログラミング言語を提案し、高レベルな記述が可能なプログラミ ング,パラダイム及びそれを実現したプログラミング言語に関して有益な知見を得たものであ り、ソフトウェア工学およびヒューマンインターフェース工学の進歩に貢献するところ大な るものがある。
よって 、著者は 北海道 大学博士(工学)の学位を授与される資格あるものと認める。
− 一43 ‑