# 社会学における職業・産業コーディング自動化システムの活用

高橋 和子†・多喜 弘文 ${ }^{\dagger \dagger}$ ・田辺 俊介计・李偉 ${ }^{+\dagger \dagger}$

社会学では, 職業や産業は性別や年齢などと同様に重要な変数であるとの認識から,正確を期するために，自由回答で収集したデー夕を研究者自身によりコードに変換 することが多い. これは職業・産業コーディングとよばれるが，大規模調査の場合，膨大な労力と時間がかかる上に, 結果における一貫性の問題も存在する。そこで, ルールベース手法と機械学習 (SVM) を適用したコーディング自動化システムを開発した，本システムは，国内・国際標準の職業・産業コードを第 3 位まで予測し, 第 1 位の予測コードには, 自動コーディング後に人手によるチェックが必要か否かの 目安となる 3 段階の確信度も付与する. 現在, 本システムは, 東京大学社会科学研究所附属社会調査・データアーカイブ研究センター (CSRDA) から Webによる利用 サービスが試行提供されており，研究目的であれば，たれもが指定された形式の入 カファイルをアップロードして, 希望するコードに変換された結果ファイルをダウ ンロードすることができるようになっている.

キーワード：社会調査, 職業・産業コーディング, 自動コーディングシステム, 3 段階の確信度, Webを通じた一般公開
## An Automatic Occupation and Industry Coding System in Sociology

Kazuko Takahashi ${ }^{\dagger}$, Hirofumi Taki ${ }^{\dagger \dagger}$, Shunsuke Tanabe ${ }^{\dagger \dagger \dagger}$ and Li WeI ${ }^{\dagger \dagger \dagger \dagger}$

In sociology, occupation and industry variables are as important as sexual and age variables. For the purpose of statistical processing, answers collected from open-ended questions in social surveys need to be converted into code, which requires considerable time and effort and often results in inconsistencies in large scale surveys. This work deals with occupation and industry coding. In this work, we develop an automatic system using hand-crafted rules and Support Vector Machines. Our system can assign three candidate codes to an answer and estimates the confidence level of the primary predicted code for each national/international standard code sets. The system has now been released through the website of the Center for Social Research and Data Archives. The user can get the required coding result by uploading the data file in a specific format.

Key Words: Social Surveys, Occupation and Industry Coding, Automaic Coding System, Three Grade Confidence Level, Open to the Public through the Website

## 1 はじめに

社会学においては，職業や産業デー夕は性別や年齢などと同様に重要な属性であり，正確を期する必要がある。このため，国勢調査でも行われているように，自由回答で収集したものを研究者自身が職業・産業分類コードに変換する場合が多い (原 1984).この作業は「職業・産業コーディング」とよばれるが，国内の社会学において標準的に用いられる職業コード（SSM 職業小分類コード）は約 200 個，産業コード（SSM 産業大分類コード）は約 20 個あり (1995 年 SSM 調査研究会 1995), 分類すべきクラスの数が非常に多く, コード化のルールも複雑なことから, 特に大規模調査の場合は多大な労力や時間を要するという染刻な問題を抱えている (盛山 2004). また, 多人数で長期間にわたる作業となるため, コーディング結果における一貫性の問題も指摘されている (䡛, 杉野 2013). そこで, これらの問題を軽減する目的で, 職業・産業コーディングを自動化するシステムの開発を行ってきた.

最初に開発したシステムは，SSM 職業・産業分類コードを決定するルールを生成し，これに基づいて自動コーディングを行った結果を CSV 形式のファイルにするもので (高橋 2000)，主として大規模調査に利用された (高橋 2002b, 2003; 高橋，須山，村山，高村，奥村 2005a)，その後，自動コーディングの精度向上のため，自動化のアルゴリズムを，文書分類において分類性能の高さで評価されている機械学習のサポートベクターマシン (SVM) (Joachims 1998; Sebastiani 2002)とルールベース手法を組み合わせた手法に改良した (Takahashi, Takamura, and Okumura 2005; 高橋, 高村, 奥村 2005b). また, 社会学を取り巻く環境の変化に対応するために，ILOにより定められた国際標準コードに変換するシステムも開発した (高橋 2008, 2011). さらに，いずれのシステムにも，自動コーディングの結果に対してシステムの確信度を付与する機能を追加した (高橋, 田辺, 吉田, 魏, 李 2013a). この結果, 自動化システムは職業・産業コーディングにおける前述の 2 つの問題解決に大きく貢献するものとして, 社会調査分野において評価を得た (原 2013).

自動化システムはまた，職業・産業コーディングの実施方法も変えた，以前は，コーダは調査票を見ながらコーディングを行い，その結果を調査票に書き入れていた。しかし，システムの開発以降，依頼者が作成したデータファイルを開発者が事前に処理し，コーダはその結果付きのファイルを画面に表示してコーディングを行い，結果を入力するようになった. この方法は，自動化システムを利用する場合の標準的な方法となった.

現在, 自動化システムは整理統合され, 東京大学社会科学研究所附属社会調査・データアー カイブ研究センター (CSRDA) から， Webを通じた利用サービスとして試行提供されている1 (Takahashi, Taki, Tanabe, and Li 2014). 利用希望者は, 自動コーディングを希望するコードの
^{1}$ http://csrda.iss.u-tokyo.ac.jp/joint/autocode/
}
種類を明記した書類を CSRDA に申請し，受理されれば，所定の形式の入力ファイルを指定された場所にアップロードすることができ，その場所から，CSRDAのシステム運用担当者が処理した結果をダウンロードできる仕組みとなっている。これにより，一般の研究者や研究グルー プが開発者を通すことなく，自由にシステムを利用することができるようになった．

海外においても職業・産業コーディングは実施されており，負担の大きい作業であるとの認識から，コンピュータによる支援方法が検討されている。しかし，単なる単語のマッチング以外のものは，韓国と米国における 2 例のみである。いずれもルールベース手法が中心で，機械学習は適用されていない。また，以上に述べた自動化システムと大きく異なるのは，職業や産業コードそのものを重要な変数として分析に用いる社会学の研究を支援するものではない点である。

本稿では，現在公開中の自動化システム（以下，本システムと略す）について報告する。本システムにおける新規性は次の 3 つである.
- 分類精度向上のために, ルールベース手法と機械学習の組み合わせ手法の適用

・コーダの作業負担軽減のため, 第 1 位に予測された候補に対する確信度を付与

・国内標準コードだけでなく，近年利用が高まっている国際標準コードにも対応

本システムは，CSRDAに置かれたのを機に，だれもが容易に操作することができるように， ユーザーインターフェイスを改良した。これは，システムの運用担当者が社会学研究者であることと，短期間で交代する状況を考慮したためである。

以下では，最初に自動化システムのこれまでの変遷について補足説明を行った後，本システムについて述べる，そこでは，実際に本システムを利用する社会学研究者による評価も報告する。また，CSRDAにおける本システムの利用方法についても述べる.

## 2 自動化システムの変遷

1節で述べたように, 自動化システムは開発当初とはアルゴリズムを変え, 国際標準コードへの変換も行うようになった。国際標準の職業コードは, ISCO (International Standard Classification of Occupations) ${ }^{2}$, 産業コードは ISIC (International Standard Industrial Classification of All Economic Activities $)^{3}$ で，いずれもSSM コードとはコード体系が異なり，4桁の階層構造で， SSM コードより分類クラスの個数が多い．新規にシステムを開発した理由は，SSMコードはもともと 1968 年版の国際標準コードを源とするが，1988 年の国際標準コードの大幅な改訂により両者の対応関係が複雑化し，変換表の作成が困難であると判断したためである (田辺 2006).
^{3} \mathrm{http} / /$ laborsta.ilo.org/applv8/data/isic3e.html
}

これにより，個々に独立したシステムではあるが，国内標準コードと国際標準コードに対する自動コーディングが可能となった.

自動化システムを利用すれば，コーダは提示されたコードを参考にコーディングを行うことができる。このため，特に初心者のコーダに対する有効性が評価され，国内の代表的な社会調査において利用が広がった。例えば，我が国初の二次分析のための大規模調査 JGSS（Japanese General Social Surveys ; 日本版総合的社会調査） 4 においては, 初回の 2000 年以降, 毎回利用されてきた (高橋 $2002 \mathrm{~b}, 2003$; 高橋他 2005a; 高橋 2011).また, 10 年ごとに実施される SSM (Social Stratification and socila Mobility) 調査（社会階層と社会移動全国調查）においても，2005

自動化システムの利用によりコーダの作業は楽になったが, 熟練コーダがすべてのコーディング結果に対して再チェックを行って最終コード（正解）を決定する状況は変わらなかった. そこで, 熟練コーダの作業量についても軽減できるように, 自動コーディングの結果に対して,人手によるコーディングが必要かどうかを示す目安として， 3 段階 (A: 不要, B: できれば行う方がよい，C: 必要）の確信度を付与する機能の追加を行った (高橋他 2013a). この確信度は,一般のコーダが自動コーディングの結果を参考にする場合の判断基準としても有用であると考えられる。

自動化システムは開発以来, 大規模調查での利用が多かった. しかし, 近年は, 一般の研究者や研究グループからも利用の要請が増えてきたため, Webを通じてだれもが自由に利用できる仕組みの検討を始めた (高橋, 田辺, 吉田, 魏, 李 $2013 \mathrm{~b}$ ). その際, 利用者の多くが文系の研究者であることや, システムの稼働環境がやや複雑であることから, 利用者自身がシステムをダウンロードして用いるのではなく，入力データのファイルをアップロードしたものをシステ么運用担当者が処理する方法を想定した。また，システムの運用業務についても，開発者以外のだれもが担当できるように改良する必要があると判断した。これらの課題を解決し, CSRDA から公開されているものが本システムである.

## 3 職業・産業コーディング自動化システム

## 3.1 職業・産業コーディング

最初に，職業・産業コーディングが対象とする質問と回答について具体的に説明する.
^{4}$ http://jgss.daishodai.ac.jp/surveys/sur_top.html

5 http://www.l.u-tokyo.ac.jp/2015SSM-PJ/index.html

6 SSM 調査は大規模である上に，社会学の中でも職業や産業データがとりわけ重要な役割を果たす階層移動研究の調査で, 本人の初職から現職にいたるまでの職業や産業の履歴に加え, 配偶者, 父親, 母親についても収集されるため, 作業量の問題は重大である。例えば 2015SSM 調査の場合, コーディングを行う事例は約 60,000 にのぼっている.
}
表 1 質問文の例と回答の形式（JGSS の場合）

 &  & 自由回答 \\

職業・産業コーディングは, 自由回答である「仕事の内容」(職業の場合) または「従業先の事業内容」(産業) を中心に, 選択回答である「従業上の地位・役職」, 「従業先の事業規模」から構成される質問群により収集される回答に対して実施される (1995 年 SSM 調査研究会 1996).質問文は調査により多少異なるが，JGSS における質問文と回答の形式を表 1 に示す (大阪商業大学比較地域研究所・東京大学社会科学研究所 2005) ${ }^{7}$. 表 1 における選択回答の選択肢は注に示す通りである8.

職業・産業コーディングの例として，「仕事の内容」が「配車等を手配」，「従業先の事業内容」 が「荷物をつみおろす業務等」,「従業上の地位・役職」が「2」,「従業先の事業規模」が「8」であるようなデータの場合, SSM 職業コードは「563」(運輸事務員) が付与され (高橋他 2005b), SSM 産業コードは「80」(運輸業) が付与される。なお, 社会学においては職業と産業の両方をコーディングする場合が多いが，産業のデータ（「従業先の事業内容」「従業先の事業規模」） が収集されず，職業コーディングのみ実施される場合もある。このような場合，本システムは， それぞれを「無回答」「13」とした入力ファイルにより処理を行う。

## 3.2 変換を行うコードの種類

職業・産業コーディングにおいて本システムが変換するコードは, 表 2 に示す 4 種類で, いずれも現在の社会学で必要性が高いものである ${ }^{9}$. 特に, SSM 職業コードは, 初回の 1955 年 SSM 調査以来，社会学における標準的なコードとして用いられている．表 2 に示す小分類コードの上位には 16 の大分類がある (表 3 参照). 社会学の研究では, この大分類または 4.2 節で述べる別の種類の大分類レベルに小分類コードを統合して分析する場合が多い.

SSM コードは 1995 年に改定されて以来，コード体系は変えていないが，職業や産業を取り巻く環境の変化を反映するために，新規のコードが追加されている．例えば，SSM 職業コードは，1995 年調査で用いられた 189 個（表 3 参照）が基本であるが，2005 年 SSM 調查では既存のコードから 700 番台のコードを分化させ $10 ， 2015 \mathrm{SSM}$ 調査では 800 番台のコードを分化させた ${ }^{11}$. 国内の社会学では SSM 調査や JGSS で用いられるコードに倣うことが多いため, 本システムでも 2005SSM 調査に合わせ，表 3 に示したコードに 700 番台のコードを追加した 193 個の

表 2 変換するコードの種類と個数

} & SSM 職業コード (小分類) & 約 200 & 1995 年版 (1995 年 SSM 調査研究会 1995) を基本 \\
\cline { 1 - 3 }  & ISCO (小産業コード (大分類) & 約 20 & とする \\
\cline { 2 - 4 } コー類) & 約 400 & ISCO-88 (階層構造 4 桁をすべて利用) \\

表 3 SSM 職業コードにおける大分類と小分類の対応

コードに分類する。コードの分化は SSM 産業コードにおいても行われている ${ }^{12}$.

## 3.3 入カファイルと結果ファイルの形式

入力データは, $\mathrm{A}$ 列から $\mathrm{F}$ 列までの各列がこの順に,「ID」「学歴」「従業上の地位・役職」「従業先の事業内容」「仕事の内容」「従業先の事業規模」である CSV 形式のファイルである（表 4 参照)。学歴は選択肢で収集される ${ }^{13}$.

利用者は，この形式のファイルを用意すれば，表 2 に示す 4 種類のコードのうち希望するコー ドを最大 4 種類まで自由に選択できる。入力ファイルの作成方法については， CSRDAの Web サイト ${ }^{14}$ に詳細な説明が掲載されている。

本システムでは，過去の調査等ですでにSSM コードが付与された事例に対し，このコードを利用して新たに ISCO や ISIC を付与することも可能である。このため，表 4 に示した入力ファイルの右列に「付与ずみのSSM コード」を追加したものも受け付ける，例えば，ISCO を希望する場合は G 列に SSM 職業コード, ISIC を希望する場合は H 列に SSM 産業コードを入力すれば， 3.7 節で述べるように，システムはこのSSM コードを利用して処理を行う。

本システムでは, 結果ファイルとして, 第 3 位までに予測したコードを提示した CSV 形式のファイルをコードの種類ごとに出力する（表 5 参照），表 5 において, rank1, rank2, rank3 はそれぞれ「第 1 位に予測されたコード」「第 2 位に予測されたコード」「第 3 位に予測されたコー ド」を意味する。また，確信度は，システムが第 1 位に予測したコードに対する信頼度で，本システムでは，「A: 人手によるコーディングは不要， B: できれば人手によるコーディングを行う方がよい， C: 人手によるコーディングが必要」の 3 段階を出力する．確信度については 3.8 節で説明する。

表 4 入力ファイルの例

表 5 結果ファイルの例（SSM 職業コードの場合）

図 1 操作画面（開始時）

図 2 操作画面 (入力ファイルとコードを指定)

## 3.4 操作用の画面

図 1 は，本システムを稼働させたときに最初に表示される操作用画面である。実行を開始するには，この画面上で入力ファイルを指定し，変換を希望するコードのチェックボックスをクリックした後，Run ボタンを押せばよい，図 2 は，SSM 職業コードとISCO を選択した場合の例である.

本システムは，図 2 に示すように，実行開始までは人間が操作するが，これ以降は結果ファイルを出力するまですべて人手を介さずにコンピュータが自動的に処理をする．結果ファイルは, SSM 職業コード, ISCO, SSM 産業コード, ISIC の順に作成する。例えば, 図 2 の場合は, SSM 職業コードの結果ファイルを作成後, ISCO の結果ファイルを作成して処理を完了する．途中の処理状況は画面に表示される。その一部を図 3 , 図 4 に示す.

## 3.5 システム構成図と自動化の手法

本システムの構成を図 5 に示す。図 5 より明らかなように，本システムでは，すべてのコー ドに対して，直接または間接的にルールベース手法とSVM を組み合わせた手法を適用する.

直接的にルールベース手法と SVM を組み合わせる手法は SSM コードに適用するもので, ルー ルベース手法により決定されたコードを直接，SVM の素性として利用する．ISCOとISICにはルールベース手法がないためにこの手法は適用せず, SVM の素性として, ルールベース手法と SVM を組み合わせた手法により予測されたSSM コードを利用する。このため, ISCO や ISIC

図 3 処理状況の表示（ISCO 処理中）

図 4 処理状況の表示（処理完了）

図 5 システム構成図

も間接的にルールベース手法と SVM を組み合わせた手法を適用している。たたし，例外として図 5 には示していないが，過去の調査等ですでにSSM コードが付与された事例に ISCO や ISIC を付与する場合はこのコードを利用するため，ルールベース手法の適用は行わない.

自動化の手法について, 次節でルールベース手法 (高橋 2000)について述べた後, 3.7 節でこれをSVM に組み合わせる方法 (高橋他 2005b) について述べる。

## 3.6 ルールベース手法

## 3.6.1 格フレームの概念による職業・産業データの理解

職業・産業コーディングにおいて最も重要な情報は, 自由回答の記述内容である。職業コー ドや産業コードの定義 (1995 年 SSM 調査研究会 1995) から, 職業デー夕は個人, 産業デー夕は
従業先の事業という違いはあるが，いずれも基本的には動作の違いにより大きく分かれ，さらに，その動作が何を対象とするのか，どこで行われるのかにより細かく分類されると解釈できる。したがって，本システムでは自由回答に記述された内容すべてを解析せず，分類に必要なものとして，「格フレーム」の概念に基づく情報のみを抽出する。

最初に, 入力ファイル中の自由回答に対して形態素解析 (黑橋, 長尾 1998) を行う. その結果から，職業・産業コーディングにおいて不要であると判断できる語を削除する。具体的には，品詞が「形容詞」、「副詞」,「接頭辞」,「接尾辞」である語および原形が「等」,「他」，「関係」，「仕事」,「作業」などの語（118 種類）である。

次に，動作を表す語（本稿ではこれを「述語」とよぶ）を抽出するが，本システムでは構文解析を行わずに，単純に回答の末尾にある語を述語とする。このため，本システムでは，動詞だけでなく, サ変名詞や普通名詞も述語として扱われる ${ }^{15}$.

以下では，職業を例に述べる。述語には，述語だけでSSM 職業コードが決定できるものと，述語が必要とする格とその格が取る語（本稿ではこれを「名詞」とよぶ）が必要なものがある.

前者の例は, 「薬剂師」や「栄養士」のような職業名が多く, 述語のみでSSM 職業コード「510」 （薬剤師）や「513」（栄養士）が付与される。後者の例は，「製造」や「教える」で，それぞれ 「何を」や「どこで」の内容により SSM 職業コードが異なるため，格と名詞が必要となる。この場合，述語の前に助詞（「を」や「で」）があれば，これを手がかりにして名詞を抽出し，く述語，格，名詞>の三つ組を生成する，例えば，述語が「製造」の場合，述語の前に助詞「を」 があればこれを抽出した後，「を」の直前にある名詞も抽出する，同様に，「教える」の場合は，述語の前に助詞「で」があればこれを抽出し，「で」の直前にある名詞も抽出する．本システムでは，前者の場合も，格と名詞を抽出する必要のない三つ組として扱う．

本システムは，回答から複数の述語が抽出されたり，回答の途中に「。」があると，複数の文 （単語のみの場合もある）が存在すると判断し，各文に対してそれぞれ三つ組を生成する。例えば，「仕事の内容」が「野菜の生産と販売」や「野菜を生産する。販売もする」である場合，いずれも，最初の文からは<生産， ヨ，野菜>，2つめの文からは<販売>なる三つ組を生成する。また，1文であっても，「米や野菜を作っている」のように，複数の名詞が並列で表現されている場合には，〈作る， ヨ，野菜 $>$, ＜作る， ヨ，米>のように複数の三つ組を生成する.

最後に，このようにして生成された三つ組に対し，あらかじめ三つ組と職業コードのぺアにより構築しておいたルールセットを探し，マッチするものがあれば該当するSSM 職業コードを付与し，なければ不明を意味する「999」を付与する。三つ組が複数ある場合には，その各々に対してこの処理を行う。このルールを本稿ではルール $\alpha$ とよぶ.

ルール $\alpha$ は次の形式で表現されるが，左辺において，格と名詞が省略される場合もある。また，実際には，ルール $\alpha$ では，述語ではなく，3.6.2 節で述べる述語コードを用いるが，説明の都合上,ここでは述語を用いて表現した.

$
\text { ルール } \alpha \text { : <述語, 格, 名詞 }>\Rightarrow<\mathrm{SSM} \text { 職業コード }>
$

