- ヴォイニッチ手稿の言語構造を、SBERT など最新の NLP 手法で分析したオープンソースプロジェクト
- 接尾辞の除去とクラスタリングなどに重点を置き、偽のパターンではなく実際の言語に類似した構造があるかを検証
- 機能語と内容語の役割、遷移行列など多角的な構造分析の結果、有意なパターンが観察された
- 従来の統計的あるいは推測中心のアプローチとは異なり、計算言語学の手法で構造的な言語特徴の分析を試みている
- 意味の翻訳を試みず、構造的モデリングのみに集中したプロジェクトで、追加研究や比較実験が可能
📜 ヴォイニッチ手稿構造分析プロジェクトの紹介
🔍 概要
- このプロジェクトは、現代の 自然言語処理(NLP) ツールを活用して ヴォイニッチ手稿の構造を分析しようとする個人的な実験として始まった
- クラスタリング、品詞推定、Markov 遷移、セクション別パターン抽出など、実際の言語モデリング手法を適用している
- 意味解釈や翻訳の試み、あるいは誇張されたパターン推定を行わず、言語のように機能する構造の有無のみを検証する
- 接尾辞の除去、SBERT 埋め込み、語彙仮説の生成など、すべての段階が公開されている
🧠 意義
- ヴォイニッチ手稿は、いまだ解読されていない謎の文書であり、言語学的/暗号学的な解法が存在しない
- 従来の分析は、統計的エントロピー検査と非科学的な推測に二分されがちだった
- 本プロジェクトは 計算言語学に基づき、実際の言語に似た 構造的パターンの有無を中立的に探究する
📁 プロジェクト構成
- /data/
- 手稿全体の転写、ルート単語の種類、クラスタ ID、除去された接尾辞の一覧、各行のクラスタ系列などのデータを提供
- /scripts/
- SBERT ベースの単語クラスタリング、品詞予測、Markov 遷移行列の構築、語彙候補の生成など、主要な分析スクリプトを提供
- /results/
- クラスタの可視化、遷移行列ヒートマップ、クラスタ別サマリーなどの分析結果を提供
✅ 主な貢献内容
- 多言語 SBERTで接尾辞を除去したルート単語をクラスタリング
- 機能語に類似したクラスタと内容語に類似したクラスタを区別
- Markov 方式による クラスタ遷移構造 のモデリング
- セクション別の構文構造(例: Botanical, Biological など)の分析
- データ駆動の語彙仮説テーブルを生成
🔧 前処理の判断
- クラスタリング前に、反復的な接尾辞(例: aiin, dy, chy など)を除去した
- これにより単語の ルート形 を抽出でき、クラスタの集中度や構造パターンがより明確になった
- 接尾辞は 音韻的な埋め草、文法素、暗唱、反復、あるいは無意味なノイズである可能性がある
- ただし、この選択には 形態素情報の損失、意味のある活用情報の隠蔽、機能語バイアス などの限界がある
- 接尾辞除去なしの比較実験にも価値があり、誰でも派生実験を行える
📈 主な分析結果
- Cluster 8: 出現頻度が非常に高く、多様性が低く、行頭に頻出 — 機能語クラスタの候補
- Cluster 3: 多様性が高く、位置の自由度が高い — ルート内容語クラスタの候補
- 遷移行列: ランダム性から大きく離れた強い内部構造
- クラスタおよび品詞パターン: 手稿のセクション(例: Biological, Botanical など)ごとに異なる
🧬 仮説
- この手稿は、音節反復と位置的反復を活用した 構造化された人工/記憶補助言語である
- 構文、機能語/内容語の分離、セクションに反応する言語遷移など、明確な言語的構造を示している
📊 可視化例
- Figure 1: SBERT クラスタ埋め込み(PCA による次元削減)
- Figure 2: 遷移行列ヒートマップ
📌 限界
- クラスタ-単語マッピングが間接的であるため、頻度推定に重なりが生じる現象がある
- 接尾辞除去の基準はヒューリスティックであり、実際に意味のある語尾も失われる可能性がある
- 意味解釈は試みず、構造分析のみに集中している
✍️ 著者メモ
- AI、NLP、構造分析の学習を目的として始めたプロジェクト
- 手稿の解読自体を目標にするのではなく、最新ツールで構造を理解することのほうが建設的だと考えている
- Rosetta Stone 式の解読への期待よりも、「モデリングそのものに意味がある」という考えに関心のある人を歓迎する
🤝 貢献案内
- 本プロジェクトは、言語学者、暗号学者、人工言語研究者、計算言語学コミュニティの協業と拡張を歓迎する
1件のコメント
Hacker Newsのコメント
PCA射影の中でクラスタを探しているのが見えた — もっと深い構造を探すなら、PaCMAPやLocalMAPのような新しい次元削減アルゴリズムを勧めたい。私は Pol.is という意見調査ツールのデータを取り込み、PCA の代わりにこうした次元削減アルゴリズムで再投影するプロジェクトを進めている。こうした新しいアルゴリズムが、以前は見えなかった洞察を与えてくれることに感心している。グループを色分けして視覚的に表現した結果もあるので、デスクトップで確認してみてほしい。Pol.is が何か気になるなら、関連記事も勧める
ここで使われたテキスト埋め込みモデルは
paraphrase-multilingual-MiniLM-L12-v2で、約4年前のモデルだ。自然言語処理の世界では、このくらいでもかなり古いモデルになる。最近の LLM の発展によって、埋め込みモデルの情報表現力と埋め込み空間内での識別能力は劇的に向上している。多言語対応を目的としていない最新の埋め込みモデルでさえ、この種のデータで優れた性能を示す。したがって、比較的あまり知られていない言語である Voynich Manuscript に対しても、より良い性能を示すかもしれない。従来の NLP 手法(接尾辞の除去、品詞識別など)は、むしろ必要な文脈情報を失わせて埋め込み品質を下げる危険があると思うparaphrase-multilingual-MiniLM-L12-v2を選んだが、今の基準では古いモデルなのは確かだという点には同意する。all-mpnet-base-v2やtext-embedding-ada-002のような新しいモデルで、接尾辞も保持したままフルコンテキスト埋め込みを試せば、もっと面白い結果が出そうだ。あなたの指摘のおかげで、次の反復で前向きに検討する気になったNLP にはあまり詳しくない。比較対象を統制する形で進め方を検証するのが妥当かどうか気になっている。たとえば、人に言語のように見えるが実際には言語ではない文を書かせて、同じ手順(接尾辞削除、クラスタリングの試行など)を通したら、似た結果が出るのか知りたい
UMAP や t-SNE で分析するとよいと思う。たとえ PCA ですでにきれいに分離できていたとしてもだ。各クラスタを相互参照してマッピングするのも、分析に変動性が残っていないことを示す良い方法に思える
私はこの仮説がいちばん興味深いと思う。ある著者が Voynichese をゲルマン語派の言語とみなして、かなりの進展を遂げたように見える。ウラル語派やフィン・ウゴル語派だという主張も見たことがある。あなたの方法論はとても良いと思うし、特定の語族を対象にカスタマイズして適用すれば、さらに良い結果が出るのか気になる
私はこれが古いトルコ語だと思っていた
README で見落としたのかもしれないが、「単語」の初期エンコーディングをどう行ったのか気になる。たとえば
okeeodairのような単語を、どうやって元の記号へ再マッピングするのか知りたいokeeodairのような単語は EVA 転写ファイルから直接来ている。EVA(European Voynich Alphabet)体系に基づいて、元の Voynich 記号を ASCII に対応付けた結果だ。今回のプロジェクトでは、記号そのものを扱うというより、EVA 転写ベースの単語をそのまま利用している。データセットにokeeodairがあるなら、誰か(専門家)がその記号の組み合わせをその名前で呼ぶことに合意したということだ。転写についての情報はこのサイトで見られる私が想像するのは、もしそれが単なる無意味な落書きで、暗号文ですらないのだとしたら、写本という性質上、スタイル、筆跡、使われる単語、さらには文字そのものまで、最初のページから最後のページまで変化していくはずだということだ。もちろんページ順が入れ替わっている可能性はあるが、何らかの違いは見えるはずだと思う。著者が似たスタイルで何十冊も書いていて、それがすべて失われたのでない限り。新しいアイデアではないが、こうしたパターンの分析が行われたことがあるのか気になるし、ページ間の一貫性についての言及は見たことがない
「ブルートフォース」方式で解読するには、どれほどの資源が必要なのか気になる。たとえば、既知の言語の単語と一つずつ対応付けてスコアを高めていくような、明確な手順をたどるのはどうだろうと考えている
既知の言語の同程度の分量のテキストで分析したときにも、似たパターンが出るのか気になる。別の言い方をすると、この分析手法をさまざまな種類のテキストに適用することで、この文字体系が何を意味するのか理解する助けになるのかを尋ねている