tsukiko 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/data/bigram.data ADDED
Binary file
data/data/cn_tw.data ADDED
Binary file
data/data/words.data ADDED
Binary file
data/lib/tsukiko.rb ADDED
@@ -0,0 +1,91 @@
1
+ #require "tsukiko/version"
2
+
3
+ #encoding:utf-8
4
+ class Tsukiko
5
+ def initialize(dic_path=File.dirname(__FILE__))
6
+ @words=Hash.new
7
+ @han=Hash.new
8
+ @bigram=Hash.new
9
+ @words=Marshal.load(File.open(dic_path+"/../data/words.data","rb").read)
10
+ @han=Marshal.load(File.open(dic_path+"/../data/cn_tw.data","rb").read)
11
+ @bigram=Marshal.load(File.open(dic_path+"/../data/bigram.data","rb").read)
12
+ end
13
+ def convert_words(str)
14
+ @words.each{|cn,tw|
15
+ str.gsub!(cn," "+tw+" ")
16
+ }
17
+ @result=str
18
+ end
19
+ # call after convert_words
20
+ def convert_han(str)
21
+ tmpstr=str.clone
22
+ while tmpstr.sub!(/\S+/,"")
23
+ # matches=str.match(/(\S+)/)
24
+ tmp=$&.chomp
25
+ # puts tmp
26
+ tmpp=tmp.clone
27
+ for i in 0..tmp.length-1
28
+ #convert each character
29
+ if @han[tmp[i]]==1
30
+ tmpp[i]=@han[tmp[i]][0]
31
+ elsif @han[tmp[i]]==nil
32
+ tmpp[i]=tmp[i]
33
+ else
34
+ tmpp[i]=use_bigram(tmpp,i)
35
+ end
36
+ end
37
+ @result=str.gsub!(tmp,tmpp)
38
+ end
39
+ @result
40
+ end
41
+ # when there is a 1:n converation
42
+ def use_bigram(str,i)
43
+ max=@han[str[i]][0]
44
+ if i==0
45
+ @han[str[i]].each{|h|
46
+ if ref("$"+h)>ref("$"+max)
47
+ max=h
48
+ end
49
+
50
+ }
51
+ else
52
+ @han[str[i]].each{|h|
53
+ if ref(str[i-1]+h)>ref(str[i-1]+max)
54
+ max=h
55
+ end
56
+
57
+ }
58
+ end
59
+ return max
60
+
61
+ end
62
+
63
+ def ref(str)
64
+ # return @bigram[str]
65
+ # puts str
66
+ # puts @bigram[str]
67
+ return @bigram[str]
68
+ end
69
+
70
+ def convert(str)
71
+ @result=convert_han(convert_words(str))
72
+ # @result=convert_words(str)
73
+ @result.gsub!(" ","")
74
+ @result
75
+ end
76
+ # word=Marshal.load(File.open())
77
+ end
78
+ =begin
79
+ #test
80
+ converter=Tsukiko.new
81
+ puts converter.convert("2001年新年钟声即将敲响。人类社会前进的航船就要驶入21世纪的新航程。中国人民进入了向现代化建设第三步战略目标迈进的新征程。
82
+ 在这个激动人心的时刻,我很高兴通过中国国际广播电台、中央人民广播电台和中央电视台,向全国各族人民,向香港特别行政区同胞、澳门特别行政区同胞和台湾同胞、海外侨胞,向世界各国的朋友们,致以新世纪第一个新年的祝贺!
83
+ 过去的一年,是我国社会主义改革开放和现代化建设进程中具有标志意义的一年。在中国共产党的领导下,全国各族人民团结奋斗,国民经济继续保持较快的发展势头,经济结构的战略性调整顺利部署实施。西部大开发取得良好开端。精神文明建设和民主法制建设进一步加强。我们在过去几年取得成绩的基础上,胜利完成了第九个五年计划。我国已进入了全面建设小康社会,加快社会主义现代化建设的新的发展阶段。
84
+ 面对新世纪,世界各国人民的共同愿望是:继续发展人类以往创造的一切文明成果,克服20世纪困扰着人类的战争和贫困问题,推进和平与发展的崇高事业,创造一个美好的世界。
85
+ 我们希望,新世纪成为各国人民共享和平的世纪。在20世纪里,世界饱受各种战争和冲突的苦难。时至今日,仍有不少国家和地区的人民还在忍受战火的煎熬。中国人民真诚地祝愿他们早日过上和平安定的生活。中国人民热爱和平与自由,始终奉行独立自主的和平外交政策,永远站在人类正义事业的一边。我们愿同世界上一切爱好和平的国家和人民一道,为促进世界多极化,建立和平稳定、公正合理的国际政治经济新秩序而努力奋斗。
86
+ 我们希望,新世纪成为各国人民共同发展的世纪。在20世纪里,世界的生产力和科学技术取得了惊人的成就。但是,世界上仍有许多人民尚未摆脱贫穷和饥饿,有的甚至连基本生存条件都不具备,时刻面临着死亡的威胁。经济全球化对生产力发展的新推动,科学技术突飞猛进带来的新成果,应该造福于全人类,特别是应该用来促进发展中国家的发展,改善极度贫困人口的生活境遇,使他们得以具备自我发展的条件。中国人民将坚持不懈地为此作出自己的贡献。
87
+ 我们希望,新世纪成为各种文明共同进步的世纪。世界是丰富多彩的。世界各国的文明,都是人类的宝贵财富,应该相互尊重、相互学习。历史充分证明,各国人民自主选择各自的社会制度和发展道路,在继承和发展本民族文明的基础上吸取其他文明的精华,按照自己的意志创造并享受美好的生活,是世界发展的重要动力。只有加强各种文明之间的交流,推动各种文明共同进步,世界和平与发展的崇高事业才能真正实现。
88
+ 中国人民进入新世纪的主要任务,就是继续推进现代化建设,完成祖国统一,维护世界和平与促进共同发展。中国人民将坚持以邓小平理论为指导,坚定不移地推进改革开放和经济建设,坚定不移地贯彻“和平统一、一国两制”方针,坚定不移地奉行独立自主的和平外交政策,为不断推进建设有中国特色社会主义事业,最终实现祖国的完全统一,实现中华民族的伟大复兴而不懈奋斗,争取对人类作出新的更大的贡献。
89
+ 我相信,只要全世界人民以及所有关心人类前途和命运的政治家们共同努力,携手前进,我们居住的这个星球一定能够成为各国人民共享和平、共同发展和共同进步的美好世界!
90
+ 最后,我从北京祝大家新年快乐!")
91
+ =end
metadata ADDED
@@ -0,0 +1,50 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: tsukiko
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - gyorou
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-12-20 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: a tool to convert simplified Chinsese into tradtional Chinese
15
+ email:
16
+ - gyorou@tjjtds.com
17
+ executables: []
18
+ extensions: []
19
+ extra_rdoc_files: []
20
+ files:
21
+ - lib/tsukiko.rb
22
+ - data/bigram.data
23
+ - data/cn_tw.data
24
+ - data/words.data
25
+ homepage: ''
26
+ licenses: []
27
+ post_install_message:
28
+ rdoc_options: []
29
+ require_paths:
30
+ - lib
31
+ - data
32
+ required_ruby_version: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ required_rubygems_version: !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ requirements: []
45
+ rubyforge_project:
46
+ rubygems_version: 1.8.24
47
+ signing_key:
48
+ specification_version: 3
49
+ summary: a tool to convert simplified Chinsese into tradtional Chinese
50
+ test_files: []