例えば，「仕事の内容」が「アルバイトでケーキを作っている」の場合，〈作る， ヲ，ケーキ $>$ を抽出し，ルール $\alpha<$ 製造， ヨ，菓子 $>\Rightarrow<644>$ により，SSM 職業コード「644」(パン.菓子・めん類・豆腐製造工）を付与する。このとき，「作る」を「製造」「ケーキ」を「菓子」とみなすことができるのは，次節で述べる「述語シソーラス」や「名詞シソーラス」を利用するためである. 同様に，「仕事の内容」が「大学で哲学を教えている」であれば，＜教える，デ，大学 $>$ を抽出し，ルール $\alpha<$ 教える，デ，大学 $>\Rightarrow<524>$ により，SSM 職業コード「524」 （大学教員）を付与する.

ルール $\alpha$ は, 文献 (1995 年 SSM 調査研究会 1995) に記載された定義や例に基づいて人手で生成した. その後, 自動化システムが処理した事例から得られた情報を追加した。その際, ルー ル $\alpha$ の右辺に 2 つ以上のコードを記述したものも生成した. 例えば，「仕事の内容」に「営業」 としか記述されていない場合, 内勤の営業事務 (「557」) であるのか外回りの営業 (「573」) であるのかは判断できないが，どちらかである可能性が非常に高い，そこで，少しでもコーダの参考となるように，実際には存在しないが，「5570573」（営業・販売事務員または外交員（保険・不動産を除く)）なるコードを生成した ${ }^{16}$.

「従業先の事業内容」から SSM 産業コードを決定するためのルール（産業ルール）もルール $\alpha$ と同様の形式であり, ルール $\alpha$ と同様の手続きにより生成した. 現在, ルール $\alpha$ は 4,224 個.産業ルールは 948 個存在する.

## 3.6.2 シソーラスによる語の拡張

社会の変化に伴い,「仕事の内容」や「従業先の事業内容」には多様な語が記述される. そこで, 本システムでは, ルール $\alpha$ は, 出現するすべての語ではなく代表的な語により生成し, ルー ル $\alpha$ で用いた述語や名詞に対してそれぞれシソーラスを構築することで対応することとした.述語シソーラスは, 語や品詞が異なっていても, 職業や産業コードに分類する観点からは同一視できる語同士に同一の述語コードを付けてグループ化したものである. 例えば，「製造」(サ変名詞),「製作」(サ変名詞),「作る」(動詞)にはすべて同一の述語コード「3861」を付ける. 3.6.1 節の例において, 「作る」を「製造」と同一視できたのはこのためである. 現在, 述語シ

ソーラスの述語コードは 2,880 個, 異なり語は 10,871 個であり, 1 つの述語コードは平均 4 個の異なり語をもつ。

名詞シソーラスは，ルール $\alpha$ で用いた名詞を見出し語とし，職業や産業コードに分類する観点からはこの見出し語と同一視できる語とともにグループ化したものである．見出し語は，「自動車 $1 」$ や電気機械器具」のように，複数の形態素に切り出される語であってもよいが，見出し語以外の語は, 回答とのマッチングを行うために, 形態素が 1 個である必要がある. 1 つのグループに $\mathrm{k}$ 個の語が含まれる場合, 名詞シソーラスは次の形式で表現される $(1<i<k)$.

(見出し語語 1 ・. 語 $\mathrm{i} \cdot$. 語 $\mathrm{k}$ )

3.6.1 節の例で，「ケーキ」を「菓子」とみなすことができたのは，「ケーキ」が見出し語「菓子」のグループに含まれるためである.

名詞シソーラスでは，同じ語が別のグループに出現する場合もある。例えば，「菓子」は先の例では見出し語であったが，見出し語「小売店」のグループにおいては，見出し語以外の語としても出現する. 現在, 名詞シソーラスのグループは 331 個, 見出し語以外の語は延べで 3,994 個であり，1つのグループに平均 12 個の語が含まれる.

2 つのシソーラスによりルール $\alpha$ で用いられた語が拡張され，ルール $\alpha$ の適用範囲が広がる.例えば，「コンピュータの製造」と「テレビを作る」は，いずれも述語コードが「386 1」で，名詞である「コンピュータ」と「テレビ」のいずれも名詞シソーラスにおける見出し語「電気機械器具」のグループに含まれるため, どちらにも $<3861$ ， ヲ，電気機械器具 $>\Rightarrow<634>$ なるルール $\alpha$ がマッチし, 同一の SSM 職業コード「634」(電気機械器具組立工) が付与される.

以上に述べたルール $\alpha$ におけるシソーラスによる語の拡張は, 産業ルールにおいても同様に適用される。

## 3.6.3職業コードの修正

職業コーディングにおいては「仕事の内容」の記述内容が重要であるが，選択回答である「従業先の事業規模」や「地位・役職」, さらには「従業先の事業内容」の情報も用いて総合的に判断される。したがって，ルール $\alpha$ によって付与されたコードの中で, これらの情報により影響を受けるものに対しては，ルール $\alpha$ の適用後にチェックを行って最終的なコードを決める必要がある. このチェックのためのルールを, 本稿ではルール $\beta$ とよぶ. ルール $\beta$ 必要とするコー ドは，管理職, 自営業, 建設関係に多い.

以下では，SSM 職業コードを区別するために，ルール $\alpha$ によって付与されたものを「SSM 職

れたものを「SSM 職業コード（ルールベース）」とよび，「SSM 職業コード」とよぶのは本シス

テムにより最終的に決定されたものとする．SSM 産業コードにおいても同様に，産業ルールにより決定されたものを「SSM 産業コード（産業ルール）」とよぶが，SSM 産業コードではルー ル $\beta$ に該当するものがないため，これがそのまま「SSM 産業コード（ルールベース）」となる.

ルール $\beta$ は次の形式で表現される. 左辺の条件のすべてが必要ではない場合もある.

ルール $\beta$ : < SSM 職業コード (ルール $\alpha$ ), 従業上の地位・役職, 従業先の事業規模,従業先の事業内容, SSM 産業コード（産業ルール）> $\Rightarrow<\mathrm{SSM}$ 職業コード（ルールベース）>

ルール $\beta$ の適用例として, 管理職（「545」〜「553」）の場合を示す. 管理職は, 「従業上の地位・役職が常時雇用の課長以上」かつ「従業先の事業規模が 30 人以上」を条件とするため (1995 年 SSM 調査研究会 1996), SSM 職業コード（ルール $\alpha$ ）により管理職が付与されたコードに対してはルール $\beta$ によるチェックを行う，条件を満たさない場合は，SSM 産業コードを参照して変更する ${ }^{17}$.これとは逆に，ルール $\alpha$ ではコードが特定できずに「999」とされた場合に，ルー ル $\beta$ により管理職の条件がチェックされて，該当する管理職コードが付与される場合もある.

ルール $\beta$ は文献 (1995 年 SSM 調査研究会 1996) にしたがって人手で生成した. ルール $\beta$ は 43 個で, その内訳は, 管理職 14 個, 自営 9 個, 建設関係 7 個, その他 13 個である.

ルール $\beta$ の限界は, 形式化できるものしか扱えないことである，実際には，コードの決定にあたっては, 回答者の性別や学歴, 本人の場合はこれまでの職歴, さらに父職, 配偶者職などのように回答者以外の職業や産業の情報を含め, 収集されたあらゆる情報を利用する場合が多く，これらをすべて反映したルール $\beta$ を生成することは非常に困難である。また，調査によりルール $\beta$ を重視する程度に違いがある場合もある 18 。これにより, 熟練コーダや調査が異なる場合は, 最終的なコードを決定するためのルールに一貫性が欠如し, 最終コードに摇れが生じる可能性がある.

## 3.7 ルールベース手法とSVM の組み合わせ手法

本システムにおけるルールベース手法では, 自由回答の内容を格フレームで表現してコードを決定するルールが必要になるが，回答の中にはこの形式で表現できないものも存在する ${ }^{19}$.例えば, 「仕事の内容」に商品名や生産物のみが記述された場合, 本システムでは述語として扱

われるが，動作を表すものではない．また，コードの修正方法もルールとして表現することが困難な場合があった。これらはシステムの性能を低下させる要因になると考えられる。さらに，自由回答に出現する用語や変換するコードは時代とともに変化するため，ルールベース手法においては，シソーラスやルールのメンテナンスを随時行わなければならないが，これを開発者以外の人間が長期間継続することは，時間的にも労力的にも負担となることが予想される．以上の理由により，ルールベース手法以外の方法を適用する必要があると考えた.

SVM を選択した理由は，文書分類において分類性能の高さで評価が高かった (Joachims 1998; Sebastiani 2002) ためである。 本システムが対象とする自由回答は, 文書分類が対象とする文書に比較すると非常に短いという懸念はあったが20, 職業・産業コーディングは調査が完了するたびに実施されてコードが決定されるため, これを正解とみなすことで, 今後も訓練事例の蓄積が容易であるという利点を考慮した。なお，職業・産業コーディングは多値分類のタスクであるため，2 值分類器であるSVM を one-versus-rest 法 (Kressel 1999) により多値分類器に拡張した.

SSM 職業コードを対象に, SVMによる方法をルールベース手法と比較し, さらに，ルールベース手法とSVM を組み合わせた手法（ルールベース手法により得られた結果をSVM の素性として活用する方法）とも比較した結果, ルールベース手法とSVMを組み合わせた手法, SVM による手法, ルールベース手法の順に分類精度が高かったため (高橋他 2005b), 本システムでもこの組み合わせ手法を適用する．SSM 産業コードについては実験を行っていないが，SSM 職業コードと同様の効果が得られると考え, 同様の組み合わせ手法を適用する。

表 6 にコードごとの自動化の手法と SVM で用いる素性を示す。本稿では，「仕事の内容」「従業先の事業内容」「地位・役職」を基本素性とよぶ.「仕事の内容」と「従業先の事業内容」 はいずれも自由回答であるために，形態素解析により分割された形態素を素性とするが，品詞付き単語と素性番号を対にして生成した素性辞書により素性番号に変換したものを用いる。素性辞書は現在, 15,069 語から構成されるため, 素性番号の最大值は 15069 である. 回答に出現した単語が素性辞書に存在しない場合の素性番号は 20000 にする。また, 素性として用いる語が「仕事の内容」と「従業先の事業内容」のどちらに出現したかを区別するために，「仕事の内容」に出現したものは素性番号をそのまま用いるが，「従業先の事業内容」に出現したものは素性番号に 200,000をプラスした番号を用いる.

ISCO や ISIC において，SVM の素性として用いるSSM コードはルールベース手法と SVM の組み合わせ手法により第 1 位に予測されたコードである。これは, ISCO においてSSMコー

表 6 自動化の手法と SVM で用いる素性

 \\

* 過去の調査等ですでにSSM コードが付与されている場合は，本システムにより予測されたコードではなく付与ずみのコードを用いる.

ドを利用する方法として，第 1 位から第 3 位までに予測されたコードをさまざまに用いた実験を行った結果，この方法がもっとも正解率が高かったためである (高橋 2008). ただし, 前述したように，もし過去の調査等ですでに付与されたSSM コードが入力されていれば，予測されたコードではなくこのコードをSVM の素性として用いる．ISICについては実験を行っていないが，ISCO の場合と同様の効果が得られるものと考え，ISCO と同様の方法を適用する.

ISCO では, SVM の素性として「学歴」も用いる。この理由は, ISCO ではコードの決定時に，職業の遂行に必要なスキルレベル（＝教育・職業資格）が用いられるが，我が国ではこれがデータとして収集されないため，スキルレベルが国際標準教育分類 (ISCED) と対応することや学歴を判断基準とする点 (田辺 2008) に注目し, 学歴で代用可能であると判断したためである.

本システムにおいて 4 種類のコードすべてに変換する場合は，STEP 1 ＳTEP 6 の順に連続処理を行う。また，SSM 職業コードのみに変換する場合はSTEP 1，STEP 2，STEP 3， SSM 産業コードのみの場合は STEP 1, STEP 2, STEP 5, ISCO のみの場合はSTEP 1 , STEP 2, STEP 3, STEP 4, ISIC のみの場合はSTEP 1, STEP 2, STEP 5, STEP 6 の順に実行する。ただし，ISCO（またはISIC）のみに変換する場合に，すでに付与されたSSM コードが入力されている場合は，STEP 2 と STEP 3（またはSTEP 2 と STEP 5）は省略し， STEP 4（またはSTEP 6）ではこのSSM コードを用いる.

STEP 1 職業・産業データに対する形態素解析

STEP 2 ルールベース手法の適用により，SSM 職業コード（ルールベース）とSSM 産業コー ド（ルールベース）を決定

STEP 3 基本素性に，STEP 2 により決定されたSSM 職業コード（ルールベース）を追加してSVM を適用し，SSM 職業コードを第 1 位から第 3 位まで決定

STEP 4 基本素性に, 学歴とSTEP 3 により決定されたSSM 職業コード（第 1 位のみ）を追加してSVM を適用し, ISCO を第 1 位から第 3 位まで決定

STEP 5 基本素性に，STEP 2 により決定されたSSM 産業コード（ルールベース）を追加してSVM を適用し，SSM 産業コードを第 1 位から第 3 位まで決定

STEP 6 基本素性に，STEP 5 により決定されたSSM 産業コード（第 1 位のみ）を追加して SVM を適用し，ISIC を第 1 位から第 3 位まで決定

## 3.8 確信度の付与

SVM は，予測したコードとともにスコア（分離平面からの距離）も出力するため，これを利用して，予測したコードのクラス所属確率を推定することが可能である (Takahashi, Takamura, and Okumura 2008). そこで，この推定値を予測したコードに対する信頼度として利用することを考えた。ただし，本システムでは厳密な確率值までは必要としないため，文献 (Takahashi et al. 2008) における提案手法を特徴づける考え方である「複数のスコア利用」に基づく簡便な方法を提案し， 3 段階の確信度として付与することとした (高橋他 2013a).

各確信度の決定条件は次の通りである。ただし， rank1，rank2 は，それぞれ SVMにより第 1 位, 第 2 位に予測されたコードにともなって出力されるスコアを示す. $\alpha$ は閥値で， $r a n k 1$ と rank2 の差を示す. $\alpha$ を大きく設定するほど予測されたコードのクラス所属確率が高まるため (Takahashi et al. 2008), 確信度 A の信頼性は $\alpha$ を大きく設定するほど向上することになる.

2 節で述べたように，確信度付与の目的は，コーディング結果のすべてに対して再チェックを行う熟練コーダの作業量を削減するためである。したがって，特に，人手によるコーディングを不要とする確信度 A に注目する必要があり, 確信度 A が付与された事例のカバー率（確信度が付与された評価事例数を評価事例数で割った値）が高いことが望ましい. しかし，この場合の正解率（正解した評価事例数を評価事例数で割った値 (高村 2010)）も，熟練コーダが作業不要であることを納得する程度に高い値である必要がある。このように, 確信度 A においては, 正解率とカバー率はいずれも高い値である必要があるが, 両者はトレードオフの関係がある. 本システムでは，職業・産業コーディングの目的が研究のための基礎データを提供するものであることから，カバー率を考慮しながらも正解率を優先し，その值を熟練コーダの要望にしたがって $95 \%$ 以上とした。なお, 本稿では, 「正解」を最終的に決定されたコードとするため, 本稿における正解率は最終コードとの一致率である.

図 6 閾値 $\alpha$ の変化による確信度 $\mathrm{A}$ が付与された事例の正解率とカバー率

閥値 $\alpha$ を決定するために, SSM 職業コードについて 2005SSM 調査データセット（16,083 事例）を用いた 3 分割交差検定による実験を行った. 図 6 は，閥値 $\alpha$ を 1 から 4 まで変化させたときの確信度 A における正解率とカバー率の状況を示したものである (Takahashi et al. 2014). $\mathrm{X}$ 軸が $\alpha, \mathrm{Y}$ 軸が正解率とカバー率を示す。図 6 より, 正解率が $95 \%$ 以上であるのは， $\alpha=3$ と $\alpha=4$ の場合である。両者を比較すると， $\alpha=4$ の方が正解率が $97.5 \%$ と高いが，カバー率が約 $10 \%$ と低く， $\alpha=3$ では， $\alpha=4$ の場合より正解率は 1.7 ポイント劣るが，カバー率は 18.2 ポイント向上して $28.9 \%$ となる. これより, 本システムでは最適な閾値として $\alpha=3$ を選択した.

実際には，確信度は上記の目的だけでなく，一般コーダが自動コーディングの結果を参考にする際の判断基準としても利用されるようになったため，確信度 A だけでなく，確信度 B や確信度 C についても，妥当性を調查しておく必要が生じた。確信度を一般コーダの判断基準として用いるためには，カバー率ではなく正解率に注目する必要がある。前述の実験において閥値 $\alpha=3$ とした場合, 確信度 B の正解率は $71.9 \%$ （カバー率は $47.8 \%$ ）, 確信度 C の正解率は $35.8 \%$ （カバー率 $23.3 \% ）$ であった.これより， $\alpha=3$ は, 確信度 $\mathrm{B}$, 確信度 Cに対しても妥当な閾値であると判断した。

## 4 システムの評価

一般コーダの正解率は，コーダやデータの違いにより差があるが，記録が残されている 6 つの調査（SSM 職業コード）においては $68.8 \%$ から $80.0 \%$ で, 平均は約 $75 \%$ であった (高橋 2002a). コーダに対する有効な支援を行うにはこの値を上回る必要があるため，本システムにおける正解率の目標を, いずれのコードも $80 \%$ に設定する ${ }^{21}$ 。また, 確信度ごとの正解率は, 確信度 A では $95 \%$ ，確信度 B では一般コーダの平均値 $75 \%$ を目標とする。

システムの評価実験では，まず，コードの種類ごとの正解率と確信度付与の有効性を報告した後，処理時間についても報告する（実験 1）。次に，視点を変え，実際に本システムを利用す

る社会階層分野の研究者による評価について簡単に報告する（実験 2）.

## 4.1 実験 1

実験は現実の場面を想定し，交差検定ではなく，評価事例を訓練事例より新しいデータセットや別の調査により収集されたものを用いた（表 7 参照） ${ }^{22}$.その際， 4 種類のコード間における結果を比較するため，すべてのコードが付与された「本人現職」を用いた。「本人現職」は社会学においてもっともよく用いられる変数であるが，新しい仕事内容が新しい用語により表現されるケースが多いため, 他の場合（「本人初職」や「父職」など）より正解率が低い傾向がある。

## 4.1.1 正解率

コードの種類別の正解率（第 3 位に予測されたコードまで含む）を表 8 に示す。表中, ISCO* と ISIC*は，SVMの素性としてルールベース手法による結果ではなく，過去の調査等ですでに付与された SSM コードを用いた場合を表す（以下，同様である）.

SSM コードでは， 2 種類の評価事例のいずれにおいても，職業コードは約 $80 \%$, 産業コードは約 $90 \%$ で目標値に達しており, 安定している. ISCO や ISIC は，SSM 職業コードや SSM 産業

表 7 コードの種類別訓練事例と評価事例

表 8 正解率（第 3 位に予測されたコードまで含む）

コードよりそれぞれ約 8 ポイント，約 10 ポイント低いが，ISICは目標値に達している。また, ISCO や ISIC においてすでに付与された SSM コードを利用した場合は，いずれもこの値より約 5 ポイントずつ高く，付与ずみの SSM コードを利用することは有効である。ただし，ISCO はこの場合も目標值に達しておらず，SSM 職業コードより約 4 ポイント低い．ISCO や ISIC の正解率ががSSM コードより低い理由としては, 分類クラスの数が多く困難なタスクであることと，訓練事例として用いられるデータの蓄積が不足していることが考えられる.

## SSM 職業コードの状況

社会学でもっとも関心の高いSSM 職業コードについて，JGSS-2006 データセットを用いてより詳細に調査する。このとき, 正解とされるコードごとの正解率は, 再現率（注目した正解コードの事例数のうち，システムが正解した事例が占める割合）を計算していることになる.

本システムで用いる SSM 職業コードは全部で 193 個であるが，正解として本データセットに出現したコードは 150 個 $(77.7 \%)$ であった. この中で, 正解率が $100 \%$ のコードは 39 個 $(26 \%)$ で，表 3 に示す大分類では専門・技術が多く，0\%のコードは 12 個 (8\%) で製造が多かった．ただし，これらはいずれもコードの出現度数が非常に少なく，特に正解率が $100 \%$ のコードはすべて頻度 15 以下， $0 \%$ のコードもすべて頻度 7 以下で，合計しても $178(8 \%)$ で，全体に与える影響は大きくない，そこで，以下では，正解コードの度数が全体の $1 \%$ （頻度 22 ）以上の 31 個のコードについて調査する。これらは出現したコードの $21 \%$ を占め, 累積度数は $1,499(68 \%)$ である。

まず，表 9 に正解率のベスト 10 とワースト 10 を示す. 正解率が高いものはサービス, 農林,専門・技術, 販売, 低いものは労務や建設が多いことがわかる.

次に，本システムが間違えた状況を調查する，間違い方には，正解がコード Xであるのに本

表 9 SSM 職業コードにおける正解率のベスト 10 とワースト 10（第 3 位に予測されたコードまで含む）

