\section{はじめに}
自然言語処理において高い性能を得ようとするとき，コーパスを使った教師あり学習(supervisedlearning)は，今や標準的な手法である．しかしながら，教師あり学習の弱点は一定量以上のタグ付きコーパスが必要なことである．仮によい教師あり学習の手法があったとしても，タグ付きコーパス無しでは高い性能は得られない．ここでの問題は，コーパスのタグ付けは労力がかかるものであり，非常に高くつくことである．この点を克服するためいくつかの手法が提案されている．最小限教師あり学習\footnote{``minimally-supervisedlearning''をさす．全ての事例に対してラベルを与えるのではなく，極めて少量の事例に対してのみラベルを与える手法．例えば\cite{Yarowsky1995,Yarowsky2000}などがある．}や能動学習(activelearning)(例えば\cite{Thompson1999,Sassano2002})である．これらに共通する考え方は，貴重なラベル付き事例を最大限に活かそうということである．同じ考え方に沿う別の手法として，ラベル付き事例から生成された{\em仮想事例}(virtualexamples)を使う手法がある．この手法は，自然言語処理においてはあまり議論されていない．能動学習の観点から，LewisとGale\shortcite{Lewis1994}が文書分類での仮想事例について少し触れたことがある．しかしながら，彼らはそれ以上仮想事例の利用については踏み込まなかった．このとき考えられた利用方法は，分類器(classifier)が自然言語で書かれた仮想的な文書例を作り，人間にラベル付けさせるものだったが，それは現実的ではないと考えられたからである．パターン認識の分野では，仮想事例はいくつかの種類について研究されている．SVMsとともに仮想事例を使う手法を最初に報告したのは，Sch\"{o}lkopfら\shortcite{Schoelkopf1996}である．彼らは，手書き文字認識タスクにおいて精度が向上したことを示した(第~\ref{sec:vsv}節でも述べる)．このタスクでの次のような事前知識(priorknowledge)に基づいて，ラベル付き事例から仮想事例を作り出した．その事前知識とは，ある画像を少しだけ修正した画像(例えば，1ピクセル右にシフトさせた画像)であっても元の画像と同じラベルを持つということである．また，Niyogiらも事前知識を使って仮想事例を作り，それにより訓練事例の数を拡大する手法について議論している\cite{Niyogi1998}．我々の研究の大きな目的は，コーパスに基づく自然言語処理において，Sch\"{o}lkopfら\shortcite{Schoelkopf1996}がパターン認識で良好な結果を報告している仮想事例の手法の効果を調べることである．コーパスに基づく自然言語処理での仮想事例の利用については，バイオ文献中の固有表現認識を対象にした研究\cite{Yi2004}があるが，対象タスクも限られており，研究が十分に進んでいるとは言えない状況である．しかしながら，仮想事例を用いるアプローチを探求することは非常に重要である．なぜなら，ラベル付けのコストを削減することが期待できるからである．特に，我々はSVMs\cite{Vapnik1995}における仮想事例の利用に焦点をあてる．SVMは自然言語処理で最も成功している機械学習の手法の一つだからである．文書分類\cite{Joachims1998,Dumais1998}，チャンキング\cite{Kudo2001}，係り受け解析\cite{Kudo2002}などに適用されている．本研究では，文書分類タスクを自然言語処理における仮想事例の研究の最初の題材として選んだ．理由は大きく二つある．一つには，機械学習を用いた文書分類を実際に適用しようとすると，ラベル付けのコストの削減は重要な課題になるからである．もう一つには，ラベル付き事例から仮想事例を作り出す方法として，単純だが効果的なものが考えられるからである(第~\ref{sec:vx}節で詳細に述べる)．本論文では，仮想事例がSVMを使う文書分類の精度をどのように向上させるか，特に少量の学習事例を使った場合にどうなるかを示す．
\section{サポートベクタマシン}
本節では，サポートベクタマシン(SVMs)の理論的な枠組みを簡単に与える．訓練事例が以下のように与えられるとする:\begin{displaymath}(\bmath{x}_{1},y_{1}),\ldots,(\bmath{x}_{i},y_{i}),\ldots,(\mbox{\boldmath$x$}_{l},y_{l}),\mbox{\boldmath$x$}_{i}\in\mbox{\boldmath$R$}^{n},y_{i}\in\{+1,-1\}.\end{displaymath}SVMの枠組みにおける決定関数(decisionfunction)$g$は次のように定義される:\begin{eqnarray}g(\mbox{\boldmath$x$})&=&{\rmsgn}(f(\mbox{\boldmath$x$}))\\f(\mbox{\boldmath$x$})&=&\sum_{i=1}^{l}y_{i}\alpha_{i}K(\mbox{\boldmath$x$}_{i},\mbox{\boldmath$x$})+b\label{eq:fx}\end{eqnarray}ここで$K$はカーネル関数，$b\in\bmath{R}$は閾値，$\alpha_{i}$は重みである．さらに，重み$\alpha_{i}$は次の制約も満たす:\begin{displaymath}\foralli:0\leq\alpha_{i}\leqC\{\rmand}\\sum_{i=1}^{l}\alpha_{i}y_{i}=0,\end{displaymath}ここで$C$は誤分類のコストである．ゼロでない$\alpha_{i}$を持つ事例$\bmath{x}_{i}$はサポートベクタと呼ばれる．線形(linear)SVMでは，カーネル関数$K$は次のように定義される:\begin{displaymath}K(\mbox{\boldmath$x$}_{i},\mbox{\boldmath$x$})=\mbox{\boldmath$x$}_{i}\cdot\mbox{\boldmath$x$}.\end{displaymath}このとき，式~(\ref{eq:fx})は次のように書き直すことができる:\begin{eqnarray}f(\bmath{x})&=&\bmath{w}\cdot\bmath{x}+b\end{eqnarray}ここで$\bmath{w}=\sum_{i=1}^{l}y_{i}\alpha_{i}\bmath{x}_{i}$である．SVMの学習とは，次の最適化問題を解いて$\alpha_{i}$と$b$を求めることである．\begin{eqnarray*}\mbox{\rmmaximize}&\displaystyle{\sum_{i=1}^{l}\alpha_{i}-\frac{1}{2}\sum_{i,j=1}^{l}\alpha_{i}\alpha_{j}y_{i}y_{j}K(\mbox{\boldmath$x$}_{i},\mbox{\boldmath$x$}_{j})}\\\mbox{\rmsubjectto}&\displaystyle{\foralli:0\leq\alpha_{i}\leqC\{\rmand}\\sum_{i=1}^{l}\alpha_{i}y_{i}=0}\label{alphacond}.\end{eqnarray*}この解は，最適超平面(optimalhyperplane)を与える．この超平面は二つのクラスの決定境界(decisionboundary)である．図~\ref{fig:sv}に最適超平面とサポートベクタの例を示す．\begin{figure}\begin{center}\epsfile{file=sv-hp-2.eps,width=24em}\end{center}\caption{超平面(太線)とサポートベクタ}\label{fig:sv}\end{figure}
\section{仮想事例と仮想サポートベクタ}
label{sec:vsv}仮想事例は，ラベル付き事例から生成されるとする\footnote{ここではラベル付き事例からの生成のみ考える．ラベルが分からない事例からの生成は考えないとする．}．ターゲットとなるタスクの事前知識に基づいて，元になった事例のラベルと同じものを，仮想事例として生成された事例のラベルに設定する．例えば，手書き数字の認識では，上下左右の方向に1ピクセル移動させても事例に対するラベルは変化しないとの仮定を置いて，仮想事例を作ることができる\cite{Schoelkopf1996,DeCoste2002}．特にサポートベクタから作られた仮想事例は，{\em仮想サポートベクタ}({\emvirtualsupportvectors})と呼ばれる．妥当な仮定に基づいて生成された仮想サポートベクタは，よりよい最適超平面を与えると期待される．仮想事例がターゲットとなるタスクにおける事例の自然なバリエーションを表現していると仮定すると，決定境界はより正確になるはずである．図~\ref{fig:vsv}は仮想サポートベクタの例を示している．仮想サポートベクタが与えられた図~\ref{fig:vsv}の例では，最適超平面が図~\ref{fig:sv}と異なっていることに注意されたい．\begin{figure}\begin{center}\epsfile{file=vsv-hp-4.eps,width=24em}\end{center}\caption{超平面と仮想サポートベクタ．図~\ref{fig:sv}に，サポートベクタの仮想事例，\\つまり仮想サポートベクタが追加されている．}\label{fig:vsv}\end{figure}
\section{文書分類のための仮想事例}
label{sec:vx}本節では，文書分類のための仮想事例の作り方の提案手法を述べる．まず，文書分類の事前知識から仮定を設定し，次にその仮定に基づく提案手法を述べる．ここでは，文書分類について次の仮定を置く:\begin{assumption}\label{assum1}ある文書に付けられているカテゴリは，たとえ少量の単語を追加あるいは削除しても変化しない．\end{assumption}この仮定は十分妥当であろう．文書分類の典型的な適用場面では，大抵の文書は，カテゴリを暗示する数個以上のキーワードと，一定量のカテゴリによらない単語を含んでいる．少量の単語の追加削除の影響は多くの場合に限定的だと考えられる．仮定~\ref{assum1}に従って，文書分類のための仮想事例を生成する方法を二つ提案する．第一の方法は，少量の単語を文書から削除する方法である．仮想事例のラベルは，その仮想事例の元となった事例のラベルと同じであるとする．もう一つの方法は，少量の単語を文書に追加する方法である．仮想事例に追加される単語は，元となる文書と同じラベルを持つ文書群から選ぶ．仮定~\ref{assum1}に基づく仮想事例の作り方にはいろいろなものが考えられるが，本研究では非常に簡単なものをまず提案し，その効果を検証したい．提案手法を述べる前に，本研究で用いた文書の表現方法(textrepresentation)について述べる．一つの文書は一つの単語ベクタ(wordvector)で表現する．文書を単語に分割し，それらを小文字に統一，ストップワードを削除した．ストップワードのリストはfreeWAIS-sf\footnote{http:\slash\slashls6-www.informatik.uni-dortmund.de\slashir\slashprojects\slashfreeWAIS-sf\slash}のものを用いた．ステミングは行なっていない．各単語をバイナリ素性として表現している．単語の頻度は利用していない．このとき，文書集合全体には$m$個の異なり単語$w_{1},w_{2},\ldots,w_{m}$があるとすると，一つの文書は単語のベクタとして表現できる．以下では，文書に存在する単語をコンマで区切って並べ，$[\]$で囲って単語ベクタを記述することにする．例えば，ある文書$\bmath{x}$が四つの単語$w_{1},w_{3},w_{4},w_{6}$から構成されるとき，$\bmath{x}=[w_{1},w_{3},w_{4},w_{6}]$と書く．それでは，二つの提案手法\GenerateByDeletion\と\GenerateByAddition\を述べる．ある文書を表す単語ベクタ$\bmath{x}$と，$\bmath{x}$から生成された単語ベクタ$\bmath{x'}$があるとする．アルゴリズム\GenerateByDeletion\は次の通り:\begin{enumerate}\item$\bmath{x}$を$\bmath{x'}$にコピーする．\item$\bmath{x'}$のそれぞれの単語$w$について，もし${\rmrand}()\let$なら単語$w$を$\bmath{x'}$から削除する．ここで${\rmrand}()$は$0$から$1$の乱数を生成する関数，$t$はどの程度の素性を削除するかを決めるパラメータである．\end{enumerate}例を示す．表~\ref{tbl:sample}にあるような文書集合があるとする．\begin{table}\caption{文書集合の例}\label{tbl:sample}\begin{center}\begin{tabular}{c|lc}\hline\hlineDocumentID&単語ベクタ(\bmathsmall{x})&ラベル($y$)\\\hline1&$[w_{1},w_{2},w_{3},w_{4},w_{5}]$&$+1$\\2&$[w_{2},w_{4},w_{5},w_{6}]$&$+1$\\3&$[w_{2},w_{3},w_{5},w_{6},w_{7}]$&$+1$\\4&$[w_{1},w_{3},w_{8},w_{9},w_{10}]$&$-1$\\5&$[w_{1},w_{8},w_{10},w_{11}]$&$-1$\\\hline\end{tabular}\end{center}\end{table}Document~1からアルゴリズム\GenerateByDeletion\で生成される仮想事例としては$([w_{2},w_{3},w_{4},w_{5}],+1)$や$([w_{1},w_{3},w_{4}],+1)$，$([w_{1},w_{2},w_{4},w_{5}],+1)$などが考えられる．アルゴリズム\GenerateByAddition\は次の通り:\begin{enumerate}\item訓練事例の中から$\bmath{x}$と同じラベルを持つ文書を集める．\itemそれら文書を表す単語ベクタを全てつなげて，単語の配列$a$を作る．\item$\bmath{x}$を$\bmath{x'}$にコピーする．\item$\bmath{x}$のそれぞれの単語$w$について，もし${\rmrand}()\let$なら配列$a$からランダムに一つの単語を選び，それを$\bmath{x'}$に加える．\end{enumerate}例を示す．表~\ref{tbl:sample}のDocument~2からアルゴリズム\GenerateByAddition\を用いて仮想事例を作ろうとするとき，まず配列$a=(w_{1},w_{2},w_{3},w_{4},w_{5},w_{2},w_{4},w_{5},w_{6},w_{2},w_{3},w_{5},w_{6},w_{7})$を作る．このとき，アルゴリズム\GenerateByAddition\で作られる仮想事例として，$([w_{1},w_{2},w_{4},w_{5},w_{6}],+1)$や$([w_{2},w_{3},w_{4},w_{5},w_{6}],+1)$，$([w_{2},w_{4},w_{5},w_{6},w_{7}],+1)$などが考えられる．逆に，$([w_{2},w_{4},w_{5},w_{6},w_{10}],+1)$のような事例はDocument~2からは決して作られない．$+1$のラベルを持つ文書には，$w_{10}$は含まれていないからである．
\section{評価実験と議論}
label{sec:exp}\subsection{対象データ}我々はReuters-21578データセット\footnote{DavidD.Lewisのwebサイトから利用できる．URL:http:\slash\slashwww.daviddlewis.com\slashresources\slashtestcollections\slashreuters21578\slash}を提案手法の有効性の検証に使った．このデータセットには，訓練事例とテスト事例の分け方(split)にいくつかのバリエーションがある．今回我々は``ModApte''と呼ばれる分け方を用いた．文書分類の文献で最も広く使われているものである．``ModApte''では，訓練事例9,603，テスト事例3,299と分けられている．Reuters-21578には100以上のカテゴリが含まれているが，他の多くの文献と同様，我々も最も頻度が高い10カテゴリのみ利用した．表~\ref{tbl:numcat}に，その10カテゴリと，カテゴリごとの訓練事例数とテスト事例数を示す．\begin{table}\caption{カテゴリごとの訓練事例数とテスト事例数}\begin{center}\begin{tabular}{l|r|r}\hline\hlineカテゴリ名&訓練事例&テスト事例\\\hlineearn&2877&1087\\acq&1650&719\\money-fx&538&179\\grain&433&149\\crude&389&189\\trade&369&117\\interest&347&131\\ship&197&89\\wheat&212&71\\corn&181&56\\\hline\end{tabular}\end{center}\label{tbl:numcat}\end{table}\subsection{性能評価尺度}本研究では，F値(F-measure)\cite{vanRijsbergen1979,Lewis1994}を実験結果を評価する第一の尺度として用いる．F値は次のように定義される:\begin{eqnarray}{\rmF値}&=&\frac{(1+\beta^{2})pq}{\beta^{2}p+q}\label{eq:f-measure}\end{eqnarray}ここで$p$は適合率(precision)，$q$は再現率(recall)，$\beta$は適合率と再現率の相対的な重みを決めるをパラメータである．$p$と$q$は次のように定義される:\begin{eqnarray*}p&=&\frac{分類器の出力が+1でかつ正しい事例の数}{分類器の出力が+1であった事例の数}\\q&=&\frac{分類器の出力が+1でかつ正しい事例の数}{ラベルが+1である事例の数}\end{eqnarray*}式~(\ref{eq:f-measure})では通常$\beta=1$が用いられる．これは適合率と再現率に等しく重みを置くことを意味する．複数のカテゴリを持つデータセットに対して，分類器の性能を評価しようとするとき，F値を計算する方法としては二つある．マクロ平均(macro-averaging)とマイクロ平均(micro-averaging)である\cite{Yang1999b}．前者はまずそれぞれのカテゴリに対してF値を計算し，平均する方法である．後者は全てのカテゴリ全体に対して適合率と再現率をまず計算し，それを使ってF値を計算する方法である．\subsection{SVMの設定}実験には我々が作成したSVMのツールを用いた．線形SVMを用い，誤分類のコスト$C$は$0.016541$に設定した．この値は$1/{\rmavg}(\bmath{x}\cdot\bmath{x})$により決めた．ここで$\bmath{x}$は事例数9603の訓練事例に含まれる素性ベクタである．実験を単純にするため，$C$の値は全ての実験において固定した．表~\ref{tbl:numcat}で示した10のカテゴリそれぞれに対して2値分類を行なう分類器を構築した．\subsection{実験結果と考察}まず，\GenerateByDeletion\と\GenerateByAddition\をそれぞれ独立に用いて仮想事例を作って実験を行なった．なお，このときサポートベクタに対してのみ仮想事例を作った．全ての実験に対して，\GenerateByDeletion\と\GenerateByAddition\のいずれに対しても，パラメータ$t$は$0.05$\footnote{最初に，$t$として$0.01,0.05,0.10$の三つの値を試した．\GenerateByDeletion\を使って，事例数9,603の訓練事例から仮想事例を作った．テスト事例に対して，$t=0.05$の場合に最も高いマイクロ平均F値が得られた．同じ$t$の値を，\GenerateByAddition\の場合にも用いた．}とした．仮想事例を使ったSVMを学習して得るための手順は次の通り:\begin{enumerate}\item(仮想事例を使わずに)SVMを訓練する．\itemサポートベクタを抽出する．\itemそれらサポートベクタから仮想事例を生成する．\item元々の訓練事例と仮想事例とを合わせて使って新たなSVMを訓練する．\end{enumerate}\begin{table}\caption{異なる手法間のマイクロ平均F値の比較．``VSV''は仮想サポートベクタ，``GenByDel''は\\\GenerateByDeletion，``GenByAdd''は\GenerateByAddition\を意味する．}\label{tbl:pretest}\begin{center}\begin{tabular}{l|rrrrrrr}\hline\hline&\multicolumn{7}{c}{訓練事例中の事例数}\\\cline{2-8}手法&9603&4802&2401&1200&600&300&150\\\hlineA.オリジナルSVM&89.42&86.58&81.69&77.24&71.08&64.44&53.28\\B.SVM+1VSVperSV(GenByDel)&90.17&88.62&84.45&81.11&75.32&70.11&60.16\\C.SVM+1VSVperSV(GenByAdd)&90.00&88.51&84.48&81.14&75.33&69.59&60.04\\D.SVM+2VSVsperSV(Combined)&90.27&89.33&86.27&83.59&77.44&72.81&64.22\\E.SVM+4VSVsperSV(Combined)&90.45&89.69&87.12&84.97&79.16&73.25&65.05\\\hline\end{tabular}\end{center}\end{table}訓練事例のサイズを変えて，\GenerateByDeletion\と\GenerateByAddition\の二つの手法の性能を評価した．7つのサイズ(9603,4802,2401,1200,600,300,150)を用意した\footnote{事例数4802以下のセットを作る際，事例をランダムに選択したので，事例数が少ないセットにおいて頻度の小さいカテゴリでは，$+1$のラベルを持つ事例が非常に少ないかまったく無い場合がある．}\<．この二つの手法を用いた場合のマイクロ平均F値を表~\ref{tbl:pretest}に示す．表~\ref{tbl:pretest}の手法Bが\GenerateByDeletion{}，手法Cが\GenerateByAddition{}である．この表から両手法ともオリジナルのSVM(手法A)よりも性能が良いことが分かる．訓練事例の事例数が少ないほうが，性能の向上が大きい．事例数9603の訓練事例の場合，\GenerateByDeletion\によるF値向上は0.75($=90.17-89.42$)であるが，一方，事例数150の訓練事例では，F値向上は6.88($=60.16-53.28$)となっている．これらの結果から，事例数が少ない訓練事例には，よりよい決定境界を与えるのに十分なだけの事例のバリエーションが存在しておらず，それゆえ，事例数が少ない訓練事例では，仮想事例の効果が大きくなったと考えられる．上記結果より，\GenerateByDeletion\と\GenerateByAddition\の両手法が本タスクに対してはよい仮想事例を生成しており，それが精度向上につながったと結論付けてよいだろう．仮想事例を作り出す簡単な二つの方法\GenerateByDeletion\と\GenerateByAddition\が効果的なことが分かったが，次にこれらを組み合わせた方法についても調べた．1つのサポートベクタにつき，2つの仮想事例を作ることにする．つまり，\GenerateByDeletion\で1事例を作り，\GenerateByAddition\でもう1事例を作る．この組み合わせた手法を手法Dとし，そのマイクロ平均F値を表~\ref{tbl:pretest}に示す．この手法によるF値向上は，\GenerateByDeletion{}，\GenerateByAddition\それぞれを単独で用いた場合よりも大きい．さらに，1つの事例から\GenerateByDeletion\で2つ，\GenerateByAddition\で2つ事例を作り出す手法についても実験を行なった．つまり，1つのサポートベクタから4つの仮想事例を作る．この手法を手法Eとし，そのF値を表~\ref{tbl:pretest}に示す．1つのサポートベクタから4つの仮想事例を作り出す手法が最もよい結果を得た．\begin{figure}\begin{center}\epsfile{file=microf1-j02.eps,scale=0.95}\end{center}\caption{マイクロ平均F値と訓練事例中の事例数}\label{fig:micro-f1}\end{figure}\begin{figure}\begin{center}\epsfile{file=macrof1-j02.eps,scale=0.95}\end{center}\caption{マクロ平均F値と訓練事例中の事例数．事例数が少ないところでは，適合率が\\未定義となり，F値は計算することができなかった．}\label{fig:macro-f1}\end{figure}\begin{figure}\begin{center}\epsfile{file=error-j02.eps}\end{center}\caption{エラー率と訓練事例中の事例数}\label{fig:error}\end{figure}本節の以下の議論では，オリジナルのSVMと，1つのサポートベクタから生成された4つの仮想事例を使うSVM(以降\SVMFourVSVs\と記す)の実験結果の比較に焦点をあてる．オリジナルSVMと\SVMFourVSVs\の学習曲線を図~\ref{fig:micro-f1}，図~\ref{fig:macro-f1}に示す．マイクロ平均F値，マクロ平均F値の両方で，\SVMFourVSVs\がオリジナルSVMより明らかに性能が良い．\SVMFourVSVs\は，あるレベルのF値を得るのに，オリジナルSVMに比べて概ね半分以下の訓練事例数で済んでいる．例えば，オリジナルSVMでは，マイクロ平均F値64.44を得るのに300事例必要である(表~\ref{tbl:pretest}参照)．一方，\SVMFourVSVs\では150事例で65.05を得ている．F値の改善は，ただ再現率が大きく改善したせいで実現され，その裏でエラー率が上昇している可能性もある．これを確認するため，32990のテスト(3299のテストを10カテゴリそれぞれについて)に対してのエラー率の変化を図~\ref{fig:error}にプロットした．エラー率においても，\SVMFourVSVs\がオリジナルSVMよりも優れている\footnote{我々は有意水準0.05で``p-test''~\cite{Yang1999}と呼ばれる検定を行なった．事例数9603の訓練事例では，エラー率の改善は統計的に有意とは言えなかったが，それ以外の全ての場合においては統計的有意となった．}．\begin{table}\caption{10カテゴリそれぞれに対するオリジナルSVMによるF値．ハイフン`-'はF値が\\計算できなかったことを示す．分類器が常に$-1$を返し，適合率が未定義となったため．\\太字はオリジナルSVMが\SVMFourVSVs\(表~\ref{tbl:vsv-each}参照)より優れていることを示す．}\label{tbl:sv-each}\begin{center}\begin{tabular}{l|rrrrrrr}\hline\hline&\multicolumn{7}{c}{訓練事例中の事例数}\\\cline{2-8}カテゴリ名&9603&4802&2401&1200&600&300&150\\\hlineearn&98.06&97.49&97.40&96.39&95.94&94.85&93.73\\acq&91.94&89.87&84.43&84.01&78.17&63.10&12.03\\money-fx&64.90&61.69&56.03&51.69&17.91&01.11&05.38\\grain&86.96&81.68&75.20&59.63&41.27&06.49&\undefv\\crude&84.59&81.52&67.11&33.33&01.05&\undefv&\undefv\\trade&74.89&64.58&54.86&40.26&12.80&01.69&\undefv\\interest&{\bf63.89}&60.29&50.27&35.15&08.57&05.88&\undefv\\ship&66.19&44.07&32.73&02.22&\undefv&\undefv&\undefv\\wheat&{\bf89.61}&80.60&38.30&08.11&\undefv&\undefv&\undefv\\corn&84.62&62.79&10.17&\undefv&\undefv&\undefv&\undefv\\\hlineマクロ平均&80.56&72.46&56.65&\undefv&\undefv&\undefv&\undefv\\マイクロ平均&89.42&86.58&81.69&77.24&71.08&64.44&53.28\\\hline\end{tabular}\end{center}\end{table}\begin{table}\caption{10カテゴリそれぞれに対する\SVMFourVSVs\によるF値．太字は\SVMFourVSVs\が\\オリジナルSVMより優れていることを示す(表~\ref{tbl:sv-each}参照)．}\label{tbl:vsv-each}\begin{center}\begin{tabular}{l|rrrrrrr}\hline\hline&\multicolumn{7}{c}{訓練事例中の事例数}\\\cline{2-8}カテゴリ名&9603&4802&2401&1200&600&300&150\\\hlineearn&{\bf98.07}&{\bf98.02}&{\bf97.56}&{\bf97.37}&{\bf97.14}&{\bf96.00}&{\bf95.46}\\acq&{\bf94.20}&{\bf93.06}&{\bf91.71}&{\bf88.81}&{\bf88.92}&{\bf78.70}&{\bf59.92}\\money-fx&{\bf70.83}&{\bf73.10}&{\bf62.86}&{\bf65.68}&{\bf47.91}&{\bf32.43}&{\bf33.76}\\grain&{\bf89.20}&{\bf84.72}&{\bf85.11}&{\bf80.44}&{\bf60.79}&{\bf44.10}&{\bf01.00}\\crude&{\bf84.93}&{\bf86.33}&{\bf76.92}&{\bf74.36}&{\bf15.53}&{\bf02.00}&\undefv\\trade&{\bf75.83}&{\bf73.21}&{\bf62.31}&{\bf43.53}&{\bf37.58}&{\bf18.32}&{\bf01.65}\\interest&62.73&{\bf63.16}&{\bf65.77}&{\bf63.35}&{\bf59.11}&{\bf37.50}&{\bf11.92}\\ship&{\bf73.68}&{\bf67.14}&{\bf50.79}&{\bf30.48}&{\bf06.45}&{\bf02.22}&\undefv\\wheat&87.42&{\bf82.61}&{\bf87.94}&{\bf68.91}&{\bf10.67}&\undefv&\undefv\\corn&{\bf87.50}&{\bf84.11}&{\bf46.75}&{\bf68.09}&{\bf03.45}&\undefv&\undefv\\\hlineマクロ平均&{\bf82.44}&{\bf80.55}&{\bf72.77}&{\bf68.10}&{\bf42.76}&\undefv&\undefv\\マイクロ平均&{\bf90.45}&{\bf89.69}&{\bf87.12}&{\bf84.97}&{\bf79.16}&{\bf73.25}&{\bf65.05}\\\hline\end{tabular}\end{center}\end{table}10カテゴリそれぞれに対する性能の変化を表~\ref{tbl:sv-each}，表~\ref{tbl:vsv-each}に示す．\SVMFourVSVs\は殆どの場合でオリジナルSVMよりもよい．事例数9603での``interest''と``wheat''の場合のみ，\SVMFourVSVs\が下回っているが，理由は不明である\footnote{仮想事例の効果は事例数が多いほど減少するという一般的な傾向があるので，文書の性質によっては，一定数以上の事例の場合に効果が出ないことは十分考えられる．ただ，何がその限界を決めているのかは現時点では不明である．}．頻度が小さい``ship''や``wheat''，``corn''といったカテゴリに対して，オリジナルSVMの性能は良くない．分類器が決して$+1$を出力しなかった場合，つまり再現率ゼロの場合も多い．これは，ラベルとして$+1$を持つ事例が非常に少ないバランスの悪い訓練事例のために，オリジナルSVMがよい超平面を見つけられなかったことを示している\footnote{SVMでバランスの悪い訓練事例に対処する方法として，誤分類のコスト$C$を，$+1$のラベルを持つ事例，$-1$のラベルを持つ事例それぞれで別の値に設定する方法がある\cite{Morik1999}．}．これに対し，\SVMFourVSVs\はそういうバランスの悪い訓練事例のような難しい場合でもよりよい結果を得ている．
\section{関連研究との比較}
自然言語処理においてSVMsを仮想事例とともに用いている研究として，Yiらの研究\cite{Yi2004}がある．ここで彼らの研究との違いをまとめておく．違いは大きく二つある．対象タスクと，仮想事例の元となる事例の選び方である．彼らは固有表現認識を対象とし，全ての事例から仮想事例を作っている．一方，我々の研究では，文書分類を対象とし，サポートベクタとなる事例からのみ仮想事例を作っている．サポートベクタ以外から仮想事例を作っても精度向上にはあまり影響せず\footnote{Sch\"{o}lkopfは，手書き数字の認識タスクにおいて，全ての事例から仮想事例を作った場合は精度が向上しなかったと報告している\cite[page112]{Schoelkopf1997}．SVMでは，サポートベクタ以外の事例は最適超平面の位置を決めるのに影響しないので，サポートベクタ以外から仮想事例を作っても精度向上にあまり寄与しないのは納得できることである．}，また事例数増加による学習時間増加のデメリットがあるので，本研究ではサポートベクタのみから仮想事例を作っている．なお，対象タスクが異なるので，仮想事例の作り方が異なるのは言うまでもない．彼らは，ある文中に現れた固有表現を，同じクラスを持つ別の固有表現で置き換えて新しい文を作り，これを仮想事例としている．
\section{おわりに}
我々は仮想事例がSVMsを使った文書分類においてどのように性能を改善するかについて調べた．文書分類において，ある文書のラベルは少量の単語を追加あるいは削除しても変化しないとの仮定を置いて，仮想事例を作り出す方法を提案した．実験結果によれば，我々の提案手法はSVMsを用いた文書分類の性能を向上させることが分かった．特に事例数の少ない場合に有効であった．提案手法が文書分類以外の自然言語処理タスクにすぐに適用可能というわけではないが，今回，今まで自然言語処理の分野で十分に議論されていなかった仮想事例の利用について実験的に評価したことは意味があると言える．将来的には，仮想事例を，ラベル付き事例とラベルなし事例を使う手法(\cite{Blum1998,Nigam1998,Joachims1999,Taira2001}など)と組み合わせることも興味深いだろう．この両者を組み合わせたアプローチは，少量のラベル付き事例しかない場合に対して，さらによい結果が得られる可能性がある．別の興味深い将来の研究の方向性は，他の自然言語処理のタスク(品詞タグ付けや構文解析など)に対しても仮想事例を作る方法を開発することであろう．自然言語処理のさまざまなタスクにおいても，事前知識をうまく使い，効果的な仮想事例を作る方法があると信じる．\bibliographystyle{jnlpbbl}\begin{thebibliography}{}\bibitem[\protect\BCAY{Blum\BBA\Mitchell}{Blum\BBA\Mitchell}{1998}]{Blum1998}Blum,A.\BBACOMMA\\BBA\Mitchell,T.\BBOP1998\BBCP.\newblock\BBOQCombiningLabeledandUnlabeledDatawithCo-training\BBCQ\\newblockIn{\BemProceedingsoftheEleventhAnnualConferenceonComputationalLearningTheory},\mbox{\BPGS\92--100}.\bibitem[\protect\BCAY{DeCoste\BBA\Sch\"{o}lkopf}{DeCoste\BBA\Sch\"{o}lkopf}{2002}]{DeCoste2002}DeCoste,D.\BBACOMMA\\BBA\Sch\"{o}lkopf,B.\BBOP2002\BBCP.\newblock\BBOQTrainingInvariantSupportVectorMachines\BBCQ\\newblock{\BemMachineLearning},{\Bbf46},\mbox{\BPGS\161--190}.\bibitem[\protect\BCAY{Dumais,Platt,Heckerman,\BBA\Sahami}{Dumaiset~al.}{1998}]{Dumais1998}Dumais,S.,Platt,J.,Heckerman,D.,\BBA\Sahami,M.\BBOP1998\BBCP.\newblock\BBOQInductiveLearningAlgorithmsandRepresentationsforTextCategorization\BBCQ\\newblockIn{\BemProceedingsoftheSeventhInternationalConferenceonInformationandKnowledgeManagement},\mbox{\BPGS\148--155}.\bibitem[\protect\BCAY{Joachims}{Joachims}{1998}]{Joachims1998}Joachims,T.\BBOP1998\BBCP.\newblock\BBOQTextCategorizationwithSupportVectorMachines:LearningwithManyRelevantFeatures\BBCQ\\newblockIn{\BemProceedingsofthe10thEuropeanConferenceonMachineLearning},\mbox{\BPGS\137--142}.\bibitem[\protect\BCAY{Joachims}{Joachims}{1999}]{Joachims1999}Joachims,T.\BBOP1999\BBCP.\newblock\BBOQTransductiveInferenceforTextClassificationusingSupportVectorMachines\BBCQ\\newblockIn{\BemProceedingsofthe16thInternationalConferenceonMachineLearning},\mbox{\BPGS\200--209}.\bibitem[\protect\BCAY{Kudo\BBA\Matsumoto}{Kudo\BBA\Matsumoto}{2001}]{Kudo2001}Kudo,T.\BBACOMMA\\BBA\Matsumoto,Y.\BBOP2001\BBCP.\newblock\BBOQChunkingwithSupportVectorMachines\BBCQ\\newblockIn{\BemProceedingsoftheSecondMeetingoftheNorthAmericanChapteroftheAssociationforComputationalLinguistics},\mbox{\BPGS\192--199}.\bibitem[\protect\BCAY{Kudo\BBA\Matsumoto}{Kudo\BBA\Matsumoto}{2002}]{Kudo2002}Kudo,T.\BBACOMMA\\BBA\Matsumoto,Y.\BBOP2002\BBCP.\newblock\BBOQJapaneseDependencyAnalysisusingCascadedChunking\BBCQ\\newblockIn{\BemProceedingsoftheSixthWorkshoponComputationalLanguageLearning},\mbox{\BPGS\63--69}.\bibitem[\protect\BCAY{Lewis\BBA\Gale}{Lewis\BBA\Gale}{1994}]{Lewis1994}Lewis,D.~D.\BBACOMMA\\BBA\Gale,W.~A.\BBOP1994\BBCP.\newblock\BBOQASequentialAlgorithmforTrainingTextClassifiers\BBCQ\\newblockIn{\BemProceedingsoftheSeventeenthAnnualInternationalACM-SIGIRConferenceonResearchandDevelopmentinInformationRetrieval},\mbox{\BPGS\3--12}.\bibitem[\protect\BCAY{Morik,Brockhausen,\BBA\Joachims}{Moriket~al.}{1999}]{Morik1999}Morik,K.,Brockhausen,P.,\BBA\Joachims,T.\BBOP1999\BBCP.\newblock\BBOQCombiningStatisticalLearningwithaKnowledge-BasedApproach--ACaseStudyinIntensiveCareMonitoring--\BBCQ\\newblockIn{\BemProceedingsoftheSixteenthInternationalConferenceonMachineLearning},\mbox{\BPGS\268--277}.\bibitem[\protect\BCAY{Nigam,McCallum,Thrun,\BBA\Mitchell}{Nigamet~al.}{1998}]{Nigam1998}Nigam,K.,McCallum,A.,Thrun,S.,\BBA\Mitchell,T.\BBOP1998\BBCP.\newblock\BBOQLearningtoClassifyTextfromLabeledandUnlabeledDocuments\BBCQ\\newblockIn{\BemProceedingsoftheFifteenthNationalConferenceonArtificialIntelligence(AAAI-98)},\mbox{\BPGS\792--799}.\bibitem[\protect\BCAY{Niyogi,Girosi,\BBA\Poggio}{Niyogiet~al.}{1998}]{Niyogi1998}Niyogi,P.,Girosi,F.,\BBA\Poggio,T.\BBOP1998\BBCP.\newblock\BBOQIncorporatingPriorInformationinMachineLearningbyCreatingVirtualExamples\BBCQ\\newblockIn{\BemProceedingsoftheIEEE},\lowercase{\BVOL}~86,\mbox{\BPGS\2196--2209}.\bibitem[\protect\BCAY{Sassano}{Sassano}{2002}]{Sassano2002}Sassano,M.\BBOP2002\BBCP.\newblock\BBOQAnEmpiricalStudyofActiveLearningwithSupportVectorMachinesfor{Japanese}WordSegmentation\BBCQ\\newblockIn{\BemProceedingsofthe40thAnnualMeetingoftheAssociationforComputationalLinguistics},\mbox{\BPGS\505--512}.\bibitem[\protect\BCAY{Sch\"{o}lkopf}{Sch\"{o}lkopf}{1997}]{Schoelkopf1997}Sch\"{o}lkopf,B.\BBOP1997\BBCP.\newblock{\BemSupportVectorLearning}.\newblockR.OldenbourgVerlag,M\"{u}nchen.\newblockhttp://www.kyb.tuebingen.mpg.de/\~{}bs.\bibitem[\protect\BCAY{Sch\"{o}lkopf,Burges,\BBA\Vapnik}{Sch\"{o}lkopfet~al.}{1996}]{Schoelkopf1996}Sch\"{o}lkopf,B.,Burges,C.,\BBA\Vapnik,V.\BBOP1996\BBCP.\newblock\BBOQIncorporatingInvariancesinSupportVectorLearningMachines\BBCQ\\newblockInvon~derMalsburg,C.,vonSeelen,W.,Vorbr\"{u}ggen,J.,\BBA\Sendhoff,B.\BEDS,{\BemArtificialNeuralNetworks--ICANN'96,SpringerLectureNotesinComputerScience,Vol.1112},\mbox{\BPGS\47--52}.\bibitem[\protect\BCAY{Taira\BBA\Haruno}{Taira\BBA\Haruno}{2001}]{Taira2001}Taira,H.\BBACOMMA\\BBA\Haruno,M.\BBOP2001\BBCP.\newblock\BBOQTextCategorizationUsingTransductiveBoosting\BBCQ\\newblockIn{\BemProceedingsoftheTwelfthEuropeanConferenceonMachineLearning},\mbox{\BPGS\454--465}.\bibitem[\protect\BCAY{Thompson,Califf,\BBA\Mooney}{Thompsonet~al.}{1999}]{Thompson1999}Thompson,C.~A.,Califf,M.~L.,\BBA\Mooney,R.~J.\BBOP1999\BBCP.\newblock\BBOQActiveLearningforNaturalLanguageParsingandInformationExtraction\BBCQ\\newblockIn{\BemProceedingsoftheSixteenthInternationalConferenceonMachineLearning},\mbox{\BPGS\406--414}.\bibitem[\protect\BCAY{vanRijsbergen}{vanRijsbergen}{1979}]{vanRijsbergen1979}vanRijsbergen,C.\BBOP1979\BBCP.\newblock{\BemInformationRetrieval\/}(2nd\BEd).\newblockButterworths.\bibitem[\protect\BCAY{Vapnik}{Vapnik}{1995}]{Vapnik1995}Vapnik,V.~N.\BBOP1995\BBCP.\newblock{\BemTheNatureofStatisticalLearningTheory}.\newblockSpringer-Verlag.\bibitem[\protect\BCAY{Yang}{Yang}{1999}]{Yang1999b}Yang,Y.\BBOP1999\BBCP.\newblock\BBOQAnEvaluationofStatisticalApproachestoTextCategorization\BBCQ\\newblock{\BemJournalofInformationRetrieval},{\Bbf1}(1/2),\mbox{\BPGS\67--88}.\bibitem[\protect\BCAY{Yang\BBA\Liu}{Yang\BBA\Liu}{1999}]{Yang1999}Yang,Y.\BBACOMMA\\BBA\Liu,X.\BBOP1999\BBCP.\newblock\BBOQARe-examinationofTextCategorizationMethods\BBCQ\\newblockIn{\BemProceedingsofSIGIR-99,2ndACMInternationalConferenceonResearchandDevelopmentinInformationRetrieval},\mbox{\BPGS\42--49}.\bibitem[\protect\BCAY{Yarowsky}{Yarowsky}{1995}]{Yarowsky1995}Yarowsky,D.\BBOP1995\BBCP.\newblock\BBOQUnsupervisedWordSenseDisambiguationRivalingSupervisedMethods\BBCQ\\newblockIn{\BemProceedingsofthe33rdAnnualMeetingoftheAssociationforComputationalLinguistics},\mbox{\BPGS\189--196}.\bibitem[\protect\BCAY{Yarowsky\BBA\Wicentowski}{Yarowsky\BBA\Wicentowski}{2000}]{Yarowsky2000}Yarowsky,D.\BBACOMMA\\BBA\Wicentowski,R.\BBOP2000\BBCP.\newblock\BBOQMinimallySupervisedMorphologicalAnalysisbyMultimodalAlignment\BBCQ\\newblockIn{\BemProceedingsofthe38thAnnualMeetingoftheAssociationforComputationalLinguistics},\mbox{\BPGS\207--216}.\bibitem[\protect\BCAY{Yi,Lee,\BBA\Park}{Yiet~al.}{2004}]{Yi2004}Yi,E.,Lee,G.~G.,\BBA\Park,S.-J.\BBOP2004\BBCP.\newblock\BBOQSVM-basedBiologicalNamedEntityRecognitionusingMinimumEdit-DistanceFeatureBoostedbyVirtualExamples\BBCQ\\newblockIn{\BemProceedingsoftheFirstInternationalJointConferenceonNaturalLanguageProcessing},\mbox{\BPGS\241--246}.\end{thebibliography}\begin{biography}\biotitle{略歴}\bioauthor{颯々野学}{1991年京都大学工学部電気工学第二学科卒業．同年より富士通研究所研究員．1999年9月より1年間，米国ジョンズ・ホプキンス大学客員研究員．2006年3月よりヤフー株式会社勤務．自然言語処理の研究に従事．言語処理学会，情報処理学会，ACL各会員．}\bioreceived{受付}\biorevised{再受付}\bioaccepted{採録}\end{biography}\end{document}