2023 年 12 巻 1 号 p. 33-46
日本語文章を対象とした著者識別に関しては,これ迄提案されてきた特徴量の殆どが文字や単語など文を構成する言語単位に基づいている.文そのものの構造を意識して特徴量化したものが少なく,その実用性も比較的低いと報告されている.本研究では,依存構造にしたがって,文節単位に分解された文をツリー状に展開してから,根に位置する文節とそれと直接につながっている文節を核文節と定義して,それらの分節から抽出したパターンを新しい特徴量NBS(Nucleus Bunsetsu)として提案する.提案の有効性を実証するため,10人の小説家の作品を用いてコーパスを構築し,2群判別と10群判別のシミュレーションを行った.その結果,2群判別の場合,NBSのパフォーマンスが比較対象である文節パターンB型に肉薄し,10群判別では,正解率において2ポイントの差をつけて優位性が示された.両者を結合して用いれば,より優れたパフォーマンスが達成されたことから,文の構造にも著者の特徴が顕著に現れていると結論づけた.
Most of the existing stylistic features of Japanese writings used to attribute authorship are based on various linguistic units that constitute sentence elements like characters and words. However, attempts to convert the structural characteristics of the sentence into stylometric features are limited and not quite effective in distinguishing authorship. Following the earlier research, we represented Japanese sentences by dendrograms branched over the predicative clause. We defined the root nodes and clauses sprouting directly from those root nodes as “Nucleus Bunsetsu” and then proposed a series of new stylometric features called the NBSs. To examine the effectiveness of our proposal, we compared the attributional accuracies of the NBSs and Phrase Pattern, a clause-based stylometric feature, over a corpus containing the works of ten contemporary authors belonging to two literary genres, i.e., the novel and essay. The results revealed that, although our approach was narrowly outperformed by Phrase Pattern when there were two suspected authors, it turned the tables on opponent by 2% when there were ten candidates. Therefore, we concluded that the dependency structure-derived stylometric feature is sufficiently effective for authorship attribution and can reflect a new attempt to capture authorial idiosyncrasies, which might be overlooked by the existing ones.
著者識別とは,著者が不明な文章に対して,それの真の著者を複数の候補者たちから推測するタスクのことであり,文学作品の代筆問題や学術文章の剽窃検知などの文章の著作問題に関連する多くの分野において,長きに亘って注目され続けている(Malone, 1787).文章に顕在または潜在する著者を特徴付ける語句およびそのパターンは特徴量と呼ばれている.日本語文章の著者識別に関しては,20世紀後半より研究が盛んに行われ,既に多くの知見が蓄積され,文字・形態素・助詞の固定長の連鎖(n-gram) や文節の構造のパターンなど,既に多くの特徴量が提案されている(松浦・金田,2000; 金, 2002; 福岡, 2007; 金, 2013).それらは概ね2種類に大別でき,即ち,句読点など諸記号を含む文字の連鎖や多用する語の分布といった顕在的なものと品詞同士の繋がり方といった潜在的なものである.しかし,こうした既存特徴量に通底する,文章を文字か単語からなる一方向に繋ぐ連続体として捉えるという考え方には,文章と文字・単語の中間に位置され,かつ,両方をいわば媒介する「文」という重要な単位が見落とされている.文については,『大辞林・第四版』(松村編, 2019: 2442)では,以下の通り,定義されている.
言語単位の一.思考や感情を言葉で表現する際の,完結した内容を表す最小の単位.多くは複数の文節によって構成されるが,「待て」「さようなら」のような一語文もある.文字で表す場合には,通常,文の切れ目に句点「.」を打つ. . . 後略
上記の定義からして,既存特徴量がフォーカスする文字・単語と違い,文の長さの取りうる幅が広く,既存特徴量のように,個数を決めて要素(文字・単語など)を逐次に取り出して分析することができない.このため,長さの分布を除いては,文そのものを特徴量の抽出先として扱う試みは少ないが,近年になって,コンピューターの性能向上に伴い,直接的にせよ,間接的にせよ,文に視点を向けた計量的技法による文体比較研究を確認することができる.金川ら(2016)は,係り受け解析器CaboCha(工藤・松本,2002; Kudo&Matsumoto, 2002)の結果を利用して,1ノードに1文節を持たせるように文をツリー状に枝分かれさせてから,2つの文が共有する部分木(Sub Tree:任意のノードとそこから派生する葉ノードまでの全ノードからなる)を用いて,作家34人の文体類似性を測定した.小泉・菅原(2017)では,部分木に加えて,根が上向くようにツリーを逆さまにした時,任意のノードとその直下に位置する一部のノードからなるSubset Treeと繋がる2個のノードからなる係り受けエッジ(ME)を用いて,青空文庫に登録された10名の著者の小説について,類似度行列を求めた.結果,どれを用いても同一著者による文同士の類似度が最大になる比率が0.5未満であった(Subset Tree: 0.2, Sub Tree: 0.3, ME: 0.4).これらのことから,著者識別に関して,文構造を特徴量化するこれまでの試みはどれも成功したとは言い難い.ただ,先行研究が全ての文節(ノード)を分け隔てなく扱うため,いくばくか機械的で,表層的なものになってしまうように思われる.本研究では,文節の重要度の違いという観点から,文構造の特徴量化を試みる.
文自体が特徴量化の対象にされにくい原因としては,文字・単語(形態素)に基づく特徴量と比べて,長さが安定せず,書き手がその気になれば,いくらでも文を縮めたり延ばしたりできることと,文章のボリュームが膨らめば,それ相応に文の作りも多様化・複雑化してしまうことが考えられる.これらの課題を克服するために,本稿では,文を複数の文節の集合体として捉える.文節とは,同じく『大辞林・第四版』(松村, 2019: 2442)によると,「文を,実際の言語として不自然でない程度に区切ったときに得られる最小の単位」とされる.挨拶のような1文節しかない短い文もあれば,厳密さを追求する法令条文や意匠を凝らした表現豊かな散文のような十数個ないし数十個も文節を持つ長い文もある.本研究では,前章で挙げた先行研究にならい,CaboChaを使って文節単位で文を分解してから,ツリー状に広げることにした.例として,村上春樹の小説『1Q84』の冒頭から抽出した「中年の運転手は,まるで舳先に立って不吉な潮目を読む老練な漁師のように,前方に途切れなく並んだ車の列を,ただ口を閉ざして見つめていた.」という19個の文節を持つ比較的長い1文を樹状展開して得られたデンドログラムを図1に示す.各ノードにおいて,形態素解析器MeCabによる分かち書きの結果にしたがって,隣接する形態素の間に「」を挿入した.また,係り受け関係判定と形態素解析において,CaboChaとMeCabがそれぞれ最大で97.94%と89.29%の正解率が報告された(Kudo&Matsumoto, 2003).人の手を経ていないため,無謬性は望めないものの,十分に高い精度と判断して,本研究では,多少のミスを許容して,それぞれの解析結果を手付かずの状態で利用することにした.
周知のように,日本語の場合,文の成分は修飾語と被修飾語の2群に分けられ,被修飾語群が文の骨子を担い,修飾語が概念を限定したり,意味を富化したりする(松村,2019: 2448).図1では,根元から離れるノードであればあるほど,それが持つ文節の内容が修飾語的意味合いを増すことになる.経験上,修飾語群に比べて,被修飾語群の方が文章のテーマに影響されにくいだけでなく,他者による添削の対象にもなりにくく,個人の文体的特徴が保持されやすい.それに,文が長ければ長いほど,必然的により多くの修飾語が盛り込まれることになる.本研究は,こうした経験則を是認する立場に立って,文の長さのばらつきを抑えつつ,骨子たる被修飾語群から文の構造に関する情報を引き出すために,「核文節(Nucleus Bunsetsu)」という概念を導入して,文節を核文節と非核文節に二分する.そして,前者を原文中の順序でつないでできた文字列を「核文(Nucleus Sentence)」と呼ぶ.日本語書き言葉の性質上,通常,述語が文の最後に来るように実践され,ちょうど根に位置するノード(以降,「根ノード」と略す)に落ち着いているため,根ノードにある文節のことを「述語文節(Predicative Bunsetsu)」と呼ぶ.
名前通り,核文節は,文節のうち,文を支えている,言わば,中核となるものであって,それらが1つでも欠ければ,文意が正確に伝われなくなるか,文として成り立たなくなってしまう.ただ,正確に核文節かどうかを見分けて,それを数百ないし数千の文節を持つ文章から違わず漏らさず抽出することは極めて困難である.
本研究では,折衷案として,文の木構造に基づいて,核文節を近似的に探し当てる方法を提案する.具体的には,図1のように文をツリー状に展開してから,根ノードとそれに直接につながっているすべてのノードが持つ文節を核文節と見なすことにした.図1に示す例文の場合,根ノードに位置する「見つめていた」と,それに直接につながっている「運転手は」「漁師のように」「列を,」「閉ざして」計5個の文節を核文節として,これらを原文での順に沿ってつなげてできた文字列を核文とする.UTF-8で記述したプレーンテキストから核文節を自動的に抽出・集計するR言語(Ihaka & Gentleman, 1996)のスクリプトを筆者たちのGitHub(https://github.com/Liu-Yejia/NBS)において公開している.
本研究では,文の構造を特徴量化するために,核文節を用いて単独で扱う,または,複数個をまとめて扱うかに分けて,計5種の組み合わせ方法を提案して,それぞれから組成情報を引き出してパターン化したものを新しい特徴量として提案して,核文節の英訳Nucleus Bunsetsuの頭文字をつなげてNBSと名付けた.記号化された1文に対して,後述する文節パターンB型(M0)とNBS族が採用する文節の組み合わせ方を図示したものが図2である.
核文節からパターンを引き出すに当たって,柳・金(2021, 2022)が提案する品詞タグのn-gramに用言の活用情報等を取り入れたCA n-gram(Conjugationally Aware n-gram)特徴量を参考にして,CA n-gramに備わるタグ情報の漸次精緻化パラメータGを取り入れた.Gが1,2,3を取り,数値が大きければ大きいほど,活用語を中心とする一部の品詞により詳細な情報が付け加えられるようになる.表2に前掲例文を対象とするパターン抽出の例を示す.このように,本研究が提案するNBS族特徴量には,核文節を組み合わせるメソッドを指定するMとパターン化に際して取り入れる情報の豊富さを指定するGという2個のパラメータが存在する.以降,これら2パラメータの値の組み合わせで,特定のNBS特徴量を指し示すことにする.たとえば,組み合わせ方法2(M2)にしたがって,ある文に含まれるすべての核文節をつなげてできた核文から,最も詳細な情報を付与しながら引き出したパターンをM2G3と略して記すことにした.
本章では,提案するNBS族特徴量が著者識別タスクにおけるパフォーマンスを計測する.用いたコーパス,比較対象となるベースライン特徴量,採用した分類アルゴリズムの順に解説してから,実験設定を詳述する.
4.1 コーパス本研究は,先行研究とは異なり,青空文庫に収録されている作品をあえて用いない.なぜなら,2023年7月31日時点で作品が青空文庫に公開され,かつ著作権が消滅した作家が,全て1967年以前に死亡していたため,旧字体・歴史的仮名遣いが用いられる作品が殆どである.僅かの著作権存続中の作家に関しても,翻訳以外の作品が数えるほどしか公開されていない.対して,CaboChaの訓練には,新字体・現代仮名遣いが浸透した1995年1月1日から17日までに毎日新聞に掲載された全ての記事と同年同紙に掲載された全ての社説からなる京都大学テキストコーパスが用いられたため,解析対象として現代日本語を想定している.この食い違いによる解析精度の低下を防ぐために,本研究では,表1に示す10名の作家の小説と随筆それぞれ20編を分析対象として,コーパスを構築した.対象作家は,全員,直木賞か芥川賞の受賞歴,あるいはノミネート歴を持ち,かつ,複数のジャンルにおいて熱心に創作活動を継続しており,直近5年以内に新著を上梓した現役作家たちである.なお,異なる2つのジャンルを同数含めたのは,著者の個人文体が,ジャンルを問わず,その人の作品に遍在する可能性が指摘されているからである(柳・金,2022).紙幅の都合上,詳細なタイトルは前掲のURLに参照されたい.
作品を収録する媒体の性質によって,電子化の手順が異なる.インターネット上に公開されているものに関しては,しかるべき手続きを経て入手してから,記号系やフォームなどを統一して,そのまま用いた.そうでないものに関しては,紙媒体の書籍より手入力で電子化した.
コーパスを作成する際に1つの考慮すべき課題が,作品の長さの不統一である.周知の通り,長さによって,小説を掌編,短編,中編,長編などに細分できるのに対し,随筆は,総じてコンパクトにまとめられ,長くても数千字である.したがって,これら2ジャンルの作品をすべて全文使用することは適切でないと考え,本研究では,小説については,段落の途中が切れないように,本文冒頭から5,000字~6,000字を目処に電子化し,それより短い小説であれば,本文全文を電子化した.一方,随筆作品は全文を用いた.そのあと,電子化した各作品に対し,各種タイトル・会話文の削除や句読点の形状を統一するといった前処理を行った.会話文を削除したのは,それらが著者の個人文体よりも,実在する人物(随筆)または著者自身が創り上げた人物(小説)の個性を色濃く表わすものであると考えたからである.
4.2 比較対象となる特徴量NBS族特徴量の著者識別タスクにおけるパフォーマンスを評価するために,「文節パターン」を比較対象とし,以後,これを「ベースライン」と呼ぶ.文節パターンとは,文を文節レベルに分解したあと,全ての文節について,その組成パターンを引き出し,集計したものである.ただ,原著論文(金,2013)でも,品詞の種類によって,原型かそのタグ(IPA品詞体系における「品詞」層またはもっと深い位置にある「品詞細分類1」層)をパターンに織り込むかについて,言わば,情報の解像度をチューニングしながら,計4種類の特徴量が提案された.本研究では,その中から,日記や小説など複数のジャンルに対して,安定して高い正解率が報告されたB型を採用した.B型では,助詞と記号に分類される形態素以外のすべての形態素について,それらが所属する品詞のカテゴリー名でマスキングしている.例えば,「赤い/花が/咲いた.」という文について,3つの文節から「形容詞」「名詞+が」「動詞+助動詞+.」という3つのパターンが抽出される.文節パターンB型とNBS族が各種品詞に対して採ったマスキング策の詳しい比較も付録に記載されている.なお,図表を含めて,次節以降,文節パターンB型のことを「M0」として略して記す場合がある.
4.3 分類器とデータ著者識別を行うには,特徴量データから各個体(作品)に対応する記録を逐次分類器に入力して,判別モデルを構築する必要がある.本研究では,多くの先行研究(金・村上,2007;孫・金,2018)で採用されるランダム・フォレスト法(Breiman, 2001)を分類器に選び,以降,RF 法と略す.RF法を用いた分類では,与えられるデータ行列から,複数回にわたって,個体と変数をランダムに選んで決定木を多数生成して,各決定木の判別結果を用いて,多数決で最終結果を決める.本実験におけるRF法を実装するために,CRAN(The Comprehensive R Archive Network)に公開されるパッケージ{randomForest version 4.7}(Liaw&Wiener, 2002)に収録される同名関数randomForestを用いる.決定木生成の際,用いる個体数(samplesize)と変数の数(mtry),生成する決定木の数(ntree)などのパラメータに関しては,全てデフォルト値(それぞれが,個体の総数×0.632,説明変数の総数の平方根を丸めた値,500本かつ剪定せず)を用いる.各特徴量データに対して,作品ごとに相対頻度に変換し,行が個体(作品),列が変数(特徴量の各項目)に対応するようにデータを行列に直して用いる.
4.4 実験設定比較実験は,候補著者の人数によって,2つのケースに分けて行う.ケース1は候補著者が2人いる2群判別で,ケース2は候補著者が10人いる10群判別である.2つのケースとも,各種特徴量を単独で用いてから,ベースライン特徴量を含め,一定のパフォーマンスに達した特徴量同士を下記の2通りの結合方法で組み合わせてできた合成特徴量に対して,再度パフォーマンスを計測して,結合によるパフォーマンス向上の有無を確かめる.
(1) 合成元となる複数の特徴量データを横方向に連結する.ただし,項目が重複する場合1個のみ残す.
(2) 与えられた作品に対して,合成元となる複数の特徴量データそれぞれを用いて得た結果を統合して著者を決定する.
結合方法(2)について詳述する.異なる複数個の特徴量データを用いて得た結果を統合して,正識別率を改善できた試みとして,金(2014)で提唱された統合的分類アルゴリズムのモデルIがある.それは,分類器と特徴量の全てのペアの識別結果の多数決を最終結果とする方法である.ただ,本研究では,分類器としてRF法のみ用いて,かつ,合成元となる特徴量の数も偶数な場合もあるため,2名以上の著者に同数票が集まって,多数決では最終結果が1名に決まらない可能性が高い.従って,本研究では,統合的分類アルゴリズムのモデルIを参考に,数ある決定木の判別結果の多数決で最終結果が決まるというRF法の性質を考慮して,代わりに下の式で示す統合方法を用いることにした.
Pi(authorj)とは,i番目の特徴量データ行列をRF法の入力として用いて,対象作品がj番目の候補著者authorjに配属される確率である.kが候補著者の総数で,mが合成元となる特徴量の総数である.この統合方法を用いた場合,1候補著者につき1個のトータルな確率和が得られ,そのうち最も大きい方を最終結果とする.デフォルトに従って,分類木の数を500本としてあるため,前述した同数票によって生じる拮抗現象の発生率が大幅に抑えられる.次節以降,統合方法(1)を「和集合式」と,統合方法(2)を「積み増し式」とそれぞれ略して呼ぶことにする.記述の簡便化を図るために,前者を用いて得られた合成特徴量の場合,「+」を合成元特徴量の間に挿入して,後者の場合,「×」を挿入する.例えば,文節パターンB型とBNS族のM5G3とを和集合式によって統合して得られた合成特徴量のことを〔M0 + M5G3〕と表記し,また,積み増し式によって結合して得られた合成特徴量のことを〔M0 × M5G3〕と表記する.さらに,Gの値が同じであれば,M1G・の全項目はM5G・に含まれるため(表4,表5中,「∗」がつくセル),合成元に両者がともにある時に限り,「積み増し式」による統合のみを行うことにする.
パフォーマンスの評価指標として,平均正解率を用いる.具体的に,ケース1では,任意の2名の著者からなるペアについて,対応する作品集合に対し,1個抜き交差検証法(leave-one-outcross validation)を用いて正解率を求める.1個抜き交差検証法とはモデルの性能を評価する方法の1種で,与えられたデータから個体(本研究では作品にあたる)を1つずつ抜き出し,残りの個体を用いて作った判別モデルを用いて,抜き出した個体のクラスを予測する,それから,全ての著者ペアについて正解率の平均および標準偏差を求めて,当該特徴量または合成特徴量のパフォーマンスとする.正解率の平均(以降,平均正解率と略す)が大きければ大きいほど,標準偏差が小さければ小さいほど,パフォーマンスが高いと見なす.なお,平均正解率と標準偏差を計算するときだけ,数値を小数点以下4桁までに丸める.ケース2では,全候補著者の作品を用いて判別モデルを構築するため,正解率のみをパフォーマンスとする.
ケース1:単体まず,ベースライン特徴量を含む各種特徴量を単体で用いて計測した正解率を表3に示す.表3から,文節パターンB型(M0)のパフォーマンスが最もよく(0.9869±0.0153),M5G3(0.9861±0.0158)が0.08ポイントの僅差でそれに続いている.平均正解率が0.9を上回る特徴量(グレーのセル)から,M0,M1G3,M3G1とM5G1からG3の計6種類を合成元として選んで作った合成特徴量について,再度2群判別を行った.それらのパフォーマンスを合成元の数によって,表4と表5に分けて示す.
ケース 1:結合表4に2個の特徴量の合成を用いて2群判別を行った結果を示す.表4から,2種類の合成方法のいずれにおいても,M0とM5G3からなる合成特徴量が平均正解率と標準偏差の両方においてM0の単独での利用より優れていて,平均正解率に関しては,最大で0.67ポイントの改善がなされている.このことから,核文節それ自体に対する高解像度のパターン化に基づくM5G3には,文節パターンB型が持っていない個人文体に関する情報が含まれていることが推測できる.
表5に,3個以上の特徴量の合成を用いて2群判別を行った結果を示す.表5から,平均正解率がM0 を越えたものが〔M0+M3G1+M5G3〕の1種類のみになっている.合成元が多いと,パフォーマンスが逆に落ちる原因の一端を分類器RF法に求められる.すなわち,RF法は変数のランダム・サンプリングに基づくため,特徴量同士を繋いだ後,変数項目の数が膨れ上がったせいで,著者を特徴づける項目が選ばれる確率が下がってしまい,質のいい決定木が作られにくくなった可能性が高い.
続いて,NBS特徴量が著者識別パフォーマンスを改善した一例を見てみる.〔M0×M5G3〕において,最大な改善幅が見られた著者のペアが『宮部みゆき・湊かなえ』である.彼女らの作品群に対して,M0が誤判別した5作のうちの4作について,積み増し式合成特徴量は正しい結果に導いたのである.それらをどの著者に帰属させる根拠となる確率や最終判別結果と真著者が符合するかについて,特徴量別にまとめたのが表6である.表6から,これら5作に対して,M0がどの候補著者にも0.5に程近い,比較的曖昧な確率を与えていたのに反して,M5G3は片方の著者に確率を偏らせて「贔屓」していたため,統合によって最終的に識別結果を正しい方へと反転させていたことが読み取れる.
最後に,ケース2の結果を紹介する.表7(左)より,候補著者が10人の時,文節パターンB型(M0)の正解率が92.75%であるのに対して,M5G3が2ポイントの差をつけて94.75%の正解率が観測された.そして,2者の合成特徴量を用いて10群判別を行った場合,さらなる正解率の改善が確認され,M5G3単体使用時に比べて,和集合式だと5作品,積み増し式だと8作品の著者は新たに正しく識別された.これらのことから,大人数の著者識別においても,文構造に由来するNBSは,文節パターンB型以上に作品に潜在する著者の文体的特徴をすくい上げられたことがうかがえる.
本研究では,文章を構成する「文」に注目して,その構造に関する情報を特徴量化できるかについて試みた.具体的に,文の長さが恣意的であることを考慮して,係り受け解析器CaboChaを用いて文構造に大きく関わる文節群を「核文節」と定義し,それらを組み合わせたものから引き出したパターンをNBS特徴量として提案した.シミュレーション実験を通じて,同じく文節を扱う既存特徴量である文節パターンB型と比較した結果,2群判別と10群判別の両方においても,NBSが文節パターンB型と同等かそれ以上のパフォーマンスを示しており,両者を統合することでさらなるブーストが見られた.これらのことから,字面だけでなく,文の構造にも著者の個性が色濃く現れると言える.
ただ,本研究では,サンプル入手の観点から,研究対象を小説と随筆という比較的アクセスしやすい2ジャンルに限定した.提案特徴量はその他様々なジャンルの作品が関わっている著者識別においても同様な結果を得られるかどうかについて,追加実験による検証が必要となり,今後の課題としたい.また,文構造の特徴量化に関しても,本研究では,文を組成する文節を文の「骨子」と仮定する文節の集合である核文節にのみフォーカスしているが,文構造を損なわずに特徴量に反映するためには,核文節以外の文節をも検討に入れる必要があり,パターン抽出手法の再検討も含めて,より洗練され,かつ,有効な特徴量の提案が待たれる.
また,本研究の副次的産物として,異なる特徴量データを組み合わせる方法として,それぞれが持つ独自な項目を単純に連結する和集合式と単体使用で得られた確率を足し合わせてから比べる積み増し式の2種類の統合方法を比較した.その結果,単体使用時のパフォーマンスが比較的近く,かつ,ともに高い特徴量同士なら,後者はパフォーマンス改善に繋がる可能性が示唆された.今後,著者識別タスクにおいて複数の特徴量の並行使用が検討される場合に,ケーススタディーとは言え,本研究の知見が少なからぬ貢献となることが期待される.