システムが X 以外のコードを付与する場合と, 正解が X 以外のコードであるのに本システムが間違えてコード Xを付与する場合がある。前者の結果を表 10 , 後者の結果を表 11 に示す. ただし，全体に及ぼす影響を考慮し，間違えた事例数が全体の 1 割（頻度 22 ）以上のコードに限定した。いずれの表においても，コードの後に，本システムが間違えた事例数をカッコ内に示す. また, 最右欄においてコード名を示していないものは, 間違えた事例数が 1 のコードである.

不正解がもっとも多かったのは, 正解である「554」を他のコードに間違えたり（表 10 参照），他のコードを「554」に間違える（表 11 参照）場合である．具体的には，「554」を販売や管理に間違えたり，「554」と同じ事務の「556」「557」「559」や専門・技術や製造を「554」に間違えている。次に多いのは，「557」と「573」を相互に間違える場合である。さらに，事務を「569」 （販売店員）や「550」（会社・団体等の管理職員）に間違える場合も多い. 事務は，表 9 によると，「557」以外は特に正解率が低いわけではないが，事務同士や販売または管理との間で間違うケースが多い.

ここで, 不正解であった全 467 事例を調査した結果, 誤りの原因は次の 9 種類に分類できた.
- 入力データに誤りがある（誤字や脱字など）(A)
- 文末の語を述語とする方法も含め, 格フレームの形式では有効な情報を抽出できない (B)

・ ルール $\alpha$ が不十分である $(\mathrm{C})$

・ ルール $\beta$ が不十分である（「従業先の事業内容」を参照していないなど）

・ シソーラスが不十分である $(\mathrm{E})$

表 10 正解コードからみた不正解の状況（SSM 職業コード）

 & 本システムの結果（第 1 位のコード） \\

2 & $557(33)$ & 0.625 & $573(12) 550(4) 554(4) 569(3) 575(2) 592(2)$ 他 6 個のコード \\

表 11 本システムのコード付与からみた不正解の状況（SSM 職業コード）

 &  & \multicolumn{1}{|c}{ 正解コード } \\

- 正解がルール $\beta$ を適用していない $(\mathrm{F})$
- 回答に複数の職業内容が記述された場合に, 本システムが正解が異なるものに決定 $(\mathrm{G})$
- 回答の情報が不足している（正解が曖昧）(H)
- 正解が誤っている可能性がある (I)

1つの事例に誤りの原因が複数含まれるものもあるが, 表 12 に誤りの原因別に回答例を示し,誤りの原因について順に分析する。

原因 A は, 人間であれば理解可能でも, コンピュータは正しい処理が行えない. 本システムの場合も最初の形態素解析で失敗してしまうため, 後の処理が正しく行えない. 例では, もっとも重要な述語「評価」が「表価」と誤入力または調査票に誤記入されたため, マッチするルー ルが見つからず，また，SVMにおける素性としても「評価」がないために，不正解となった.

表 12 誤りの原因別の回答例と決定されたコード（SSM 職業コード）

 &  & 正解 \\

社会調査においては, メイキング防止のため, 調查票の記入通りに入力を行う.したがって, 調査員による誤記入が予想できる場合でもそのまま入力されるため，入力ミス以外に調査票における誤字や脱字も正解率を低下させる。調査票記入における別の問題として，調査員が，単語の一部またはすべてをひらかなやカタカナで記入する場合も多い（例えば，「き械」「キカイ」など） ${ }^{23}$. 原因 A は人手によるコーディングでは大きな問題とはならないために, 社会学研究者からの理解が得にくいが，コンピュータによる自動処理を行う本システムにとっては大きな問題であり, 今後, この問題に取り組む必要がある.

原因 B の最初の例では，＜組み立て， ヲ，部品＞なる三つ組を生成するが，この名詞が意味する範囲が広く，職業の特定ができない。もし，「部品」の前に位置する「電化製品」が抽出できれば，ルールベース手法の段階でコードが決定でき，SVM の素性として有効に作用することが期待できる. このように, 名詞が「部品」や「製品」のような場合には, その前の語を抽出する必要がある。二番目の例では 3 個の三つ組を生成するが，いずれも「999」のため，SVM の素性として有効ではない。このように, 複雑な構成の文に対しては, 単純に文末の語を述語とする三つ組を生成する方法では，有効な情報の抽出ができない場合がある。逆に，三番目の例は非常に単純で 1 個の単語から構成される文であるが, この語が動作を表すものではないために述語コードを付与できず，この場合も文末の語を述語とする方法では対応できない.

原因 Ｃの例では，＜検査， ヲ，パン＞なる三つ組を生成するが，これを「644（パン・菓子・ めん類・豆腐製造工)」に結びつけるルール $\alpha$ が存在しないため, 「999」となり, 不正解につながった. 原因 D の例はいずれも，「仕事の内容」からは「554」でよいが, 正解では「従業先の事業内容」を参照し，より妥当なコードに修正されている ${ }^{24}$. ルール $\beta$ に SSM 職業コード（ルー ル $\alpha ）$ が「554」の場合も追加する必要がある。原因 $\mathrm{E}$ の例では，形態素解析により切り出された結果，述語が「上絵」, 名詞が「紋章」となるが，どちらもシソーラスにないために「999」となり, 不正解につながった. 原因 $\mathrm{C}, \mathrm{D}, \mathrm{E}$ につては，ルール $\alpha$, ルール $\beta$, 述語シソーラス,名詞シソーラスの改善が有効である.

原因 F の最初の例は，ルール $\alpha$ により管理とされたが，ルール $\beta^{25} より 「 554 」 と$ 修正され， SVM による結果も「554」となった. 正解でも，「従業先の事業規模」により修正が必要とされたが，「従業先の事業内容」ではカッコ内の「電子機器の部品を作る会社」に注目して「503」 （機械・電気・化学技術者）としたため, 不正解となった. 二番目の例は, ルール $\alpha$ により管理 (「548」(会社役員)）とされ，ルール $\beta$ における管理の条件を満たすために修正されず，SVM

による結果も「548」であった。しかし，正解ではルール $\beta$ を適用せず，「従業先の事業内容」 が「建設住宅コンサルタント会社」であることに注目して「541」（経営コンサルタント）とされた.このように，正解においては，特に管理の場合にルール $\beta$ を適用する場合としない場合があり ${ }^{26}$, コーダの間でも混乱が生じている。人間にとってもコンピュータにとっても，管理コードの付与方針を整理しておく必要がある。

原因 G はしばしば起きるもので，今回も全不正解事例のうち 125 事例 $(27 \%)$ が該当した。ただし, 複数の内容を記述した全 384 事例 $(17 \%)$ においては正解が 259 事例で, 不正解の事例の 2 倍である. 複数の内容が記述された場合, どれを正解とするかについては, 重要なものから記述されるとの考えから, 先に記述されたものを正解とすることが多いが, 本システムは記述された順番の情報を用いていないため，結果が正解と異なる場合もあり得る。また，「2つ以上の勤務先で異なる仕事に従事している場合には, 就業時間の長い仕事, 収入の多い仕事の順であり，1つの勤務先で異なる仕事に従事している場合には，就業時間の長い仕事，生産・製造作業, 主要工程または最終工程という順に決定する.」なるルール (1995 年 SSM 調査研究会 1995) が適用されることもあり, この中では, 「生産・製造作業が他より優先される」はルール化が可能である.

原因 $\mathrm{H}$ は，コンピュータだけでなく人間においても誤りの原因となる。これは，回答者も調查員も，職業分類の決め手となる情報についての知識が不足するために生じる場合 (二番目, 三番目, 四番目の例）と，回答者が情報を開示したくない場合（最初と最後の例）がある. 原因 $\mathrm{H}$ の場合，コーディング現場において可能な限り「999」や「689」(分類不能の職業)を付与しない方針が強く要請されると，正解を誤ってしまう危険性がある。回答における情報不足の問題については, 原因Aの問題とも併せ，データの質向上というより一般的な観点から，新たな課題として取り組む予定である。

原因 I は, 現職までの職歴データや他の情報も考慮された結果, このような正解となった可能性も否定できないが, 「本人現職」からは正解が誤っており, 本システムの結果が不正解であるとは言い切れない，正解が誤っているという状況は，新しい職業が登場した当初に解釈が分かれ，その時点で正解としたものが後に定められるコード（新規に生成される場合もある）と異なる場合にも生じる。このため, 訓練事例は適宜見直し, 必要に応じて正解を更新する必要がある.

ところで, 表 12 における例では, 本システムの結果がルールベース手法による結果と一致する場合が多かった，そこで，全事例における両者の一致率を調査した結果，約 80\%（1,811 事例）であった．両者における正解・不正解の関連を表 13 に示す。カッコ内の数値は全体に占める割合である。ここで正解としたのは，ルールベース手法では複数のコードが付与された場合

表 13 ルールベース手法のみと本システムの正解・不正解事例数（SSM 職業コード）

はその中に，本システムでは第 3 位までのコードの中にそれぞれ正解が含まれる場合である.

表 13 より，ルールベース手法の正解率は $60.7 \%$ であるが，ルールベース手法で不正解となった事例の半数がSVM の適用により正解となり, 特に, ルールベース手法でコードが決定できなかった事例の約 7 割が正解となったため, 本システムの正解率は 18 ポイント上昇した. これより，両手法を組み合わせる手法の有効性が再確認できた。一方で，ルールベース手法で正解であった事例のうち, SVM の適用により不正解となったものは約 $2 \%$ しかなく, ルールベース手法の正解率を向上させることは, 本システムの正解率向上に有効であると考えられる.

## ISCO における追加実験

ISCO における正解率の向上を目的に，ISCO のコード体系が階層構造であることを利用した追加実験を行った。まず大分類（10 個）を学習させた後に，大分類ごとに小分類を学習する方法の有効性を実験した，第 1 位に予測されたコードについて，階層構造を利用した方法の有効性を調査した結果, 効果あり 5 個, 効果なし 3 個, 変化なし 1 個であった ${ }^{27}$. 次に，大分類ごとに, この方法と本システムにおける手法（直接, 小分類を学習する）のうち正解率の高い方を選択して全体の正解率を算出したが，本システムにおける手法より 0.5 ポイントしか向上せず，両者を組み合わせた方法の有効性も認められなかった.

ISCO やISIC は，今後，国際標準コードが普及するにつれ，正解付きの事例が蓄積されていく．実験によれば，訓練事例のサイズが大きいほど正解率が向上するため (高橋他 2005b), 今後, この正解付きの事例を既存の訓練事例に追加していくことで, 正解率の向上が見达める. このためには，訓練事例の追加処理を容易に行うことができる必要がある.

## 4.1.2確信度の有効性

表 14 に, 確信度別の正解率とカバー率（カッコ内）をコードの種類ごとに示す. 確信度は第 1 位に予測されたコードに対するものである。表 14 において，SSM コードの值は 2 種類の評価事例の平均である.

表 14 より, 確信度 A が付与された事例の正解率は, ISIC (94\%)を除くすべてのコードで目

表 14 確信度別の正解率とカバー率

 \\

SSM 産業コード & $0.975(0.32)$ & $0867(0.54)$ & $0.437(0.14)$ & 0.881 \\
ISCO & $0.963(0.05)$ & $0.701(0.67)$ & $0.276(0.28)$ & 0.595 \\
ISIC & $0.941(0.01)$ & $0.919(0.56)$ & $0.574(0.43)$ & 0.771 \\
ISCO* $^{*}$ & $0.947(0.05)$ & $0.759(0.65)$ & $0.300(0.30)$ & 0.631 \\
ISIC* & $1.000(0.01)$ & $0.971(0.55)$ & $0.671(0.44)$ & 0.839 \\

最低値 & $0.941(0.01)$ & $0.701(0.48)$ & $0.276(0.14)$ & 0.595 \\
平均 & $0.963(0.12)$ & $0.822(0.58)$ & $0.436(0.30)$ & 0.737 \\

標值 $(95 \%)$ を上回っているため, 有効であると判断できる. 特に ISCO では, 第 1 位の正解率は $60 \%$ 未満で，第 3 位までを含めても 70\%（表 8 参照）と低いが，確信度 $\mathrm{A}$ が付与された事例については $96 \%$ と高い值であった。一方, カバー率は, SSM コードは約 $30 \%$ であるのに対し, ISCO は $5 \%$, ISIC \& $1 \%$ と非常に低く, 有用性の点で問題がある。今後, ISCO と ISIC は訓練サイズの増大による正解率の向上が期待できるが，カバー率についても向上させる必要がある.確信度 B と確信度 Cにおける正解率は, それぞれ $70 \%$ から $97 \%$ と $28 \%$ から $67 \%$ で, 確信度 $\mathrm{A}$ に比較するといずれもバラツキが大きい。確信度 B は, 国内・国際職業コードのいずれも目標値 $(75 \%)$ をやや下回ったが，一般コーダの正解率の範囲内である。確信度 B がもっとも高い ISIC $(92 \%)$ は, 確信度 A がもつとも低く, 両者の差が $2 \%$ しかない上に, 確信度 Cにおける正解率も比較的高い.これは SSM 産業コードにおいても同様の傾向である。職業コードでは,確信度 A, 確信度 B, 確信度 C がそれぞれ $95 \%, 70 \%$ 台， $30 \%$ で安定していることと対照的である ${ }^{28}$ 、いずれにしても， すべてのコードにおいて，任意の確信度の最低値は下位の確信度の最高値より高く，3つの確信度は信頼性の程度を明確に区別する，以上より，本システムにおける確信度は, 自動コーディング後の人手の要・不要の程度を表す指標として有効であるといえる。

最後に，表 13 の状況を確信度別に調査した結果を, 表 15 （確信度 A), 表 16 （確信度 B）,表 17 （確信度 C）に示す.カッコ内の数値は全体に占める割合である.

表 15 ，表 16 ，表 17 より，本システムで正解であった事例について，ルールベース手法における正解・不正解の比率を調査すると, 確信度 A では約 80 倍でもっとも高く, 確信度 B で約 2.7 倍, 確信度 C で約 0.7 倍と, 確信度のレベルが下がるにつれて大きく低下した. また, ルー ルベース手法で正解であった事例が本システムにおいても正解となる割合を確信度別に調査す

表 15 ルールベース手法のみと本システムの正解・不正解事例数（確信度 A）（SSM 職業コード）

表 16 ルールベース手法のみと本システムの正解・不正解事例数（確信度 B）（SSM 職業コード）

表 17 ルールベース手法のみと本システムの正解・不正解事例数（確信度 C）（SSM 職業コード）

ると，それぞれ約 $100 \%, 98 \%, 91 \%$ で，確信度のレベルが高いほど高かった.

## 4.1.3 処理時間

処理時間は, PC の性能 29 や訓練事例, 評価事例のサイズにより異なるが, 評価事例が JGSS2006 データセットの場合, STEP 1 から STEP 6 にそれぞれ 0 分, 7 分, 34 分, 7 分, 13 分, 2 分（計 63 分）を要した. 1 事例当たり, 約 1.7 秒かかる計算となる.

本システムで 1 度に処理できる事例数は最大 5,000 であり, これより大きなサイズのデータセットの場合は数回に分けて処理する必要がある。 5,000 事例の場合, 1 回の処理時間は約 2 時間半弱である.

## 4.2 実験 2

SSM 調査のような大規模プロジェクトによる調査では, 自動コーディングの結果が得られても, 従来通り一般コーダによるコーディングを実施し，その後に熟練コーダによる再チェックを行うことが可能である. しかし, 多くの調査では, コーディング作業にこのような労力や時間ををかけることは困難である。また，実際の分析においては，研究の目的に応じ，類似した性質をもつ小分類コードは大分類にまとめて扱う場合が多いため，この大分類レべルで正解で
$ を使用した.
}

あれば問題はない，例えば，本システムの利用が多い社会階層分野でも，職業威信スコアを用いる研究 30 を除くと，大分類にまとめたものを分析する場合が多い. このため, 自動コーディングの性能が高まるにつれ，この結果をそのまま利用できるのではないかと考える研究者も出てきた。そこで，本システムの利用者である社会階層分野の研究者の立場から，自動コーディングの結果をそのまま利用した場合の有効性と問題点についての検討を開始した (高橋，多喜，田辺 2016). 本稿では，SSM 職業コードを対象に，第 1 位に予測されたコードの正解率や確信度について報告する。

実験 2 では，実験 1 で用いた訓練事例（表 7 参照）に，JGSS-2006, JGSS-2008, JGSS-2010 データセットを加えた計 49,795 事例を訓練事例とした ${ }^{31}$. 評価事例は, 東京大学社会科学研究所が実施する「働き方とライフスタイルの変化に関する全国調査」（若年・壮年パネル調査； JLPS） 32 の第 1 波のうち，本システムを利用するための項目を満たす 3,619 事例を用いた.

前述したように，職業威信研究では小分類コードを用いることと, 実験 2 における訓練事例と評価事例はいずれも実験 1 と異なるため，まず小分類コードの結果を報告し，次に，大分類にまとめた場合の結果を報告する，以下では，すべて第 1 位に予測されたコードを対象とする。

## 4.2.1 小分類コードにおける正解率と確信度

正解率は $67.1 \%$ で，表 14 に示した実験 1 の結果 $(70.2 \%)$ と比較すると, 訓練事例のサイズが増大したにもかかわらず約 3 ポイント低かった。この理由として, 実験 2 は実験 1 と異なり,評価事例が訓練事例とは性質が大きく異なる調査により収集されたデータセットであることと, パネル調査のため，第 2 波以降に得られた情報により正解が修正された可能性があることが考えられる。ただし，第 3 位に予測されたコードまで含むと，正解率は $79.0 \%$ となり，実験 1 の結果 $(78.8 \%)$ をやや上回っており，本システムの頑強性が確認できた.

表 18 に，正解コードの出現度数が全体の $1 \%$ （頻度 $35 ）$ 以上であるコードのうち，正解率が $50 \%$ 以下のものを示す.「557」や労務が含まれる点は, 実験 1 の結果（表 9 参照 ${ }^{33}$ ）と類似する.

表 18 正解率が 50\%以下の小分類コード（SSM 職業コード）

全体に及ぼす影響の大きさから, 不正解の事例数が多いコードを調査した. 10 位までのコー ドを表 19 に示す. 実験 2 においても実験 1 （表 10参照）と同様，「554」や「557」を他のコー ドに間違う場合が多い34.

次に, 確信度ごとの正解率とカバー率（カッコ内）を表 20 に示す.いずれの確信度も実験 1 の結果（表 14 参照）を上回っている。特に，確信度 $\mathrm{A}$ が付与された事例では正解率が $97.8 \%$ に達しており，ここでも確信度 A の有効性が確認された。これより，「確信度 A が付与された場合は人手によるコーディングは不要」と主張することに一定の説得力があるといえる。たたし, 確信度 A が付与された事例が全体の $14 \%$ と低いことは，有効性の点からは問題である。

確信度 B の正解率は $76.4 \%$ で，一般コーダの平均を約 1.5 ポイント上回っている。このため,確信度 A または B が付与された事例については, 自動コーディングの結果をそのまま利用しても大きな支障はないと考えられる。この場合のカバー率は合計で約 $66 \%$ となる. 確信度 $\mathrm{C}$ の正解率は $40.2 \%$ と低いため, そのまま利用することは危険で，人手によるチェックが必要である.

## 4.2.2 大分類に合併後の正解率と確信度

国内の階層研究において実際に分析が行われる場合，表 3 に示す大分類が用いられることは

表 19 不正解事例数が多い小分類コード（SSM 職業コード）

表 20 確信度別の正解率とカバー率（SSM 職業コード）

ほとんどなく，表 21 に示すものが用いられることが多い 35 . また，分析の目的によっては，小分類コードを表 3 に示す大分類に変換し，さらに表 21 に近い 8 つのカテゴリ（「専門・技術職」「管理職」「事務職」「販売職」「サービス職」「生産現場・技能職」「運輸・保安職」「農林」）に合併することもしばしばある．このカテゴリは小分類コードと自然な対応関係にあり，両者の比較がもっとも容易に行えるため，ここでは，これを大分類として扱う．

表 22 に，小分類コードの正解率を大分類別に平均した値と，大分類に合併したときの正解率を比較した結果を示す。表中，確信度 A のカバー率の平均とは，注目する正解コードにおいて確信度 A が付与された事例がその正解コードの全事例に占める割合を大分類別に平均した値である。

大分類に合併すると，正解率の平均は $67.1 \%$ から $79.9 \%$ に上昇し，特に「生産現場・技能職」 の上昇幅は約 24 ポイントと大きい。「運輸・保安職」の上昇幅は約 4 ポイントであるが，確信度 A のカバー率は $34 \%$ と高い.

表 21 階層研究で用いられる大分類と分類の単位

 & 専門管理事務販売熟練半熟練非熟練農林 \\

表 22 分類レベルの違いによる正解率の比較と確信度 A のカバー率（SSM 職業コード）

 &  &  &  \\

