📜 《伏尼契手稿》结构分析

🔍 概述

这始于一个个人挑战,旨在弄清楚现代 NLP 能告诉我们关于《伏尼契手稿》的哪些信息 —— 而不陷入翻译猜测或模式幻觉。我不是语言学家或密码学家。我只是想看看像 Voynichese 这样奇怪的东西是否能在真正的语言建模下成立:聚类、词性推断、马尔可夫转换和特定章节的模式。

剧透:它确实成立了。

这个 repo 介绍了所有内容 —— 从后缀剥离到 SBERT 嵌入,再到构建词典假设。没有魔法,没有 GPT 猜测。只是对该手稿是否具有_表现得像语言的结构_的怀疑性测试,即使我们不知道它在说什么。

🧠 为何这很重要

《伏尼契手稿》仍然无法破译,没有一致的语言或密码学解决方案。 传统的分析通常分为两个阵营:统计熵检查_或_疯狂猜测。 本项目提供了一条中间道路 —— 使用计算语言学来评估该手稿是否编码了真实的、结构化的类语言行为。

📁 项目结构

/data/
 AB.docx                     # 带有页码/行标签的完整音译
 voynichese/               # 词根 .txt 文件
 stripped_cluster_lookup.json # 每个剥离词根的聚类 ID
 unique_stripped_words.json   # 所有剥离后的词根形式
 voynich_line_clusters.csv    # 每行的聚类序列

/scripts/
 cluster_roots.py            # SBERT 聚类 + 后缀剥离
 map_lines_to_clusters.py    # 将手稿行映射到聚类 ID
 pos_model.py              # 从聚类行为推断语法角色
 transition_matrix.py          # 构建和可视化聚类转换
 lexicon_builder.py           # 按章节和角色创建候选词典
 cluster_language_similarity.py # (可选) 将聚类与真实世界的语言进行比较

/results/
 Figure_1.png              # SBERT 聚类(PCA 降维)
 transition_matrix_heatmap.png # 马尔可夫转换矩阵
 cluster_role_summary.csv
 cluster_transition_matrix.csv
 lexicon_candidates.csv

✅ 主要贡献

🔧 预处理选择

我做出的最重要的假设之一是如何在聚类之前处理 Voynich 单词。 具体来说:我从每个单词中剥离了一组重复出现的类似后缀的结尾 —— 诸如 aiin、dy、chy 和类似的变体。 目标是隔离看起来像是带有变化的重复词根形式,假设这些后缀可能是:

这确实改善了聚类行为 —— 相似的词干更紧密地聚集在一起,并且转换矩阵显示出更清晰的结构模式。 但这也是一个强烈的预处理决策,可能会:

所以它不是中性的 —— 它有帮助,但也塑造了结果。 如果有人想 fork 这个 repo 并重新运行没有后缀剥离的 pipeline —— 或者将后缀视为它们自己的 token 类 —— 我将真正有兴趣进行比较。

📈 主要发现

🧬 假设

该手稿使用音节填充和位置重复来编码结构化的构造或助记语言。 它表现出句法、功能/内容分离和章节感知的语言变化 —— 即使在没有直接翻译的情况下也是如此。

▶️ 如何重现

# 1. 安装依赖
pip install -r requirements.txt

# 2. 运行 pipeline 的每个阶段
python scripts/cluster_roots.py
python scripts/map_lines_to_clusters.py
python scripts/pos_model.py
python scripts/transition_matrix.py
python scripts/lexicon_builder.py

📊 示例可视化

📌 图 1:SBERT 聚类嵌入 (PCA 降维)

Cluster visualization

📌 图 2:转换矩阵热图

Transition matrix heatmap

📌 局限性

✍️ 作者说明

这个项目是为了学习而构建的 —— 关于 AI、NLP 以及结构化分析可以在不假设您所看到的内容的情况下为您带来多大的帮助。 我不是来破解 Voynich 的。 但我确实相信,使用现代工具对其结构进行建模比希望翻译或学术驳斥要好。

所以如果你来这里是为了寻找罗塞塔石碑,那你就不走运了。

如果您来这里是为了为一个可能不想被建模的语言建模 —— 欢迎。

🤝 欢迎贡献

该项目对扩展、批评和协作持开放态度 —— 尤其来自语言学家、密码学家、人造语言爱好者和计算语言研究人员。