2018 年 7 巻 1 号 p. 21-42
社会調査において収集された自由回答を基礎データとして統計処理に用いるには,アフターコーディングを行って,事前に設定されたコードのいずれかに分類する必要がある.しかし,回答に含まれる情報が曖昧であったり不足する場合は,コーダの負担が大きいだけでなく,誤ったコードに分類される可能性がある.このような事態を回避するには,データ収集の時点で,コードの決定に必要な情報が含まれている必要があるが,これを回答者や調査員に要請するのは容易ではない.本稿では,調査員が調査現場にコンピュータを持参して回答を入力すれば,その場で情報不足か否かを判定し,情報不足と判定した場合は回答者に追加の質問を行って必要な情報を収集する処理を自動的に行うシステムを提案する.提案システムは,一連の処理の中で,機械学習の適用により確信度を付与したコードを出力するため,調査現場で基礎データを提供できるという利点もある.現在,アフターコーディングの代表である職業コーディングを対象にシステムを構築中で,一部人手を介した実験ではあるが有効性が示唆された.今後の課題は,システムの実装を完成させて評価を行った後,汎用化を進めることである.
社会調査において収集されるデータには選択回答と自由回答があるが,原(1992) は,非定型データである自由回答は体系的な分析法が確立していないために回答の列挙におわっている場合が多いこと,自由回答法は回答者にとっても調査員にとっても負担の大きい調査法であることの2 点により,社会調査における基本的な回答形式は選択回答法であるとの見解を示している.ただし,自由回答法が常に二義的な方法ともいえず,例えば聴き取り調査のテーマであるライフヒストリーのように自由回答法によってしか引き出せないような回答(情報)も存在するとし,これがまとまった数の対象者をもつ調査により収集された場合は,結果を客観的かつ全体的に把握するために,何らかの統計的分析が必要であるとも述べている.
このような場合以外にも,社会調査においては,選択肢が多すぎて回答者の負担になると考えられる場合や調査票のスペースの関係上,統計的な処理を想定しながらも自由回答法によるデータ収集が行われ,調査終了後に,研究者の手でコードに変換する作業(アフターコーディング)が実施される場合がある.この代表例は,階層移動研究でもっとも重要な変数である職業で,主要な職業情報である「仕事の内容」を選択回答で収集すると約200 個にものぼるため,自由回答により収集してアフターコーディングを実施する(原・海野, 2004; 原・浅川, 2009).これは職業コーディングと呼ばれ,大規模調査の場合,コーダに膨大な負担がかかるが(盛山, 2004),社会階層をテーマとするSSM 調査(Social Stratification and Social Mobility Survey)をはじめ,多くの調査で必須の作業となっている.いずれにしても,自由回答で収集されたデータを統計処理に用いるには,アフターコーディングが必要である1.
アフターコーディングにおける大きな問題は,回答者や調査員がコーディングで用いられる分類体系を熟知していないため,分類に必要な情報が回答に含まれない可能性があることである.この結果,コーディングを担当するコーダの作業負担が増すだけでなく,回答に誤ったコードが付与される危険性もある.このような事態を避けるには,調査の段階で分類に必要な情報が回答に含まれるよう,例えば,調査票に模範となる回答例を提示して参考にしてもらう方法が考えられるが,提示例が多い場合にすべてを記載するのは困難であり,もし記載できたとしても,これを理解する立場にある回答者の負担は大きい.別の方法として,回答された段階で,内容が不十分であると判断された場合に,調査員が再度質問し,有効な情報を追加する方法が考えられる.例えば,職業コーディングにおいては,調査員がインストラクション時に,回答が「営業」のみの場合は,回答者に追加質問として,「内勤なのか外回りなのか」を尋ね,大分類レベルで事務となる「営業・販売事務員」なのか,販売となる「外交員」なのかを判定できるための情報も収集するよう指導される.しかし,どのような回答に対しても「回答中に分類に必要な情報が含まれているか」や「どのような情報を追加すればよいか」を判断するための知識をもつ調査員を育成することは極めて困難である.
そこで,本稿では,後者の方法を調査員の代わりにコンピュータが行う方法を提案する.これは,コンピュータ支援による調査(CAI;Computer-Assisted Interviewing)の一種であると考えられるが(轟・杉野, 2017),回答の内容にまで踏み込む点で,より積極的に調査に関与する.具体的には,調査員が調査現場に必要な知識を搭載したコンピュータを持参し,回答が得られた時点でコーディングを行わせ,この結果からコンピュータが情報不足の回答であると判断した場合は,自動的に適切な追加質問を行って回答者から分類に有効な情報を収集する.情報不足であるか否かは,機械学習を適用した場合にコーディングの結果に付随して出力される分類スコア(以下,スコアと略する)から推定した確信度のレベルにより自動的に判定を行う.提案システムにより,調査の時点で分類に必要な情報が回答に追加されれば,コーダの負担軽減および誤コード付与の低減につながることが期待できる.提案システムが寄与するもう一つの点は,回答収集時に情報不足であるか否かを判定するための自動コーディングを行うため,その場で結果を知ることができることである.すなわち,提案システムは,調査段階で基礎データの提供を行うという利点ももつ.
提案システムでは機械学習の適用を前提とするため,対象とするコーディングに,訓練事例として利用すべき「正解」(最終的に付与されたコード)付き事例が蓄積されていることが要件となる.このため,システム構築の方針として,汎用化を視野に入れながらも,まずは「正解」付き事例の蓄積があり,アフターコーディングの代表でもあるSSM 職業小分類コーディング(以下,SSM職業コーディングと略す)を対象とすることにした.
コンピュータ支援による職業データの収集方法としては,吉川(2016) の研究がある.吉川(2016) は,従来の紙と鉛筆による面接調査であるPAPI(Paper Assisted Personal Interview)法には,聴き取りミス,記入ミス,分岐質問の進行の間違い等があるとして,回答者と調査員の各々がタブレットPC をもち,双方のやり取りをタブレット間で連動させるCAPI(Computer AssistedPersonal Interview)法による調査を実施した.調査モードの違いを最小限に抑えるため,調査内容の変更は行わなかったが,職業データについては,タブレットPC はテキスト記述が不向きであるとして,従来の自由回答ではなく選択回答に変更した.このとき,選択肢(職業名)は一度にすべてを提示せず,CAPI を活かした方法として,大分類から小分類までプルダウン型で階層的に提示し2,自由回答は納得のいく名称を選択できない場合のみにとどめた.データは基本的に選択回答で収集されるため,アフターコーディングを不要とする点で,この支援方法を提案する本研究とは目的が異なるが,自由回答で収集されるべきデータの対応という問題意識は共通する.
以下,次節で提案システムのアルゴリズムについて述べる.提案システムは現時点では実装化が完全ではないため,一部の処理に限定された実験であるが,この結果について3 節で報告する.最後に,まとめと今後の課題について述べる.
提案システムは,回答がコンピュータに入力されれば,その後は調査員または回答者との対話を含め,すべて自動的に処理していく.アルゴリズムをSTEP0 からSTEP3 に示す.
STEP0 データ入力調査員が回答者から収集された回答をコンピュータに入力する
STEP1 コーディング回答に対して自動コーディングを行い,コードと確信度を付与する
STEP2 情報不足の判定STEP1 の結果が次の判定条件a または判定条件a,b に該当する場合はSTEP3 に進み,該当しない場合は終了する
判定条件a 「もっとも低いレベルの確信度」が付与された場合
判定条件b 「システムが指定するコード」に「中程度レベルの確信度」が付与された場合
STEP3 追加情報の提示と収集追加する情報の候補を提示し,回答者により選択された情報を回答に追加してSTEP1 に戻る
以下では,職業コーディングを例として,STEP ごとに説明する.
2.1. データ入力(STEP0)調査員は,これまでのように回答者から得られたデータを調査票に書き込む代わりに,コンピュータに入力する.この副次的な効果として,まず,吉川(2016) や轟・杉野(2017) において指摘されているように,調査後に行っていたデータの電子化作業が不要となる.また,2.2 節で述べるコンピュータによるコーディングの立場からは,入力データの質の向上による効果が期待できる.例えば,データ入力時に漢字変換機能が使用できるため,従来の紙ベースによる手書きの回答でしばしば生じていた誤字が減少し,形態素解析の失敗が低下する可能性が高まる.さらに,漢字比率が高まることで表記の揺れが減少するため,機械学習における素性空間の次元数を減らすことができ,また訓練事例と評価事例における素性の一致率が高まる.この結果,システムの正解率(熟練コーダにより最終的に決定されたコードを正解としたとき,システムによる結果とこの正解との一致率)の向上が見込める.
職業コーディングの場合の入力項目とデータの例を表1 に示す.従来の調査を想定した内容で,「従業先事業の種類」と「仕事の内容」以外は選択回答であるが,現時点で入力画面設計は完了していないため,この形式でコンピュータ画面に表示されるわけではない.
2.1 節で電子化されたデータに対して,機械学習を適用した自動コーディングを行う.一般的には,自動コーディングの方法は機械学習に限定されないが,提案システムでは,2.3 節で述べるように,情報不足の判定に確信度を用いており,これを算出するためにはコード推定時に出力される「スコア」が不可欠なため,これを出力する機械学習である必要がある.
職業コーディングの場合は,図1 に示すように,機械学習の中でも分類性能の高さが評価されているサポートベクターマシン(SVM)(Vapnik, 1998; Joachims, 1998; Sebastiani, 2002) を適用したコーディング自動化システムが構築されている(高橋・多喜・田辺・李, 2017).本システム(以下,自動化システムとよぶ)は,自由回答と選択回答で収集された職業や産業データのファイル(表2 参照)に対して,社会学における国内標準コードとして用いられるSSM 職業小分類(約200 個)とSSM 産業大分類(約20 個)(1995SSM 調査委員会, 1995) および,ILO により定められた国際標準コードであるISCO(International Standard Classification of Occupations)-88 細分類(約400 個)とISIC(International Standard Industrial Classification of All Economic Activities)Rer.3 中分類(約60 個)の計4 種類のコードを付与したファイルを出力する3.表3 に,SSM 職業小分類コードを付与した場合の出力ファイルを示す.
職業・産業コーディング自動化システムの処理概要
自動化システムはオフラインでファイル単位に入出力処理を行う点で,一つの事例に対して対話的にオンライン処理を続ける提案システムとは異なるが,機械学習であるSVM を適用してコーディングを行う部分は構築中のシステムにおいても参考にすることができる.以下では,自動化システムにおけるコーディング部分で主要なSVM の適用および確信度の付与方法について,構築システムとの共通点と相違点を述べる.
2.2.1. SVM の適用SVM は2 値分類器で,予測したクラスとともに出力されるスコアは,事例の分離平面からの距離を表す.事例が注目するクラスに所属すると判断される場合は正例としてプラス,所属しないと判断される場合は負例としてマイナスの符号が付く.したがって,スコアの絶対値が大きいほど,符号がプラスの場合は注目するクラスに所属する確率が高く,符号がマイナスであれば注目するクラスに所属しない確率が高くなる.
職業コーディングは分類するコード(クラス)が多値であるため,SVM を利用するには,多値分類器に拡張する必要がある.自動化システムでは,one-versus-rest 法(kressel, 1999) による拡張を行った.one-versus-rest 法とは,クラスごとに分離平面を作り(クラス数がn 個であればn 個の分離平面ができる),事例が注目するクラスに属するか否かの2 値分類をn 回行った結果,もっとも大きな値のスコアをもつクラスに分類する方法である(高村, 2010).多クラスSVM では,もっとも大きなスコアをもつクラスを第1位とし,以下,スコアの降順に,第2 位,第3 位としてクラスを予測する.すなわち,クラスの順位が下がるに連れてスコアの値は低下する.自動化システムでは,コーダへのヒントとして候補となるコードを提示することが目的であるため,複数個のコード(第1 位,第2 位,第3 位に予測されたクラス)を提示した時点で処理を完了するが,提案システムは回答に不足する情報の収集が目的であるため,第1 位に予測されたクラスに注目した時点から対話処理を開始する.
ところで,機械学習を適用したコーディングを行うには,前処理として,形態素解析により自由回答を品詞付きの単語に切り分け,素性を生成しておく必要がある.Takahashi, Takamura, andOkumura (2005) では,SSM 職業コーディングに適用するSVM の素性をさまざまに変化させて実験した結果,自由回答以外に,選択回答で収集される他の職業情報(「従業上の地位・役職」「従業員数」)を用い,さらに,「ルールベース手法により決定されたコード」も追加することで正解率を向上させた4.したがって,自動化システムでも,図1に示すSSM 職業・産業コーディングにはこの手法を取り入れており,構築システムでも同様であるが,ルールベース手法の適用は提案システムの要件ではない.実際,ISCO やISIC には機械学習のみを適用し,ルールベース手法は存在しない.
ここで,自動化システムにおけるルールベース手法について簡単に説明する.まず,自由回答に対する形態素解析の結果から,動作を表す述語相当語(本稿では「述語」と略す),その述語が必要とする格,その格が取る語(本稿では「名詞」とよぶ)を抽出する.この理由は,職業を動作であると捉え,ルールベース手法における職業ルールを,格フレームの概念に基づく(述語,格,名詞)の三つ組と職業コードのペアで構築したためである(高橋, 2000).職業コードによっては,「薬剤師」や「保育士」のように職業名が存在し,述語は必要でも,格や名詞は不要なものもあるが,この場合も,格と名詞が省略された三つ組として扱う(ただし,「教員」も職業名ではあるが,教える場所により職業コードが異なるため,これに該当しない).次に,回答に出現する述語と名詞は多様な表現で記述されるため,述語シソーラスと名詞シソーラスにより,分類上,同じ意味であると見なせる語(代表語)に統一し,職業ルール辞書(図1における「職業ルール辞書α」)から(述語,格,名詞)の三つ組がマッチする職業ルールを探し出して該当する(仮)職業コードを付与する.ただし,管理職や建設関係の職業は選択肢(「地位・役職」や「従業員数」)もチェックする必要があるため5 (1995SSM 調査研究会, 1996),(仮)職業コードに対して「職業ルール辞書β」のルールによるチェックが行われ,修正される場合もある.以上の手続きにより得られる「ルールベース手法により決定されたコード」は,SVM における有効な素性として利用される.
2.2.2. 確信度の付与機械学習では,SVM に限らず,予測したコードとともにスコアを出力するため,これを利用して,予測されたコードのクラス所属確率(事例が予測されたコード(クラス)に所属する確率)を計算することが可能である.クラス所属確率の推定方法には,シグモイド関数を利用したPlatt(1999) をはじめいくつかの研究があるが,2 値分類を想定する場合が多く,多値分類の場合であっても,第1 位に予測されたクラスに対する推定をこれに付与されたスコアのみを利用して行っている.これに対し,Takahashi, Takamura, and Okumura (2008) は多値分類を想定した上で,順位にかかわらず注目するクラスの値を推定でき,用いるスコアも注目するクラスのものだけでなく,次の順位やその次の順位(例えば,注目するクラスが第1 位の場合は第2 位と第3 位)に予測したクラスのスコアも用いることで,スコア間の関係も利用し,ロジスティック回帰により高精度に推定する方法を提案した.
Takahashi et al. (2008) の手法は,現自動化システム以前に利用されていたシステム(高橋・高村・奥村, 2005) に対してコーダから出された要望(コーディング結果に対する信頼性の付与)に応じて導入が検討されたが,結局,クラス所属確率そのものではなく,本手法の特徴である複数のスコアを用いる考え方を活かした「確信度」が考案され(Takahashi, Taki, Tanabe, & Li, 2014),これを用いることにした(表3 参照).この理由は,最終的には人間(熟練コーダ)の判断によりコードが決定される職業コーディングにおいて,自動化システムは,最初にコーディングを行う一般コーダの支援を目的とするため,精度の厳密さよりコーダの判断のしやすさを優先し,直感的に理解しにくい確率ではなく,作業の指針となる指標を提示する方が有効であると考えたためである.また,クラス所属確率の算出には,確信度よりはるかに煩雑な手続きが必要になるという点も考慮した.
確信度のレベルは,コーダからの要請に応えて,「A:人手によるコーディングは不要,B:できれば人手によるコーディングを行う方がよい,C:人手によるコーディングが必要」の3 段階とした.各レベルの決定条件は次のとおりである.
A:score1 > 0 かつscore2 <= 0, score1 − score2 > α
B:score1 > 0 かつscore2 <= 0, score1 − score2 <= α
C:A, B 以外の場合
このとき,score1,score2 はそれぞれSVM により第1 位,第2 位に予測されたコードに付随して出力されるスコア(以下,それぞれスコア1,スコア2 とよぶ)を示し,スコアの値が正(負)の場合は事例が正(負)例であることを表す.
確信度レベルA と確信度レベルB は,いずれもスコア1 がプラスでスコア2 がマイナスのため,第1 位に予測されたクラスに事例が所属し,第2 位以下に予測されたクラスには所属しないと解釈できる.両者の違いは,スコア1 とスコア2 の差の大きさであるが,この値が大きいほど第1 位に予測されたクラスに所属する可能性が高いことが実験的に示されている(Takahashi etal., 2008).α はこの場合の閾値で,2005SSM 調査データセット(12,500 事例)を用いたSSM 職業コーディングにおける3 分割交差検定6により,コーダの労力軽減にもっとも効果のある確信度レベルA の正解率とカバー率(確信度レベルA を付与した事例が全事例に占める割合)の関係に注目した実験の結果,α = 3 とした.
確信度レベルC には2 つの場合があり,一つはスコア1 だけでなくスコア2 もプラスの場合で,もう一つはスコア1 がマイナスの場合である.前者は,事例が第1 位に予測したクラスにも第2 位に予測したクラスにも所属すると解釈できるため,第1 位のクラスに所属する可能性が低下する.後者は,事例が第1 位に予測したクラスに所属しない(したがって,第2 位以下に予測されたクラスにも所属しない)と解釈できるため,事例の分類先を決定できないことになる.いずれにしても,確信度レベルC は,第1 位に予測されたクラスに所属する可能性が非常に低いかまたは所属しないと解釈される.
高橋他(2017) は,JGSS-2006(2006 年Japanese General Social Surveys)データセット(2,203事例)を用い,SSM 職業コーディングを含めた4 種類のコーディングにおける実験7を行った結果,どのコーディングにおいても,確信度のレベルが下がるにつれて正解率が低下しており,各レベルとも当初に想定した内容に該当していることを確認した(表4 参照).
ここで,回答が情報不足である場合,自動化システムにおいては,「ルールベース手法によるコード」が決定されずにSVM において有効となる素性が欠如するため,正解となる可能性が低くなると考えられる8.実際,SSM 職業コーディングの場合,JGSS-2006 データセットにおいてルールベース手法によりコードが決定されずに「999」(不明,無回答)が付与された事例の正解率(42.7%)は,コードが決定できた事例の正解率(73.5%)より30.8 ポイント低かった.したがって,回答が情報不足か否かの判定を自動化システムにおいて正解となるか否かで判断できるのではないかと考え,提案システムでは,正解率の高低との対応関係がある前述の確信度を利用することとした.
ただし,自動化システムではコーダの作業軽減を目的とするため,もっとも正解率の高い確信度レベルA が重要であったが9,提案システムでは情報不足の回答を発見することが目的であるため,正解率が低い確信度レベルC が重要である.確信度レベルC には,「スコア1,スコア2がいずれもプラス」と「スコア1 がマイナス」の2 つの場合が混在したが,前者は情報過多のために生じる可能性が高いと解釈でき,情報不足の観点からは後者が重要である.さらに,後者においても,自動化システムでスコア1 とスコア2 の差を閾値α により確信度レベルA と確信度レベルB に区別したように,スコア1 とスコア2 の差を閾値β を設定して2 つに区別し,もっとも正解率が低い確信度レベルが重要であると考えた.
以上により,提案システムでは,自動化システムにおける確信度レベルC をさらに3 つ(確信度レベルC,D,E)に分け,次の5 段階に区別する.このとき,score1,score2,α はいずれも自動化システムの場合と同様であり,確信度レベルA と確信度レベルB の解釈も同様である.
A:score1 > 0 かつscore2 <= 0, score1 − score2 > α
B:score1 > 0 かつscore2 <= 0, score1 − score2 <= α
C:score1 > 0 かつscore2 > 0
D:score1 <= 0, score1 − score2 > β
E:score1 <= 0, score1 − score2 <= β
新たな確信度レベルC は,第1 位に予測したクラスにも第2 位に予測したクラスにも所属すると解釈できる.確信度レベルD と確信度レベルE は,どのクラスにも所属しないことになるが,確信度レベルD は確信度レベルE よりスコア1 とスコア2 の差が大きいため,確信度レベルEよりは第1 位に予測したクラスに所属する可能性が高いと解釈できる.両者を分ける閾値β は,2005SSM データセットを用いたSSM 職業コーディングにおける実験の結果,確信度レベルD の正解率が約50%に達し,カバー率も考慮した結果,β = 0.4 とした(表5 参照).
表4 と同様の実験設定により,提案システムにおける確信度レベルC,D,E 別の正解率とカバー率を調査した結果を表6 に示す.表6 より,確信度レベルを5 つに分けても,確信度のレベルが下がるにつれて正解率も下がっていき,提案システムで特に重要な確信度レベルE では,どのコーディングにおいても正解率が20%~34%と非常に低く,確信度レベルD と明確に分かれた.これより,スコア1 がマイナスの場合を閾値β = 0.4 により分けることの有効性が確認できた.なお,確信度レベルD の正解率は,スコア1 がマイナスでも,確信度レベルE より確信度レベルC10に近い値となっている.
以上に述べたように,提案システムにおいては,5 段階に分けた確信度と正解率の対応が明確であり,特に確信度レベルE の正解率はもっとも低いため,本レベルが付与された事例は不正解となる可能性が高いことが示せた.しかし,確信度レベルE を情報不足の判断基準とするには,情報不足である事例をどの程度検出できるかという問題との関連も明らかにしておく必要がある.次節では,情報不足を判定する方法について述べる.
2.3. 情報不足の判定(STEP2)提案システムでは,情報不足の判定条件として,機械学習により出力されるスコアに基づいた確信度を利用する.他の方法として,ルールベース手法や,非常に単純には回答の文字数を利用する方法も考えられるが,これらを利用しないのは次の理由による.
まず,ルールベース手法については,判定条件を個々のコーディング固有のルールに依存せず,「ルールベース手法によりコードを決定できるか否か」とすれば,汎用化は可能である.しかし,ルールベース手法は対象とするコーディングごとに個別のルールを生成する必要があることや,SSM 職業コーディングのように新語が頻繁に出現するような場合は,回答の情報が充分であっても,シソーラスやルールの更新をたえず行わない限り,これらの不備が原因でコードが決定できないという問題がある.このように,機械学習と比較すると,ルールベース手法には,システムの構築と構築後の更新作業に手間を要するという欠点があるため11,利用しないこととした.
次に,回答の文字数については,回答が長ければ充分な情報が含まれる可能性が高くなるため,正解の場合は不正解の場合より文字数が多いと考えれば,回答の情報不足を「回答の文字数が閾値以下か否か」で判定することが可能である.しかし,例えば,JGSS-2006 データセットにおいて,全体の平均は7.7 文字,正解の場合は平均6.8 文字,不正解の場合は平均9.8 文字で,不正解の方が正解の場合より文字数が多い結果であった.これより,回答が情報不足であるか否かは文字数により判定できないと判断した.
提案システムでは,次の2 種類の判定条件を想定する.一つは汎用性の点から機械的に行う「判定条件a」で,もう一つは汎用性を考慮しながらも個々のコーディングの現状を反映させた「判定条件b」である.「判定条件a」は必ず適用するが,「判定条件b」は任意である.この2 つの判定の基準について,以下で説明する.
2.3.1. 判定条件a判定条件a の「もっとも低いレベルの確信度」は,職業コーディングにおいては「確信度レベルE」が該当するが,これ以外にも判定条件a を緩めた判定条件a1 や判定条件a2 があり得る.
判定条件a1:確信度レベルC & D & E(自動化システムにおける確信度レベルC)
判定条件a2:確信度レベルD & E(スコア1 が負)
まず,判定条件a として「もっとも低いレベルの確信度」が妥当であることを示すために,判定条件a1,判定条件a1 も含めた確信度レベルごとに,情報不足の事例をどの程度検出できるかについて調査を行う必要がある.ここでは,ルールベース手法によるコードが決定できなかった事例を情報不足であるとする.表7 は,JGSS-2006 データセットを用いたSSM 職業コーディングにおける結果である.また,表8 は,正解,不正解に関係なく,ルールベース手法によるコード決定がされたか否かの割合を確信度ごとに示したものである.
表7 より,情報不足の事例を検出できるのは,確信度レベルC&D&E,確信度レベルD&E,確信度レベルE の順に高いが,表8 より,確信度レベルC&D&E は,コードが未決定である場合の方が決定の場合より割合が低く不適切であるため,確信度レベルD&E または確信度レベルE を用いることが妥当であると考えられる.また,現実的な問題として,コーダが容易に正確なコーディングを行うには,情報不足の可能性がある事例をできる限り見落とさないことが必要であるが,回答者や調査員の負担や経費の点からは,調査時間をできる限り短くすることが望ましく,追加情報を収集する事例が多くなりすぎないような注意が必要である.例えば,JGSS-2006データセットを用いた職業・産業コーディングの場合,表6 によると,対象となる事例は,確信度レベルE ではいずれも約1~2 割であるが,確信度レベルD & E では約1 割~4 割となるため,この観点からは確信度レベルD & E より確信度レベルE を用いる方がよいと判断できる.
次に,判定条件a として確信度レベルE を用いることが妥当であることを,語を追加する前と後における正解率の変化により示す.表9 は,JGSS-2006 データセットを用いたSSM 職業コーディングにおける結果である.有効な語を追加する手続きについては,2.4 節で述べるようにさまざまな方法があるが,ここでは,単純に,『SSM 産業分類・職業分類(95 年版)』(1995SSM 調査研究会, 1995) で定義されたSSM 職業大分類名(「事務的職業従事者」「販売的職業従事者」…「労務作業者」等)から抽出した14 個の語(「事務」「販売」…「労務」等)を提示し,この中から1 語が選択されたと仮定した.
表10 は語を追加する前後における正解率の差である.表10 より,事例全体では正解率の差が17.6 ポイントしかなく,語を追加する効果はそれほど大きくない.また,確信度レベル別にみると,確信度レベルA では正解率が低下しており,語追加の効果より情報過多となる危険性の方が高い.しかし,これ以外のすべての確信度レベルで語を追加する効果の方が高く,特に確信度レベルE,次に確信度レベルD&E では,正解率の差がそれぞれ48.6 ポイント,41.1 ポイントである.これをルールベース手法によるコード決定の可否別にみても,いずれの場合も確信度レベルE,確信度レベルD&E の順に正解率の差が大きい.
最後に,語を追加した後の確信度レベルの変化を追加前のレベルごとに示す(表11 参照).確信度レベルE は,上位レベルが他の確信度レベルより多い上に下位レベルがないため,他のレベルより有利であるが,向上した割合と低下した割合の差が約80 ポイントで,他の確信度レベルにおける値を大きく上回る.
以上により,判定条件a として確信度レベルE を用いることが妥当であると判断した.
2.3.2. 判定条件b提案システムでは,判定条件a 以外にも判定条件b を用意したが,この目的は,個々のコーディング状況に応じた不足情報の追加も可能にするためである.これまでの経験から,コーディング時に特に注意を要するコード(例えば,誤って付与される場合が多いコード)がわかっている場合は,これを「指定コード」としてシステムに指示しておけば,システムは指定コードが付与された事例に対しては,判定条件a より緩い「中程度レベルの確信度」により追加情報を収集できる.
例えば,コンピュータによる誤コードの例であるが,SSM 職業コーディングの場合,JGSS-2006データセットにおいて自動化システムでもっとも正解率の低かった大分類は,「労務作業」(小分類コードでは,「685」(倉庫夫,仲仕),「686」(運搬労務者),「687」(清掃員),「688」(その他の労務作業者))であった12 (高橋他, 2017).そこで,この4 つを指定コードとし,判定条件b として「確信度レベルD」を用いて2.3.1 節で述べた方法と同様に語を追加する実験を行った結果,不正解であった2 事例はいずれも正解となった.
このように,判定条件b は,指定コードや提示する語自体は個々のコーディングに依存するが,方法には汎用性があり,また実用的な観点からは有効ではないかと考えられる.なお,判定条件b は,提案システムの利用者が必要だと判断した場合のみ適用することを想定するため,提案システムは,「指定コードファイル」(指定コードを記載したファイル)が空の場合は判定条件b を実行しない.
STEP2 における問題は,判定条件a(および判定条件b)に該当する事例が存在する限り処理を繰り返すため,終了しない場合があり得ることである.今後の課題として,もし有効な情報が追加されなくても,一定の回数を繰り返したら終了する等の強制終了を行うための条件を設定する必要がある.
2.4. 追加情報の提示と収集(STEP3)回答が情報不足であると判定された時点で,分類に有効な情報を回答者から追加収集するが,このとき,自由回答で収集すると,有益な情報が得られる可能性がある一方で,自由回答の欠点である「質問に無関係な情報」も収集され,分類作業がより困難になってしまう可能性も生じる.したがって,提案システムでは,候補となる情報(語)を「選択肢」で回答者に提示し,その中から選んでもらう方法をとる.
提示する選択肢(語)は分類に有効である必要があるため,語自体は個々のコーディングに依存するが,この語を決定するには次の2 つの方法がある.一つは,過去に実施したコーディングの記録から,コーダやコーディング自動化システムが間違えたコードごとに正解の分布状況を調査し,正解の出現頻度の高いコードにおいて決め手となる語(例えば,カテゴリー名やカテゴリーを定義する文に含まれる語)とする方法で,もう一つは,これまでの経験から,分類の決め手となる語が明らかな場合(人間に知識がある場合)は,この語とする方法である.
前者の例として,SSM 職業コーディングの場合,コードを定義した解説書(1995SSM 調査研究会, 1995) やコーディングルールが説明されたコードブック(1995SSM 調査研究会, 1996) が存在するため,これを利用することが効果的である.例えば,表9 における実験時に提示を仮定した語は,大分類名から抽出した14 個の語(「専門」「事務」「販売」「サービス」「保安」「農林水産」「運輸」「採掘」「製造」「重機運転」「電気工事」「建設」「労務」「医療」)である(詳細は表15 を参照).より細かい語の方が有効であれば,小分類名から抽出した語(例えば,「製図」「運搬」「倉庫」等)を提示してもよい.
いずれにしても,情報を追加するコードとこれに対応して提示する語を「コード提示語対応ファイル」として生成しておけば,システムは,自動コーディングにより出力されたコードに応じて語を提示する.
STEP3 における問題は,提示する語が多くなりすぎないことと,回答者にわかりやすい語の提示方法を検討する必要があることである.また,回答者が提示された語から選択できない場合もあり得るため,この対応も検討する必要があり,今後の課題である.
最後に,提案システムにおける処理の流れをSSM 職業コーディングを例として示す(判定条件a による判断のみを適用する場合).回答が「部品加工工員」の場合,これが他の職業データとともに入力されると(STEP0),自動コーディングが行われ,確信度レベルE で「630」(金属工作機械工,めっき工,金属加工作業者)が出力されたとする(STEP1).確信度レベルがE であるため,判定条件a により情報不足であると判定され(STEP2),「630」が誤って付与された場合に多い正解として,「631」(鉄工,板金工),「633」(一般機械器具組立工・修理工),「634」(電気機械器具組み立て工・修理工)が検索され,これらのコードに対応する語が「コード提示語対応ファイル」により検索され,「鉄工」「板金工」「製缶工」「機械器具」「組立」「修理」「電気機械器具」等が提示される.この中から,回答者が「電気機械器具」を選択すると,この語が「部品加工工員」に追加されてSTEP1 に戻り(STEP3),再コーディングが行われる(STEP1).この結果,確信度レベルがE であればSTEP3 に進み,D 以上であれば終了する(STEP2).
提案システムは現時点では完全には実装されていないため,今回の実験では,利用者(回答者,調査員,コーダ)とのインターフェイスまで含めた全体の評価ではなく,システムの根幹部分として,まず「情報不足の判定に確信度レベルE を用いる妥当性」(実験A)を再確認した上で,「確信度を用いた情報追加による効果」を判定条件a(実験B1)と判定条件b(実験B2)に分けて調査することを目的とする.
実験では,いずれもSSM 職業コーディングを対象とし,評価事例は,訓練事例と性質の異なるデータセットとして,東京大学社会科学研究所が2007 年に実施した「働き方とライフスタイルの変化に関する全国調査」の若年・壮年パネル調査(JLPS 第1波),訓練事例と同じ性質のデータセットとしてJGSS-2008 の2 種類を用いる13.
3.1. 実験A 情報不足の判定に確信度レベルE を用いる妥当性まず,情報不足の事例の検出力を確信度ごとに表12 に示す.また,各確信度において,ルールベース手法によりコードが決定される割合と決定されない割合を表13 に示す.
表12 と表13 より,どちらのデータセットも表7,表8 と同様に,情報不足の事例の検出力は,確信度レベルC&D&E,確信度レベルD&E,確信度レベルE の順であるが,確信度レベルC&D&E は,ルールベース手法によるコードが決定される方がされない場合より高い割合であるために,判定の基準として用いるのは不適切である.ただし,表13 では,JLPS 第1 波データセットでは確信度レベルE を含めたすべての確信度レベルでコードが決定される割合の方が多いが,その中では,確信度レベルE はその差がもっとも小さいため,他の確信度レベルよりはよいと判断できる.
次に,確信度別の正解率とカバー率(かっこ内に示す)を表14 に示す.表14 における正解率とカバー率も,表6 とほぼ同様の値を示す.特に,確信度レベルE の正解率は20%台で非常に低いこととカバー率が約1 割~2 割であることから,正解率とカバー率における確信度レベルE の安定性が再確認できた.
以上により,情報不足の判定条件a に確信度レベルE を用いることの妥当性が再確認できた.
3.2. 実験B 情報追加による効果情報追加による有効性は,システムが提示した選択肢(語)から回答者が選択したものを回答に追加し,これをコーダに示して,追加前より正確なコーディングが容易に行うことができるようになったか否かで評価する必要がある.しかし,提案システムの実装が完全ではないため,本稿では,提案システムが提示した選択肢(語)の中から回答者が選んだと想定した語を追加し,追加前との正解率の比較により評価を行う14.
3.2.1. 実験B1 判定条件a の有効性実験B1 では,判定条件a により情報不足と判定される確信度レベルE の事例に対し,2.4 節で述べた手続きにしたがって1 語を追加する.JLPS 第1 波データセットでは723 事例,JGSS-2008データセットでは274 事例が対象となる(表14 参照).
情報追加のために提示する語は,2.3.1 節の表9 で示した実験と同様の非常に単純な方法,すなわち,つねに表15 に示す14 個の語15を提示する.提示語については,今後,「コード提示語対応ファイル」を作成し,これに基づいた実験を行う必要がある.回答に追加する語は提示された語の中から選択されるが,今回は,表16 に示すように事例に付与された正解に基づく語とした16.
実験の結果は以下の通りである.
まず,語を追加したことにより,確信度レベルE の事例がどのように変化したのかについて表17 に示す.どちらのデータセットも,ほとんどの事例が確信度レベルA までには達しないが,約3 割~5 割は確信度レベルB となり,約5 割~7 割が確信度レベルD以上に向上した17.この変化の状況は,ルールベース手法によるコード決定の可否による違いがみられない18.これより,追加語が有効である可能性がある.
次に,確信度レベルE の事例における正解状況の変化を表18 と表19 に示す.正解率の向上を「[追加後]正解欄の計」と「[追加前]正解欄の計」(いずれも太字の数値)の差で計算すると,JLPS 第1波データセットは7.3 ポイント,JGSS-2008 データセットでは27.4 ポイントである.JGSS-2008データセットの方がJLPS 第1 波データセットより値が大きい理由は,訓練事例が評価事例と同じJGSS データセットにより生成されているためであると考えられる.
正解率向上の程度に対する評価は,語の追加前はどちらのデータセットも20%台であった確信度レベルE の正解率が,追加後はJGSS-2008 データセットでは追加前の倍以上となり,50%を超えたことは高く評価できる.JLPS 第1 波データセットもJGSS-2008 データセットほどではないが,向上率が追加前の25%であることは評価できる.また,今回は非常に単純な方法により提示された語の中から選択した語を追加したが,今後,よりよい提示方法を検討し改善することで,正解率が高まることが期待できると考えている.なお,正解率の向上をルールベース手法によるコード決定の可否別にみると,コードが決定されない場合はJLPS 第1 波データセットでは13.1ポイント,JGSS-2008 データセットでは32.6 ポイントで,決定された場合はそれぞれ2.6 ポイントと17.7 ポイントで,いずれもコードが決定されない場合の方が向上の程度が大きい.
以上より,全体としては判定条件a による語の追加が有効であると判断できるが,どちらのデータセットも,正解であったのに語を追加した後に不正解となったものが全事例の約1 割あることは注意が必要である19.この場合,どちらのデータセットも,正解であった事例の約35%が不正解となっている.これをルールベース手法によるコード決定の可否別にみると,いずれもコードが決定されない場合は約3 割,コードが決定された場合は約4 割の事例が不正解となり,不正解となる割合はコードが決定された場合の方がやや高い.もし,語を追加した後に不正解となっても,確信度レベルがE のままであれば,2 節で示したアルゴリズムにより,再度,情報不足と判定されて語を追加するプロセスが実行されるため,新たに効果的な語が提示されて正解に戻る可能性もあるが,E 以外の場合は不正解のまま終了してしまう.実際,両データセットとも,正解が不正解となる事例のうち,約半数は確信度レベルB,C,D に変化するため20,少なくとも全事例の約5%が不正解のまま終了することになる.
語の追加により正解事例が不正解となる理由の一つとして考えられるのは,追加した語が訓練事例の素性に含まれていない場合,評価事例と訓練事例の乖離が大きくなってしまうためであると考えられる.例えば,表15 に示した大分類「専門的・技術的職業従事者」の職業コードを「正解」とする訓練事例の素性には,今回追加した「専門」なる語自体が含まれない可能性が高いため21,回答(評価事例)にこの語を追加することで悪影響を与えたのではないかと考えられる.実際,JLPS第1 波データセットにおいて事例数の多い5 つの大分類「専門的・技術的職業従事者」「事務的職業従事者」「販売的職業従事者」「サービス的職業従事者」「製造作業者」(これらの合計で全体の8割を占める)に注目し,確信度レベルE が付与された事例の中で正解が不正解となる割合が平均(10.3%)より高いものを調査すると,「専門的・技術的職業従事者」(13.7%)と「サービス的職業従事者」(18.0%)が該当した.また,訓練事例の素性に「事務」や「販売」が含まれる可能性が高い「事務的職業従事者」と「販売的職業従事者」は,不正解となる割合がそれぞれ9.7%,8.0%で平均より低かった.
しかし,JGSS-2008 データセットでは,「事務的職業従事者」(9.3%)と「販売的職業従事者」(10.0%)は平均(10.1%)より低いものの,JLPS 第1 波データセットで不正解となる割合が高かった「専門的・技術的職業従事者」(8.8%)と「サービス的職業従事者」(0%)はさらに低く,また,JLPS第1 波データセットでもっとも低かった「製造作業者」(6.7%)が,JGSS-2008 データセットでもっとも高い(13.4%)という結果から考えると,この理由がつねに成立するとはいえず,他の理由を検討する必要がある.この問題については今後の課題とする.
なお,確信度レベルD の事例における正解率の向上については,JLPS 第1波データセットはマイナス4.9 ポイント,JGSS-2008 データセットは4.3 ポイントで,訓練事例と性質が異なる評価事例の場合,確信度レベルD を判定の基準に用いるのは危険であることが確認できた.さらにルールベース手法によるコード決定の可否別にみると,コードが決定されない場合はJLPS 第1波データセットでマイナス1.1 ポイント,JGSS-2008 データセットで12.7 ポイント,決定された場合はそれぞれマイナス6.2 ポイントとマイナス4.5 ポイントで,どちらのデータセットにおいても,ルールベース手法によりコードが決定された場合の危険の程度が高かった.また,語の追加により正解事例が不正解となる問題については,どちらのデータセットも確信度レベルE の場合よりやや高い割合で生じており22,正解事例が不正解となる割合や,これをルールベース手法によるコード決定の可否別にみた場合の割合は,確信度レベルE の場合とほぼ同様かやや高い値であった.以上より,判定条件a を確信度レベルE のみとすることの有効性を再確認した.
3.2.2. 実験B2 判定条件b の有効性実験B2 では,指定コードを「685」「686」「697」「688」とし,このコードが付与された確信度レベルD の事例に対して,2.4 節で述べた手続きにより1 語を追加する.指定コードは,JLPS 第1 波データセットで102 事例,JGSS-2008 データセットで115 事例に付与されたが,このうち確信度レベルがD である12 事例と6 事例を対象とする23.回答者に提示する語と追加を仮定する語については,実験B1 とまったく同様の設定とした.
実験の結果は以下の通りである.
まず,語を追加したことにより,指定コードで確信度レベルD の事例がどのように変化したのかについて表20 に示す.どちらのデータセットも約2 割~3 割が確信度レベルB に向上したが,約半数は確信度レベルE に低下している24.
次に,指定コードで確信度レベルD の事例における正解状況の変化を表21 に示す.正解の状況を,「[追加後]正解欄の計」と「[追加前]正解欄の計」(いずれも太字の数値)の差として計算すると,JLPS 第1 波データセットではマイナス1,JGSS-2008 データセットでは2 で,訓練事例と異なる性質のデータセットでの有効性が認められなかった25.判定の基準を確信度レベルE とした場合は,表22 に示すように,どちらのデータセットにおいても確信度レベルD よりよい結果であった.これより,指定コードの場合に判定条件a より判定基準を緩めた判定条件b を定めることについては,再検討を行う必要があると考えられる.
(確信度レベルE を判定の基準とした場合) 単位:事例数
以上より,実験B の結果をまとめると,今回は提示語を非常に単純な方法により決定したにもかかわらず,訓練事例と同じ性質の評価事例では有効性が示された.しかし,異なる性質の評価事例の場合は,判定条件a では同じ性質の評価事例の場合ほど大きな効果が得られず,判定条件b では有効性が確認できなかった.機械学習においては,訓練事例と評価事例の性質が異なると性能が低下するため,この結果は予測できたことではあるが,提案システムの頑健性を増すためには,訓練事例と異なる性質の評価事例における有効性も示す必要がある.このためには,汎用的かつ今回の方法を上回る語の提示方法について検討する必要がある.また,判定条件b については,この検討に先立ち,指定コードをさまざまに変化させた実験を重ねることで,有効性の検証を行っておく必要があり,いずれも今後の課題である.
本稿は,社会調査において収集された自由回答を統計処理に用いる場合に必要なアフターコーディングにおいて,コーダの作業負担の軽減や誤って付与されるコードの減少を目的に,調査現場でコンピュータの支援により回答に不足する情報を自動的に収集するシステムを提案した.追加情報を収集するか否かの判定には,機械学習による自動コーディングの結果から推定される確信度を利用するため,提案システムには,調査現場で確信度付きのコーディング結果も得ることができるという利点もある.
提案システムは実装が未完であるが,SSM 職業コーディングを対象とし,一部に人手を介した実験の結果,有効性が示唆された.今後の課題は,2.3 節と2.4 節に加え,3.2 節で挙げた諸問題の検討を早急に行って実装を完了することである.実装にあたっては,調査員がコンピュータを調査現場に持参し操作することを想定するため,軽量化されたコンピュータ上で稼働することが要件である.その際,調査時間を可能な限り短縮するために,ユーザインタフェースを重視した操作の容易性が重要である.コンピュータについては,システムの搭載が可能なタブレット型PC を想定している.ユーザインタフェースについては,Couper (2008) や現在,東京大学社会科学研究所のWeb を通じて試行提供されている職業・産業コーディング自動化システム(http://csrda.iss.u-tokyo.ac.jp/joint/autocode/)(高橋, 2016) で用いられる操作画面を参考に設計を行う予定である.さらに,実装後は,システムの性能を高めるために,調査員,回答者,コーダによる評価を行って改善を重ねていく予定である.
最後に,調査現場をより広く捉えれば,電子データで収集を行うインターネット調査においても提案システムの適用が可能であると考えられるため,その可能性についての検討も行っていきたい.
2005 年SSM 調査データの利用に関して,2015 年SSM 調査研究会の許可を得た.東大社研パネル調査プロジェクトにおける職業・産業コーディングの精度向上を目的として,職業・産業の自由記述データの提供を受けた.日本版General Social Surveys(JGSS)は,大阪商業大学JGSS 研究センター(文部科学大臣認定日本版総合的社会調査共同研究拠点)が,東京大学社会科学研究所の協力を受けて実施した研究プロジェクトである.また,本研究はJSPS 科研費16k04039の成果の一部である.
本稿は匿名の査読者3 名の方よりいただいた貴重なコメントにより大幅に改善されました.深く感謝いたします.