\documentclass{nlp}
\begin{document}

\setcounter{page}{1}
\setcounter{Volume}{1}
\setcounter{Number}{1}
\setcounter{Year}{2004} 
\setcounter{Month}{1}
\received{2004}{1}{1}
\revised{2004}{1}{1}
\accepted{2004}{1}{1}

\title{機械学習とルールベースの組み合わせによる\\自動職業コーディング}
\author{高橋 和子\affiref{KEIAI}\affiref{INTER} \and 高村 大也\affiref{PRECISION}
 \and 奥村 学\affiref{PRECISION}}

\headauthor{高橋, 高村, 奥村}

\affilabel{KEIAI}{敬愛大学国際学部,
Faculty of International Studies, Keiai University}
\affilabel{INTER}{東京工業大学大学院総合理工学研究科,
Interdisciplinary Graduate School of Science and Engineering, Tokyo
Institute of Technology}
\affilabel{PRECISION}{東京工業大学精密工学研究所,
Precision and Intelligence Laboratory, Tokyo Institute of Technology}

\begin{abstract}
社会調査において自由回答で収集される職業データの分類
（職業コーディング）に対する, 機械学習手法の一つであ
るサポートベクターマシン（Support Vector Machine, SVM）
によるアプローチ及び既存のルールベース手法との組み合わ
せ方法について検討する. 従来, 職業コーディングは人手に
より行われてきたが, 作業量の多さや煩雑さの問題があり, 
また, 熟練していないコーダの処理結果には一貫性が欠ける
傾向があった. これらの理由から, ルールベース手法により
職業コーディングを自動的に行うシステムが開発され, 
利用されるようになってきたが, システムの正解率は高いと
はいえず, また, ルールベース手法に固有な問題から, 現在
の正解率以上にすることは困難であると思われる. そこで, 
本稿では, 機械学習の一つで分類性能が高いとされるSVMを適
用し, ルールベース手法との比較を行った. さらに, SVMとル
ールベース手法との有効な組み合わせ方を検討した結果, SVM
はルールベース手法より正解率が高く, 両者を組み合わせるこ
とでさらに正解率を高めることができることを確認した. また
, 本稿では, これからコーディングを行う新しいデータの一部
を訓練データとしてフィードバックする場合の効果について実
験を行った結果, 新たなデータの一部をフィードバックするこ
とで, 正解率が向上することがわかった. \\ 
\end{abstract}

\keywords{自由回答, 職業コーディング, サポートベクターマシン, 
ルールベース, フィードバック}

\etitle{Automatic Occupation Coding with Machine Learning and
 Hand-Crafted Rules}
\eauthor{KAZUKO TAKAHASHI\affiref{KEIAI}\affiref{INTER} {\hspace*{-6pt}\rm and}
 HIROYA TAKAMURA\affiref{PRECISION} {\hspace*{-6pt}\rm and}
 MANABU OKUMURA\affiref{PRECISION}}

\begin{eabstract}
We apply a machine learning method to occupation coding,
 which is a task to categorize  answers to open-ended
 questions about respondent's occupation. Specifically,
 we use Support Vector Machines (SVMs) and their combination
 with hand-crafted rules. Conducting occupation coding manually
 is expensive and sometimes leads to inconsistent coding
 results when coders are not experts in occupation coding.
 For this reason, a rule-based automatic method was developed
 and applied. However, its categorization performance was not
 satisfactory. Therefore, we adopt SVMs, which show high
 performance in various fields, and compare them with the
 rule-based method. We also investigate effective combination
 methods of SVMs and the rule-based method. We empirically show
 that SVMs outperform the rule-based method in occupation coding
 and that the combination of the two methods yields even better
 accuracy, and that the accuracy of each method increases if the
 part of the new samples is added to the training data.
\end{eabstract}

\ekeywords{Open-ended questions, Occupation Coding, 
Support Vector Machine, Rule-based method, feedback}

\maketitle


\section{はじめに}
\label{sec:hajime}

社会調査において, 職業は性別や年齢と同様に重要な属性の一つである. 
従って, カテゴリとしては最も詳細な職業小分類コード（以下, 職業コードと呼ぶ）
\cite{95SSM95}
を用いることが多い. 
しかし, 約200個あるコードをすべて調査票に提示して被調査者に選んでもらう方法は, 
カテゴリ数が通常用いられる選択肢の数
\footnote{調査票で提示される選択肢の最大数は、例えば後述するJGSSにおいては2１個で同SSM調査においては32個である. }
をはるかに超えていて被調査者に負担がかかることや, 
カテゴリの定義内容が日常的に理解されているものと異なる場合があるために, 
調査票に選択肢として職業コードを提示せず, 
被調査者から自由回答で記述してもらったデータを分析者側で分類するのが一般
的である. 
これは職業コーディングとよばれ, 
統計処理に職業のデータが用いられるための不可欠な作業である
\cite{Hara84}. 
職業コーディングは
データの分析に先だって迅速かつ正確に行われる必要があるが, 
これまで人手（コーダ）により行われてきたため, 
サンプル数が多い場合にはコーダの負担が大きく\cite{Hara93,95SSM95}, 
また, コーダが熟練者でない場合には, 
コーディングの結果に一貫性が欠如しやすいという問題が存在した
\cite{Takahashi00}. 