管理職 & 0.8 & 0.571 & 0.571 & 0.00 \\
事務職 & 25.4 & 0.607 & 0.754 & 0.11 \\
販売職 & 14.2 & 0.688 & 0.777 & 0.11 \\
サービス職 & 9.0 & 0.759 & 0.836 & 0.12 \\
生産現場・技能職 & 22.7 & 0.571 & 0.811 & 0.08 \\
運輸・保安職 & 4.0 & 0.779 & 0.814 & 0.34 \\
農林 & 0.9 & 0.813 & 0.813 & 0.28 \\

表 23 大分類に合併後の確信度別の正解率

逆に，「管理職」では小分類でも大分類合併後でも $60 \%$ 未満で低く, また確信度 A のカバー 率も $0 \%$ である。これより，「管理職」が付与されたコードをそのまま用いるのは危険であり， コーダも十分に注意する必要がある。ただし，管理職の出現率は $0.8 \%$ で，全体に及ぼす影響は大きくない 36 . また,「事務職」と「販売職」も小分類での正解率が $70 \%$ 未満と低く, 大分類合併後も $80 \%$ に達していない. これら 3 つに共通する特徴として, 職務が明確に限定されていない職業を多く含むことが挙げられる。これは，資格との対応や必要な技能および職務が明確な 「専門・技術職」の正解率が小分類でも高く, 大分類合併後にもっとも高くなることと対照的である.

表 23 に, 大分類に合併後の正解率を確信度ごとに示す. 小分類レベル（表 20 参照）と比較すると, 大分類合併後は, いずれの確信度も正解率が上昇し, 特に確信度 Bでは 10 ポイント,確信度 C では 20 ポイント以上上昇する，大分類に合併すると，確信度 A または B が付与された事例の正解率は十分に高い値となるため, 自動コーディングの結果をそのまま利用することが可能である.

## 5 システムの利用方法

最後に, 本システムの利用方法について述べる. 利用者は, 3.3 節で述べた所定の形式の入力ファイルを準備し，CSRDA の Web サイトを通じて図 7 に示す (1)～(4) の手続きを行えば，自動コーディングの結果を得ることができる.

図 7 において, [CSRDA] 自動化システムによる処理とは, 運用担当者が行う次の 2 つである.
- システムを稼働させて図 1 に示す操作画面を表示させ, 図 2 に示すように, 指定場所に置かれた入力データファイルと利用者から希望のあったコードを指定する

・本システムが出力した結果ファイルを指定場所に置く

なお，CSRDAでは， セキュリティの点から， システム運用担当者は利用者からの入力ファ

組みとしている.

(4)

(1) [利用者] 利用申請書をメイルによりCSRDAに送信

（希望する職業$\cdot$産業コードの種類を明記）

(2) [CSRDA] 利用申請書のチェック/承認オンラインストレージ(Proself)用IDとパスワードの発行

(3) [利用者] 入カデータファイルをオンラインストレージにアップロード

[CSRDA]自動化システムによる処理

(4)[利用者］結果ファイルをオンラインストレージからダウンロード

図 7 Web 公開版システム（試行提供中）の利用手順

## 6 関連研究

ここでは，韓国と米国における自動化システムについて述べる。本システムとの大きな違いは，いずれも社会学の研究支援が目的ではなく，職業や産業コードそれ自体が分析に用いられる変数ではないこと，また，自動化のアルゴリズムに機械学習を適用していないことである.

韓国では，2008 年に大韓民国統計庁において Web-based AIOCS (A Web-based Automated System for Industry and Occupation Coding) が開発された (Jung, Yoo, Myaeng, and Han 2008). Web-based AIOCS は, ISCO や ISIC に由来する韓国独自の職業コード（442 個）や産業コード （450 個）への変換を行う，自動化のアルゴリズムは，文献 (高橋 2000; Takahashi et al. 2005) を参考にしながらも，処理時間の問題から SVM は用いずに，ルールベース手法, 最大エントロピー法 (MEM), 情報検索技術 (IRT) の 3 種類を単独または後の 2 つをルールベース手法と組み合わせた計 6 種類が提案されている。この中で正解率が最も高いのは, ルールベース手法, MEM, IRT をこの順に実行する方法で $76 \%$ である. 利用方法は一問一答方式で, Web サイト上に, 会社名 (自由回答), ビジネスカテゴリ, 部門, 役職, 仕事の内容（自由回答）を入力すると, 同一画面に結果が表示される. Web-based AIOCS における入力データは本システムと類似するが, ファイルによる入出力については不明で 38 , 利用も統計庁内部に限定され, 一般に公開されていない.

米国では, これまで CDC (Centers for Disease Control and Prevention; 米国疾病予防管理センター）の Web サイト上に，単語のマッチングを主とする SOIC (Standardized Occupation

\& Industry Coding) システム39を公開し, 利用者自身がソフトウェアをダウンロードして処理を行っていた．SOICは 1990 年のセンサス・コードに変換するもので，正解率は，職業コード $75 \%$, 産業コード $76 \%$ で，職業コードと産業コードの両方では $63 \%$ であった.

CDC では, 2000 年以降のセンサス・コードに対応するため, 2013 年に SOIC を含む NIOCCS (The NIOSH Industry \& Occupation Computerized Coding System) を構築した ${ }^{40}$. NIOCCS における入力データは，職業や産業を記述したテキストのみで，これは本システムにおける自由回答部分に該当する. 自動化のアルゴリズムはルールベース手法で, 単語だけでなく知識についてもデータベース化したものとのマッチングを行う．知識の表現形式についての説明はないが，本システムにおけるルール $\alpha$ による処理に該当すると考えられる，ただし，本システムではルール $\alpha$ で決定されたコードをチェックするルール $\beta$ が存在するのに対し, NIOCCS にはこれに該当するものがないため，「従業上の地位」や「役職」「従業先の事業規模」も参照して総合的かつ慎重な判断を必要とする社会学研究のためには厳密さに欠ける.

NIOCCS においても，本システムにおける確信度と同様に，自動コーディングの結果に 3 段階 (High, Medium, Low) の信頼度を付与するが，機械学習を適用しないため，その算出方法が本システムと異なることは明らかである ${ }^{41}$. NIOCCS では一問一答方式とファイルによる入出力が可能である．SOIC と異なり, 利用者はシステムをダウンロードせずに, NIOCCS のアカウントを取得した上で処理を依頼する点は本システムと共通するが，マッチングを行うデータベースを 2000 年, 2002 年, 2010 年の中から選択できる機能は本システムにはないものである.本システムでは，同一コード体系内におけるさまざまな版（例えば，SSM 職業コードにおいて 700 番台や 800 番台のコードを含む／含まないなど）に対応するルールや訓練事例を複数種類用意し, 利用者の希望に応じて版を選択できる機能の追加を予定している.

## 7 おわりに

本稿では, 社会学で活用されている職業・産業コーディング自動化システムについて, 現在, CSRDA の Web から試行提供されているシステムを中心に, 運用・利用方法も含めて述べた.

本システムは, 国内 /国際標準の計 4 種類の職業・産業コードへの変換を行うが, 社会学において重要な職業コードの正解率は, 第 3 位に予測されたものまで含め, 国内標準コードで約 $80 \%$, 国際標準では $70 \% \sim 75 \%$ であり, 正解率の向上が今後の大きな課題である.このため, もっとも利用の多い国内標準コードについて, 誤り分析の結果に基づき, ルールベース手法にお
: / /$ wwwn.cdc.gov/niosh-nioccs/

41 信頼度を算出するための根拠が不明で, Frequently Asked Questionsm の回答として, High が $90 \%$ 以上, Medium が $70 \%$ 以上との説明があるたけけである。カバー率も示されていない.
}

けるルールやシソーラスの見直しを行っている．また，SVM で用いられる訓練事例の正解の見直しも開始した。さらに，訓練事例のサイズを拡大するため，2015SSM 調査における職業コー ディングの最終結果が決定された時点で, これを正解付き事例として追加する予定である.

正解率は全体では満足できる程度に高くないが，確信度 A が付与された場合は，職業・産業

る有効性が確認できた。ただし，この場合のカバー率は $1 \% \sim 32 \%$ と低いため, カバー率の向上が今後の課題である。確信度 B や確信度 C が付与された場合の正解率はそれぞれ $70 \% \sim 97 \%$ (平均 $79 \%$ ), $28 \% \sim 67 \%$ (平均 $42 \%$ ）で，国内・国際に関係なく産業コードは職業コードを上回った。

社会学研究者がもっともよく利用する SSM 職業コードについて, 実際の利用状況を想定した大分類レベルに合併すると, 正解率は第 1 位に予測されたもので約 $80 \%$ となり, 確信度 A が付与された場合は $99 \%$ となった。また, 確信度 B, 確信度 C が付与された場合の正解率もそれぞれ $87 \%, 62 \%$ となった. これより, 確信度 $\mathrm{C}$ が付与されない事例は, 本システムの結果をそのまま利用できる可能性がある，今後は，別の種類の大分類に合併した場合についても同様の調査を行った後，より高度な分析として多変量解析に利用された場合についても調査する予定である.

国内の社会学において用いられる職業・産業コードは, 今後の社会変動に伴い, さらなる改変が予想される。これは，個々のコードレベルにとどまらず，コード体系が変更される可能性もある。実際，SSM 職業コードでは，すでにISCOに倣った 4 桁の階層的なコード体系が提案されている (三輪 2011)。また，SSM 産業コードも，2015SSM 調査では，ISICとの関係を重視し，これまでの大分類コードから中分類コードに変更された。 さらに，ISCO についても，近い将来, 本システムで用いた ISCO-88（1988 年版）から ISCO-08（2008 年版）に移行することが予想され，この動きはISICにおいても同様であると思われる.

このような状況の中で, 新規のコードまたはコード体系が現行のものと単純な対応関係にある場合は問題ないが，そうでない場合には次のような対応を行う予定である。まず，コード体系が変更されずに新規のコードが追加される場合は, 必要に応じてコードを決定するルールや訓練事例の正解を修正する。その際，どの新規コードを用いるかが調査により異なる可能性がある場合には, さまざまな版を用意し, 利用者の希望に応じて選択できる機能が必要である.本機能は, 現在開発中である。次に，コード体系が新しく変更される場合は，これに対応する正解付きの事例を蓄積し, 新規の訓練事例を生成する必要がある (高橋 2016). 職業・産業コー ディングは，大規模調査が終了するたびに正解付きの事例が大量に得られるという利点があるため, この事例から訓練事例を容易に生成することができる機能があれば，迅速な対応が可能になる。本機能はほぼ完成しており，本システムへの追加を予定している.

## 謝 辞

日本版 General Social Surveys (JGSS) は, 大阪商業大学 JGSS 研究センター（文部科学大臣認定日本版総合的社会調査共同研究拠点）が, 東京大学社会科学研究所の協力を受けて実施した研究プロジェクトである。2005 年 SSM 調査データの利用に関して, 2015 年 SSM 調査研究会の許可を得た。東大社研パネル調査プロジェクトにおける職業・産業コーディングの精度向上を目的として，職業・産業の自由記述データの提供を受けた。本研究は JSPS 科研費 25380640 の助成を受けた。

## 参考文献

1995 年 SSM 調査研究会 (1995). SSM 産業分類・産業分類（95 年版）.

1995 年 SSM 調査研究会 (1996). 1995 年 SSM 調查コード・ブック.

原純輔 (1984). 社会調查演習. 東京大学出版会.

原純輔 (2013). 職業自動コーディング. 社会と調査, 11, p. 3.

Joachims, T. (1998). "Text Categorization with Support Vector Machines: Learning with Many Relevant Features." In Proceedings of the European Conference on Machine Learning, pp. 137-142.

Jung, Y., Yoo, J., Myaeng, S.-H., and Han, D.-C. (2008). "A Web-based Automated System for Industry and Occupation Coding." In Proceedings of the 9th International Conference on Web Information Systems Engineering (WISE-08), Vol. 3518, pp. 443-457.

Kressel, U. (1999). "Pairwise Classification and Support Vector Machines." In Schölkopf, B.,

Burgesa, C. J. C., and Smola, A. J. (Eds.), Advances in Kernel Methods ${ }^{*}$ Support Vector Learning, pp. 255-268. The MIT Press.

黒橋禎夫, 長尾真 (1998). 日本語形態素解析システム JUMAN version 3.61. テクニカル・レポー 卜, 京都大学大学院情報学研究科.

三輪哲（編） (2011). SSM 職業分類・産業分類の改定に向けて（科学研究費補助金基盤研究 A 「現代日本の階層状況の解明一ミクローマクロ連結からのアプローチ」研究成果報告書別冊）.大阪商業大学比較地域研究所・東京大学社会科学研究所 (2005). 日本版 General Social Surveys 基礎集計表・コードブック JGSS-2003.

Sebastiani, F. (2002). "Machine Learning Automated Text Categorization." ACM Computing Surveys, 34 (1), pp. 1-47.

盛山和夫 (2004). 社会調査法入門. 有斐閣.

高橋和子 (2000). 自由回答のコーディング支援について一格フレームによる SSM 職業コーディ

ング自動化システム一. 理論と方法, 15 (1), pp. 149-164.

高橋和子 (2002a). 職業・産業コーディング自動化システムの活用. 言語処理学会第 8 回年次大会論文集, pp. 491-494.

高橋和子 (2002b). JGSS-2000 における職業・産業コーディング自動化システムの適用. 日本版

General Social Surveys 研究論文集JGSS で見た日本人の意識と行動［東京大学社会科学研究所資料第 20 集 $], \mathbf{1}$, pp. 171-184.

高橋和子 (2003). JGSS-2001における職業・産業コーディング自動化システムの適用. 日本版

General Social Surveys 研究論文集 [2] JGSS で見た日本人の意識と行動［東京大学社会科学研究所資料第 21 集］, 2, pp. 179-191.

高橋和子 (2008). 機械学習による ISCO 自動コーディング. 2005 年 SSM 調査シリーズ 12 社

会調査における測定と分析をめぐる諸問題, 12, pp. 53-78.

高橋和子 (2011). ISCO 自動コーディングシステムの分類精度向上に向けて一SSM および JGSS

データセットによる実験の結果一. JGSS Research Series No. 8: 日本版総合的社会調査共

同研究拠点研究論文集 [11]，11, pp. 193-205.

高橋和子 (2016). 職業・産業コーディング自動化システム (平成 $25 \sim 27$ 年度科学研究費補助金

基板研究 (C)「社会調査の基盤を提供する自動コーディグシステムの Web 提供 : その国際化と汎用化」）。

高橋和子，須山敦，村山紀文，高村大也，奥村学 (2005a). 職業コーディング支援システム

(NANACO) の開発と JGSS-2003 における適用.日本版 General Social Surveys 研究論文集

[4] JGSS で見た日本人の意識と行動, 4, pp. 225-242.

高橋和子, 高村大也, 奥村学 (2005b). 機械学習とルールベース手法の組み合わせによる自動職

業コーディング. 自然言語処理, $12(2)$, pp. 3-24.

Takahashi, K., Takamura, H., and Okumura, M. (2005). "Automatic Occupation Coding with

Combination of Machine Learning and Hand-Crafted Rules." In Proceedings of the 9th International Conference on Pacific-Asia Knowledge Discovery and Data Mining (PAKDD'05),

Vol. 3518, pp. 269-279.

Takahashi, K., Takamura, H., and Okumura, M. (2008). "Direct Estimation of Class Membership

Probabilities for Multiclass Classification using Multiple Scores." Knowledge and Information

Systems, 19 (2), pp. 185-210.

高橋和子, 田辺俊介, 吉田崇, 魏大比, 李偉 (2013a). 確信度付き職業・産業コーディング自動

化システムの開発と公開. 数理社会学会第 55 回大会報告要旨集, pp. 38-41.

高橋和子, 田辺俊介, 吉田崇, 魏大比, 李偉 (2013b). Web 版職業・産業コーディング自動化シ

ステムの開発. 言語処理学会第 19 回年次大会論文集, pp. 769-772.

高橋和子，多喜弘文，田辺俊介 (2016). 職業コーディング自動化システム利用に関する評価一
社会階層研究を事例に一. 数理社会学会第 61 回大会報告要旨集, pp. 31-36.

Takahashi, K., Taki, H., Tanabe, S., and Li, W. (2014). "An Automatic Coding System with a Three-Grade Confidence Level Corresponding to the National/International Occupation and Industry Standard: Open to the Public on the Web." In Proceedings of the 6th International Conference on Knowledge Engineering and Ontology Development (KEOD 2014), pp. 369-375.

高村大也 (2010). 自然言語処理シリーズ 1 言語処理のための機械学習入門. コロナ社.

田辺俊介 (2006). ISCO と SSM 職業分類の相違点の検討一国際比較調査における職業データに

関する研究ノート一. 社会学論考, 27, pp. 47-68.

田辺俊介 (2008). SSM 職業分類と ISCO-88 の比較分析. 2005 年 SSM 調査シリーズ 12005 年

SSM 日本調査の基礎分析一構造 ・趨勢 $\cdot$ 方法一, 1, pp. 31-45.

轟亮, 杉野勇 (2013). 入門社会調査法. 法律文化社.

## 略歴

高橋和子: 東京女子大学文理学部数理学科卒. 2007 年東京工業大学大学院総合理工学研究科博士課程修了. 1993 年千葉敬愛短期大学専任講師, 1997 年敬愛大学国際学部専任講師，2001 年同助教授，2008 年より同教授. 博士（工学). 言語処理学会, 数理社会学会, 情報処理学会, 人工知能学会各会員.

多喜弘文 : 2005 年同志社大学文学部社会学科卒 (社会学専攻). 2011 年同大学大学院社会学研究科社会学科博士後期課程修了. 2012 年東京大学社会学研究所助教. 2014 年法政大学社会学部社会学科専任講師, 2016 年より同准教授.博士 (社会学). 日本社会学会, 国際社会学会, 日本教育社会学会, 数理社会学会各会員.

田辺俊介：1999 年東京都立大学人文学部卒 (社会学専攻)。2005 年同大学大学院社会科学研究科社会学専攻博士課程単位取得退学. 2007 年東京大学社会科学研究所助教, 2009 年同准教授. 2013 年より早稲田大学文学学術院准教授.博士 (社会学). 日本社会学会, 数理社会学会, アメリカ社会学会各会員.

李偉：2015 年東京工業大学大学院理工学研究科博士課程単位取得退学. 2016 年株式会社シービーエージャパン入社.


# 文脈限定 Skip-gram による同義語獲得

城光 英彰 $\dagger \cdot$ 松田 源立 ${ }^{\dagger \dagger} \cdot$ 山口 和紀咕
}

本論文では, 分布仮説に基づく同義語獲得を行う際に, 周辺単語の様々な属性情報 を活用するために，文脈限定 Skip-gram モデルを提案する．既存の Skip-gram モデ ルでは, 学習対象となる単語の周辺単語 (文脈) を利用して, 単語べクトルを学習 する。一方, 提案する文脈限定 Skip-gram モデルでは, 周辺単語を, 特定の品詞を 持つものや特定の位置に存在するものに限定し, 各限定条件に対して単語ベクトル を学習する。したがって，各単語は，様々な限定条件を反映した複数の単語べクト ルを所持する。提案手法では, これら複数種類の単語ベクトル間のコサイン類似度 をそれぞれ計算し，それらを，線形サポートベクトルマシンと同義対データを用い た教師あり学習により合成することで, 同義語判別器を構成する。提案手法は単純 なモデルの線形和として構成されるため, 解釈可能性が高い. そのため, 周辺単語 の様々な単語属性が同義語獲得に与える影響の分析が可能である。また，限定条件 の変更も容易であり，拡張可能性も高い。実際のコーパスを用いた実験の結果, 多数の文脈限定 Skip-gram モデルの組合せを利用することで，単純な Skip-gram モデ ルに比べて同義語獲得の精度を上げられることがわかった。また, 様々な単語属性 に関する重みを調査した結果，日本語の言語特性を適切に抽出できていることもわ かった.

キーワード：同義語獲得，Skip-gram モデル，サポートベクトルマシン
## Automatic Synonym Acquisition Using a Context-Restricted Skip-gram Model

\author{
Hideaki Joko ${ }^{\dagger}$, Yoshitatsu Matsuda ${ }^{\dagger \dagger}$ and Kazunori Yamaguchi ${ }^{\dagger \dagger}$
}

This research proposes a context-restricted Skip-gram model for acquiring synonyms by employing various properties of the context words. The original Skip-gram model learned the word vector of each target word by utilizing all the context words around it. In contrast, the proposed context-restricted Skip-gram model learns multiple word vector types of each target word by limiting the context words to those pertaining to specific parts of speech or those present at specific relative positions. The proposed method calculates the cosine similarities on multiple word vector types and combines these similarities using linear support vector machines. The proposed method has high interpretability because it is a weighted linear summation of simple models. The interpretability of the proposed method enables us to investigate the degree of influence for acquiring synonyms from various properties of the context words. Moreover,

the proposed method has high extendability because the conditions of context restriction can be easily changed and added. Experimental results using actual Japanese corpora showed that the proposed method aggregating multiple context-restricted models achieved a higher performance than the previous single Skip-gram model. In addition, the estimated weights of various properties of the context words could appropriately elucidate some grammatical characteristics of the Japanese language.

Key Words: Synonym Acquisition, Skip-gram Model, Support Vector Machine

