igo 0.1.4.7 → 0.1.5.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0c8f0d9f5ea87020a04c9a3a59b91a7db5dc67d114783ac545f4823a57435694
4
- data.tar.gz: 00eb62090811353dff3727322c5f8b54122a05210fe9f26ec7ae11147282ac0d
3
+ metadata.gz: 81b5f3fec925891f2ab69645a249aebd65c2e2cf1ae14957cb80d4c85861c138
4
+ data.tar.gz: 0aacd859a7c85dc0385be5630083b1862293c008214bf6c0c230ebd071a0a65e
5
5
  SHA512:
6
- metadata.gz: 218524a62e6cada3389d228cec2b0f3245fba6193045fff8ce85c000a6f9537ba6e437b3132dee1cfdd8d3caccbc48546cc878bb5cba621143e5c2817c6059c8
7
- data.tar.gz: 9084751b5d917ce6ed9228c0258070e593c6f549787bc9faff24be95caee0c8bc8f729f88249bcdb06dace9c0d2b48f2204adeffac698f54563d4fd3df99603c
6
+ metadata.gz: 6d995a0dca73847507437bf4c33bf0e937f58ee4f8e959836cea94f643e2dff2ae4a9ffeb62dca790fc1aaf8a433fa7b16855f233c401be7cad6f73567718c5b
7
+ data.tar.gz: 04c947e5b3e0cb76b77afddb6f271fdfa998243bb4aea60a036073873c013a0435cdb59db62bb98c2b40cf7da360c7573e1ccc6d76013b7a6486ec59a6396378
data/README.en.md CHANGED
@@ -35,17 +35,26 @@ require 'igo/ja'
35
35
 
36
36
  j = Igo::Ja
37
37
 
38
- cutted = j.cut "あー、合成は結合法則を満たすんでしたね"
38
+ j.cut "あー、合成は結合法則を満たすんでしたね"
39
39
  #=> ["あー", "、", "合成", "は", "結合法則", "を", "満たす", "ん", "でした", "ね"]
40
40
 
41
- cutted = j.cut "あー、合成は結合法則を満たすんでしたね", s: true
42
- #=> "あー 、 合成 は 結合法則 を 満たす ん でした ね"
41
+ j.kana ["無色で透明な私たちは互いに融合しながらも、", "他方で消えない血液と己の半身を希求する。"], s: "/", lr: "()"
42
+ #=> ["無色(むしょく)/で/透明な(とうめいな)/私たち(わたしたち)/は/互いに(たがいに)/融合し(ゆうごうし)/ながら/も/、", "他方(たほう)/で/消えない(きえない)/血液(けつえき)/と/己(おのれ)/の/半身(はんしん)/を/希求する(ききゅうする)/。"]
43
+
44
+ j.tag "ゆかりさんが勉強してる圏論に興味を持ったそして", s: "/", kana: 1, short: 4, lr: "[]"
45
+
46
+ # "ゆかり_prop/さん_suff/が_part/勉強してる[べんきょうしてる]_verb/圏論[けんろん]_noun/に_part/興味[きょうみ]_noun/を_part/持った[もった]_verb/そして_conj"
43
47
 
44
48
  ```
45
49
 
50
+ reference:
51
+ - UCEjVFAKrcjUWqBnHl_NlacQ - [【圏論】圏の圏を考えたい!そうだ関手を定義しよう!](https://www.youtube.com/watch?v=8ycVEcgH4bI&t=703s)
52
+ - ukiyojingu [「無色で透明な私たちは互いに融合しながらも、他方で消えない血液と己の半身を希求する。」](https://www.nicovideo.jp/watch/so40804464)
53
+
54
+
46
55
  下ノ関数は、暫く未完成です、ごめんね:
47
56
 
48
- `j.romaji`, `j.kana`, `j.tag`。
57
+ `j.romaji`
49
58
 
50
59
  ## 用法 :: Usage / Zh
51
60
 
@@ -64,6 +73,7 @@ z.pinyin "全世界的无产者,联合起来!"
64
73
  #=> ["quan2", "shi4", "jie4", "de5", "wu2", "chan3", "zhe3", "lian2", "he2", "qi3", "lai2"]
65
74
  z.pinyin "全世界的无产者,联合起来!", s: 1
66
75
  #=> "quan2 shi4 jie4 de wu2 chan3 zhe3 lian2 he2 qi3 lai2"
76
+
67
77
  ```
