\documentstyle[jnlpbbl,epsf]{jnlp_j_b5}

\makeatletter
\newcounter{example}
\def\examplename{}
\def\theexample{}
\def\fps@example{}
\def\ftype@example{}
\def\ext@example{}
\def\fnum@example{}
\def\example{}
\def\endexample{}
\makeatother

\newcommand{\mrow}[1]{}

\setcounter{page}{121}
\setcounter{巻数}{10}
\setcounter{号数}{5}
\setcounter{年}{2003}
\setcounter{月}{10}
\受付{2003}{3}{4}
\再受付{2003}{5}{11}
\再々受付{2003}{6}{22}
\採録{2003}{7}{5}

\setcounter{secnumdepth}{2}

\title{初期質問文から蓄積された質問応答への効果的マッチング法}
\author{松井 くにお\affiref{fujitsu} \and 田中 穂積\affiref{titech}}

\headauthor{松井，田中}
\headtitle{初期質問文から蓄積された質問応答への効果的マッチング法}

\affilabel{fujitsu}{富士通研究所言語処理研究部}{Language Processing Laboratory, Fujitsu Laboratories Ltd.}
\affilabel{titech}{東京工業大学大学院情報理工学研究科}{Tokyo Institute of Technology}

\jabstract{カスタマサービスとして，ユーザから製品の使用方法等についての質問を受けるコールセンターの需要が増している．ユーザからの質問に的確に応答するためには，次々に開発される新製品の知識が必要となる．応対するオペレータは，過酷な業務のため定着率が低く，企業にとってもレベルの高い人材を継続して維持することは，人件費や教育などのコストがかかり，問題となっている．\\
本研究は，ユーザが自ら問題解決できるような，対話的ナビゲーションシステムを実現する基礎技術を開発することにより，コールセンターのオペレータ業務の負荷を軽減することを目的とする．Web上での質問応答システムにおいてユーザが初期に入力する自然言語による状況説明や質問文を分析したところ，20文字以下の質問文が7割を占めていた．一方，コールセンターでは，オペレータが，過去のユーザとのやり取りの結果を，質問と応答の要約文として蓄積している．そこで，本研究では，ユーザが初期に入力する20文字前後の比較的短い質問文を対象とし，その質問文から，コールセンターで蓄積した過去の質問の要約文を引き出し，それに予め付与された応答をそのまま回答する手法を採用する．しかし，ユーザの与える20文字以下の短い質問文と蓄積された要約文との単純なマッチングでは，多数の要約文が引き出されることが多いため，システムからユーザに新たなキータームの入力を促してユーザの意図する適切な要約文に速やかに到達できるような対話的ナビゲーション技術の開発が最も重要な研究課題となっている．対話的ナビゲーションを実現するために，ユーザが初期に入力した質問文中のどのようなタームが最適な要約文の検索に重要であるかを判定する方式として，入力した質問と要約文とのマッチングが成功したものから一定の基準によってタームを変更する方式（サクセスファクタ分析方式と呼ぶ）を開発した．この分析の結果から，主辞を修飾するタームをユーザの質問文に対して対話的に補うことがマッチングの精度に大きく影響し，極めて有効なことを実験的に明らかにした．}

\jkeywords{コールセンター，ナビゲーション，質問応答，初期質問文，サクセスファクタ分析方式}

\etitle{An Effective Matching to the Stored Q\&A data \\ using Initial Questions}
\eauthor{Kunio Matsui\affiref{fujitsu} \and Hozumi Tanaka\affiref{titech}}

