テキストの差分を解析する

 さて、『エインズワースの交友録』の2つの版の比較に着手しますかね。


 どちらも手書きの文書だが、テキストとして読み取る時にAIが文章としての妥当性をチェックしているから、文字の誤認識に関する大きな問題はないだろう。ただ、固有名詞の綴りが合っているかどうか、みたいなところについてはどうしようもない。これは比較を人間がした場合でも同じことだ。

 『交友録』は基本的に日記だから、書かれている日付の順番が入れ替わっているということはないだろう。であれば、どこが違うかを調べるには一方から他方について、追加、変更、削除された箇所を調べればいい。

 こういうのは、プログラムのソースコード間の比較や併合マージのためのツールがいくつかあるから利用すれば簡単だ。


 そう思って着手したが、予想外に苦戦。

 まず変更箇所としてツールが指摘する箇所が極めて多い。しかも、文書全体の行番号を使って、「テキスト#1の813行目から5行分が削除されている」というように表示されるので、コンピュータなしではどこが変更されているかが分からない。一方、GUIを使ってテキストの比較をするツールもあるのだが、こっちは全体の表示が絶望的に長い。


 検討した結果、文書全体を1つのファイルとして比較するのはやめて、日付ごとに小さいファイルを沢山作って比較することにした。

 日記なので日付はその日の記述の先頭に書いてある。これを使って切り分ければいい。ただ、日付の書き方に少しバリエーションがあるので、識別のために正規表現を使おう。ちなみに正規表現というのは特定の文字列パターンを表現するための記法のことで、例えば「行の先頭の*月*日」みたいに指定できる。これを使って、元の巨大なテキストファイルから、日付が先頭にある小さなファイルを切り出すスクリプトを記述した。


 これで日付ごとに小さいファイルを作ったら、数千個のファイルが出来上がった。うーむ。20年間ほど、毎日ではないがせっせと日記を書いていたらそのくらいか。

 双方に同じ処理を加えると、作成されるファイルの個数が明らかに違う。オリジナル版から何日分もの記述が取り除かれているということだ。


 それぞれを違うディレクトリに格納して、ディレクトリごと比較をすると、どのファイル(つまり日付)がどちらかにしかない、さらに、同じ日付の内容に削除、加筆などがある、ということが分かる。

 変更箇所は特定の日付の記述に集中しているので、そこに注目すれば問題視されているらしい出来事や人名が分かる。いやあ、この方法が正解だったな。


 ただ、結果自体はいかにもコンピュータが打ち出したという味気ない出力なので、これをAIに頼んで、人間がメモとして書き出した風な記述に直してもらおう。……と考えるのは簡単だったが、こちらが漠然と思い描いている「人間のメモ」のイメージに近い記述にするのが大変で、かなりの試行錯誤を繰り返す羽目になる。


 ついでだから、この2つの日記の改変はどういう意図で行われているのか、AIに推論してもらおうか。


 処理は案外あっさり終わる。AIの推論は以下の通り。


(1) 特定の人名、家の名が改変によってほぼ完全に取り除かれている。家名としてはムーンフォード、デュハルディ、およびスフィンレック。特にアレクシア・スフィンレックという個人の名前は徹底的に削除されている。

(2) スフィンレック家は比較的有力な貴族の名前と思われる。ムーンフォード、デュハルディはその縁戚、または有力な家臣ではないかと推測される。

(3) アレクシア・スフィンレックという人物は、地位のある人物と推測される。

(4) その他の人名や地名と思われる固有名詞も削除されたり、変更されたりしているものがいくつかあるが、ムーンフォード、デュハルディ、スフィンレックに何らかの関係があると考えた場合、50%以上のケースを説明できる。


 へー。

 なんとなく、これでもう解析は終わりでいいんじゃね? とか思う。

 逆に、これはどうやって調べたのか、と言われると、個人が数ヶ月でできる範囲を軽く超えているようにも思う。

 まあいいや。言い訳はセーラに考えてもらおう。


 書斎に移動してソファにグテッと座って休んでいると、ナタリーがやって来る。

「何か御用などありませんか?」

「特にないけど……。そうそう、ゴーラム商店ってすごく歴史が長いんだって?」

 ゴーラム商店はナタリーの実家である。

「あ、はい。正確かどうか分かりませんが、500年くらい前から商売をしているって聞いたことがあります」

 ナタリー、俺の左隣に座ってくる。


「それって、記録が残ってるってことだよね?」

「はい、契約とか売買の記録を捨てずに保管しておいたのが残ってるようです」

「どうやら、スートレリアの女王陛下がそれに歴史的な価値を見出して調査しているみたいなんだけど」

「あら。そうなんですか。でも、何年の何月にどこに小麦をどのくらい売った、みたいな記録が残ってるだけでしょう?」

 ナタリー、なんとなく密着してくる。いい匂いがする。


