\section{はじめに}
\label{sec:introduction}機械翻訳システムの性能向上や大量のコーパスを伴なう翻訳メモリなどの導入により，機械支援翻訳(CAT)が広く行われるようになってきている．その一方で，翻訳の対象となる文書の内容が専門的である場合，その分野特有の専門用語や定型表現に関する対訳辞書が必要となる．そうした辞書を人手で作成することはコストが高いため，あらかじめ翻訳された対訳コーパスから専門用語や定型表現の対訳を自動抽出する研究が盛んである\cite{Matsumoto00}．しかし，自動抽出の結果は必ずしも正確ではなく，間違った対訳表現を抽出したり，対訳表現の一部だけを抽出する場合がある．また，一つの語に対して複数の対訳表現を抽出した場合には，訳し分けに関する知見が必要となる．そこで，対訳表現を抽出するだけでなく，対訳表現の各候補を，それが出現した文脈と一緒に表示することによって，ユーザによる対訳表現の選定を支援し，対訳辞書構築を支援するシステムBilingualKWIC\textsuperscript{\textregistered}を開発した．BilingualKWICは，対訳抽出の技術とKWIC(KeyWordInContext)表示\cite{luhn1960}を統合し，文単位で対応付けされたパラレル・コーパスから，与えられたキーワードとその対訳表現の候補をそれぞれ文脈付きで表示する．BilingualKWICの開発過程については\ref{sec:history}章において詳しく述べるが，最初は法律分野の対訳辞書構築を支援する目的で開発した．しかし，このシステムは対訳辞書構築だけでなく，翻訳支援にも有用であるため，その後に開発された法務省・日本法令外国語訳データベース・システム(JLT){\footnote{http://www.japaneselawtranslation.go.jp/}\cite{Toyama12}}においても採用されるに至った．JLTは，日本の主要法令とその英訳，法令用語日英標準対訳辞書，および日本法令の英訳に関する関連情報をインターネット上において無償で提供するウェブサイトである．また，BilingualKWICは名古屋大学が開発した学内情報翻訳データベースNUTRIAD\footnote{http://nutriad.provost.nagoya-u.ac.jp/}\cite{Fukuda}でも採用され，学内文書の英文化を支援し，大学の国際化に寄与している．NUTRIADのシステムは，九州大学・熊本大学・東北大学でも導入され，BilingualKWICも同様に利用されている．BilingualKWICの現在の目的は，対訳辞書のようにあらかじめ登録された訳語と少数の用例を提示するのではなく，任意の入力キーワードに対して対訳表現を計算し，豊富なパラレル・コーパスからの情報を一緒に提示することにより，従来の対訳辞書や翻訳メモリとは異なるアプローチでの翻訳支援を実現することである．以下に本論文の構成を示す．まず\ref{sec:summary}章においてBilingualKWICの概要について述べ，\ref{sec:character}章においてその特徴を紹介する．\ref{sec:spec}章において，BilingualKWICの技術的詳細を，\ref{sec:history}章においてその開発過程をそれぞれ述べる．\ref{sec:evaluation}章ではユーザによるBilingualKWICの評価について述べ，\ref{sec:compare}章では類似するシステムとの比較を行う．\ref{sec:conclusion}章は本論文のまとめである．
\section{BilingualKWICの概要}
\label{sec:summary}BilingualKWICの概観を図~\ref{fig:BilingualKWIC}に示す．これはBilingualKWICが「文脈検索」という名前で採用されているJLT版での画面である．なお，BilingualKWIC自体はJLTに先立って開発されたものであり，以降の説明は，特に断わりがない限り，JLT版以外のBilingualKWICに共通するものである．\begin{figure}[b]\begin{center}\includegraphics{24-1ia3f1.eps}\end{center}\caption{BilingualKWICの概観}\label{fig:BilingualKWIC}\end{figure}左上のキーワード入力欄にキーワードを入力し，その横の[検索]ボタンを押すと，左側に原言語，右側に対象言語で対応付けられた対訳文を表示する．その際，原言語ではキーワードを中心に，また，対象言語では自動的に推定したその対訳表現を中心に，それぞれKWIC形式で表示する．また，注目したい文をマウスでクリックすると，その文全体が下側に表示される．その際，コーパスが複数の文書から構成される場合には，注目文の出典である文書名を表示できる．右上の対訳表現入力欄にはBilingualKWICが推定した対訳表現が表示されるが，それが間違っていたときには，ユーザが自分で適切な対訳表現をここに入力し，[訳語再検索]ボタンを押すことにより再表示できる．それに加えて，この欄右の[▼]ボタンを押すと，BilingualKWICが推定した他の対訳表現が表示され，ユーザは別の対訳表現を選択することができる．なお，キーワードおよび対訳表現ともにコーパス中における出現回数がそれらのすぐ横に表示され，対訳表現選定の一助となっている．また，KWIC表示欄の上部にある[並び替え]と表示された部分をクリックすることにより，出力結果をソートすることが可能である．原言語欄もしくは対象言語欄の中心にある表現の左側・右側でそれぞれソートすることができる．これにより対訳表現や用例の比較が簡単に行える．図~\ref{fig:BilingualKWIC}では，キーワード「専用利用権」の右側に続く語を基準にソートされている．\begin{figure}[t]\begin{center}\includegraphics{24-1ia3f2.eps}\end{center}\caption{``negotiation''に対する実行結果}\label{fig:BilingualKWIC2}\vspace{-0.5\Cvs}\end{figure}なお，図~\ref{fig:BilingualKWIC}では，原言語が日本語，対象言語が英語となっているが，キーワード入力欄に英単語を入力すれば，図~\ref{fig:BilingualKWIC2}のように原言語を英語，対象言語を日本語として対訳表現の自動抽出が行える．またキーワード・対訳表現ともに複合語を含め，任意の文字列を入力することができる．\clearpage
\section{BilingualKWICの特徴}
\label{sec:character}BilingualKWICは次のようなことが可能であるという特徴を持つ．\begin{enumerate}\item対訳表現の抽出における誤りの訂正\item派生表現の獲得\item訳し分けに関する知見の獲得\item対訳辞書との併用\item対訳表現の指定\item他の言語への応用\end{enumerate}以下，これらの特徴を詳しく述べる．\subsection{対訳表現の抽出における誤りの訂正}BilingualKWICでは，自動対訳抽出における誤りをユーザが簡単に修正できる．図~\ref{fig:BilingualKWIC}の例では，JLT版で公開されている日本法令の日英対訳コーパスを「専用利用権」をキーワードとして検索している．正しい対訳は，``exclusiveexploitationright''であるが，自動対訳抽出の結果は``exclusiveexploitation''となっている．しかし，図~\ref{fig:BilingualKWIC}のKWIC形式で表示された英語文において``exclusiveexploitation''の右側の文脈を見れば，``exclusiveexploitationright''が対訳として正解であることが直観的に理解できる．\subsection{派生表現の獲得}BilingualKWICでは，派生表現とその対訳を容易に獲得できる．図~\ref{fig:BilingualKWIC}の例では，「専用利用権」``exclusiveexploitationright''の下に続いて表示される用例から「専用利用権者」という派生語と，その対訳``holderofanexclusiveexploitationright''を得ることができる．このような特徴は対訳表現の抽出を支援するときに有用であるが，対訳表現に加えて，実際の用例も表示されることから，BilingualKWICは翻訳支援に対しても有用である．\subsection{訳し分けに関する知見の獲得}翻訳支援システムとして捉えたとき，BilingualKWICは訳し分けに関する知見が容易に獲得できる点が優れている．図~\ref{fig:BilingualKWIC2}の例では，``negotiation''の対訳として，「譲渡」と「交渉」が表示されている．そのような場合には，前後の文脈から，対訳語がどのように使い分けられているかを比較することが容易であり，この例では``between''が後続する場合は「交渉」と翻訳するのが適当であるといった知識を得ることができる．\subsection{対訳辞書との併用}BilingualKWICでは，あらかじめ対訳辞書が用意されていれば，それを組み込んで併用することも可能である．辞書に対訳表現が登録されている場合は，その対訳を優先的に表示し，その後，自動的に推定した対訳表現を含む文を表示する．図~\ref{fig:BilingualKWIC2}の例では，「譲渡」がこれに該当し，辞書に登録されている対訳であることを示すために緑色で表示される．その下に続く「交渉」は自動推定された対訳であり，辞書に登録されているものと区別するために青色で表示される．JLTにおいては，「法令用語日英標準対訳辞書」が公開されており，JLT版BilingualKWICに組み込まれている．\begin{figure}[b]\vspace{-1\Cvs}\begin{center}\includegraphics{24-1ia3f3.eps}\end{center}\caption{「検証」の訳語として``review''を指定した結果}\label{fig:BilingualKWIC3}\end{figure}\subsection{対訳表現の指定}BilingualKWICでは，対訳表現の抽出に失敗した場合や，\pagebreak特定の対訳表現に注目したい場合は，対訳表現入力欄にそれを入力することにより，対訳を指定できる．図~\ref{fig:BilingualKWIC3}の例では，「検証」の訳語として少数ながら出現した``review''を入力することにより，その用例を表示している．なお，ユーザが指定した対訳表現は赤色で表示され，辞書にある対訳よりもさらに優先して表示される．\begin{figure}[b]\vspace{-1\Cvs}\begin{center}\includegraphics{24-1ia3f4.eps}\end{center}\caption{ベトナム語--英語コーパスへの適用}\label{fig:BilingualKWICv}\end{figure}\subsection{他の言語への応用}またBilingualKWICは，後述するように形態素解析を利用せず，文字レベルの情報だけを利用しているため，様々な言語対での利用が可能である．図~\ref{fig:BilingualKWICv}は，ベトナム語と英語の対訳コーパスを利用した例である\hspace{-0pt}\footnote{これはJLT版ではなく，別のウェブ・サーバ上で実行した例である．}．なお，この例のように，言語の種類の判定が入力文字列からでは容易でない言語対で利用する場合は，入力言語を切り替えるトグル・ボタンをキーワード入力欄の左に用意している．
\section{BilingualKWICの技術的詳細}
\label{sec:spec}本章では，BilingualKWICの技術的な詳細について述べる．まず，対訳表現の自動抽出手法について述べたあと，どのような文字列を対訳ペアの単位とするかについて述べる．\subsection{対訳表現の自動抽出}本節では，BilingualKWICにおける対訳表現の自動抽出の手法について述べる．\subsubsection{Dice係数の利用}対訳コーパスから対訳表現を自動的に抽出する手法については，これまでも様々な手法が提案されている．基本的な手法は，対訳コーパスから統計的に得られる情報をもとに類似度を計算するものである．すなわち，対訳コーパスの中から対訳表現の候補を求め，入力語との類似度を計算して，もっとも類似したものを対訳表現として抽出する．類似度としては，Dice係数・相互情報量・$\phi^2$統計量・対数尤度比などが知られているが，これらに関しては文献~\cite{Matsumoto00}が詳しい．また，類似度として翻訳確率を利用するIBMモデル~\cite{IBMModel}とそれをHMMに基づいて実装したGIZA++~\cite{GIZA++}も広く利用されている．IBMモデルの場合，与えられた入力語の対訳表現を求めるのではなく，原言語文中の各単語と対象言語文中の各単語の間に対応を付ける．さらに対応付けを単語の連続として表現されるフレーズに拡張したものとして，統計的機械翻訳システムMoses~\cite{Moses}が出力するフレーズ・テーブルも利用されている．GIZA++やMosesは，出現回数がある一定以上の単語やフレーズに対しては高い精度で対応を付けることが可能である．その他，統計情報に加えて，既存の対訳辞書など，他の言語情報を利用する手法も提案されている~\cite{Kumano94,Izuha04}．BilingualKWICにおいては，より多くの言語対に適用できるようにするため，言語情報はできるだけ利用せず，統計情報だけから対訳表現を求めることとした．この場合，高い精度をもつGIZA++やMosesの結果を利用することも考えられるが，GIZA++は単語，Mosesはフレーズを単位として対応を付けるため，単語の一部などのような単位にそぐわない表現に対しては対訳を推定することができない．BilingualKWICでは，ユーザがキーワードを入力することを前提としており，特に日本語のように1単語の定義が曖昧な言語では，入力キーワードがシステムが想定する単位に合致しない場合が発生しやすいと考えられる．そこで，どのようなキーワードに対しても対訳表現を計算できるよう，BilingualKWICでは類似度を計算する手法を採用した．類似度にも複数の候補があるが，文献~\cite{Kitamura97}において，候補間の類似度を計算する手法として相互情報量とDice係数を比較し，Dice係数の方が高い精度を出すことが示されている．これを参考にし，BilingualKWICでも以下に示すDice係数を類似度として採用した．\begin{equation}\label{eq1}\Dice(x,y)=\frac{2\times\freq(x,y)}{\freq(x)+\freq(y)}\end{equation}ここで$\freq(x)$と$\freq(y)$は，入力キーワード$x$および対訳表現候補$y$がそれぞれ原言語コーパスおよび対象言語コーパス中に出現する回数であり，$\freq(x,y)$は，対応付けられた文に$x$と$y$が同時に出現する回数である．よって，$0\leq\Dice(x,y)\leq1$となる．実際にBilingualKWICで使用する場合は，入力キーワード$x$を固定した上で，$\Dice(x,y)$が最大となる$y$を探すことになることから，以下の式を用いる．\begin{equation}\label{eq2}\hat{y}=\argmax_{y}\frac{2\times\freq(x,y)}{\freq(x)+\freq(y)}\end{equation}実装においては，まずキーワード$x$が出現した文に対応する対訳文を集めて探索範囲とし，その中に出現するあらゆる候補$y$について上記の式(\ref{eq1})を計算し，最大となるものを求めている．\subsubsection{再帰的な対訳表現の抽出}\label{sec:recursive}上述の式(\ref{eq2})を使用した場合，$\hat{y}$は一つしか求められない．しかし，実際には同じ入力キーワードが複数の対訳表現をもつことがある．そこで，BilingualKWICでは，下記に示す方法で複数の対訳表現を再帰的に抽出する．まず，最初の$\hat{y}$が求まった場合，探索範囲から$\hat{y}$を含んだ文を削除する．そして残った文を新たな探索範囲とし，式(\ref{eq2})を再度計算することにより，異なる対訳表現を求める．探索範囲に含まれる文数や，$\hat{y}$に対するDice係数の値が閾値以下になった場合は計算を終了し，そうでない場合はさらに対訳表現を再帰的に求める．単純にDice係数の値が大きな順に対訳候補とすると，最初に求めた表現の部分文字列などが含まれる場合があるが，既に抽出した対訳表現が出現しない文から対訳候補を求めることにより，最初の候補とは別の対訳表現を抽出できる．以上の方法により，図~\ref{fig:BilingualKWIC2}のように入力キーワードが複数の対訳表現をもつ場合に，それぞれを抽出できる．\subsection{文字レベルの情報のみの利用}GIZA++や文献\cite{Kitamura97}を含め，先行研究では日本語・英語とも形態素解析を利用するものが多いが，BilingualKWICでは，形態素解析を利用せずに文字レベルの情報だけを用いている．ここで文字レベルの情報とは，日本語の平仮名は対訳表現に含めない\hspace{0pt}\footnote{オプションで含めることも可能である．}，英語の単語は空白で区切られる，といった情報である．具体的には，日本語は文字Nグラム，英語は単語Nグラムを用いて，ある程度の長さNをもつ対訳表現の候補を求めている．なお，Nの最大値は言語ごとに指定できる．ところで，形態素解析を利用する利点として，対訳表現抽出の精度向上が期待できる点が挙げられる．特に動詞のように活用する語や，英語名詞の複数形などは，形態素解析を利用しないと，変化形が別の語として認識されてしまう．しかし，形態素解析の誤りは対訳抽出に影響を与える，他の言語に応用する場合はその言語に対応した形態素解析システムが必要といった問題もある．さらに，形態素解析システムの辞書にない単位では利用できないという問題がある．そうした点を考慮し，さらに対訳表現抽出の誤りを容易に修正できることから，BilingualKWICでは形態素解析を利用しないこととした．それにより，語の一部だけをキーワードとして入力するなど，柔軟な入力も可能になった．ただし，単語の途中からを候補対象とすると，精度や速度の点で問題があるため，接頭語として含まれている場合だけを数え上げている．例えば，``search''の出現回数を数えるときには``searches'',``searching'',``searched'',``searcher''なども含めて数えている．これにより，動詞の活用形や名詞の複数形が規則変化する語については，形態素解析の利用なしでも，ある程度対処できている．
\section{BilingualKWICの開発}
\label{sec:history}本章では，BilingualKWICの開発について，その段階にそって述べる．\subsection{プロトタイプ版の開発}プロトタイプ版となる最初のBilingualKWICの実装は，2003年に筆者が独自に行った．PC上でスタンドアロンで動作するように設計し，使用した言語はRuby，GUI作成のためにTkのライブラリを利用した．Rubyはスクリプト言語であり，プログラム開発が容易である一方，実行速度が遅いという欠点がある．BilingualKWICの実装においては，Dice係数の計算のために文字列の出現回数を高速に数え上げる必要がある．そこで，文字列検索の高速化のために，SuffixArray\cite{SuffixArray}のライブラリであるsary\footnote{http://sary.sourceforge.net/}を使用した．なお，今日では当然であるが，文字コードにはUTF-8を採用した．これにより，図~\ref{fig:BilingualKWICv}の例のように，各種言語に対応した．\subsection{対訳辞書作成支援版の開発}プロトタイプ版BilingualKWICは，JLT\cite{Toyama12}で公開される「法令用語日英標準対訳辞書」の構築において利用された\cite{Toyama08}．その際には，この標準対訳辞書に収録する対訳ペアの候補を収集することが必要になるため，BilingualKWIC上から対訳ペアを候補として登録できるようにした．具体的には，登録したい単語を指定して右クリックすると図~\ref{fig:pop}に示すポップ・ウィンドウが表示されるようにした．このウィンドウ上で，必要に応じてデータを修正・追加して，登録できるようにした．\begin{figure}[b]\begin{center}\includegraphics{24-1ia3f5.eps}\end{center}\caption{対訳ペア登録用ウィンドウ}\label{fig:pop}\end{figure}実際に，このシステムがインストールされたノートPCを作業担当者に配布することにより，標準対訳辞書に収録する対訳ペアの候補が収集された．この時点では，BilingualKWICが利用する対訳コーパスの大きさは39,560文であったが，ノートPC上で問題なく動作していた．なお，この対訳ペア登録機能は，対訳辞書の構築には有用であるが，翻訳支援の目的とは異なるため，次節のウェブ対応版では採用しなかった．\subsection{ウェブ対応版の開発}プロトタイプ版はスタンドアロンなPC上で起動するが，あらかじめRubyの処理系などを用意する必要があり，インストールは簡単ではなかった．また，利用者が各自で対訳コーパスを用意する必要があり，広く使用してもらうことができなかった．そこで多くのユーザに利用してもらうために，ウェブ・サーバ上で動作可能なバージョンを開発した．基本的なエンジンはプロトタイプ版と同じであるが，ウェブ・ブラウザを利用するためのGUI部分の開発は業者に委託した．この時点で，ユーザ・インターフェイスも含めて，BilingualKWICは一通り完成した．なお，BilingualKWICの完成後，日本法令外国語訳データベースシステム(JLT)の開発が始まったが，BilingualKWICは翻訳支援における有用性も認められ，2009年のJLT開設当初から「文脈検索」の名前で採用されている．その際には，より多くのウェブ・ブラウザに対応させるなどの改良を施した．これにより多くの一般ユーザにBilingualKWICを利用してもらえるようになった．\subsection{高速化}\label{sec:high-speed}最初のプロトタイプ版では，対訳コーパスとして数万文程度のサイズを想定していた．しかし，JLT版では新しい対訳法令が次々に追加されるため，コーパスのサイズが10万文を超える段階において，実行速度の点で問題が発生した．特に入力キーワードの出現回数が1万を超えるような場合は，結果が表示されるまでに数十秒かかることもあった．この問題には2010年から取り組み，以下の二つの方法で対処した．この手法はJLT版には適用していないが，\ref{sec:introduction}章で述べたNUTRIAD版において適用している．\subsubsection{対訳表現抽出の高速化}実行速度が遅い原因の一つは，コーパスが大きくなると対訳表現抽出に時間が掛かるためである．式(\ref{eq2})においては，$\hat{y}$を求めるために，あらゆる対訳表現候補$y$について$\freq(y)$と$\freq(x,y)$の計算が必要となる．$y$は，上限（デフォルトは日本語で6文字，英語で4単語）までのあらゆるNグラムを候補とするため，入力キーワード$x$が出現する文数が大きくなると，$\freq(y)$と$\freq(x,y)$の計算回数がそれだけ多くなる．このうち$\freq(y)$の計算は，コーパスの並び替えとインデックス化を事前に行うSuffixArrayを用いることにより，高速に実行できるため問題ない．しかし，$\freq(x,y)$に関しては，$y$の出現回数を数える探索範囲が$x$に依存して変化する．そのため，探索範囲を事前にインデックス化することが不可能であり，SuffixArrayを用いた高速化ができない．そこでプロトタイプ版およびJLT版では，探索範囲内を順次Nグラムに分割し，その出現回数を数え上げていた．この$\freq(x,y)$の計算を高速化するため，コーパスの各文をあらかじめ一定サイズ以下のNグラムに分割したデータを別に保持し，それを数え上げることとした．すなわち，デフォルトでは日本語は8文字以下，英語は10単語以下のNグラム単位であらかじめ分割したデータを保持しておく．また実装においては，テキストデータ自体へのアクセスを高速化するためにTokyoCabinet\footnote{http://fallabs.com/tokyocabinet/}を導入した．\subsubsection{表示の高速化}実際の利用の上では，表示速度においてもボトルネックがあった．入力キーワード$x$が出現する文が多くなると，ブラウザ側に負担が掛かり，表示が遅くなっていた．そのため，JLT版においては，デフォルトで100文を超える分は表示しないこととし，オプションとして表示できる文数の上限の設定を200，400，800と変更できるようにした．このため，入力キーワードを含むすべての対訳文を表示することができない場合があるが，通常の利用では，800文を表示できれば充分に比較ができると考えた．また，入力キーワードに文字列を付加したり，対訳表現を指定することにより，希望する対訳文を表示することができる．しかし，JLT版においては，別の問題があった．JLT版においては，表示結果のソートをブラウザ側で実現していた．しかし，これもブラウザに負担を掛け，表示が遅くなる結果となっていた．よってソート自体をサーバで実行し，その結果をブラウザ側に再送して再表示することにより，高速化を実現した．\subsubsection{高速化の効果}上述した二つの高速化手法の効果を測定するために，高速化を適用していないJLT版と，適用したNUTRIAD版とにおける表示速度を比較した．具体的には，出現回数が異なるキーワード50語を選び，そのキーワードを入力してから結果が表示されるまでの時間を測定した．時間の計測には，ウェブ・ブラウザを利用してウェブ・アプリケーションをテストするツールであるSeleniumWebDriver{\footnote{http://www.seleniumhq.org/projects/webdriver/}}をRubyから使用した．表示する文数の上限はデフォルト値である100とした．また，組み込まれている対訳辞書を併用した場合，対訳表現の自動推定の一部が省略されて訳語推定の時間が異なってくるため，併用しない設定で測定した．その結果を図~{\ref{fig:time}}に示す．\begin{figure}[t]\begin{center}\includegraphics{24-1ia3f6.eps}\end{center}\caption{出力時間の比較}\label{fig:time}\end{figure}この結果から分かるように，結果が表示されるまでの時間は出現回数が増えるに従って増加する傾向にあるが，単純に比例する訳ではない．これは再帰的な対訳表現の抽出が主な原因と考えられる．\ref{sec:recursive}節で述べたように，BilingualKWICでは，最初の対訳表現を求めた後，それが含まれない残りの文から再帰的に対訳表現を求める．そのため，多くの対訳表現をもつキーワードほど，すべての対訳表現を抽出するまでの時間が長くなる．JLT版とNUTRIAD版では，サーバの性能や登録されているコーパスの量・内容，入力されるキーワードが異なるため，単純な数値の比較はできないが，高速化を施したNUTRIAD版の方がキーワードの出現回数が増えた場合でも，実行時間の増加が緩やかであり，高速化手法が有効であったことが分かる．
\section{ユーザによる評価}
\label{sec:evaluation}本章では，実際に利用したユーザに対するアンケートに基づくBilingualKWICの評価について述べる．\subsection{アンケートの対象と内容}法学部の講義の一環として法令翻訳の課題が実施されており，受講生はBilingualKWICを利用して法律文を翻訳している．今回は，この講義の受講生にBilingualKWICの評価を依頼した．受講生は，まず初回の講義において，使用する道具に関する説明なしで与えられた法律文を翻訳した．それから，次の回の講義においてJLT版のBilingualKWICである「文脈検索」の説明を受けた後，改めて別の法律文を翻訳した．なお，説明の内容は，キーワードを入力して結果が表示される例を示すという単純なものであり，一般のユーザがウェブサイトに辿り着いてキーワード入力を実行し，その動作を理解する場合と同程度と想定した．BilingualKWICを使用しない場合と使用した場合の両方の翻訳を試みることにより，BilingualKWICが翻訳に有用であったかを評価してもらった．評価項目は，表示の見やすさ（視認性）・訳語の推定精度（推定精度）・表示速度・役に立ったか（有用性）に関する満足度であり，それぞれ5段階で評価してもらった．\subsection{評価結果}受講生49人に対するアンケートの集計結果を図~\ref{fig:enquete}に示す．視認性と訳語の推定精度に関しては，約5割が満足している一方で，表示速度に関しては4割以上が不満を感じている．JLT版のBilingualKWICには，\ref{sec:high-speed}節で述べた高速化が適用されていないため，その点も低い評価に繋っていると考えられる．しかし，有用性に関しては8割以上が肯定的な評価であり，BilingualKWICが翻訳支援として役に立つことが示された．\begin{figure}[t]\begin{center}\includegraphics{24-1ia3f7.eps}\end{center}\caption{ユーザによる評価結果}\label{fig:enquete}\end{figure}
\section{関連研究}
\label{sec:compare}コーパスに対して検索や分析を行うツールはコンコーダンサと呼ばれるが，これを2言語コーパスに拡張したものはバイリンガル・コンコーダンサもしくはパラレル・コンコーダンサと呼ばれる．BilingualKWICはバイリンガル・コンコーダンサの一種であると言える．本章では，いくつかのバイリンガル・コンコーダンサについて紹介し，BilingualKWICとの違いについて述べる．文献\cite{Uchiyama03b}における翻訳メモリの利用方法はバイリンガル・コンコーダンサといえる．ここでは，与えられたキーワードの日本語コーパスにおける出現をKWIC形式で表示し，コーパス中においてキーワードと良く共起した日本語単語と英語単語を提示する．ユーザが対訳候補となる英語単語を選ぶと，それに基づいた絞り込み検索を行い，対訳文のペアを別ウィンドウに表示する．ただし，別ウィンドウに表示される対訳文のペアでは，キーワードと対訳候補の部分がそれぞれ下線で明示されるが，中心に揃えて表示される訳ではない．BilingualKWICでは，最初に対訳候補を自動的に決定する点，任意の対訳表現を指定できる点，原言語だけでなく対象言語も同時にKWIC形式で表示する点が異なる．TransSearch\footnote{http://www.tsrali.com/}\cite{Macklovitch}はオンラインのバイリンガル・コンコーダンサであり，原言語文と対象言語文を左右に並べて表示する．当初は原言語文中の入力キーワードがハイライトされるだけであり，対訳語はユーザが推測する必要があった．文献\cite{Bourdaillet10TS3MT}による改良により，対訳語の自動推定機能が追加され，対訳語はハイライトされるようになったが，KWIC形式の表示は導入されていない．一方で，単数形と複数形などのように類似した訳語をまとめるなど，BilingualKWICにはない機能を備えている．LinearB\cite{Callison}はパラレル・コーパスを翻訳メモリとして捉え，検索できる翻訳メモリというコンセプトに基づくバイリンガル・コンコーダンサである．原言語文と対象言語文が上下交互に表示される形式であり，KWIC形式は導入されていない．対訳語は自動推定されるが，同じ対訳語を含む文が多数ある場合，その一部だけを表示し，複数の対訳語が同じ画面に表示されるようになっている点がBilingualKWICとは異なる．なお，TransSearchおよびLinearBの自動推定はGIZA++やMosesなどで利用される単語やフレーズの対応付け技術を応用したものであり，キーワードが入力される前にあらかじめ推定している点がBilingualKWICと異なる．よって，両者では対訳自動推定の精度をいかに向上させるかが重視されており，特に文献\cite{Bourdaillet10TS3MT}では様々な自動推定の方法が比較・検討されている．一方，BilingualKWICでは表示方法を工夫することにより，ユーザが自動推定の誤りを訂正しやすくするというアプローチで，自動推定の誤りに対処している．原言語文と対象言語文の両者をKWIC形式で表示するバイリンガル・コンコーダンサとしてはParaConc\footnote{http://paraconc.com/}\cite{Barlow}が挙げられる．ただし，そのKWIC表示は半自動というべきものである．ユーザがキーワードを入力すると，原言語文は上ウィンドウにおいてKWIC形式で表示されるが，対象言語は下ウィンドウに通常の形式で表示される．その際，対訳語の候補が示されており，それをクリックすることによりKWIC形式での表示に変化する．ただし，原言語文と対象言語文が上下のウィンドウで完全に分割されており，例えば上ウィンドウの3文目に対応する文は下ウィンドウの3文目に表示されるといった具合であり，左右に並べて表示するBilingualKWICと比べた場合，原言語文と対象言語文の対応は分かりにくい．なお，対訳語候補の選出方法は出現頻度に基づくものであり，Dice係数と類似したものと考えられるが，具体的な計算式が掲載されていないため，詳細は不明である．
\section{まとめ}
\label{sec:conclusion}本論文では，対訳表現抽出を可視化することで翻訳を支援するBilingualKWICの開発について述べた．BilingualKWICは，任意の入力キーワードに対して対訳表現を自動抽出し，パラレル・コーパス中での用例と一緒に提示することにより，ユーザの翻訳作業を支援する．本システムは，既に述べた通り，法務省・日本法令外国語訳データベースシステム(JLT)および名古屋大学・学内情報翻訳データベースNUTRIADにおいて採用されている．現在，JLTでは36万文150~MB以上からなる対訳コーパスを用いてBilingualKWICを運用している．出現回数の少ない入力キーワードに対しては問題なく動作しているが，\ref{sec:high-speed}節で述べた高速化が適用されていないため，出現回数が多いキーワード，特に出現回数が1万回を超えるような場合には結果が表示されるまでに数十秒かかることがある．また，高速化が適用されたNUTRIAD上の実装においても，出現回数が極端に多いキーワードに対しては応答に時間がかかっており，BilingualKWICの一層の高速化が求められている．それに対しては，出現回数や入力頻度の多いキーワードに対する計算結果をキャッシュしておくなどの対応を検討している．さらには，Mosesなどを利用してフレーズ・テーブルをあらかじめ計算しておき，入力キーワードがフレーズ・テーブルにある場合はその結果を，そうでない場合はDice係数によりその場で計算するなどのハイブリッドな手法を導入することにより，高速化と高精度化を同時に実現する方法も検討している．\acknowledgmentBilingualKWICの開発にあたっては，ウェブ版インターフェイスの開発，高速化などにおいて株式会社リーガルアストレイに協力していただいた．ユーザによる評価実験においては，名古屋大学大学院法学研究科附属法情報研究センターの中村誠特任准教授と佐野智也特任講師に協力していただいた．\bibliographystyle{jnlpbbl_1.5}\begin{thebibliography}{}\bibitem[\protect\BCAY{Barlow}{Barlow}{2004}]{Barlow}Barlow,M.\BBOP2004\BBCP.\newblock\BBOQParallelConcordancingandTranslation.\BBCQ\\newblockIn{\BemProceedingsofASLIBTranslatingandtheComputer},\lowercase{\BVOL}~26.\bibitem[\protect\BCAY{Bourdaillet,Huet,Langlais,\BBA\Lapalme}{Bourdailletet~al.}{2010}]{Bourdaillet10TS3MT}Bourdaillet,J.,Huet,S.,Langlais,P.,\BBA\Lapalme,G.\BBOP2010\BBCP.\newblock\BBOQTransSearch:fromaBilingualConcordancertoaTranslationFinder.\BBCQ\\newblock{\BemMachineTranslation},{\Bbf24}(3--4),\mbox{\BPGS\241--271}.\bibitem[\protect\BCAY{Brown,Pietra,Pietra,\BBA\Mercer}{Brownet~al.}{1993}]{IBMModel}Brown,P.~F.,Pietra,V.J.~D.,Pietra,S.A.~D.,\BBA\Mercer,R.~L.\BBOP1993\BBCP.\newblock\BBOQTheMathematicsofStatisticalMachineTranslation:ParameterEstimation.\BBCQ\\newblock{\BemComputationalLinguistics},{\Bbf19}(2),\mbox{\BPGS\263--311}.\bibitem[\protect\BCAY{Callison-burch\BBA\Bannard}{Callison-burch\BBA\Bannard}{2005}]{Callison}Callison-burch,C.\BBACOMMA\\BBA\Bannard,C.\BBOP2005\BBCP.\newblock\BBOQACompactDataStructureforSearchableTranslationMemories.\BBCQ\\newblockIn{\Bem10thEAMTConference:PracticalApplicationsofMachineTranslation},\mbox{\BPGS\59--65}.\bibitem[\protect\BCAY{福田\JBA外山\JBA野田}{福田\Jetal}{2013}]{Fukuda}福田薫\JBA外山勝彦\JBA野田昭彦\BBOP2013\BBCP.\newblock学内情報翻訳データベースの構築と運用.\\newblock\Jem{大学ICT推進協議会2013年次大会論文集},\mbox{\BPGS\146--152}.\bibitem[\protect\BCAY{出羽}{出羽}{2004}]{Izuha04}出羽達也\BBOP2004\BBCP.\newblock対訳文書から自動抽出した用語対訳による機械翻訳の訳語精度向上.\\newblock\Jem{電子情報通信学会論文誌.D-II,情報・システム,II-パターン処理},{\Bbf87}(6),\mbox{\BPGS\1244--1251}.\bibitem[\protect\BCAY{北村\JBA松本}{北村\JBA松本}{1997}]{Kitamura97}北村美穂子\JBA松本裕治\BBOP1997\BBCP.\newblock対訳コーパスを利用した対訳表現の自動抽出.\\newblock\Jem{情報処理学会論文誌},{\Bbf38}(4),\mbox{\BPGS\727--736}.\bibitem[\protect\BCAY{Koehn,Hoang,Birch,Callison-Burch,Federico,Bertoldi,Cowan,Shen,Moran,Zens,Dyer,Bojar,Constantin,\BBA\Herbst}{Koehnet~al.}{2007}]{Moses}Koehn,P.,Hoang,H.,Birch,A.,Callison-Burch,C.,Federico,M.,Bertoldi,N.,Cowan,B.,Shen,W.,Moran,C.,Zens,R.,Dyer,C.,Bojar,O.,Constantin,A.,\BBA\Herbst,E.\BBOP2007\BBCP.\newblock\BBOQMoses:OpenSourceToolkitforStatisticalMachineTranslation.\BBCQ\\newblockIn{\BemProceedingsofthe45thAnnualMeetingoftheACLonInteractivePosterandDemonstrationSessions},ACL'07,\mbox{\BPGS\177--180},Stroudsburg,PA,USA.AssociationforComputationalLinguistics.\bibitem[\protect\BCAY{熊野\JBA平川}{熊野\JBA平川}{1994}]{Kumano94}熊野明\JBA平川秀樹\BBOP1994\BBCP.\newblock対訳文書からの機械翻訳専門用語辞書作成.\\newblock\Jem{情報処理学会論文誌},{\Bbf35}(11),\mbox{\BPGS\2283--2290}.\bibitem[\protect\BCAY{Luhn}{Luhn}{1960}]{luhn1960}Luhn,H.~P.\BBOP1960\BBCP.\newblock\BBOQKeyWord-In-ContextIndexforTechnicalLiterature(KWICIndex).\BBCQ\\newblock{\BemAmericanDocumentation},{\Bbf11}(4),\mbox{\BPGS\288--295}.\bibitem[\protect\BCAY{Macklovitch,Simard,\BBA\Langlais}{Macklovitchet~al.}{2000}]{Macklovitch}Macklovitch,E.,Simard,M.,\BBA\Langlais,P.\BBOP2000\BBCP.\newblock\BBOQTransSearch:AFreeTranslationMemoryontheWorldWideWeb.\BBCQ\\newblockIn{\Bem2ndInternationalConferenceonLanguageResourcesandEvaluation(LREC)},\mbox{\BPGS\1201--1208}.\bibitem[\protect\BCAY{Matsumoto\BBA\Utsuro}{Matsumoto\BBA\Utsuro}{2000}]{Matsumoto00}Matsumoto,Y.\BBACOMMA\\BBA\Utsuro,T.\BBOP2000\BBCP.\newblock\BBOQLexicalKnowledgeAcquisition.\BBCQ\\newblockInRobert,D.,Hermann,M.,\BBA\Harold,S.\BEDS,{\BemHandbookofNaturalLanguageProcessing},\mbox{\BPGS\563--610}.MarcelDekker.\bibitem[\protect\BCAY{Och\BBA\Ney}{Och\BBA\Ney}{2003}]{GIZA++}Och,F.~J.\BBACOMMA\\BBA\Ney,H.\BBOP2003\BBCP.\newblock\BBOQASystematicComparisonofVariousStatisticalAlignmentModels.\BBCQ\\newblock{\BemComputationalLinguistics},{\Bbf29}(1),\mbox{\BPGS\19--51}.\bibitem[\protect\BCAY{外山\JBA小川}{外山\JBA小川}{2008}]{Toyama08}外山勝彦\JBA小川泰弘\BBOP2008\BBCP.\newblock自然言語処理の応用に基づく法令外国語訳支援.\\newblock\Jem{人工知能学会誌},{\Bbf23}(4),\mbox{\BPGS\521--528}.\bibitem[\protect\BCAY{外山\JBA齋藤\JBA関根\JBA小川\JBA角田\JBA木村\JBA松浦}{外山\Jetal}{2012}]{Toyama12}外山勝彦\JBA齋藤大地\JBA関根康弘\JBA小川泰弘\JBA角田篤泰\JBA木村垂穂\JBA松浦好治\BBOP2012\BBCP.\newblock日本法令外国語訳データベースシステムの設計と開発.\\newblock\Jem{情報ネットワーク・ローレビュー},{\Bbf11},\mbox{\BPGS\33--53}.\bibitem[\protect\BCAY{内山\JBA井佐原}{内山\JBA井佐原}{2003}]{Uchiyama03b}内山将夫\JBA井佐原均\BBOP2003\BBCP.\newblock日英新聞記事対応付けデータを用いた翻訳メモリと言語横断検索.\\newblock\Jem{情報処理学会全国大会講演論文集},65-5\JVOL,\mbox{\BPGS\355--358}.\bibitem[\protect\BCAY{山下}{山下}{2000}]{SuffixArray}山下達雄\BBOP2000\BBCP.\newblock用語解説「SuffixArray」.\\newblock\Jem{人工知能学会誌},{\Bbf15}(6),\mbox{\BPG\1142}.\end{thebibliography}\begin{biography}\bioauthor{小川泰弘}{1995年名古屋大学工学部情報工学科卒業．2000年同大学院工学研究科情報工学専攻博士課程後期課程修了．同工学研究科助手，同情報科学研究科助教を経て，2012年名古屋大学情報基盤センター准教授（同大学院情報科学研究科兼担）．現在に至る．博士（工学）．自然言語処理および法律情報処理に関する研究に従事．言語処理学会，情報処理学会，電子情報通信学会各会員．}\bioauthor{外山勝彦}{1984年名古屋大学工学部電気学科卒業．1989年同大学院工学研究科情報工学専攻博士課程満了．同工学部助手，中京大学情報科学部講師，同助教授，名古屋大学大学院工学研究科助教授，同情報科学研究科助教授を経て，2013年名古屋大学情報基盤センター教授（同大学院情報科学研究科兼担）．現在に至る．工学博士．論理に基づく知識処理，自然言語処理に関する研究に従事．近年は法制執務支援や法令翻訳支援に関心を持つ．言語処理学会，電子情報通信学会，情報処理学会，人工知能学会，日本認知科学会，ACL各会員．}\end{biography}\biodate\end{document}