

\documentstyle[epsf,jnlpbbl,multirow]{jnlp_j_b5}

\renewcommand{\multirowsetup}{}





\setcounter{巻数}{10}
\setcounter{号数}{4}
\setcounter{年}{2003}
\setcounter{月}{7}
\setcounter{page}{145}




\受付{2002}{11}{22}
\再受付{2003}{3}{8}
\採録{2003}{4}{10}


\title{大規模テキスト知識ベースに基づく自動質問応答 \\ ---ダイアログナビ---}
\author{清田 陽司\affiref{UT}\and
        黒橋 禎夫\affiref{UT}\affiref{PRESTO}\and
	木戸 冬子\affiref{MSKK}}

\headauthor{清田，黒橋，木戸}
\headtitle{大規模テキスト知識ベースに基づく自動質問応答 ---ダイアログナビ---}

\affilabel{UT}{東京大学大学院情報理工学系研究科}
               {Graduate School of Information Science and Technology,
	       The University of Tokyo}
\affilabel{PRESTO}{科学技術振興事業団 さきがけ研究21}{PRESTO, JST}
\affilabel{MSKK}{マイクロソフト株式会社}{Microsoft Co., Ltd.}


\jabstract{
 本論文では，大規模テキスト知識ベースに基づく対話的自動質問応答システム
 「ダイアログナビ」について述べる．本システムは，2002年4月からWWW上で一
 般公開し，パーソナルコンピュータの利用者を対象としてサービスを行ってい
 る．実世界で用いられる質問応答システムにおいては，ユーザ質問の不明確さ
 や曖昧性が大きな問題となる．本システムは，「エラーが発生した」のような
 漠然とした質問について，対話的に聞き返しを行うことによってユーザが求め
 る答えにナビゲートする．聞き返しの方法としては，頻繁になされる漠然とし
 た質問に対する聞き返しの手順を記述した対話カードを用いる手法と，自動的
 に聞き返しの選択肢を編集して提示する手法を組み合わせて用いている．また，
 適切なテキストを正確に検索するために，ユーザ質問のタイプ，同義表現辞書
 や，日本語の文の係り受け関係などを利用している．
}


\jkeywords{対話システム，情報検索，質問応答，テキスト知識ベース}

\etitle{Dialog Navigator : \\
A Question Answering System \\ based on Large Text Knowledge Base}
\eauthor{Yoji Kiyota\affiref{UT} \and Sadao Kurohashi\affiref{UT}\affiref{PRESTO} \and Fuyuko Kido\affiref{MSKK}}

\eabstract{
 This paper describes a dialog based QA system, Dialog Navigator, which
 can answer questions based on large text knowledge base. This system is
 targeted at users of personal computers. We released the system on the
 WWW in April 2002. In real world QA systems, vagueness of questions is
 a big problem. Our system can navigate users to the desired answers
 using the following methods: asking users back with dialog cards, and
 description extraction of each retrieved text. Another feature of the
 system is that it retrieves relevant texts precisely, using question
 types, synonymous expression dictionary, and modifier-head relations in
 Japanese sentences.
}

\ekeywords{Dialogue System, Information Retrieval, Question Answering,
Text Knowledge Base}

\begin{document}

\maketitle




\section{はじめに}
\thispagestyle{empty}
何かを調べたいとき，一番よい方法はよく知っている人(その分野の専門家)に直
接聞くことである．多くの場合，自分の調べたいこととその答えの間には，具体
性のズレ，表現のズレ，背景の認識の不足などがあるが，専門家は質問者との対
話を通してそのようなギャップをうめてくれるのである．

現在，WWWなどに大規模な電子化テキスト集合が存在するようになり，潜在的に
はどのような質問に対してもどこかに答えがあるという状況が生まれつつある．
しかし，今のところWWWを調べても専門家に聞くような便利さはない．その最大
の原因は，上記のようなギャップを埋めてくれる対話的な能力が計算機にないた
めである．例えば，ユーザがWWWのサーチエンジンに漠然とした検索語を入力す
ると多くのテキストがヒットしてしまい，ユーザは多大な労力を費して適切なテ
キストを探さなければならない．