68
78
 
69
79
  ### seperate word :: 分词
@@ -73,6 +83,8 @@ z.cut "全世界的无产者,联合起来!"
73
83
  #=> ["全世界", "的", "無產階級", ",", "聯合", "起來", "!"]
74
84
  z.cut "全世界的无产者,联合起来!", s: true
75
85
  #=> "全世界 的 无产者 ! 联合 起来 !"
86
+
87
+
76
88
  ```
77
89
  ### Taging word :: 标注词类
78
90
 
@@ -83,6 +95,7 @@ z.tag "全世界的无产者,联合起来!"
83
95
  #=> [["全世界", "n"], ["的", "uj"], ["无产者", "n"], ["!", "x"], ["联合", "v"], ["起来", "v"], ["!", "x"]]
84
96
  z.tag "全世界的无产者,联合起来!", s: true
85
97
  #=> "全世界_n 的_uj 无产者_n ,_x 联合_v 起来_v !_x"
98
+
86
99
  ```
87
100
  ### 词频统计
88
101
 
data/README.ja.md CHANGED
@@ -22,7 +22,6 @@ gem install igo
22
22
  __Python__ ノ `Thulac` 使いたいなら、以下の pip がインストール必要です:
23
23
 
24
24
  ```cmd
25
-
26
25
  pip install thulac
27
26
  ```
28
27
 
@@ -34,17 +33,26 @@ require 'igo/ja'
34
33
 
35
34
  j = Igo::Ja
36
35
 
37
- cutted = j.cut "あー、合成は結合法則を満たすんでしたね"
36
+ j.cut "あー、合成は結合法則を満たすんでしたね"
38
37
  #=> ["あー", "、", "合成", "は", "結合法則", "を", "満たす", "ん", "でした", "ね"]
39
38
 
40
- cutted = j.cut "あー、合成は結合法則を満たすんでしたね", s: true
41
- #=> "あー 、 合成 は 結合法則 を 満たす ん でした ね"
39
+ j.kana ["無色で透明な私たちは互いに融合しながらも、", "他方で消えない血液と己の半身を希求する。"], s: "/", lr: "()"
40
+ #=> ["無色(むしょく)/で/透明な(とうめいな)/私たち(わたしたち)/は/互いに(たがいに)/融合し(ゆうごうし)/ながら/も/、", "他方(たほう)/で/消えない(きえない)/血液(けつえき)/と/己(おのれ)/の/半身(はんしん)/を/希求する(ききゅうする)/。"]
41
+
42
+ j.tag "ゆかりさんが勉強してる圏論に興味を持ったそして", s: "/", kana: 1, short: 4, lr: "[]"
43
+
44
+ # "ゆかり_prop/さん_suff/が_part/勉強してる[べんきょうしてる]_verb/圏論[けんろん]_noun/に_part/興味[きょうみ]_noun/を_part/持った[もった]_verb/そして_conj"
42
45
 
43
46
  ```
44
47
 
48
+ reference:
49
+ - UCEjVFAKrcjUWqBnHl_NlacQ - [【圏論】圏の圏を考えたい!そうだ関手を定義しよう!](https://www.youtube.com/watch?v=8ycVEcgH4bI&t=703s)
50
+ - ukiyojingu [「無色で透明な私たちは互いに融合しながらも、他方で消えない血液と己の半身を希求する。」](https://www.nicovideo.jp/watch/so40804464)
51
+
52
+
45
53
  下ノ関数は、暫く未完成です、ごめんね:
46
54
 
47
- `j.romaji`, `j.kana`, `j.tag`。
55
+ `j.romaji`
48
56
 
49
57
  ## 用法 :: Usage / Zh
50
58
 
@@ -63,6 +71,7 @@ z.pinyin "全世界的无产者,联合起来!"
63
71
  #=> ["quan2", "shi4", "jie4", "de5", "wu2", "chan3", "zhe3", "lian2", "he2", "qi3", "lai2"]
64
72
  z.pinyin "全世界的无产者,联合起来!", s: 1
65
73
  #=> "quan2 shi4 jie4 de wu2 chan3 zhe3 lian2 he2 qi3 lai2"
74
+
66
75
  ```
67
76
 
68
77
  ### seperate word :: 分词