「それがね、歴史書とか公式の記録の場合、歴史から抹消したいと思う人物がいたら、多分、その人物についての記述を削ったり、書き換えたりするよね? ところが、単に小麦をどこの誰に売りました、みたいな帳簿はわざわざ探し出して書き換えないんだよ」

「なるほど。確かにそうですね」

 ナタリー、話をしながら俺の左手を取って、両手で優しく包む。温かいなあ。


「ムーンフォードとか、デュハルディ、スフィンレックなんて貴族の名前を聞いたことはないかな? 珍しい名前だと思うけど」

「うーん。そうですね、ムーンフォードとデュハルディはどこかで聞いたことがありますけど、別に貴族ではなかったと思います」

「そういう人が、いることはいるんだ」

「ええ。ゾルトブール国内だったと思いますけど」


 ふと会話が途切れ、ナタリーが俺を見つめる。いつもながら美しい表情だなあ。

「そのうちで結構なのですが、一度実家に帰って両親に会っておきたいと思うのです。どうでしょうか?」

「そうだね。例の事件があって以降、全然会えていないから、そろそろ直接会って無事を伝えるのもいいだろうな」

「あたし一人だけで行くのでも、もちろん問題ないのですが、できましたらデレク様もご一緒に行って頂けませんか?」

「え? 俺?」


「はい。ちゃんとしたご主人のいるお屋敷で働いています、ということを伝えれば安心してくれると思うんです」

「まあそうかもしれないけど、俺が直接行ったとしても『これ、誰?』とか思われないか?」

「では……、将来的にシャデリ男爵家に挨拶に行かれることはありますか?」

「それはあるかもしれないな。名誉回復が成ったお祝いを言いに行きたいよね」

「そこにあたしがお供として一緒に行って、その時に実家に戻って報告する、というのでもいいかと思います」

「なるほど。それはいい提案かもしれないな」

 ナタリー、少し頬を紅潮させて言う。

「はい、ではもしそのような機会がありましたら、よろしくお願いします」

「うん、いいよ」


 夕食が済んで、セーラの所へ転移。


 作成した解析結果をプリントアウトしたものを渡す。

「はい、これ」


 セーラ、プリントアウトをパラパラと見ていたが、最後にあるAIが作成した推論の部分を凝視している。

「……すごいわね」

「うん。すごいんだ」

「これはでも、ほとんど結論に近いんじゃない?」

「じゃあ、メローナ女王にこのまま渡す?」

「まっさっかっ。結果は素晴らしいけど、メローナにうまく説明できないじゃない。こんなの、数人がかりで調べても1ヶ月はかかると思うわよ?」


「何か言い訳を考えてだねえ……」

「えー。そもそもこうやって綺麗に印刷されてる時点で怪しいわよね」

「一応、基本のフォント情報を元に、手書きで書いた風に字形がちょっと揺れるように処理がされているみたいだから、字が綺麗な几帳面な人がせっせと書いた、といえば通らないかな」

「デレクが何を言っているか分からないけれど、さすがに無理がないかしら」


 2人であれこれ考えた末、『交友録』のバージョンの違いについて検討した人が昔もやはりいたらしくて、オリジナルのバージョンを入手した際にその考察の記録も一緒に存在していた、というストーリーをでっち上げる。

「で、元の考察は紙がボロボロだったから綺麗に清書した、と」

「うーん。無理があるようにも思うけど、まあ仕方ないか」

「元はと言えば、セーラが不用意に……」

「あー。それはもう本っ当っにごめんなさい」


「それで、ナタリーに聞いたところでは、ムーンフォードとデュハルディはゾルトブールにある人名だけど、貴族ではないと思う、とのことだ」

「へえ。まあ、それは参考情報ね。スートレリアの人も知ってるでしょう」

「重要人物はどうやらアレクシア・スフィンレックだな」

「そうね。聞いたことがないわね。歴史から完全に抹消されているのかしら」


 例えば、スフィンレックの名前があるために抹消された日記はこんな感じだ。


「12月13日。新春を題材とした定型詩を王宮で披露するとのことで、スフィンレック家より相談を受ける。3つほど、古典の同様の詩を踏まえたものを書き送る。近隣の農夫から、猿の害がひどいのでなんとかしてくれないかとの相談があり、食料貯蔵庫の見回りを強化すること、弓矢の心得がある冒険者に依頼して威嚇することを検討する」


「1月18日。スフィンレック家より使いがあり、アレクシア殿からの礼状を受け取る。新年のために蓄えておいたチーズがネズミにやられているのを発見してガッカリである」


 セーラが言う。

「これ、王宮で定型詩を披露したいけど自信がないからゴーストライターに依頼した、みたいな話よね。そのスフィンレック家としては公にされちゃうと恥ずかしいかもしれないけど」

「確かにそんな感じ。他愛のない内容だよなあ」

「内容が理由で抹消したんじゃないわよね」

「その貴族自体の存在を抹消したい、ということか」


「メローナ女王はそれが魔王の出現に関係していると考えているらしいけど」

「……謎だなあ」

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る