## 1 序論

自然言語処理において高度な意味処理を実現する上で，同義語の自動獲得は重要な課題である (乾 2007). 例えば，近年の検索エンジンのクエリ拡張においては同義語辞書が用いられている (内海，小町 2013) が，新出単語に対し全て人手で同義語辞書を整備することは現実的ではない. 同義語の獲得には様々な手法が提案されている. 例えば笠原ら (笠原, 稲子, 加藤 2003) は国語辞典を用いて，見出し語に対して語義文により単語のべクトルを作成した後，シソーラスにより次元圧縮を行う方法で同義語の獲得を行った。また, 渡部ら (渡部, Bollegala, 松尾, 石塚 2008) は，検索エンジンを用いて，同義対を共に含むようなパターンを抽出し，得られたパターンから同義語の候補を得るという手法で同義語の抽出を行い，係り受け解析を行わずとも既存手法と同様の性能が得られることを示した. 一方, これらの研究とは異なり「同じ文脈に現れる単語は類似した意味を持つ」という分布仮説 (distributional hypothesis) (Zellig 1954)に基づいたアプローチも存在する。実際に文脈情報が同義語獲得に有用であるとの報告 (Hagiwara， Ogawa, and Toyama 2006) もあり，加えてその他の手法と組み合わせて使用することが可能であるという利点もある。そこで，本研究では文脈情報を用いたアプローチを検討する。

文脈情報の獲得にも手法が多数存在するが，近年では，分布仮説に基づきニューラルネットワーク的な手法を用いて単語の “意味”を表すべクトル（単語ベクトル）を求める Skip-gram モデル (Mikolov, Chen, Corrado, and Dean 2013) が注目されている. Skip-gram モデルで得られた単語べクトルを利用するとコサイン類似度により単語の意味の類似度が計算できることが知られており，その性能は既存手法より良いという報告 (Schwartz, Reichart, and Rappoport 2015) もある。しかし, Skip-gram モデルでは周辺単語の品詞や語順を無視したものを文脈情報として用いており，有用な情報を無視している可能性がある。実際に既存の Skip-gram モデルでは同義語獲得に失敗する例として,「カタカナ語」と「和語」からなる同義語対の場合, コサイン類似度が低くなることなどが知られており (城光，松田，山口 2015)，改善が望まれる。

そこで, 本研究では, Skip-gram を拡張し, 周辺単語の品詞情報や語順情報を取り込み可能なモデル（文脈限定 Skip-gram）を提案する。文脈限定 Skip-gram では，既存の Skip-gram と違い, 周辺の単語のうち, ある条件を満たすもの（特定の単語分類属性（品詞等）や特定の相対
位置）のみを文脈として利用し，単語ベクトルを学習する。たとえば，「カタカナ語」あるいは 「カタカナ語」ではないもの（これを「非カタカナ語」と呼ぶ）のみに周辺単語を限定することによって, 周辺の「カタカナ語」あるいは「非カタカナ語」との関係を強く反映した単語べクトルを学習することができる。そして，そのような様々な限定条件ごとに単語ベクトル及びコサイン類似度を計算し，それらを線形サポートベクトルマシン (SVM) と同義対データを用いた教師あり学習による合成することで，同義語獲得を行った。その結果，日本語の言語特性を適切に抽出して利用できていることがわかった。たとえば，同義語の獲得精度が一番高かったモデルにおいては，「非カタカナ語」および「直後の単語」などの特定の限定条件から得られたコサイン類似度への重みが大きいことがわかった。また，これらの限定条件への重みを大きくすることは，既存の Skip-gram モデルでは獲得が難しかった「カタカナ語」と「和語」からなる同義対の獲得の精度へ大きな影響をあたえることもわかった。

本論文の構成は以下のとおりである。第 2 節では，関連研究について述べる。第 3 節では，提案手法について述べる， 3.1 節では，既存の Skip-gram モデルについて概説し， 3.2 節では，提案する文脈限定 Skip-gram モデルについて説明する，第 4 節では，使用データと予備実験について述べる．4.1節では実験に使用したコーパス及び同義語対／非同義語対の教師デー夕作成方法について，4.2 節では Skip-gram における設定と SVM の素性作成方法に関する予備実験について述べる。第 5 節では提案手法による結果を示し，有効性を議論する。最後に第 6 節において結論を述べる.

## 2 関連研究

同義語の自動推定には様々な手法が存在する，笠原ら (2003) は, 第 1 節に述べたように, 国語辞典の語義文と大規模なシソーラスを用いて単語ベクトルを作成し, 同義語の獲得を行った. また，渡部ら (2008) は，検索エンジンを用いて同義対 (X,Y)を共に含むようなパターンを抽出した後に, 得られたパターンから同義対の候補を抽出し順位付けを行うことで, 同義対（と関連語）を獲得し，係り受け解析を行わずとも既存手法と同様の性能が得られることを示した。これらの手法では, 同義語の推定に, 何らかの単語の素性を使用している。例えば, 笠原ら (2003) はVSM（ベクトル空間モデル）を使用しており，渡部ら (2008) は同義対を共に含むようなパターンを使用している，笠原ら (2003)のような文章中の単語の出現頻度のみを用いた VSM は,語の位置関係を無視し（必然的に，周辺文脈を無視し）ているが，特異値分解やシソーラスなどによる次元圧縮手法が適用可能であり，スパースネスなどの問題を緩和できるという利点を持つ。また，渡部ら (2008)の手法は，パターンを事前に獲得しておくことで新出の同義語を新たに学習すること無く獲得できるという利点がある。これらの素性による同義語獲得は一定の成果を上げているものの，精度の面においてはまだ課題が残る。
一方，第 1 節において述べたように，文脈情報からニューラルネットワーク的な手法を用いて単語の“意味”を表すべクトル（単語ベクトル）を求める手法が，その高い意味獲得精度から注目されている (Schwartz et al. 2015). 文脈情報から単語べクトルを獲得する研究には様々なものがある. 周辺単語の相対位置や語順に着目したものとしては Ling et al. (Ling, Tsvetkov, Amir, Fermandez, Dyer, Black, Trancoso, and Lin 2015)のものや, Trask et al. (Trask, Gilmore, and Russell 2015)のものが挙げられる. Ling et al. (2015)は周辺単語の相対位置を考慮した重み付けを行うことで, Trask et al. (2015) は単語の語順や文字列を利用した Skip-gram モデルを作成することで，文法構造をより反映する単語べクトルが学習できることを示した。また，有賀, 鶴岡 (2015) は周辺単語から中心単語の言い換え表現を予測するタスクにおいて, 周辺単語の語順を考慮して単語べクトルを学習することで, 精度が向上することを報告した. 一方, 周辺単語だけでなく, 他の事前情報を加えた研究も存在する. 例えば, Levy and Goldberg (2014) は係り受け構造を考慮して, 単語ベクトルの学習をし, 意味の類似度判定テストで Skip-gram モデルより高い精度を報告した. Bian, Gao, and Liu (2014) は辞書などの意味情報を加えることで, Yu and Dredze (2014) は辞書情報とコーパスから単語ベクトルを同時に学習することで,意味の類似度判定テストの精度が高まることを示した。

これらの研究は, 周辺文脈に出現する単語の種類だけでなく, 語順や係り受け構造などの条件を加え，その上で単語ベクトルを「同時に」学習することで単語ベクトルの質を高める研究である。このようなモデルそのものに様々な要因をまとめて組み达んで新たなモデルを構築する研究に対して, 本研究では単語ベクトルを限定条件ごとに「個別に」学習し, その後, 同義語を教師あり学習により獲得するアプローチを試みる。具体的には, 第 1 節に述べたように様々な限定条件ごとの単語べクトルを学習し, それらを線形 SVM にて合成することで同義語の獲得を行う. 提案手法では, 線形SVM を用いた重み付けの際に, 教師例として同義対を用いることから, 「同義語の獲得」において重要なものの重みを学習する。そのため, 線形 SVM で学習された重みを見ることで，周辺単語が「同義語の獲得」に与える影響を知ることができる。このように，提案手法には高い解釈可能性がある。また, Skip-gram のモデル自体は変更せず，文脈限定関数で学習データを変更するだけで, 利用する単語属性の追加や変更が可能であるという高い拡張可能性もある. これらの解釈可能性と拡張可能性の二点が, 既存手法に対する提案手法の大きな優位点である.

## 3 提案手法

## 3.1 既存の Skip-gram モデル

ここでは Skip-gram モデル (Mikolov et al. 2013) について概説する. Skip-gram モデルは, ニューラルネットワーク的な手法を用いて，コーパスの文脈情報から，各単語の単語ベクトル

を学習する手法の一種である. Skip-gram モデルでは, ある単語 $w_{t}$ が文章内の位置 $t$ に存在した場合，その周辺単語 $w_{t+j}(j \neq 0)$ の発生確率 $p\left(w_{t+j} \mid w_{t}\right)$ を以下の式で与える.

$
p\left(w_{t+j} \mid w_{t}\right) \propto e^{v^{\prime}\left(w_{t+j}\right)^{T} v\left(w_{t}\right)}
$

ここで，ニューラルネットワークモデル的に言えば， $v(w)$ はある入力単語（中心単語） $w$ に依存した入力用べクトル,$v^{\prime}(w)$ はある周辺単語 $w$ の出力確率を計算するための出力用べクトルである. $v$ および $v^{\prime}$ の次元は事前に与えられる。出力確率は，入力用ベクトルと出力用ベクトルの内積に依存し, 内積が大きい程確率は高くなる。本論文では, わかりやすさのため, $v(w)$ を単語 $w$ の単語ベクトル， $v^{\prime}(w)$ を文脈ベクトルと呼ぶことにする，なお，確率分布は 1 に正規化されるので，語彙に含まれるすべての単語 $w$ での正規化により， $p\left(w_{t+j} \mid w_{t}\right)$ は以下で与えられる。

$
p\left(w_{t+j} \mid w_{t}\right)=\frac{e^{v^{\prime}\left(w_{t+j}\right)^{T} v\left(w_{t}\right)}}{\sum_{w} e^{v^{\prime}(w)^{T} v\left(w_{t}\right)}}
$

さらに $p\left(w_{t+j} \mid w_{t}\right)$ から，あるコーパスが与えられたときの尤度関数 $\ell$ あ下の式 (3) で定義する.

$
\ell=\sum_{t=1}^{T} \sum_{-c \leq j \leq c, j \neq 0} \log p\left(w_{t+j} \mid w_{t}\right)
$

ここで $T$ はコーパスのサイズ， $c$ は文脈空サイズであり， $1 \leq c \leq K$ の範囲で一様分布でランダムに決定される．Kは事前に与えられる最大文脈密サイズである．実際のコーパスを利用して， $\ell$ を最大化する単語べクトル $v(w)$ および文脈べクトル $v^{\prime}(w)$ を求めることが, Skip-gram モデルにおける学習である。なお，本来のモデルは以上の通りであるが，尤度関数 $\ell$ をのままの形で最大化することは，計算量等の問題で困難であるため，実際にはいくつかの近似が用いられる。例えば, (Mikolov et al. 2013) では, 階層的 softmax モデル近似が利用されているが,本論文では説明を省略する。

## 3.2 文脈限定 Skip-gram モデル

既存の Skip-gram モデルでは, 周辺単語として, 文脈密の中に存在するすべての単語を利用している。そのため, 周辺単語の種類, 語順等の情報を利用することはできない. 本研究では,文脈として利用される単語を限定することで，Skip-gram を改良する。なお，単語べクトルの推定に文脈での語順を考慮した既存研究としては第 2 節に述べた有賀ら (有賀, 鶴岡 2015)のものがあるが，本研究は，文脈間の依存関係を考慮していないという点において有賀らの研究とは異なる。
文脈限定 Skip-gram モデルでは，式 3 の目的尤度関数 $\ell$ が以下のように変更される.

$
\ell=\sum_{t=1}^{T} \sum_{-c \leq j \leq c, j \neq 0} \log p\left(w_{t+j} \mid w_{t}\right) \phi\left(w_{t+j}, j\right)
$

ここで，文脈限定関数 $\phi\left(w_{t+j}, j\right)$ は，周辺単語 $w_{t+j}$ および相対位置 $j$ がある条件を満たす時のみ 1 となり，それ以外は 0 となる関数である。詳細は省略するが，式 4 は既存の Skip-gram と同様の方法で最大化することが可能である。なお, $w_{t+j}$ とに関係なく常に 1 となる文脈限定関数 ( $\phi_{\text {ALL }}$ と呼ぶ）においては, 式 4 は式 3 と同一である. さて, 本研究では, 基本的な文脈限定関数 $\phi\left(w_{t+j}, j\right)$ として, 周辺単語の品詞, 種類に依存した $\phi_{\mathrm{POS}}^{p}\left(w_{t+j}\right)$, 周辺単語の左右に依存した $\phi_{\mathrm{LR}}^{p}(j)$, 周辺単語の相対距離に依存した $\phi_{\mathrm{WO}}^{p}(j)$ の 3 種類を用いる (これらの文脈限定関数を POS, LR, WO と参照する)。さらに，それらの組み合わせとして「POS-LR」「POS-WO」 も利用する。

$\phi_{\mathrm{POS}}^{p}(w)$ は，単語 $w$ が品詞等のある分類属性を持つ時のみ 1 となる文脈限定関数である．本論文では, 「副詞, 助詞, 動詞, 名詞, 固有名詞, 形容詞, 接頭詞, 数, 記号, カタカナ, 非力タカナ」の計 11 個を分類属性として利用する. 従って, $\phi_{\mathrm{POS}}^{1}(w), \ldots, \phi_{\mathrm{POS}}^{11}(w)$ の 11 種類が存在する。 $\phi_{\mathrm{LR}}^{p}(j)$ は, $j$ が正の時のみ 1 となる関数もしくは $j$ が負の時のみ 1 となる関数である.具体的には $j$ が正の時のみ 1 となる関数 $\phi_{\mathrm{LR}}^{0}(j)$ と, $j$ が負の時のみ 1 となる関数 $\phi_{\mathrm{LR}}^{1}(j)$ の二つが存在する。これらは, 周辺単語が右側にある場合と左側にある場合に対応している。 $\phi_{\mathrm{WO}}^{p}(j)$ は, $\phi_{\mathrm{LR}}^{p}(j)$ のある種の拡張であり, $j=p$ の時のみ 1 となる関数である. 本論文では, 前後 10 単語を対象とすることとした. したがって $, p=-10, \ldots,-1,1, \ldots, 10$ として与えられ，文脈空の特定の相対位置にある時のみに限定する 20 種類の関数となる。さらに，組み合わせにより, $\phi_{\mathrm{POS}-\mathrm{LR}}^{p q}(w, j)=\phi_{\mathrm{POS}}^{p}(w) \phi_{\mathrm{LR}}^{q}(j)$ および $\phi_{\mathrm{POS}-\mathrm{WO}}^{p q}(w, j)=\phi_{\mathrm{POS}}^{p}(w) \phi_{\mathrm{WO}}^{q}(j)$ として新たな文脈限定関数を構成可能である。表 1 に構成可能な文脈限定関数の個数一覧を示す。一つの文脈限定関数に関して一つの Skip-gram モデルが学習されるので, 最大で, 276 個のモデルが利用可能である。なお，相対位置を全て区別する WO, POS-WO に関しては, 元の Skip-gram と異なり, 文脈密サイズ $c$ は常に最大値 $K$ をるものとした.

実際の同義語獲得を行う際には, 学習された各 Skip-gram モデルにおいて単語間のコサイン類似度を計算する (コサイン類似度を用いる理由は 4.2 .2 節において後述する)。本研究では, 各モデルでの類似度を素性とみなし，教師デー夕に基づいて，線形SVM で各々の素性に対する重み

表 1 文脈限定関数の個数一覧

を学習することにより，判定関数を構築する。そのため，提案手法は教師なし学習の Skip-gram を教師あり学習により拡張しているといえる。更に，素性の重みについては線形SVM の値を利用するが, 闇値については $\mathrm{F}$ 值を最大化をするようなものを推定することで（F 值最大化）, さらなる最適化を行った。また, SVM 使用の際には加算平均が 0 , 分散が 1 となるように各素性の正規化処理を行った。

## 4 使用データと予備実験

## 4.1 使用データ

単語ベクトル作成において用いたコーパスとして，日本語 Wikipedia データ11 (2 Gbytes)を $\mathrm{MeCab}^{2}$ により mecab-ipadic-neologd 辞書 3 を用いて基本形出力でわかち書きと品詞付与を行った後に, 出現回数が 100 回未満の低頻度語を除いたものを使用した。最終的に, Skip-gram モデルで単語ベクトルが獲得された単語は 104,630 種類となった. ただし, 同じ単語であっても品詞が異なるものは区別して扱った． Skip-gram モデル4では，階層的 softmax モデルを用いて学習を行った。

文脈限定 Skip-gram の計算時間については，各々の文脈モデルは独立に学習していることから，計算時間は ALL（既存 Skip-gram）とモデル数を乗算した値で見積もることができる．実際には学習する回数が文脈限定により減少することから，各文脈限定モデルでは基本的に ALL より学習時間が短くなり，計算時間は見積もりより短くなる．実際に全ての文脈限定 Skip-gram $(\mathrm{N}=300)$ の学習に要したトータルの計算時間は, CPU として AMD $1.4 \mathrm{GHz}$ を用いて 20 スレッドの並列処理を行った場合, 60 時間程度であった。なお, ALL $(\mathrm{N}=300)$ の学習時間は 2 時間程度である。また, 一旦単語ベクトルの獲得を行えば, 線形SVM の学習や個々の判定には長い時間は要さない.

同義対の正例として, WordNet 同義対データベーズに含まれる同義対を利用した. 発生頻度が極端に低く Skip-gram で単語ベクトルの獲得できなかった単語を除き, 最終的に 5,848 対を正例として用いた，負例（非同義対）としては，まず，単語べクトルが獲得可能であった単語 （</s>は除く）の中から，ランダムに作成した 17,544 対（正例の 3 倍）を利用した. 更に, 正例に含まれる単語群をランダムに組み合せることで作成した 5,848 対（正例と同数）を，負例として追加した。この負例の追加により, 正例に含まれる特定の単語の出現のみによって同義
^{1} \mathrm{http}$ ://dumps.wikimedia.org/jawiki/, 2015 年 6 月 5 日取得

2 http://taku910.github.io/mecab/

3 https://github.com/neologd/mecab-ipadic-neologd, 2015 年 12 月 9 日取得

${ }^{4}$ https://code.google.com/p/word2vec/にて Google が公開している実装を使用した.

5 http://nlpwww.nict.go.jp/wn-ja/jpn/downloads.html にて NICT が提供する, WordNet (Wen, Eshley, and Bond 2006) を元に人手で作成された同義対データベースである.
}
対と誤判定してしまう問題を緩和した. SVM のパッケージとしては Weka(SMO) と SVMlight を用いた。

## 4.2 予備実験

## 4.2.1 文脈空 $K$ と次元 $N$ の与える影響

提案手法に関する実験を行う前に, 既存 Skip-gram (ALL) における適切な文脈密 $K$ と単語ベクトルの次元 $N$ を調べる目的で， $K$ と $N$ 違いによる同義語獲得性能の比較を行った. 調查対象とした $K$ は， $1,2,3,4,5,6,7,8,9,10,20,30,50$ の 13 種類， $N$ は 100, 200, 300, 500, $1,000,1,500,2,000,2,500,3,000$ の 9 種類である． $K$ を変更させた際は $N=300$ に， $N$ を変更させた際は $K=5$ に固定した。また，同義語獲得においては ALL で獲得されたコサイン類似度を素性とし，F 值が最大となるような閾値を調べ，その時の F 値を結果として記した。実験結果を図 1 に示す.

実験結果から F-Measure は $K$ が $2 \sim 7$ の時に高くなり，8 以降は減少傾向にあることが分かった.また， $K=2$ の時に $\mathrm{F}$ 値が最大となったが，2７の間での $\mathrm{F}$ 值には大きな差がない．そこで，Skip-gramの結果が初期值に依存することを考え，5節の評価実験では，ALLを用いる際は 2〜7の中間付近である $K=5$ を用いることにした.

単語ベクトルの次元 $N$ においては, 100 次元から 500 次元までは次元が高くなるにつれ，急激に $\mathrm{F}$ 值が高くなるが，以降は伸びが緩やかとなり， 1,500 次元から 3,000 次元にかけて $\mathrm{F}$ 值は下がる事がわかる。上記の結果から， 1,000 次元 1,500 次元が最適な次元数であることが分かった。そこで，5 節の評価実験においては，計算時間を考慮しALLについては 1,000 次元としたものを用いる.

(a) 文脈空のサイズ $(K)$ による $\mathrm{F}$ 值の変化 $(N=300)$

(b) 次元 $(N)$ による $\mathrm{F}$ 值の変化 $(K=5)$

図 1 文脈空のサイズ $K$ と次元 $N$ による同義語獲得における $\mathrm{F}$ 値の変化

## 4.2.2 ベクトル結合方法の比較