\eabstract{As a part of customer service, there has been growing demand for call centers, whose function is to answer customer questions, such as usage inquiries for purchased products. In order to provide precise answers to the customer questions, frequently updated knowledge is required for newly developed products. The stressful nature of the work for the call center operators tend to discourage them to stay long with the center, and as a result, the companies are incurring increased personnel and training expenses for maintaining a group of highly skilled operators.\\
This paper describes the basic technology employed in our interactive navigation system, designed to allow users to solve their own problems without operator intervention, and thus minimizing the operator work at the call centers. The system is intended to guide the users to the required Q\&A data expressed in natural language, stored within the call center database, where the natural language expressions or questions entered by the users are analyzed and used as the retrieval input. As a method for evaluating the importance in the task of query construction, of each term comprising the initial input question, we have developed a new method for altering the key-terms extracted from the set of initial questions matching the stored questions. We call this method the ``success factor analysis method". It has been shown through our experiments that the term limiting or decomposing the heads of the sentence greatly influences the search accuracy, and hence, that the actual matching accuracy is substantially improved by empirically determining the priority of the terms and supplementing the query with these terms.}


\ekeywords{Call Center, Navigation, Matching, Question and Answer, Initial Questions, Success Factor Analysis Method}

\begin{document}
\thispagestyle{empty}
\maketitle

\section{はじめに}
カスタマサービスとして，ユーザから製品の使用方法等についての質問を受けるコールセンターの需要が増している．しかし，新製品の開発のサイクルが早くなり，ユーザからの質問の応対に次々に新しい知識が必要となり，応対するオペレータにとっては，複雑な質問へすばやく的確に応答することが困難な状況にある．オペレータは，過酷な業務のため定着率が低く，企業にとっても，レベルの高いオペレータを継続して維持することは，人件費や教育などのコストがかかり，問題となっている． 

本稿では，ユーザが自ら問題解決できるような，対話的ナビゲーションシステムを実現する基礎技術を開発することにより，コールセンターのオペレータ業務の負荷を軽減することを目的とする．通常のコールセンターでは，オペレータがユーザとのやり取りによって質問応答の要約文をあらかじめ作成しておく（図\ref{fig:call}\,(a)）． Web上の質問応答システムでは，これをデータベース化したものをユーザの質問文のマッチング対象に用いる（図\ref{fig:call}\,(b)）．ユーザはオペレータの介入なしに質問を入力し，応答を得ることができる． 

\begin{figure}[ht]
\begin{center}
\epsfile{file=figure/fig1.eps,scale=0.5}
\caption{コールセンター(a)とWeb上の質問応答システム(b)}
\label{fig:call}
\end{center}
\end{figure}

このようなWeb上の質問応答システムを用いて，所望の応答結果を速やかに得るために必要なナビゲーション技術の新しい提案を行なう．

パソコン関連の疑問に答える，既存のWeb上の質問応答システムから収集したデータによると，ユーザが入力する質問文（端末からの入力文）は，平均20.8文字と短いため，この質問文を用いて，一度で適切な質問と応答の要約文にマッチングすることは稀である．そこで，必要に応じてシステムがユーザに適切なキータームの追加を促すことで，必要な条件を補いながら質問の要約文とのマッチングを行ない，適切な応答の要約文を引き出す必要がある．しかしながら，このようなナビゲーションにおいては，ユーザに追加を促したキータームがどれだけ有効に機能したかどうかがわからない，といった評価上の問題がある．

これらのキータームの補いの問題と，評価上の問題を解決するために，本稿では以下の手法を用いた．

\begin{itemize}
 \item まず，34,736件の質問の要約文から300件を無作為に抽出し，ユーザが初期に入力するような質問文（以下，初期質問文と呼ぶ）を人手で作成した．この初期質問文を初期入力として要約文とのマッチングを行なった．
 \item 次に，システム側がユーザに対して適切なキータームの追加を促し，新たに作成した質問文（以下，二次質問文と呼ぶ）を入力として，再度，要約文とのマッチングを行なった．
 \item マッチングの結果，初期質問文を作成する際の元になった質問の要約文が出力結果として得られた場合に，ユーザが問題を解決したとする仮説を立てた．この仮説に基づき，ユーザが問題解決できたか否かという評価を行なった．
\end{itemize}

ユーザにどのようなキータームの追加を促すべきかをシステム側が判定する方式として，サクセスファクタ分析方式を用いた．これは，ユーザの質問文と蓄積している質問の要約文とのマッチングが成功したものから一定の基準によってキータームを変更して結果を評価し，マッチングの精度に大きな影響を及ぼすものをルール化し，質問文にキータームを追加する方式である．

本論文の第\ref{sec:2}\,章では，Web上の質問応答システムとコールセンターの現状のデータを具体的に例示し，初期質問文作成の意義やその作成方法について述べる．第\ref{sec:3}\,章では，従来行なわれてきた質問応答の関連研究を概観し，本研究の位置付けを明確にする．第\ref{sec:4}\,章では，実験と評価の方法について述べる．第\ref{sec:5}\,章では，サクセスファクタ分析方式の詳細と，それを用いた実験結果を述べ，本方式が対話的ナビゲーションに極めて有効であることを示す．

\section{研究概要}\label{sec:2}
\subsection{Web上の質問応答システム}
パソコンなどの使用法に関する質問応答システム(FMWorld.net)がWeb上で公開されているが，このシステムに対して2003年の1月〜3月までに入力された問い合わせのうち，助詞を含む約24万件の質問文の文字数分布を表\ref{tab:sbunpu}\,に示す． 

\begin{table}[ht]
\caption{質問文の文字数分布}
\label{tab:sbunpu}
\begin{center}
  \begin{tabular}{|l|r|r|r|} \hline
   \multicolumn{1}{|c|}{文字数} & \multicolumn{1}{|c|}{質問文数} & \multicolumn{1}{|c|}{割合} & \multicolumn{1}{|c|}{累積割合} \\ \hline\hline
   1〜10文字 & 65740 & 27.3\,\% & 27.3\,\% \\ \hline
   11〜20文字 & 100789 & 41.9\,\% & 69.2\,\% \\ \hline
   21〜30文字 & 35973 & 14.9\,\% & 84.1\,\% \\ \hline
   31〜40文字 & 16087 &  6.7\,\% & 90.8\,\% \\ \hline
   41文字以上 & 22213 & 9.2\,\% & 100.0\,\% \\ \hline
   \multicolumn{1}{|c|}{合計} & 240802 & 100.0\,\% & \\ \hline
  \end{tabular}

平均は20.8文字／質問文
\end{center}
\end{table}

例\ref{ex:system}\,には，これらの助詞を含む質問文の一部を入力のあった頻度とともに例として示す．例\ref{ex:system}\,の中で，高頻度の質問文を質問応答システムに入力しても，それに対する応答が50以上もあり，問題を解決する知識にたどり着くには，さらなる絞込みが必要である．

\begin{example}[ht]
\begin{center}
  \fbox{\small
 \begin{tabular}{ll}
  \multicolumn{2}{l}{高頻度} \\
  ~ & \begin{tabular}{ll}
	2036 & ``電源が切れない''\\
	1495 & ``音が出ない''\\
	602 & ``起動が遅い'' \\
       \end{tabular}\\
  \multicolumn{2}{l}{中頻度} \\
  ~ & \begin{tabular}{ll}
	24 & ``フラットポイントを無効にしたい'' \\
	10 & ``光デジタルオーディオ端子が使えない'' \\
	10 & ``再起動中にフリーズする'' \\
       \end{tabular}\\
  \multicolumn{2}{l}{低頻度} \\
  ~ & \begin{tabular}{ll}
	1 & ``最初から入っているアプリケーションが，リカバリー後いくつか消えている．'' \\
	1 & ``マウスのスクロールボタンが有効になりません" \\
	1 & ``アカウントの設定ができない" \\
       \end{tabular}\\
 \end{tabular}
 }
\end{center} 
\caption{質問応答システムでの質問文（左端の数字は頻度）}
 \label{ex:system}
\end{example}

\subsection{コールセンターにおける質問応答の例}
Web上の質問応答システムは，ユーザの入力した質問文で過去の事例として蓄積した質問を検索して，その質問と応答の要約文を引き出して問題を解決する知識として提供している．この質問と応答の要約文は，コールセンターにおいてオペレータが電話の応対により解決した問題を質問($\langle$subject$\rangle$)と応答($\langle$solution$\rangle$)に分けてまとめて記述した記録の集まりである．実際の例を例\ref{ex:call}\,に示す．

\begin{example}
 \begin{center}
   \fbox{\small ~
\begin{minipage}{0.9\textwidth}
  \noindent
  $\langle$qaid$\rangle$354$\langle$/qaid$\rangle$\\
  $\langle$subject$\rangle$\\
  USB 対応オーディオ録音機のROLAND 製AUDIO CANVAS UA-100 を使ってオーディオ録音，
  再生をしたい．PC のオーディオ出力をまとめる接続方法を教えてください．\\
  $\langle$/subject$\rangle$\\
  $\langle$solution$\rangle$\\
  Roland 製Audio Canvas UA-100 を使用したオーディオ録音，再生について． AD/DA 変換が
 PC 本体内（サウンドカード）から離れるため， ノイズの影響を受けずにオーディオ録音が可能となります．\\
 ・操作手順\\
1. PC とUA-100 のUSB 端子を接続します．（WAV ファイルの録音，再生）\\
2. PC 側のサウンドボードのLINE OUT 端子とUA-100 のINPUT 端子を接続します．（音楽CD の再生やサウンドボード，ソフトMIDI 音源を使ったMIDI ファイルの再生）\\
~3. UA-100 のOUTPUT 端子と外部スピーカーを繋ぎます．\\
~4. 更に，UA-100 にマイクや録音機器（MD,カセット等）を接続してオーディオ録音ができます．\\
 $\langle$/solution$\rangle$
\end{minipage}
}
 \end{center}
 \caption{コールセンターにおける質問応答の例}
 \label{ex:call}
\end{example}

この記録は富士通株式会社において，約5年間にわたり蓄積した，コールセンターに問い合わせのあったパソコン関係の質問と応答の実例の一部である．これは，ユーザとオペレータの対話のそのままの記録ではなく，ユーザとの幾度かのやり取りによる対話を最後にまとめて書いたものである．

本研究では，これらの蓄積した質問と応答を有効に活用してコールセンターのオペレータ業務の負荷を低減させるために，オペレータの介在なくユーザが自ら問題解決できるような，対話的な質問応答システムの実現を目指すことにした．

\subsection{対話的ナビゲーション}
Web上の質問応答システムにおいて，ユーザの問い合わせから，蓄積された質問応答へ導くためには，オペレータがユーザからいろいろな条件を聞き出して正しい解答へと導くのと同様に，計算機上でこれと同等なナビゲーションを実現しなければならない．そのためには，まず，ユーザの問い合わせを受け付け，必要に応じてシステムがユーザに適切なキータームの追加を促すことで，必要な条件を補いながら，質問の要約文とのマッチングを行ない，適切な応答の要約文を引き出す必要がある．

今回の実験では，あらかじめ，質問の要約文から初期質問文を人手で作成する．その初期質問文を作成する際の元になった質問の要約文が出力結果として得られた場合に，ユーザが問題を解決できたとする仮説を立て，評価を行なう．ユーザに追加を促したキータームがどれだけ有効に機能したかどうかを測定するために，まず，初期質問文を入力として要約文とのマッチングを行ない，それをベースラインとする．次に，そのマッチングの結果で，元になった質問の要約文が得られなかった初期質問文に対しては，システム側がユーザに適切なキータームの追加を促し，二次質問文を用いて，再度，要約文とのマッチングを行なう（図\ref{fig:navi}\,）． 


ここで用いる初期質問文の作成の目安としては，できるだけ一般的なユーザの質問文に近くなるように，実験内容を知らない第三者に以下の指針に沿った作成を依頼した．また，初期質問文の例を例\ref{ex:shoki}\,に示す．


\begin{example}[hb]
\begin{center}
\begin{tabular}{ll}
 [指針] & \begin{minipage}[t]{0.85\textwidth}
	   \begin{itemize}
	   \item 20文字程度の平易な文で記述する．
	   \item 質問の要約文をいくつかの構成要素に分解し，それぞれの構成要素が初期質問文になるようにする．
	  \end{itemize}
	  \end{minipage}\\
\end{tabular}

\vspace{0.8em}
  \fbox{\small
\begin{minipage}{0.9\textwidth}
   \noindent
  [質問の要約文の例]
  \begin{quote}
   USB 対応オーディオ録音機のROLAND 製AUDIO CANVAS UA-100 を使って
 オーディオ録音，再生をしたい．PC のオーディオ出力をまとめる接続方法を教え
 てください．
  \end{quote}
  [初期質問文の例]
  \begin{quote}
   オーディオの録音，再生をしたい．\\
   USB 対応のオーディオ録音機を使いたい．\\
   パソコンとの接続方法を教えてほしい．
\end{quote}\end{minipage}
  }
  \end{center}
 \caption{初期質問文の例}
 \label{ex:shoki}
\end{example}

これらの初期質問文を使って，第\ref{sec:5}\,章で述べる実験を行なう．この実験で得られた結果を元に，システムがユーザに新たなキータームの入力を促し，問題の解決となるような対話的なナビゲーションシステムの構築を目指す．

\begin{figure}[t]
 \begin{center}
  \epsfile{file=figure/fig2.eps,scale=0.5}
 \end{center}
  \caption{対話的ナビゲーションによる問題解決}
  \label{fig:navi}
\end{figure}


\section{関連研究}\label{sec:3}
コールセンターのオペレータの代替をコンピュータが行なう理想的な解決方法としては，自然な対話による高精度な質問応答が重要なキーとなる．

対話の研究としては，古くはELIZA~\cite{eliza}があるが，ユーザの問題解決という目的に作られたものではない．対話による情報検索~\cite{oddy}では，システムがユーザに対していくつかの選択肢を提示して検索を進めるもので，ユーザの意図が反映されにくい．近年，意味や文脈を考慮した対話モデル~\cite{katou,iida}が提案されているが，実用レベルには至っていない．

一方，質問応答システムでは，ユーザの問い合わせに対して，一般的な情報源から応答を生成する方法がある．これは，TRECのQAタスクで用いられるような精密な検索クエリを作成することによる検索問題に置き換えるもの~\cite{sanda,sanda2}と，限定された世界において，その世界モデルとユーザモデルの対応により，ゴールを明確にするプランニングの問題に置き換えるもの~\cite{allen}がある．前者は，「米国の第23代大統領の名前は？」というようなピンポイント的な知識を答えとして求めているのに対し，パソコンなどの使用法に関する質問応答は，使用のプロセスのように過去の蓄積した事例を答えとして求めるものが多く，そのアプローチが異なる．後者は応用システムごとに分野知識やモデルの構築が必要で作成コストがかかり過ぎ，変化の激しい現実の問題には向かない，といった問題点がある．

また，質問応答システムのもう一つのアプローチとして，蓄積された以前の質問と応答の検索によって，問題を解決する方法がある．この方法は，いくつかのタイプに分けられる．第一のタイプは，ユーザの問い合わせをオペレータが仲介し，そのオペレータが問題を解決する時の支援として用いられるものである．これは，ユーザとシステムの間を人間が仲介することから，システムには完全性は求められず，たとえ不完全であってもオペレータを支援する意味で効果を挙げているもの~\cite{yanase}もある．第二のタイプは，コンピュータが直接応答を行なうもので， ニュースグループのFAQを対象としたFAQ-Finder~\cite{bruke}や，これを参考にして作られたらのソフトウェア製品を対象としたヘルプデスク~\cite{kurohashi}がある．FAQ-Finderは，ユーザの問い合わせに対して類似したいくつかの質問文をリストとして提示し選択させているが，ユーザとシステムが対話を行ないながら問題を解決していく仕組みはない．ヘルプデスクは，対話の仕組みは取り入れたが，限定された一部の内容の選択にとどまっているのが現状である．

本研究は，モデルに沿って構造化したデータを対象にするのではなく，コールセンターのオペレータの応答記録のような質問応答データを活用して，ユーザが自ら問題を解決できるように，蓄積された質問応答データへナビゲーションするための基礎技術の開発を試みるものである．


\section{実験方法と評価方法}\label{sec:4}
\subsection{実験方法}
図\ref{fig:exp}\,に今回行なった実験の流れを示す．

実験の順序は，実験1→実験2→実験3の順にそれぞれの結果を受けて進める．実験1では，初期質問文と質問の要約文のマッチングを行ない，一致した初期質問文と一致しなかった初期質問文に分け，実験2及び実験3へ振り分ける．「一致」，「不一致」の定義は\ref{sec:4.2}\,項で詳述する．

\begin{figure}[ht]
 \begin{center}
  \epsfile{file=figure/fig3.eps,scale=0.45}
 \end{center}
 \caption{実験の流れ（実験1→実験2→実験3の順）}
 \label{fig:exp}
\end{figure}

実験2では，実験1で一致した初期質問文の成功要因を分析するために，キータームとする条件の変更や文節に含まれるキータームの削除を行なって，再度，質問の要約文とのマッチングを行なう．その結果，実験1では一致していたものが，あるタームを削除することによって不一致となる場合は，削除したタームがマッチングに重要な要素であると考え，マッチングに適切なタームを補うためのルール化を行なう．この方式は，マッチングに成功した要因を分析してルール化を行なうため，サクセスファクタ分析方式と呼び，実験3において検証する． 

実験3では，実験1で不一致となった初期質問文に対して，実験2から得られたタームの補いのルールと，質問の要約文を統計的に分析して得られたルールを用いてタームを補ってマッチングを行ない，実験1で得られるベースライン及び，単純に質問の要約文の先頭語を補ってマッチングを行なった結果と比較する．


\subsection{評価方法} \label{sec:4.2}
質問と応答の要約文へのナビゲーションは，ユーザが満足する結果に導かれれば，そこで問題が解決されるため，一般的な検索で用いる再現率と適合率は評価の尺度として適さない．そこで，初期質問文から作成した検索式を入力として，検索エンジンを用いて質問の要約文とマッチングさせ，元々の質問の要約文(初期質問文を作成する際の元になった質問）が第一位にランキングされたものを「一致」，第二位以下にランキングされたものを「不一致」とした．なお，ランキングは，以下の重み付けを用いた．

\[
 R_i = \sum_{j=1}^{k} \left( \log tf_{ij} \times \log \frac{N}{df_j} \right)
\]

ここで，全$N$件中，$i$番目($1 \leq i \leq N$)の文書の関連度$R_i$は，$k$個の単語の$tf \times idf$の総和で表す．$tf_{ij}$は，$j$番目($1 \leq j \leq k$)のタームの$i$番目の文書内出現回数であり，$df_j$は，$j$番目の単語の全質問の要約文中で出現する質問の要約文の数である．$idf_j$は$N / df_j$で計算している．$tf_{ij}$および$df_j$の$\log$を取っているのは，突出して出現するタームの影響を減らすためである．

また，キータームを補ったり，削ったりすることでマッチングの結果が変わるが，その指標を影響度$I$で表す．

\[
 I = \frac{U}{U+M}
\]

ここで$U$はマッチングの結果，一致から不一致へ，または不一致から一致へ変化した初期質問文の数で，$M$はマッチングの結果が変わらなかった初期質問文の数を表す．


\section{実験と考察}\label{sec:5}
まず，実験に用いるツールとデータの規模について述べる．初期質問文を質問の要約文とマッチングさせる検索エンジンは，我々の開発した全文検索エンジン~\cite{matui}を用いた．初期質問文は，JUMAN~\cite{juman}を用いて品詞付きの形態素解析結果を得て，検索に用いるキータームを選定した．キータームとして選定する品詞，及び実験に用いた初期質問文と質問の要約文は，以下の通りである．

\begin{tabular}[t]{ll}
 \\
 \multicolumn{2}{l}{[キータームとすべき品詞]}\\
 ~ & 名詞 未定義語 形容詞 動詞 助動詞(ない) \\
 \\
 \multicolumn{2}{l}{[実験に用いた初期質問文と質問の要約文]}\\
 ~ & 対象とした質問の要約文の種類：無作為に抽出した300種類 \\
 ~ & 初期質問文の数：499個（一つの質問の要約文に複数の初期質問文がある）\\
 ~ & 検索対象となる質問の要約文の数：34,736 個 \\
\end{tabular}

\subsection{実験1：ベースラインの設定}
実験1では，初期質問文と質問の要約文のマッチングを行ない，これをベースラインとする．この実験結果を表\ref{tab:match}\,に示す．初期質問文は元々情報量が少ないので，元の質問の要約文と一致する可能性は低い．この状態が，ユーザが普通に質問文を入力した時にシステムが応答する状態である．一致した初期質問文は，問題が解決したものとし，一致／不一致の数を実験2，実験3の結果と比較する．

\begin{table}[hb]
 \caption{初期質問文と質問の要約文のマッチング結果}
 \label{tab:match}
 \begin{center}
  \begin{tabular}{|l|r|r|} \hline
    & \multicolumn{1}{|c|}{数} & \multicolumn{1}{|c|}{割合} \\ \hline \hline
   一致 & 239 & 47.9\,\% \\ \hline
   不一致 & 260 & 52.1\,\% \\ \hline
   合計 & 499 & 100.0\,\% \\ \hline
  \end{tabular}
 \end{center}
\end{table}


\subsection{実験2：重要タームの要因分析}
実験2では，実験1において質問の要約文とのマッチングで一致した初期質問文に対して，第一にキータームを削除する条件の変更，第二に文節に含まれるキータームの削除を行なって，再度，質問の要約文とのマッチングを行なう．その結果，不一致となるものを調べ，その要因分析（サクセスファクタ分析）を行なう．

第一に，初期質問中のキータームの構文的役割の違いの影響を調べるために，以下の条件でキータームを削除する．この時，削除するキータームの数は同数とする．また，助詞「の」や名詞連続によるタームの比較を行なうため，ここでは，「の」を文節の区切りとしない．名詞と未定義語を併せて名詞類と呼び，文節の最後の名詞類を主辞と呼ぶ．

\begin{tabular}{ll}
\\
\multicolumn{2}{l}{［キータームを削除する条件の変更］}\\
~ & ベースライン：キータームとすべき品詞の形態素すべて（削除するキータームはなし）\\
~ & 修飾語削除（主辞選択）：各文節の主辞以外のキータームを削除し，主辞を選択する．\\
~ & \begin{tabular}{@{}l@{\hspace{0.3zw}}p{0.63\textwidth}@{}}
     主辞削除（修飾語選択）：& 主辞を助詞「の」または名詞連続によって修飾する名詞類があれば主辞を削除し，その代わりに修飾語を選択する．\\
    \end{tabular} \\
 \\
\end{tabular}

例~\ref{ex:keyterm}\,に，初期質問文の形態素解析結果と各条件で削除して残ったキータームの例を示す．

\begin{example}[ht]
 \begin{center}
  \fbox{\small
  \begin{tabular}{ll}
   \multicolumn{2}{l}{[例文] 留守番電話で相手の番号を通知させる方法がわからない．}\\
   \multicolumn{2}{l}{[形態素解析結果]}\\
   ~ & [留守番/電話/で][相手/の/番号/を][通知させ/る/方法/が][わか/ら/ない]．\\
   \multicolumn{2}{l}{[キーターム例]}\\
   ~ & ベースライン： 留守番，電話，相手，番号，通知させ，方法，わか，ない\\
   ~ & 修飾語削除（主辞選択） ： 電話，番号，方法 \\
   ~ & 主辞削除（修飾語選択） ： 留守番，相手，方法 \\
  \end{tabular}
  }
 \end{center}
 \caption{形態素解析結果とキータームの例}
 \label{ex:keyterm}
\end{example}

このように，キータームの種類を変更してマッチングを行なった結果を表~\ref{tab:keymatch}\,に示す．ここで，マイナスの影響度とは，実験1でマッチングが一致していたものがキータームの選択によって不一致となった割合を示す．

\begin{table}[ht]
 \caption{キータームを削除する条件の変更によるマッチング結果}
 \label{tab:keymatch}
 \begin{center}
  \begin{tabular}{|l|r|r|r|} \hline
   & \multicolumn{1}{|c|}{\mrow{ベースライン}} & \multicolumn{1}{|c|}{修飾語削除} & \multicolumn{1}{|c|}{主辞削除} \\
   & & \multicolumn{1}{|c|}{（主辞選択）} & \multicolumn{1}{|c|}{（修飾語選択）} \\ \hline \hline
   一致 → 一致 & 239 & 80 & 112 \\ \hline
   一致 → 不一致 & 0 & 159 & 127 \\ \hline \hline
   合計 & 239 & 239 & 239 \\ \hline
   マイナスの影響度 & & 66.5\,\% & 53.1\,\% \\ \hline
  \end{tabular}
 \end{center}
\end{table}

キータームの数を減らすことにより，不一致となる数が増えるが，修飾語削除は，主辞削除に比べ，マイナスの影響度は13.4\,\%も大きくなり，修飾語はマッチングの精度に重要なキータームであることを示している．

第二に，キータームが存在する文節の種類によってどのような影響があるかを調べるために，代表的な格助詞及び係助詞で終わる文節中のキータームを削除して残ったキータームによってマッチングを行なう．削除する文節は，初期質問文中に30個以上出現するものを選び，以下の通りとする．

\begin{tabular}{ll}
 \\
 \multicolumn{2}{l}{［削除する文節］} \\
 ~ & 「が文節」，「を文節」，「で文節」，「は文節」，「に文節」\\
 \\
\end{tabular}

例\ref{ex:delkey}\,では，各文節を削除した場合の残ったキータームの例を示す．

\begin{example}[ht]
 \begin{center}
  \fbox{\small
  \begin{tabular}{ll}
   \multicolumn{2}{l}{[例文] 留守番電話で相手の番号を通知させる方法がわからない．} \\
   \multicolumn{2}{l}{[形態素解析結果]}\\
   ~ & [留守番/電話/で][相手/の/番号/を][通知させ/る/方法/が][わか/ら/ない]．\\
   \multicolumn{2}{l}{[キーターム例]}\\
   ~ & 「が文節」を除く：留守番，電話，相手，番号，わか，ない \\
   ~ & 「を文節」を除く：留守番，電話，通知させ，方法，わか，ない \\
   ~ & 「で文節」を除く：相手，番号，通知させ，方法，わか，ない \\
   \end{tabular}
  }
 \end{center}
 \caption{文節を削除したキータームの例}
 \label{ex:delkey}
\end{example}


このように，各文節中を削除して残ったキータームによってマッチングを行なった結果を表\ref{tab:delsets}\,に示す．

\begin{table}[ht]
 \caption{文節を削除した影響度}
 \label{tab:delsets}
 \begin{center}
  \begin{tabular}{|l|r|r|r|r|r|r|} \hline
   & ベースライン & が文節 & を文節 & で文節 & に文節 & は文節 \\ \hline \hline
   一致 → 一致 & 239 & 25 & 27 & 25 & 22 & 10 \\ \hline
   一致 → 不一致 & 0 & 76 & 68 & 24 & 32 & 20 \\ \hline \hline
   合計 & 239 & 101 & 95 & 49 & 54 & 30 \\ \hline
   マイナスの影響度 & & 75.2\,\% & 71.6\,\% & 49.0\,\% & 59.3\,\% & 66.7\,\% \\ \hline
  \end{tabular}
 \end{center}
\end{table}

表\ref{tab:delsets}\,から，「が文節」と「を文節」中のキータームを除去するとその影響は最も顕著に現れ，どちらも70\,\%以上の影響度がある．その結果，以下の文節の順にマッチングに重要なキーワードが含まれると考えられる．

\[
 \mbox{「が文節」} > \mbox{「を文節」} > \mbox{「は文節」} > \mbox{「に文節」} > \mbox{「で文節」}
\]

\vspace*{1cm}

\subsection{実験3：タームの補い}

実験3では，実験1において質問の要約文とのマッチングで不一致であった初期質問文に対して，実験2から得られた補いルールと，比較のための単純な補いルールに基づいてキータームを追加して再度質問の要約文とのマッチングを行なう．その結果一致する初期質問文を調べ，その評価を行なう．

\begin{table}[b]
 \caption{サ変名詞と「の」の関係}
 \label{tab:sano}
 \begin{center}
  \begin{tabular}{|l|r|r|r|} \hline
   \multicolumn{1}{|c|}{語句} & \multicolumn{1}{|c|}{頻度} & \multicolumn{1}{|c|}{「の」の左側に出現} & \multicolumn{1}{|c|}{「の」の右側に出現} \\ \hline \hline
   設定 & 722 & 32 & 690 \\ \hline
   表示 & 166 & 9 & 157 \\ \hline
   インストール & 158 & 16 & 142 \\ \hline
   変更 & 144 & 4 & 140 \\ \hline
   接続 & 119 & 18 & 101 \\ \hline \hline
   サ変合計 & 5107 & 862 & 4245 \\ \hline
   割合 & & 16.9\,\% & 83.1\,\% \\ \hline
  \end{tabular}
 \end{center}
 
 \caption{普通名詞と「の」の関係}
 \label{tab:funo}
 \begin{center}
  \begin{tabular}{|l|r|r|r|} \hline
   \multicolumn{1}{|c|}{語句} & \multicolumn{1}{|c|}{頻度} & \multicolumn{1}{|c|}{「の」の左側に出現} & \multicolumn{1}{|c|}{「の」の右側に出現} \\ \hline \hline
   ファイル & 262 & 132 & 130 \\ \hline
   データ & 182 & 75 & 107 \\ \hline
   ハードディスク & 121 & 85 & 36 \\ \hline
   パソコン & 107 & 77 & 30 \\ \hline
   プログラム & 96 & 47 & 49 \\ \hline \hline
   普通合計 & 14181 & 6362 & 7819 \\ \hline
   割合 && 44.9\,\% & 55.1\,\% \\ \hline
  \end{tabular}
 \end{center}

 \caption{固有名詞と「の」の関係}
 \label{tab:kono}
 \begin{center}
  \begin{tabular}{|l|r|r|r|} \hline
   \multicolumn{1}{|c|}{語句} & \multicolumn{1}{|c|}{頻度} & \multicolumn{1}{|c|}{「の」の左側に出現} & \multicolumn{1}{|c|}{「の」の右側に出現} \\ \hline \hline
   Windows95 & 180 & 149 & 20 \\ \hline
   Windows98 & 85 & 76 & 9 \\ \hline
   Windows & 65 & 61 & 4 \\ \hline
   Word & 37 & 35 & 2 \\ \hline
   富士通 & 36 & 35 & 1 \\ \hline \hline
   固有合計 & 1567 & 1405 & 162 \\ \hline
   割合 && 88.9\,\% & 11.1\,\% \\ \hline
  \end{tabular}
 \end{center}
\end{table}


実験1の結果では，5割以上の初期質問文が不一致であった．これらのマッチング精度を高めるためには，実験2の考察で得られたように，主辞だけをキータームとする検索では，問題を解決する知識（蓄積している応答文）にたどり着くことはできず，主辞の修飾語が重要である．そこで，今回は，主辞の周りにいかに適切なタームを補って詳細化するかというポイントに絞り，蓄積した類似質問にナビゲーションできるかどうかを実験で検証することにした．これを対話により効率的に補うためには，システムからどのような問い掛けをするかがタームの補いの方略となる．そのために，初期質問文中のどのタームに着目したらよいかを決め，さらに，着目したタームをどのように詳細化するかを決める必要がある． 

そこで，名詞の種類がタームの詳細化の方法を決定する手がかりになり得るかを調べるために，蓄積された34,736個の文を分析し，「の」による修飾・被修飾の出現頻度5以上のものを数え上げた．典型的な語句の例と合計頻度，及びその割合を表\ref{tab:sano}\,〜\ref{tab:kono}\,に示す．表\ref{tab:sano}\,にはサ変名詞と「の」の関係，表\ref{tab:funo}\,には普通名詞と「の」の関係，表\ref{tab:kono}\,には固有名詞と「の」の関係を示す．

これらの表からわかることは，サ変名詞の場合は，「〜の設定」というように「の」の右側に出現して，サ変名詞自体を意味的に限定するタームの要求が多い．一方，固有名詞の場合は，「富士通の〜」というように，「の」の左側に出現して，固有名詞を詳細化するタームの要求が多い．


これまでの分析から，初期質問文中のどのタームに着目するかを決めるルールとして，以下に示す5つのルールを導出できる．

\begin{enumerate}
 \item 文節が一つの場合は，その文節の主辞に着目する．文節が複数の場合は，検索精度に影響を与える文節の順（表\ref{tab:delsets}\,より「が文節$>$を文節$>$は文節$>$に文節$>$で文節」）に，その文節の主辞となるタームに着目する．
 \item 着目するタームがサ変名詞ならば，そのサ変名詞が右側に出現するようなタームを補う （表\ref{tab:sano}\,より）．
 \item 着目するタームが普通名詞ならば，その普通名詞が右側または左側のどちらかに出現するような両方の可能性を考慮してタームを補う（表\ref{tab:funo}\,より）．
 \item 着目するタームが固有名詞ならば，その固有名詞が左側に出現するようなタームを補う（表\ref{tab:kono}\,より）．
 \item 着目するターム「B」がすでに「AのB」の形で修飾されている場合には，表\ref{tab:AnoB}\,の品詞の組み合わせで着目すべきタームを決定する．例えば，Aがサ変名詞でBが普通名詞の場合，Aは左から修飾される（ルール(2)より）場合があり、Bは左から修飾される場合と、右を修飾する（ルール(3)より）場合がある．ここで，Bは「Aの」によりすでに修飾されているため，左から修飾されることはない．よって着目すべきタームは第一に「A」，第二に「B」となる． 
\end{enumerate}

\begin{table}[ht]
 \caption{「AのB」の場合の着目すべきターム}
 \label{tab:AnoB}
 \begin{center}
  \begin{tabular}{|c|c|c|c|} \hline
   A＼B & サ変名詞 & 普通名詞 & 固有名詞 \\ \hline \hline
   サ変名詞 & A & A，B & A，B \\ \hline
   普通名詞 & A & A，B & A，B \\ \hline
   固有名詞 & なし & B & B \\ \hline
  \end{tabular}
 \end{center}
\end{table}

ルール(1)〜(5)で定めた着目すべきタームに対して新しいタームを補うために，システムからユーザに問いかける句の生成ルールを表\ref{tab:crule}\,に示す．これらのルールを用いて，着目するタームとシステムの問い掛けを決定する．その問い掛けへユーザが返す答えに含まれるタームが一次質問文へ補うタームとなる．

\begin{table}[ht]
 \caption{着目したタームに対しユーザへ問い掛ける句の生成ルール}
 \label{tab:crule}
 \begin{center}
  \begin{tabular}{|c|c|c|c|} \hline
   A＼B & サ変名詞 & 普通名詞 & 固有名詞 \\ \hline \hline
   \mrow{ナシ} & (2) & (3) & (4) \\ \cline{2-4}
   & 「どんなB」 & 「何のB」｜「Bの何」 & 「Bの何」\\ \hline
   \mrow{サ変名詞} & (2)(5) & (2)(3)(5) & (2)(4)(5) \\ \cline{2-4}
   & 「どんなA」 & 「どんなA」｜「Bの何」 & 「どんなA」｜「Bの何」 \\ \hline
   \mrow{普通名詞} & (2)(3)(5) & (3)(5) & (3)(4)(5) \\ \cline{2-4}
    & 「何のA」 & 「何のA」｜「Bの何」 & 「何のA」｜「Bの何」 \\ \hline
   \mrow{固有名詞} & (2)(4)(5) & (3)(4)(5) & (4)(5) \\ \cline{2-4}
    & -- & 「Bの何」 & 「Bの何」 \\ \hline
  \end{tabular}
 \end{center}
\end{table}

表\ref{tab:crule}\,において，上段は適用した着目すべきタームを決定するルールの番号，下段はシステムからの問い掛けを示し，「｜」記号は，どちらの可能性もあることを示す．例えば，ルール(1)で着目する文節が決定されたら，その文節のタームに着目する．そのタームがAのBの形になっていなければ，そのタームをBとして，Bの品詞を表\ref{tab:crule}\,にあてはめる．もしBがサ変名詞であれば，Aが「ナシ」となり，「どんなB」が導かれる．これにより，システムからユーザに「どんなBですか」という問い掛けを返す．また，もし着目するタームがAのBの形になっていて，Aがサ変名詞，Bが普通名詞なら，表\ref{tab:crule}\,から「どんなA」｜「Bの何」が導かれる．これにより，システムからの問い掛けは，「どんなAですか？」または「Bの何ですか？」となり，いずれかの新しいタームの要求を行なうことになる．なお，表\ref{tab:crule}\,では，「の」による修飾の補いが原則であるが，サ変名詞の限定には「どんな〜」を用いた方が自然な問い掛けとなるため，ヒューリスティックなルールとして用いた．

このように作成したシステムからの問い掛けに対して，ユーザが返した答えに含まれるキータームを初期質問文に追加して，二次質問文を作成する．例\ref{ex:2q}\,には，初期質問文に対して表\ref{tab:crule}\,で示したルールを適用し，システムが対話的にキータームを補い，二次質問文に相当するマッチングのための検索式を生成することを想定した例を示す．ここでは，実験1のベースラインのキータームを利用した検索式を生成する． 

\begin{example}[ht]
 \begin{center}
  \fbox{\small
\begin{minipage}{0.8\textwidth}
   \begin{tabular}{lll}
   \multicolumn{3}{l}{[初期質問文] CRT の設定は必要ですか} \\
   ~ & ~ & ⇒[マッチングのキーターム] CRT 設定 必要 \\
   \multicolumn{3}{l}{システム： 「何のCRT ですか」（「設定」は修飾済）}\\
   \multicolumn{3}{l}{ユーザ： 「FMV-5133T3 のCRT です」}\\
   ~ & \multicolumn{2}{l}{→[二次質問文]FMV-5133T3 のCRT の設定は必要ですか}\\
   ~ & ~ & ⇒[マッチングのキーターム] FMV-5133T3 CRT 設定 必要 \\
   \\
   \multicolumn{3}{l}{[初期質問文] 筆まめでエラーが発生する} \\
   ~ & ~ & ⇒[マッチングのキーターム] 筆まめ エラー 発生 \\
   \multicolumn{3}{l}{システム：「何のエラーですか」（が＞で）} \\
   \multicolumn{3}{l}{ユーザ：「住所リストのエラーです」} \\
   ~ & \multicolumn{2}{l}{→[二次質問文]筆まめで住所リストのエラーが発生する} \\
   ~ & ~ & ⇒[マッチングのキーターム] 筆まめ 住所リスト エラー 発生 \\
  \end{tabular}
\end{minipage}
  }
 \end{center}
 \caption{二次質問文の作成例}
 \label{ex:2q}
\end{example}

例\ref{ex:2q}\,で示したような新しい二次質問文から生成される検索式によってマッチングした結果を表\ref{tab:new2q}\,に示す．比較のため，質問の要約文の先頭語を補うという単純な補いルールに基づきキータームの追加を行なってマッチングした結果も表\ref{tab:new2q}\,に併記する．実験の目的は，ユーザが効率的に問題を解決できる知識にたどり着くことであり，対話的にタームを補っていくシステムを想定している．できる限り最適なタームを補うことが，問題解決を早めることに有効に働く．表\ref{tab:new2q}\,では，単純に補った場合も，先頭に来るタームが固有名詞である場合が多いため，ある程度の精度向上は見られるが，これはアドホックな対応である．ルールによって補った結果の影響度が高く，単純にタームを補うよりも効果が得られた．

\begin{table}[ht]
 \caption{新しい二次質問文による検索結果}
 \label{tab:new2q}
 \begin{center}
  \begin{tabular}{|l|r|r|r|} \hline
   & ベースライン & 単純に補い & ルールで補い \\ \hline \hline
   不一致 → 不一致 & 260 & 202 & 147 \\ \hline
   不一致 → 一致 & 0 & 58 & 113 \\ \hline \hline
   合計 & 260 & 260 & 260 \\ \hline
   プラスの影響度 & 0.0\,\% & 22.3\,\% & 43.5\,\% \\ \hline
  \end{tabular}
 \end{center}
\end{table}

\section{おわりに}
今回の実験では，ユーザの自然言語による状況説明や質問を表わす初期質問文をトリガーとして，システムからユーザに新たなキータームの入力を促してユーザの意図する適切な質問応答の要約文に速やかに到達できるような対話的ナビゲーション技術を提案した．初期質問文中のどのようなタームが検索式を作成するのに重要であるかを判定する方式として，入力した質問と要約文とのマッチングが成功したものから一定の基準によってタームを変更するサクセスファクタ分析方式を適用した．その結果，主辞を詳細化するタームは，マッチングの精度に極めて大きく影響することが明らかになり，そのタームを検索式に補うことで，質問の要約文の先頭語を補うという単純な補いルールに比べ，マッチング精度を約2倍向上させることができた（これは，初期質問では一致しなかった質問に，システムとユーザとの1回の対話を加えるだけで，5割近くが一致する，ということを示している）．

今回実証したタームの補強ルールは，音声の認識・合成技術を用いた音声応答システムに適用していくことが理想的であり，今後の課題である．また，今回の実験では，20文字程度の短い質問文を想定している．実際には，このような短い質問文が7割程度を占めているため，本稿で述べたシステムが実装されれば，オペレータ業務の一部を肩代わりし，労力の軽減につながる．しかし，Web上の質問応答システムにおいては，長い文章の入力もあり，このような文章も解析して対話ができるようにすることが望ましい．これについては，今後の自然言語処理技術の進展に期待したい．

\vspace{0.3cm}
\acknowledgment

日頃よりご指導頂く，東京工業大学の徳永健伸助教授，及び富士通研究所言語処理研究部及び富士通DBサービス部の皆様に感謝致します．




\nocite{fmw}

\bibliographystyle{jnlpbbl}
\bibliography{441}

\begin{biography}
\biotitle{略歴}
\bioauthor{松井 くにお}{
1980年静岡大学工学部情報工学科卒業．同年（株）富士通研究所入社．以来，自然言語処理，文書情報処理，情報検索の研究開発に従事．言語処理学会評議員，厚生省電子カルテ研究班班員を歴任．ITメディア研究所言語処理研究部部長．情報処理学会会員．
}
\bioauthor{田中 穂積}{
1964年東京工業大学工学部情報工学科卒業．1966年同大学院理工学研究科修士課程修了．同年電気試験所（現産業技術総合研究所）入所．1980年東京工業大学助教授．1983年東京工業大学教授．現在，同大学大学院情報理工学研究科計算工学専攻教授．博士（工学）．人工知能，自然言語処理に関する研究に従事．情報処理学会，電子情報通信学会，認知科学会，人工知能学会，計量国語学会，Association for Computational Linguistics，各会員．
}

\bioreceived{受付}
\biorevised{再受付}
\biorerevised{再々受付}
\bioaccepted{採録}
\end{biography}

\end{document}