この問題を軽減するために, 職業の定義文や専門家の知識を
まとめてルールセットを作成しておき, 
回答とのマッチングをとって自動的に職業コードを決定するルールベースによるシステム
が開発された\cite{Takahashi00}. 
このシステムはこれまでにJGSS（日本版General Social Surveys）
\footnote{ 
{\tt http://jgss.daishodai.ac.jp/}において, 2回の予備調査と2000年調査と2001年調査に
ついてコーディング済みデータの公開を行っている. }
を始めとする5つの調査で利用され\cite{Takahashi01,Takahashi02a,Takahashi02b,Takahashi03}, 
正解率は約60〜70$\%$程度であったが, コーダの負担を軽減し, 
結果における一貫性の保証という点で, 当初の目的を達成できたといえる
. 

しかし, 次のような問題が残されていた. 
まず, 職業に関するデータ（以下, 職業データと呼ぶ）は, 
単一の回答ではなく, 自由回答である
「仕事の内容」を中心に, 「従業先事業の種類」（自由回答），「従業上の地位」,
「役職」，「従業先事業の規模」（以上は選択肢）を含む一連の回答群から
構成されており, 
これらを総合的に判断して分類先が決められる\cite{95SSM96}. 
従って, そこで用いられる知識をすべてルールとして表現することは
非常に困難である. 
次に, このシステムは, 自由回答とルールをいずれも格フレームの形式で
表現するが, この形式で表現できない回答もあり\footnote{商品名や生産物だけ
であったり, 職業と直接関係のない内容を含む場合などがある. 例えば, 1995年
SSM調査（Social Stratification and social Mobility survey）デー
タの中から無作為に選んだ1000サンプルのうち, 約20$\%$がこれに該当した
\cite{Takahashi00}. }, 
回答の内容をうまく理解できない場合がある. 
さらに, 職業データの中で最も重要な「仕事の内容」に出現する用語や表現の
仕方は時代と共に変化しており, 
ルールベース手法であるこのシステムにおいては, 
ルールセットやシソーラスのメンテナンスの手間が絶えず必要になる. 

ここで, 
システムがコーダの代替としての機能を十分に果たすためには, 
少なくともコーダと同程度の正解率を示す必要がある. 
\cite{Takahashi01,Takahashi02a}によれば, 
6つの職業コーディングにおいて, 
データやコーダの熟練度に違いはあるが, 68.8〜80.0$\%$の正解率であったことから, 
システムにおいても80$\%$を一つの目標値とみなすことができよう. 

そこで, これらの問題を回避し, 
また正解率の向上を目指すための方法として, 
文書分類の分野で適用される機械学習手法を検討した結果,  
高い分類性能を示すことが知られている\cite{Joachims98,Dumais_et_al98,Taira00,Sebastiani02}
サポートベクターマシン（Support Vector Machine, SVM）を職業コーディングに対して
適用することにした. 
しかし, ルールには, 職業コードの定義だけでなく, 
専門家のもつヒューリスティックな知識が蓄積されている. 
今回は既にルールベースによるシステムが存在し, 
その結果が利用できる状況にあることから, 
ルールベース手法の活用を考え, 
両者の有効な組み合わせ方についての調査も行う. 
本稿では, これについて報告を行う. 

本稿の貢献は, 以下の通りである. 
まず, 
SVMに基づく, 従来より精度の良い自動職業コーディングシステムを開発した. 
次に, 
職業コーディングという, 
各回答が1語から1文程度の
非常に短い「テキスト」
\footnote{職業データは, JGSSデータの場合, 
平均で約15文字程度であり, 
例えば、通常のテキスト分類で対象とされる新聞記事が１記事当たり平均約550文字
（CD-毎日新聞2000データ集の場合）であることに比較すると, 
非常に短い文書であるといえる. }
の分類タスクにおいて, 
SVMが有効であることを示せた. 
さらに, 
自動職業コーディングという分類タスクにおいて, 
ルールベースと機械学習を効果的に統合する手法を示した. 

ところで, これらの手法を実際に職業コーディングに適用する際, 
訓練データとして過去の事例が利用できない場合には, 
新たにコーディングを行って, 学習のために「正解」付きの事例を用意する必要がある. 
また, 過去にコーディング済みの事例がある場合でも, 
新しくコーディングを行ったものを訓練データにフィードバックできれば, 
分類性能が向上する可能性が考えられる. 
いずれの場合においても, コーダの負担軽減の点からは, 
新たに行うコーディングの量はできるだけ少ないことが望まれる. 
そこで, 本稿では, このような場合に行うコーディングの量を
正解率との関係から調査する. 

以下, 次節で関連研究について述べた後, 
3節で職業コーディングについて説明する. 
4節でルールベース手法による方法, 
5節でSVMによる方法および, SVMとルールベース手法との組み合わせ方について述
べる. 
6節で実験結果の報告と考察を行い, 
最後にまとめと今後の課題を述べる. 

\section{関連研究}
\label{sec:kanren}
ここでは
自由回答の分類に対する機械学習を用いた研究および,  
人手によるルールと機械学習による方法を組み合わせた研究について述べる. 

まず, 自由回答の分類に対する機械学習による方法に関しては,
被調査者の意図に注目した分類を目的とする文献\cite{Inui_et_al03a,Inui_et_al03b}がある. 
文献\cite{Inui_et_al03a}では, 文字単位のn-gramを素性とし, 
最大エントロピー法（Maximum Entropy method, ME法）による分類実験を行って
いる. その結果, 
約8割弱の正解率で意図（メタ, 賛成, 反対, 要望, 提案, 事実, 疑問）の分類
が行えたことおよび, その結果から意図の分類に効果的な表現を発見したことが
報告されている. 
文献\cite{Inui_et_al03b}では, 
文が要求意図を表すかどうかを判定するタスクにおいて, 単語の1-gram, 2-gram, 
3-gramを
素性としてME法とSVMを適用した結果, 
いずれも約9割程度の正解率を示したことが
報告されている. 

また, 文献\cite{Giorgetti03}では, 
ここ数ヶ月間に感じた「怒り」や「不快感」の様子とその状況を記述した
自由回答をあらかじめ用意したカテゴリにコーディングすることを目的に, 
辞書ベースの手法と教師付き学習による自動コーディングを比較し, 
圧倒的に後者の方が性能がよいことを報告している. 
ここで, 辞書ベースの手法とは, 
各カテゴリに特徴的な単語を人手によって集めることによりカテゴリごとに辞書
を作成し, 各辞書から作られるベクトルと回答から作られるベクトルの類似度を測
ることにより分類を行う手法である. 
教師付き学習とはナイーブベイズ法と多値分類のSVMである. 

人手により作成したルールに基づく方法と機械学習による方法の
組み合わせに関しては, 文献\cite{Seng-Bae03,Isozaki_et_al03}がある. 
文献\cite{Seng-Bae03}では, 韓国語のチャンキングにおいて, 
まず人手でルールを作成し, このルールに対するエラーリストも事前に作成して
おく. 
分類の際は, 事例のチャンクタイプ（名詞句, 動詞句, 副詞句, 独立句の4種類）を
まずルールで決めた後, 
このエラーリストの中の
最も近い事例との類似度を調べ, 
その値が閾値以上のものに対しては, 
memory-based learningにより決め直すという方法を提案している. 
提案手法を用いた場合は, 
ルールだけの場合より約2$\%$, 
memory-based learningの場合より約3$\%$ 
F値が上昇したことが報告されている. 
この研究においては, 
ルールに基づく方法と機械学習による方法の組み合わせは, 
両者の結果がシーケンシャルに利用されることを意味しており, 
各手法における処理自体は独立に行われる. 

また, 文献\cite{Isozaki_et_al03}では, 
より信頼できる日本語ゼロ代名詞の解決のために, 
ヒューリスティックなルールをランク付けして
機械学習（SVM）と組み合わせる方法を提案している. 
すなわち, 
先行詞となり得る複数の候補に
ランク付けしたルール（6種類）を適用し, 
辞書順にソートしておく. 
SVMを上位の候補から順に適用していき, 
正例が出現した時点でその候補を先行詞と決定する. 
一般の新聞記事および社説を対象として 実験を行った結果, 
ME法やSVMはルールによる方法に劣るが, 
上記のような組み合わせ方により, 
ルールによる方法を上回ることが報告されている. 

\section{職業コーディング}
\label{coding}
職業コーディングとは, 
社会調査において自由回答で収集される「仕事の内容」を中心とする一連の職業データ
を, 分析者が総合的に判断して, 職業小分類コードを付ける作業をいう
\cite{95SSM95}. 
職業データを構成するものは調査により多少異なるが, 通常, 
「仕事の内容」, 「従業先事業の種類」（以上は自由回答）
, 
「従業上の地位」，「役職」，「従業先事業の規模」（以上は選択肢）の5種類
の回答である. 
職業データにおける自由回答は短いものが多く, 
例えば, JGSSの場合, 平均で
「仕事の内容」が約3語, 「従業先事業の種類」が約2語程度の長さで, 
「医者」や「看護師」など1語のものも多い. 
職業コードの数は, 社会調査で一般的に用いられるSSM職業小分類コード
の場合, 
国勢調査で用いられる職業小分類コードを部分的に統合し
193個（分類不能や不明を含む）であるが
\footnote{JGSSでは, SSM職業小分類コードにさらに6個のコードを加えた199個
のコードを用いる. }
, 
このカテゴリの多さが職業コーディング作業を煩雑にする大きな原因である. 
職業コーディングの例として, 
例えば, 次のような職業データに対しては, 
職業コード「563」（運輸事務員）が付けられる. 
\vspace{2mm}\\
\begin{tabular}{lll}
「仕事の内容」&：&配車等を手配（自由回答）\\
「従業先事業の種類」&：&荷物をつみおろす業務他（自由回答）\\  
「従業上の地位」&：&2　常時雇用の一般従事者（選択肢）\\
「役職」&：&1　役職なし（選択肢）\\
「従業先事業の規模」&：&8　500〜999人（選択肢）
\end{tabular}
\vspace{2mm}\\

判断の根拠になるものは, 基本的には「仕事の内容」である. しかし, 管理職や
自営関係の職業においては, 「従業上の地位」や「役職」, 「従業先事業の規模」を参照
する必要があり, 「仕事の内容」が全く同じ場合でも, これらの選択肢の内容
が異なっていれば, 別の職業コードに決定される可能性がある. 
決定方法は, 「仕事の内容」と選択肢の組み合わせ方により, 
原則が定められているが\cite{95SSM96}, 実際には, 必ずしも原則通りに
決められるわけではない
. 
例えば, 管理職は, 原則的に「役職」が課長相当以上かつ
「従業先事業の規模」が30人以上であることが要件であるが, 
これに該当しない場合も「仕事の内容」が「管理」とのみ記述されており, 
これ以外の仕事をしていない
と考えられる場合には, 管理職とすることもある. 逆に, 管理職の原則に合致し
ていても, 「仕事の内容」に管理以外の内容が記述されており, そちらの方が主
であると考えられる場合には, 管理職にしないこともある. 
従って, 原則をルールとして生成しても, 
有効に機能しない場合があるという問題がある
. 

職業コーディングを行う目的は, データ分析の際に, 職業という属性を
コードで扱えるようにするためである. 
従って, 職業コーディングはすべての分析に先だって
迅速に行われなければならない. 
しかし, 一方で職業は基本的で重要な属性であり, 
正確さが要求されるために, 
例えば, SSM調査やJGSSのように大規模な調査では, 同一のデータに対して, 
最低3回のコーディングが行われる. すなわち, 1回目と2回目はコーダ（一般コー
ダ）
\footnote{社会学専攻の学生や調査に関係した研究者が担当することが多い. }
を変えて行われ, 
3回目に専門家コーダ\footnote{調査実施者の中で最も職業コーディングに習熟した
研究者が担当する. }が両者のコーディング結果を
参考にしながら, 最終的な判断を下す\footnote{JGSSでは, 一般コーダ1回分の作業を
ルールベース手法のシステムに行わせるために, 一般コーダのコーディング
が1回ですむ\cite{Nishimura01}. }. 
このように, コーディングの回数が多いことは, 
職業コーディングにおいて最大の問題である作業量の問題を
引き起こす. 
作業量の問題は, 対象となる職業データの種類が多い場合に
より深刻な問題となる
. 
例えば, 
JGSSでは, 被調査者1人に対して, 「本人現職」以外に, 
「本人最後職」（本人が最後に就いていた職業）, 「本人初職」, 
「配偶者職」（配偶者の現職）, 「父職」（本人が15才時の父親の職業）の
5種類の職業コーディングを行う必要がある\cite{JGSS02,JGSS03}. 
SSM調査では, これに加え, さらに初職から現職に至るまでの
職業の履歴をすべて収集し, 職業コーディングの対象とする
\footnote{調査B（後述表\ref{rocco}参照）では母職もコーディングの対象とす
る. }. 

ここで注意する点として, SSM調査やJGSSのように長期にわたる調査においては, 
期間中に専門家コーダの交代があったり, 
新種の職業が登場した場合に, 
調査年度により正解に違いが生じる可能性があることである
実際, JGSSで特に管理職関係の判断において, 
調査年度による差が認められる. 
また, 例えば介護ヘルパーやケアマネージャの職業コードは
JGSS-2000とJGSS-2002で異なっており, 
JGSS-2001は両者が混在する. 
従って, 複数年にわたる調査において年度ごとに結果が出される場合, 
厳密には同質のデータセットであるとはいえない. 

\section{ルールベース手法}
\label{rule}
本稿においてルールベース手法とは, 
職業の定義を格フレームの形式により
記述したルールを作成し, これに基づいて職業コーディングを
自動的に行うシステム（以下, システムと略す）をいう
\cite{Takahashi00}
. 
ここでは, ルールとのマッチングを取りやすくするために, 
自由回答の表現も格フレームの形式に変換される. 
以下で, システムの処理概要を説明する. 
\begin{enumerate}
\item 「仕事の内容」に対して形態素解析
\footnote{日本語形態素解析システムJUMAN version 3.61 
\cite{Kurohashi98}
を利用した. }
を行った後, 
職業コーディングにおいては不要であると判断される語
を削除する. 
職業コーディングにおいては, 
品詞が「形容詞」, 「副詞」, 「接頭辞」, 「接尾辞」であったり, 
「等」, 「ほか」, 「関係」などの語（約100個）は重要な意味を持たないため, 
不要語とした. 
\item 「仕事の内容」から述語相当語（以下, 述語と呼ぶ）を抽出する
. 
ここでは構文解析を行わず, 
単純に回答の末尾にある語を述語とした. 
不要語を削除すると, 末尾語の品詞は, 
例えば1995年SSM調査データにおける無作為抽出サンプル（約1,000）においては, 
動詞（6$\%$）, サ変名詞（51$\%$）, 普通名詞（39$\%$）であった
\cite{Takahashi00}
. 
従って, システムにおいては, 
動詞だけでなくサ変名詞や普通名詞（例えば「医師」「薬剤師」など）も述語と
して扱われる. 
\item 抽出した述語の直前に助詞（「を」や「で」）があればそれを手がかりにして, 
述語の目的となる名詞や場所を示す名詞を抽出する. 
\item 述語をシソーラス
により拡張する. 
述語シソーラスは, 
『分類語彙表』
\cite{bunrui64}
の「体の部」と「用の部」に収められた各語に対して, 
分類番号の小数部とグループ番号を組み合わせたコード（述語コード）を作り, 
「語, よみ, 述語コード」からなる構成とした
\footnote{述語シソーラスは, 
システムが適用されるごとにメンテナンスを行い, 
現在, 語の総数は約11,000, 分類数は約2,900の規模である. }
. 
これにより, 品詞が異なっても述語コードが等しい語同士は, 
同じ分類であるとみなすことができる. 

ここまでの処理は「従業先事業の種類」に対しても行い, 
「仕事の内容」の情報が不足する場合にはこの情報も利用する. 

\item 拡張した述語により, 職業コードに関する定義文や知識を
次の形式のルールとしてまとめた「職業用ルールセット」を検索する
\footnote{ルールαの総数は3,524個である. }
.
\vspace{2mm}\\
ルールα：＜述語, 格, 名詞＞$\Rightarrow$＜職業コード＞
\vspace{2mm}  
\item 「職業用ルールセット」に回答とマッチするルールがあれば, その職業コードを付ける. 
その際, 回答の名詞も, 述語と同様にシソーラスにより拡張される. 
また, 回答に「職業用ルールセット」が要求する名詞が不足する場合については, 
「従業先事業の種類」の回答も調べ, 述語コードが同じ場合にはこの名詞により
      補う. 
\item 職業データの他の情報（「従業上の地位」, 「役職」, 「従業先事業の規
      模」）のチェックを行って, 最終的な職業コードを決定する. 
ここで適用されるのは, 次のようなルールである
\footnote{ルールβの総数は27個である. }
. この結果, 先に決定された職業コードが変わる場合もある. 
\vspace{2mm}\\
ルールβ：＜職業コード, 従業上の地位, 役職, 従業先事業の規模＞$\Rightarrow$＜職業コード＞
\vspace{2mm} 
\end{enumerate}

例を示す. 
前述した職業データの例において, まず, 「仕事の内容」から\\ 
　　　　述語　：　手配\\
　　　　　格　：　ヲ\\
　　　　名詞　：　配車\\
の三つ組みが抽出される. 
次に, 「手配」が述語シソーラスにより拡張されて
述語コード「385 10」が付けられる. 
このコードにより「職業用ルールセット」が検索された結果, 
ルールαのうちの一つである次のルール
\vspace{2mm}\\
　　　＜ 385 10 , ヲ , 配車 ＞$\Rightarrow$＜ 563 ＞
\vspace{2mm}\\
とマッチし, 
職業コード「563」が付けられる. 
この例では, 
たまたま三つ組中の名詞と同じ語がルールαに存在するため, 
シソーラスによる名詞の拡張を行う必要がない. 
また, 
「従業上の地位」や「役職」などでルールβとマッチするものがないために, 
職業コードは変化せず, 
最終的に「563」と決定される. 

システムには2種類のルールがあるが,  
ルールベース手法においては, これらのルールを充実させることが
重要である. 
また, 回答の情報をできる限り活かすためには, シソーラスの充実も重要である. 
しかし, 
職業においては, 
新語や新しい表現の仕方が次々に出現する状況にあるため, 
ルールベース手法においては, ルールセットおよびシソーラスの
継続的なメンテナンス作業が必要であり, 手間がかかる. 
さらに, このシステムはルールを格フレームの形式で表現するために, 
この形式で表現できない回答に対しては, 
ルールをうまく適用できないという問題もある. 

表\ref{rocco}に, これまでにシステムが適用された調査における結果を示す 
\cite{Takahashi01,Takahashi02a,Takahashi02b,Takahashi03,Takahashi04}
. 
ここで, JGSS-2002以外は, ルールベース手法が複数個の結果を出力した場合, 
その中に正解を含んでいれば正解としたため, 
正解率が後述するSVMの計算方法によるものより高めになることに注意が必要である. 

表において, 
調査A, 調査Bはそれぞれ福祉社会学, 階層移動の研究者が
中心となって行った調査で, 
いずれもJGSSと異なり1回限りのものであるが, 
職業データについては基本的にJGSSと同様の形式により収集されている. 
特に, 
調査Aは全く同じ回答形式である
\cite{Takahashi01}
. 
調査Bは, 
調査票の設計段階でルールベース手法の適用が予定されていたために, 
回答欄を多少工夫した点
\footnote{名詞用と述語用に回答欄を設けて助詞で結び, 
「［　　］の（を）［　　］」という形式としたが, 
各回答欄に適切に記述されていないケースが多かった. }
, および
選択肢である「従業上の地位」と「役職」が別々の質問となっている点が
異なるが, 
これらはシステムの処理面における差はない. 

「職業データの種類数」は, 
「本人現職」や「本人初職」など1人の回答者に対して収集される職業データの種類数で, 
例えば, 調査Bにおける7種類は, 
「本人現職」, 「本人初職」, 「本人職歴１」（初職の次の職）, 
「本人職歴２」（本人職歴１の次の職）, 「配偶者職」, 「父職」,「母職」
である. 
これより, 
1サンプル中で複数の職業データが収集される場合には, 
職業コーディングが処理するデータ数は, 
サンプル数×職業データの種類数（「のべサンプル数」）となるが, 
無職や学生などの非該当も含まれるために, 
一般には, 「のべサンプル数（有職者のみ）」は「のべサンプル数」より少ない
\footnote{調査Aは「本人現職」のみで就業者を対象としたため, 両者は等しい. }
. 

ここで, 本稿における正解率とは, 
正しく分類されたサンプル数を全サンプル数で割った値をいう. 
前述したように, システムにおいては
ルールが有効に機能しない場合が存在するために, 
全体としての正解率は高くないが, 
職業コードが決定された事例に限定すると, 約80$\%$の正解率を示す. 

なお, 
調査に適用されたシステムのシソーラスやルールセットの状況は
厳密には同様ではない. 
例えば, 2001年では, 
述語シソーラスの述語総数は10,065語, 
名詞シソーラスの見出し語は180語, 
ルールαの個数は2,205個, ルールβはゼロであったのに対して, 
2003年では, 
述語シソーラスの述語総数は11,036語, 
名詞シソーラスの見出し語は315語, 
ルールαの個数は3,524個, ルールβの個数は27個となっている. 

\begin{table}
\begin{center}
\caption{ルールベース手法の性能}
\begin{tabular}{c|cccccc}
\hline\hline
調査名&調査A& JGSS-2000&調査B&JGSS-2001&JGSS-2002\\
（システム適用年）&（2001）&（2001）&（2002）&（2002）&（2003）\\
\hline
正解率（$\%$）&69.4&67.3&65.8&65.5&66.1\\
決定された事例の正解率（$\%$）&81.7&80.9&74.7&79.7&79.8\\
\hline\hline
サンプル数&1,236&833&2,883&2,790&2,959\\
職業データの種類数&1&5&7&5&5\\
のべサンプル数（有職者のみ）&1,236&3,366&9,401&8,901&9,635\\
\hline
\end{tabular}
\label{rocco}
\end{center}
\end{table}

\section{SVMによる方法}
\label{SVM}
ルールベース手法と比較すると, 
機械学習手法の利点は
ルールを作成する必要がないことである. 
これは手間がかからないだけでなく, 分野や対象に依存しないという
汎用性の点でも評価できる. 
反面, 一般に機械学習手法では, 学習のために大量の訓練データが必要に
なるが, 職業コーディングの場合は, 
その目的が調査データの分析を行うために職業データに職業コードを付与するこ
とから, 
過去の調査では必ず職業コーディングが行われて, 
正解（職業コード）が付けられたデータ（職業データ）が存在するという事情がある. 
例えば, JGSSにおいては, 毎年, 約8,000〜9,000程度の正解付きデータが産出されている. 
従って, 職業コーディングにおいては比較的容易に大量の正解付きデータが利用できる状況にあり, 
訓練データを用意することについての問題は生じない. 

機械学習手法には, 
決定木学習やニューラルネットワークを始めさまざまなものが存在するが, 
今回, その中からSVMを選択した理由は, 
職業コーディングはタスクとして文書分類に近いため, 
文書分類における機械学習手法についての比較を行った研究\cite{Joachims98,Dumais_et_al98,Taira00,Sebastiani02}
を検討した結果, SVMが最も高い分類性能をもつ手法であると判断したためである. 
例えば, 
\cite{Taira00}
では, 新聞記事の分類においてSVMと決定木学習法を比較した結果, 
\footnote{朝日新聞94年版の30,207記事からなるRWCPコーパスを使用し, 
単語数（素性数）を300, 500, 1,000, 5,000, 10000, 15,000にした実験を行っている. }
単語数に関係なくSVMの分類性能が高いことと, 
単語数が多くなるほど決定木学習法の性能が低下するのに対しSVMは高くなるこ
とを示した
. 
\cite{Joachims98}では, 
新聞記事
\footnote{Reuters collectionの中のReuters-21578 ``ModApte''を使用し, 
記事数は21,578である. } 
や医学論文の要約
\footnote{Ohsumedコーパスを使用し, 文書数は50,216（1991年）である. }
の分類において, SVMをナイーブベイズ法, 決定木学習, k-NN法と比較し, 
いずれにおいてもSVMの分類性能が最も高いことを示した. 
また, 
\cite{Dumais_et_al98}
でも\cite{Joachims98}と同様のコーパスにより, 
Find Similar（適合性フィードバックのためのRocchioの変種）, 決定木学習, 
ナイーブベイズ法, ベイズネット, SVMを比較し, 
トピックのトップ10と全部のいずれの平均においても, 
SVMの分類性能が最も高いことを示した. 
さらに, \cite{Sebastiani02}では, 
ナイーブベイズ法, 決定木学習, k-NN法, SVMなど代表的な分類器に関するこれまでの研究について, 
同一のコーパス
\footnote{Reuters collection（Reuters-22173 ``ModLewis'',  
Reuters-22173 ``ModApte'', Reuters-22173 ``ModWiener'', 
Reuters-21578 ``ModApte'', Reuters-21578[10] `` ModApte''
）の5つである. }
を対象とするものに絞り, 
訓練データや評価データの設定などの条件を同一にした結果をまとめているが, 
ここでもSVMの分類性能が最も高いことが示されている. 
このような優位性から, SVMは自然言語処理の分野においても, 
文書分類や係り受け解析への応用で高い性能を示した
\cite{kudo02}. 

SVMが他の手法より汎化能力が高く, 
精度よく評価事例を分離できる理由は, 
学習サンプルと分類境界の間隔（マージン）を最大化するという戦略による
\cite{Vapnik98}
. 
ここで, 汎化能力が高いとは, 学習に用いない未知のサンプルに対する分類性能
が高いことを意味する. 
これを可能にするのは, サンプルを２つのクラスに分類する場合, 
SVMは他のクラスと最も近い位置にある学習サンプルだけに注目し, 
そのサンプルとの距離が最大になるように分類境界を定めるという明確な基準
（マージン最大化）を持つためである. 
このとき, 
分類境界の決定に関与するサンプルをサポートベクターと呼ぶ. 

SVMにおける識別関数$f(\mathbf{x})$は次のように定義される. 

$f(\mathbf{x})=sign(g(\mathbf{x} ))$
ただし, $g(\mathbf{x} )= \mathbf{w}^{t}\mathbf{x}+b$

ここで, $\mathbf{x}$は入力ベクトル, 
$\mathbf{w}$および$b$は識別関数を決定するパラメタで, 
マージン最大化を実現するように決定できる. 

また, 
今回に限定していえば, 
SVMでは直接テキストを入力することができないものの, 
素性の作り方によっては,  
回答の部分的な利用にとどまる今回のルールベース手法と比較すると, 
情報を十全に活用できる可能性が考えられる. 
ただし, 分類の性能を上げるために有効な素性の選択を
実験から得られた結果により行うため, 
試行錯誤的に実験を重ねる必要がある. 

ここでは, まず, 職業コーディングにSVMを適用する方法について述べた後, 
ルールベース手法による
方法との組み合わせ方について述べる. 

\subsection{SVMによる方法}
SVMを用いた自動職業コーディングの概略を示す 
\cite{Takahashi_et_al04a}. 
まず, 自由回答である「仕事の内容」と「従業先事業の種類」に対して形態素解析を行い
\footnote{ルールベース手法の場合と同様に, 
日本語形態素解析システムJUMAN version 3.61 
\cite{Kurohashi98}
を利用する. }
, 
以下の基本的な素性（以下, 基本素性と呼ぶ）を
抽出する. 
素性の抽出は人手を介さずに, 形態素解析結果を入力とし自動的に行われる. 

\begin{itemize}
\item 「仕事の内容」に出現する単語（原形　品詞付き）
\item 「従業先事業の種類」に出現する単語（原形　品詞付き）
\item 「従業上の地位および役職」の選択肢（14種類）
\footnote{JGSSでは, 「従業上の地位」と「役職」をまとめた選択肢を用いる\cite{JGSS02,JGSS03}. }
\end{itemize}

次に, 各事例の正解（職業コード）と基本素性により訓練データを生成し,
SVMの分類器に学習させる. 
分類器を評価データに適用し, 職業コードを付ける. 

SVMは基本的に二値分類器であるため, 今回の職業小分類のような多値分類に
適用するには拡張を行う必要がある. 
本稿では, one-versus-rest法
\cite{kressel99}
を用いて多値分類器へと拡張した. 
以下, その他の方法においても同様である. 

\subsection{ルールベース手法との組み合わせ} 
前述したように, ルールベース手法により決定したものの正解率は, 
全体の正解率よりも約10〜15$\%$高くなっているため（表\ref{rocco}参照）, 
この結果をSVMに取り入れる手法について検討する. 

本稿では, 次の4つについて調査する. 

\begin{enumerate}
\item ルールベース手法が出力した職業コードを素性に追加する（add-code）
\item ルールベース手法でマッチしたルール（2種類）を素性に追加する（add-rule）
\item ルールベース手法で出力した職業コードおよびマッチしたルールを素性に追加する（add-code-rule）
\item ルールベース手法が職業コードを決定できない場合
にSVMによる方法の結果を利用する（seq）
\footnote{ルールベース手法が職業コードを決定できない場合とは, 
未決定のコードを出力する場合と, 
複数個の職業コードを出力する場合をいう. 
後者は, 「仕事の内容」が複数記述されている場合に生じる. 
その場合に使用されるSVMの訓練データとしては,
全事例を用いる方法と,  
ルールベース手法がコードを決定できない事例だけを用いる方法 
の２種類がある. 
ここでは, 前者の方法による. }
\end{enumerate}

各手法について, 前述の例により説明する. 
まず, add-codeは, 
SVMに用いられるn個の基本素性
（基本素性1, $\cdot$  $\cdot$  $\cdot$, 基本素性n）に, 
新しく素性n+1として「563」が追加される. 
add-ruleも同様に, 新しい素性n+1として
＜ 385 10 , ヲ , 配車 ＞$\Rightarrow$＜ 563 ＞
というルールの番号が追加される. 
この例では, 
ルールαだけしかマッチしないが, 
もしルールβにもマッチするものがあれば, 
素性n+2としてそのルール番号も追加される. 
add-code-ruleは, 
add-codeおよびadd-ruleで追加される素性のすべて（最大3個）
が新しい素性として追加される. 
seqはこれらと異なり, SVMの素性としては基本素性のみを用いるが, 
ルールベース手法の出力の状況により, 
SVMの結果も利用される. 
前述の例のように, 
職業コードが1個だけ出力される場合にはSVMは利用されず, 
ルールベース手法による結果がそのまま最終決定となるが, 
それ以外の場合すなわち, 
ルールベース手法がどのような職業コードも出力できなかったり, 
職業コードを複数個出力する場合には, 
SVMの結果が最終決定となる. 
 
4は機械学習による方法同士の組み合わせではないが, 
複数の手法をシーケンシャルに適用する, 
一種のensemble learningであると考えることもできる\cite{Sebastiani02}. 
同様に, 1はある分類器からの出力結果をもう一方の分類器の
素性としている点で, 一種のスタッキングであると考えられる
\cite{Wolpert92}. 

\section{実験}
\subsection{実験方法}
実験は, \ref{SVM}節で述べた各手法に対して, 次の2つを行う. 
\vspace{2mm}\\
　実験１：``SVMとルールベース手法の比較''および,\\ 
　　　　　``SVMとルールベース手法の有効な組み合わせ方の調査''\\
　実験２： ``コーディングの量による正解率の変化の調査''
\vspace{2mm}\\ 
　実験に用いたデータセットは, JGSSにより2000年から2002年まで毎年実施された
調査（JGSS-2000, JGSS-2001, JGSS-2002）により収集された5種類の職業データのうち, 
「本人現職」, 「本人最後職」, 「本人初職」, 「配偶者職」の4種類
\footnote{「父職」は「従業先事業の種類」が収集されていない点で他の職業と
性質が異なると考え, 今回の実験には用いていない. }
の職業において無職と学生を除く
有職者のデータ（のべ20,066サンプル）である. 
年度ごとの内訳は, 
それぞれ, 6,848サンプル, 6,448サンプル, 6,770サンプルである. 
実験１は過去の事例が利用できる場合を想定し, 
JGSS-2000データとJGSS-2001データを訓練データ, 
JGSS-2002データを評価データとする. 
例外的な事例への許容度を表し, 
値が小さいほど例外的な事例に与えられる重みを小さくする
ソフトマージンパラメータ
である$C$の値は, 
0.1〜1.0まで10通りに変化させた. 

実験２の目的は, 職業コーディングに実際に適用する場合に, 
コーダが行うべきコーディングの量を検討する準備として, 
訓練データ数と正解率との関係を調査することである. 
ここでは, これまでの調査ですでに職業コーディングが行われた事例が
利用できる場合とできない場合を想定する. 
まず, 過去の事例が利用できる場合は, 
実験１の訓練データにこれからコーディングを行うJGSS-2002データの
一部を追加したものを訓練データとし, 
JGSS-2002データの残りを評価データとする. 
また, 利用できない場合は, 
JGSS-2002データの一部を
訓練データとし, 残りを評価データとする. 
いずれの場合も, 
JGSS-2002データの分割方法は, 
n分割交差検定（n=2, $\cdot$  $\cdot$  $\cdot$, 10）による. 
訓練データと評価データは, 
最初は訓練データ数の方が小さい場合から始め, 
最終的に訓練データと評価データの比が
9：1になるまで変化させる. 
実験２は, add-code-rule, add-code, add-rule, SVMの4つの手法により,
$C$を各手法における最適値に設定して行う. 

なお, SVMのカーネル関数は線形カーネルを用いた
. 
この理由は, JGSS-2000データとJGSS-2001データを訓練データ, 
JGSS-2002データを評価データとし, 
カーネル関数を線形, 2次, 3次にして 
$C$=0.1から1.0まで10通りに値を変えて実験した結果, 
平均で線形, 2次, 3次のカーネルの順に正解率が高かったことによる. 

\subsection{実験１：結果と考察}
SVMの正解率は$C$=1.0のとき71.9$\%$である. 
システムの目標値である80$\%$には達していないが, 
評価データであるJGSS-2002データに対するルールベース手法の結果と比較する
と5.8$\%$高い. 
ルールベース手法の方が低かった理由として, 
SVMは, 各事例において, 
分離平面からの距離が相対的に大きなカテゴリに
機械的に決定するのに対して, 
ルールベース手法では, 
コーダに対する有効な支援という目的から, 
はっきりしない場合には無理に職業コードを付けず, 
未決定のまま残しておくという方針をとったこともある. 
実際, JGSS-2002データセットに対して, 
ルールベース手法により決定できた職業コードは
74.6$\%$しかないが, 
この中の79.8$\%$は正解であった（表\ref{rocco}参照）. 
これに対し, この事例に対するSVMの正解率は
78.5$\%$であり, 
ルールベース手法の方がわずかながら高い
\footnote{
両手法の正誤状況の関係を調査した結果, 
ルールベース手法が正しい場合にSVMも正しい場合は約50$\%$, 
間違っている場合は約8$\%$, 
ルールベース手法が間違う場合にSVMも間違う場合は約9$\%$,
正しい場合は約7$\%$である. 
ただし, ルールベース手法が決定できない場合や
複数個出力する場合
（約26$\%$. 後述表\ref{onedataset2}参照）
は, これに含めていない. }
. 
 
ここで, 単独のデータセットであるJGSS-2001データセットを用いて行った
次の実験についても報告する
\footnote{JGSS-2001データセットを用いた理由は, 
実験時にJGSS-2002の正解ができていなかったためである. 
基本素性を用いた10分割の交差検定の結果は, 
$C$=1.0:74.9$\%$, max:75.5$\%$, min:73.4$\%$であった. }
. 

\begin{itemize}
\item 基本素性に「仕事の内容」と「従業先事業の種類」の
2-gramを追加した実験
\footnote{1語のものも多いために1-gramを残した. 
また, 2語以上のものに対しては文末の記号も1語として扱った. 
以下の実験についても同様である. }
\item 同様に, 基本素性に3-gramを追加した実験
\item 基本素性の単語を原形でなく読みとした実験
（表記の揺れを考慮）
\item 基本素性（読み）に「仕事の内容」と「従業先事業の種類」
（いずれも読み）の2-gramを追加した実験
\item 同様に, 基本素性（読み）に3-gramを追加した実験
\end{itemize}

実験の結果, 正解率は, 
基本素性（読み）の実験で$C$
の値により0.2〜0.6$\%$程度上昇しただけで, 
他の実験ではいずれも上昇しなかった. 
また, 基本素性に対して, Information Gain
\cite{Sebastiani02}
による素性選択の実験も
行ったが, 正解率は向上しなかった. 
従って, 以下の実験はすべて, 
基本素性を用い素性選択を行わない. 

次に, SVMとルールベース手法とを組み合わせた4つの手法についての正解率を示す
（図\ref{figure000102}参照）. 
\begin{figure}
\rotatebox[origin=c]{0}{\includegraphics*[trim=0 0 0mm 0,height=1.0\linewidth,width=1.05\linewidth]{data_000102_5new.eps}}
\caption{SVMとルールベース手法との組み合わせにおける正解率}
\label{figure000102}
\end{figure}
$C$=1.0のとき, 正解率は\vspace{2mm}\\
　　add-code-rule $>$ add-code $>$ seq $\approx$ add-rule $>$ SVM（ $>$ ルールベース手法 ）\vspace{2mm}\\
の順である. 
この順位は, $C$の値が変化しても, 
seq $\approx$ add-rule が add-rule $>$ seq（$C$=1.0以外）となることを除き
ほとんど一定である. 
特に, SVMとルールベース手法とを組み合わせた手法は$C$の値に関係なく, 
すべてSVMより正解率が高く, 有効である. 

この中で, add-codeとadd-ruleに注目すると, 
$C$のすべての値において, add-ruleの方が正解率が低い. 
この理由は, 使用されたルール数が職業コードより多いことから
\footnote{ルールαは459種類, ルールβは18種類が使用された. }
, 
素性が分散して生起し, 有効に働かなかったためであると思われる. 
add-code-ruleは, 
$C$の値によりadd-codeより優位な場合もあるが, 
全体的にはadd-codeとそれほどの差がみられない. 

ここで, $C$の変化に対する各手法の正解率の傾向を観察すると, 
次の3通りに分けられる. 
seqは$C$の影響を受けないが, 
SVMは$C$=1.0のとき最大で$C$の値が小さくなるほど低下し, 
逆に, ルールベース手法と組み合わせた手法（seq以外）はいずれも$C$=0.2のとき最大で, $C$の値が大きくなるほど低下する. 
このため, SVMとこれらの手法との差は, $C$の値が小さくなるほど拡大する. 
これより, ルールベースからの情報をSVMの素性として組み入れる場合（seq以外）には, 
あらかじめ$C$の値を慎重に決めることが必要であると思われる. 
そこで, SVM, add-code, add-ruleに対して, 
JGSS-2000データを訓練データ, 
JGSS-2001データを評価データとする実験により
チューニングを行った結果, SVMは$C$=0.6, add-codeは$C$=0.4, add-ruleは
$C$=0.3, add-code-ruleは$C$=0.2で最も高い正解率が得られた. 
このときの正解率は, 
いずれの手法も図\ref{figure000102}において最大値または
それに近い値であった. 
これより, 
$C$のチューニングが有効であることがわかる. 

次に, seqについて考察を行う. 
前述したように, ルールベース手法が決定できない場合に結果が利用されるSVM
において, 
訓練データとしては, 全事例を用いる場合と決定できない場合の事例のみを用い
る場合の2通りがあるが, 
全事例を用いる方が正解率が高い
（表\ref{onedataset2}参照）
. 
\begin{table}
\begin{center}
\caption{seqで利用される事例の違いによる正解率（単位：％）}
\begin{tabular}{c|c|c}
\hline\hline
&全事例を利用&決定できない事例のみ利用\\
\hline
$C$=1.0&72.9&71.0\\
max&73.1&71.1\\
min&72.9&70.5\\
\hline
\end{tabular}
\label{onedataset2}
\end{center}
\end{table}
 
seqにおいてSVMの結果が利用されるのは, 
ルールベース手法がどのようなコードも出力できない
（未決定コードを出力する）場合か, 
複数個のコードを出力するために1個に決定できない場合のいずれかである. 
これらは両方で全事例の約26$\%$を占めるが, 
そのうちの約70$\%$は未決定コードを出力する場合である. 
seqにおいて利用されるSVMの結果についての
正誤状況を表\ref{ROCCOSVM}に示す. 
全体では正誤の割合はほぼ等しく, 
ルールベース手法が決定できない事例のうちの
約半数近く（全事例の約13$\%$）をSVMが正しく決定する. 
特に, ルールベース手法は, 
全事例の約18$\%$に対してはどのようなコードも出力できない
（未決定コードを出力する）が, 
SVMはこのような場合でも, その約45$\%$の事例（全事例の約8$\%$）
を正しく決定する. 

\begin{table}
\begin{center}
\caption{seqで利用されるSVMの結果の正誤状況（単位：個）}
\begin{tabular}{c|ccc}
\hline\hline
&SVM正&SVM誤&計\\
\hline
未決定コードを出力&533&655&1188\\
複数個のコードを出力&328&255&583\\
\hline
計&861&910&1771\\
\hline
\end{tabular}
\label{ROCCOSVM}
\end{center}
\end{table}

ここで, 
これまでにわかったことを以下にまとめる. 

まず, 
SVMの正解率は, 素性として, 
自由回答である「仕事の内容」や「従業先事業の種類」に出現する単語（原型）と
「従業上の地位と役職」の選択肢番号という
非常に基本的なものを用いただけで, 
既存のルールベース手法より約5$\%$高かった. 
しかし, 
素性の組み合わせをさまざまに変えても
正解率は向上しなかった. 
さらに, 
Information Gainによる素性選択も有効ではなかった. 
そこで, 
ルールベース手法との組み合わせに注目し, 
まず, 
SVMの素性として, 
ルールベース手法が出力した結果や
そこで用いられたルールを追加する方法を実験した
結果, 
いずれの方法においても正解率の向上がみられた. 
特にルールベース手法の結果を素性とする方法は有効で, 
システムの目標値には達しないもののSVMより最大で約4$\%$高かった. 
ただし, 
これらの方法の正解率は$C$の値による変化が大きいために, 
あらかじめ$C$の値をチューニングしておく必要がある. 
また, SVMとルールベース手法の結果をシーケンシャルに用いる方法は
$C$の値による影響がないため, 
$C$の値のチューニングは必要ないものの,
これらの方法より正解率が低い
（ただし, SVMよりは高い）. 


\subsection{実験２：結果と考察} 
図
\ref{figure00010202}
に, 
過去の事例を利用できる場合とできない場合における 
訓練データのサイズ
と正解率の関係を示す（$C$は各手法における最適値とした）
\footnote{ただし, 
図
\ref{figure00010202}
では, 
過去の事例が利用できる場合のコーディング量に, 
過去の事例（JGSS-2000およびJGSS-2001）は含まず, 
フィードバックを行う量を対象とする
. }
. 
まず, 
訓練データのサイズ
が増えるにつれ正解率も高くなり, 
過去の事例が利用できる場合は73.2〜74.5$\%$から78.1〜80.7$\%$, 
できない場合も55.9〜63.1$\%$から75.0〜77.1$\%$と変化する. 
明らかに, すべての時点で
過去の事例を利用できる場合の方が正解率が高いことから, 
過去の事例を利用できる場合には, 
今回のように多少データの性質が異なっていても
\footnote{今回の実験に用いたJGSSデータは, 
回答の形式が同じであるが, 
正解の付与者が交代したり付与した時期が異なっており, 
厳密には同じ性質であるとはいえない. 
しかし, 基本的には調査の主体が同一で継続的な調査であり, 
大きな違いはないと判断した. 
訓練データとしてどの程度の違いまで許容できるかについては, 
現在, 実験中である. 
}
, 
利用する方がよい. 
両者の差は
訓練データのサイズ
が少ない時点ほど大きいが,  
新たな事例の約7割
の
時点で, 
いずれの手法においても約5$\%$程度にまで縮まり, 
以後, 差が広がることはない. 

次に, add-code-rule $>$ add-code $>$ add-rule $>$ SVM の順位は, 
どちらの場合においても変わらない. 
特に, 過去の事例を利用できない場合においては, 
利用できる場合より各手法間の正解率の差が大きいまま
一定の間隔を保ちながら変化しており, 
add-code-rule やadd-code, add-ruleの優位性は明らかである. 
これより,過去の事例を利用できない場合においては,  
ルールベース手法との組み合わせが有効であることがわかる. 
ここで,  
過去の事例のみを利用する場合の正解率は, 
add-code-rule=74.5$\%$, add-code=74.4$\%$, add-rule=74.2$\%$, SVM=71.7$\%$
であるが, 
この値は, 
過去の事例が利用できない場合において
訓練データのサイズ
が全事例の半数の時点の正解率と
ほぼ等しい. 
従って, 
過去の事例が利用できない場合でも, 
新たな事例の約半数をコーディングすれば, 
フィードバックを行わない通常の場合と同等の効果がある. 

以上に示した値は, コーダにおける負担と正解率の観点から, 
コーディングすべき量の一つの目安を提示したものといえる. 

\begin{figure}
\rotatebox[origin=c]{0}{\includegraphics*[trim=0 0 0mm
 0,height=1.0\linewidth,width=1.05\linewidth]{test.eps}}
\caption{コーディングの量と正解率の関係（過去の事例を利用する場合*と利用しない場合）}
\label{figure00010202}
\end{figure}

\section{おわりに}\
本稿では, 職業コーディングに対して, 
SVMの適用を行い, 
既存のルールベース手法と比較した. 
また, SVMとルールベース手法の4種類の組み合わせによる適用を行った. 
その結果, 
SVMによる方法はルールベース手法より分類性能がよいが, 
両者を組み合わせる方法はさらによく, 
すべてSVMを上回ることがわかった. 
中でも, ルールベース手法が決定した職業コードを素性とする方法は
最も有効であった. 
本稿ではシステムの目標として, 
コーダによるこれまでの正解率における最高値を設定したが, 
この値には達しなかった. 
しかし, ルールベース手法が, コーダの最も低い正解率よりわずかでは
あるが下回っていたのに対し, 
SVMによる方法やSVMをルールベース手法と組み合わせた方法は, 
いずれもこの値を上回っており, 特に, 
ルールベース手法が決定した
職業コードを素性とする方法は, 
中程度のスキルの初心者コーダと同等の能力を有するといえる. 
本稿ではさらに, 訓練データとして, 過去の事例だけでなく
新たな事例のうちコーディングが終了したものを追加する
フィードバックの実験も行い, 
その有効性を確認した. 

現在, 我々は,  
コーダの作業負担を軽減する目的で, 
コーディングの作業を支援するシステムを開発中であるが, 
そこで最も主要な処理は, 
コーダが職業コードを決定する際のヒントとなるように, 
自動職業コーディングの結果にランキングを付けて候補として提示することである 
\cite{Takahashi_et_al04b}
. 
その際, 
単に自動コーディングの結果を提示するだけでなく, 
どの程度確からしいかという情報も付与できれば, 
コーダの判断をより強力に支援することができる. 
従って, 今後の課題としては,  
自動コーディングの結果に対する確信度の値を, 
SVMが出力する結果に付随する分離平面からの距離を手掛かりに
検討することである

また, 
コーダの負担を軽減するという点では, 
効果的な事例を見つけてコーディングの量を減らすことも重要である. 
このためには, 
フィードバックにおいて能動学習を取り入れることが考えられ, 
これも今後の課題としたい. \\\\
{\bf 謝辞}\\
{\small 日本版General Social Surveys（JGSS）は, 大阪商業大学比較地域研
究所が, 文部科学省から学術フロンティア推進拠点としての指定を受けて（1999-2003年度）, 東京大学社会科学研究所と共同で実施している研究プロジェクトである（研究代表：谷岡一郎・仁田道夫, 代表幹事：佐藤博樹・岩井紀子, 事務局長：大澤美苗）. データの入手先は, 東京大学社会科学研究所附属日本社会研究情報センターSSJデータ・アーカイブである. }

\bibliographystyle{jnlpbbl}
\begin{thebibliography}{}

\bibitem[\protect\BCAY{1995年SSM調査研究会}{1995年SSM調査研究会}{1995}]{95SSM9
5}
1995年SSM調査研究会 \BBOP 1995\BBCP.
\newblock \Jem{SSM産業分類$\cdot$職業分類（95年版）}.
\newblock 1995年SSM調査研究会.

\bibitem[\protect\BCAY{1995年SSM調査研究会}{1995年SSM調査研究会}{1996}]{95SSM9
6}
1995年SSM調査研究会 \BBOP 1996\BBCP.
\newblock \Jem{1995年SSM調査コード$\cdot$ブック}.
\newblock 1995年SSM調査研究会.

\bibitem[\protect\BCAY{Dumais\JBA Platt\JBA Hecherman \BBA\ Sahami}{Dumais
  et~al.}{1998}]{Dumais_et_al98}
Dumais, S.\JBA Platt, J.\JBA Hecherman, D.\JBA  \BBA\ Sahami, M. \BBOP
  1998\BBCP.
\newblock \BBOQ Inductive Learning Algorithms and Representations for Text
  Categorization\BBCQ\
\newblock In {\Bem Proceedings of the ACM-CIKM98}, \BPGS\ 145--155.

\bibitem[\protect\BCAY{Giorgetti \BBA\ Sebastiani}{Giorgetti \BBA\
  Sebastiani}{2003}]{Giorgetti03}
Giorgetti, D.\BBACOMMA\  \BBA\ Sebastiani, F. \BBOP 2003\BBCP.
\newblock \BBOQ Multiclass Text Categorization for Automated Survey
  Coding\BBCQ\
\newblock In {\Bem Proceedings of the 18th ACM Symposium on Applied Computing
  ({SAC}-03)}, \BPGS\ 798--802.

\bibitem[\protect\BCAY{Inui\JBA Utiyama \BBA\ Isahara}{Inui
  et~al.}{2003}]{Inui_et_al03b}
Inui, H.\JBA Utiyama, M.\JBA  \BBA\ Isahara, H. \BBOP 2003\BBCP.
\newblock \BBOQ Criterion for Judging Request Intension in Response text
  Open-ended Questionnaires\BBCQ\
\newblock In {\Bem Proceedings of the Second International Workshop on
  Paraphrasing}, \BPGS\ 49--56.

\bibitem[\protect\BCAY{Isozaki \BBA\ Hirao}{Isozaki \BBA\
  Hirao}{2003}]{Isozaki_et_al03}
Isozaki, H.\BBACOMMA\  \BBA\ Hirao, T. \BBOP 2003\BBCP.
\newblock \BBOQ Japanese Zero Pronoun Resolition based on Ranking Rules and
  Machine Learning\BBCQ\
\newblock In {\Bem Proceedings of the Eighth Conference on Empirical Methods in
  Natural Language Processing}, \BPGS\ 184--191.

\bibitem[\protect\BCAY{Joachims}{Joachims}{1998}]{Joachims98}
Joachims, T. \BBOP 1998\BBCP.
\newblock \BBOQ Text Categorization with Support Vector Machines: Learning with
  Many Relevant Features\BBCQ\
\newblock In {\Bem Proceedings of the European Conference on Machine Learning},
  \BPGS\ 137--142.

\bibitem[\protect\BCAY{Kressel}{Kressel}{1999}]{kressel99}
Kressel, U. \BBOP 1999\BBCP.
\newblock \BBOQ Pairwise classication and support vector machines\BBCQ\
\newblock In Sch{\" o}lkopf, B.\JBA Burgesa, C. J.~C.\JBA  \BBA\ Smola,
  A.~J.\BEDS, {\Bem Advances in Kernel Methods *Support Vector Learning},
  \BPGS\ 255--268. The MIT Press.

\bibitem[\protect\BCAY{Sebastiani}{Sebastiani}{2002}]{Sebastiani02}
Sebastiani, F. \BBOP 2002\BBCP.
\newblock \BBOQ Machine Learning Automated Text Categorization\BBCQ\
\newblock {\Bem ACM Computing Surveys}, {\Bbf 34}  (1), 1--47.

\bibitem[\protect\BCAY{Seng-Bae \BBA\ Byoung-Tak}{Seng-Bae \BBA\
  Byoung-Tak}{2003}]{Seng-Bae03}
Seng-Bae, P.\BBACOMMA\  \BBA\ Byoung-Tak, Z. \BBOP 2003\BBCP.
\newblock \BBOQ Text Chunking by Combining Hand-Crafted Rules and Memory-Based
  Learning\BBCQ\
\newblock In {\Bem Proceedings of the 41-th Annual Meeting of the Association
  for Computational Linguistics(ACL 2003)}, \BPGS\ 497--504.

\bibitem[\protect\BCAY{Vapnik}{Vapnik}{1998}]{Vapnik98}
Vapnik, V. \BBOP 1998\BBCP.
\newblock {\Bem Statistical Learning Theory}.
\newblock John Wiley, New York.

\bibitem[\protect\BCAY{Wolpert}{Wolpert}{1992}]{Wolpert92}
Wolpert, D.~H. \BBOP 1992\BBCP.
\newblock \BBOQ Stacked Generalization\BBCQ\
\newblock {\Bem Neural Networks}, {\Bbf 5}, 241--259.

\bibitem[\protect\BCAY{西村\JBA 石田}{西村\JBA 石田}{2001}]{Nishimura01}
西村幸満\JBA  石田浩 \BBOP 2001\BBCP.
\newblock \JBOQ SSJ Data Archive Research Paper
  Series　JGSS-2000調査　職業$\cdot$産業コーディングインストラクション\JBCQ\
\newblock \JTR, 東京大学社会科学研究所付属日本社会研究情報センター.

\bibitem[\protect\BCAY{国立国語研究所}{国立国語研究所}{1964}]{bunrui64}
国立国語研究所 \BBOP 1964\BBCP.
\newblock \Jem{分類語彙表}.
\newblock 秀英出版社.

\bibitem[\protect\BCAY{黒橋禎夫\JBA 長尾}{黒橋禎夫\JBA
  長尾}{1998}]{Kurohashi98}
黒橋禎夫\JBA  長尾眞 \BBOP 1998\BBCP.
\newblock \Jem{日本語形態素解析システム JUMAN version 3.61}.
\newblock 京都大学大学院情報研究科.

\bibitem[\protect\BCAY{原}{原}{1993}]{Hara93}
原純輔 \BBOP 1993\BBCP.
\newblock \Jem{SSM職業分類（改訂版）}.
\newblock 東京都立大学.

\bibitem[\protect\BCAY{原\JBA 海野}{原\JBA 海野}{1984}]{Hara84}
原純輔\JBA  海野道郎 \BBOP 1984\BBCP.
\newblock \Jem{社会調査演習}.
\newblock 東京大学出版会.

\bibitem[\protect\BCAY{東京大学社会科学研究所}{東京大学社会科学研究所}{2002}]{
JGSS02}
東京大学社会科学研究所大阪商業大学比較地域研究所 \BBOP 2002\BBCP.
\newblock \Jem{日本版General Social Surveys JGSS-2000
  基礎集計表$\cdot$コードブック}.
\newblock 東京大学社会科学研究所.

\bibitem[\protect\BCAY{東京大学社会科学研究所}{東京大学社会科学研究所}{2003}]{
JGSS03}
東京大学社会科学研究所大阪商業大学比較地域研究所 \BBOP 2003\BBCP.
\newblock \Jem{日本版General Social Surveys JGSS-2001
  基礎集計表$\cdot$コードブック}.
\newblock 東京大学社会科学研究所.

\bibitem[\protect\BCAY{工藤\JBA 松本}{工藤\JBA 松本}{2002}]{kudo02}
工藤拓\JBA  松本裕治 \BBOP 2002\BBCP.
\newblock \JBOQ Support Vector Machineを用いたchunk同定\JBCQ\
\newblock \Jem{自然言語処理}, {\Bbf 9}  (5), 3--22.

\bibitem[\protect\BCAY{平\JBA 春野}{平\JBA 春野}{2000}]{Taira00}
平博順\JBA  春野雅彦 \BBOP 2000\BBCP.
\newblock \JBOQ Support Vector Machineによるテキスト分類における属性選択\JBCQ\
\newblock \Jem{情報処理}, {\Bbf 41}  (4), 1113--1123.

\bibitem[\protect\BCAY{乾\JBA 村田\JBA 内元\JBA 伊佐原}{乾\Jetal
  }{2003}]{Inui_et_al03a}
乾裕子\JBA 村田真樹\JBA 内元清貴\JBA  伊佐原均 \BBOP 2003\BBCP.
\newblock \JBOQ
  表層表現に着目した自由回答アンケートの意図に基づく自動分類\JBCQ\
\newblock \Jem{自然言語処理}, {\Bbf 10}  (2), 19--42.

\bibitem[\protect\BCAY{高橋}{高橋}{2000}]{Takahashi00}
高橋和子 \BBOP 2000\BBCP.
\newblock \JBOQ
  自由回答のコーディング支援について−格フレームによるSSM職業コーディングシス
テム−\JBCQ\
\newblock \Jem{数理社会学会論文誌　理論と方法}, {\Bbf 15}  (1), 149--164.

\bibitem[\protect\BCAY{高橋}{高橋}{2001}]{Takahashi01}
高橋和子 \BBOP 2001\BBCP.
\newblock \JBOQ
  自由回答のコーディング自動化システム−「健康と階層」調査における職業コーディ
ング−\JBCQ\
\newblock \Jem{敬愛大学国際研究}, {\Bbf 8}  (1), 31--52.

\bibitem[\protect\BCAY{高橋}{高橋}{2002a}]{Takahashi02b}
高橋和子 \BBOP 2002a\BBCP.
\newblock \JBOQ
  JGSS-2000における職業$\cdot$産業コーディング自動化システムの適用\JBCQ\
\newblock \JTR, 日本版General Social Surves
  研究論文集JGSSで見た日本人の意識と行動　東京大学社会科学研究所資料第20集.

\bibitem[\protect\BCAY{高橋}{高橋}{2002b}]{Takahashi02a}
高橋和子 \BBOP 2002b\BBCP.
\newblock \JBOQ 職業$\cdot$産業コーディング自動化システムの活用\JBCQ\
\newblock \Jem{第8回言語処理学会年次大会発表論文集}, \BPGS\ 491--494.

\bibitem[\protect\BCAY{高橋}{高橋}{2003}]{Takahashi03}
高橋和子 \BBOP 2003\BBCP.
\newblock \JBOQ
  JGSS-2001における職業$\cdot$産業コーディング自動化システムの適用\JBCQ\
\newblock \JTR, 日本版General Social Surves
  研究論文集[2]JGSSで見た日本人の意識と行動　東京大学社会科学研究所資料第22集.

\bibitem[\protect\BCAY{高橋}{高橋}{2004}]{Takahashi04}
高橋和子 \BBOP 2004\BBCP.
\newblock \JBOQ 職業コーディングにおけるROCCOシステムとSVMの組み合わせ\JBCQ\
\newblock \JTR, 日本版General Social Surves
  研究論文集[3]JGSSで見た日本人の意識と行動　東京大学社会科学研究所資料第24集.

\bibitem[\protect\BCAY{高橋\JBA 高村\JBA 奥村}{高橋\Jetal
  }{2004a}]{Takahashi_et_al04a}
高橋和子\JBA 高村大也\JBA  奥村学 \BBOP 2004a\BBCP.
\newblock \JBOQ 機械学習とルールベースによる職業コーディング\JBCQ\
\newblock \Jem{情報処理学会研究報告 159-{NL}-9}, \BPGS\ 53--60.

\bibitem[\protect\BCAY{高橋\JBA 須山\JBA 村山\JBA 高村\JBA 奥村}{高橋\Jetal
  }{2004b}]{Takahashi_et_al04b}
高橋和子\JBA 須山敦\JBA 村山紀文\JBA 高村大也\JBA  奥村学 \BBOP 2004b\BBCP.
\newblock \JBOQ 職業コーディング支援システム（NANACO）の開発\JBCQ\
\newblock \Jem{第37回数理社会学会大会研究報告要旨集}, \BPGS\ 20--23.

\end{thebibliography}

\begin{biography}
\bioauthor{高橋 和子(正会員)}{
東京女子大学文理学部数理学科卒.
1983年茨城大学人文学部社会科学科助手.
1993年千葉敬愛短期大学専任講師.
1997年敬愛大学国際学部専任講師.
1998年産能大学大学院経営情報学研究科修了.
2001年敬愛大学国際学部助教授.
2003年東京工業大学大学院総合理工学研究科博士課程入学.
現在に至る.
経営情報学修士.
社会調査で収集されるテキスト型データ, 特に自由回答の
処理・分析方法に興味をもつ.
日本オペレーションズ・リサーチ学会, 数理社会学会, 情報処理学会,
 言語処理学会, 日本社会学会各会員. \\
takak@u-keiai.ac.jp, http://oku-gw.pi.titech.ac.jp/\verb+~+kazu/ .
}

\bioauthor{高村 大也(非会員)}{
1974年生．
1997年東京大学工学部計数工学科卒. 2000年同大大学院工学系研究科計数工学専
攻修了(1999年はオーストリアウィーン工科大学にて研究).
2000年奈良先端科学技術大学院大学博士後期課程修了.
2003年東京工業大学精密工学研究所助手, 現在に至る.
自然言語処理, 特に学習理論等の応用に興味を持つ.
情報処理学会, ACL各会員. \\
takamura@pi.titech.ac.jp, http://oku-gw.pi.titech.ac.jp/\verb+~+takamura/ .
}

\bioauthor{奥村 学(正会員)}{
1962年生．1984年東京工業大学工学部情報工学科卒業．1989年同大学院博士課
程修了．同年，東京工業大学工学部情報工学科助手．1992年北陸先端科学技術
大学院大学情報科学研究科助教授，2000年東京工業大学精密工学研究所助教授，
現在に至る．工学博士．自然言語処理，知的情報提示技術，語学学習支援，テ
キストマイニングに関する研究に従事．
情報処理学会，人工知能学会, AAAI，言語処理学会，ACL, 認知科学会，計量国
 語学会各会員．\\
oku@pi.titech.ac.jp, http://oku-gw.pi.titech.ac.jp/\verb+~+oku/ .
}
\end{biography}

\end{document}





















