网站客服:zx81024163 |

用文本挖掘剖析近5万首《全唐诗》,发现了这些有趣的秘密

2024-10-27 16:06:53发布    浏览278次    信息编号:193688

友情提醒:凡是以各种理由向你收取费用,均有骗子嫌疑,请提高警惕,不要轻易支付。

用文本挖掘剖析近5万首《全唐诗》,发现了这些有趣的秘密

楔

近年来,弘扬中华传统文化的现象级综艺节目不断涌现,如《汉字听写大会》、《中国成语大会》、《中国谜语大会》、《中国诗词大会》等。它们是人们崇拜的中国文化中最精美的文字。尽管他们沉浸在网络无穷无尽的词汇中,常常面临“语言沙漠”的困境,但他们仍然向往。

在上述节目中,笔者最感兴趣的是“中国诗词大会”——通过诗歌知识的竞赛和鉴赏,带动全民重温所学的古诗词,分享诗歌之美。 ,感受诗词的趣味,向古人学习,从智慧和感情中汲取营养,滋润心灵。

由于我在新浪微舆情从事语义分析产品的工作,所以平时会用到很多文本挖掘的方法。因此,作者想从文本(数据)挖掘的角度“探索”所有唐诗,挑战一些不同场景(现代汉语和古汉语)文本处理和分析的异同,磨练自己的分析能力;但我更想做的是,将数据之美与诗歌之优雅结合起来,用跨界思维去发现一些有趣的东西。

这里,笔者分析的语料库是《唐诗全集》,编撰于清康熙四十四年(1705年),收录诗歌48900多首。

接下来,笔者将运用多种文本挖掘方法对《唐诗全集》进行分析。以下是本文的上下文:

0 文本预处理

对于现代中文分词,有很多开源/免费的解决方案或工具。开源解决方案如Jieba、HanLp、He等,“傻瓜式”免费运营工具还包括新浪微舆情文本挖掘工具。如果直接使用这些现代汉语分词工具对古诗词进行分词,结果会是这样的:

但古汉语(文言)尤其是诗歌的分词处理就没那么简单了,因为单字词占古汉语词汇统计信息的80%以上。另外,古汉语义小千字,因此对于现代汉语来说分词技术往往不适合它。针对这种情况,作者采用逐词切词的方法,同时去掉一些常见的虚词,如“之”、“胡”、“者”、“也”等。分词和去停用词处理如下:

文本预处理之后,就可以进行文本挖掘中最常见的分析——词频统计,看看哪些词在《全唐诗》中出现的频率最高。

1.字频分析:唐诗中常用高频字分析

1.1

全球高频词

首先我们看一下去掉这些虚词后的全局高频词。作者在这里展示了它们。 “人”字排在第一位,体现了《说文解字》中所说的“天地之性以人为贵”,说明唐诗很好地继承了中国人“以人为本”的思想。文化。随后的“山”、“风”、“月”、“日”、“天”、“云”、“春”等都是描写风景的诗词中经常出现的意象。

1.2

典型图像分析

所谓“形象”,就是创作主体独特的情感活动所创造的艺术形象。简单地说,图像就是含有“意义”的“形象”,是用来表达主观感受的客观对象。在比较文学中,意象的名词解释是——所谓“意象”,简单来说就是主观“意”与客观“象”的结合,即融入诗人思想感情的“物象”。 。赋予某种特殊意义和文学意义的特定形象。简单来说,就是通过借物来表达情感。

例如,古诗词中常见的“月”意象,有以下含义:

我在这里选择的图像是关于季节和颜色的。

秋物易变星数变——《全唐诗》中的季节

统计《全唐诗》中“春”、“夏/夏”、“秋”、“冬”四个字的出现频率,“春”字排名第一,“秋”字排名第一第二,“夏”字位居第二。唐诗中,伤春、惜春是春天诗的常见题材。代表作有朱淑珍的《赏春》、杜甫的《立春》、韩愈的《春》等。难怪商代和西周初期,年份只分为春秋两个时期。后人也经常用春秋作为年份的名称,这两个词使用频率很高也就不足为奇了。

万千红万绿——《全唐诗》中的色彩

作者在这里找到了51个古代语言中常用的颜色词(注意是古代汉语语境中的颜色名称),其中红色的(红、赤、朱、红、绛等)、黑色系列(深色、深色等、黑色、深色、墨色等)、绿色系列(绿、绿、绿、蓝等)、白色系列(白、素、亮、豪等)主要使用。这些颜色及其对应的词频如下表所示:

“白”字在这里出现频率最高,其本义是“日出和日落之间天空的颜色”。作者常用的词语有“白发”、“白云”、“白雪”,往往渲染出时光飞逝、气氛苍凉的感觉,有“白发被刮得更短,钗满欲”、“白雪来不及春,故飞院中树”、“若不见,高堂明镜悲白发,早上看起来像蓝色的丝绸,晚上变成雪。” ,“白云悠悠远去,清风浦上无忧愁。”

综合统计以上主要色系,会得到如下圆形比例图:

其中,绿色系占大多数。 “绿”、“蓝”、“绿”、“翠”多用来形容景色。 “绿树”、“碧水”、“青松”、“绿柳”等,这些高频的人物从侧面反映出了描写风景、抒发山水情怀的诗词中所占的很大比例。唐诗,流露出一种平静、清新、闲适之感。

2、词汇检测:发现唐诗中常用的二字词

笔者只是分析单个汉字,汉语中的语素大部分都是用单个音节(字)来表示的,也就是所谓的“一音一义”。当这些单音节语素可以独立使用时,它们就是单词。古汉语中有很多单音节词,这就是为什么在文言翻译中经常需要将一个词翻译成现代汉语的双音节词。

但有些单音节语素不能独立使用,因此它们不是词,只能是语素,如“希-”、“-人”。

鉴于此,笔者想找出一些唐诗中常用的二字词,看看其构词规则是怎样的。这里,作者选取了共出现次数超过10次的单词,列出了同时出现的二字词。关键步骤如下:

以下是同时出现的二字词:

从上面的两词检测结果中,作者可以发现以下6种构词规则:

(1)复合式(A+B等于C):由两个字符组成,分别代表含义,构成一个双音节词。这类词出现的频率最高。例如,兄弟、铁砧杵、纪律、祭祀、巡猎、犬吠等。

(2)重叠公式(AA等于A):浪浪、苏苏、欣欣、卓卓。

(3)重叠音(AA不等于A):(单独拆开后不能与其他单词组合)、de(拆开后的单词含义不同)等。

(4)双声(声母相同):犹豫(声母都是c,不能单独成词)、锯齿(声母都是c)、绵妙(声母都是c)米)。

(5)叠韵(韵母相同):艾兮(韵母为i)、缠绵(韵母为ao)、妖娆(韵母为ao)等。

(6)二音节象声词:拦混、咔巷等。

3. 语义网络分析:发现唐诗中常用的“词”

在这一部分中,作者提取了上述高频词中单词的共现关系。详细的原理介绍可以参考作者之前写的博文。

可以看到,上述语义网络可以分为三个簇,分别是橙色、紫色和绿色。高频词中,有近40个在字体中清晰可见。圆圈的大小表示该词在语义网络中的影响力,即“(介数中心性)”,用学术术语来说就是“两个不相邻成员之间的交互依赖于网络中的其他成员,尤其是那些成员”位于两个成员之间的路径上,对两个非相邻成员之间的交互有一定的控制和限制。”在诗歌中,这些词常常以“词”的形式呈现,是诗中的精华词。在类别 3 中:

橙系:贝、柳、马、草、鲜、谷、风、韵等;

紫色系列:旅行、树、雨、归、笑、言、静、清、白、野、行走等。

绿色:知识,金,柳,困难,悲伤,老,仙,希望,客。

其中,从人物构成来看,绿色簇中的人物大多与告别(朋友)有关。

4.词向量分析:基于相关词分析

因为前面的文本预处理是按词进行分词的,所以这里做的是基于词向量分析的。

基于词向量,可以从大量未标记的普通文本数据中无监督地学习词向量,并且这些词向量包含单词之间的语义关系,就像现实世界中的“物以类聚”。同样,单词可以由它们周围的单词来定义。

原则上,词嵌入是将一个维度为所有单词数量的高维空间嵌入到一个维度低得多的连续向量空间中。每个单词都映射到实数域中的一个向量。将每个单词变成向量的目的是为了方便计算。例如,“查找单词A的同义词”可以通过“在cos距离下查找与单词A最相似的向量”来完成。可以找到相关案例。下图是基于词向量模型的示意图。

接下来,作者选取一些单词进行词向量相关性分析,如下图:

与“梅”相关的词语大致可分为两类:同属植物,如梅、杏、梨、桃、榴莲、杨、柳、楝等;与“梅”相关的图像,如春(梅)、梅(酒)、(梅)花、(梅)枝、(梅)渣、(梅)尖等,最相关的是“春”,咏春梅花,在唐诗中很常见。圣相宋璟在东川官邸看到榛树上盛开的梅花。归来后,他感动不已,写下了《梅花颂》,其中“早春无双”、“天既然最好”,我佩服早春里的梅花,佩服它们的命运。在寒冷中绽放。