第 1 節に述べたようにコサイン類似度に単語の意味の近さが表れるという報告があるが, 本章では実際にコサイン類似度が線形 SVM の素性の作成方法として妥当であることを同義語獲得性能の比較によって示す. 単語べクトルの結合方法には様々考えられる。例えば, (Oyama and Manning 2004)では, 異表記されている同一著者の判定問題において, 著者の論文タイトルや共著者情報などから作成された単語のべクトルをSVM で判定している. Oyama et al. (Oyama and Manning 2004) の研究では素性の作成方法だけでなく, カーネルの変更によっても性能が高まることが示されている。 そこで，予備実験では比較対象として単語べクトルの要素をSVM の素性とし, 同義語獲得を行った。具体的には, 単語べクトルの各々の要素を結合するもの (Combine) と乗算するもの (Multiplication) SVM の素性とした. 例えば, 着目している単語対の単語べクトルを $\left(a_{1}, a_{2}, a_{3}, \ldots, a_{N}\right),\left(b_{1}, b_{2}, b_{3}, \ldots, b_{N}\right)$ とすると, これらの単語べクトルの Combine により作成された SVM の素性は $\left(a_{1}, a_{2}, a_{3}, \ldots, a_{N}, b_{1}, b_{2}, b_{3}, \ldots, b_{N}\right)$ の $2 N$ 次元となり, Multiplication により作成された SVM の素性は $\left(a_{1} \times b_{1}, a_{2} \times b_{2}, a_{3} \times b_{3}, \ldots, a_{N} \times b_{N}\right)$ の $N$ 次元となる.

SVM のカーネルにおいては線形カーネルの他に多項式カーネル゙と RBF カーネル7を用いた. また, 閥値の学習は 3.2 節に述べたように $\mathrm{F}$ 值最大化を用いて行った。使用した組み合わせは以下の 6 つである.
- Combine + 線形カーネル
- Combine + 多項式カーネル（二次）
- Combine + RBF カーネル
- Multiplication + 線形カーネル
- Multiplication + 多項式カーネル（二次）
- Multiplication + RBF カーネル

とした。

線形 SVM を用いた同義語獲得に関しては, 教師例のデー夕量が 29,240 対（4.2.1 節）と少なくオーバーフィットの可能性が考えられる。そのため, 線形SVM による同義語獲得の際には, 5 分割交差検定により, 精度, 再現率, $\mathrm{F}$ 値を評価した。交差検定の分割はそれぞれの結果について同じであり，結果の比較が可能である.

結果を表 2 に示す。比較対象として, 一番下の行に実験 1 の結果 1 における $K=5(N=300)$ の結果を記した. “Combine + 線形カーネル", "Combine + RBF カーネル", "Multiplication + RBF カーネル"においては正例（同義対）と負例（非同義対）を分離可能な超平面が作成できず,

表 2 SVM における素性作成方法や使用カーネルと同義語獲得精度の関係

単語ベクトルの次元は全てにおいて $N=300$

SVM が全てのデータを負例として識別するように学習したため, 精度も $\mathrm{F}$ 值も計算不能であった. F 值が計算可能であった"Combine + 多項式”, “Multiplication + 線形”, “Multiplication + 多項式”に関しても，コサイン類似度の $\mathrm{F}$ 值を大幅に下回った。以上の結果から本論文においては素性の作成方法としてコサイン類似度を用いて分析を行うこととする。

## 5 実験結果

ここでは，提案手法（文脈限定 Skip-gram）による同義語獲得の性能の評価実験を行った，学習時における最大文脈窓サイズ $K$ に関しては，文脈限定の無い既存 Skip-gram (ALL) については 4.2.1 節に述べたように $K=5$ とし, 他のモデルに関しては学習対象になる周辺単語の数が減少することを考慮に入れ $K=10$ とした。単語べクトルの次元数 $N$ も 4.2 .1 節に述べたように ALLのみ $N=1,000$ とし, その他のモデルに関しては計算時間を考慮し $N=300$ とした. ある文脈限定関数について一つの素性が対応する。本研究では, 表 1 の文脈限定関数の組み合わせにより素性群を作成した。なお，すべての素性群は必ず ALLを含むものとした。

与えられた素性群について線形 SVM で重みを学習した．4.2.2 節と同様の理由で, 線形 SVM による同義語獲得においては 5 分割交差検定により，精度，再現率， $\mathrm{F}$ 值を評価した．交差検定の分割も，4.2.2 節と同様にそれぞれの結果について同じである.

提案手法を用いた同義語獲得の結果を表 3 に示す. 最初の 5 行は, ALL と一つのタイプの文脈限定関数群を組み合せた結果である ${ }^{8}$. その次の行は, ALL と複数タイプの組み合わせ $2^{5}$ の 32 通りの中で，F 值が最も高くなった結果を表示している。たたし，十分に素性を含んでいるものに関しては F 値の差がそれほど見られなかった. 最後の行に, 既存の Skip-gram モデルと

の比較として，ALLのみを用いた結果を示した。表 3 において，ALLと一つのタイプのみの文脈限定関数を組み合わせた場合でも，「ALL + WO」「ALL + POS-LR」「ALL + POS-WO」で既存手法の $\mathrm{F}$ 值を上回ることが示されている。これは, 同義語獲得において, 周辺単語の相対的な位置およびその品詞などの分類属性が, 重要な情報であるということを示している。また,提案手法における $\mathrm{F}$ 値最大となる組み合わせは，「ALL + POS-LR + POS-WO 」であり，F 値は 0.792 となった. これは既存手法の最大 $\mathrm{F}$ 値である 0.712 より高い.

次に，本手法の解釈可能性の高さを実証するために，提案手法において $\mathrm{F}$ 值が最大であった $\lceil\mathrm{ALL}+$ POS-LR + POS-WO」の組み合わせ（以後，「MAX」と参照）の線形SVM の重みについてのグラフを図 2 から図 5 に示す。重みの値が大きければ同義対の判定に正の影響を，值が小さければ負の影響を与え，0であれば影響を及ぼさない，R1, L1 など中心単語から見た時の相対的位置が「右 1 つ目」，「左 1 つ目」であることを示している。

まず，図 2 と図 3 の考察を行う. 図 2 を見ると, 中心単語の直後の単語が同義語獲得に大き

表 3 文脈限定 Skip-gram による同義語獲得精度の評価

単語ベクトルの次元は ALL は $\mathrm{N}=1,000$, その他は $\mathrm{N}=300$

図 2 MAXにおける相対的位置ごとの重みの合計：各相対位置について，POS-WO における重みを，すべての POS 分類属性に関して合計した値を示した.

な影響を及ぼしていることが分かる。また，影響の大きさは中心単語から離れれば離れるほど減っていくこともわかる。また，図 3 からは，非カタカナ語の重みが他の分類属性と比較した時に一番大きいことが分かる。これは 1 節で述べたように非カタカナ語に注目することが重要であることを示している.

次に，図 4 と図 5 の考察を行う，図 4 から, 一般に同義語獲得においては, 右側 $(R, R 1 \sim R 10)$ の影響が左側 $(\mathrm{L}, \mathrm{L} 1$ L 10$)$ の影響より大きいことがわかる。一方で，これを品詞ごとにわけたものが図 5 である。図 5 から，動詞や非カタカナ語に関しては右側にある単語の与える影響が大きいことがわかる。これは，全体として右側が与える影響が強い（図 4）ことから，その性質を反映していると考えられる。一方，形容詞や接頭詞においては，左側にある単語の方が同義語獲得に大きな影響を与えることがわかる。これは，形容詞や接頭詞は修飾する単語の左側に付くことが多いためであると考えられる。このように，周辺単語の単語属性や相対位置をそれ

図 3 MAXにおける分類属性ごとの重みの合計：各 POS 分類属性について, POS-WO と POS-LR における重みを，全ての相対位置 (L, R, L1-L10, R1-R10) に関して合計した値を示した.

図 4 MAXにおける左右に着目した相対的位置ごとの重みの合計 : 左側は L と L1 から L10 までの POSWO と POS-LR における重みの合計を，右側は R と R1 から R10 までの合計を示した。すべての POS 分類属性についても合計している.

ぞれ区別して扱うことで，日本語の性質を反映した同義語獲得が可能になると考えられる.

さて, 同義語獲得の具体的な問題として, 第 1 節において, カタカナ語と和語からなる同義対のコサイン類似度が低くなるという報告があると述べた。そこで，提案手法でこの問題が解決されるかを調べた。そこで，ALLと MAXについて，カタカナ語と和語からなる対の同義語獲得問題に関する性能を比較した，正例の同義対の中で，対の片方がカタカナ語であり，もう一方が和語のものは, 2,457 対存在した. 同様に負例は 7,782 対存在した. このデータセットを利用した性能比較の結果を表 4 に示す. 既存手法 ALL と比べ, 提案手法 MAX の精度, 再現率は高い値を示している。また，具体的な成功例として，ALLでは非同義対と判定され MAXにて同義対と正しく判定されたもののうち ALLでの順位が低いもの 10 例を表 5 に示す。一方,失敗例として ALLでは獲得できていたが MAX で獲得不可能になった同義対のうち ALLでの

図 5 MAXにおける単語分類属性に着目した左右の相対位置ごとの重みの合計：POS 分類属性ごとに左側 (L, L1～L10) と右側 $(\mathrm{R}, \mathrm{R} 1 \sim \mathrm{R} 10)$ の POS-WO と POS-LR における重みを合計した値を示した.

表 4 カタカナ語と和語からなる対の同義語獲得における ALLと MAXの性能比較

表 5 MAXにおいて獲得可能となった同義対のうち ALLでの順位が低い対

表 6 ALL においては獲得できたが MAXでは獲得不可能になった同義対のうち ALLでの順位が高い対

順位が高いもの 10 例を表 6 に示す。また，それぞれの表には ALL と MAXにおけるSVM の学習に用いた単語対 $(29,240$ 対) の中での順位も示した. なお,ここでいう順位とは線形SVM の値と $\mathrm{F}$ 値最大化によって得られた閾値の距離を降順に並べた時の順位である. 表 5 の 10 例中 7 例はカタカナ語と和語からなる対であるが, ALLでは獲得が難しかったこれらの対の順位がMAXでは高くなっていることがわかる. このことから, カタカナ語と和語からなる対に対してMAX が有効であるといえる。一方，MAXにおいて獲得不可能になった対（表 6）を見ると, カタカナ語と和語からなる対が少ないことが読み取れる。これは, カタカナ語と和語からなる対の ALLの値が低くなること, および, MAXにおいてはカタカナ語と和語／漢語の対の獲得性能が向上しているためであると考えられる。

第 1 節に述べたように, カタカナ語は周辺単語にカタカナ語を生じやすいが, 非カタカナ語は周辺単語に非カタカナ語を生じやすいという傾向がある. そのため, 周辺単語から中心単語のベクトル表現を学習するというモデルでは,「カタカナ語と非カタカナ語からなる同義対」の獲得が難しいという問題点があった. 提案手法では, 図 3 に示したように, 周辺単語を非カタカナ語に限定した要素の重みを線形 SVM を用いて最適に調節することで，上記の問題を緩和し, カタカナ語と和語/漢語からなる同義対の獲得精度を高めることができたと考えられる。

## 6 結論

本研究では, 同義語獲得において周辺単語の相対位置や品詞等の様々な属性情報を利用するために, Skip-gram モデルを改良し, 文脈限定関数を利用した手法を提案した. 実験の結果, 周辺単語の語順や品詞を考慮して文脈を限定し, それらの影響の重みを線形SVM で推定することで，同義語獲得の精度を向上させることができることがわかった。また, 中心単語の直後の
単語と非カタカナ語が同義語獲得に大きな影響を与えていること, 及び, 全体としては相対位置が右側にある単語の与える影響が大きいが，形容詞や接続詞においては，逆に左側の与える影響が大きいことがわかった。

本研究のひとつの大きな優位点は，文脈情報や単語分類属性（品詞等）を用いて Skip-gram を「個別に」学習したものを組み合わせることで，同義語獲得において重要であると考えられる周辺単語の性質を知ることができる高い解釈可能性である。もうひとつの大きな優位点は, Skip-gram のモデル自体は変更せず，文脈限定関数で学習データを変更するだけで，利用する単語属性の追加や変更が可能であるという高い拡張可能性である。本論文で挙げた属性以外にも，容易に他の有用と考えられる単語属性を利用することができる。本手法を，既存の辞書べースの手法 (笠原他 2003) や検索エンジンを利用する手法 (渡辺他 2008) 等と組み合わせることで, さらに同義語獲得精度を向上させることができると期待される.

以下，今後の課題について述べる。最初に多義性の問題に関して述べる。提案手法と既存手法の両者において獲得に失敗した単語対の傾向を観察したところ，その単語の多くに多義性が見られた．既存手法の Skip-gram モデルおよび提案手法である文脈限定 Skip-gram モデルは 1 つの単語につき 1 つの “意味”しか学習できないため, このような傾向が生じると考えられる. この問題は, 多義性の問題の解決を試みた Skip-gram モデル（Neelakantan, Shankar, Passos, and McCallum (2015), Bartunov, Kondrashkin, Osokin, and Vetrov (2015), Cheng, Wang, Wen, Yan, and Chen (2015) など）を提案手法と組み合わせ同義語獲得に適用することで解決できる可能性がある.

第二に，データスパースネスの問題について述べる。既存手法では獲得に成功していたが提案手法において失敗するようになった単語については一般的には使われない単語が多く見受けられたが，これは文脈限定 Skip-gram モデルでは文脈を限定していることから既存手法よりもデータスパースネスに弱くなり，低頻度語の“意味”の獲得精度が弱まっていることが原因であると考えられる。この問題は, “Yahoo! 知恵袋データ"9など，他のコーパスも加えデータサイズを増やすことで本問題を緩和可能であると考えられる。また, Skip-gram における学習の特徵として, 局所最適解の影響により, 単語べクトルが実行ごとに結果が変化することが知られている (Suzuki and Nagata 2015)，そこで，コーパスのデータサイズを増やすことでこのような局所最適解の影響を調査することも必要であると考えられる.

第三に，文脈限定関数の構築方法に関して述べる。本研究では多くの文脈限定関数について （品詞）辞書を使用したが, 表 3 からもわかるように, (品詞) 辞書情報を必要としない ALL+WO においても既存手法に比べて大きな $\mathrm{F}$ 値の向上が見られた. このことから，位置情報を始めとする，辞書情報を必要としない文脈限定関数を利用することでも精度が更に高まる可能性があ
^{9}$ http://www.nii.ac.jp/dsc/idr/yahoo/chiebkr2/Y_chiebukuro.html
}

ると考えられる。このような文脈限定関数としては, 本研究で述べた LR $\mathrm{WO}$ 以外にも「ある特定の文脈窓内（例えば，L2～L5 以内）に含まれるかどうか」によって限定するものも考えられる。また, 辞書を使用するものに関しても「内容語か機能語か」という限定の仕方なども考えられる。これら「文脈空内に含まれるかどうか」や「内容語か機能語か」といった限定条件の変更は, 文脈の限定の程度を緩和することから，上に述べたデータスパースネスの問題を緩和することにも繋がる点でもメリットがある.

最後に, 同義対教師データについて述べる，今回は教師例が少ないため最善モデルの $\mathrm{F}$ 値の推定にとどまったが，今後はさらに教師例を収集して，提案手法の正確な $\mathrm{F}$ 値の推定を行う必要があると考えられる。

以上を踏まえ，今後は多義性の問題緩和と，コーパスのサイズや同義対教師例の増加，文脈限定関数の変更・追加により，提案手法のさらなる精度向上を目指していく予定である.

## 参考文献

有賀竣哉, 鶴岡慶雅 (2015). 単語のベクトル表現による文脈に応じた単語の同義語拡張. 言語処理学会第 21 回年次大会発表論文集 (NLP2015), pp. 752-755.

Bartunov, S., Kondrashkin, D., Osokin, A., and Vetrov, D. (2015). "Breaking Sticks and Ambiguities with Adaptive Skip-gram." CoRR, arXiv:1502.07257.

Bian, J., Gao, B., and Liu, T.-Y. (2014). "Knowledge-powered Deep Learning for Word Embedding." In Joint European Conference on Machine Learning and Knowledge Discovery in Databases, pp. 132-148. Springer.

Cheng, J., Wang, Z., Wen, J.-R., Yan, J., and Chen, Z. (2015). "Contextual Text Understanding in Distributional Semantic Space." In ACM International Conference on Information and Knowledge Management (CIKM). ACM - Association for Computing Machinery.

Hagiwara, M., Ogawa, Y., and Toyama, K. (2006). "Selection of Effective Contextual Information for Automatic Synonym Acquisition." In Proceedings of Coling/ACL2006, pp. 353-360.

乾健太郎 (2007). 自然言語処理と言い換え. 日本語学, 26 (13), pp. 50-59.

城光英彰, 松田源立, 山口和紀 (2015). 同義語判定問題を用いた語義べクトルの評価の検討. 人工知能学会インタラクティブ情報アクセスと可視化マイニング研究会, 10, pp. 21-25.

笠原要, 稲子希望, 加藤恒昭 (2003). テキストデータを用いた類義語の自動作成. 人工知能学会論文誌, $18(4)$, pp. 221-232.

Levy, O. and Goldberg, Y. (2014). "Dependency-Based Word Embeddings." In Proceedings of $A C L$, pp. 302-308.

Ling, W., Tsvetkov, Y., Amir, S., Fermandez, R., Dyer, C., Black, A. W., Trancoso, I., and Lin,

C.-C. (2015). "Not All Contexts Are Created Equal: Better Word Representations with Variable Attention." In Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing, pp. 1367-1372, Lisbon, Portugal. Association for Computational Linguistics.

Mikolov, T., Chen, K., Corrado, G., and Dean, J. (2013). "Efficient Estimation of Word Representations in Vector Space." Proceedings of Workshop at International Conference on Learning Representations (ICLR), arXiv:1301.3781.

Neelakantan, A., Shankar, J., Passos, A., and McCallum, A. (2015). "Efficient Non-parametric Estimation of Multiple Embeddings per Word in Vector Space." CoRR, arXiv:1504.06654.

Oyama, S. and Manning, C. D. (2004). "Using Feature Conjunctions across Examples for Learning Pairwise Classifiers." In Prodeedings of the 15th European Conference on Machine Learning (ECML2004), pp. 322-333.

Schwartz, R., Reichart, R., and Rappoport, A. (2015). "Symmetric Pattern Based Word Embeddings for Improved Word Similarity Prediction." In Proceedings of CoNLL, pp. 258-267.

Suzuki, J. and Nagata, M. (2015). "A Unified Learning Framework of Skip-Grams and Global Vectors." In Proceedings of $A C L$, pp. 186-191.

Trask, A., Gilmore, D., and Russell, M. (2015). "Modeling Order in Neural Word Embeddings at Scale." In Proceedings of the 32nd International Conference on Machine Learning (ICML), pp. 2266-2275.

内海慶, 小町守 (2013). ウェブ検索クエリログとクリックスルーログを用いた同義語獲得. 情報処理学会論文誌, 6 (1), pp. 16-28.

渡部啓吾, Danushka Bollegala, 松尾豊, 石塚満 (2008). 検索エンジンを用いた関連語の自動抽出. 人工知能学会全国大会論文集.

Wen, H. M. S., Eshley, G. H., and Bond, F. (2006). "Using WordNet to predict numeral classifiers in Chinese and Japanese." In The 6th International Conference of the Global WordNet Association, p. 211.

Yu, M. and Dredze, M. (2014). "Improving lexical embeddings with semantic knowledge." In Proceedings of $A C L$, pp. 545-550.

Zellig, H. (1954). "Distributional Structure." Word, 10 (23), pp. 146-162.

## 略歴

城光英彰：2014 年早稲田大学基幹理工学部応用数理学科卒業. 2016 年東京大学大学院総合文化研究科広域科学専攻修士課程修了. 同年, 三菱電機 (株) 情報技術総合研究所入社. 言語処理に関する研究開発に従事.
松田源立：1997 年東京大学教養学部卒業. 2002 年東京大学大学院総合文化研究科博士課程修了. 博士 (学術). 学振特別研究員 (PD), 青山学院大学理工学部助教を経て, 2013 年より東京大学大学院総合文化研究科学術研究員.

山口和紀 : 1979 年東京大学理学部数学科卒業. 1985 年理学博士 (東京大学). 1992 年東京大学教養学部助教授. 2007 年より東京大学大学院総合文化研究科教授.コンピュータのためのモデリング全般に興味を持つ.

(C) The Association for Natural Language Processing, (Licensed under CC BY 4.0）https://creativecommons.org/licenses/by/4.0/


# 文字列正規化パタンの獲得と崩れ表記正規化に基づく 日本語形態素解析

斉藤いつみ $\dagger$ ・貞光 九月 $\dagger \cdot$ 浅野 久子†・松尾 義博 $\dagger$
}

