\section{はじめに}
本稿では単語の羅列を意味でソートするといろいろなときに効率的でありかつ便利であるということについて記述する\footnote{筆者は過去に間接照応の際に必要となる名詞意味関係辞書の構築にこの意味ソートという考え方を利用すれば効率良く作成できるであろうことを述べている\cite{murata_indian_nlp}．}．本稿ではこの単語を意味でソートするという考え方を示すと同時に，この考え方と辞書，階層シソーラスとの関係，さらには多観点シソーラスについても論じる．そこでは単語を複数の属性で表現するという考え方も示し，今後の言語処理のためにその考え方に基づく辞書が必要であることについても述べている．また，単語を意味でソートすると便利になるであろう主要な三つの例についても述べる．
\section{意味ソート}
\label{sec:msort}単語を意味で並べかえるという考え方を本稿では{\bf意味ソート}Msort(\underline{m}eaning\underline{sort})と呼ぶことにする．この意味ソートは，単語の羅列を表示する際には50音順(もしくはEUC漢字コード順)で表示するのではなく，単語の意味の順番でソートして表示しようという考え方である．意味の順番の求め方は後節で述べる．例えば，研究の途中段階で以下のようなデータが得られたとしよう\footnote{このデータはEDR共起辞書のものを利用している\cite{edr}．}．{\small\begin{verbatim}行事寺公式母校就任皇室学園日本ソ連全国農村県学校祭り家元恒例官民祝い王室\end{verbatim}}これは，行事という単語の前に「Aの」という形で連接可能な名詞のリストであるが，このような情報が得られたときにその研究者はこのデータをどのような形式にすると考察しやすいであろうか．まず，50音順で並べかえる．そうすると以下のようになる．{\small\begin{verbatim}行事家元祝い王室学園学校官民県公式皇室恒例就任全国ソ連寺日本農村母校祭り\end{verbatim}}これではよくわからない．次に頻度順で並べてみる．{\small\begin{verbatim}行事恒例学校公式日本県全国寺農村王室ソ連祭り学園就任祝い母校皇室官民家元\end{verbatim}}それもよくわからない．これを単語の意味の順番(ここでは，人間，組織，活動の順)でソートすると，以下のようになる．{\small\begin{verbatim}行事(人間)皇室王室官民家元(組織)全国農村県日本ソ連寺学校学園母校(活動)祝い恒例公式就任祭り\end{verbatim}}これは非常にわかりやすい．行事にはいろいろなものがあるが，ある特別な人を中心とした行事の存在，また，ある組織を中心とした行事の存在，さらに行事のいくつかの形態をまとめて一挙に理解することができる．これはもともと名詞意味関係辞書の作成に「AのB」が利用できそうであるとすでにわかっている問題を例にあげたため，それはうまくいくでしょうといった感があるかもしれないが，後の節ではその他の問題でもこの意味ソートを用いるとうまくいく例をいくつか示している．われわれは，各研究の各段階でこの意味ソートというものを用いれば，ほとんどの問題がわかりやすくなり効率良く研究を進められるのではないかと考えている．
\section{意味ソートの仕方}
単語を意味でソートするためには，単語に対して意味的な順序づけを行なう必要がある．このためには分類語彙表\cite{bgh}が役に立つ．分類語彙表とはボトムアップ的に単語を意味に基づいて整理した表であり，各単語に対して分類番号という数字が付与されている．電子化された分類語彙表データでは各単語は10桁の分類番号を与えられている．この10桁の分類番号は7レベルの階層構造を示している．上位5レベルは分類番号の最初の5桁で表現され6レベル目は次の2桁，最下層のレベルは最後の3桁で表現されている．もっとも簡単な意味ソートの仕方は，単語に分類語彙表の分類番号を付与してその分類番号によってソートすることである\footnote{最近は便利な機能を持ったパソコンのソフトが多く出ており，Exelなどに単語と分類語彙表の分類番号を入力しておいてソートすると簡単に意味ソートを行なうことができるであろう．}．しかし，単にソートしただけではわかりにくい．数字ならば，順序関係がはっきりしているものなのでソートするだけで十分であるが，単語は順序関係がそうはっきりしたものではないので，ソートしただけではわかりにくい．ところどころに，物差しの目盛のようなものを入れた方がわかりやすい．\begin{table}[t]\caption{分類語彙表の分類番号の変更}\label{tab:bunrui_code_change}\begin{center}\small\renewcommand{\arraystretch}{}\begin{tabular}[c]{|l|l|l|}\hline意味素性&分類語彙表の&変換後の\\&分類番号&分類番号\\\hlineANI(動物)&[1-3]56&511\\HUM(人間)&12[0-4]&52[0-4]\\ORG(組織・機関)&[1-3]2[5-8]&53[5-8]\\PRO(生産物・道具)&[1-3]4[0-9]&61[0-9]\\PAR(動物の部分)&[1-3]57&621\\PLA(植物)&[1-3]55&631\\NAT(自然物)&[1-3]52&641\\LOC(空間・方角)&[1-3]17&657\\QUA(数量)&[1-3]19&711\\TIM(時間)&[1-3]16&811\\PHE(現象名詞)&[1-3]5[01]&91[12]\\ABS(抽象関係)&[1-3]1[0-58]&aa[0-58]\\ACT(人間活動)&[1-3]58,[1-3]3[0-8]&ab[0-9]\\OTH(その他)&4&d\\\hline\end{tabular}\end{center}\end{table}そこで，「人間」「具体物」「抽象物」といった意味素性というものを考える\footnote{ここであげる意味素性では目盛として粗すぎる場合は，分類語彙表の上位3桁目のレベル，上位4桁目のレベル，上位5桁目のレベルなどを目盛として用いてみるのもよい．}．ソートした単語の羅列のところどころに意味素性のようなものをいれておくと，それを基準にソートした単語の羅列を見ることができ便利である．意味素性としては，IPAL動詞辞書\cite{IPAL}の名詞の意味素性と分類語彙表の分類体系を組み合わせることによって新たに作成したものを用いる．このとき，分類語彙表の分類番号を名詞の意味素性に合わせて修正した．表\ref{tab:bunrui_code_change}に作成した意味素性と分類語彙表での分類番号の変換表を記載しておく\footnote{この表は現段階のものであって今後も変更していく可能性がある．}\footnote{表では，体，用，相の分類を示す一桁の1〜3の区別はなくしているが，これは文法的な分類の体，用，相の分類を行なわず意味的なソートをくしざし検索風に行なっていることになっている．もちろん，用途によっては体，用，相の分類を行なっておく必要があるだろう．その場合はそれに見合うように分類番号の変更を行なえばよい．例えば体，用，相の上位一桁目をa,b,cとするといったことを行なえばよい．}．表の数字は分類番号の最初の何桁かを変換するためものであり，例えば1行目の``[1-3]56''や``511''は，分類番号の頭の3桁が``156''か``256''か``356''ならば511に変換するということを意味している．([1-3]は1,2,3を意味している．)表\ref{tab:bunrui_code_change}に示した意味素性に目盛の役割をしてもらうわけだが，この目盛を意味ソートの際に入れる簡単な方法は，意味素性を単語のソートの際に混ぜてソートすることである．このようにすると，意味素性も適切な位置にソートされることとなる．以下に意味ソートが実現される過程を例示する．ここでは，\ref{sec:msort}節で示した名詞「行事」の前に「名詞Aの」の形でくっつく以下の名詞の集合を意味ソートすることを考えることとしよう．{\small\begin{verbatim}行事寺公式母校就任皇室学園日本ソ連全国農村県学校祭り家元恒例官民祝い王室\end{verbatim}}\begin{enumerate}\itemまず初めに各語に分類語彙表の分類番号を付与する．「行事」と共起する名詞集合でこれを行なうと表\ref{tab:huyo_bgh_rei}の結果が得られる．(書籍判の分類語彙表に慣れている人は注意して欲しい．書籍判では分類番号は5桁までしかないが，電子化判では10桁存在する\footnote{ここではKNP\cite{KNP2.0b6}に付属でインストールする分類語彙表の辞書を利用しているが，そこで用いられている分類語彙表は最新のものであってさらに桁が増えているが，KNPではうまく10桁に変換しているようだ．}．)表\ref{tab:huyo_bgh_rei}では「寺」が二つ，「公式」が四つ，存在しているが，これは多義性を意味しており，分類語彙表では「寺」に対し二つの意味が定義されており，「公式」に対し四つの意味が定義されていることを意味する．\item\label{enum:change}次に分類語彙表の分類番号の変換表の表\ref{tab:bunrui_code_change}に従って，付与した分類語彙表の番号を変更する．表\ref{tab:huyo_bgh_rei}のデータに対してこの番号変更を行なうと表\ref{tab:code_change_rei}の結果が得られる．例えば，表\ref{tab:huyo_bgh_rei}の一つ目の寺の最初の三桁は``126''であるがこれは表\ref{tab:bunrui_code_change}の三行目の``[1-3]2[5-8]''にマッチし，``536''に変換される．\begin{table}[t]\caption{分類語彙表の分類番号の付与例}\label{tab:huyo_bgh_rei}\begin{center}\small\renewcommand{\arraystretch}{}\begin{tabular}[c]{|ll|}\hline1263005022&寺\\1263005021&寺\\1308207012&公式\\1311509016&公式\\3101011014&公式\\3360004013&公式\\1263013015&母校\\1331201016&就任\\1210007021&皇室\\1263010015&学園\\1259001012&日本\\1259004192&ソ連\\\multicolumn{2}{|l|}{右上につづく}\\\hline\end{tabular}\begin{tabular}[c]{|ll|}\hline1198007013&全国\\1253007012&全国\\1254006033&農村\\1255004017&県\\1263010012&学校\\1336002012&祭り\\1241023012&家元\\1308205021&恒例\\1231002013&官民\\1241101012&官民\\1304308013&祝い\\1336019012&祝い\\1210007022&王室\\\hline\end{tabular}\end{center}\end{table}\begin{table}[t]\caption{分類語彙表の分類番号の変更例}\label{tab:code_change_rei}\begin{center}\small\renewcommand{\arraystretch}{}\begin{tabular}[c]{|ll|}\hline5363005022&寺\\5363005021&寺\\ab18207012&公式\\ab21509016&公式\\aa11011014&公式\\ab70004013&公式\\5363013015&母校\\ab41201016&就任\\5210007021&皇室\\5363010015&学園\\5359001012&日本\\5359004192&ソ連\\\multicolumn{2}{|l|}{右上につづく}\\\hline\end{tabular}\begin{tabular}[c]{|ll|}\hline7118007013&全国\\5353007012&全国\\5354006033&農村\\5355004017&県\\5363010012&学校\\ab46002012&祭り\\5241023012&家元\\ab18205021&恒例\\5231002013&官民\\5241101012&官民\\ab14308013&祝い\\ab46019012&祝い\\5210007022&王室\\\hline\end{tabular}\end{center}\end{table}\begin{table}[p]\caption{目盛用の分類番号つきの意味素性の追加}\label{tab:sosei_add_rei}\begin{center}\small\renewcommand{\arraystretch}{}\begin{tabular}[c]{|ll@{}|}\hline5100000000&(動物)\\5200000000&(人間)\\5300000000&(組織・機関)\\6100000000&(生産物・道具)\\6200000000&(動物の部分)\\6300000000&(植物)\\6400000000&(自然物)\\6500000000&(空間・方角)\\7100000000&(数量)\\8100000000&(時間)\\9100000000&(現象名詞)\\aa00000000&(抽象関係)\\ab00000000&(人間活動)\\d000000000&(その他)\\5363005022&寺\\5363005021&寺\\ab18207012&公式\\ab21509016&公式\\aa11011014&公式\\\multicolumn{2}{|l|}{右上につづく}\\\hline\end{tabular}\begin{tabular}[c]{|ll|}\hlineab70004013&公式\\5363013015&母校\\ab41201016&就任\\5210007021&皇室\\5363010015&学園\\5359001012&日本\\5359004192&ソ連\\7118007013&全国\\5353007012&全国\\5354006033&農村\\5355004017&県\\5363010012&学校\\ab46002012&祭り\\5241023012&家元\\ab18205021&恒例\\5231002013&官民\\5241101012&官民\\ab14308013&祝い\\ab46019012&祝い\\5210007022&王室\\\hline\end{tabular}\end{center}\end{table}\begin{table}[p]\caption{分類番号の順番に並べかえ例}\label{tab:sort_rei}\begin{center}\small\renewcommand{\arraystretch}{}\begin{tabular}[c]{|ll@{}|}\hline5100000000&(動物)\\5200000000&(人間)\\5210007021&皇室\\5210007022&王室\\5231002013&官民\\5241023012&家元\\5241101012&官民\\5300000000&(組織)\\5353007012&全国\\5354006033&農村\\5355004017&県\\5359001012&日本\\5359004192&ソ連\\5363005021&寺\\5363005022&寺\\5363010012&学校\\5363010015&学園\\5363013015&母校\\6100000000&(生産物)\\\multicolumn{2}{|l|}{右上につづく}\\\hline\end{tabular}\begin{tabular}[c]{|ll@{}|}\hline6200000000&(動物の部分)\\6300000000&(植物)\\6400000000&(自然物)\\6500000000&(空間・方角)\\7100000000&(数量)\\7118007013&全国\\8100000000&(時間)\\9100000000&(現象名詞)\\aa00000000&(抽象関係)\\aa11011014&公式\\ab00000000&(人間活動)\\ab14308013&祝い\\ab18205021&恒例\\ab18207012&公式\\ab21509016&公式\\ab41201016&就任\\ab46002012&祭り\\ab46019012&祝い\\ab70004013&公式\\d000000000&(その他)\\\hline\end{tabular}\end{center}\end{table}\item次に目盛用の分類番号つきの意味素性を\ref{enum:change}で得られた集合に追加する．表\ref{tab:code_change_rei}のデータに対してこれを行なうと表\ref{tab:sosei_add_rei}の結果が得られる．\item以上までで得られた集合を分類番号によってソートする．表\ref{tab:sosei_add_rei}のデータに対してこれを行なうと表\ref{tab:sort_rei}の結果が得られる．\item後は見やすいように整形すればよい．例えば，表\ref{tab:sort_rei}で分類番号を消し，意味素性ごとに一行にまとめ，語がない行を消去し，一行内にだぶって存在する語を消去すると表\ref{tab:last_rei}のようになる．\end{enumerate}前にも述べたとおり，表\ref{tab:last_rei}の形になれば考察などに便利な状態になる．\clearpage\begin{table}[t]\caption{ソート後の名詞集合の整形}\label{tab:last_rei}\begin{center}\small\renewcommand{\arraystretch}{}\begin{tabular}[c]{|ll|}\hline(人間)&皇室王室官民家元\\(組織)&全国農村県日本ソ連寺学校学園母校\\(数量)&全国\\(関係)&公式\\(活動)&祝い恒例公式就任祭り\\\hline\end{tabular}\end{center}\end{table}
\section{意味ソートの諸相}
\subsection{分類語彙表以外の階層シソーラスを用いた意味ソート}今までの議論では分類語彙表を用いた意味ソートの仕方を述べてきた．意味ソートを行なうには意味の順序関係が必要であるが，分類語彙表はちょうど各単語に分類番号がついていたのでソートには最適であった．ここでは，EDRの辞書\cite{edr}のように，分類語彙表についていたような分類番号を持たない階層シソーラスを用いて，意味ソートはできないかを考察する．前述したとおり，そもそも分類語彙表の10桁の分類番号は，7レベルの階層構造を示している．EDRで意味ソートを行なう場合にも，分類語彙表と同じように上位桁から階層構造を作るような番号を各単語につけてやればよい．しかし，番号をつけるのは面倒である．階層シソーラス上の各ノードにおける概念の定義文をそのレベルの番号のように扱ってやるとよい．こうすれば番号をあらためてふってやる必要がない．例えば，トップのノードから「母校」という単語に至る各ノードの概念の定義文を並べてみると以下のようになる．\\{\small\renewcommand{\arraystretch}{}\begin{tabular}[c]{|l|}\hline概念\\人間または人間と似た振る舞いをする主体\\自立活動体\\組織\\組織のいろいろ\\教育組織\\学校という,教育を行う組織\\数量や指示関係で捉えた学校\\自分が学んでいる,あるいはかつて学んでいた学校\\\hline\end{tabular}\\}\begin{table*}[t]\caption{EDRを用いた意味ソートの例}\label{tab:EDR_last_rei}\begin{center}\footnotesize\renewcommand{\arraystretch}{}\begin{tabular}[c]{|l@{}c@{}l@{}c@{}ll|}\hline(概念&:&ものごと&:&もの)&寺学校県家元官民祝い公式\\(概念&:&ものごと&:&事柄)&祭り恒例祝い\\(概念&:&位置&:&場所)&寺学校全国県農村ソ連日本\\(概念&:&事象&:&現象)&祭り\\(概念&:&事象&:&行為)&祝い就任\\(概念&:&事象&:&状態)&官民恒例家元寺県公式\\(概念&:&人間または人間と似た振る舞いをする主体&:&自立活動体)&学校学園母校寺県ソ連日本王室皇室家元官民\\(概念&:&人間または人間と似た振る舞いをする主体&:&人間)&寺県家元官民\\\hline\end{tabular}\end{center}\end{table*}\noindentこれを連結した``概念:人間または人間と似た振る舞いをする主体:自立活動体:組織:組織のいろいろ:教育組織:学校という,教育を行う組織:数量や指示関係で捉えた学校:自分が学んでいる,あるいはかつて学んでいた学校''を分類番号と見立てて意味ソートを行なえばよい．先にあげた「の行事」に前接する名詞集合でEDRを用いた意味ソートを行なうと表\ref{tab:EDR_last_rei}のようになる．表\ref{tab:EDR_last_rei}では各行の出力のための目盛として上位三つの概念の定義文を用いている．EDRでは他の辞書に比べ多義性を設定する場合が多く，またシソーラスの階層構造においても複数パスを用いているので，同じ単語が複数の箇所に出ていて複雑なものになる．しかし，多観点から考察したいときには，ちょうどいろいろなとらえ方の単語を認識しやすいようになっており，EDRを用いると有効だろう．以上までの議論から階層シソーラスならばどのようなものでも意味ソートが行なえることがわかるであろう．ただし，階層構造での枝別れ部分においてどのノードから出力するのかは曖昧になっている．例えば，表\ref{tab:EDR_last_rei}では概念の定義文の文字列のEUCコード順となっている．順序を人手であらかじめ指定しておければそれにこしたことはないが，無理ならば，定義文自体を他の辞書(例:分類語彙表)により意味ソートすることも考えられる．\subsection{単語を複数の属性で表現するといった形での辞書記述における意味ソート}\label{sec:hukusuu_zokusei}単語に複数の属性を付与するといった形で単語の意味記述を行なうという考え方がある．例えば，計算機用日本語生成辞書IPALの研究\cite{ipalg98}では，「器」を意味するさまざまな単語に対して表\ref{tab:ipal_hukusuu_zokusei_rei}のような属性を与えている．表中の''---''は属性の値は指定されていないことを意味する．\begin{table}[t]\caption{単語に複数の属性を付与した辞書の例}\label{tab:ipal_hukusuu_zokusei_rei}\begin{center}\small\renewcommand{\arraystretch}{}\begin{tabular}[c]{|l|ccccc|}\hline単語&\multicolumn{5}{c|}{属性}\\\cline{2-6}&\multicolumn{1}{c}{種類}&\multicolumn{1}{c}{対象物}&\multicolumn{1}{c}{形状}&\multicolumn{1}{c}{サイズ}&\multicolumn{1}{c|}{材質}\\\hlineうつわ&---&---&---&---&---\\碗&和&---&深&---&陶磁\\椀&和&---&深&---&木\\湯のみ&和&緑茶/白湯&深&---&陶磁\\皿&---&---&浅&---&---\\\hline\end{tabular}\end{center}\end{table}\begin{table}[t]\caption{左の属性からソートした結果}\label{tab:ipal_hukusuu_zokusei_rei_hidari}\begin{center}\small\renewcommand{\arraystretch}{}\begin{tabular}[c]{|l|ccccc|}\hline単語&\multicolumn{5}{c|}{属性}\\\cline{2-6}&\multicolumn{1}{c}{種類}&\multicolumn{1}{c}{対象物}&\multicolumn{1}{c}{形状}&\multicolumn{1}{c}{サイズ}&\multicolumn{1}{c|}{材質}\\\hlineうつわ&---&---&---&---&---\\皿&---&---&浅&---&---\\碗&和&---&深&---&陶磁\\椀&和&---&深&---&木\\湯のみ&和&緑茶/白湯&深&---&陶磁\\\hline\end{tabular}\end{center}\end{table}このような形の辞書の場合でも意味ソートは可能である．各属性を階層シソーラスでの各レベルであると認識すればよい．この場合，左の属性から順に階層シソーラスの上位から下位のレベルに対応すると考えると，``種類',``対象物'',``形状'',``サイズ'',``材質''とレベルがあると考えられるので，意味ソートに用いる便宜的な分類番号はEDRの場合を参考にすると，``種類:対象物:形状:サイズ:材質''といったものとなる．例えば，「椀」は``和:---:深:---:木''という分類番号を持っていることになる．(厳密には，属性の値も意味ソートするために，この「和」「深」「木」も分類語彙表の分類番号に変更しておく．)このような分類番号をもっているとしてソートすれば意味ソートのできあがりである．この意味ソートを行なった結果を表\ref{tab:ipal_hukusuu_zokusei_rei_hidari}に示す．これは，単純に左の属性から順にソートしていった結果と等価である．\begin{table}[t]\caption{右の属性からソートした結果}\label{tab:ipal_hukusuu_zokusei_rei_migi}\begin{center}\small\renewcommand{\arraystretch}{}\begin{tabular}[c]{|l|ccccc|}\hline単語&\multicolumn{5}{c|}{属性}\\\cline{2-6}&\multicolumn{1}{c}{種類}&\multicolumn{1}{c}{対象物}&\multicolumn{1}{c}{形状}&\multicolumn{1}{c}{サイズ}&\multicolumn{1}{c|}{材質}\\\hlineうつわ&---&---&---&---&---\\皿&---&---&浅&---&---\\碗&和&---&深&---&陶磁\\湯のみ&和&緑茶/白湯&深&---&陶磁\\椀&和&---&深&---&木\\\hline\end{tabular}\end{center}\end{table}今は左の属性をもっとも重要な属性として扱って意味ソートを行なったものであるが，複数の属性の間の重要度の関係はそれほど明確ではない．例えば，同じデータで右の属性から順にソートすると，表\ref{tab:ipal_hukusuu_zokusei_rei_migi}のようになる．このように複数の属性を付与する辞書ではどういった属性を重視するかでソートのされ具合いが異なることとなる．これは，ユーザが今興味を持つ属性の順番によってソートすることができることを意味しており，複数の属性を付与する辞書は非常に融通が効くものであるということがいえる\footnote{ただし，この融通の良さは自由度が高くて良さそうだが欠点にもなりうる可能性を持っている．例えば，ユーザが自分の好きなように属性を指定することができるといえば聞こえはよいが，これは裏返して考えるとユーザが自分の好きなように属性を指定する必要があるということを意味している．ユーザが属性を指定するのが面倒な場合はデフォルトの順序のようなものを考えておくとよいだろう．例えば，決定木学習で用いられる方法\cite{c4.5j}により木を構成しそのようになるための属性の順序をデフォルトの順序としてもよいだろう．また，各属性の上位下位の関係を本文でも述べたような概念の包含関係より求め(このときは本文での基準のような完全に包含関係になるものではなく若干例外があってもよいなど条件をゆるめたものがよいだろう)，それを元にデフォルトの順序を決めるのもよいだろう．さらにはこのデフォルトの順序をユーザーの二，三のキーワード指定によりコントロールできるとなおよいだろう．}．\begin{figure}[t]\begin{center}\fbox{\begin{minipage}{10cm}\begin{center}\epsfile{file=hidari.eps,height=4cm,width=6cm}\end{center}\caption{左からのソート結果による階層シソーラス}\label{fig:ipal_hukusuu_zokusei_rei_hidari}\end{minipage}}\end{center}\end{figure}\begin{figure}[t]\begin{center}\fbox{\begin{minipage}{10cm}\begin{center}\epsfile{file=migi.eps,height=4cm,width=6cm}\end{center}\caption{右からのソート結果による階層シソーラス}\label{fig:ipal_hukusuu_zokusei_rei_migi}\end{minipage}}\end{center}\end{figure}これを階層シソーラスも交えて考察するとさらに面白いことに気づく．先にも述べたように，各属性は階層シソーラスの各レベルと見立てることができるので，階層シソーラスでのこの属性のレベルの順序を変更することで何種類もの階層シソーラスを構築できることとなる．例えば，属性を左から用いて意味ソートした表\ref{tab:ipal_hukusuu_zokusei_rei_hidari}からは図\ref{fig:ipal_hukusuu_zokusei_rei_hidari}のような階層シソーラスが構築できる．また，属性を右から用いて意味ソートした表\ref{tab:ipal_hukusuu_zokusei_rei_migi}からは図\ref{fig:ipal_hukusuu_zokusei_rei_migi}のような階層シソーラスが構築できる．図\ref{fig:ipal_hukusuu_zokusei_rei_hidari}のシソーラスでは「碗」と「椀」の意味的な近さをよく理解できる．図\ref{fig:ipal_hukusuu_zokusei_rei_migi}のシソーラスでは「碗」と「湯のみ」の同じ陶磁器としての意味的な近さをよく理解できる．この複数のシソーラスの構築は，種々の観点による階層シソーラスの研究にもつながるものである．観点によるシソーラスの必要性は文献\cite{miyazaki94A}においても述べてある．それによると，「鳥」「飛行機」を上位で自然物と人工物と大別すると，「鳥」「飛行機」の意味的近さがわからなくなるとある．確かにそのとおりである．今後の言語処理を考えると観点による階層シソーラスの自由変形が可能な，複数属性を付与するといった辞書は非常に有用であり，生成用のみならず一般単語辞書，実用レベル的なもので構築する必要があると思われる．また，もともと単語の意味辞書を階層シソーラスの形にする必要があるのかという疑問も生じる．表\ref{tab:ipal_hukusuu_zokusei_rei}を見れば，「うつわ」の属性がすべて属性値を指定しない``---''になっていることから他の語の上位語であることが属性の集合の情報を見るだけでわかる．この属性の包含関係から上位・下位の関係が類推できるとすれば，階層シソーラスというものはわざわざ構築しておく必要はなく単語を属性の集合によって表現するというので十分なような気もしてくる．ただし，ペンギンは飛べないが普通の鳥は飛べるといった例外事象も扱えるような属性の定義などをしておく必要はある．また，複数属性で単語を表現する辞書では，一致する属性の割合などで単語間の類似度を定義するということも可能となるであろう．ただし，このとき属性に重みを与えるなどのことが必要になるかもしれない．単語の意味記述としては，さらに表現能力の高いものとして高階の述語論理で表現するもの，自然言語の文で定義するものなどが考えられるが，とりあえず現在の言語処理技術で扱えてそれでいて多観点を扱えるという意味で単語を複数属性の集合で意味記述するという辞書は妥当なところではないだろうか\footnote{複数の属性を持つ単語辞書の作成には，国語辞典などの定義文が役に立つのではないかと考えている．例えば，定義文の文末から意味ソートを多段的にかけた結果を人手でチェックすることを行なえば，比較的低コストでこの辞書を作成できるだろう．}．ちょっと脇道にそれて意味ソートと直接関係のない単語意味辞書のあるべき姿について議論をしてしまったが，単語を複数属性の集合で意味記述するという辞書ができれば，先にも述べたようにその辞書にはユーザが自分の好きな順番で属性を選んで意味ソートできるという利点があるので，意味ソートの立場としても非常に好都合である．
\section{意味ソートの三つの利用例}
\label{sec:riyourei}\subsection{辞書の作成}名詞と名詞の間の意味関係を示す名詞意味関係辞書の作成に意味ソートが利用できる例はすでに文献\cite{murata_indian_nlp}において述べている．名詞と動詞，名詞と形容詞の間の関係辞書の作成も格フレームや多義性などを考慮に入れながら同様にできることだろう．ここでは，例として表\ref{tab:taberu_case_frame}に動詞「食べる」の格フレームの作成例を示しておく．\begin{table}[t]\caption{「食べる」の格フレームの作成例}\label{tab:taberu_case_frame}\begin{center}\small\renewcommand{\arraystretch}{}(a)ガ格の意味ソート結果\begin{tabular}[c]{|lp{10cm}|}\hline(動物)&牛子牛魚\\(人間)&わたしたちみんな自分乳幼児親妹お客日本人看護婦作家\\\hline\end{tabular}\vspace{0.3cm}(b)ヲ格の意味ソート結果\begin{tabular}[c]{|lp{10cm}|}\hline(動物)&動物貝プランクトン\\(生産物)&獲物製品材料ペンキ食べ物えさ和食日本食洋食中華料理おむすび粥すしラーメンマカロニサンドイッチピザステーキバーベキューてんぷら空揚げ穀物米白米日本米押し麦キムチカルビ砂糖ジャム菓子ケーキビスケットクッキーアイスクリーム\\(体部)&遺骸人肉肝臓\\(植物)&遺伝子植物牧草ピーマンチコリ桑バナナ松茸昆布\\(現象)&珍味雪\\(関係)&中身\\(活動)&朝食昼飯夕食夕御飯おやつ塩焼き\\\hline\end{tabular}\vspace{0.3cm}(c)デ格の意味ソート結果\begin{tabular}[c]{|lp{10cm}|}\hline(人間)&自分\\(組織)&事務所レストランホテル\\(生産物)&しょうゆシャトー楽屋便所荷台食卓\\(空間)&現地全域車内\\(数量)&ふたり割合複数\\(活動)&研究会議\\\hline\end{tabular}\end{center}\end{table}表\ref{tab:taberu_case_frame}は受身文など考慮して「食べる」の各格要素にくる名詞をそれぞれ意味ソートしたものである．表\ref{tab:taberu_case_frame}の形になれば人手で格フレームを作成するのも容易であろうと思われる\footnote{最近では，格フレームは多項関係でとらえる必要があることがいわれてきている．例えば，魚はプランクトンを食べるが牛は食べず，また牛は牧草を食べるが魚は食べない．表\ref{tab:taberu_case_frame}の形に各格要素ごとまとめてしまうと魚とプランクトンの関係，牛と牧草の関係が見えなくなり，よろしくない．}．ガ格は動作主になりうる動物や人間が入ることがわかるし，ヲ格には様々な食べ物になりうる名詞が入ることがわかる．また，任意格のデ格を見ると，「自分で」や「事務書で」や「しょうゆで」などデ格の意味関係が多種多様なものであることまでわかる．たとえば，``(人間)''の語は主体，``(組織)''``(空間)''の語は場所，``(具体物)''の語は道具の場合と場所の場合があることまでわかる．ここであげた例は動詞の格フレームであるが，このようなことは形容詞に対してもさらには名詞述語文に対してもその他の単語間に対しても容易に行なえることを考えれば，意味ソートの汎用性，有用性を理解できるであろう．これは，辞書の作成に限った話しではなく，言語現象の調査におけるデータの整理，有用な情報の抽出にも役に立つ．また，近年いろいろな知識獲得の研究が行なわれているが，知識獲得で得られたデータの整理にも，同じようにこの意味ソートが役に立つ．\subsection{タグつきコーパスの作成(意味的類似度との関連)}近年，さまざまなコーパスが作成されてきており\cite{edr_corpus_2.1}\cite{kurohashi_nlp97}\cite{rwc}，コーパスベースの研究も盛んになっている\cite{mori_DT}\cite{murata:nlken98}．ここでは，コーパスの作成にも意味ソートが役に立つことについて述べる．例えば，名詞句「AのB」の意味解析を用例ベースで解析したいとする．この場合，名詞句「AのB」の意味解析用のタグつきコーパスが必要となる．具体的には，名詞句「AのB」の各用例に対して「所有」「属性関係」といった意味関係をふっていくこととなる．このとき名詞句「AのB」を意味ソートしておけば比較的よく似た用例が近くに集まることになり，意味関係をふる手間が軽減される．\begin{table}[t]\caption{名詞句「AのB」の意味解析用のタグつきコーパスの作成例}\label{tab:make_corpus}\begin{center}\small\renewcommand{\arraystretch}{}\begin{tabular}[c]{|l|l|l|}\hline名詞A&名詞B&意味関係\\\hlineパナマ&事件&場所\\中学校&事件&場所\\軍&事件&場所\\アルバム&事件&間接限定\\タンカー&事件&間接限定\\最悪&事件&形的特徴\\最大&事件&形的特徴\\周辺&物件&場所\\両国&事項&主体対象\\文献&事項&分野限定\\総会&事項&主体対象\\上院&条項&分野限定,主体対象\\新法&条項&分野限定,全体部分\\条約&条項&分野限定,全体部分\\協定&条項&分野限定\\\hline\end{tabular}\end{center}\end{table}表\ref{tab:make_corpus}は文献\cite{yata_MT}において作成されたタグつきコーパスの一部分である．ここでは名詞句「AのB」のうち名詞Bの方が重要であろうとして名詞Bを先に意味ソートとしたのち名詞Aで意味ソートを行なっている．表中の意味関係の用語は少々難しいものとなっているが意味ソートの結果近くにあらわれている用例同士は比較的同じ意味関係がふられていることがわかるだろう．このように意味的に近い用例が近くに集まるとタグの付与の手間が軽減されることが理解できるであろう．ところで，用例ベースによる手法では入力のデータと最も類似した用例にふられたタグを解析結果とする．意味ソートという操作は単語を意味の順番にならべかえるわけだが，そのことによって類似した用例を集める働きをする．用例ベースと意味ソートは単語の類似性を用いるという共通点を持っている．この類似性を用いるという性質が用例ベースによる手法と意味ソートの共通した利点となっている．ここでは名詞句「AのB」を例にあげてコーパス作成に意味ソートを用いると効率的であることを述べたが，これは特に名詞句「AのB」に限ったことではない．単語が関係している問題ならば，その単語で意味ソートができるので，文字列レベルで扱わないと仕方がない問題以外はほとんど本稿の意味ソートが利用できる．また，もともと文字列レベルで扱わないと仕方がない問題では文字列でソートすればよいのである．しかし，ここであげた例では名詞Bで意味ソートした後，名詞Aで意味ソートをするといった不連続性がある．名詞Aと名詞Bの両方を考慮することで，意味ソートで近くにくる用例よりも意味的に近い用例を持ってこれる場合がある．しかし，このような方法では一次元的に配列するのが困難で人手でチェックするのが難しくなってくる．\subsection{情報検索での利用}近年，インターネットの発展とともに情報検索の研究は非常に盛んになっている．この情報検索がらみの研究においても意味ソートの有効な利用方法が考えられる．例えば，津田の研究\cite{tsuda94A}では文書データベースの特徴を多数のキーワードによってユーザに提示するということを行なっている．例えば，提示したい文書データベースAのキーワード群が以下のとおりであったとする．\begin{quote}\fbox{検索単語文書作成候補質問数キーワード情報}\end{quote}この単語の羅列をランダムな順番でユーザに提示するのでは不親切である．ここで意味ソートを行なってやると，以下のようになる．{\small\renewcommand{\arraystretch}{}\begin{tabular}[h]{ll}(数量)&数\\(抽象関係)&候補\\(人間活動)&検索\\&文書キーワード単語情報質問\\&作成\\\end{tabular}}ここでは，分類語彙表の上位三桁が一致するものを同じ行に表示している．ランダムに表示するよりはこのように意味ソートを行なって表示した方がよく似た意味の単語が集まるので，ユーザにとってやさしいのではないかと思われる．また，情報検索システムが検索式を作る際にユーザにキーワードを提示して適切なものを選んでもらう場合もある\cite{tsuda94A}．このような場合においても，キーワードを他に適切にならべかえる方法があればそれを用いればよいが，そういったものがない場合は上記と同様にとりあえず意味ソートを用いておけば少しはユーザに対してやさしくなる．
\section{おわりに}
本稿ではまず初めに意味ソートの仕方について述べた．そこでは，以下の三つの意味記述の異なる辞書を用いたそれぞれの意味ソートの方法について記述した．\begin{enumerate}\item単語に番号がふってある辞書(分類語彙表)\item単語に番号がふっていない階層シソーラス辞書(EDR概念辞書)\item\label{enum:owarini_hukusuu_gainen}単語を複数の属性の集合によって表現する辞書(IPAL日本語生成辞書)\end{enumerate}また，\ref{enum:owarini_hukusuu_gainen}の「単語を複数の属性の集合によって表現する辞書」では，この辞書の自由度の高さや多観点シソーラスとの関係を議論し，この辞書の有用性を詳しく述べた．また，本稿の最後では以下の三つの異質な応用領域を述べ，意味ソートの有用性を議論した．\begin{enumerate}\item辞書の構築例\itemタグつきコーパスの作成例\item情報提示システム例\end{enumerate}われわれは意味ソートは言語処理研究だけではなく，言語研究での調査方法としても役に立つものであると考えている．\section*{謝辞}\ref{sec:hukusuu_zokusei}節で述べた単語を複数の属性の集合によって表現するという考え方は国立国語研究所の柏野和佳子研究員との議論において御教示いただいた．また，郵政省通信総研の内山将夫研究員には論文内容についていくつかのコメントをいただいた．ここに感謝する．\bibliographystyle{jnlpbbl}\bibliography{jpaper}\begin{biography}\biotitle{略歴}\bioauthor{村田真樹}{1993年京都大学工学部卒業．1995年同大学院修士課程修了．1997年同大学院博士課程修了，博士（工学）．同年，京都大学にて日本学術振興会リサーチ・アソシエイト．1998年郵政省通信総合研究所入所．研究官．自然言語処理，機械翻訳の研究に従事．言語処理学会，情報処理学会，ACL，各会員．}\bioauthor{内元清貴}{1994年京都大学工学部卒業．1996年同大学院修士課程修了．同年郵政省通信総合研究所入所，郵政技官．自然言語処理の研究に従事．言語処理学会，情報処理学会，ACL，各会員．}\bioauthor{馬青}{1983年北京航空航天大学自動制御学部卒業．1987年筑波大学大学院理工学研究科修士課程修了．1990年同大学院工学研究科博士課程修了．工学博士．1990$\sim$93年株式会社小野測器勤務．1993年郵政省通信総合研究所入所，主任研究官．人工神経回路網モデル，知識表現，自然言語処理の研究に従事．日本神経回路学会，言語処理学会，電子情報通信学会，各会員．}\bioauthor{井佐原均}{1978年京都大学工学部電気工学第二学科卒業．1980年同大学院修士課程修了．博士（工学）．同年通商産業省電子技術総合研究所入所．1995年郵政省通信総合研究所関西支所知的機能研究室室長．自然言語処理，機械翻訳の研究に従事．言語処理学会，情報処理学会，人工知能学会，日本認知科学会，ACL，各会員．}\bioreceived{受付}\biorevised{再受付}\bioaccepted{採録}\end{biography}\end{document}