`
鹿鸣
  • 浏览: 4792 次
  • 来自: 吉林
最近访客 更多访客>>
社区版块
存档分类
最新评论

宋词分析改编版(ruby)

    博客分类:
  • ruby
 
阅读更多
    上一次我写的宋词分析,是在Windows环境下的,缺省编码是GBK(936),所以在处理UTF-8的时候,需要转换为GBK,再进行处理分析。
    不过现在已经是ruby1.9版了,那么就改一下,在uft-8下处理程序,主要就是把原宋词文件内容从gbk编码为utf-8,再进行相应的处理,dos下需要chcp 65001转换为utf-8编码,再执行才可以看到正确结果,否则就是乱码。
    我用的SciTE,在Options->Open Global Options File中,code.page=65001,output.code.page=65001去除前面的#,就可以正确处理utf-8文字了。
    嗯,Windows就是麻烦,Linux和mac一直想玩玩,但是单位无法上网,需要联网的东西太费事了。
    还有就是改写为utf-8版后,计数和gbk版的不同了,gbk版的,和原文的计数一致,utf-8版的,一是计数多了,二是很多后面的也提到了前面,不知道为什么,也许是gbk->utf-8转换的时候,一些文字出现问题了吧。

#coding: utf-8
require "iconv"

NUM1 = 2 #分词长度
NUM2 =500  #显示大于多少的记录

def splitword(s,l)    #分词,s是字符串,l是字符分词长度
  lt  = s.length
  k = Array.new
  0.upto(lt-l) do |i| 
    k<<s[i..i+l-1]
  end
  return k
end

t = Time.now

x = Array.new     #记录分词结果的数组
File.open("ci.txt", "r")  do |file|
  file.each do |line|    
    line = Iconv.conv("UTF-8//IGNORE","GBK", line)    
    line.chomp!
    column = line.split(/,|。|!|?|、/)          #使用标点分割
    column.delete_if {|i| i.length >10 }    #去除大于10个字的语句
    column.each do |col| 
      splitword(col,NUM1).each{|i| x<<i} if col.length>NUM1 # 分词
    end 
  end
end

h = Hash.new
h = x.inject(Hash.new(0)){|hash,x| hash[x] += 1; hash} #把数组内容进行计数为hash
h.delete_if {|key, value| value <NUM2}               #去除hash中小于指定数值的部分

y = Array.new
y  = h.sort {|a,b| b[1]<=>a[1]}                      # 从大到小排序
y.each_index {|i| puts "#{i+1} #{y[i][0]} = #{y[i][1]}" }

puts "运行时间是:"<<(Time.now-t).to_s<<"秒"
分享到:
评论

相关推荐

    Python文本挖掘方法辅助宋词自然景观意象分析.zip

    在本项目中,“Python文本挖掘方法辅助宋词自然景观意象分析”是一个研究主题,它结合了计算机科学与文学研究,特别是运用了Python编程语言的文本挖掘技术来探索宋词中的自然景观意象。文本挖掘是一种从大量文本数据...

    唐诗宋词选读(苏教版完整版).pdf

    在教育领域,【唐诗宋词选读】被广泛采纳为教材,特别是苏教版的完整呈现形式,更是为了让学子们能够全面且深入地领略这两个时代的文学精华。通过对唐诗宋词的学习,不仅可以提升文学素养,还能促进对中国传统文化的...

    词频统计_宋词词频_宋词词频统计_自然语言理解词频统计_全宋词词频表_全宋词词频表_

    “词频统计_宋词词频_宋词词频统计”这一主题表明,我们的目标是对宋词中的词汇出现频率进行量化分析。通过词频统计,我们可以发现哪些词汇在宋词中最为常见,这有助于揭示宋词的风格特点和常用表达,同时也可以为古...

    唐诗宋词 电子版200901

    《唐诗宋词 电子版200901》的出现,使我们能够借助现代科技手段,更加便捷地阅读和欣赏这三百首精选的唐诗和宋词。 唐诗之所以能代表中国古代诗歌发展的高峰,不仅是因为其形式的多样性和内容的丰富性,更在于它...

    宋词自动生成_词牌生成器_词牌自动生成_词牌诗生成器_宋词在线生成_自动填词牌_

    宋词,作为中华传统文化的瑰宝,以其独特的韵律美和深邃的情感表达,一直深受人们的喜爱。在当代,借助先进的计算机技术,我们能够实现宋词的自动生成,这得益于机器学习和自然语言处理(NLP)的进步。本文将详细...

    唐诗宋词选读(苏教版完整版)(20211010020705).pdf

    在苏教版的唐诗宋词选读完整版中,通过精心挑选和整理,展现了唐代诸多诗人如王勃、陈子昂等人的诗歌精华。 王勃,作为唐代诗人,他的名字和作品在中国文学史上留下了浓墨重彩的一笔。王勃生于约650年,卒于约676年...

    整理的word版的经典唐诗宋词

    因此,整理成word版的经典唐诗宋词,既便于读者背诵学习,也为文化的传承提供了便捷的工具。 唐诗的繁荣始于初唐,发展至盛唐时期达到顶峰。张九龄的《感遇》系列便是初唐诗风的代表之作,诗人以优美的笔触记录了对...

    (精品)最美的60句宋词:宋词中的名句精选.pdf

    (poem)数据库 【数据库中的宋词知识点】 宋词是中国古典文学形式之一,兴起于唐代,发展于宋代,成为中国古典...本文选取了60句宋词,展示了宋词的语言特色、艺术效果和内容广泛性,为读者提供了一个了解宋词的机会。

    宋词词牌格律重新整理2021

    宋词作为中国古代文学宝库中的一颗璀璨明珠,其独特的艺术魅力不仅在于其丰富的情感表达和深邃的思想内容,还在于其严谨的词牌格律。词牌格律是宋词创作的基本框架,它规定了每个词牌在字数、句式、韵脚等方面的具体...

    基于机器学习的宋词风格识别.pdf

    在相关工作中,尽管情感分析是近年来的研究热点,但专门针对宋词风格的机器学习分类研究并不多见,特别是使用大规模语料库和多种机器学习方法的尝试。重庆大学易勇的研究采用了朴素贝叶斯方法结合信息增益和遗传算法...

    陕西师范大学-《宋词研究》(专升本)考评作业-含答案.pdf

    《宋词研究》是陕西师范大学专升本课程中的一门重要学科,主要涉及宋代词作的理论探讨和实际分析。该课程的考评作业涵盖了名词解释、作品分析和论述题等多个方面,旨在帮助学生深入理解宋词的艺术特色和历史地位。 ...

    python获取的宋词三百首数据库

    python获取的宋词三百首数据库

    基于web的唐诗宋词网页设计

    【标题】"基于Web的唐诗宋词网页设计"是一个以HTML为主的前端课程设计项目,旨在利用网页技术呈现丰富的唐诗宋词内容,为用户提供一个交互式的诗词学习平台。这个项目不仅涵盖了基本的HTML结构和样式设计,还可能...

    唐诗宋词_图文打印.docx

    1.唐诗宋词是一种艺术,艺术具有审美价值,欣赏唐诗宋词产生的共鸣和联想,能够起到陶冶情操、净化心灵、启迪人生等各种作用; 2.唐诗宋词描写涉及的内容广泛,囊括到唐宋时期人们生活的方方面面,对于很多方面的研究都有...

    宋词查询管理系统-DELPHI源代码

    《宋词查询管理系统-DELPHI源代码》是一款基于DELPHI编程语言开发的应用程序,主要功能是提供宋词的查询服务。此系统为用户提供了便捷的途径来探索丰富的宋词文化,通过输入关键词,用户可以快速找到相关诗词,极大...

    唐诗宋词数据库sql

    唐诗宋词300首, 包含作者的姓名,题目, 内容, 简介等各种信息

    python遗传算法实现宋词生成

    开发者可能需要先对大量宋词样本进行分析,提取出特征,然后通过遗传算法来尝试生成符合这些特征的新词句。 在压缩包中提到的数据文件可能包含了宋词的原始文本,用于训练和测试算法。结果文件则可能是算法运行后的...

    网友制作的宋词高频词汇和数字代码

    根据给定的信息,我们可以深入分析网友制作的宋词高频词汇及其与数字代码之间的关系,并从中提炼出相关的IT知识点。以下是对这些高频词汇及其代码的详细解读: ### 高频词汇与数字代码的意义 #### 1. 知识点:数据...

    唐诗宋词鉴赏论文

    唐诗宋词,作为中国古代文学的瑰宝,承载着中华文化的深厚底蕴,是美的艺术表现形式,具有极高的鉴赏价值。这篇论文旨在探讨唐诗宋词中的艺术魅力,特别是色彩之美及其对时空表现的超越。 色彩在诗词中起到了至关...

    宋词自动生成

    《宋词自动生成》 在当今的数字时代,人工智能(AI)已经渗透到各个领域,包括文化艺术创作。本文将深入探讨一个独特的应用:利用RNN(循环神经网络)技术进行宋词的自动生成。"宋词自动生成"项目,正是这样一个...

Global site tag (gtag.js) - Google Analytics