このような問題は，ドメインを限定し，ユーザが比較的明確な目的を持って検索
を行う場合でも同様である．我々は予備調査として，マイクロソフトが提供して
いる自然言語テキスト検索システム「話し言葉検索」\footnote{\tt
http://www.microsoft.com/japan/enable/nlsearch/}の検索ログを分析した．そ
の結果，全体の約3割の質問はその意図が不明確であることがわかった．このよ
うな曖昧な質問に対しては多くのテキストがマッチしてしまうので，ユーザが検
索結果に満足しているとはいいがたい．この問題を解決するためには，「曖昧な
質問への聞き返し」を行うことが必要となる．


すでに実現されている情報検索システムには，大きく分けてテキスト検索システ
ムと質問応答システムの2つのタイプがある．前者は質問キーワードに対して適
合するテキスト(のリスト)を返し，後者は質問文に対してその答えを直接返す．
しかし，曖昧な質問を行ったユーザを具体的なテキストまたは答えに導く必要性
は両者に共通する．以下では，「曖昧な質問への聞き返し」に焦点をあてて，過
去の研究を俯瞰する(表\ref{tab:情報検索の種々のタイプ})．

テキスト検索システムにおいて，質問とテキストの具体性のギャップを埋めるた
めに聞き返しを行う方法としては，以下の手法が提案されてきた．

\begin{table}
 \caption{情報検索の種々のタイプ} \label{tab:情報検索の種々のタイプ}
 \begin{center} \footnotesize
  \begin{tabular}{l|cccc} \hline
   手法 / システム      & ユーザ質問 & 出力 & 聞き返しの媒体 & 規模 \\ \hline \hline
   一般的なテキスト検索システム & キーワードの & テキストの & × & ○ \\
                        & リスト       & リスト \\ \hline
   テキストによる聞き返し & キーワードの & テキストの & テキスト & ○ \\
   (SMART, WWWサーチエンジン) & リスト & リスト \\ \hline
   関連キーワードによる聞き返し       & キーワードの & テキストの & キーワード & ○ \\
   (RCAUU, DualNAVI, Excite)      & リスト       & リスト \\ \hline
   テキストと関連キーワードによる & キーワードの & テキスト   & テキストと & △ \\
   聞き返し (THOMAS)             & リスト       &            & キーワード & \\ \hline
   クラスタリング       & キーワードの & テキストの & クラスタ & ○ \\
   (Scatter/Gather, WebSOM) & リスト   & リスト     & (キーワード or \\
                        &              &            &  テキストで表現) &
   \\ \hline \hline
   人工言語による知識体系の利用 & 自然言語     & 自然言語   & 自然言語   & × \\
   (UC)                 &              & (答え)     &            & \\ \hline
   FAQテキストの利用    & 自然言語     & 自然言語   & ×         & △ \\
   (FAQ Finder)         &              & (答え)     &            & \\ \hline
   ドメイン独立テキストの利用 & 自然言語     & 自然言語   & ×         & ○ \\
   (TREC QA / NTCIR QAC)&              & (答え)     &            & \\ \hline
   京都大学ヘルプシステム & 自然言語     & 自然言語   & 自然言語   & △ \\
                        &              & (答え)     &            & \\
                        \hline \hline
   ダイアログナビ       & 自然言語     & 自然言語   & 自然言語   & ○ \\
                        &              & (状況説明文) &            & \\ \hline
  \end{tabular}
  
 \end{center}

\end{table}


\begin{itemize}
 \item テキストによる聞き返し

       検索結果から適合テキストをユーザに判定させ，それを検索式の修正に
       反映させる手法は，SMARTシステムなどで実験が行われている
       \cite{Rocchio71} \footnote{このようにユーザが適合テキストを選ぶ方
       法は，「適合性フィードバック」とよばれている．しかし，ユーザに聞
       き返しを行って何らかの情報をえること全体が，広い意味での適合性フィー
       ドバックであるので，ここではその用語は用いていない．}．Google
       \footnote{\tt http://www.google.com/}などのWWWサーチエンジンでは，
       検索結果からテキストを1個選んで，その関連テキストを表示させること
       ができるが，この方法もユーザによる適合テキストの判定とみなすこと
       ができる．

 \item 関連キーワードによる聞き返し

       検索結果から，ユーザが入力したキーワードに関連するキーワードを抽
       出し，選択肢として提示するシステムとしては，RCAAU \cite{RCAAU}，
       DualNAVI \cite{DualNAVI}，Excite \footnote{\tt
       http://www.excite.com/}などがある．

 \item テキストと関連キーワードを組み合わせた聞き返し

       THOMAS \cite{Oddy77}は，ユーザの情報要求を，「イメージ」とよばれ
       るキーワード集合として保持し，テキスト1個と関連キーワードを併せて
       提示してそれらの適合性をユーザに判定させるプロセスを繰り返すこと
       で，「イメージ」を徐々に具体化させようとするシステムである．ただ
       し，1970年代に提案されたシステムであり，小規模なテキスト集合にし
       か適用できない．

 \item クラスタリング

       検索されたテキストをクラスタリングし，クラスタを選択肢として提示
       するシステムとしては，Scatter/Gather \cite{Hearst96}，WEBSOM
       \cite{Lagus00}などがある．これらのシステムでは，各クラスタは，そ
       れに属するテキストのリストや，代表的なキーワードのリストとして表
       現されている．

\end{itemize}


これらのシステムの聞き返しの媒体は，いずれもキーワードまたはテキストのレ
ベルである．しかし，キーワードは抽象化されすぎており表現力がとぼしく，逆
にテキストは具体的すぎるため，聞き返しの媒体としては必ずしも適切ではない．

一方，質問応答システムとしては，1980年代にUC \cite{UC}などのシステムが研
究された．これらのシステムは，ユーザの意図が曖昧な場合に自然言語による聞
き返しを行う能力を備えていたが，そのためには人工言語で記述された，システ
ムに特化した知識ベースが必要であった．しかし，十分な能力をもつ人工言語の
設計の困難さ，知識ベース作成のコストなどの問題から，このような方法には明
らかにスケーラビリティがない．

1990年代になって，電子化された大量の自然言語テキストが利用可能になったこ
とから，自然言語テキストを知識ベースとして用いる質問応答システムの研究が
盛んになってきた．インターネットのニュースグループのFAQファイルを利用す
るシステムとしては，FAQ Finder \cite{Hammond95}がある．また最近は，構造
化されていないドメイン独立のテキスト(新聞記事やWWWテキスト)を用いた質問
応答システムの研究が，TREC QA Track \cite{TREC9}やNTCIR QAC \cite{QAC} 
において盛んに行われている
\cite{Harabagiu01,TREC_LIMSI,QAC_Murata,QAC_Kawahara}．しかし，これらの
システムはユーザの質問が具体的であることを前提にして，1回の質問に対して
答えを1回返すだけであり，曖昧な質問に対して聞き返しを行う能力は備えてい
ない．

京都大学総合情報メディアセンターのヘルプシステム\cite{Kuro00}は，自然言
語で記述された知識ベースとユーザ質問の柔軟なマッチングに基づいて，曖昧な
質問に対して自然言語による聞き返しを行うことができるシステムである．しか
しそこでは，記述の粒度をそろえ，表現に若干の制限を加えた知識ベースをシス
テム用に構築しており，「曖昧な質問への聞き返し」のプロトタイプシステムと
いう位置づけが適当である．


\begin{figure}
 \begin{center}

\epsfile{file=fig/image.eps,scale=0.4}
\caption{ダイアログナビのユーザインタフェース} 
\label{fig:user_interface}
 \end{center}
\end{figure}

これに対して，本論文では，既存の大規模なテキスト知識ベースをもとにして，
自然言語による「曖昧な質問への聞き返し」を行い，ユーザを適切なテキストに
導くための方法を提案する．具体的には，パーソナルコンピュータのWindows環
境の利用者を対象とした自動質問応答システム「ダイアログナビ」を構築した
(図\ref{fig:user_interface})．本システムの主な特徴は以下の通りである．


\begin{itemize}
 \item {\bf 大規模テキスト知識ベースの利用}

       マイクロソフトがすでに保有している膨大なテキスト知識ベースをその
       ままの形で利用する．

 \item {\bf 正確なテキスト検索}

       ユーザの質問に適合するテキストを正確に検索する．そのために，質問
       タイプの同定，{\bf 同義表現辞書}による表現のずれの吸収，係り受け
       関係への重みづけなどを行っている．

 \item {\bf ユーザのナビゲート}
       
       ユーザが曖昧な質問をしたとき，対話的に聞き返しを行うことによって
       ユーザを具体的な答えにナビゲートする．聞き返しの方法としては，
       {\bf 対話カード}と{\bf 状況説明文の抽出}の2つの方法を組み合わせて
       用いる．どちらの方法が用いられても，システムは具体的なフレーズを
       聞き返しの選択肢として提示する．

\end{itemize}

\vspace*{5mm}

図\ref{fig:user_interface}の例では，「エラーが発生する」という漠然とした
質問に対して2回の聞き返しを行ってユーザの質問を対話的に明確化させた後，
知識ベースを検索してその結果を提示している．その際，ユーザの質問をより具
体化させるような部分を検索されたテキストから抽出して提示している．

本論文では，このような対話的質問応答を可能とするためのシステムを提案する．
まず\ref{sec:ダイアログナビの構成}節において，システムの構成を示す．つづ
いて，\ref{sec:テキストの検索}節では正確なテキストの検索を行うための手法
を，\ref{sec:ユーザのナビゲート}節ではユーザのナビゲートを実現するための
手法を，具体的に提案する．さらに\ref{sec:評価}節において，提案手法を実装
したシステム「ダイアログナビ」を公開運用して得られた対話データベースの分
析結果を，提案手法の評価として示す．最後に\ref{sec:おわりに}節で本論文の
まとめを述べる．

\newpage
\section{ダイアログナビの構成} \label{sec:ダイアログナビの構成}


ダイアログナビにおいて使用するリソースを以下に示す．

\begin{table}
 \caption{ダイアログナビで用いるテキスト知識ベース}
 \label{tab:text_collection}
 \begin{center} \footnotesize
  \begin{tabular}{c|rrl} \hline
   知識ベース & \multicolumn{1}{c}{件数} &
   \multicolumn{1}{c}{文字数} & \multicolumn{1}{c}{マッチング対象} \\ \hline
   用語集           & 4,707  & 700,000    & 見出し(1文) \\
   ヘルプ集         & 11,306 & 6,000,000  & タイトル(1文) \\
   サポート技術情報 & 23,323 & 22,000,000 & 文書全体(複数文) \\ \hline
  \end{tabular}
 \end{center}
\end{table}

\begin{figure}
  \begin{center}
   \tiny
   \begin{tabular}{|p{12cm}|} \hline
    \\
    {\small\bf 音声認識ソフトウェアがインストールされた環境でページ違反が発生する} \\
    \\
    最終更新日: 1999/08/18 \\
    文書番号: J049655 \\
    \\
    この資料は以下の製品について記述したものです。
    \begin{itemize}

     \item Microsoft(R) Internet Explorer Version 5 (以下 Internet Explorer 5)
     \item Microsoft(R) Windows 98 (以下 Windows 98)
    \end{itemize}
    \\
    {\bf 概要} \\
    この資料は、Windows 98 上に Internet Explorer 5 がインストール
    された環境で、音声認識ソフトウェアが起動されていると、Internet Explorer
    5 を起動した際に、ページ違反が発生する現象について説明したものです。 \\
    \\
    {\bf 内容} \\
    以下の条件を満たすときに Internet Explorer 5 を起動すると、ユー
    ザー補助プログラムの OLEACC.DLL が不正なメモリ領域を参照することにより、
    ページ違反が発生する場合があります。
    \begin{itemize}
     \item Windows 98 にユーザー補助プログラムがインストールされている
     \item 音声認識ソフトウェアが起動している
    \end{itemize}
    \\
    {\bf 回避方法} \\
    Windows 98 システムアップデートモジュールをインストールします。
    システムアップデートモジュールには、新しい OLEACC.DLL が含まれており、こ
    の不具合が修正されていることを確認しております。これは Windows 98
    Service Pack 1 に含まれるモジュールとなっており、Windows Update からダウ
    ンロードすることができます。 \\
    \\
    {\bf 入手方法}
    \begin{enumerate}
     \item \ [スタート]メニューから[Windows Update]をクリックします。
     \item 画面の指示に従い "Windows Update へようこそ" が表示されたら、"製
	   品の更新" をクリックします。
     \item "ソフトウェアの選択" 画面にて、"Windows 98 System Update" にチェッ
	   クをつけ、 " ダウンロード" ボタンを押します。
     \item 画面の指示に従い、モジュールをインストールします。
    \end{enumerate}
    \\
    \hline
   \end{tabular}
   \caption{マイクロソフト・サポート技術情報の例}
   \label{fig:マイクロソフト・サポート技術情報の例}
  \end{center}
\end{figure}



\begin{itemize}
 \item {\bf 知識ベース}

       マイクロソフトがすでに一般に公開しているテキスト知識ベースをその
       まま用いる．その種類と規模を表\ref{tab:text_collection} に示す．
       また，知識ベースのうちサポート技術情報に含まれるテキストの例を図
       \ref{fig:マイクロソフト・サポート技術情報の例} に示す．

 \item {\bf 同義表現辞書}(\ref{subsubsec:同義表現辞書}項，図\ref{fig:同義表現辞書})

       ユーザ質問文と知識ベースの間の表現のずれを吸収するために，同義語
       や同義フレーズをグループ化した辞書を用いる．現在，ダイアログナビ
       の同義表現辞書には，919グループの同義表現が存在し，3512語・217フ
       レーズが登録されている．

\begin{figure}
 \begin{center}
  \footnotesize
  \begin{tabular}{|c@{}p{10cm}|} \hline
   \multicolumn{2}{|l|}{[発生する]} \\
   \hspace{5mm} & 発生する，起きる，おきる，起こる，おこる \\
   \multicolumn{2}{|l|}{[読む]} \\
   \hspace{5mm} & 読む，よむ，読める，よめる，読み込む，よみこむ，読み込める，よみこめる \\
   \multicolumn{2}{|l|}{[メール]} \\
   \hspace{5mm} & メール，メイル，電子メール，電子メイル，Mail，E-Mail \\
   \multicolumn{2}{|l|}{[メールを読む]} \\
   \hspace{5mm} & メールを読む，メールを受信する，メールを見る，メールを受ける，メッ
   セージを受信する，メッセージを受ける \\
   \multicolumn{2}{|l|}{[パソコンを起動する]} \\
   \hspace{5mm} & パソコンを起動する，Windowsを起動する，電源を入れる，電源をオン
   する，ブートする，パソコンを立ち上げる，スイッチを入れる \\
   \hline
  \end{tabular}

  \caption{同義表現辞書の例} \label{fig:同義表現辞書}
 \end{center}
\end{figure}

 \item {\bf 上位・下位語辞書}(\ref{subsubsec:上位・下位語辞書}項，図\ref{fig:
       上位下位関係})

       上位・下位の関係にある語(「ブラウザ」と「Internet Explorer」など) 
       を関係づけた辞書を用いる．現在，200語が登録されている．

\begin{figure}
 \begin{center}
\epsfile{file=fig/jouikai.eps,scale=0.75}
  \caption{上位・下位語辞書の例}
 \label{fig:上位下位関係}
 \end{center}
\end{figure}

 \item {\bf 対話カード}(\ref{subsec:対話カードを用いた聞き返し}節，図\ref{fig:
       対話カードの例})

       曖昧なユーザ質問文のうち典型的なものに対して，どのような聞き返し
       を行うかを記述したカードを利用する．

\begin{figure}[t]
 \begin{center}
  \footnotesize
   \begin{tabular}{|p{12cm}|}
    \hline
    {\tt $<$CARD$>$} \\
    {\tt $<$ID$>$}エラー \\
    {\tt $<$UQ$>$}エラーが発生する \\
    {\tt $<$REPLY$>$}エラーはいつ発生しますか？ \\
    {\tt $<$SEL action=CARD card\_id={\rm ``エラー/Windows起動中''}$>$} Windows起動中 \\
    {\tt $<$SEL action=CARD card\_id={\rm ``エラー/ログイン時''}$>$} ログイン時 \\
    {\tt $<$SEL action=CARD card\_id={\rm ``エラー/印刷時''}$>$} 印刷中 \\
    $\cdots$ \\
    {\tt $<$/CARD$>$} \\
    \\
    \hline
    \multicolumn{1}{c}{}\\
    \hline
    {\tt $<$CARD$>$} \\
    {\tt $<$ID$>$}エラー/Windows起動中 \\
    {\tt $<$UQ$>$}Windowsの起動中にエラーが発生する \\
    {\tt $<$REPLY$>$}あなたがお使いのWindowsを選んでください． \\
    {\tt $<$SEL action=RET phrase={\rm ``Windows 95の起動中にエラーが発生する''}$>$} Windows 95 \\
    {\tt $<$SEL action=RET phrase={\rm ``Windows 98の起動中にエラーが発生する''}$>$} Windows 98 \\
    $\cdots$ \\
    {\tt $<$SEL action=RET phrase={\rm ``Windows XPの起動中にエラーが発生する''}$>$} Windows XP \\
    {\tt $<$/CARD$>$} \\
    \\
    \hline
   \end{tabular}
  \caption{対話カードの例} \label{fig:対話カードの例}
 \end{center}
\end{figure}



\end{itemize}


ダイアログナビの内部の処理と，ユーザとの対話の関係を図
\ref{fig:architecture}に示す．基本的な流れは，対話カードに基づくユーザと
の対話によってユーザの質問が具体化され(図\ref{fig:architecture}の左側の
ループ)，具体化された質問によって知識ベースが検索され(右側の処理へ移行)，
検索結果が自動編集され選択肢の形でユーザに提示される．ユーザの最初の質問
が具体的な場合は，対話カードとはマッチせずに右側の処理へ移行し，はじめか
ら知識ベースの検索結果が提示される．

図\ref{fig:architecture}中の各モジュールの働きは以下の通りである(詳細は
次節以降に示す)．

\begin{itemize}
 \item {\bf 入力解析モジュール}

       質問文を3種類の質問タイプ(Symptom型，How型，What型)に分類し，質問
       文の内容表現を抽出する．さらに，構文解析，キーワードと同義表現の
       抽出などを行う．

 \item {\bf テキスト検索モジュール}

       対話カードおよび知識ベース(以下，これらを総称して{\bf テキスト}と
       いう)とユーザ質問文のマッチングを行い，スコアの高いテキストを返す．
       マッチングの際には，同義表現辞書，上位・下位語辞書を用いて表現の
       ずれを吸収する．

 \item {\bf 状況説明文抽出モジュール}

       知識ベース中のユーザ質問文とマッチした文の，マッチした部分の周囲
       を抽出することによって，ユーザにとって簡潔でわかりやすい選択肢を
       提示する．

\end{itemize}


\begin{figure}
 \begin{center}
\epsfile{file=fig/flow_chart.eps,scale=0.6}
  \caption{ダイアログナビのフローチャート} \label{fig:architecture}
 \end{center}
\end{figure}



\section{テキストの検索} \label{sec:テキストの検索}

質問応答システムにおいてまず重要なことは，質問の答えを含むと思われるテキ
ストを十分な精度で検索できることである．そのために，質問タイプとプロダク
ト名による知識ベースの絞り込みを行う．また，表現のずれを吸収するために同
義表現辞書(図\ref{fig:同義表現辞書})を利用したマッチングを行う．さらに，
スコア計算において，「ファイル→開く」のような係り受け関係に加点すること
によって，検索の精度を向上させる\cite{CLARIT}．


\subsection{マッチングの前処理} \label{subsec:マッチングにおける文節の扱い}

ユーザ質問文とテキスト内の文(以下，{\bf テキスト文}という)は，それぞれ構
文解析を行って文節単位の係り受け構造に変換した上でマッチングを行う．この
節では，マッチングを行うまでの前処理についてまとめる．


\subsubsection{構文解析とキーワード抽出}

ユーザ質問文とテキスト文の両者について，JUMAN\cite{JUMAN}，KNP\cite{KNP} 
によって構文解析を行い，各文節に含まれるキーワードを抽出する．JUMANにお
いて，普通名詞・固有名詞・人名・地名・組織名・数詞・動詞・形容詞・形容動
詞・副詞・カタカナ・アルファベットと解析された語の原形をキーワードとみな
す．ただし，一般的な語彙「する」「ある」「行う」「おこなう」「行く」「い
く」「なる」「下さる」「くださる」「ございます」「できる」「出来る」は，
キーワードとしない．


\subsubsection{文節の分割・併合処理} \label{subsubsec:文節の分割・併合処理}

マッチングのスコアを計算する際，KNPが出力した文節をそのまま用いることに
は問題がある．例えば，「画面をコピーできない」は2文節，「画面コピーをす
ることができない」は4文節と解析されるが，両者は同じことを表現している．
これを適切に扱うためには，両者の単位をそろえる必要がある．

本システムは，下記のルールに従って文節を分割・併合する(図\ref{fig:文節の
分割・併合処理の例})．
\begin{enumerate}
 \item 複数のキーワードを含む文節は，1キーワード毎に分割する．分割された
       隣り合う文節同士は，係り受けの関係にあるものとする．ただし，カタ
       カナ語・アルファベット・数詞が隣接している箇所では分割しない．こ
       のような語同士が隣接する場合は，「ウィンドウズ98SE」のようにプロ
       ダクト名などを表していることが多いからである．

 \item 「(〜に)ついて」「(〜)こと」などの複合辞・形式名詞・副詞的名詞か
       らなる文節，キーワードを含まない文節は，直前の文節に併合する．
\end{enumerate}



\begin{figure}
 \begin{center}
\epsfile{file=fig/divide_merge.eps,scale=0.5}
 \caption{文節の分割・併合処理と否定フラグの付与}
 \label{fig:文節の分割・併合処理の例}
  \end{center}
\end{figure}



\subsubsection{否定フラグの付与}

ユーザ質問文とテキスト文のマッチングの際に否定表現のバリエーションを吸収
するために，文節にフラグを付与する．具体的には，形容詞「ない」，助動詞
「ぬ」，または形容動詞「不可能だ」を含む場合に否定フラグを付与する(図
\ref{fig:文節の分割・併合処理の例}右)．


\subsubsection{ユーザ質問文のタイプ推定と文末表現の削除}

\begin{table}
 \caption{「話し言葉検索」の質問文タイプ} \label{tab:「話し言葉検索」のログ分析結果}
 \begin{center}
  \footnotesize
  \begin{tabular}{c|p{4cm}|p{4cm}|c} \hline
   質問文タイプ & 説明 & 質問文の例(文末表現パターン) & 割合 \\ \hline \hline
   What型 & 用語の意味や定義などをたずねる質問 
   & 〜って何ですか，〜の説明をして，〜の意味を教えて
   & 約10\,\% \\ \hline
   How型 & 操作の方法などをたずねる質問 
   & 〜方法を教えて，〜にはどうしたらいいの，〜の使い方
   & 約35\,\% \\ \hline
   Symptom型 & 遭遇している問題や症状を述べ，その解決策をたずねる質問
   & 〜してしまう，〜が使えません，〜ができない
   & 約50\,\% \\ \hline
   その他 & ------------------ & ------------------ & 約5\,\% \\ \hline
  \end{tabular}
 \end{center}
\end{table}


「話し言葉検索」の検索ログを分析した結果，表\ref{tab:「話し言葉検索」の
ログ分析結果}に示すようにユーザの質問には主に3つのタイプが存在することが
わかった．本システムでは，表\ref{tab:「話し言葉検索」のログ分析結果}の文
末表現パターンを用いて，ユーザ質問文の質問タイプ(What型，How型，Symptom 
型，タイプなしのいずれか)を推定する．また，文末表現パターンのうち，「〜っ
て何ですか」「〜方法を教えて」のようにテキスト検索においてノイズとなるも
のについては，ユーザ質問文から削除する．


\subsection{表現のずれの吸収} \label{subsec:同義表現辞書の利用}

適切なテキストを検索するためには，ユーザ質問文とテキストの間の表現のずれ
が大きな問題となる．本システムでは，{\bf 同義表現辞書}と{\bf 上位・下位
語辞書}を用いることによってこの問題に対処する．


\subsubsection{同義表現辞書} \label{subsubsec:同義表現辞書}

表現のずれは語のレベルだけでなく，「パソコンを起動する」「Windowsを起動
する」「電源を入れる」のように，2文節以上のフレーズレベルにおいても多数
存在する．そこで，同義語だけでなくフレーズレベルのものも含んだ同義表現を
グループ化した{\bf 同義表現辞書}を作成し，これを用いて同義表現のマッチン
グを行う．

同義表現辞書の例は図\ref{fig:同義表現辞書}に示した．本辞書の作成は，「話
し言葉検索」のログを解析し，頻出する同義表現をグループ化することによって
行った．また，和語動詞(「戻る」など) の可能形(「戻れる」) や読み(「もど
る」「もどれる」)も同義表現として登録した．


なお，同義表現辞書には再帰的な関係が含まれているため，これをあらかじめ展
開しておく．図\ref{fig:同義表現辞書の再帰的展開}においては，「メールを読
む」には2つのキーワード「メール」「読む」が含まれるが，「メール」には同
義語「メイル」「E-mail」が存在し，「読む」には同義語「読み込む」が存在す
る．この場合，「メールを読む」というフレーズを$3 \times 2 = 6 通り$ に展
開する．


\begin{figure}
 \begin{center}
\epsfile{file=fig/expand_syndic.eps,scale=0.5}
 \caption{同義表現辞書の再帰的展開} 
\label{fig:同義表現辞書の再帰的展開}
 \end{center}
\end{figure}


マッチングの際には，ユーザ質問文とテキストの両者について，同義表現辞書を
調べて，そこに含まれる同義表現グループを抽出し，同一グループのものがあれ
ばマッチするとみなす．ただし，\ref{subsec:転置インデックス}節で述べるよ
うに，テキストについてはあらかじめ同義表現グループを抽出しておく．

図\ref{fig:ユーザ質問文と同義表現データベースの照合}に，ユーザ質問文と同
義表現辞書の照合の例を示す．この例では，4つの同義表現グループ{\bf [使う]，
[メール]，[読む]，[メールを読む]}が抽出される．

\begin{figure}
 \begin{center}
\epsfile{file=fig/extract_syn.eps,scale=0.5}
  \caption{ユーザ質問文と同義表現辞書の照合}  \label{fig:ユーザ質問文と同義表現データベースの照合}
  \end{center}
\end{figure}



\subsubsection{上位・下位語辞書} \label{subsubsec:上位・下位語辞書}

同義表現辞書ではうまく扱えない表現のずれも存在する．例えば，「ブラウザ」
$\Longleftrightarrow$「IE6」，「ブラウザ」$\Longleftrightarrow$「IE5」と
いった表現のずれに対して，「ブラウザ」「IE5」「IE6」をすべて同義語として
扱うことは問題である．なぜなら，「IE5」に関する質問に対して，「IE6」に関
するテキストを示すことは適切でないからである．

そこで，図\ref{fig:上位下位関係}に示すような上位・下位語辞書を作成し，テ
キストに現れるキーワードの上位語・下位語を，キーワードと同様に扱うことに
よってこの問題に対処する．例えば，「IE6」がテキストに現れる場合はその上
位語「IE」「ブラウザ」もキーワードとして扱い，「IE」がテキストに現れる場
合はその上位語「ブラウザ」と下位語「IE3」「IE4」「IE5」「IE6」もキーワー
ドとして扱う．ユーザ質問文についてはこの扱いを行わないことによって，
「IE5」と「IE6」がマッチすることが避けられる．



\subsection{転置インデックスの利用} \label{subsec:転置インデックス}

テキストを高速に検索するために，前もってテキストからキーワード・同義表現
グループの抽出と，キーワードの上位・下位語の展開を行い，転置インデックス
を作成しておく．

本システムは，ユーザ質問文から抽出されたキーワードと同義表現グループにつ
いて転置インデックスを参照し，1個以上のキーワードまたは同義表現が一致す
るテキストを，次節で述べる質問タイプ・プロダクト名による絞り込みの対象と
する．



\subsection{知識ベースの絞り込み} \label{subsec:テキスト集合の絞り込み}

テキスト検索の精度を向上させるために，質問タイプとプロダクト名による知識
ベースの絞り込みを行う．

\subsubsection{質問タイプによる絞り込み} \label{subsubsec:質問タイプによる絞り込み}

テキスト検索モジュールは，入力解析モジュールによって推定された質問パター
ンにもとづいて，表\ref{tab:質問タイプによるテキスト集合の絞り込み}に示す
ようにテキスト集合を絞り込む．原則として，用語集はWhat型，ヘルプ集はHow 
型の質問に対応させる．サポート技術情報についてはSymptom型・How型を示すタ
グが付与されているので，これを利用する．

なお，What型の質問については必ずしも用語集を用いて答えればよいとは限らな
い．例えば，「コントロールパネルについて教えて」のような質問はWhat型に分
類されるが，用語の定義ではなく操作方法などについて聞いていると解釈するこ
ともできる．よって，全てのテキストを検索対象とした上で，複数の知識ベース
のテキストがユーザ質問とマッチした場合には用語集のテキストを最初に提示す
る．

\begin{table}
 \caption{質問タイプによるテキスト集合の絞り込み} \label{tab:質問タイプ
 によるテキスト集合の絞り込み}
 \begin{center}
  \footnotesize
  \begin{tabular}{@{\hspace{1mm}}l@{\hspace{2mm}}l|c@{\hspace{2mm}}c@{\hspace{2mm}}c@{\hspace{2mm}}c@{\hspace{1mm}}} \hline
   & & \multicolumn{4}{|c}{質問タイプ} \\
   \multicolumn{2}{c|}{テキスト集合} & What型 & How型 & Symptom型 &
   タイプなし \\ \hline
   用語集           & (What型)     & o &   &   & o \\ \hline
   ヘルプ集         & (How型)      & o & o &   & o \\ \hline
   サポート技術情報 & (Symptom型)  & o &   & o & o \\
                    & (How型)      & o & o &   & o \\
                    & (タイプなし) & o & o & o & o \\ \hline
  \end{tabular}
 \end{center}
\end{table}


\subsubsection{プロダクト名による絞り込み} \label{subsubsec:プロダクト名による絞り込み}

ヘルプ集・サポート技術情報については，図\ref{fig:マイクロソフト・サポー
ト技術情報の例}に示したようにすべてのテキストに対象プロダクト名が明示さ
れているので，これを利用してテキストの絞り込みを行う．

質問文にプロダクト名(Windows NT，Word，Excelなど)が出現する場合は，その
プロダクトを対象とするテキストを検索対象とする．質問文に複数のプロダクト
名が出現する場合(「\underline{Excel}で作った表が\underline{Word}で読み込
めない」など) は，いずれかのプロダクトを対象とするテキストを検索対象とす
る．




\subsection{テキストのスコア計算} \label{subsec:スコアの計算}


転置インデックスを参照して得られ，さらに質問タイプ・プロダクト名によって
絞り込まれた各テキストを対象として，ユーザ質問文との間で係り受け関係まで
考慮した類似度計算を行う．ただし，絞り込まれたテキスト数が1000個を超える
場合は，転置インデックスにおいて一致したキーワード・同義表現グループの数
の多い順に，上位1000個までを対象とする．


\subsubsection{文類似度の計算}

ユーザ質問文とテキスト文の2文の類似度の計算は，\ref{subsec:マッチングに
おける文節の扱い}節で述べた文節を単位として行う．2文の互いに対応する文節
と係り受け関係の割合({\bf 被覆率})をそれぞれ計算し，その積を2文の類似度
とする．

まず，2文間で，以下の条件によって文節・係り受け関係を対応づける．その際，
対応する文節・係り受け関係に{\bf 対応度}(0以上，1以下の値)を付与する．
\begin{enumerate}
 \item ユーザ質問文の文節{\bf A}に含まれるキーワードと，テキスト文の文節
       {\bf A'}に含まれるキーワード(あるいはその上位・下位語)のいずれか
       が一致する場合，{\bf A}と{\bf A'}を対応づける．対応度は，以下のよ
       うに計算する．
       \begin{itemize}
	\item[(a)] {\bf A，A'}に共通のキーワードが含まれる場合は，以下の計算
	      式によって対応度を計算する．
	      \[
	      (対応度) = \frac{(共通して含まれるキーワード数)}{(\mbox{\bf A，
	      A'}のうちの多い方のキーワード数)}
	      \]
	      例えば，「Windows 98 SE」(3語)と「Windows 98」(2語)につい
	      ては，2語「Windows」「98」が共通して含まれるので，対応度は
	      $2/3 (\simeq 0.67)$となる．ただし，多くの場合，文節は1キー
	      ワードのみを含むので，対応度は1.0となる．

	\item[(b)] {\bf A}のキーワードと，{\bf A'}のキーワードの上位語または
	      下位語が一致する場合は，対応度は0.9とする．
	\item[(c)] {\bf A}と{\bf A'}の否定フラグが一致しない場合は，対応度は
	      一致する場合の0.6倍とする．
       \end{itemize}
 \item ユーザ質問文内の係り受け関係{\bf A$\rightarrow$B}とテキスト文内の
       係り受け関係{\bf A'$\rightarrow$B'}について，文節{\bf A，A'}と文
       節{\bf B，B'}がそれぞれ対応する場合，それらを対応づける．{\bf
       A$\rightarrow$B}の対応度は{\bf A，A}の対応度と{\bf B，B}の対応度
       の積とする．
 \item ユーザ質問文から抽出された同義表現グループとテキスト文から抽出さ
       れた同義表現グループが一致する場合，それらが抽出された文節・係り
       受け関係を対応づける(図\ref{fig:同義表現の対応づけ})．対応度は1.0
       とする．
\end{enumerate}
以上の処理の結果，両者の文節・係り受け関係に対応度が付与される．複数の対
応を持つ文節・係り受け関係については，いずれか大きな対応度をその対応度と
する．

\begin{figure}
 \begin{center}
\epsfile{file=fig/synmatch.eps,scale=0.5}
  \caption{同義表現の対応づけ} 
\label{fig:同義表現の対応づけ}
  \end{center}
\end{figure}


ユーザ質問文，テキスト文の{\bf 被覆率}は，それぞれ以下の式によって計算す
る．
\[
 (被覆率) = \frac{(文節の対応度の和) + (係り受け関係の対応度の和) \times 2}
  {(文節の総数) + (係り受け関係の総数) \times 2}
\]
ユーザ質問文，テキスト文の両者の被覆率の積を，両者の類似度とする．

図\ref{fig:スコア計算}においては，ユーザ質問文，テキスト文ともに3つの文
節と2つの係り受け関係が対応を持っており，対応度はすべて1.0である．両者の
被覆率はそれぞれ1.0，0.54であるので，類似度は0.54となる．

\begin{figure}
 \begin{center}
\epsfile{file=fig/score_calc2.eps,scale=0.6}
  \vspace*{5mm}
  \begin{tabular}{ccccc}
   3.0 & ------ & {\bf 文節の対応度の和} & ------ & 3.0 \\
   2.0 & ------ & {\bf 係り受け関係の対応度の和} & ------ & 2.0 \\
   3 & ------ & {\bf 文節の総数} & ------ & 5 \\
   2 & ------ & {\bf 係り受け関係の総数} & ------ & 4 \\
   1.0 & ------ & {\bf 被覆率} & ------ & 0.54 \\
  \end{tabular}
  \vspace*{-4mm}

  \underline{{\bf 類似度} $ = 1.0 \times 0.54 = 0.54$ }
  \vspace*{4mm}
  \caption{ユーザ質問文とテキスト文の対応づけと類似度の計算} \label{fig:スコア計算}
  \end{center}
\end{figure}



\subsubsection{テキストのスコアと代表文} \label{subsubsec:テキストのスコアと代表文}

各テキスト中でもっとも類似度の大きな文をテキストの{\bf 代表文}とし，その
類似度をテキストのスコアとする．


\subsubsection{サポート技術情報の扱い}

サポート技術情報は，表\ref{tab:text_collection}に示したようにテキスト全
体の複数文がマッチングの対象となるため，特別な扱いをしている．

\begin{itemize}
 \item テキスト文の長さが一様ではないので，テキスト文の被覆率を考慮しな
       い．すなわち，ユーザ質問文とテキスト文の類似度は，ユーザ質問文の
       被覆率とする．
 \item 一つの事象を複数文で説明している場合が多いので，前後の文とのマッ
       チングを考慮する．ユーザ質問文とテキスト文$S_n$の間で類似度を計算
       する場合は，ユーザ質問文の文節・係り受け関係と，$S_n$の前後の文
       ($S_{n-1}$，$S_{n+1}$)の文節・係り受け関係の対応にも，対応度0.5
       を与える．
 \item サポート技術情報のテキストには，図\ref{fig:マイクロソフト・サポー
       ト技術情報の例}に示したように，セクションが存在する．これらのセク
       ションのうち，「タイトル」「概要」「現象」「症状」セクションには，
       ユーザが頻繁に質問することがらが書かれていることが多い．そこで，
       文の存在するセクションに応じて，類似度に下記の係数を掛け合わせる．

       \[
	\begin{array}{llc}
	 - & タイトル・概要 & 1.0倍 \\
	 - & 現象・症状     & 0.8倍 \\
	 - & 上記以外       & 0.6倍 \\
	\end{array}
       \]


\end{itemize}


\subsection{選択肢の絞り込み}

テキスト検索モジュールは，3つのテキスト集合(用語集・ヘルプ集・サポート技
術情報) ごとに，テキストのスコアに基づいてユーザに提示する選択肢を絞り込
む．

テキストをスコアの大きい順に整列し，上位$n$個までをユーザに提示する選択
肢とする．ただし，スコアが閾値$t$を下回るものは対象外とする．また，同じ
スコアの複数のテキストが$n$位前後で並ぶ場合は，それらをすべて含める．$n$，
$t$ の値は，表\ref{tab:選択肢の絞り込みのパラメータ}に示すようにテキスト
集合ごとに定めた．

複数のテキスト集合から選択肢が得られた場合は，用語集，ヘルプ集，サポート
技術情報の順で提示する．

\begin{table}
 \caption{選択肢の絞り込みのパラメータ} \label{tab:選択肢の絞り込みのパラメータ}
 \footnotesize
 \begin{center}
  \begin{tabular}{c|cc} \hline
   & 最大選択肢数 & スコア閾値 \\
   テキスト集合     & $n$ & $t$ \\ \hline
   用語集           & 2   & 0.8 \\
   ヘルプ集         & 5   & 0.3 \\
   サポート技術情報 & 10  & 0.1 \\ \hline
   対話カードの{\tt $<$UQ$>$}(\ref{subsec:対話カードを用いた聞き返し}節) & 1 & 0.8 \\
   \hline
  \end{tabular}
 \end{center} 
\end{table}



\section{ユーザのナビゲート} \label{sec:ユーザのナビゲート}

ユーザが自分の知りたいことを普通に表現しても，それで一意に適切なテキスト
が決まることは少ない．例えば「Windows98で起動時にエラーが発生した」とい
う比較的具体的な質問であっても，いくつかの原因と対策があり，それぞれにテ
キストが存在する．ユーザの質問がさらに曖昧であったり抽象的であったりする
場合には，より多くのテキストが候補として選ばれる．いずれにせよ，ユーザが，
複数のテキスト候補の中から，自分の状況に一番適切なものを選択することが必
要になる．

WWWのサーチエンジンは，テキスト中から検索語を含む部分を抽出してユーザに
提示することによって，ユーザのテキスト選択を補助している．本システムでは，
この考え方を一歩進め，ユーザの質問(遭遇している問題)をより具体化するよう
な説明文をテキスト中から自動的に抽出し，それらを選択肢として提示するとい
う形でユーザへの聞き返しを行う．

しかし，ユーザの質問が非常に曖昧な場合には上記の方法はうまく機能しない．
そこで，頻繁に尋ねられる曖昧な質問に対して，それをどのように対話的に具体
化するかを対話カードという形式で体系化した．例えば，図\ref{fig:ユーザの
ナビゲート}に示すように，ユーザが「エラーが発生した」という質問をした場
合，「エラーが発生したのはいつですか」「使っているWindowsのバージョンは
何ですか」などの聞き返しを行って，ユーザの問題を具体化する．


\begin{figure}
 \begin{center}
\epsfile{file=fig/hierarchy.eps,scale=0.45}
  \caption{ユーザのナビゲート} 
\label{fig:ユーザのナビゲート}
 \end{center}
\end{figure}



\subsection{状況説明文の抽出} \label{subsec:状況説明文の抽出}

ユーザ質問とマッチした知識ベース中の文では，その中のマッチしなかった部分
に，ユーザの問題をより具体化する状況説明が与えられていると考えられる(こ
のような部分を状況説明文とよぶ)．たとえば，ユーザが「ページ違反が発生す
る」と質問し，これが「IE5を起動した際にページ違反が発生する」という文に
マッチした場合，マッチしていない「IE5を起動した際に」という部分が状況説
明文となる．ユーザの質問にマッチした複数の文からそれぞれ状況説明文を抽出
し，ユーザに選択肢として提示すれば，ユーザは自分の状況に適合するものを容
易に選択することが可能となる．

状況説明文抽出のアルゴリズムを以下に示す．

\begin{enumerate}
 \item 「この資料では，(〜)」「以下の」「(〜する) 問題について説明し
       ています」など，頻出する冗長な表現をパターンマッチにより削除す
       る．
 \item 文を次の箇所で分割する．分割された各部をセグメントと呼ぶ．
       \begin{itemize}
	\item 連用修飾節
	\item 「〜とき」「〜際」「〜場合」「〜最中」など
	\item 読点を伴うデ格
       \end{itemize}
 \item セグメントのうち，すべての文節がユーザ質問文中の文節と対応するも
       のを削除する(同義表現として対応する文節も含む)．
 \item 末尾(削除されたセグメントを除く)のセグメントを状況説明文の核とす
       る．
 \item 核のセグメントと，それに直接係るセグメントのみを，状況説明文とし
       て選択する．
\end{enumerate}


アルゴリズムの適用例を図\ref{fig:選択肢テキストからの状況説明文の抽出}に
示す．まず，左の文は2つのセグメント{\bf A・B}，右の文は3つのセグメント
{\bf C・D・E}に分割される．このうち，左の文のセグメント{\bf B}と，右の文
のセグメント{\bf C・E}は，すべての文節がユーザ質問文と対応するため削除さ
れる．結果としてセグメント{\bf A}と{\bf D} が状況説明文の核となり，「IE5 
を起動した際に」と「タスクスケジューラを使うと」が状況説明文として出力さ
れる．

\begin{figure}
 \begin{center}
\epsfile{file=fig/extract_description.eps,scale=0.5}
  \caption{選択肢テキストからの状況説明文の抽出} 
  \label{fig:選択肢テキストからの状況説明文の抽出}
 \end{center}
\end{figure}

サポート技術情報のテキストについては，各選択肢テキストの代表文から状況説
明文を抽出する．用語集・ヘルプ集のテキストについては，各テキストの見出し
語・タイトル自体が簡潔な説明文となっているので，この処理の対象とはしない．



\subsection{対話カードを用いた聞き返し} \label{subsec:対話カードを用いた聞き返し}





ユーザの質問が非常に曖昧な場合には，テキスト検索の精度が低くなり，多くの
不適切なテキストがマッチしてしまう．このような場合に状況説明文の抽出を行っ
ても，誤りを含んだ多くの選択肢が得られることになり，ユーザの助けとはなら
ない．

そこで，頻繁に尋ねられる曖昧な質問に対して，それを対話的に具体化する手順
を対話カードという形式で体系化した．1枚の対話カードは，あるユーザ
質問に対して，どのような聞き返しをすればよいかを記述したもので，以下の要
素から構成されている(図\ref{fig:対話カードの例})．

\begin{description}
 \item[\tt $<$ID$>$:] 対話カードのID．
 \item[\tt $<$UQ$>$:] ユーザ質問文．この部分がユーザの質問文と
       マッチすればこの対話カードが利用される．
 \item[\tt $<$REPLY$>$:] システムからユーザへの聞き返し発話．
 \item[\tt $<$SEL action=CARD/SHOW/RET ... $>$:] 聞き返しの際，ユーザに
	    提示する選択肢．それぞれの選択肢にはユーザがそれを選んだ場合
	    のシステムの動作が記述されている．{\tt action=CARD}の場合に
	    は{\tt card\_id=}で示された対話カードに移る．{\tt
	    action=SHOW} の場合には{\tt url}で示されたwebページ(マイクロ
	    ソフトのサイトの種々のドキュメント) または{\tt text\_id}で示
	    された知識ベースのテキストを表示する．{\tt action=RET}の場合
	    には{\tt phrase}で示された質問文によって知識ベースを検索する．
\end{description}


対話カードの利用例を図\ref{fig:user_interface}によって説明する．まずユー
ザが「エラーが発生した」という質問をすると，質問文と各対話カードの{\tt
$<$UQ$>$} の部分とのマッチングを\ref{sec:テキストの検索}節で述べたアルゴ
リズムによって行う．この結果，図\ref{fig:対話カードの例}上段の対話カード
が選ばれる．システムはこのカードに従って，「エラーはいつ発生しますか?」
という聞き返しを，選択肢を示して行う．ユーザが「Windows 起動中」を選ぶと，
システムは図\ref{fig:対話カードの例}下段の[エラー/Windows 起動中]の対話
カードに移って，「あなたがお使いのWindowsを選んでください」という聞き返
しを行う．ここでユーザが「Windows 98」を選ぶと，「Windows 98の起動中にエ
ラーが発生する」を質問文として知識ベースのテキストの検索を行う．


対話カードはこのように階層的に構成されており，そのすべてのカードの{\tt
$<$UQ$>$}が検索対象となっている．すなわち，図\ref{fig:ユーザのナビゲート} 
で示したさまざまなレベルの曖昧性・抽象度の質問を全体的にカバーするように
設計されている．たとえば，ユーザが「Windowsを起動中にエラーが発生する」
と質問した場合には，はじめから図\ref{fig:対話カードの例}下段のカードを用
いた対話が行われることになる．

また，対話カードの枠組みは，「U:こんにちは S:こんにちわ」「U:このシステ
ム使いやすいですね S:ありがとうございます」のようなドメインとは関係のな
い例外的な対応を行う場合にも利用している(この場合は{\tt $<$SEL$>$}のない
カードとなる)．このような対応ができなければ，通常の検索，すなわち知識ベー
スに対して「このシステム使いやすいですね」で検索を行ってしまい，「システ
ム」や「使う」を含む知識ベースを提示するということが起こってしまう．ユー
ザの例外的な発話に対する不適切な動作を防ぎ，正常な対話を維持するという意
味で，対話カードによる例外処理は重要である(このような例外的な対話は次節
では「範囲外」の対話と扱っている)．


\section{評価} \label{sec:評価}

ダイアログナビは，{\tt http://www.microsoft.com/japan/navigator/}におい
て，2002年4月から公開サービスを行っている．ユーザとの質問応答のログは，
対話データベースとして蓄積している．

本システムの評価としては，対話セッションの評価，ユーザとシステムのふるま
いの分析，状況説明文の抽出結果が妥当かどうかの評価の3種類を行った．





\subsection{対話セッションの評価}

対話データベース中の2002年8月1日〜31日の質問応答ログの中から無作為に300 
回のアクセスを選択した．それらを人手によってタスク指向対話としての意味的
まとまりに分割した．このまとまりを{\bf 対話セッション}とよぶ．結果として，
378個の対話セッションが得られた．1対話セッション当たりの発話ペア(ユーザ
のキーボード入力またはマウスでの選択と，それに対するシステムの応答)の回
数は，平均1.42回であった．


378対話セッションそれぞれに対して，評価者1名が次のいずれかの評価を与えた．
\begin{description}
 \item[成功:知識あり] システムが少なくとも1つの適切なテキストを選択肢と
	    して提示した．
 \item[成功:知識なし] 知識ベースに適切なテキストがなく，かつシステムが
	    「該当する情報を見つけることができませんでした」と回答した．
 \item[失敗:知識あり] 知識ベースに適切なテキストがあるにもかかわらず，シ
	    ステムがそれらのうちどれも選択肢として提示することができなかっ
	    た．
 \item[失敗:知識なし] 知識ベースに適切なテキストがないにもかかわらず，シ
	    ステムが不適切なテキストを選択肢として提示した．
 \item[範囲外:適切] ユーザの質問は想定ドメインの範囲外であったが，システ
	    ムは適切な応答をした．
 \item[範囲外:不適切] ユーザの質問が想定ドメインの範囲外であり，システム
	    が不適切な応答をした．
\end{description}


\begin{table}
 \caption{対話セッション評価の例(タイプA)} \label{tab:対話セッション評価の例(タイプA)}
 \begin{center} \footnotesize
  \begin{tabular}{c|llp{10cm}} \hline
   A-1 & U: & \multicolumn{2}{l}{Excelで行を追加したい} \\
       & S: & \multicolumn{2}{l}{以下の選択肢から選んでください．} \\
       &    & 1. ○ & \underline{Excelで空白のセル，行，列を挿入する} \\
       &    & 2. ○ & \underline{EXCEL: 行の挿入} \\
       &    & 3.    & ... \\ \cline{2-4}
       & \multicolumn{2}{l}{評価} & 成功:知識あり \\ \hline


   A-2 & U: & \multicolumn{2}{l}{起動ディスク} \\
       & S: & \multicolumn{2}{l}{以下の選択肢から選んでください．} \\
       &    & 1.    & \underline{W98: PC-9800シリーズ対応用起動ディスク
       の起動メニュー} \\
       &    & 2.    & \underline{Windows XPインストール時にフロッピーで
       コンピューターを起動するための} \\
       &    &       & \underline{ディスクの入手方法} \\
       &    & 3.    & ... \\
       & U: & \multicolumn{2}{l}{Windows 2000での起動ディスクの作成方法は?} \\
       & S: & \multicolumn{2}{l}{以下の選択肢から選んでください．} \\
       &    & 1. ○ & \underline{Windows NTブートディスクを作成しブート障害に備える方法} \\
       &    & 2.    & \underline{Windows 2000 Server の新規インストールを実行する方法} \\
       &    &       & CD-ROMドライブからコンピュータを起動できない場合，
       Windows 2000ブートディスクを作成します． \\
       &    & 3. ○ & ... \\ \cline{2-4}
       & \multicolumn{2}{l}{評価} & 成功:知識あり \\ \hline

   A-3 & U: & \multicolumn{2}{l}{USB1.1からusb2.0に交換できますか?} \\
       & S: & \multicolumn{2}{l}{入力された質問から，該当する情報を見つ
       けることができませんでした．} \\ \cline{2-4}
       & \multicolumn{2}{l}{評価} & 成功:知識なし \\ \hline

   A-4 & U: & \multicolumn{2}{l}{マクロを使いたい} \\
       & S: & \multicolumn{2}{l}{以下の選択肢から選んでください．} \\
       &    & 1.    & \underline{Accessでマクロを使ってプロパティを設定する} \\
       &    & 2.    & \underline{Access Visual Basicでマクロを使ったプロパティの設定} \\
       &    & 3.    & ... \\
       & U: & \multicolumn{2}{l}{Excelです} \\
       & S: & \multicolumn{2}{l}{以下の選択肢から選んでください．} \\
       &    & 1.    & \underline{Excel 2000の起動時に特定のファイルを開く方法} \\
       &    & 2.    & \underline{Excel: Web上にExcelデータを保存する方法} \\
       &    & 3.    & ... \\ \cline{2-4}
       & \multicolumn{2}{l}{適切なテキスト} & Excelのマクロについて \\ \cline{2-4}
       & \multicolumn{2}{l}{評価} & 失敗:知識あり \\ \hline

   A-5 & U: & \multicolumn{2}{l}{ウインドウズXPを削除するにはどうしますか?} \\
       & S: & \multicolumn{2}{l}{入力された質問から，該当する情報を見つ
       けることができませんでした．} \\ \cline{2-4}
       & \multicolumn{2}{l}{適切なテキスト} & Windows XPをアンインストールする方法 \\ \cline{2-4}
       & \multicolumn{2}{l}{評価} & 失敗:知識あり \\ \hline

   A-6 & U: & \multicolumn{2}{l}{ラリースポーツ チャレンジで正しく画面が表示されない} \\
       & S: & \multicolumn{2}{l}{以下の選択肢から選んでください．} \\
       &    & 1.    & \underline{W98SE:初期設定の画面で[ESC]を連打すると表示が不正} \\
       &    & 2.    & \underline{[CHT2]キャラクターが正しく表示されない場合} \\
       &    & 3.    & ... \\ \cline{2-4}
       & \multicolumn{2}{l}{評価} & 失敗:知識なし \\ \hline

  \end{tabular}

 \end{center}
\end{table}



\begin{table}
 \caption{対話セッション評価の例(タイプB)} \label{tab:対話セッション評価の例(タイプB)}
 \begin{center} \footnotesize
  \begin{tabular}{c|llp{10cm}} \hline
   B-1 & U: & \multicolumn{2}{l}{表を書きたい} \\
       & S: & \multicolumn{2}{l}{入力された質問から，該当する情報を見つ
       けることができませんでした．} \\
       & U: & \multicolumn{2}{l}{表を作りたい} \\
       & S: & \multicolumn{2}{l}{以下の選択肢から選んでください．} \\
       &    & 1. ○ & \underline{PowerPointで表を作成する} \\
       &    & 2. ○ & \underline{Wordで表を作成する} \\
       &    & 3. ○ & ... \\ \cline{2-4}
       & \multicolumn{2}{l}{評価} & 成功:知識あり \\ \hline

   B-2 & U: & \multicolumn{2}{l}{強制終了します} \\
       & S: & \multicolumn{2}{l}{以下の選択肢から選んでください．} \\
       &    & 1. ○ & \underline{EXCEL: 強制終了およびハングアップの際のチェック項目} \\
       &    & 2. ○ & \underline{EXCEL: 強制終了によって正常に保存されなかったファイルを回復する方法} \\
       &    & 3. ○ & ... \\ \cline{2-4}
       & \multicolumn{2}{l}{評価} & 成功:知識あり \\ \hline

   
   B-3 & U: & \multicolumn{2}{l}{Linux} \\
       & S: & \multicolumn{2}{l}{以下の選択肢から選んでください．} \\
       &    & 1. ○ & \underline{Linuxを削除しWindows 2000またはNTをイン
       ストールする方法} \\
       &    & 2. ○ & \underline{Linux RPCクライアントからサービス拒否攻
       撃を実行できる可能性がある} \\
       &    & 3. ○ & ... \\ \cline{2-4}
       & \multicolumn{2}{l}{評価} & 成功:知識あり \\ \hline

   B-4 & U: & \multicolumn{2}{l}{FreeBSD} \\
       & S: & \multicolumn{2}{l}{入力された質問から，該当する情報を見つ
       けることができませんでした．} \\ \cline{2-4}
       & \multicolumn{2}{l}{評価} & 成功:知識なし \\ \hline

   B-5 & U: & \multicolumn{2}{l}{自動校正を解除したい} \\
       & S: & \multicolumn{2}{l}{入力された質問から，該当する情報を見つ
       けることができませんでした．} \\ \cline{2-4}
       & \multicolumn{2}{l}{適切なテキスト} & [WD98]文章校正に関する Q\&A \\ \cline{2-4}
       & \multicolumn{2}{l}{評価} & 失敗:知識あり \\ \hline


   B-6 & U: & \multicolumn{2}{l}{ホームページの文字が大きい} \\
       & S: & \multicolumn{2}{l}{以下の選択肢から選んでください．} \\
       &    & 1.    & \underline{[HOW TO]大きな文字配列を初期化する方法} \\
       &    & 2.    & \underline{[SNA] 127 よりも大きい文字が NvRunCmd によって間違ってマップ} \\
       &    & 3.    & ... \\ \cline{2-4}
       & \multicolumn{2}{l}{適切なテキスト} & 表示されるWebページの文字のサイズを変更する \\ \cline{2-4}
       & \multicolumn{2}{l}{評価} & 失敗:知識あり \\ \hline

   B-7 & U: & \multicolumn{2}{l}{CADソフトが動かない} \\
       & S: & \multicolumn{2}{l}{以下の選択肢から選んでください．} \\
       &    & 1.    & \underline{[OFFXP]Officeのセットアップ後にDVDソフ
       トが動作しない問題について} \\ \cline{2-4}
       & \multicolumn{2}{l}{評価} & 失敗:知識なし \\ \hline

  \end{tabular}

 \end{center}
\end{table}



\begin{table}
 \caption{対話セッション評価の例(タイプC)} \label{tab:対話セッション評価の例(タイプC)}
 \begin{center} \footnotesize
  \begin{tabular}{c|llp{10cm}} \hline
   C-1 & U: & \multicolumn{2}{l}{エラーが発生しました．} \\
       & S: & \multicolumn{2}{l}{エラーはいつ発生しますか?} \\
       &    & 1.    & \underline{Windows起動中} \\
       &    & 2.    & \underline{ログオン(ログイン)時} \\
       &    & 3.    & ... \\
       & U: & \multicolumn{2}{l}{Windows起動中} \\
       & S: & \multicolumn{2}{l}{あなたがお使いのWindowsを選んでください．}\\
       &    & 1.    & \underline{Windows 95} \\
       &    & 2.    & \underline{Windows 98} \\
       &    & 3.    & ... \\
       & U: & \multicolumn{2}{l}{Windows 98} \\
       & S: & \multicolumn{2}{l}{以下の選択肢から選んでください．} \\
       &    & 1. ○ & \underline{W98:起動時のフォントドライバが読み込め
       ないエラー} \\
       &    &       & 「JISフォントドライバーがインストールされていませ
       ん」等のフォントの読み込みに関するエラーが発生した \\
       &    & 2. ○ & \underline{W98:起動時に「$<$ファイル名$>$が不正かありません」のエラーについて} \\
       &    & 3.    & ... \\ \cline{2-4}
       & \multicolumn{2}{l}{評価} & 成功:知識あり \\ \hline

   C-2 & U: & \multicolumn{2}{l}{XBOXについて教えて} \\
       & S: & \multicolumn{2}{l}{Microsoftが開発した次世代家庭用ゲーム機．
       詳しくは以下のリンクを参照してください．} \\
       &    & 1. ○ & \underline{XBOX} \\
       &    & 2. ○ & \underline{発売予定のゲームタイトル} \\
       &    & 3. ○ & ... \\  \cline{2-4}
       & \multicolumn{2}{l}{評価} & 成功:知識あり \\ \hline

  \end{tabular}

 \end{center}
\end{table}



\begin{table}
 \caption{対話セッション評価の例(タイプD)} \label{tab:対話セッション評価の例(タイプD)}
 \begin{center} \footnotesize
  \begin{tabular}{c|llp{10cm}} \hline
   D-1 & U: & \multicolumn{2}{l}{あなたは誰ですか？} \\
       & S: & \multicolumn{2}{l}{Dialog Navigatorです．} \\ \cline{2-4}
       & \multicolumn{2}{l}{評価} & 範囲外:適切 \\ \hline

   D-2 & U: & \multicolumn{2}{l}{夏休みの天気が知りたい} \\
       & S: & \multicolumn{2}{l}{入力された質問から，該当する情報を見つ
       けることができませんでした．} \\ \cline{2-4}
       & \multicolumn{2}{l}{評価} & 範囲外:適切 \\ \hline

   D-3 & U: & \multicolumn{2}{l}{お名前は？} \\
       & S: & \multicolumn{2}{l}{以下の選択肢から選んでください．} \\
       &    & 1.    & \underline{用語の説明: 名前} \\
       &    & 2.    & \underline{Accessのフィールド，コントロール，およ
       びオブジェクトの名前について} \\
       &    & 3.    & ... \\ \cline{2-4}
       & \multicolumn{2}{l}{評価} & 範囲外:不適切 \\ \hline

  \end{tabular}

 \end{center}
\end{table}



本評価は，仮想的なテストセットによる評価とは異なり，実際にサービスを行っ
た場面でのシステムのふるまいを正確にとらえている．しかし，不特定多数のユー
ザの真の意図に基づいて応答の適切さを判断することはできないという問題があ
る．そこで，対話セッションを以下の4つのタイプに分類し，それぞれのタイプ
についての評価のガイドラインを以下のように定めた上で評価を行った．評価の
例を表\ref{tab:対話セッション評価の例(タイプA)} $\sim$ 表\ref{tab:対話セッ
ション評価の例(タイプD)}に示す．なお，表において，``U:''はユーザの発話，
``S:''はシステムの発話を示す．また，``○''は評価者が「適切なテキスト」と
判断したテキストを示す．


\begin{itemize}
 \item {\bf タイプA}: ユーザの質問が具体的で，適切なテキストの特定に必要
       な情報がすべて指定されている対話セッション(表\ref{tab:対話セッショ
       ン評価の例(タイプA)})．

       この場合は，ユーザが指定した情報がすべて含まれているテキストを，
       適切なテキストであるとする．

       システムが提示した選択肢中に適切なテキストが存在する場合(A-1，
       A-2)は，「成功:知識あり」とする．その他の場合は，評価者がキーワー
       ド検索システム\footnote{キーワード入力に対して，マッチするすべて
       のテキストを表示する評価用システム．}を用いて知識ベースを網羅的に
       検索し，適切なテキストが見つかれば「失敗:知識あり」(A-4，A-5)，見
       つからなければ「成功: 知識なし」(A-3)または「失敗: 知識なし」
       (A-6)とする．

       なお，ユーザがセッションの一部で曖昧な質問をしていても(A-2，A-4)，
       セッション全体として必要な情報がすべて指定されているときは，この
       タイプとする．

 \item {\bf タイプB}: ユーザの質問が曖昧で，適切なテキストの特定に必要な
       情報が一部欠落している対話セッション(表\ref{tab:対話セッション評
       価の例(タイプB)})．対話カードが使用されたセッションは除く．

       この場合は，ユーザの状況に完全に合致するテキストはどれかを判断す
       ることはできないので，ユーザが与えた指定したすべての情報が含まれ
       ているテキストを，適切なテキストであるとみなす．
       
       ユーザの質問が1単語のみである場合(B-3，B-4)は，その単語が含まれる
       すべてのテキストを適切なテキストであるとみなす．

 \item {\bf タイプC}: 対話カードが利用された対話セッション(表\ref{tab:対
       話セッション評価の例(タイプC)})．

       この場合は，対話カードの最も下の階層までユーザが選択肢を指定し，
       かつ適切なテキストまたは選択肢が提示された対話セッションを，「成
       功: 知識あり」と判断する(適切なテキストの判断基準はタイプAに準ず
       る)．対話カードの作成の際には，各々の選択肢に対応する質問文({\tt
       phrase})に対して適切なテキストが提示されるかどうかをチェックして
       いるので，適切なテキストが提示されないことはほとんどなかった．

 \item {\bf タイプD}: ユーザの質問が想定ドメインの範囲外である対話セッショ
       ン(表\ref{tab:対話セッション評価の例(タイプD)})．

       この場合は，対話カードを利用して応答したとき(D-1)と，テキストを検
       索した結果として該当する情報がないと応答したとき(D-2)は「範囲外: 
       適切」，検索されたテキストを提示してしまったとき(D-3)は「範囲外: 
       不適切」とした．

\end{itemize}

\vspace*{5mm}


表\ref{tab:対話カードと対話セッションの評価}の右側(計の欄)に対話セッショ
ン評価の結果を示す．成功の割合は，「範囲外」を除いた230対話セッションの
うち75\,\%であった．

対話セッション内において対話カードによって応答が行われたかどうかと，対話
セッションの評価の関係を表\ref{tab:対話カードと対話セッションの評価}左側
に示す．現在，対話カードの枚数は216枚(深さは最大で3階層)である．評価対象
の対話セッション中，対話カードが利用された割合は，「範囲外」を除いて
17\,\%($=38/(38+192)$) であり，対話カードが利用されたセッションの大部分は
「成功」であった．また，範囲外の質問に対しても対話カードでカバーされてい
る範囲ではほぼ適切に対応できており，全体として対話カードという枠組みは有
効に機能していると考えられる．

対話セッションの失敗の最も大きな原因は，知識ベース，同義表現辞書の不足で
ある．ユーザ質問文に対して適切なテキストが存在しない場合，A-3のように適
切なテキストがないことを判断するのは難しく，A-6・B-7のように誤ることが多
い．かりに，表\ref{tab:選択肢の絞り込みのパラメータ}のスコア閾値$t$を大
きくすればこの失敗を減らすことはできるが，その代償として適切なテキストが
存在する場合の「成功:知識あり」が減って，「失敗:知識あり」が増えてしまう．
A-5・B-6のような「失敗:知識あり」を減らすには，同義表現辞書をより充実さ
せ，適切なテキストを大きなスコアでマッチさせる必要がある．

また，A-4のように，対話のコンテキストを考慮していないために失敗した対話
セッションもあった．この種の失敗を減らすには，コンテキストを考慮したテキ
ストの検索を行う必要がある．

なお，同義表現辞書と，例外処理的な対話カードについては，対話データベース
で顕著なものについて随時データの修正・作成を行っている．このことによって，
公開当初の成功率は60\,\%程度であったが，徐々に改善され，現在では表
\ref{tab:対話カードと対話セッションの評価}で示したとおり70\,\%を越える成功
率となってきている．

\begin{table}
 \caption{対話カード利用の有無と対話セッション評価} \label{tab:対話カードと対話セッションの評価}
 \begin{center}
  \small
  \begin{tabular}{c|c|r@{ (}r@{) }|r@{ (}r@{) }|r@{ (}r@{ / }r@{) }} \hline
   \multicolumn{2}{c|}{} & \multicolumn{4}{c|}{セッション内における} \\
   \multicolumn{2}{c|}{} & \multicolumn{4}{c|}{対話カードによる応答} \\
   \cline{3-6}
   \multicolumn{2}{c|}{評価} & \multicolumn{2}{c|}{あり} &
   \multicolumn{2}{c|}{なし} & \multicolumn{3}{c}{計}\\ \hline \hline
      & 知識あり &  38 &   100\,\% & 111 & 58\,\%  & 149 &    65\,\% &  39\,\% \\
 成功 & 知識なし &   0 &     0\,\% &  25 & 13\,\%  &  25 &    11\,\% &   7\,\%   \\ \cline{2-9}
      & 計       &  38 &   100\,\% & 136 & 71\,\%  & 174 &    76\,\% &  46\,\% \\ \hline
      & 知識あり &   0 &     0\,\% &  15 &  8\,\%  &  15 &     7\,\% &   4\,\% \\
 失敗 & 知識なし &   0 &     0\,\% &  41 & 21\,\%  &  41 &    18\,\% &  11\,\% \\ \cline{2-9}
      & 計       &   0 &     0\,\% &  56 & 29\,\%  &  56 &    24\,\% &  15\,\% \\ \hline
   \multicolumn{2}{c|}{小計(範囲外を除く)}& 38 &   100\,\% & 192 &  100\,\% & 230 &   100\,\% &  61\,\%  \\ \hline
      & 適切   &  57 & ------  &  0 & ------  &  57 & ------  &  15\,\% \\
 範囲外 & 不適切 &   3 & ------  & 88 & ------  &  91 & ------  &  24\,\% \\ \cline{2-9}
      & 計     &  60 & ------  & 88 & ------  & 148 & ------  &  39\,\% \\ \hline
   \multicolumn{2}{c|}{合計} & 98 & ------ & 280 & ------  & 378 & ------  & 100\,\% \\ \hline
   \multicolumn{9}{r}{(単位: 対話セッション数)}
  \end{tabular}
 \end{center}
\end{table}



\subsection{ユーザとシステムのふるまいの分析}


\begin{figure}
 \begin{center}
\epsfile{file=fig/session_analysis.eps,scale=0.5}
  \caption{ユーザ行動とシステム応答の回数分布} 
  \label{fig:ユーザ行動の分析}
 \end{center}
\end{figure}


\begin{table}
 \caption{ユーザ質問文の長さとシステム応答の関係}
 \label{tab:ユーザ質問文の長さとシステム応答の関係}
 \begin{center}
  \small
  \begin{tabular}{c|r@{ (}r@{) }|r@{ (}r@{) }|r@{ (}r@{) }|r@{ (}r@{) }|r@{ (}r@{)}} \hline

   &
   \multicolumn{4}{c|}{対話カード応答} &
   \multicolumn{4}{c|}{知識ベース検索} & 
   \multicolumn{2}{c}{} \\ \cline{2-9}
   
   質問文の長さ &
   \multicolumn{2}{c|}{完結応答} &
   \multicolumn{2}{c|}{選択肢提示} &
   \multicolumn{2}{c|}{該当あり} &
   \multicolumn{2}{c|}{該当なし} &
   \multicolumn{2}{c}{計} \\ \hline

   1文節     & 29 & 13\,\% & 17 &  8\,\% & 115 & 52\,\% &  59 & 27\,\% & 220 & 100\,\% \\
   2文節     &  3 &  2\,\% & 37 & 28\,\% &  46 & 35\,\% &  47 & 35\,\% & 133 & 100\,\% \\
   3文節     &    &      & 10 & 14\,\% &  33 & 45\,\% &  30 & 41\,\% &  73 & 100\,\% \\
   4文節     &    &      &  2 &  6\,\% &  22 & 65\,\% &  10 & 29\,\% &  34 & 100\,\% \\
   5文節以上 &    &      &    &      &  45 & 78\,\% &  13 & 22\,\% &  58 & 100\,\% \\ \hline

   すべて    & 32 &  6\,\% & 66 & 13\,\% & 261 & 50\,\% & 159 & 31\,\% & 518 & 100\,\% \\ \hline
   \multicolumn{11}{r}{(単位: 回)}
  \end{tabular}
  
 \end{center}
\end{table}


\begin{table}
 \caption{ユーザ質問文の長さと知識ベース検索結果の関係} 
\label{tab:ユーザ質問文の長さと知識ベース検索結果の関係}
 \begin{center}

  \small
  \begin{tabular}{c@{(}r@{)}|r|r} \hline
   \multicolumn{2}{c|}{質問文の長さ} &   平均テキスト数 &   適切なテキストの割合 \\ \hline
   1文節     & 115回 & 18.2個 & 49\,\% \\
   2文節     &  46回 &  9.1個 & 28\,\% \\
   3文節     &  33回 & 16.0個 & 22\,\% \\
   4文節     &  22回 & 10.5個 & 10\,\% \\
   5文節以上 &  45回 & 10.6個 & 11\,\% \\ \hline
   すべて    & 261回 & 14.4個 & 35\,\% \\ \hline
  \end{tabular}
 \end{center}
\end{table}



前節で述べた378対話セッション内において，ユーザがどのような行動をしたか，
システムがそれに対してどのような応答を行ったかを調べた(図\ref{fig:ユーザ
行動の分析})．

ユーザの質問文の入力(518回)のうち，対話カードによって応答されたものは
19\,\%($=(32+66)/518$)であった．また，質問文の長さとシステム応答の関係(表
\ref{tab:ユーザ質問文の長さとシステム応答の関係})を調べたところ，対話カー
ドは，主として短い質問文(3文節以下)に対応していることがわかった．一般的
には，短い質問文ほど曖昧である．よって，図\ref{fig:ユーザのナビゲート} 
のユーザ質問のhierarchyにおいて，上の方の曖昧な質問文に対応するという対
話カードの枠組みは，有効に機能していると考えられる．

また，ユーザ質問文の長さと知識ベースの検索結果の関係(表\ref{tab:ユーザ質
問文の長さと知識ベース検索結果の関係})も調べたところ，適切なテキストの割
合は，質問文が長いほど少ないことがわかった．一般的には，長い質問文ほど専
門的なものが多い．よって，知識ベースはそのような質問文を十分カバーしてい
ないと考えられる．

一方，ユーザ質問文の長さとテキスト数(ユーザに提示した選択肢の数)の関係に
ついては，ユーザ質問文が1文節の場合のテキスト数が特に多かった．これは，
B-3の対話セッションのようにユーザが入力した1キーワードを含むテキストを多
数提示してしまうことが多かったのが原因である．一方，質問文がある程度長い
場合は，選択肢の絞り込みのパラメータ(表\ref{tab:選択肢の絞り込みのパラメー
タ})によって，ユーザへの聞き返しとして適切な数に絞り込まれている．


\subsection{状況説明文抽出の評価}

2002年8月1日〜31日の対話データベースから，5つ以上の選択肢が返されたユー
ザ質問文をランダムに100個選んだ．さらに，選択肢中で上位5個中にランキング
されているサポート技術情報の状況説明文を，評価者1名が「妥当」「不十分」
「冗長」の3段階で評価した．上位5個中において，タイトルが代表文として選ば
れている152個のテキストは，代表文がそのまま状況説明文となるため除外した．
結果として，348($=100 \times 5 - 152$)個の状況説明文が評価の対象となった．

状況説明文の評価は，ユーザが選択肢を選ぶために必要十分な情報を，それぞれ
の選択肢が含んでいるかどうかという観点から行った．具体的には，まず質問文
に対する選択肢(5個)どうしを比較し，どの情報が選択肢を選ぶ上で最も重要か
を判断する(この情報を，{\bf 最重要情報}とよぶ)．さらに，各々の選択肢につ
いて，以下のいずれかの評価を与える．

\begin{itemize}
 \item {\bf 妥当}: 最重要情報が過不足なく含まれている．
 \item {\bf 不十分}: 最重要情報が含まれていない．
 \item {\bf 冗長}: 最重要情報以外の情報が著しく多く含まれている(目安とし
       ては，最重要情報以外の情報の文字数が，最重要情報の文字数の1/2を超
       えるとき)．
\end{itemize}


表\ref{tab:状況説明文抽出の評価}に状況説明文の評価結果を示す．抽出された
状況説明文のうち，61\,\%は妥当なものであった．

\begin{table}
 \caption{状況説明文抽出の評価結果} \label{tab:状況説明文抽出の評価}
 \begin{center} \footnotesize
  \begin{tabular}{c|p{5mm}@{}r@{ }r@{}p{5mm}} \hline
   評価 & \multicolumn{4}{c}{選択肢数} \\ \hline
   妥当       & & 213 & (61\,\%) & \\
   不十分     & &  27 &  (8\,\%) & \\
   冗長       & & 108 & (31\,\%) & \\ \hline
   合計       & & 348 & (100\,\%) & \\ \hline
  \end{tabular}
 \end{center}
\end{table}


また，状況説明文の平均文字数は68.9文字，状況説明文の抽出対象となった各テ
キストの代表文の平均文字数は81.6文字であった．したがって，提案手法による
代表文の圧縮率$(=(1-状況説明文の平均文字数/代表文の平均文字数) \times
100)$ は15.6\,\%であった．

\begin{table}
 \caption{状況説明文抽出の評価の例} \label{tab:状況説明文抽出の評価の例}
 \begin{center} \footnotesize
  \begin{tabular}{cp{5cm}|p{5cm}|c} \hline
   \multicolumn{2}{c}{状況説明文} & \multicolumn{1}{|c|}{元の文} &
   評価 \\ \hline
        \multicolumn{4}{l}{U: 音が出ない} \\
        \multicolumn{4}{l}{S: 以下の選択肢から選んでください．} \\ \hline
         1. & [NT] Crystal Audio や SoundBlaster AWE32 利用時に音が出ない
            & (タイトル)
            & \\
         2. & コントロールパネルの[サウンド]からCHIMES WAVファイルをテストした場合、ボリューム設定に関わらず
            & コントロール パネル の [サウンド] から CHIMES.WAV ファイルを テストした場合、ボリューム設定に関わらず、音は出ません。
            & 妥当 \\
         3. & 音楽の再生時に USB スピーカーからポップ音が出る
            & (タイトル)
            & \\
         4. & YAMAHA YSTMS55D USBスピーカセットのインストール後、スピーカのボリュームコントロールノブを使っても、非常に音が小さい、または、音が出ない
            & YAMAHA YSTMS55D USB スピーカ セットのインストール後、スピーカのボリューム コントロール ノブを使っても、非常に音が小さい、または、音が出ないことがあります。 
            & 冗長 \\
         5. & Windowsサウンド(.WAV)ファイルを再生時に
            & Windowsサウンド(.WAV)ファイルを再生時に、音が出ない。
            & 妥当 \\ \hline
  \end{tabular}
 \end{center}
\end{table}



表\ref{tab:状況説明文抽出の評価の例}に状況説明文の評価の例を示す．この例
においては，評価者は，「音が出ない具体的な環境(サウンドデバイス名，アプ
リケーション名，ファイルの種類など)」が最重要情報であると判断した．2番，
5番の選択肢は，再生するファイルの種類を過不足なく述べているため，「妥当」
と判断した．一方，4番の選択肢は，サウンドデバイス名を含んでいるものの，
それ以外の発生条件や，「非常に音が小さい」といった情報を余分に含んでいる
ため，「冗長」と判断した．

提案手法による代表文の圧縮率が比較的小さかったのは，「冗長」な状況説明文
が多いのが大きな要因であった．具体的には，表\ref{tab:状況説明文抽出の評
価の例}の4番の選択肢のように，ユーザが選択肢を指定する上で重要な情報を含
まないセグメントが，削除されずに状況説明文に含まれてしまったものが多かっ
た．より適切な選択肢を得るためには，選択肢の代表文どうしを比較して何が最
も重要な情報かを認識し，それを優先して選択肢に含める一方，それ以外の情報
は除外することが必要である．また，4番の選択肢では，「非常に音が小さい」
と「音が出ない」を並列節として扱うことによって，両者がともに聞き返しにとっ
て冗長であることを認識して削除する必要がある．


「不十分」と評価された状況説明文については，状況説明文抽出の対象となるテ
キストの代表文(\ref{subsubsec:テキストのスコアと代表文}項)がテキストの内
容をよく表していないものが多かった．これは，主にユーザ質問文とテキストの
マッチングに関する問題である．しかし，テキストの中には，ユーザ質問文とマッ
チする1文だけを抽出しても，良い代表文が得られないものもある．例えば，ユー
ザが遭遇する問題(「エラーが発生する」など) と，ユーザの具体的な状況(エラー
メッセージなど)が，それぞれ別々の文に書かれている場合は，提案手法はうま
くいかない．このような場合は，文脈解析などのより深い言語処理が必要となる．



\section{おわりに}  \label{sec:おわりに}

本論文では，大規模テキスト知識ベースを利用する対話的質問応答システムを提
案した．システムを実際に運用し，得られた対話ログに基づいてシステムの評価
を行い，対話セッションの成功率76\,\%，妥当な状況説明文の割合61\,\%という結果
を得た．また，曖昧な質問への聞き返しとして対話カードと状況説明文の抽出を
組み合わせて用いる本システムの枠組みは，有効に機能していることを示した．

今後の課題としては，対話カードの自動的な作成と，対話のコンテキストの利用
があげられる．対話カードの作成は，現在はすべて人手で行っているが，曖昧な
質問を十分にカバーする対話カード集合の構築にはコストがかかるので，自動的
に作成する手法が必要である．また，対話のコンテキストの利用については，収
集した対話ログをより詳細に分析することで，研究を進める予定である．





\bibliographystyle{jnlpbbl}
\bibliography{425}

\begin{biography}
\vspace*{5mm}
\biotitle{略歴}
 \bioauthor{清田 陽司}{
 
 1998年京都大学工学部電気工学第二学科卒業．
 
 2000年同大学院情報学研究科修士課程修了．
 
 2003年同大学院情報学研究科博士後期課程単位認定退学．
 
 同年，東京大学大学院情報理工学系研究科産学官連携研究員，現在に至る．
 
 質問応答システム，情報検索，自動要約の研究に従事．}
 
 \bioauthor{黒橋 禎夫}{
 
 1989年京都大学工学部電気工学第二学科卒業．
 
 1994年同大学院博士課程修了．
 
 Pennsylvania大学客員研究員，京都大学工学部助手，京都大学大学院情報学研
 究科講師を経て，2001年東京大学大学院情報理工学系研究科助教授，現在に至
 る．
 
 自然言語処理，知識情報処理の研究に従事．}
 
 \bioauthor{木戸 冬子}{
 
 1997年マイクロソフト株式会社入社．
 
 1998年埼玉大学大学院理工学研究科入学(在学中)．
 
 University Program担当．
 
 自然言語処理技術を用いたサポートシステムの効率化を目的としたストレリチ
 アプロジェクトのリーダーに従事．
 
 2001年科学技術振興事業団による理科教育用のデジタルコンテンツ開発にあたっ
 ては，埼玉大学，お茶の水女子大学，東京学芸大学との共同開発プロジェクト
 のリーダーを担当した．
 
 現在は，University Program担当として自然言語処理を中心とした大学との共
 同研究を担当している．}
 
\bioreceived{受付}
\biorevised{再受付}
\bioaccepted{採録}

\end{biography}


\end{document}
