caimmy 考古学败类! 劝君更进一杯酒,与尔同销万古愁。

历史文献中的“态度”

历史文献中的“态度”

近期在针对二十四史进行语料库建设,在训练词向量的过程中,发现针对同一个词,不同的文献训练出的相似词带有明显的情感 倾向,比较有意思,记录如下。

一、 文本整理与词向量训练

本文中训练词向量采用的是python的gensim包,针对二十四史分别与公共新闻文本库混合进行训练。这样可以既可以满足训练所需要的 大文本要求,又能避免不同历史文献同名词汇的相互干扰。训练过程采用了skip-gram 算法,窗口宽度为10,100维向量空间。词向量的 概念此处不予详细解说,可参考 word2vec

二、 不通文献对人物的态度 汉代的历史人物,其人物事迹、历史形象为人们广为熟知,我尝试选取《汉书》、《后汉书》、《三国志》、《史记》四本书,对比研究几个主要 历史人物的前100个近似词,以期能够看出不同文本在叙述同一历史人物时在书写上的倾向性。

1、刘邦

《汉书》

刘邦-《汉书》

原始链接

《后汉书》

刘邦-《后汉书》

原始链接

《三国志》

刘邦-《三国志》

原始链接

《史记》

刘邦-《史记》

原始链接

以上针对“刘邦”的词向量比对,可以看出不同历史文本在叙事描述上的主观倾向性。

其中成书于东汉的《汉书》中,与“刘邦”关系最近的词汇中, 褒义词和正面描述词汇极多,其中关系最近的词汇是“高祖”,其次“行赏”、“重建”、“崛起”、“盛名”、“神庙”等词汇近似度极高。 且词汇所表现的历史事件多集中在汉朝建立前。

从《后汉书》的分析结果来看,与“刘邦”一词关系接近的词汇和《汉书》基本一致,表明在叙事上面并没有大的改变,但是词汇中出现了更多 的明显表现汉帝国成立以后的叙事词汇。

《三国志》中反映出来的相关词汇则显示了大量的贬义、负面情绪的词汇,展示了作者叙事情绪对比两汉书时的反转。

成书最早的《史记》则表现出了最客观的态度,强相关词汇以关键地名和名词为主,从相关词中能够基本了解到刘邦政治生涯中的关键事件和关键地点。

类似的情绪倾向可以参考比对其他关键词进行思考,可以提示一些有意思的看法。如 “项羽”、“韩信”。

其中“韩信”一次,可以从词向量亲疏关系中明显看出,在两汉书中,韩信的故事叙述主要和同时期同等地位的人相提并论,而《史记》中则主要放到与两大 政治集团首领:刘邦、项羽的叙事故事中进行描述, 在《三国志》中,与“韩信”关系极近的词,由人名变成了地名和大量的描写心理的词汇,如“疑惑” 、“羞愧”、“稳重”、“迟疑”、“无能为力”、“随机应变”等,暗示着在三国志中提到“韩信”时,韩信已不再作为故事主人翁被讲述,而是用于比较参考的一个对象。 回到原书中进行比较阅读,确实如此。

词向量的查询工具已经发布到 史前,可以拿自己感兴趣的词进行尝试。后续会逐步完成全部二十四史的词向量模型。

历史文献与知识图谱 1

历史文献与知识图谱 1

知识图谱(Knowledge Graph),在图书情报界称为知识域可视化或知识领域映射地图,是显示知识发展进程与结构关系的一系列各种不同的图形,用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系。

  历史文献研究也是文本研究,基于自然语言处理的文本分析技术理所当然有用武地。作为尝试,作者在进行自然语言学习的过程中,尝试以《二十四史》为文本材料,进行知识图谱自动构建,并以自动构建的结果加以人工分析和校正。

  系统首先通过神经网络模型(该模型的构建另文介绍),对翻译成现代白话文的《二十四史》文本进行检索,逐句进行分析,从单句中抽取简单的实体及关系,形成知识图谱三元组。自动抽取出的知识图谱三元组会存放在数据库中,等待进一步的人工审核。

  需要改进的地方:

  • 知识图谱的三元组抽取是个硬核算法,需要提升的空间很多,比如跨句联系上下文进行关系抽取、需要更高效更准确的进行命名实体识别、需要更丰富的自定义词典。。。;
  • 知识图谱的UI呈现;
  • 知识图谱和搜索引擎的配合工作;

  目前配合着这个系统,我准备在2020年开始逐本通读《二十四史》,以校验知识图谱为目标,作为坚持阅读的动力。。。