“静”字与其同音字“静”(繁体字共出现三次,即“静”、“静”、“静”)关联性最大”,结合“坐”、“元” ”和“梵天”等“净缘”(佛寺,又称“净宇”)、净觉(指心无妄想,不为环境所迷惑)等字眼,也说明了最能体现宁静的地方。唐诗还在寺院里修行禅学,学习佛法。

笔者还想看一下唐诗中经常出现的情绪,即“悲”、“哀”、“哀”、“怒”、“恐”,看看它们的相关词是什么。这里请读者自行分析,我不再赘述。

需要注意的是,作者将对这里获得的情感相关词进行收集整理,创建情感词典,用于后续的诗歌情感分类。

5.多维情感分析:发现唐诗“七情”

王国维在《人言》中曾提到:“境界不单是景物,喜怒哀乐也是人心的一种境界。故能描绘真景真情者,谓之”。有境界……”他讲的是““景”和“境界”是可以互换的——描写风景也可以成为一种境界,浪漫也可以成为一种境界,因为风景是外在的世界,所以,在这里,笔者想分析的是整个唐诗所表达的内心境界,即内心的情感,为了丰富分析的维度,我不采用简单的方式。二元分析,即“正”和“负”两种情绪,是对7种细粒度情绪的分类,即悲伤、恐惧、喜悦、愤怒、思索、喜悦、悲伤。

基于上面得到的词向量,经过人工选择,就得到了可以用于训练的“情感词典”。根据诗歌中常见的主题类别,情感类别分为:

哀:悲痛、哀悼、痛苦、守寡、忧伤、悲伤、叹息……

恐惧:诽谤、诽谤、麻烦、罪恶、欺诈、恐惧、诬告……

乐:欢乐、欢乐、欢乐、欢乐、和谐、顺利、愉快……

怒:怒、雷、吼、雷、雷、凶、轰……

思:思、记、惜、恨、念、相会、期待……

习:快乐、健康、美丽、恭喜、好、好、善良……

忧:怜、哀、病、忧、困、忧、不幸……

作者这里使用了基于LSTM(-Term,长短期记忆网络)的情感分析模型。

这里我们将文本传递到嵌入层(Layer),因为有数万个单词,所以我们需要比单编码向量(One-Hot)更高效的表示来输入数据。这里,作者将利用上面训练好的词向量模型,利用预训练的词嵌入()引入外部语义信息来做迁移学习()。

下面是简要原理图:

为了达到更好的效果,作者采用最新+深度学习模型进行情感判断。可以更好地提炼文本中的特征和词序信息,记住更长的语义依赖关系,做出更准确的情感。法官。其网络结构如下:

接下来我们来试试实际效果:

作者随机测试了100个句子,判断正确的有86个。粗略准确率估计为86%。当然,这只是一个小小的、并不严谨的尝试。在真实的业务场景中,需要花费大量的时间来优化和提高模型的准确性。

以下是《全唐诗》中近5万首诗的情感分析结果,如下图:

或许让很多人惊讶的是,代表盛唐气息的唐诗应该是以积极向上、昂扬的情感为主。 “悲伤”、“思考”、“担忧”等情绪怎么能占主导地位呢?但“喜悦”、“喜悦”这样的情绪却占据了最低的位置?

接下来,笔者将重点分析“悲伤”情绪占主导地位的原因。

就唐诗常见的写作题材而言,以“悲”为基调的唐诗不少,名句名句也不少,比如唐诗中常见的几种情结,如“悲秋情结”、“悲秋情结”、“悲秋情结”等。 “分离情结”、“暮色情结”和“悲伤情结”都体现出浓重的“悲剧”色彩。

古人云:“诗出自悲愤”。它指出一个人的成就与其所处的环境、心态有一定的关系。正如司马迁所说:“《诗》、《书》的模糊,是为了成全他的野心。 昔日,西伯居由礼,演《周易》;孔子、陈蔡,着《春秋》。” ……大多都是有德行的人,这就是圣灵在愤怒中所做的事。” 回顾国内外的著名诗人和作家,几乎都是这样。曾经历过一段被排斥、被诽谤、受挫、面临逆境的时期。有些经历甚至是悲惨的。他就是在这样的悲剧和恶劣的环境下努力工作的。

重要的是,唐诗中的“悲”不仅仅是为“儿女”的悲哀,更是超越时空、同情苍生、同情最美好的爱情的大悲悯。 。如下:

6. 诗歌生成:利用深度循环神经网络自动写唐诗

与上述情感分析模型所使用的内部原理一致,这里使用的是2层网络LSTM。

上图是文本生成的简要示意图,文本生成是基于字符(字母、标点符号等单个字符串,以下统称为字符)的,也就是说我们的输入和输出都是字符。例如,如果我们有一首诗“我胸口的稳定之地是我的家乡”,我们想根据这首诗构建一个LSTM,那么期望的结果是,如果我们输入“胸口”,就会预测下一个字符为“中””;当输入“中”时,预测下一个字符为“稳”……当输入“武”时,预测下一个字符为“祥”,以此类推。

由于原理过于复杂,涉及大量代码和数学公式,作者仅展示生成的结果。训练语料为预处理后的《全唐诗》。

以“春雨”开头,生成一首500字的诗。结果如下:

可见其中的诗大部分都是围绕“春”展开的,即前两个词引导后续结果的产生。这要归功于LSTM超强的“记忆能力”——记住诗歌文本序列中的单词。时空依赖性。

生成的诗词中,有一些相当有趣,上下联的图像之间有很强的关联性。

以下是多代人产生的比较好的诗句(当然这是我的想法),其中有一些学到了高级对抗技巧,如下:

白鹭惊孤岛,红旗晚飘。

作者最喜欢的是这两句对比鲜明的句子:“白鹭”——“诸七”,“孤岛”——“万柳”,“荆”——“楚”。这体现了《人言》中的“无我境界”:“在无我境界中,以客体来观察事物,所以不知道谁是我,什么是客体”。这就是意境交融、物我一体的美好境界。 “精”、“楚”两个字堪称文字,很有动感,措辞完美!

7.相似文本检索:使用WMD查找相似诗歌

最后我们看一下诗歌信息检索的问题,即作者随机输入一首诗,然后机器会根据语义相似度在《全唐诗》中检索出一批符合要求的诗歌。

说到这里,笔者不禁想起​​了一个词——“舍甫”。舍甫游戏早期的玩法主要是猜灯谜,用盆、碗预先藏东西让人猜。这两个技巧都相对简单。后来,在此基础上,诞生了一种间接、曲折的语言形式的射击游戏。方法是用相连的词、句来暗示事物,使人猜测。如果射击者无法猜测或猜测错误,则猜测者会做出错误判断。如果枪手猜中,他将被处以酒精罚款。唐浩明的小说《张之洞》对射击游戏有精彩的描述:

宝珠坡突然对众人说道:“我有一枪,你们谁能射得出来?”不问任何人,他立即说道:《左传》说:薄姬归还宋朝。拍摄一首唐诗中的一句。众人低头思考。

...

张之洞平静地读着,白居易的诗曰:老板娶了商人的妻子。

如果你不熟悉中国古代文学,可能很难把这两句话联系起来,但《张之洞》中有一段解谜的描述:

杨锐道:“薄、仲、叔、姬,这是华夏兄弟姐妹的排行顺序。薄姬是鲁国的长公主,也是长女。周萍萍镇压武庚叛乱后,封了这一带。”商周旧都至商周。

你可能会想,你自己想想,不仅要有渊博的知识,还要有闪电般的反应能力。这一定是一个极其聪明的人!

试想一下,机器能做好吗?如果是的话,会怎样做呢?

