



\documentstyle[epsf,jnlpbbl]{jnlp_j_b5}

\def\atari(#1,#2){}

\setcounter{page}{73}
\setcounter{巻数}{3}
\setcounter{号数}{2}
\setcounter{年}{1996}
\setcounter{月}{4}
\受付{1995}{7}{20}
\採録{1995}{9}{8}

\setcounter{secnumdepth}{2}

\title{構文付きコーパスの作成と類似用例検索システムへの応用}
\author{兵藤 安昭\affiref{KUEE} 
\and 河田 実成\affiref{KUEE} 
\and 応 江黔\affiref{KUEE} 
\and 池田 尚志\affiref{KUEE}}

\headauthor{兵藤 安昭・河田 実成・応 江黔・池田 尚志}
\headtitle{構文付きコーパスの作成と類似用例検索システムへの応用}
\affilabel{KUEE}{岐阜大学工学部 電子情報工学科}
{Department of Electronics and Computer Engineering, Faculty of Engineering, Gifu University}

\jabstract{
本論文では，まず，表層的情報のみを用いて安定的・高精度に構文
解析を行う骨格構造解析の方法について述べる．次に，これを用い
て行った 8万用例文に対する構文付きコーパスの作成について触れ，
骨格構造解析の有効性について述べる．さらに，この構文付きコー
パスを対象として構築した類似用例検索システムについて述べる．
本システムは，
 (1) 構文的制約(係り受け構造)を指定して検索できるので，単語レベルの
検索では検索されてしまうような多くの不適切な用例を絞り込むことができる
 (2) 分類語彙表を利用した意味コード化により，類似用例の検索も
可能である
 (3) インデックスに構文情報を含めることにより，高速な構造検索を実現して
いる
 (4) ユーザはウインドウ上で，三角表を用いた構文構造のブラウジング
，検索パターンの指定などができ，使いやすいインタフェースを実現している，
などの特徴がある．
}

\jkeywords{構文付きコーパス，骨格構造解析, 類似用例検索，シソーラス}

\etitle{Building a Large Corpus with Skeltal Syntactic \\ 
 	Structure and its Application to Similar Sentence \\
        Retrieval System}
\eauthor{Yasuaki Hyodo \affiref{KUEE} 
\and Mithunari Kawada \affiref{KUEE}
\and Jiangqian Ying \affiref{KUEE}
\and Takashi Ikeda \affiref{KUEE} } 

\eabstract{
In this paper we discuss firstly a method for skeltal syntactic
analysis which uses only surface information.
By this method we can successfully abstract the skeltal syntactic structure
of a long Japanese sentence. 
Secondly we discuss its use on building a large corpus with skeltal
syntactic structure consisting of about 80 thousand example sentences
from two Japanese-English dictionaries.
Thirdly we discuss our development of a similar sentence retrieval
system over this corpus. 
The advantage of this system is that 
(1) Syntactic structure as input search pattern enables the system to
dismiss unnecessary example sentences. Thus it raises the precision
of the sentence retrieval.
(2) Similar sentence retrieval realized on the basis of word encoding
according to  the thesaurus hierarchy.
(3) Index table including syntactic information enables the system to
make high speed retrieval.
(4) The system has an excellent graphical user interface using the triangle
representation of syntactic structure.
}

\ekeywords{tagged corpus, skeltal syntactic structure, similar sentence
retrieval, thesaurus}

\makeatletter
\def\figcap#1#2{}
\def\tblcap#1#2{}
\makeatother

\begin{document}
\maketitle

\vspace*{5mm}

\section{はじめに}
近年，電子化された大規模なテキストデータベース(コーパス)が身近に存在す
るようになり，その中から必要とする情報のみを高速に検索することができる
テキスト検索システムの重要性が改めて認識されるようになってきた．
また，検索の目的としても，単にある文字列を検索してくるというだけでなく，
用例ベースの翻訳支援システムなどで要求されるように，ある言い回し，ある
種の意味内容について検索してくるといった高度な検索が求められるようになっ
てきた\cite{Kishimoto1994}．

このような高度な検索のためには，検索対象であるテキストデータを解析して
種々の情報をあらかじめ付加しておく必要がある(タグ付きコーパス)．
タグ付きコーパスとしては，形態素解析を行って単語に分割し，品詞情報を
付加したものが作成されているが，前述のような検索要求に対しては，これで
はまだ不十分であり，構文情報を付加したデータが望まれる．
しかし，長文を含む一般の大量のテキストに対して，安定的に高精度の構文解
析を行うことは現状ではまだ困難である．
我々は以前，人手により構文解析したコーパス(約3500文)を実験的に作成し，
これを対象とした用例検索システムTWIXの構築を行ったが\cite{HyodoAndIkeda1994}，
実用的なレベルの大規模な構文付きコーパスを作成するには
人手による方法では現実的ではない．

そこで我々は，必ずしも常に完全な構文木ではないが，場合によっては部分的に曖
昧さを残したままの解析木を，表層的な情報のみを用いて安定的に求める骨格構造解析
手法を開発し，これを用いて構文付きコーパスを構築することを試みた．
さらに，この構文付きコーパスを対象として，分類語彙表の意味分類を利用し
た意味コード化をも加え，類似用例検索システムの構築を行った．
本システムでは，構文的制約(係り受け構造)を指定して検索できるので，単語
レベルの検索では検索されてしまうような多くの不適切な用例を絞り込むこと
が可能となる．

本研究では，講談社和英辞典およびオーム社科学技術和英大辞典の用例(約8万文)
について，骨格構造解析により構文付きコーパスの作成を行なった．
このうち200文を取り出して解析結果を評価したところ，骨格構造解析結果
中に正しい解析木を含んでいるものは約93\%，その中で，係り先が曖昧な文節は
約8\%であり，高い精度が得られることを確認した．
また，このコーパスを対象として類似用例検索システムによる検索実験を行い，
骨格構文構造を用いることの有効性，さらに意味コード化の有用性を確認した．

以下では，２章で骨格構造解析と構文付きコーパスの作成方法について述べ，
３章で類似用例検索システムの実現方法，４章で検索実験とそれについての考
察を行う．

\section{構文付きコーパス}
ある単語が現れるか否かだけでなく，単語間の関係すなわち係り受け関係をも
指定して用例を検索することができれば，ある言い回しを含んだ文を検索する
ことや，ある意味内容を含んだ文を検索することなど，検索対象をさらに絞り込ん
だ高度の検索をすることができる．
そのためには，単語，品詞などの形態素情報をタグとして付加するだけでは不
十分で，構文情報が付与されたコーパスを作成しなければならない．しかし，
完全な構文解析には意味情報も必要であり，長文を含む大量のテキストに対し
て安定的に高い精度で構文解析を行なうことは現在のところ未だ困難である．
そこで，我々は，完全な構文解析木を得るものではないが，文の骨格的な構造
を表層情報のみを用いて解析する方法を開発した
\cite{HyodoAndIkeda1995}．
この方法は，意味を考慮しないと正確に解析できない部分については，曖昧な
まま残しておき，それ以外の文全体の構造を正確に把握しようとするものである．
本研究では，対訳付の辞書用例8万文について，骨格構造解析により構文付き
コーパスの作成を行なった．
このうち200文を取り出して解析結果を評価したところ，骨格構造解析結果
中に正しい解析木を含んでいるものは約93\%，その中で，係り先が曖昧な文節は
約8\%であった．以下2.1節で骨格構造解析の概要を述べ，2.2節で構文付コーパ
スの作成実験について述べる．


\subsection{骨格構造解析}
骨格構造解析は次の２段階により行なう．
(1)形態素解析を行なって文節列を求め，係り受けに関する文節の属性(文節カ
テゴリ)を求める．(2)文節カテゴリと以下に述べるブロック化規則に基づいて
文節列に次々と{\it N}近傍ブロック化処理を施す．
{\it N}近傍ブロック化とは隣接する{\it N}文節(あるいは{\it N}ブロック)
間の係り受け関係を
定めることであり，場合によっては曖昧な係り受け関係をそのまま含む．
このように本手法では，係り受け関係は隣接する{\it N}近傍において構成されると
いう仮説に基づいている．実際には{\it N}=3として解析している．

\subsubsection{形態素解析と文節カテゴリの付与}
まず始めに，文を単語単位に分割し，それらを文節単位に区切る．
そして，各文節の形態素情報を元に文節カテゴリを付与する．
文節カテゴリとは，文節自身のタイプ(自立語の品詞)と係り先文節のタイプに
よりカテゴライズしたもので，文節自身のタイプを，体(名詞)，用(動詞，形容詞，
形容動詞)，副(副詞，連体詞)，接(接続詞)の４つのに大分類し，これらの組
合せにより「体用」「体体」などの１０種のカテゴリを設けた．
その他に，文節が並列構造を構成する可能性があることを示す「体並，用並」，
主題を表す機能語「は・では」が含まれる文節「は用」，
時を表す名詞が含まれる文節「時用」の４つのカテゴリを設けている．

\subsubsection{係り受けブロック化規則による文節列のブロック化}
ブロック化処理では，{\it N}ブロック先までを係り受けの範囲として調べる．
{\it N}=3とした時，ブロック内の係り受け可能性の組合せは文節カテゴリに基づ
けば，図\ref{block-rule}に示す$\ 2^{6}=64 $ 通りが考えられる．
このうち，図\ref{block-rule}(a)--(l)の30通りがブロック化可能なパターン
である．例えば，図\ref{block-rule}(a)の場合は，文節Aは文節Bに係ると解
析され，文節A,Bを１つのブロックとしてブロック化を行う．
また，ブロック化が可能なパターンの中で，図\ref{block-rule}(h)(i)(j)(l)
については，曖昧さを含んだブロックとして解析される．
例えば，図\ref{block-rule}(h)の場合は，文節Aは文節Bか文節Cに係ると解析
される．
その他のパターン(34通り)は，ブロック化が不可能なパターンである．
図\ref{block-rule}(m)の8通りは文節AがB,C,Dのいずれにも係りえ
ないためブロック化が不可能なパターン，図\ref{block-rule}(n)--(q)の
10通りは，非交差条件によりブロック化できないパターン，図
\ref{block-rule}(r)--(w)の16通りは，文節カテゴリの組合せにより出現しえ
ないパターンである．

ブロック化の途中で，読点が出現した時は，その文節までをブロック化の範囲
として解析し，ブロック化を一時中断しておく(読点ブロック)．
ここで，{\it N}ブロック前か，直前の読点文節のいづれか遠いブロックに戻り，
ブロック化が可能な状態に変化しているかどうか順次調べ，
その後，読点ブロックの次の文節を起点とするブロック化処理を行う．
また，係り可能性のパターンが図\ref{block-rule}(m)--(q)に該当する時には，
ブロック化が行われず，必然的にブロック化が停止する．この場合も，読点で
停止した時と同様の処理を行う

このようにして，{\it N}文節よりも遠い文節と係り受け関係をもつことが可能とな
るが，この場合でも，ブロックで見るとその関係はＮブロック以内になっている．

\begin{figure}[ht]
\vspace{-2mm}
\begin{center}
  
\epsfile{file=fig1.eps,width=106mm}
  \caption{係り受けブロック化規則}\label{block-rule}
\end{center}
\end{figure}
\vspace{-15mm}

\subsubsection{ブロック化処理手順例}
ブロック化処理の手順例を図\ref{skelton-ana}に示す．文頭より解析を始め
「一度」から「汚れた」，「汚れた」から「環境を」，「環境を」から「戻す」
までにブロック化規則，図\ref{block-rule}-(a),(a),(f)をそれぞれ適用して
ブロック化を施す(図\ref{skelton-ana}-(1))．
次に，先にブロック化された「一度…戻す」から「難しさを」までをブロック
化する．これにより「戻す」の係り先は「ことの」と「難しさを」の２通りが
あると解析される．その後「難しさを」から「体験している」，「体験してい
る」から「日本は，」までをブロック化する(図\ref{skelton-ana}-(3))．
文節カテゴリ「は用」は主題を表す文節であって，一般に後続するいくつかの
文節に係る可能性がある．そのため，このような文節の係り先は保留して，
次の文節「技術援助の」からブロック化を行う．以下，同様に解析を進める．

\begin{figure}[htb]
\begin{center}
\unitlength 1cm
\noindent
\begin{picture}(14.47, 3)
\thicklines
\small
\put(0,3.2){\underline{\gt 原文}}
\put(0,2.7)
{一度汚れた環境を元に戻すことの難しさを身をもって体験している日本は，
技術援助の先進国となり，…}

\put(0,2.0){\underline{\gt 文節カテゴリの付与}}

\put(0,1.5){
(一度 副用)(汚れる た 用体)(環境 を 体用)(元 に 体用)(戻す 用体)
(こと の 体体)(難しさ を 体用)}
\put(0,1.1){
(身をもって 副用)(体験する ている 用体)(日本 は ， は用)
(技術＃援助 の 体体)(先進国 と 体用)}
\put(0,0.7){
(なり ，用並)…}

\put(0,0){\underline{\gt ブロック化処理}}
\end{picture}

\vspace{2mm}
  
\epsfile{file=fig2.eps,width=115mm}
\caption{骨格構造解析例}
\vspace{-10mm}
\label{skelton-ana}
\end{center}
\end{figure}


\subsection{構文付きコーパス}
本実験では，講談社和英辞典\cite{koudannsya}とオーム社科学技術和英大辞
典\cite{ohm}の中の英語対訳付き用例文約8万文(図\ref{text})に対して骨格
構造解析を行ない図\ref{skeltal-data}のような構文付きコーパスを作成した．


\begin{figure}[htb]
\begin{center}
\vspace{-4mm}
\noindent\fbox{\parbox[t]{138mm}{
\begin{flushleft}
\ a. 講談社和英辞典(約53000文，１文あたり平均13文字) 
\end{flushleft}
\vspace{-2mm}
\begin{itemize}
\small
\item その服は彼女の体にぴったり合った(16文字)
\item 彼の考えに合うように計画を立てなさい(18文字)
\end{itemize}
\begin{flushleft}
\ b. オーム社科学技術和英大辞典(約27000文，１文あたり平均35文字) 
\end{flushleft}
\vspace{-2mm}
\begin{itemize}
\small
\item 一方的な段階的撤去は，アメリカ国益と相いれない重大な含みをもつことになるというのが，産業界の見解である(51文字)
\item 離陸して低速で上昇するという一方の要求と，巡航効率という他方の相いれない要求との妥協点を見いだすのは比較的容易である(58文字)
\end{itemize}
}}
\caption{解析対象データベース}
\vspace{-10mm}
\label{text}
\end{center}
\end{figure}

\begin{figure}[htb]
\begin{center}
\noindent\fbox{\parbox[t]{110mm}{
\hspace*{2mm}
\begin{minipage}[t]{107mm}
\small
{\gt 0:原テキスト} \\
\hspace*{1em}彼の言っていることは事実と合わぬ \\

{\gt 1:骨格構造データ} \\
(@1 ((彼 @2) の 体用) @2 ((言う @3) ている 用体) @3 ((こと @5) は 体用)  \\
\hspace*{1mm}@4 ((事実 @5) と 体用) @5 ((合う) ぬ 用終)) \\

{\gt 2:意味分類コード化データ} \\
(@1 (((1100001 1200003) @2) の 体用)  \\
\hspace*{1mm}@2 (((2310002 2312001) @3) ている 用体) \\
\hspace*{1mm}@3 (((1101001 1112002 1254003 1310101 …) @5) は 体用) \\
\hspace*{1mm}@4 (((1103001) @5) と 体用) \\
\hspace*{1mm}@5 (((2112003 2155001 2375001)) ぬ 用終)) \\

{\gt 3:対訳英文} \\
His testimony does not agree with the facts. \\
\end{minipage}
}}
\caption{構文付きコーパス(講談社和英辞典)}
\label{skeltal-data}
\end{center}
\end{figure}



\subsubsection{骨格構造データ}
骨格構造データは，原テキストに骨格構造解析を施したものである．
実験では，形態素解析用の自立語辞書としてはＥＤＲ日本語単語辞書
\cite{edr}より単語
の見出し・品詞情報のみを取り出したものを，機能語辞書については我々が実
際のテキストベースから収集し拡張，整理した複合機能語辞書(約200のグルー
プ，見出し語数約1500語)\cite{HyodoAndIkeda1992}を用いた．

データは次のような形式で登録されている．\\
\hspace*{5mm}\underline{(\hspace{-.2em}・\hspace{-.7em}・\hspace{-.7em}・\hspace{-.2em} (文節番号 ((自立語 \ 係り先文節列) \ 機能
語列 \ 文節カテゴリ)\ \hspace{-.2em}・\hspace{-.7em}・\hspace{-.7em}・\hspace{-.2em})} \\
活用語は終止形に戻し，複合語は，その構成語を＃で連接して登録してある．
機能語は，複合機能語辞書中のグループ名で登録した．例えば「ている」
「てはいる」「てもいる」のように意味的には同じであるが，派生的な語は同
じ機能語として登録されている．



\subsubsection{意味分類コード化データ}
類似用例の検索を実現するために，
分類語彙表\cite{bunrui}を用いて，文節内の自立語(複合語は，その構成語各々)に対して，
意味分類を用いた番号付けによってコード化を施した(意味分類コード)．
このコード化により，意味分類コードの前方一致位置よって完全一致検索を含めた
３つのレベルの曖昧検索が可能となる．


\vspace*{5mm} 
表\ref{ana-answer}に，この8万文の中から抜き出したそれぞれ100文について，
形態素解析，文節カテゴリ付け，骨格構造解析での正解文数を示す．
講談社和英辞典については，骨格構造解析結果が正しい解析木を含んでいるも
のは100文中で97文，科学技術和英大辞典では90文であった．
誤りのほとんどは，形態素解析あるいは文節カテゴリ付けの失敗によるもので
あり，これらが正しく行われば骨格構造解析そのものは，98\%以上の精度で
正しい解析木を含むものが得られる．
また，100文中で，係り先が特定できない文節(曖昧文節)は，科学技術和英大
辞典では約9\%出現した．係り先が１つに特定できないと，構造を指定して検索
する際に，検索パターンと構文的には異なるものを検索してしまう可能性があ
る．この点については４章で述べる．


\begin{table}[htb]
\begin{center}
\caption{解析精度}
\label{ana-answer}
\begin{tabular}{|c||c|c|c||c|} \hline
 & \multicolumn{3}{c||}{100文中の正解文数} &  \\ \cline{2-4}
 & \ \ {\small 形態素解析}\ \  & {\small カテゴリ付け} & 
	{\small 骨格構造解析} & {\raisebox{1.5ex}[0pt]{曖昧文節}} \\ \hline \hline
講談社和英辞典     & 98/100 & 98/98  &  97/98  &  19/314 (6\%)   \\ \hline
科学技術和英大辞典 & 95/100 & 92/95  &  90/92  &  74/809 (9\%)  \\ \hline
\end{tabular} \\

\vspace{2mm}
{\small 曖昧文節：係り先が特定できない文節数／文末以外の合計文節数}
\vspace{-5mm}
\end{center}
\end{table}

\begin{figure}[b]
\begin{center}
  
\epsfile{file=fig5.eps,width=107mm}
\caption{システム構成図}
\label{system}
\end{center}
\end{figure}


\section{類似用例検索システム}
2章で述べた骨格構造解析によって構文付きコーパスを作成し，
それを対象として用例検索システムを構築した。
この用例検索システムでは，単語や品詞情報などの形態素的制約だけではなく，
構文的制約(係り受け関係)を指定して検索することができる．
この構文的制約によってユーザの検索意図に反する多くの不用な用例を省き，
必要な用例に絞り込んだ検索をする．
また，検索対象とするコーパスは分類語彙表により意味分類コード化処理が施
してあるため，類似用例を検索することも容易である．

以下，3.1節でシステムの概要を，3.2節で構造コードを含む索引表について述べ，
3.3節で検索アルゴリズム，3.4節で本システムのインタフェースについて述べる．

\subsection{システムの概要}
システム構成図を図\ref{system}に示す．
本システムは，構文付きコーパス，索引表，入力文解析部，検索部，
インタフェース部から構成されている．

入力された検索対象文は，入力文解析部で解析され，その構造がインタフェー
スのウインドウ上に表示される．
この構造表示の上で，さらに検索したい部分構造を特定することができる．
検索は２段階に分けて行われる．まず始めに，検索パターン中の自立語または
機能語が出現する文を索引表から検索する(一次検索)．
次に，検索された文を対象として，検索パターンと構造的に一致するか否かの照合
を行う(二次検索)．


\subsection{構造検索のための索引表の作成}
本システムでは，用例中に出現する自立語，意味分類コード，機能語を対象と
して索引表を作成した．
ただし，機能語「の，は，を，が，に，た」については，索引表に登録してい
ない．
本システムでは，索引表は，検索対象を制限するための一次検索において用い
るが，これらの機能語は，非常に多くの用例に出現するため，このような効果
が小さいからである(表\ref{func})．
検索パターンにこれらの機能語が含まれる場合には，二次検索の際に，
これらの機能語が含まれるか否かを調べている．

\begin{table}[htb]
\begin{center}
\vspace{-5mm}
\caption{機能語の出現頻度(のべ出現回数)}
\label{func}
\begin{tabular}{|c||c|c|} \hline
& {\small \ \ 講談社和英辞典\ \ } & {\small 科学技術和英大辞典} \\ 
& {\small (約27000文)} & {\small (約53000文)} \\ \hline \hline
は  &  26814        & 19745     \\ \hline
を  &  20373        & 17486     \\ \hline
の  &  19300        & 29968     \\ \hline
た  &  18371        & \ 7564      \\ \hline
に  &  14324        & 13367     \\ \hline
が  &  10532        & 12976     \\ \hline
\end{tabular}\\
\vspace{-9mm}
\end{center}
\end{table}

\begin{figure}[htb]
\begin{minipage}[t]{6cm}
\unitlength 1cm
\begin{picture}(5, 4.5)
\thicklines
\small
\put(0.8,3.5){\framebox(3.5, 1.3){\shortstack[l]{001 計画を立てる \\ 002 計画を実行する \\
					   003 計画に反対する}}}
\put(0.4, 2.7){計画}\put(1.9, 2.8){\vector(1,0){1.5}}\put(3.6, 2.7){001, 002, 003}
\put(0.4,2.3){立てる}\put(1.9, 2.4){\vector(1,0){1.5}}\put(3.6, 2.3){001}
\put(0.4,1.9){実行する}\put(1.9, 2){\vector(1,0){1.5}}\put(3.6, 1.9){002}
\put(0.4,1.5){反対する}\put(1.9, 1.6){\vector(1,0){1.5}}\put(3.6, 1.5){003}
\put(0.4,1.1){を}\put(1.9, 1.2){\vector(1,0){1.5}}\put(3.6, 1.1){001, 002}
\put(0.4,0.7){に}\put(1.9, 0.8){\vector(1,0){1.5}}\put(3.6, 0.7){003}
\end{picture}
\caption{単純な索引表}
\label{index}
\end{minipage}
\hfill
\begin{minipage}[t]{8cm}
\unitlength 1cm
\begin{picture}(9, 5)
\thicklines
\small
\put(1.5,3.5){\framebox(4.5, 1.4){\shortstack[l]{\hspace*{-3mm}001 計画を立てる \\ 
				((@1 (計画 @2) を 体用) \\
				\hspace*{1.5mm}(@2 (立てる) 用終))}}}
\put(0.2,2.7){\framebox(0.9, 0.5){計画}}
\put(1.3,2.5){\shortstack[l]{ 文番号 \underline{001}, \ \ 
                              文節番号 \underline{1}, \ \ 
	                      係り先文節 \underline{2}, \\
                              文節カテゴリコード \underline{2}(体用)}}
\put(5.2, 2.6){\vector(1,0){1}}
\put(6.4, 2.5){\underline{\normalsize 001122}}
\put(0.4, 2){計画}\put(1.9, 2.1){\vector(1,0){1.5}}\put(3.6, 2)
					{001122, 002122, 003122}
\put(0.4,1.6){立てる}\put(1.9, 1.7){\vector(1,0){1.5}}\put(3.6, 1.6){00127}
\put(0.4,1.2){実行する}\put(1.9, 1.3){\vector(1,0){1.5}}\put(3.6, 1.2){00227}
\put(0.4,0.8){反対する}\put(1.9, 0.9){\vector(1,0){1.5}}\put(3.6, 0.8){00327}
\put(0.4,0.4){を}\put(1.9, 0.5){\vector(1,0){1.5}}\put(3.6, 0.4){001122, 002122}
\put(0.4,0){に}\put(1.9, 0.1){\vector(1,0){1.5}}\put(3.6, 0){003122}
\end{picture}
\caption{構造コードを含む索引表}
\label{indexing}
\end{minipage}
\end{figure}


通常の索引表では，図\ref{index}に示すように，ある単語に対して，どの文
に出現したかを示す文番号列のみを登録するが，本システムでは，二次検索で
構造の照合を行う必要があるので，その単語が出現する文番号だけでなく，単
語のテキスト中での出現位置(文節番号)，文節カテゴリコード，係り先文節番
号列を同時に登録した(以下，構造コードと呼ぶ)(図\ref{indexing})．

このような構造コードを登録することにより，二次検索で構造の照合を行う時に，
２次記憶上にある構文付きコーパスを再度アクセスすることなく、
構造コードに対して検索パターンとの照合を行えばよいので，高速な構造検索が
可能となる．



\subsection{検索アルゴリズム}
検索は，以下のように一次検索，二次検索の２段階に分けて行う．一次検索では
検索パターン中の単語が現れる文を検索し，二次検索で，検索された文を対象と
して，検索パターンと構造的に一致するか否かの照合を行う．

\begin{enumerate}
\item{自立語，機能語による絞り込み(一次検索)} \\
本システムは自立語に対して，次のような種類の検索を可能としている．

\begin{enumerate}
\item 1. 単語による完全一致検索 
\item 2. 意味分類コードによる類似用例検索 \\
\hspace*{2em}・曖昧レベル１検索 ・曖昧レベル２検索
\end{enumerate}

単語による完全一致検索の場合の一次検索は，入力された単語と完全に
一致する文を自立語索引表を用いて検索する．
類似用例検索の場合の一次検索は，各単語の意味分類コードを用いて検索を行
う．
その際，図\ref{bunrui}のように，曖昧レベル１検索では，意味分類コードＡ，
Ｂが一致する単語を含む用例を，曖昧レベル２検索では，意味分類コードＡの
みが一致する単語を含む用例を検索する． 
これにより，意味分類コードに対して単純な前方一致検索を行うだけで，その
一致位置により２つのレベルの曖昧検索が可能となる．

\begin{figure}[htb]
\begin{center}
\unitlength 1cm
\begin{picture}(5, 2.5)
\thicklines
\small
\put(0.5, 2.2){\normalsize 列車}
\put(1.3, 2,4){\vector(1,0){1}}
\put(2.8, 2.7){Ａ}
\put(3.6, 2.7){Ｂ}
\put(2.5,2.1){\framebox(0.9, 0.5){\normalsize 1465}}
\put(3.5,2.1){\framebox(0.5, 0.5){\normalsize 08}}

\put(0, 1.6){曖昧レベル１検索}
\put(0.2, 1.2){\underline{1465} \underline{08} 電車}
\put(0.2, 0.8){\underline{1465} \underline{08} 機関車}
\put(0.2,   0.4){\underline{1465} \underline{08} トロッコ}
\put(0.5,   0){$ \cdots \cdots \cdot $}

\put(3.5, 1.6){曖昧レベル２検索}
\put(3.7, 1.2){\underline{1465} 03 車}
\put(3.7, 0.8){\underline{1465} 03 バイク}
\put(3.7,   0.4){\underline{1465} 09 新幹線}
\put(4,   0){$ \cdots \cdots \cdot $}
\end{picture}
\caption{分類語彙表による類似検索}
\vspace{-5mm}
\label{bunrui}
\end{center}
\end{figure}

機能語については，
例えば「ている，てはいる，てもいる」のような派生的な語は１つのものとし
て登録してある．そのため「ている」「てはいる」「てもいる」は同じ語とし
て検索される．

\item{構造検索(二次検索)} \\
二次検索では，索引表にコード化されている構造コード中の文節番
号，係り文節番号，文節カテゴリコードを参照して，検索パターンと
一次検索で抽出された文との間に構造的一致があるか否かを検査する．
例えば，検索パターンが図\ref{struct}のように＃に続く番号で表現されている
とすると，一次検索において，＃１と＠３，＃２と＠４，＃３と＠５が一致
していることがわかる．従って，ここでは＃１と＃３の構造が＠３と＠５
の構造と，＃２と＃３の構造が＠４と＠５の構造と同じであれば構造が一致
したといえる．

\begin{figure}[htb]
\begin{center}
\vspace{-2mm}
  
\epsfile{file=fig9.eps,width=61mm}
\caption{係り受け構造の照合}
\vspace{-3mm}
\label{struct}
\end{center}
\end{figure}

骨格構造解析により解析されたコーパスには，係り先が一意に決定されていない場合があるが，
そのような場合には，対象とする用例中に検索パターンとの構造が一致する
ものが含まれていれば，構造的に一致したことにする(図\ref{aimai})．

\begin{figure}[htb]
\begin{center}
\vspace{-2mm}
\epsfile{file=fig10.eps,width=69mm}
  
\caption{係り先が複数ある構造の照合}
\vspace{-3mm}
\label{aimai}
\end{center}
\end{figure}

また，並列構造を構成する可能性がある文節については，係り先文節は
決定されず，「体並・用並」という文節カテゴリが付与されている．
そこで，並列構造を指定して用例を検索する際には，対象とする用例の
文節カテゴリが一致しているか否かの検査を行うことにより構造の照合を行う
(図\ref{para})．

\begin{figure}[htb]
\begin{center}
\vspace{-2mm}
  \epsfile{file=fig11.eps,width=57mm}
\caption{並列構造の検索}
\vspace{-3mm}
\label{para}
\end{center}
\end{figure}
\end{enumerate}


\subsection{検索インターフェース}
検索システムの実行画面を図\ref{interface}に示す．
インタフェースはX-Window上に構築されており，
ユーザが検索文入力ウィンドウに文を入力すると，骨格構造解析が実行され，
解析結果が三角表現を用いてウィンドウ上に表示される．
検索パターンの指定は，三角表上で，係り先を示すウインドウ(図中の矢印)を
マウスでクリックするという簡単な操作で行われる．
検索結果もウインドウ上に表示され，ユーザは検索された用例の構造を三角表
上で確認することも可能である．
また，構造の三角表現は，縮退表示することも可能である(図\ref{reduce})．これに
より，長い文の全体構造も，ウインドウ上で一度に把握することができる．

\begin{figure}[htb]
\begin{center}
\vspace{-5mm}
\epsfile{file=fig12.eps,width=88mm}
  
\caption{検索インターフェース}
\label{interface}
\end{center}
\end{figure}


\begin{figure}[htb]
\begin{center}
\vspace{-10mm}
  
\epsfile{file=fig13.eps,width=90mm}
\caption{三角表の縮退表示}
\vspace{-5mm}
\label{reduce}
\end{center}
\end{figure}


\section{検索実験}
本システムの有効性を検証するために，次の３点について評価を行った．
\begin{itemize}
\item 構造検索により，検索パターンと構造が一致しない用例をどの程度，棄
却可能か．
\item 骨格構造解析手法により解析されたコーパスには，係り先が曖昧な文節
が登録されているが，このコーパスを対象として，どの程度，正確な構造検索
が可能であるか．
\item 分類語彙表を用いた類似用例検索で，どの程度，広範囲に用例を検索できるか．
\end{itemize}


\subsection{検索例および評価}
実験では，２章で述べた各辞書用例(講談社和英辞書，オーム社科学技術和英
大辞典，合計8万用例)を検索対象として，以下に示す各検索パターンについて
検索を行った．

\begin{enumerate}
\item 「品質」が「向上する」に係る用例
\item 「装置を」が「作る」に係る用例
\item 「(A)と」と「(B)との」が並列で「バランス」に係る用例
\item 「(Aし)ている」が「間」に係る用例
\item 「(A)について」と「(B)を」が「行う」に係る用例
\item 「〜ように」が「〜なさい」に係る用例
\end{enumerate}

結果を表\ref{answer}に示す．
検索パターン(1),(2),(3)については，分類語彙表を用いた類似用例検索を，
(4),(5),(6)では完全一致検索を行なった．
また，それぞれの実験で，係り受け構造を指定した場合(構造検索)の検索用例
数と，指定しない場合(単語検索)の検索用例数を調べた．

講談社和英辞典の用例は単文がほとんどで，構造検索での効果はあまり見られ
なかった．しかし，長文が数多く含まれている科学技術和英大辞典では，指定
した単語が１文中で無関係に現れる場合が多く，係り受け関係を指定すること
により，このような数多くの用例を棄却することができた．

\begin{table}[htb]
\begin{center}
\caption{検索実験}
\label{answer}
\begin{tabular}{|c||c|c|c|c|c|c|} \hline
\small
& \multicolumn{3}{c|}{科学技術和英大辞典} 
& \multicolumn{3}{c|}{\ \ \ 講談社和英辞典 \ \ \ } \\ \cline{2-7} 
& 単語検索  & 構造検索 & 誤り & 単語検索 & 構造検索  &  誤り \\ \hline \hline
(1) &  4/12/31 &  3/10/24 & 0 &  0/0/0 &  0/0/0 & 0     \\ \cline{1-7}
(2) &  5/ 9/25 &  3/ 6/17 & 0 &  0/2/3 &  0/2/3 & 0     \\ \cline{1-7}
(3) &  2/ 4/ 6 &  2/ 4/ 6 & 1 &  0/1/1 &  0/1/1 & 0      \\
\cline{1-7} \hline
(4) & 129 & 38 & 1 & 44 & 8 & 0     \\ \cline{1-7}
(5) & 23 & 12 & 0 & 0 & 0 & 0     \\ \cline{1-7}
(6) & 11 & 6 & 0 & 47 & 47 & 0     \\ \cline{1-7}
\end{tabular} \\
\vspace{2mm}
\small
(1)(2)(3): 
完全一致検索／曖昧レベル１検索／曖昧レベル２検索による検索用例数を示す
\end{center}
\end{table}

今回の実験では，骨格構造解析が曖昧な解析結果を含むことに起因して，
構造的に検索パターンと一致しない誤った用例を検索してしまったのは
合計2文のみであった．
また分類語彙表を用いた類似用例検索では，それぞれの実験で，数多く
の類似用例が検索されている．

以下で各検索結果について詳細に述べる．\\

\vspace*{-10mm}
\paragraph{(1)「品質」が「向上する」に係る用例}(図\ref{example1}) \\
\hspace*{1em}「品質」の同義語として「質，性能」を含む用例が検索されている．
単語のみを指定して検索を行うと31文が検索されたが，この中で検索パター
ンと構造的に一致しない用例が7文含まれていた(図\ref{example1}-a)．
これらの用例は構造を指定することにより，棄却できる．

\begin{figure}[htb]
\begin{center}
\vspace{-5mm}
\noindent\fbox{\parbox[t]{140mm}{
\small
\begin{flushleft}a. 単語検索による検索用例：31文(構造が一致しない用例：7文)
\end{flushleft}
\vspace{-3mm}
\begin{itemize}
\item \underline{向上した}\hspace{-.07em}精度および高\hspace{-.07em}\underline{品質}\hspace{-.07em}の仕上げは，
	はねられる部品がほとんどなくなることを意味している
\item \hspace{-.2em}・\hspace{-.6em}・\hspace{-.6em}・\hspace{-.2em}システムのスループットを\underline{向上し}，利用\underline{性}
    	を高め，さらに充分にシステム管理を行う
\end{itemize}
\begin{flushleft}b. 構造検索による検索用例：24文
\end{flushleft}
\vspace{-3mm}
\begin{itemize}
\item 相接するドット領域の一部分が縦と横の両方向に重なり合
	うので，印字\underline{品質}は\underline{向上する}
\item 生産されるガソリンの量と\underline{質}を\underline{向
	上させる}ために行われる熱分解および接触分解精製処理
\item 金属は曲げ\underline{性能}を\underline{向上させる}ために，
	一般的に波形がつけられている
\end{itemize}
}}
\caption{「品質」が「向上する」に係る用例の検索結果(一部)[科学技術和英
大辞典]}
\label{example1}
\end{center}
\vspace{-10mm}
\end{figure}

\paragraph{(2)「装置を」が「作る」に係る用例}(図\ref{example2}) \\
\hspace*{1em}この例では，機能語「を」を加えて，検索を行った．
従来の単語中心での検索では，このような機能語を加えることにより，係り先
の制約を与えようとしていた．
しかし，図\ref{example2}-aに示すように，１文中に「装置を」と「作る」が無
関係に出現する場合も，単語のみを指定した場合には検索されてしまう．

\begin{figure}[htb]
\begin{center}
\vspace{-5mm}
\noindent\fbox{\parbox[t]{140mm}{
\small
\begin{flushleft}
a. 単語検索による検索用例：25文(構造が一致しない用例：8文)
\end{flushleft}
\vspace{-3mm}
\begin{itemize}
\item この\underline{装置を}用いれば，手で\underline{つくる}よりももっ
と整ったコンパクトなものができる
\item \hspace{-.2em}・\hspace{-.6em}・\hspace{-.6em}・\hspace{-.2em} 二つ又は数箇の\underline{装置を}つなぎ，一つの
システムを\underline{つくる}
\end{itemize}
\begin{flushleft}
b. 構造検索による検索用例：17文
\end{flushleft}
\vspace{-3mm}
\begin{itemize}
\item 半導体\underline{装置を} \underline{作る}上で最も重要なステップの一つは，できる限り完全な格子構造をもつ結晶を作ることである
\item すなわち，ＩＣ不況の影響をまともに受けているのが，チップを生産するための写真製版\underline{装置を} \underline{製造し}ている会社である
\end{itemize}
}}
\caption{「装置を」が「作る」に係る用例の検索結果(一部)[科学技術和英
大辞典]}
\label{example2}
\vspace{-10mm}
\end{center}
\end{figure}

\paragraph{(3)「(A)と」と「(B)との」が並列で「バランス」に係る用例}(図\ref{example3}) \\
\hspace*{1em}「バランス」の類似語として「釣合」「かねあい」が検索され
ている．
この例では，構造を指定した場合の効果は見られなかったが，
構造的に検索パターンと一致しない用例も，１文誤って検索されている．
図\ref{bad-search}に示すように，骨格構造解析では「放射損失との」の係り
先が一意に決定できていないため，この用例も検索パターンと一致するとして
検索されてしまう．

\begin{figure}[htb]
\begin{center}
\vspace{-5mm}
\noindent\fbox{\parbox[t]{140mm}{
\small
\begin{flushleft}単語検索結果6文(全用例，構造一致)
\end{flushleft}
\vspace{-3mm}
\begin{itemize}
\item ５分間装置に圧力をかければ，油の
      使用量\underline{と}好ましい潤滑状態\underline{との} \underline
      {バランス}が最適になる
\item サービスの実行可能な等級を選ぶには，使用者が受けたいと望むサービス
	\hspace{-.07em}\underline{と}，使用者が進んで払いたい報酬額\underline{との} \underline{釣合}が必要である
\item 始動トルクは，静電容量が最良運転値\underline{と}最良始動値
	\hspace{-.07em}\underline{との} \underline{かねあい}であるので，ぎせいにしな
 	ければならない
\end{itemize}
}}
\caption{「(A)と」と「(B)との」が並列で「バランス」に係る用例(一部)
[科学技術和英大辞典]}
\label{example3}
\end{center}
\end{figure}

\begin{figure}[htb]
\begin{center}
\vspace{-10mm}
  
\epsfile{file=fig17.eps,width=74mm}
\caption{構造的に誤った検索例}
\vspace{-10mm}
\label{bad-search}
\end{center}
\end{figure}

\paragraph{(4)「(Ａし)ている」が「間」に係る用例}(図\ref{example4}) \\
\hspace*{1em}機能語「ている」は，コーパス中に出現する頻度が高いため，
単語のみを指定した場合には多くの用例が検索される．
そこで，この例の場合は検索パターン中の単語の語順や単語間の距離を指定す
ることにより，多くの用例を棄却することも可能である．
しかし，この方法では図\ref{example4}-bの「し\hspace{-.05em}\underline{ている}ベアリン
グの接触面の\hspace{-.05em}\underline{間}」のような構造的には検索パターンと一致する用
例も棄却されてしまう．

\begin{figure}[htb]
\begin{center}
\vspace{-5mm}
\noindent\fbox{\parbox[t]{140mm}{
\small
\begin{flushleft}
a. 単語検索による検索用例：129文(構造が一致しない用例：91文)
\end{flushleft}
\vspace{-3mm}
\begin{itemize}
\item 光学器械に使われ\hspace{-.05em}\underline{ている}普通のガラスのほとんどの屈折率は，
	1.46と1.96の\hspace{-.05em}\underline{間}\hspace{-.05em}である．
\item 宇宙船が自転するにつれて，船底のへりからストーブの曲り煙突のように
	出\hspace{-.05em}\underline{ている}ソリッド・ステート光学カメラが，４秒
        \hspace{-.05em}\underline{間}に１回写真を撮影する
\end{itemize}
\begin{flushleft}
b. 構造検索による検索用例：38文
\end{flushleft}
\vspace{-3mm}
\begin{itemize}
\item \hspace{-.2em}・\hspace{-.6em}・\hspace{-.6em}・\hspace{-.2em} 粒子が砕けたり平らになったりし\hspace{-.05em}\underline{ている}ベアリングの
 	接触面の\hspace{-.05em}\underline{間}\hspace{-.05em}では，\hspace{-.2em}・\hspace{-.6em}・\hspace{-.6em}・\hspace{-.2em}

\item 軌道を飛行し\hspace{-.05em}\underline{ている} \underline{間}は，彼の身体は重さがない
\end{itemize}
}}
\caption{「(Aし)ている」が「間」に係る用例の検索結果(一部)[科学技術和英
大辞典]}
\vspace{-5mm}
\label{example4}
\end{center}
\end{figure}

(5),(6)の検索例を，図\ref{example5}，図\ref{example6}に示す．\\

\begin{figure}[htb]
\begin{center}
\vspace{-12mm}
\noindent\fbox{\parbox[t]{140mm}{
\small
\begin{flushleft}
a. 単語検索による検索用例：23文(構造が一致しない用例：11文)
\end{flushleft}
\vspace{-3mm}
\begin{itemize}
\item この図表にある燃費節減の数字は，すべて，自動変速機と最小のエンジン\hspace{-.05em}\underline{を}\hspace{-.05em}積んだ自動車\underline{について}，１９８１年にＥＰＡが\underline{行っ}た燃費節減概算額に基づく
\item この状態での溶接強度\underline{を}確かめるために，一部分\underline{について}簡単な引張り試験も\underline{行っ}た
\end{itemize}
\begin{flushleft}
b. 構造検索による検索用例：12文
\end{flushleft}
\vspace{-3mm}
\begin{itemize}
\item この件\underline{について}十分協議\underline{を} \underline{行った}
\item \hspace{-.2em}・\hspace{-.6em}・\hspace{-.6em}・\hspace{-.2em} 原子力安全問題\hspace{-.05em}\underline{について}\hspace{-.05em}自主的な再検討
	\hspace{-.05em}\underline{を} \underline{行い}，ＮＲＣの議長に対する意見書を作成する
\end{itemize}
}}
\caption{「(A)について」と「(B)を」が「行う」に係る用例の検索結果(一部)[科学技術和英
大辞典]}
\label{example5}
\end{center}
\end{figure}

\begin{figure}[htb]
\begin{center}
\vspace{-15mm}
\noindent\fbox{\parbox[t]{140mm}{
\small
\begin{flushleft}
a. 単語検索による検索用例：11文(構造が一致しない用例：5文)
\end{flushleft}
\vspace{-3mm}
\begin{itemize}
\item 身をのり出さない\hspace{-.05em}\underline{ように}し，右または左に適当な距離をと
	り，両足をふんばり\hspace{-.05em}\underline{なさい}
\item テストカップを，電気ショートを起こさない\underline{ように}
	隔室の壁から離して，中央におき\hspace{-.05em}\underline{なさい}
\end{itemize}
\begin{flushleft}
b. 構造検索による検索用例：6文
\end{flushleft}
\vspace{-3mm}
\begin{itemize}
\item 小さな点を見失わない\hspace{-.05em}\underline{ように}，それぞれの点に丸を付け\hspace{-.05em}\underline{なさい}
\item 毛管作用の始めが試料の表面３ｍｍ下になる\hspace{-.05em}\underline{ように}温度計を調整し\hspace{-.05em}\underline{なさい}
\end{itemize}
}}
\caption{「〜ように」が「〜なさい」に係る用例の検索結果(一部)[科学技術和英
大辞典]}
\vspace{-15mm}
\label{example6}
\end{center}
\end{figure}


\section{おわりに}
本論文では，骨格構造手法による構文情報付きコーパスの構築と，これを対象
とした構文指定による類似用例検索システムについて述べた．
対訳付き辞書用例8万文について，骨格構造解析により構文付きコーパスの作
成を行ったところ，骨格構造解析結果中に正しい解析木を含んでいるものは，
200文中で約93\%であり，骨格構造解析の有効性を実証できた．
誤りの多くは，形態素解析あるいは文節カテゴリ付けの誤りによるもので，
この部分については今後改善していく予定である．

また，類似用例検索システムでは，骨格構造解析の方法を用いて作成した
構文付きコーパスを検索対象とし，
係り受け関係を指定して検索することで，単語や品詞などの形態素情報のみ
では検索されてしまう多くの不用な用例を，絞り込むことができ，骨格構造解
析の有用性を実証することができた．
なお，英語対訳付き用例を用いたのは類似用例検索による翻訳支援への
応用\cite{Sumita1991}を念頭においてからであり，今後は，そのような応用システムの具体化
についても検討していく予定である．

\acknowledgment

科学技術和英大辞典(電子化版)の使用を認めていただいた(株)オーム社，なら
びに，講談社和英辞典(電子化版)の使用を認めていただいた電総研自然言語研
究室に感謝します．



\bibliographystyle{jnlpbbl}
\bibliography{present}


\begin{biography}
\biotitle{略歴}
\bioauthor{兵藤 安昭}{
1991年岐阜大学工学部電子情報工学科卒業．1993年同大学大学院修士課程修了．
現在，同大学院博士後期課程在学中．自然言語処理の研究に従事．情報処理学
会会員．}

\bioauthor{河田 実成}{
1993年岐阜大学工学部電子情報工学科卒業．1995年同大学大学院博士前期課程修了．
同年，日立ソフトウェアエンジニアリング(株)に入社，現在に至る．}

\bioauthor{応 江黔}{
1984年中国武漢水利電力学院卒業．1989年名古屋大学大学院工学研究科電気工
学専攻博士前期課程修了．1992年同大学院博士後期課程修了．同年，岐阜大学
工学部電子情報工学科助手．工学博士．電子情報通信学会会員．}

\bioauthor{池田尚志}{
1968年東京大学教養学部基礎科学科卒業．同年工業技術院電子技術総合研究所
入所．制御部情報制御研究室，知能情報部自然言語研究室に所属，主任研究官．
1991年岐阜大学工学部電子情報工学科教授．工学博士．主として人工知能，自
然言語処理の研究に従事．人工知能学会，電子情報通信学会，情報処理学会，
ACL各会員．}

\bioreceived{受付}
\bioaccepted{採録}

\end{biography}


\end{document}

