そあん(soan)プロフェッショナル版について
「そあん(soan)プロフェッショナル版」(以下、プロ版と言います。)は、古活字画像を用いて現代日本語テキストを描画するライブラリ「そあん(soan)」(以下、通常版と言います。)にいくつかの実験的な機能を加えた拡張版です。このページでは、プロ版と通常版との違いを説明します。
目次
形態素解析の利用
そあん(soan)が利用する「古活字データセット」には、現在「変体仮名」と呼ばれるかなの活字や連綿(続け字)活字が含まれています。古活字が利用されていたころ、複数存在する変体仮名の字体のうち、どの字体の活字を用いるかの選択や、連綿活字/単体活字の選択は、何らかの基準や事情によって行われていたものと思われます。
変体仮名については、語頭/語中語尾/助詞等の区分によって字体が使い分けられていたとの指摘があります[1][2]。また、文章内の連綿や踊り字は、古典籍では文節を考慮していない例も見られますが、現代の感覚としては、文節をまたいだ連綿や踊り字には違和感があるかと思います。
そあん(soan)では、入力されたテキストに対して形態素解析(テキストを分割し、品詞などの情報を付与する処理)を行い、その結果を利用して、変体仮名の使い分けや連綿活字の選択などを行っています。
問題点
そあん(soan)では、ブラウザ上で動作する形態素解析器として「kuromoji.js」を利用しています。この形態素解析器で利用できる形態素解析辞書(mecab-ipadic)は、現代日本語向けのものであり、明治大正期の文学作品や、いわゆる古文などを解析した場合、正しい結果が得られないことがあります。
例として、「ありにしも あらずなりゆく 世の中に かはらぬものは 秋の夜の月」という和歌を考えます。
このテキストは、kuromoji.jsでは下表のように形態素解析されます。
| 表層形 | 品詞 | 品詞細分類1 | 品詞細分類2 | 品詞細分類3 | 活用型 | 活用形 | 基本形 | 読み | 発音 | 
|---|---|---|---|---|---|---|---|---|---|
| あり | 動詞 | 自立 | * | * | 五段・ラ行 | 連用形 | ある | アリ | アリ | 
| に | 助詞 | 格助詞 | 一般 | * | * | * | に | ニ | ニ | 
| し | 動詞 | 自立 | * | * | サ変・スル | 連用形 | する | シ | シ | 
| も | 助詞 | 係助詞 | * | * | * | * | も | モ | モ | 
| あら | 動詞 | 自立 | * | * | 五段・ラ行 | 未然形 | ある | アラ | アラ | 
| ず | 助動詞 | * | * | * | 特殊・ヌ | 連用ニ接続 | ぬ | ズ | ズ | 
| なり | 動詞 | 自立 | * | * | 五段・ラ行 | 連用形 | なる | ナリ | ナリ | 
| ゆく | 動詞 | 非自立 | * | * | 五段・カ行促音便ユク | 基本形 | ゆく | ユク | ユク | 
| 世の中 | 名詞 | 一般 | * | * | * | * | 世の中 | ヨノナカ | ヨノナカ | 
| に | 助詞 | 格助詞 | 一般 | * | * | * | に | ニ | ニ | 
| か | 助詞 | 副助詞/並立助詞/終助詞 | * | * | * | * | か | カ | カ | 
| はら | 動詞 | 自立 | * | * | 五段・ラ行 | 未然形 | はる | ハラ | ハラ | 
| ぬ | 助動詞 | * | * | * | 特殊・ヌ | 基本形 | ぬ | ヌ | ヌ | 
| もの | 名詞 | 非自立 | 一般 | * | * | * | もの | モノ | モノ | 
| は | 助詞 | 係助詞 | * | * | * | * | は | ハ | ワ | 
| 秋 | 名詞 | 一般 | * | * | * | * | 秋 | アキ | アキ | 
| の | 助詞 | 連体化 | * | * | * | * | の | ノ | ノ | 
| 夜 | 名詞 | 副詞可能 | * | * | * | * | 夜 | ヨル | ヨル | 
| の | 助詞 | 連体化 | * | * | * | * | の | ノ | ノ | 
| 月 | 名詞 | 一般 | * | * | * | * | 月 | ツキ | ツキ | 
「かはらぬものは」(変わらぬものは)の部分を見ると、「か(助詞)+はら(動詞;発音「ハラ」)+ぬ(助動詞)+もの(名詞)+は(助詞)」という誤った解析結果になっています。
先に述べた変体仮名の使い分けについて、「か」は、助詞のときは「可」を字母とする変体仮名、助詞以外のときは、語頭では「加」を字母とする変体仮名、語中語尾では「可」を字母とする変体仮名と使い分けられる傾向があり、ワと発音される「は」(助詞の「は」を含む)については「八」を字母とする変体仮名が用いられる傾向があったと指摘されています[1][2]。
形態素解析結果に基づいて変体仮名の使い分けを考慮すると、「か」は助詞と解釈されているため「可」を字母とする変体仮名が、「はら」は助詞ともワと読むものとも解釈されていないため「八」ではない字母の変体仮名が選択される可能性が高くなります。
しかし、正しく形態素解析を行うならば「かはら(動詞;発音「カワラ」)+ぬ(助動詞)」となり、「か」は非助詞・語頭であるため「加」を字母とする変体仮名を、「は」はワと読むので「八」を字母とする変体仮名を使ってほしいところです。
字母・連綿・字形の指定
こうした点に対応するため、プロ版では字母や連綿を全角の角括弧([])を用いて指定できるようになっています。
先ほどの例であれば、入力テキストを「[加][八]らぬ」とすることで、「加」を字母とする変体仮名と「八」を字母とする変体仮名が用いられるようになります。
しかし、この指定では「はら」の部分は連綿ではなくなってしまいました。「古活字データセット簡易KWIC検索」を用いると、字母を「八良」とする連綿活字が利用できることが分かります。そこで入力テキストを「[加][八良]ぬ」とすると、「はら」の部分を連綿とすることができました。
また、同一字母複数字形を区別したい場合など、特定の古活字画像を使用したい場合は、「古活字データセット簡易KWIC検索」で表示されるID(古活字画像ID)を用いた指定が行えます。例えば、「加」を字母とする変体仮名のうちID:4867の古活字画像を使用したい場合は、入力テキストを「[4867][八良]ぬ」または「[ID4867][八良]ぬ」とします。古活字画像IDは、古活字データセットの更新に伴い変更される可能性があることにご注意ください。
なお、生成画像に角括弧を表示したい場合は、半角の角括弧([])を用いて入力してください。
形態素解析の切れ目の指定
また、別の例として「ねこのここねこ」というフレーズを考えます。
このテキストは、kuromoji.jsでは下表のように形態素解析されます。
| 表層形 | 品詞 | 品詞細分類1 | 品詞細分類2 | 品詞細分類3 | 活用型 | 活用形 | 基本形 | 読み | 発音 | 
|---|---|---|---|---|---|---|---|---|---|
| ねこ | 名詞 | 一般 | * | * | * | * | ねこ | ネコ | ネコ | 
| の | 助詞 | 連体化 | * | * | * | * | の | ノ | ノ | 
| ここ | 名詞 | 代名詞 | 一般 | * | * | * | ここ | ココ | ココ | 
| ねこ | 名詞 | 一般 | * | * | * | * | ねこ | ネコ | ネコ | 
この形態素解析結果に基づいて文節にまとめあげると、そあん(soan)では「ねこの」「ここ」「ねこ」と文節分けされます。
古活字データセットで「ここ」または「こゝ」の連綿活字が利用できる場合、その部分は連綿になりますが、正しく解釈された文節分けに基づいて文節をまたぐ連綿を避けたい場合、これは望ましい結果とは言えません。
こうした点に対応するため、プロ版では形態素解析の切れ目を半角のスラッシュ(/)を用いて明示できるようになっています。
先ほどの例であれば、入力テキストを「ねこのこ/こねこ」とすることで、「ここ」が連綿となることを回避できます。このときスラッシュは生成結果に表示されません。
なお、生成画像にスラッシュを表示したい場合は、全角のスラッシュ(/)を用いて入力してください。
古文モード
これらの指定を用いることで生成結果を望みの形に近付けることができますが、比較的長い古文を入力テキストとしたい場合、個々の箇所に明示的な指定を行っていくことは手間がかかります。
こうした点に対応するため、プロ版では入力テキストを古文(中古和文)として形態素解析する「古文モード」を用意しています。古文モードでは、入力テキストをサーバに送り、サーバ上で古文用の形態素解析辞書「中古和文UniDic ver.2023.08」を用いて解析結果を得ます。
古文モードでは、一部の語彙の読み方が現代語とは異なる点に注意してください。また、現代文を古文モードで解析した場合、正しい結果にならない可能性があります。くずし字画像生成後、「画像テキスト」ボタンから、生成に用いられた画像テキストを確認してください。
例えば、「サンプルテキスト」ボタンの押下で表示される中島敦『山月記』において、「潔し」は、通常モードでは「潔し(形容詞;発音イサギヨシ)」と解析されますが、古文モードでは「潔し(形容詞;発音キラギラシ)」と解析され、古活字データセットに「潔」の登録がない場合、「きらきらし」とくずし字画像化されます。また、「耽った」は、通常モードでは「耽っ(動詞;発音フケッ)+た(助動詞)」と解析されますが、古文モードでは「耽(動詞;発音フケリ)+った(感動詞)」と解析され、古活字データセットに「耽」の登録がない場合、「ふけりつた」とくずし字画像化されてしまいます。
なお、サーバ上での形態素解析は同時処理数に制限があるため、混み合っているときは処理に失敗することがあります。そのような場合は、お手数ですが時間をおいてお試しください。安定した品質でサービスが提供できないと判断した場合、古文モードの提供は予告なく停止する可能性があります。
また、サーバ上で形態素解析したテキストについて、サーバ上で意図的に蓄積することは一切行っていませんが、予期せぬシステムトラブル等に備え、守秘性の高いテキストの入力はお控えください。
シード値の指定機能
そあん(soan)では、複数の古活字画像が利用できる場合、乱数を用いて古活字画像が選択され、生成ごとに異なる結果になります。このため、古活字画像の組み合わせは維持しつつ画像設定(字詰めや用紙など)のみを変えることはできませんでした。
こうした点に対応するため、プロ版では「シード値」を指定することで、一度生成した結果と同じ古活字画像の組み合わせでくずし字画像を生成できるようになっています。
一度生成した結果と同じ古活字画像の組み合わせを維持したい場合、生成された画像の下部に表示される「Seed」の数値(負の数であることもあります)を「設定」の「シード値」に入力して、画像生成を行ってください。
組版ロジックの改善
そあん(soan)による画像生成は、二段階の過程で行われています。第一段階で行の長さは考慮せずに入力テキストを古活字画像の組み合わせに分割し、第二段階で行の長さを考慮しながらそれらを並べて行を作っていきます。この仕様には、次に述べる問題点がありました。
古活字画像を順番に並べて行を作っていくとき、次に古活字画像を置くと行末(所定の行の長さ)を超えてしまう場合、現在の行に句読点の後ろなどの空きがあればそれらを詰めて次の古活字画像を行内に収めようとし、それでも行末を超えてしまう場合は、その古活字画像は次の行へ送ることにしています。また、次の次に置く活字が句読点などである場合、句読点などが行頭に来ることを避けるために、次に置こうとしている古活字画像を次の行へ送る必要が生じることがあります。次の行に送る古活字画像が連綿活字のように長いものであった場合、行末に複数文字相当の大きな空きスペースが生じうることになります。しかし、日本語組版ではある程度以上の行長のときは行末を揃えることが一般的であり、行末の大きな空きスペースを行内の他の活字と活字の間に分散して調整し、行末が揃うようにします。こうした結果、ときおり古活字画像ブロック間が大きく空いて不自然になってしまうことがありました。
嵯峨本でどのように活字が選択されていたのかは分かりませんが、行末近くになってあえて連綿活字を選択し、行末に収まりきらないので次の行に回して現在の行の活字間を空けるということは考えにくく、行末に収まるような活字(の組み合わせ)を選択して組んでいったことでしょう。
つまり、行の長さを考慮せずにあらかじめ古活字画像の組み合わせを決めてしまうという、これまでのそあん(soan)の方針がときに不自然な組版結果をもたらしていたのでした。このような問題に対処するため、プロ版v1.2では、活字が行末にかかる場合や行頭禁則で追い出しが発生する場合は、別の活字(の組み合わせ)を選択し直すことで、追い出しにより発生する空きを減らすことができないか自動試行する機能を加えました。これにより、活字ブロック間が大きく空いて不自然になってしまう問題が軽減されました。v1.2の組版に問題がある場合や従来の組版がお好みの場合は、旧版(v1.1)をご利用ください。
作例
これらの指定を用いて、『伊勢物語』のパロディ『仁勢物語(にせものがたり)』を古活字組版画像化した例を挙げます(v1.1で作成)。現実には存在しない、いわば「似せ嵯峨本『仁勢物語』」です。
 
          生成画像のライセンス
