tsukiko 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/data/bigram.data +0 -0
- data/data/cn_tw.data +0 -0
- data/data/words.data +0 -0
- data/lib/tsukiko.rb +91 -0
- metadata +50 -0
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: []
|