这里,作者介绍了基于WMD(Earth Mover's)的语义相似度算法,与上面的情感分析类似。它还利用之前训练好的词向量模型,利用外部语义信息来处理不同同义词的词的情况。

WMD('s)是一种使机器能够以有意义的方式(结合文本的语义特征)评估两个文本之间的“距离(即文本之间的相似度)”的方法,即使两个文本不包含常用词汇。它使用基于 K 的词向量,并且已被证明在 k 最近邻分类中优于许多最先进的方法。以下是基于WMD的“射击”机器方案:

上面的两个句子没有共同的词汇,但是通过匹配相关单词,WMD 能够准确地测量两个句子之间的相似度。该方法还采用了基于词袋模型的文本表示方法(简单来说就是文本中单词的出现频率),如下图所示。该方法的直觉是最小化两段文本之间的“行进距离 ( )”。换句话说,这种方法是将文档A的分布“移”到文档B的分布上的最有效的方法。

在简单解释了相关原理后,作者展示了最终的分析结果。因为对《妖猫传》中线索式的《清平乐》印象深刻,所以作者让机器在《全唐诗》+《》中搜索与其相关性最大的TOP9诗歌皆宋词”。结果如下:

最上面的搜索结果是原句,只是一个字有区别(其实“花”和“花”在古汉语中是可以互换的,而繁体字是表意字,原义是“花”)。细微的差异导致缺乏相似性。是 1.0。第二相似的诗是一首宋诗,林正大的《阔江月(七)》。其实这整首诗可以作为李白《清平乐》的注解,因为整首诗是对其的改编:即将《清平乐》中的句段消解,新的联想出现。灵活地添加、重组、运用,在情感上升华了原诗的表达。下面两行诗也处于类似的情况,但相似之处略有不同。

接下来,就是刚才机器生成的诗。我们来看看有哪些诗词与它有相似的含义:

我们来看看我比较欣赏的两句名言。机器很好地捕捉到了它们之间相似的语义关系。即使词汇不同,仍然可以检索语义上相似的诗歌。

至此,《全唐诗》的单独文本挖掘已经完成,但作者还想到了一个有趣的分析维度——从角度比较《全唐诗》、《全宋词》和《全元宋词》文本挖掘的目的是借助词语的基本符号来分析它们各自的文学艺术特征。

8.文本比较:比较《唐诗全集》《宋词全集》《元曲全集》

由于分析对象涉及三个对象,采用常规的二元比较分析方法很难得出有效的结论。因此,笔者这里采用了符号学领域的跨界研究成果---。

“(作者将其译为‘符号方’)”是著名符号学大师发明的,是一种精炼的比较分析()方法,通过结合两个给定的相反概念/例子(如“生命”)。 )”和“死亡”)分析类型(通过‘或’、‘与’、‘非’的逻辑)扩展到4个类别(如“生命(Life)”、“死亡(Death)”、“ “生与死(即活死人,The Dead)”、“非生非死(天使,)”,有时可以扩展到8个或10个分析维度,下面是符号块的结构示意图。 :

解释:“+”符号将2个术语组合成一个“元术语()”(复合词,Term)。例如,5是1和2的复合结果。

的组成部分

主要包含以下2个要素(我们避免区块的构成关系:对立、矛盾、互补或包含):

(一)条款:

由 4 个术语组成::

术语A和术语B是两个相反的概念。它们处于对立关系,这是“符号广场”的基础。另外两项是通过取 A 项和 B 项的相反数得到的。

(2)元术语()

包含6个元元素。这些元特性由上述四个基本术语组成,并且大多数元元素都被命名。

让我们以“男性”和“女性”的两个相对概念为例。注意复杂的逻辑关系/类型。

在谈论了分析的一般原则之后,作者来这里练习它。与上面提到的原始模型不同,除了基本的二元反对分析外,作者还在这里添加了一个新的分析维度,这通常是关于“唐朝的完整诗”,对三维文本的比较分析“ Quan Song CI”和“ Quan Yuan Qu”。

预处理之前的文字看起来像这样:

预处理后,看起来像这样:

分析结果如下所示(单击显示显示):

从上面提出的前10个高频单词和象限的块(左上角的“唐诗”,右上角的“歌曲诗歌”)以及“ Yuan Music”的上方,以及下面的“ Yuan Music”),以及出现独特的高频单词在唐诗中,歌曲诗歌和元音乐的序幕是:

从上述关键词,唐诗,歌曲歌词和人元音乐的判断性具有不同的特征:

另外,上面的“复合”代表了三个的共同特征,即共同特征,主要与描述风景(例如“ Qing”,“ ”,“ xi”,“ XI”,“大陆”,“ ”有关,“”“ pu”,“露”,“蓝色”,“帆”,“峰”等)和抒情(例如“悲伤”,“回忆”,“沉默”,“ yo”等)。

下面的两个象限分别为“不唐诗”和“不歌曲CI”代表“ Song Ci + Yuan Qu”和“ Tang + Yuan Qu”。三个常见的高频单词中的两个,依此类推。 ,作者不会在这里详细介绍,邀请读者和朋友自己挖掘内心的谜团。

结论

作者不是专业诗歌研究人员,上述分析可能不准确。如果有不适当的分析,请纠正我。但是,作者想通过分析唐诗来表达他对文本(数据)挖掘的看法:

在数据分析中,获得的数据结果仅是“介绍”和“线索”。最重要的是依靠人脑来分析结果。在背景/业务知识和分析模型的帮助下,我们可以从文本的表面深入到深度,以发现那些无法通过浅表阅读来掌握的深层含义,并探索其价值。

参考:

提醒:请联系我时一定说明是从星空网上看到的!