通常版と同じく、プロ版を用いて生成した画像は自由に利用できます。
参考文献
[1]: 高田 智和, 矢田 勉, 斎藤 達哉, 変体仮名のこれまでとこれから 情報交換のための標準化, 情報管理, Vol.58, No. 6, pp. 438-446, 2015. doi:10.1241/johokanri.58.438
[2]: 白井 純, キリシタン版の日本語と印刷術についての研究, 北海道大学, 博士論文, 2021. doi:doi.org/10.14943/doctoral.r7145
関連リンク
主な更新履歴
- 2025-09-30v1.2を公開(旧v1.1はこちら)
            - 行末にかかる活字の選択ロジックを改善
- 古活字画像のガンマ補正機能を追加
- 1ページの行数を指定して基本版面を背景画像(紙面)の天地左右中央にレイアウトする機能を追加([展覧会]慶應義塾ミュージアム・コモンズ×飯沼観音圓福寺「嵯峨本の誘惑:豪華活字本にみた夢」向け特設ページで利用可能)
 
- 2024-04-10古活字画像ID指定機能、生成画像のツールチップとボーダー表示機能、古活字画像の位置調整機能を追加
- 2023-12-06「プロフェッショナル版」(v1.1)として公開(旧「機能追加カスタム版」はこちら)
- 2023-10-02「機能追加カスタム版」に名称変更
- 2023-09-18「白色雲母摺模様本文料紙版」(v1.0)として初公開