ソーシャルメディア等の崩れた日本語の解析においては, 形態素解析辞書に存在し ない語が多く出現するため解析誤りが新聞等のテキストに比べ増加する. 辞書に存在しない未知語の中でも, 既知の辞書語からの派生に関しては, 正規形を考慮しな がら解析するという表記正規化との同時解析の有効性が確認されている. 本研究で は, これまで焦点があてられていなかった, 文字列の正規化パタン獲得に着目し, ア ノテーションデータから文字列の正規化パタンを統計的に抽出する。統計的に抽出 した文字列正規化パタンと文字種正規化を用いて辞書語の候補を拡張し形態素解析 を行った結果，従来法よりも再現率，精度ともに高い解析結果を得ることができた. キーワード：表記正規化，形態素解析，文字列アライメント
## Morphological Analysis for Japanese Noisy Text based on Extraction of Character Transformation Patterns and Lexical Normalization

\author{
Itsumi Saito ${ }^{\dagger}$, Kugatsu Sadamitsu ${ }^{\dagger}$, Hisako Asano ${ }^{\dagger}$ and \\ YOSHIHIRO Matsuo ${ }^{\dagger}$
}

\begin{abstract}
Social media texts are often written in a non-standard style and include many lexical variants such as insertions, phonetic substitutions, and abbreviations that mimic spoken language. The normalization of such a variety of non-standard tokens is one promising solution for handling noisy text. A normalization task is very difficult for the morphological analysis of Japanese text because there are no explicit boundaries between words. To address this issue, we propose a novel method herein for normalizing and morphologically analyzing Japanese noisy text. First, we extract character-level transformation patterns based on a character alignment model using annotated data. Next, we generate both character-level and word-level normalization candidates using character transformation patterns and search for the optimal path based on a discriminative model. Experimental results show that the proposed method exceeds conventional rule-based system in both accuracy and recall for word segmentation and POS (Part of Speech) tagging.
\end{abstract}

Key Words: Normalization, Morphological Analysis, Character Alignment

## 1 はじめに

近年 Twitter 等を代表とするマイクロブログが普及し, 個人によって書かれたテキストを対象とした評判分析や要望抽出, 興味推定に基づく情報提供など個人単位のマーケティングのニー ズが高まっている。一方このようなマイクロブログ上のテキストでは口語調や小文字化, 長音化, ひらがな化, カタカナ化など新聞等で用いられる標準的な表記から逸脱した崩れた表記（以下崩れ表記と呼ぶ）が多く出現し, 新聞等の標準的な日本語に比べ形態素解析誤りが増加する.

これらの崩れ表記に対し, 辞書に存在する語にマッピングできるように入力表記を正規化して解析を行うという表記正規化の概念に基づく解析が複数提案され, 有効性が確認されている (Han and Baldwin 2011; Han, Cook, and Baldwin 2012; Li and Liu 2012). 日本語における表記正規化と形態素解析手法としては, 大きく (1)ルールにもとづいて入力文字列の正規化候補を列挙しながら辞書引きを行う方法 (Sasano, Kurohashi, and Okumura 2013; 岡, 小町, 小木曽,松本 2013; 勝木, 笹野, 河原, 黒橋 2011), (2) あらかじめ定めた崩れ表記に対し, 適切な重みを推定するモデルを定義し，そのモデルを用いて解析を行う方法 (Kaji and Kitsuregawa 2014;工藤, 市川, Talbot, 賀沢 2012) が存在する. (1) では事前に定めた文字列レベルの正規化パ夕ンに基づいて崩れた文字列に対し正規文字列を展開しながら解析するシンプルな方法が提案されている。(2)においては鍜治ら (Kaji and Kitsuregawa 2014)は形態素正解データから識別モデルを学習し, 崩れ表記を精度よく解析する方法を提案した. 工藤ら (工藤他 2012)は崩れ表記の中でもひらがな化された語に着目し, 教師なしでひらがな語の生成確率を求める手法を提案した。

(1), (2)いずれの手法においても, 崩れ表記からの正規表記列挙に関しては人手によるルー ルやひらがな化などの自明な変換を用いているが, 実際に Web 上で発生する崩れ表記は多様でありこれらの多様な候補も考慮するためには実際の崩れ表記を収集したデータを用いて正規化形態素解析に導入することが有効と考えられる.

本研究では, 基本的には従来法 (勝木他 2011; 岡他 2013) と同様の文字列正規化パタン (「うう」）等を用いて辞書引きを拡張するという考え方を用いるが，文字列正規化パ夕ンを人手で作成するのではなく，正規表記と崩れ表記のアノテーションデータから自動的に推定される文字列アライメントから統計的に求める。また, 文字列正規化パタンと, ひらがな化・カタカナ化などの異文字種展開を組み合わせることによって正規化の再現率を向上させる．さらに，今回の手法では可能性のある多数の正規化文字列を列挙するため, 不要な候補も多く生成される. これらの不要な候補が解析結果に悪影響を及ぼさないようにするため, 識別学習を用いて文字列正規化素性や文字種正規化素性, 正規語言語モデルなどの多様な素性を考慮することにより,崩れ表記の正規化解析における再現率と精度の双方の向上を試みる。

本研究の対象範囲は, 音的な類似という点で特定のパタンが存在すると考えられる口語調の
崩れ表記や, 異表記（小文字化, 同音異表記, ひらがな化, カタカナ化）とした。これらを対象とした理由は, (Saito, Sadamitsu, Asano, and Matsuo 2014; Kaji and Kitsuregawa 2014)などでも示されているように，音的な類似性のある崩れ表記が全体の中で占める割合が大きいとともに今回の提案手法で統一的に表現できる現象であったためである.

## 2 関連研究

日本語の正規化と形態素解析に関する研究は先に述べたように大きく 2 つ存在する. 文字列正規パタンに基づいて入力文を動的に展開しながら解析する笹野らの手法 (Sasano et al. 2013) では，小文字 $\rightarrow$ 大文字，長音 $\rightarrow$ 母音，促音 $\rightarrow$ 削除などのシンプルな正規化パタンを用いている.例えば，「すっごーい」という入力文に対し，促音と長音を削除した「すごい」も辞書引きの候補とする方法である。この手法はシンプルでありながら結果の有効性が示されているが，パタンは人手で作成され変換コストも一定値が用いられている. Web 上には多様な表記摇れバリエーションが存在し, 人手でカバーできる範囲には限界がある。また崩れ表記には生起しやすいパタンと生起しにくいパタンが存在するため, 変換ルールを増やして精度を向上させる場合にはそれらの生起しやすさを適切に考慮する必要がある。コストを適切に推定する，という観点では, 鍜治ら (Kaji and Kitsuregawa 2014), 工藤ら (工藤他 2012) がそれぞれ教師あり学習の手法, 教師なし学習の手法を示しており有効性が確認されているが, いずれも正規化パタンについては人手で設定しており, 正規化パタンのバリエーションを拡張する検討はなされていない.これらの手法においても，どのように正規化パタンそのものを増やすかという問題はより高精度な正規化解析において検討すべき重要な課題である。また，崩れ表記のカバー率を増やすと同時に，正規化によるデグレードをできるだけ抑制することも形態素解析においては重要な観点となる.

本研究では, 正規化パタンのカバー率を向上させるため, Web 上から崩れ表記を収集し各崩れ表記に対し正規表記をアノテーションしたぺアデータを用いて文字列レベルの正規化パタンとその生起確率を計算する。そして, これらのパタンを用いて崩れ表記に対応する正規化候補を形態素ラティス内に拡張し正規語も含めた正解系列を推定することにより，崩れ表記の正規化解析における再現率と精度の双方の向上を試みる.

## 3 提案手法

## 3.1 提案手法の全体像

本研究の全体構成を図 1 に示す. 我々の提案手法は, まずWeb 上から収集した崩れ表記に対し，正規表記のアノテーションを施したぺアデータから自動的に文字列正規化パタンを抽出す

図 1 提案手法の全体構成

る.そして，その文字列正規化パタンに基づき辞書語の拡張を行い解析を行う。辞書語の拡張においては，計算量削減のため事前に展開可能なものは事前に正規化辞書として展開を行い，動的照合が必要なものに関しては入力文に対して動的に文字列を拡張させながら辞書引きを行うことで実現する。デコーディングに際しては, 複数の素性を用いた識別モデルを用いて最適な表記，正規表記，品詞系列を選択する，以下，それぞれに関して詳細を記述する.

## 3.2 崩れ表記と正規表記の文字列アライメント

本研究では, 文字列正規化パタンとその生起しやすさを推定するため, 正規 - 崩れ表記の正解ペアデータを用いる．英語における表記正規化の研究 (Yang and Eisenstein 2013) においては人手アノテーションをせずに単語区切りを利用して自動的に正規 - 崩れ表記のぺアを抽出する研究も存在するが, 日本語の場合は単語区切りが不明であり, 英語に対して提案されている手法を適用するのは困難なため正解データのアノテーションを行うこととした.

正解ペアデータの作成に際しては，まず崩れ表記を含むテキスト（ブログや Twitter）から崩れ表記（例：おいし一い）を人手で抽出する。そして, 抽出した崩れ表記に対して人手で正規

これらのペアデータ（おいしーい，おいしい）から文字列アライメントの推定に基づき文字列レベルの正規化パタンを統計的に抽出する（例： $\rightarrow$ null, い $\rightarrow \omega)$.

本研究では, 複数文字列のアライメントが扱える Jiampojamarn らの研究 (Jiampojamarn, Kondrak, and Sherif 2007) を参考に，ペア文字列間の最適系列を下記のように定式化する.

$
\hat{\mathbf{q}}=\underset{\mathbf{q} \in K(d)}{\arg \max } \prod_{q \in \mathbf{q}} p(q)
$
表 1 崩れ表記抽出と正規表記付与の例

ここで， $d$ は崩れ表記と正規表記のぺアを表す変数である（例：かなあーり，かなり）. $q$ は $d$ 中の部分文字列アライメントを表し（“なあー，な”など）， $\mathbf{q}$ は $d$ 中のアイメント $q$ の系列を表す（例えば図 2 中の経路 1 の部分文字列アライメント系列 \{(“かな，かな”），“あ一，null”), (“り，り”）\}. $K(d)$ は，dにおける部分文字列アライメント系列 $\mathbf{q}$ の可能な集合を表す.

本研究では, $p(q)$ を (Bisani and Ney 2008) や (Kubo, Kawanami, Saruwatari, and Shikano 2011)によって提案された $\mathrm{EM}$ アルゴリズムを用いて求める。 $p(q)$ は下記の式 $(2)$ によって定められる。

$
\begin{aligned}
& p(q)=\frac{\gamma(q)}{\sum_{q^{\prime} \in Q} \gamma\left(q^{\prime}\right)} \\
& \gamma(q)=\sum_{d \in D} \sum_{\mathbf{q} \in K(d)} p(\mathbf{q}) \sum_{\bar{q} \in \mathbf{q}} \delta(\bar{q}=q)=\sum_{d \in D} \sum_{\mathbf{q} \in K(d)} \frac{\prod_{q^{\prime} \in \mathbf{q}} \bar{p}\left(q^{\prime}\right)}{\sum_{\mathbf{q}^{\prime} \in K(d)} \prod_{q^{\prime} \in \mathbf{q}^{\prime}} \bar{p}\left(q^{\prime}\right)} \sum_{\bar{q} \in \mathbf{q}} \delta(\bar{q}=q),
\end{aligned}
$

ここで， $D$ は $d$ の集合， $Q$ は $q$ の集合を表す.また， $\delta(\bar{q}=q)$ は $\bar{q}=q$ のときに 1 となる変数であり， $\sum_{\bar{q} \in \mathbf{q}} \delta(\bar{q}=q)$ は $\mathbf{q}$ おける $q$ の出現数を表す. $\bar{p}(q)$ は下記で示す繰り返し計算ステップにおける，前回の $p(q)$ の計算結果を表す。部分文字列に関しては, 崩れ表記の正規化においてできるだけ単語間で共通して起こる短い文字列のパタンを抽出したいという目的から，6文字以下のみのパタンを考慮することとした。また, 本研究では, $K(d)$ として n-best 解を用いた.

(1) step1: 初期值設定

EM アルゴリズムを用いた推定は初期値に大きく影響されるため, 初期値としてまずあらかじめ定めたコストに基づいてアライメントを行い, その後式 (2)に従ってアライメントを求めた. 初期値として, 同じ文字同士と同じ文字同士のひらがな・カタカナ変換 （あ-ア，オ-お，など）の 1 文字変換のコストを 0 とし, 複数文字アライメントに関しては文字列 $a, b$ の文字長 $l_{a}, l_{b}$ を用いて $l_{a}+l_{b}$ をアライメントのコストとした. たたし， 同

図 2 正規表記と崩れ表記の文字列アライメント計算例

じ文字同士の複数文字のアライメントに関するコストは 0 とした（例：い-いいい）。これらの設定は, 同じ文字同士のアライメント確率が高くなるような事前知識として導入した.

(2) step2: 期待値の計算

現在の確率値 $\bar{p}(q)$ を用いて, 各アライメント $q$ の期待出現回数 $\gamma(q)$ を計算する.

(3) step3: 経路確率とアライメントの計算

step2 で求めた $\gamma(q)$ を用いて, 各アライメントの確率值 $p(q)$ を更新する.

(4) step4: 繰り返し

アライメントが収束するまで step2，3 を繰り返す。

アライメントの具体例を図 2 に示す.

また，アライメントモデルからは非常に出現頻度が低い文字列正規化パタンも抽出されるため, 抽出されたアライメントから正規化形態素解析に用いる文字列正規化パタンをフィルタリングした. フィルタに際しては, $\gamma(q)$ と $r(q)$ を閥値として用いた. ここで, $q=\left(c_{w}, c_{v}\right)$ とし, $c_{w}$ を抽出された文字列正規化パタンにおける崩れ表記の部分文字列， $c_{v}$ を正規表記の部分文字列と表すと,$r\left(c_{w}, c_{v}\right)$ は $r\left(c_{w}, c_{v}\right)=\gamma(q) / n_{c_{w}}$. として計算した. ここで, $n_{c_{w}}$ は $c_{w}$ が学習コー パス中に出現する総出現数である．今回は， $\gamma_{\text {thres }}=0.5, r_{\text {thres }}=0.0001$ として閥値を設定し, $\gamma(q)<\gamma_{\text {thres }}$ または $r\left(c_{w}, c_{v}\right)<r_{\text {thres }}$ の場合は削除した. また, $r\left(c_{w}, c_{v}\right)$ は 3.5.2で述べる識別モデルの素性の一つとしても使用した.

## 3.3 文字列正規化パタンと文字種変換を用いた基本辞書の拡張

前項で示した文字列正規化パタンを形態素解析に組み込むにあたり, 計算の効率化のため事前展開可能な候補についてはあらかじめ基本辞書に存在する辞書語に対し文字列変換を行って正規化辞書として事前展開する. ここで, 基本辞書とは一般に配布されている形態素解析用の辞書のことを指す. 具体的には, 得られた文字列正規化パタンのうち, 正規文字列の削除・置換パタンに関してはあらかじめ基本辞書の文字列を変換して崩れ表記化を行い, 正規化辞書を作成した. 崩れ文字列の插入に関しては, 正規単語のあらゆる箇所に插入されることが考えられ，すべてのパタンを事前展開することは非効率的であるため, 動的展開の文字列パタンとし

て用いた. さらに, Twitterなどのテキストでは, 標準的な表記が漢字やカタカナの単語に関してひらがな表記される，あるいは標準的な表記が漢字やひらがなの単語がカタカナで表記される場合が多く存在する。これらの現象に関しては文字列正規化パタンから文字列単位で候補生成を行うことは非効率であるため，基本辞書の読みを利用して辞書を拡張する。これらを文字種正規化候補と呼ぶ。学習データが大量に存在すれば，このような文字種変換についても文字列正規化パタンとして獲得することが可能であるが，人手で作成する正解データの量は限られるため，あらゆる文字種変換を文字列レベルで効率よくカバーすることは難しい．文字列正規化候補展開と文字種正規化候補展開を組み合わせることで，「カワイイ」 $\rightarrow$ 「かいい」，「かj

れ表記に対する正規化候補の展開も行うことが可能になる.

事前生成の具体的な手順としては，まず基本辞書から読み情報を利用して，読みのひらがな表記，カタカナ表記の生成を行った。この際，カタカナ表記の生成に関しては一文字目から順に部分的にカタカナ化した表記も生成した。例えば，“うれしい”という表記に対しては，“ウれしい”, “ウレしい”, “ウレシい”, “ウレシイ”, というパタンを生成した. その後, 獲得した文字列正規化パタンを用いて，崩れ表記の生成を行った。表 2 に事前生成の例を示す. 表 2 からもわかるように，文字種と文字列正規化の双方を用いて多様な候補を生成することができる。この崩れ表記を基本辞書に追加して正規化辞書として用いる。ここで，今回は辞書サイズが不要に大きくなることを避けるため, 文字列変換を行う際のシードとする形態素について, Twitter テキストで計算した正規表記の出現頻度が閥値以上となる形態素に限定し, さらに 1 形態素内での文字列正規化パタンの適用による文字変換を 2 回までとした。これらの制約によって，動的にすべての候補を考慮する場合に比べカバー率が下がる可能性があるが，あらゆる候補を考慮すると形態素ラティスが非常に大きくなり計算時間が増大するため, 現実的に出現しやすい崩れ表記を効率良く列挙するための制約として用いた。これらの事前生成の結果, 756,463 エン

表 2 文字列アライメントを用いた崩れ表記事前生成の例

トリの基本辞書が 9,754,196 エントリに拡張された. また動的照合のためのルール（崩れ文字削除候補）は 105 パタンであった.

## 3.4 形態素ラティス生成

形態素ラティスの生成は, 文字列正規化の動的照合と前項で述べた正規化辞書, 基本辞書を用いて行う。この際，「っ」と「一」の連続に関しては 1 文字まで縮約させた文字列，母音の連続に関しては 3 文字まで縮約させた文字列も照合の対象とした。これらの文字列については,任意個の文字挿入がありえるため, 意味が変わらない範囲で正規化可能な処理として定めた.次に, 3.3 で述べたように正規 - 崩れ文字列アライメントモデルで抽出された文字列正規化パ夕ンのうち, 正規表記が空文字となるパタンについては動的に展開を行い, 展開された文字列に対して基本辞書と正規化辞書による辞書引きを行って形態素ラティスを生成した。これにより,事前展開しきれなかった候補についても動的展開と組み合わせることでより多様な崩れ表記に対して正規の辞書表記を列挙することが可能になる.

## 3.5 識別モデルによる表記正規化と形態素解析の定式化

3.4 節で示したように文字列や文字種を拡張して形態素ラティスを生成する場合, 不要な候補も多く生成されるため既存の形態素コストや品詞連接コストをそのまま用いると解析誤りが増加するなどの悪影響が考えられる．精度を向上させるためには生成した形態素ラティスに対し適切な重み付けを行うことが必要となる。本研究では文字列や文字種といった多様な崩れ表記を対象としているため, 多様な素性を柔軟に考慮することができる構造化パーセプトロン (Collins 2002)を用いて表現することにする.

## 3.5.1 目的関数

本研究では, 入力文 $s$ に対し正しい表出表記系列 $\boldsymbol{w}=\left(w_{1}, w_{2}, \ldots w_{n}\right)$, 正規表記系列 $\boldsymbol{v}=$ $\left(v_{1}, v_{2}, \ldots v_{n}\right)$, 品詞系列 $\boldsymbol{t}=\left(t_{1}, t_{2}, \ldots t_{n}\right)$ を求める問題を考える. この問題は次のように定式化できる.

$
(\hat{\boldsymbol{w}}, \hat{\boldsymbol{v}}, \hat{\boldsymbol{t}})=\underset{(\boldsymbol{w}, \boldsymbol{v}, \boldsymbol{t}) \in L(s)}{\arg \max } \mathbf{w} \cdot \mathbf{f}(\boldsymbol{w}, \boldsymbol{v}, \boldsymbol{t})
$

ここで $(\hat{\boldsymbol{w}}, \hat{\boldsymbol{v}}, \hat{\boldsymbol{t}})$ は最適な系列， $L(s)$ は入力文 $s$ に対し構築される形態素ラティス（各ノードは表出表記, 正規表記, 品詞の 3 つ組情報を持つ), $\mathbf{w} \cdot \mathbf{f}(\boldsymbol{w}, \boldsymbol{v}, \boldsymbol{t})$ は重みベクトル $\mathbf{w}$ と素性べクトル $\mathbf{f}(\boldsymbol{w}, \boldsymbol{v}, \boldsymbol{t})$ の内積を表す。最適系列は $\mathbf{w} \cdot \mathbf{f}(\boldsymbol{w}, \boldsymbol{v}, \boldsymbol{t})$ の値にしたがって選択される.

## 3.5 .2 素性

