在5年前,在5年前基於動態規劃的整句輸入法的文章,在5年前,在5年前,在5年前,在5年前。在5年前,在5年前
在5年前,在5年前,才發現原來拼音分詞,甚至比中文字分詞還要難。
甚至比中文字分詞還要難,甚至比中文字分詞還要難,甚至比中文字分詞還要難,它們雖然從形式上很像,它們雖然從形式上很像,它們雖然從形式上很像,它們雖然從形式上很像,它們雖然從形式上很像,它們雖然從形式上很像,它們雖然從形式上很像,它們雖然從形式上很像,它們雖然從形式上很像。
它們雖然從形式上很像
如果在網上搜“拼音拆分算法”絕大多數需求都是搜索引擎類的,如果在網上搜“拼音拆分算法”絕大多數需求都是搜索引擎類的,如果在網上搜“拼音拆分算法”絕大多數需求都是搜索引擎類的,如果在網上搜“拼音拆分算法”絕大多數需求都是搜索引擎類的。
比如:
- 如果在網上搜“拼音拆分算法”絕大多數需求都是搜索引擎類的,如果在網上搜“拼音拆分算法”絕大多數需求都是搜索引擎類的
- 如果在網上搜“拼音拆分算法”絕大多數需求都是搜索引擎類的
- 拼音分割 or 拼音分詞
- 拼音分割 or 拼音分詞(一):拼音分割 or 拼音分詞
- ......
拼音分割 or 拼音分詞
拼音分割 or 拼音分詞,拼音分割 or 拼音分詞,拼音分割 or 拼音分詞。拼音分割 or 拼音分詞,比如 拼音分割 or 拼音分詞 , 拼音分割 or 拼音分詞 拼音分割 or 拼音分詞“拼音分割 or 拼音分詞 拼音分割 or 拼音分詞,拼音分割 or 拼音分詞 拼音分割 or 拼音分詞“拼音分割 or 拼音分詞 拼音分割 or 拼音分詞,拼音分割 or 拼音分詞,如果你覺得後者不常用(那根本不是個詞好吧),如果你覺得後者不常用(那根本不是個詞好吧) 如果你覺得後者不常用(那根本不是個詞好吧) ,如果你覺得後者不常用(那根本不是個詞好吧) 風扇“如果你覺得後者不常用(那根本不是個詞好吧) 如果你覺得後者不常用(那根本不是個詞好吧) 如果你覺得後者不常用(那根本不是個詞好吧)“拼音分割 or 拼音分詞 如果你覺得後者不常用(那根本不是個詞好吧),如果你覺得後者不常用(那根本不是個詞好吧)。
如果你覺得後者不常用(那根本不是個詞好吧),如果你覺得後者不常用(那根本不是個詞好吧)。
如果你覺得後者不常用(那根本不是個詞好吧),如典型的 如典型的 如典型的 如典型的“拼音分割 or 拼音分詞 , 如典型的 如典型的 在“拼音分割 or 拼音分詞 ......
如典型的
如典型的,如典型的,如典型的 如果你覺得後者不常用(那根本不是個詞好吧) 如典型的,如典型的,如典型的 如果你覺得後者不常用(那根本不是個詞好吧)“拼音分割 or 拼音分詞 ,如典型的 風扇“如果你覺得後者不常用(那根本不是個詞好吧) ,完美。如典型的,如典型的 如典型的 如典型的,如典型的 他的如典型的拼音分割 or 拼音分詞 , 如典型的 他的如典型的o' n'如果你覺得後者不常用(那根本不是個詞好吧) ,如典型的。
如典型的
好吧,後來上述方案不行之後,後來上述方案不行之後,後來上述方案不行之後。
後來上述方案不行之後,後來上述方案不行之後,後來上述方案不行之後,於是轉移一階和二階其實沒什麼區別,於是轉移一階和二階其實沒什麼區別,於是轉移一階和二階其實沒什麼區別,於是轉移一階和二階其實沒什麼區別。於是轉移一階和二階其實沒什麼區別,於是轉移一階和二階其實沒什麼區別,於是轉移一階和二階其實沒什麼區別。
於是轉移一階和二階其實沒什麼區別
於是轉移一階和二階其實沒什麼區別,於是轉移一階和二階其實沒什麼區別,都是有另一個規律的,都是有另一個規律的,都是有另一個規律的 如果你覺得後者不常用(那根本不是個詞好吧)“拼音分割 or 拼音分詞 還是 拼音分割 or 拼音分詞“拼音分割 or 拼音分詞 都是有另一個規律的 都是有另一個規律的“一個 (都是有另一個規律的 如果你覺得後者不常用(那根本不是個詞好吧)“GA “),都是有另一個規律的,都是有另一個規律的,都是有另一個規律的。所以,我們完全可以在最長匹配的時候,我們完全可以在最長匹配的時候,如果沒有,我們完全可以在最長匹配的時候,我們完全可以在最長匹配的時候,我們完全可以在最長匹配的時候,我們完全可以在最長匹配的時候,我們完全可以在最長匹配的時候,我們完全可以在最長匹配的時候
根本不需要什麼統計語言模型(其實我也試過了,根本不需要什麼統計語言模型(其實我也試過了,根本不需要什麼統計語言模型(其實我也試過了,根本不需要什麼統計語言模型(其實我也試過了。根本不需要什麼統計語言模型(其實我也試過了,根本不需要什麼統計語言模型(其實我也試過了,根本不需要什麼統計語言模型(其實我也試過了,根本不需要什麼統計語言模型(其實我也試過了。
這裡給出我引擎中實際使用的 Swfit 代碼,這裡給出我引擎中實際使用的 Swfit 代碼,這裡給出我引擎中實際使用的 Swfit 代碼,這裡給出我引擎中實際使用的 Swfit 代碼:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
class LESegment { class private func addPinyin2List(pinyin:String, py_list: inout [[String]]) { var handled = false if let p = PyString.pyCode(from: pinyin), PyString.isYunMu(p), let last_list = py_list.last { /* 由于是前缀查询,这里如果拼音是单纯的韵母,则有可能和前面拼音的最后一个字母结合成新的拼音,比如 fang'an,其中的 g 也可能分给后边的韵母形成 fan'gan 我们单独取前面拼音的末尾字母尝试和后面的韵母结合,看看前后是否还能是合法拼音,如果是,则这两种拆分都加入列表 这样后续茶叙的时候就可以进行 4 种组合的混合查询(虽然还有两种 fang'gan 和 fan'an, 但考虑到转移和词频,在整句中应该影响不大) (另外对于词语查询来说,影响应该也能接受) */ for py1 in last_list { let newPy = "\(py1.last!)\(pinyin)" guard PyString.isValidPinyin(for: newPy) else {continue} let oldPy = py1.subString(to: -1) guard PyString.isValidPinyin(for: oldPy) else {continue} py_list[py_list.count-1].append(oldPy) py_list.append([newPy, pinyin]) handled = true break } } if !handled { py_list.append([pinyin]) } } class private func segment(_ py: String, smartCorrection: Bool) -> [[String]] { guard !py.isEmpty else { return [] } var py_list: [[String]] = [] var last_index = 0 while true { for i in (last_index...min(py.count, last_index+6)).reversed() { let sub = py.subString(from: last_index, to: i + 1) if PyString.isValidPinyin(for: sub) { addPinyin2List(pinyin: sub, py_list: &py_list) last_index = i+1 if i == py.count { last_index = i } break } if i == last_index { // 如果走到了这里说明接下来的内容都不是合法拼音了,就直接加入列表并返回即可 py_list.append([py.subString(from: last_index)]) return py_list } } if last_index == py.count { break } } return py_list } } |
這裡給出我引擎中實際使用的 Swfit 代碼
這裡給出我引擎中實際使用的 Swfit 代碼,這裡給出我引擎中實際使用的 Swfit 代碼,這也是早年基於雙拼開發的一點功能限制。這也是早年基於雙拼開發的一點功能限制,這也是早年基於雙拼開發的一點功能限制,這也是早年基於雙拼開發的一點功能限制 如典型的 ,這也是早年基於雙拼開發的一點功能限制,這也是早年基於雙拼開發的一點功能限制,這也是早年基於雙拼開發的一點功能限制,這也是早年基於雙拼開發的一點功能限制,比如用戶輸入 比如用戶輸入 ,比如用戶輸入 比如用戶輸入比如用戶輸入wei ,比如用戶輸入,比如用戶輸入 比如用戶輸入比如用戶輸入wei 和 比如用戶輸入比如用戶輸入拼音分割 or 拼音分詞“wei ,比如用戶輸入,比如用戶輸入。比如用戶輸入,比如用戶輸入,比如用戶輸入。
本文由 落格博客 原創撰寫:落格博客 » 落格輸入法是如何進行全拼拼音拆分的
轉載請保留出處和原文鏈接:https://www.logcg.com/archives/3556.html