classR如何用R创作古诗

引子 最近中国诗词大会很受欢迎,才女武亦姝凭借超强的记忆力和超快的反应能力一炮走红,成为大家心目中的偶像。 在欣赏节目的同时,我也不禁想到,既然古代的诗人能够创作出这些美好的诗篇,那我是不是也能创作几首属于自己的诗词作品呢?可惜,经过一番
原标题:如何用R创作古诗引子最近中国诗词大会很受欢迎,才女武亦姝凭借超强的记忆力和超快的反应能力一炮走红,成为大家心目中的偶像。在欣赏节目的同时,我也不禁想到,既然古代的诗人能够创作出这些美好的诗篇,那我是不是也能创作几首属于自己的诗词作品呢?可惜,经过一番尝试,我发现自身的文学功底不够,恐怕无法完成这样艰巨的任务。看来人和人还是有很大的差距。当然,我并没有气馁。就像著名的无限猴子定理阐述的那样,哪怕是让一只猴子在打字机上随机地按键,只要按键的时间足够长,那么几乎必然能够打出任何特定的文字,甚至是莎士比亚的全套著作。我觉得我的编程能力应该比猴子还是要略强一筹,所以打算试试用我熟悉的语言R来创作几首『歪诗』。词频分析既然要创作诗词,那么就要先了解诗词中最常出现的词汇和意象是什么。我在github上找到了一些古典中文的语料库(链接),其中有不少唐诗宋词的文本,只不过是繁体的。我选择了《宋词三百首》作为了我的文本库,对它进行词频分析。其实做法很简单,大概就是分这么几步:把文本拆分成一个一个的单词;把单词按照出现的频率、次数进行排序用可视化把结果展示出来下面的部分我会讨论一下具体的操作,不感兴趣的观众请往后翻到结果的部分。第一步、第二步导入文本库:>fileNameSCsubstr(SC,1000,1100)[1]\"醒。送春春去幾時回,臨晚鏡。傷流景。往事後期空記省。○沙上並禽池上暝。雲破月來花弄影。重重簾幕密遮燈,風不定。人初靜。明日落紅應滿徑。nn詞牌:青門引n作者:張先n詞文:乍暖還輕冷。風雨晚來方定。庭軒寂\"用分词包『结巴R』(链接)里面的worker()公式完成分词:>cc=worker()>analysisanalysisnames(analysis)analysis$wordhead(analysis)wordfreq470作者3106120詞文3106121詞牌3101024又751014去553124月54看来在宋词三百首中,出现最多的词语是『作者』,『词文』,『词牌』,总共出现了310次。这是因为每首诗词开始时,文档中都会介绍这首诗词的作者、词文和词牌,从而干扰了我们的文本分析。第二步我用R包wordcloud2把结果简单地进行了一下可视化:wordcloud2(analysis)然后得到了这张图。嗯,硕大的一个『词文』出现了很多次,看来我们在可视化的时候要把它去掉。我把出现频率大于300次的词语刨除之后,根据分词结果的字数(一字,二字,三字)重新进行了可视化,结果如下:wordcloud2(analysis[analysis$freq>1&analysis$freq1&analysis$freq1&analysis$freqcipaitaggercipai_2example1&nchar(word)

本文来自投稿,不代表长河网立场,转载请注明出处: http://www.changhe99.com/a/ZewbqmJ4rg.html

(0)

相关推荐