表 3 に本研究で使用した素性の一覧を示した.このうち, 品詞連接素性 $h\left(t_{i-1}, t_{i}\right)$, 正規語素性 $h\left(w_{i}, t_{i}\right)$ は MeCabで提供されている品詞連接コスト, 形態素コストの推定値を用いた。ここで, $t_{i}$ は $i$ 番目の品詞, $w_{i}$ は $i$ 番目の単語を表す. 正規語 bi-gram 素性 $-\log p\left(w_{i}, t_{i} \mid w_{i-1}, t_{i-1}\right)$ は新聞，ブログの形態素正解が付与されていないラベルなしコーパスの自動解析結果を用いて計算した．文字列正規化素性については， 3.2 節の文字列アライメントモデルで述べた値を用いている，文字列言語モデル素性は文字列正規化の妥当性を表す素性であり，文字列正規化前と後の文字 n-gram を用いて計算する。ここで， $s_{\text {trans }}, s_{\text {org }}$ はそれぞれ文字列正規化した後の文字列，正規化する前の元の文字列を表し， $p\left(s_{\text {trans }}\right), p\left(s_{\text {org }}\right)$ は Twitterテキストから計算した文字 5-gram モデルを用いて計算する。 $c_{j}$ は対象となる文字列の $j$ 文字目を表す. 本研究では，不要な候補の増大を防ぐためラティス生成時に本素性を閾値として用い，形態素ラティスに追加する正規化候補をフィルタリングした。閾値は $\log p\left(s_{\text {trans }}\right)-\log p\left(s_{\text {org }}\right) \geq-1.5$ と定めた. ここで， $\phi_{\text {trans }_{i}}, \phi_{h_{i}}, \phi_{k_{i}}$ はそれぞれ，注目ノード $i$ が文字列正規化を用いて生成されたノード， ひらがな変換を用いて生成されたノード，カタカナ変換を用いて生成されたノードである場合に 1，それ以外の場合は 0 となる変数である。変換処理を施したノードにのみに追加的にコストを付加することによってデグレードを抑える目的でこのような素性設計を行った。ひらがな正規化素性 $\phi_{h_{i}}$ とカタカナ正規化素性 $\phi_{k_{i}}$ については, それぞれ辞書からひらがな化, カタカナ化により生成したエントリに対して適用される素性である.

崩れ形態素素性は，着目ノードが文字列変換を行って生成されたノードである場合に適用されるノードごとの素性である。この素性は, 現在の着目ノードにおける表出表記, 正規表記, 品詞の組み合わせが $\left(w_{i}, v_{i}, t_{i}\right)=(w, v, t)$ のときに 1 ，それ以外に 0 となるバイナリ変数である. ただし， $w \in W, v \in V, t \in T$ であり， $W$ は全表出表記の集合， $V$ は全正規表記の集合， $T$ は全品詞の集合を表す. 本素性では表出表記 $w$, 正規表記 $v$, 品詞 $t$ の組み合わせ数分のバイナリ

表 3 素性リスト

素性を扱うため，組み合わせごとに異なるコストを付加することが可能となる.

## 3.5.3 学習

パラメータ推定は, 平均化パーセプトロン学習に基づいて行う. 平均化パーセプトロンでは,正解系列 $\left(\boldsymbol{w}^{*}, \boldsymbol{v}^{*}, \boldsymbol{t}^{*}\right)$ が付与された $\mathrm{N}$ 個の文が与えられたとき, 現在のパラメータ $\mathbf{w}^{i}$ に基づいて一文ずつ最適解 $(\hat{\boldsymbol{w}}, \hat{\boldsymbol{v}}, \hat{\boldsymbol{t}})$ を求め, もしこの系列が正解と異なる場合は次式で重みパラメータ $\mathbf{w}^{i+1}$ を更新する。

$
\mathbf{w}^{i+1}=\mathbf{w}^{i}+\mathbf{f}\left(\boldsymbol{w}^{*}, \boldsymbol{v}^{*}, \boldsymbol{t}^{*}\right)-\mathbf{f}(\hat{\boldsymbol{w}}, \hat{\boldsymbol{v}}, \hat{\boldsymbol{t}})
$

もし現在のパラメータに基づいて出力された最適解が正解と一致する場合にはパラメータの更新を行わない. 最後に, 文数と繰り返し回数の積で平均化した重みパラメータを計算する。(Collins 2002)

## 4 実験

## 4.1 実験データと文字アライメント結果

文字列正規化パタン推定に使用したデータは 2008 年のブログ 8,023 文から抽出した正規 - 崩れ表記 9,603 ゚アと，2011〜2012 年の Twitter 4,805 文から抽出した正規 - 崩れ表記ぺア 3,610 ペアである。本ぺアデータを用いたアライメント計算の結果, 得られた文字列正規化パタン数は 3,127 種類であった．表 4 に獲得された文字列正規化パタンの例を示す.「ない」や「たい」 といった正規文字列に対しては特に多くのパタンが獲得できた. また，「ヴァーバ」といった音

多様な崩れパタンが獲得できた。

形態素解析用識別モデルの素性として用いる正規語 bi-gram モデルの構築には, ブログと新聞の形態素正解ラベルなしデータを MeCabを用いて自動解析した結果を使用した。また, 形態素, 正規語正解データはランダム抽出した $2013 \sim 2014$ 年の Twitter 4,280 文に対してアノテー ションを行い, そのうち 1,000 文をテストデータ， 3,280 文を学習データに使用した. テストデー 夕中の崩れ表記は 308 形態素存在した。また, 基本辞書として MeCab-IPA 辞書を使用した.

## 4.2 評価方法と比較手法

本研究では，テストデータに対し下記の条件で評価を行った.

(1) MeCab-IPA 辞書として提供されている辞書と品詞連接コスト, 形態素コストを用いて解析した場合（辞書や文字列の拡張なし, 以下通常解析と呼ぶ）
表 4 獲得された文字列正規化パタン例

（2）正規化候補展開に関して文字列正規化の従来手法 (笹野, 黒橋, 奥村 2014) の小文字, 長音に関するルール）を実装し，素性として品詞連接素性, 正規語素性, 文字列正規化素性（全候補で一定）を用いた場合。（以下，ルールベースと呼ぶ）。文字列正規化素性の重みは学習データから決定した。

（3）提案手法（全てを実装した場合（all），文字列正規化候補展開を除いた場合，各素性を 1 つずつ取り除いた場合を比較)

(1)に関しては, 文字列や文字種の正規化を一切行わない, 通常の形態素解析手法との比較を行うための, ベースラインとして比較した. (2) は人手で確認されているシンプルなルールで崩れ表記をどこまでカバーできるかを確認するために比較した．(3)に関しては，今回提案した正規化文字列による候補展開や識別モデルの素性がそれぞれ精度にどの程度影響を与えるかを比較するために行った．評価は，形態素解析の再現率と精度，F 値を用いて行った。

## 4.3 実験結果

## 4.3.1 形態素解析の結果

表 5 には形態素解析の精度評価を示した.この集計結果より, 提案手法 (all) が単語分割 + 品詞の精度で最も良い結果となっている. (1)の通常解析に比べ, 単語区切り, 単語区切り + 品詞ともに約 2 ポイントの精度向上が確認できた。（2）の単純なルールを用いた場合と比較しても，約 1.0 ポイントの精度向上を確認した。また，ブートストラップ再サンプリング法で $\mathrm{F}$ 值の検
表 5 テストデー夕における各手法の性能比較

定を行ったところ，通常解析，ルールベースに比べ有意な差が確認できた $(\mathrm{p}<0.01)$.

次に，今回提案した各素性の効果について考察する。文字列正規化を除いた場合, 各素性を抜いた場合の比較より, 単語十品詞の精度では提案手法 (all) が最も良い結果となった. また,各素性値を抜いた実験の結果においても，崩れ形態素素性なしを除いては単語分割 + 品詞付与に関して提案手法 (all) とそれ以外で有意な差が確認できた $(\mathrm{p}<0.01)$. 特に, 提案素性の中では文字列正規化素性を用いない場合最も精度が低下することが分かった。これより, 文字列正規化素性の導入は過剰な正規化による解析悪化を抑制することができたと考えられる。他の条件に関しても提案手法が上回る結果となったが, 文字列正規化素性に比べ影響は小さかった.特に文字列言語モデル素性については精度向上にほとんど影響がなかったが，これは今回の実験では計算量を減らすために, 形態素ラティス生成時に文字列言語モデル素性で枝狩りを行ったため, その時点で当該素性の効果が反映されていると考えられる。また, 単語分割のみ見ればひらがな・カタカナ正規化素性なしの精度がよいが, 品詞も含めた精度ではすべて考慮した場合よりも精度が低い. これも, 誤った正規化を行った結果単語分割は改善したが, 品詞で悪影響が生じているといえる。これらの結果から, 文字列, 文字種などの多様な正規化候補を列挙し, かつ解析悪化を抑制しながら解析を行う場合, 各正規化候補に対して適切なコストを付加することが重要であるということが明らかになった.

## 4.3.2 正規化に関する結果

表 6 には, 各正規化候補列挙手法のカバー率を確認するため, 崩れ表記に限定した再現率比較を示した. 提案手法は, ルールベースに比べ約 2.2 倍, 文字列正規化なしに比べ約 4 倍の再現率を達成した。このことから, 今回獲得した文字列正規化パタンが正規化の再現率向上への寄与が大きいことがわかる。一方で文字種正規化の影響も提案法で解析できた箇所全体の約 $25 \% を$
表 6 正規化候補列挙方法の違いによる正規化再現率の比較

 &  \\

表 7 正規化適合率の比較

占めているため, 文字列正規化と文字種正規化を組み合わせることが再現率向上に有効であることがわかる，次に，表 7 に正規化の適合率を示す．表 7 の適合率（全体）とはシステムが正規化を行って出力した形態素のうち, 表記, 品詞, 正規表記の全てが一致した形態素の数を表す.ここで，一致しなかった箇所が必ずしも解析悪化を起こしているとは限らないため，一致しなかった形態素のうち 50 箇所について，通常解析との比較を行い人手調査によって「悪化」 と「その他」の内訳を分析した。ここで，悪化，その他の分類は笹野ら (笹野他 2014)を参考とし, 分割や品詞の優劣によって判断した. この結果, ルールベースの場合には不一致箇所における悪化の割合が $8 \%$ と副作用の割合が低いことがわかる．提案法においても，不一致箇所における悪化の割合が $18 \%$ とルーベースに比べて高くなっているものの, 全体では改善が大きく上回っており副作用を抑制しながら解析を行えていることがわかる。提案法で悪化した例としては，たとえば「カープ/ねえー（カープ/ない)」や，「うーん（うん）」などの誤った正規化が存在した. 主に長音の削除や助詞・助動詞で副作用が数件見受けられ，このような例に関しては素性関数をより精緻にする，学習データを増やすなどして対応する必要があると考えられる。また，その他に分類されたものとしては下記（例 1 ）～（例 3）のような例が存在した.

-（例 1）通常解析：ふみ/づき, 提案法：ふみづき（文月）
- (例 2 ) 通常解析：だい/き，提案法：だいき（大樹）

-（例 3）通常解析：たら/あ/ー/ま/あ, 提案法：たらあーい（たらい）/まあ

（例 1），（例 2）のように，主にもともと解析誤りを起こしていた部分に対し正規化を行った結果区切りや品詞が改善したものの正規表記が誤った例，（例 3）のように，もとと間違っていた箇所に対し正規化を行った結果異なる誤り方をした例などが存在した. これらに関しては, 固有名詞と崩れ表記を区別する仕組みや，崩れ表記の再現率をさらに上げる方法の検討が必要になると考えられる。

## 4.3.3形態素解析結果の実例と考察

表8には, 提案システムの出力結果例を示す。“/”は単語区切りを表し，括弧内が正規表記を表す. 太字で表している部分が解析が正解したもので，(1)～(6) は提案手法によって解析が改善された例である。 (7) は区切りが改善したが品詞・正規語が誤った例, (8), (9) は通常解析でも提案手法でも改善されなかった例，(10) は提案手法によって悪化した例を示している。 (1)〜 (6) の例から, 提案手法によって文字種, 文字列の多様な崩れ表記が解析できていることがわかる。(7) に示した例は, 固有名詞などでいくつかみられた例であるが, 固有名詞の文字列を正規化した表記が辞書に存在し, 正規化によって区切りが改善したが, 正規語が誤った例である.この例の他にも， ふみづき一文月，ヤスダー安田など，入力表記の漢字表記が辞書に存在し区切りや品詞が改善したが, 正解デー夕においては固有名詞の正規表記は入力表記のままにしたため正規語の不一致が生じた例も多く見られた（表７における「その他」の分類）。このような固有名詞については, 正規表記を表記のままにするなどの処理を行うことで対応できると考えられる. (8) に示した例は, 正解の候補展開ができなかった例（文字列正規化パタンが不足していた例) である。今回の手法では学習データ中に出現した文字列パタン以外の新しいパ夕ンについては適応できないため, 獲得したパタンからの類似パタン生成やアノテーションなしコーパスからの文字列正規化パタンの自動獲得などの手法を検討することで，このような誤りには対応できると考えられる。(9)の例に関しては, 正解の系列は列挙できていたにも関わらず正しい系列を選択できなかった例である。このような例に関しては素性を工夫したり正解デー 夕を堌強することで精度向上を図る必要がある。(10) に関してはデグレードしてしまった例である。この連接の場合，システムが推定した正規語系列の方が単語数が少なく正規語 bigram からみても推定値は起こりやすい系列であるため, 今回の目的関数や素性設計では推定値の方がもっともらしいと判断されてしまったと考えられる. この点に関しては, Twitterの単語連接の分布や単語ごとの崩れやすさの指標などを取り达む必要があると考えられる.

表 8 システムの出力結果例

表 9 UniDic 辞書を用いた場合の崩れ表記正解割合

## 4.4 UniDic 辞書との比較

IPA 辞書以外で表記摇れに強い辞書として UniDic (unidic-mecab) 辞書 (伝, 小木曽, 小椋 2007) があげられる. 本研究では, 広く用いられている辞書のひとつとして MeCab-IPA 辞書を用いて実験を行ったが，UniDic 辞書による崩れ表記のカバー率を調べるため，1) テストデータ中の崩れ表記 100 個について UniDic 辞書で正しく解析可能な割合，2）システムが正解した崩れ表記 100 個について UniDic で正しく解析できる割合，の2つについて人手で調査を行った. 1) では，崩れ表記全体のどの程度をカバーできるか，2)では，提案法で解析できる表記のうちどの程度をカバーできるかを確認した。結果を表 9 に示す.

表 9 に示すように，UniDic 辞書はすでに崩れた表記が辞書に含まれている場合も多く，半数以上は辞書でカバーできている．表 6 で示した提案法のカバー率と比較しても高い値を示していることから, 崩れた文に対してべースラインとして MeCab-IPA 辞書よりも頑健に動作することがわかる，ただし，UniDicでも解析できない崩れ表記が $44 \%$ 存在した。また，提案法で解析が改善した例における UniDic のカバー率は $53 \%$ のあった。たとえば，「センパイ (先輩)」「予定/でーす (予定/です)」といった崩れ表記に関してはUniDic 辞書, 提案法の双方で正しく解析できた。一方,「さてーーーっ（さて）」「走っ/て/まふ（走っ/て/ます）」といった崩れ表記に関しては提案法では正しく解析できたが UniDic では正しく解析できなかった．UniDic のみで解析できた例としては，「ファンデ（ファンデーション）「スカし（すかし）/て」などが存在した.このことから, IPA 辞書を用いた場合に比べ提案法による効果は限定的と考えられるものの, UniDicのような崩れた表記に頑健な辞書を用いた場合であってもあらゆる崩れ表記をカバーできているわけではなく，提案手法と組み合わせることで崩れ表記のカバー率をさらに向上させられる可能性があると考えられる.

## 5 まとめと今後の課題

本研究では, Web 上から収集した崩れ - 正規表記のぺアから文字列レベルの正規化パタンを学習し, 抽出したパ夕ンを形態素解析に導入することにより崩れた日本語の解析精度が向上することを確認した。実験結果から個々の文字列正規化パタンごとに異なる生起しやすさの指標を素性として用いることで解析精度が向上することがわかり, 現実の分布を反映することで解析精度の向上と再現率の向上に有効であることが確認できた。また，文字種正規化を組み合わ

せることによる再現率向上の効果も大きく, 全体の約 $25 \%$ 占めていることも明らかになった.課題としては，未知語に対して過剰に正規化を行ってしまうこと, 未知の文字列正規化パ夕

ンに対応するためには正規 - 崩れのアノテーションコストが必要となること, 文字列正規化パタンや文字種正規化パタンよりも細かいレべルの素性関数を取り入れることなどがあげられる。 これらについては今後の課題として取り組む予定である.

## 謝 辞

本研究の一部は, The 25th International Conference on Computational Linguistics (COLING 2014) で発表したものである (Saito, Sadamitsu, Asano, and Matsuo 2014)

## 参考文献

Bisani, M. and Ney, H. (2008). "Joint-sequence Models for Grapheme-to-phoneme Conversion." Speech Communication, pp. 434-451.

Collins, M. (2002). "Discriminative Training Methods for Hidden Markov Models: Theory and Experiments with Perceptron Algorithms." In Proceedings of the 2002 Joint Conference on Empirical Methods in Natural Language Processing, pp. 1-8.

伝康晴, 小木曽智信, 小椋秀樹 (2007). コーパス日本語学のための言語資源一形態素解析用電子化辞書の開発とその応用（特集コーパス日本語学の射程）.日本語科学, 22, pp. 101-123.

Han, B. and Baldwin, T. (2011). "Lexical Normalisation of Short Text Messages: Makn Sens a \#Twitter." In Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics, pp. 368-378.

Han, B., Cook, P., and Baldwin, T. (2012). "Automatically Constructing a Normalisation Dictionary for Microblogs." In Proceedings of the 2012 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning, pp. 421-432.

Jiampojamarn, S., Kondrak, G., and Sherif, T. (2007). "Applying Many-to-Many Alignments and Hidden Markov Models to Letter-to-Phoneme Conversion." In Proceedings of the 2007 Conference of the North American Chapter of the Association for Computational Linguistics, pp. 372-379.

Kaji, N. and Kitsuregawa, M. (2014). "Accurate Word Segmentation and POS Tagging for Japanese Microblogs: Corpus Annotation and Joint Modeling with Lexical Normalization." In Proceedings of the 2014 Joint Conference on Empirical Methods in Natural Language Processing, pp. 99-109.
勝木健太, 笹野遼平, 河原大輔, 黒橋禎夫 (2011). Web 上の多彩な言語表現バリエーションに対応した頑健な形態素解析. 言語処理学会年次大会講演集, pp. 1003-1006.

Kubo, K., Kawanami, H., Saruwatari, H., and Shikano, K. (2011). "Unconstrained Many-to-Many Alignment for Automatic Pronunciation Annotation." In Proceedings of APSIPA ASC.

工藤拓, 市川宙, David Talbot, 賀沢秀人 (2012). Web 上のひらがな交じり文に頑健な形態素解析. 言語処理学会年次大会講演集, pp. 1272-1275.

Li, C. and Liu, Y. (2012). "Improving Text Normalization using Character-Blocks Based Models and System Combination." In Proceedings of the 24th International Conference on Computational Linguistics, pp. 1587-1602.

岡照晃, 小町守, 小木曽智信, 松本裕治 (2013). 表記のバリエーションを考慮した近代日本語の形態素解析. 人工知能学会全国大会講演集, 27, pp. 1-4.

Saito, I., Sadamitsu, K., Asano, H., and Matsuo, Y. (2014). "Morphological Analysis for Japanese Noisy Text based on Character-level and Word-level Normalization." In Proceedings of the 25th International Conference on Computational Linguistics, pp. 1773-1782.

Sasano, R., Kurohashi, S., and Okumura, M. (2013). "A Simple Approach to Unknown Word Processing in Japanese Morphological Analysis." In Proceedings of the 6th International Joint Conference on Natural Language Processing, pp. 162-170.

笹野遼平, 黒橋禎夫, 奥村学 (2014). 日本語形態素解析における未知語処理の一手法一既知語から派生した表記と未知オノマトぺの処理一. 自然言語処理, 21 (6), pp. 1183-1205.

Yang, Y. and Eisenstein, J. (2013). "A Log-Linear Model for Unsupervised Text Normalization." In Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing, pp. 61-72.

## 略歴

斉藤いつみ：2010 年早稲田大学理工学部社会環境工学科卒業, 2012 年東京大学大学院工学系研究科博士前期課程修了. 同年, 日本電信電話株式会社入社.自然言語処理に関する研究開発に従事. 現在, NTTメディアインテリジェンス研究所研究員, 情報処理学会, 言語処理学会各会員.

貞光九月：2004 年筑波大・第三学群・情報学類卒. 2009 年同大大学院システム情報工学研究科コンピュータサイエンス専攻了. 同年, 日本電信電話株式会社入社. 自然言語処理の研究開発に従事. 現在, NTTメディアインテリジェンス研究所研究主任. 言語処理学会会員.

浅野久子：1991 年横浜国立大学工学部卒業. 同年, 日本電信電話株式会社入社. 現在, NTTメディアインテリジェンス研究所主幹研究員. 自然言語処理

に関する研究開発に従事. 情報処理学会, 言語処理学会各会員.

松尾義博：1988 年大阪大学理学部卒業, 1990 年同大学大学院理学研究科博士前期課程修了. 同年, 日本電信電話株式会社入社. 現在, NTTメディアインテリジェンス研究所, 音声言語メディアプロジェクト, 音声・言語基盤技術グループリーダ. 自然言語処理に関する研究開発に従事. 情報処理学会, 言語処理学会各会員.