@@ -70,8 +79,10 @@ z.pinyin "全世界的无产者,联合起来!", s: 1
70
79
  ```ruby
71
80
  z.cut "全世界的无产者,联合起来!"
72
81
  #=> ["全世界", "的", "無產階級", ",", "聯合", "起來", "!"]
82
+
73
83
  z.cut "全世界的无产者,联合起来!", s: true
74
84
  #=> "全世界 的 无产者 ! 联合 起来 !"
85
+
75
86
  ```
76
87
  ### Taging word :: 标注词类
77
88
 
@@ -82,6 +93,7 @@ z.tag "全世界的无产者,联合起来!"
82
93
  #=> [["全世界", "n"], ["的", "uj"], ["无产者", "n"], ["!", "x"], ["联合", "v"], ["起来", "v"], ["!", "x"]]
83
94
  z.tag "全世界的无产者,联合起来!", s: true
84
95
  #=> "全世界_n 的_uj 无产者_n ,_x 联合_v 起来_v !_x"
96
+
85
97
  ```
86
98
  ### 词频统计
87
99
 
data/README.md CHANGED
@@ -22,9 +22,7 @@ gem install igo
22
22
  for use `Thulac` in __Python__, you need to install:
23
23
 
24
24
  ```cmd
25
-
26
25
  pip install thulac
27
-
28
26
  ```
29
27
 
30
28
  ## 使い方 :: Usage / Ja
@@ -35,17 +33,26 @@ require 'igo/ja'
35
33
 
36
34
  j = Igo::Ja
37
35
 
38
- cutted = j.cut "あー、合成は結合法則を満たすんでしたね"
36
+ j.cut "あー、合成は結合法則を満たすんでしたね"
39
37
  #=> ["あー", "、", "合成", "は", "結合法則", "を", "満たす", "ん", "でした", "ね"]
40
38
 
41
- cutted = j.cut "あー、合成は結合法則を満たすんでしたね", s: "/"
42
- #=> "あー/、/合成/は/結合法則/を/満たす/ん/でした/ね"
39
+ j.kana ["無色で透明な私たちは互いに融合しながらも、", "他方で消えない血液と己の半身を希求する。"], s: "/", lr: "()"
40
+ #=> ["無色(むしょく)/で/透明な(とうめいな)/私たち(わたしたち)/は/互いに(たがいに)/融合し(ゆうごうし)/ながら/も/、", "他方(たほう)/で/消えない(きえない)/血液(けつえき)/と/己(おのれ)/の/半身(はんしん)/を/希求する(ききゅうする)/。"]
41
+
42
+ j.tag "ゆかりさんが勉強してる圏論に興味を持ったそして", s: "/", kana: 1, short: 4, lr: "[]"
43
+
44
+ # "ゆかり_prop/さん_suff/が_part/勉強してる[べんきょうしてる]_verb/圏論[けんろん]_noun/に_part/興味[きょうみ]_noun/を_part/持った[もった]_verb/そして_conj"
43
45
 
44
46
  ```
45
47
 
