文本挖掘实操|用文本挖掘剖析54万首诗歌,我发现了这些(3)
2024-06-15 来源:旧番剧
针对上述数据,笔者在本文中主要有两个大目标:
构建一个包含热门题材标签的诗歌语料库,用于后续的诗歌题材分类和诗歌生成任务;
基于上述诗歌语料库的各类文本挖掘和语义分析,以期得到有趣味的发现。
针对上述目标,本文的实现路线图,同时也是本文的行文脉络,如下所示(点击图片可放大查看):
值得注意的是,上述实现路径中,涉及到自然语言处理的两大组成部分,即自然语言理解(分词、语义建模、语义相似度、聚类和分类等)和自然语言生成(诗歌生成和诗歌翻译), 看完也会对自然语言处理有一定的了解。信息量大,请耐心享用~
1 诗歌分词和热词发现
给定一首诗歌文本,在其中随机取一个片段,如何判断这个片段是否是一个有意义的词汇呢?
如果这个片段左右的搭配变化较多、很丰富,同时片段内部的成分搭配很固定,那么,我们可以认为这个片段是一个词汇,比如下图中所示的“摩诘”就是符合这个定义,那么它就是一个词汇。
在具体实施的算法中,衡量片段外部左右搭配的丰富程度的指标叫“自由度”,可以用(左右)信息熵来度量;而片段内部搭配的固定程度叫“凝固度”,可以用子序列的互信息来度量。
在这里,笔者利用Jiayan(甲言)对这54余万首诗歌进行自动分词,在结果中按照词汇出现频率从高到低进行排序,最终从语料库中抽取若干有意义的高频词。其中,词汇的长度从1到4。
抽取结果如下(点击图片可放大查看):