开始接触React

开始接触React。从 Antd 入手,了解react机制,了解typescript,同时在学习CocosCreator中熟悉typescript语法。

机器学习实战

从scikit-learning到tensorflow

Sencha ItemId 使用不当一则

在使用Sencha(ExtJS6)的过程中遇到一个诡异的问题。

往TabPanel中添加一个Panel,添加的时候设置Panel的itemId,为了省事,直接用uuid生成的编号作为itemId的值。

诡异的事情发生了。 浏览器报错 : 

这个错误并不是每次必报,偶尔发生。刚开始怀疑是某些资源没有清理,但又找不到具体的问题。把itemId改为id,故障依然。最后跟踪代码,找到抛出异常的这段代码:

        //<debug>
        if (!me.validIdRe.test(me.id)) {
            Ext.raise('Invalid component "id": "' + me.id + '"');
        }
        if (!me.validIdRe.test(me.itemId)) {
            Ext.raise('Invalid component "itemId": "' + me.itemId + '"');
        }
        //</debug>

跟着查看了一下的值:

        /^[a-z_][a-z0-9\-_]*$/i

明白了,itemId和id只能是字母或下划线开头。为itemId加个字母前缀,问题解决!

R中的检验

卡方检验

列联表数据中,行变量和列变量之间的独立性检验: chisq.test()

t检验

连续型变量的组间比较(假设服从正态分布),对均值相等的检验

独立样本的t检验 t.test(x~y)

非独立样本的t检验 t.test(x~y, paired=TRUE)

多于两组的比较 -> ANOVA(一元方差分析)

史前数据采集系统

SAE -> NGROK

  sae不靠谱,免费用户说关闭就关闭了。还好有NGROK神器,帮我把网站从内网映射了出来。

这次担当主力的计算设备是树莓派3,担当数据总管任务的是一张32GTF卡。200块大洋的设备使我能够在家里边看资料,边录入数据。效率可能不高,原因在于私网穿透的低效率和设备计算处理能力的低下。

没关系,能用就好。 JUMP TO PREHISTORY

史前数据框架

  经过断断续续一段时间的敲打,“史前”工具基本上已经完成了数据管理相关的功能。能够放心的在线编辑和管理一些重要的数据了。

考研:一曲忠诚的赞歌

在豆瓣上看到一则评论,笑死我了。

  国家养研究生,盖同宋代养冗兵之意。养一百七十万研究生,则社会少一百七十万无业游民。且现在多是自费,国家不花分毫,仅一纸文凭,而买得海晏河清。这种制度设计,还有考研的人舍己为人的情怀真是令人激赞。

什么也别说,祖国知道我

laugh

纹饰与类型

  在考古类型学研究中,器物纹饰是一种重要类型判别指标,大量的论文和报告在做类型学分析时,都会考虑单列纹饰,在划定相对年代关系时,将不同时期纹饰的差异作为重要的划分因素。
  但是我们往往忽略了一个问题,即纹饰首先是陶制器物的一个属性,其次才是具有独立特征的一种__样式__, 如果离开陶器这个载体,纹饰将不复存在。那么纹饰在类型学研究中是否应该具有和陶器型制相同的地位呢?或者是纹饰研究应该在型制研究的基础上进行?要回答这个问题需要首先检验一个假设,假如陶器的纹饰和型制没有相关性,那么在类型学研究中,纹饰和型制应该具有相同的研究价值,如果陶器的纹饰和型制具有显著的相关性,那么纹饰的数量关系应该从属于型制的数量关系,换句话讲,型制的数量关系揭示出文化的差异性后,才能在纹饰基础上展开更微观的差异性研究。更直白一点的讲,如果陶器的类型和纹饰有显著型的相关关系,那么纹饰的数量关系会收到田野发掘中采集到的陶器类型的强烈影响,类型学研究应该首先针对陶器类型进行,在此基础上在对统一类型的陶器做纹饰差异性研究。
  否则,混淆一团的类型学研究不会有统计意义,不会有说服力,永远都是充斥着各种意见。hey

Jekyll 的第一篇

2015元旦快到了,希望能确立方向,顺利开题!