48
+ reference:
49
+ - UCEjVFAKrcjUWqBnHl_NlacQ - [【圏論】圏の圏を考えたい!そうだ関手を定義しよう!](https://www.youtube.com/watch?v=8ycVEcgH4bI&t=703s)
50
+ - ukiyojingu [「無色で透明な私たちは互いに融合しながらも、他方で消えない血液と己の半身を希求する。」](https://www.nicovideo.jp/watch/so40804464)
51
+
52
+
46
53
  下ノ関数は、暫く未完成です、ごめんね:
47
54
 
48
- `j.romaji`, `j.kana`, `j.tag`。
55
+ `j.romaji`
49
56
 
50
57
  ## 用法 :: Usage / Zh
51
58
 
@@ -62,8 +69,10 @@ z = Igo::Zh
62
69
  ```ruby
63
70
  z.pinyin "全世界的无产者,联合起来!"
64
71
  #=> ["quan2", "shi4", "jie4", "de5", "wu2", "chan3", "zhe3", "lian2", "he2", "qi3", "lai2"]
65
- z.pinyin "全世界的无产者,联合起来!", s: 1
66
- #=> "quan2 shi4 jie4 de wu2 chan3 zhe3 lian2 he2 qi3 lai2"
72
+
73
+ z.pinyin "全世界的无产者,联合起来!", s: " "
74
+ #=> "quan2 shi4 jie4 de5 wu2 chan3 zhe3 lian2 he2 qi3 lai2"
75
+
67
76
  ```
68
77
 
69
78
  ### seperate word :: 分词
@@ -71,8 +80,10 @@ z.pinyin "全世界的无产者,联合起来!", s: 1
71
80
  ```ruby
72
81
  z.cut "全世界的无产者,联合起来!"
73
82
  #=> ["全世界", "的", "無產階級", ",", "聯合", "起來", "!"]
74
- z.cut "全世界的无产者,联合起来!", s: true
75
- #=> "全世界 无产者 ! 联合 起来 !"
83
+
84
+ z.cut "全世界的无产者,联合起来!", s: "/"
85
+ #=> "全世界/的/无产者/!/联合/起来/!"
86
+
76
87
  ```
77
88
  ### Taging word :: 标注词类
78
89
 
@@ -81,8 +92,10 @@ z.cut "全世界的无产者,联合起来!", s: true
81
92
  ```ruby
82
93
  z.tag "全世界的无产者,联合起来!"
83
94
  #=> [["全世界", "n"], ["的", "uj"], ["无产者", "n"], ["!", "x"], ["联合", "v"], ["起来", "v"], ["!", "x"]]
95
+
84
96
  z.tag "全世界的无产者,联合起来!", s: true
85
97
  #=> "全世界_n 的_uj 无产者_n ,_x 联合_v 起来_v !_x"
98
+
86
99
  ```
87
100
  ### 词频统计
88
101
 
@@ -90,9 +103,8 @@ z.tag "全世界的无产者,联合起来!", s: true
90
103
  z.freq "全世界的无产者,联合起来!", 5
91
104
  #=> [["无产者", 9.96885201925], ["全世界", 6.80147590842], ["联合", 5.64979650728], ["起来", 3.96134044655]]
92
105
 
93
- # alias 拼音, 分词, 标记, 词频
94
-
95
106
  ```
107
+ 所有方法都有别名:`拼音`, `分词`, `标记`, `词频`
96
108
 
97
109
  ## LINCENCE :: 协议
98
110
 
data/README.zh.md CHANGED
@@ -35,18 +35,25 @@ require 'igo/ja'
35
35
 
36
36
  j = Igo::Ja
37
37
 
38
- cutted = j.cut "あー、合成は結合法則を満たすんでしたね"
38
+ j.cut "あー、合成は結合法則を満たすんでしたね"
39
39
  #=> ["あー", "、", "合成", "は", "結合法則", "を", "満たす", "ん", "でした", "ね"]
40
40
 
41
- cutted = j.cut "あー、合成は結合法則を満たすんでしたね", s: true
42
- #=> "あー 、 合成 は 結合法則 を 満たす ん でした ね"
41
+ j.kana ["無色で透明な私たちは互いに融合しながらも、", "他方で消えない血液と己の半身を希求する。"], s: "/", lr: "()"
42
+ #=> ["無色(むしょく)/で/透明な(とうめいな)/私たち(わたしたち)/は/互いに(たがいに)/融合し(ゆうごうし)/ながら/も/、", "他方(たほう)/で/消えない(きえない)/血液(けつえき)/と/己(おのれ)/の/半身(はんしん)/を/希求する(ききゅうする)/。"]
43
+
44
+ j.tag "ゆかりさんが勉強してる圏論に興味を持ったそして", s: "/", kana: 1, short: 4, lr: "[]"
43
45
 
46
+ # "ゆかり_prop/さん_suff/が_part/勉強してる[べんきょうしてる]_verb/圏論[けんろん]_noun/に_part/興味[きょうみ]_noun/を_part/持った[もった]_verb/そして_conj"
44
47
  ```
45
48
 
46
- 下ノ関数は、暫く未完成です、ごめんね:
49
+ reference:
50
+ - UCEjVFAKrcjUWqBnHl_NlacQ - [【圏論】圏の圏を考えたい!そうだ関手を定義しよう!](https://www.youtube.com/watch?v=8ycVEcgH4bI&t=703s)
51
+ - ukiyojingu [「無色で透明な私たちは互いに融合しながらも、他方で消えない血液と己の半身を希求する。」](https://www.nicovideo.jp/watch/so40804464)
47
52
 
48
- `j.romaji`, `j.kana`, `j.tag`。
49
53
 
54
+ 下ノ関数は、暫く未完成です、ごめんね:
55
+
56
+ `j.romaji`
50
57
  ## 用法 :: Usage / Zh
51
58
 
52
59
  Lack __Trad-Zh__ :: 暂不支持「正體中文」
data/lib/igo/ja.rb CHANGED
@@ -1,6 +1,8 @@
1
1
  require 'nokogiri'
2
2
  require 'open-uri'
3
3
  require 'uri'
4
+ require 'concurrent'
5
+ require 'timeout'
4
6
 
5
7
  module Igo
6
8
 
@@ -37,26 +39,155 @@ module Igo
37
39
  # #=> "あー/、/合成/は/結合法則/を/満たす/ん/でした/ね"
38
40
  #
39
41
  def cut str, s: false
40
- str = URI.encode_www_form_component(str)
41
- doc = Nokogiri::HTML(URI.open(SEARCH_URL + str).read)
42
- cutted = doc.css(".japanese_word__text_wrapper").map{_1.text.strip}
43
- # s ? cutted.join(s) : cutted
44
- sep = s.is_a?(String) ? s : " "
45
- s ? cutted.join(sep) : cutted
42
+ # str = URI.encode_www_form_component(str)
43
+ # doc = Nokogiri::HTML(URI.open(SEARCH_URL + str).read)
44
+ # cutted = doc.css(".japanese_word__text_wrapper").map{_1.text.strip}
45
+ # # s ? cutted.join(s) : cutted
46
+ # sep = s.is_a?(String) ? s : " "
47
+ # s ? cutted.join(sep) : cutted
48
+
49
+ tag(str, s: s, kana: false, tag: false)
46
50
  end
47
51
  # def romaji str
48
52
  # end
49
53
 
50
54
  # def kana str
51
55
  # end
52
- end
56
+ def kana str, s: false, lr: "()"
57
+ # str = URI.encode_www_form_component(str)
58
+ # doc = Nokogiri::HTML(URI.open(SEARCH_URL + str).read)
53
59
 
54
- # TODO: tag word function
55
- #
56
- def tag str, s: false, ns: 0
57
- # TODO
58
- end
60
+ # cutted = doc.css(".japanese_word__furigana, .japanese_word__text_wrapper").select{_1.css(".japanese_word__text_with_furigana").empty?}
61
+ # cutted = cutted.map do kanji = _1.attr("data-text")
62
+ # (kanji.nil? or kanji.empty?) ? [_1.text] : [kanji, _1.text]
63
+ # end
64
+
65
+ # if s
66
+ # unless s.is_a?(String)
67
+ # s = " "
68
+ # end
69
+ # cutted.map(&:last).join(s)
70
+ # else cutted.map(&:last)
71
+ # end
72
+
73
+ tag(str, s: s, lr: lr, tag: false, kana: true, kana_only: true)
74
+ end
75
+
76
+ def ruby str, s: false, lr: "()"
77
+ # str = URI.encode_www_form_component(str)
78
+ # doc = Nokogiri::HTML(URI.open(SEARCH_URL + str).read)
79
+
80
+ # cutted = doc.css(".japanese_word__furigana, .japanese_word__text_wrapper").select{_1.css(".japanese_word__text_with_furigana").empty?}
81
+ # cutted = cutted.map do kanji = _1.attr("data-text")
82
+ # (kanji.nil? or kanji.empty?) ? [_1.text] : [kanji, _1.text]
83
+ # end
84
+
85
+ # if s
86
+ # unless s.is_a?(String)
87
+ # s = " "
88
+ # end
89
+ # left, right = case lr
90
+ # when String then (lr*2).split("").values_at(0, -1)
91
+ # when Array then lr
92
+ # end
93
+ # cutted.map{ _1.size >= 2 ? _1[0]+left+_1[1]+right : _1[0] }.join(s)
94
+ # else cutted
95
+ # end
96
+
97
+ tag(str, s: s, lr: lr, kana: true, tag: false)
98
+
99
+ end
100
+ # TODO: tag word function
101
+ #
102
+ def romaji str, s: false
59
103
 
104
+ end
105
+
106
+ def tag str, s: false, ns: 0, lr: "()", sp:"_", short: false, tag: true, kana: false, timeout: 10, kana_only: false
107
+
108
+ def async_query(arr, timeout=0, &block)
109
+ promises = arr.map do |element|
110
+ Concurrent::Promise.execute do
111
+ begin
112
+ Timeout.timeout(timeout) do # 设置最大执行时间为5秒
113
+ block.call(element)
114
+ end
115
+ rescue Timeout::Error
116
+ # 处理超时异常
117
+ puts "任务执行超时, #{timeout} 秒!关键词参数 timeout: 指定超时秒数!"
118
+ nil
119
+ end
120
+ end
121
+ end
122
+
123
+ # 等待所有任务完成
124
+ results = promises.map(&:value!)
125
+
126
+ # 获取结果数组
127
+ results
128
+ end
129
+
130
+ def _tag str
131
+ str = URI.encode_www_form_component(str)
132
+ doc = Nokogiri::HTML(URI.open(SEARCH_URL + str).read)
133
+
134
+ cutted = doc.css(".japanese_word")
135
+ .map do [_1.css(".japanese_word__text_wrapper, japanese_word__text_wrapper").text.strip, # text
136
+ _1&.css(".japanese_word__furigana").text||nil, # kana
137
+ _1.attr("data-pos")] # tag
138
+ end
139
+ end
140
+
141
+ def _stringify cutted, s: "/", lr: "()", sp:"_", short: false, vis_tag: true, vis_kana: true, kana_only: false
142
+ # cutted.each{ _1[1] = nil } unless vis_kana
143
+ # cutted.each{ _1[2] = nil } unless vis_tag
144
+ if kana_only
145
+ return cutted.map do
146
+ (_1[1].empty? ? _1[0] : _1[1]) +
147
+ ((vis_kana && _1[2]) ? (sp + _1[2]) : "")
148
+ end.join(s)
149
+ else
150
+ unless s.is_a?(String)
151
+ s = " "
152
+ end
153
+ left, right = case lr
154
+ when String then (lr*2).split("").values_at(0, -1)
155
+ when Array then lr
156
+ end
157
+ cutted.map do
158
+ _1[0] +
159
+ ((vis_tag && !_1[1]&.empty? )? (left + _1[1] + right) : "") +
160
+ ((vis_kana && _1[2]) ? (sp + _1[2]) : "")
161
+ end.join(s)
162
+ end
163
+ end
164
+
165
+ def singo_proc str, s: false, ns: 0, lr: "()", sp:"_", short: false, vis_tag: true, vis_kana: true, kana_only: false
166
+ cutted = _tag str
167
+ if short
168
+ short = short.is_a?(Integer) ? short : 4
169
+ cutted = cutted.map{[ *_1[0,2], (_1[2][0, short].downcase rescue nil) ]}
170
+ end
171
+
172
+ if s
173
+ _stringify cutted, s: s, lr: lr, sp: sp, short: short, vis_tag: vis_kana, vis_kana: vis_tag, kana_only: kana_only
174
+ else
175
+ cutted = cutted.map{_1.values_at(* [0, vis_kana ? 1 : 0, vis_tag ? 2 : 0].uniq)}
176
+ cutted[0].size == 1 ? cutted.flatten : cutted
177
+ end
178
+ end
179
+
180
+ case str
181
+ when String
182
+ singo_proc str, s: s, ns: ns, lr: lr, sp: sp, short: short, vis_tag: tag, vis_kana: kana, kana_only: kana_only
183
+ when Array
184
+ async_query str, timeout do
185
+ singo_proc _1, s: s, ns: ns, lr: lr, sp: sp, short: short, vis_tag: tag, vis_kana: kana, kana_only: kana_only
186
+ end
187
+ end
188
+ # TODO
189
+ end
190
+ end
60
191
  end
61
192
 
62
193
 
data/lib/igo/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Igo
4
- VERSION = "0.1.4.7"
4
+ VERSION = "0.1.5.1"
5
5
  end
data/lib/igo/zh.rb CHANGED
@@ -127,11 +127,13 @@ module Igo
127
127
  Keyword.extract string, num
128
128
  end
129
129
 
130
+ alias 拼音 pinyin
130
131
  alias 分词 cut
131
132
  alias 标记 tag
133
+ alias 词频 termfreq
134
+
132
135
  alias freq termfreq
133
136
  alias tf termfreq
134
- alias 词频 freq
135
137
  alias freq_word freq
136
138
  end
137
139
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: igo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4.7
4
+ version: 0.1.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - saisui
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-12-24 00:00:00.000000000 Z
11
+ date: 2023-12-25 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: It is easy.
14
14
  email: