<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Pinyin2Hanzi拼音轉漢字

          聯(lián)合創(chuàng)作 · 2023-09-28 04:12

          拼音轉漢字,可以作為拼音輸入法的轉換引擎,兼容Python 2、Python 3。

          安裝

          Python 2:

          $ python setup.py install --user

          Python 3:

          $ python3 setup.py install --user

          使用

          下面的示例在Python 3中運行。

          基于HMM的轉換

          原理是viterbi算法。

          from Pinyin2Hanzi import DefaultHmmParams
          from Pinyin2Hanzi import viterbi
          
          hmmparams = DefaultHmmParams()
          
          ## 2個候選
          result = viterbi(hmm_params=hmmparams, observations=('ni', 'zhi', 'bu', 'zhi', 'dao'), path_num = 2)
          for item in result:
              print(item.score, item.path)
          '''輸出
          1.3155294593897203e-08 ['你', '知', '不', '知', '道']
          3.6677865125992192e-09 ['你', '只', '不', '知', '道']
          '''
          
          ## 2個候選,使用對數(shù)打分
          result = viterbi(hmm_params=hmmparams, observations=('ni', 'zhi', 'bu', 'zhi', 'dao'), path_num = 2, log = True)
          for item in result:
              print(item.score, item.path)
          '''輸出
          -18.14644152864202 ['你', '知', '不', '知', '道']
          -19.423677486918002 ['你', '只', '不', '知', '道']
          '''
          
          ## 2個候選,使用對數(shù)打分
          result = viterbi(hmm_params=hmmparams, observations=('ni', 'zhii', 'bu', 'zhi', 'dao'), path_num = 2, log = True)
          for item in result:
              print(item.score, item.path)
          # 發(fā)生KeyError,`zhii`不規(guī)范




          基于DAG的轉換

          原理是詞庫+動態(tài)規(guī)劃。

          from Pinyin2Hanzi import DefaultDagParams
          from Pinyin2Hanzi import dag
          
          dagparams = DefaultDagParams()
          
          ## 2個候選
          result = dag(dagparams, ('ni', 'bu', 'zhi', 'dao', 'de', 'shi'), path_num=2)
          for item in result:
              print(item.score, item.path)
          ''' 輸出
          0.08117536840088911 ['你不知道', '的是']
          0.04149191639287887 ['你不知道', '的詩']
          '''
          
          ## 2個候選,使用對數(shù)打分
          result = dag(dagparams, ('ni', 'bu', 'zhi', 'dao', 'de', 'shi'), path_num=2, log=True)
          for item in result:
              print(item.score, item.path)
          ''' 輸出
          -2.5111434226494866 ['你不知道', '的是']
          -3.1822566564324477 ['你不知道', '的詩']
          '''
          
          ## 1個候選
          print( dag(dagparams, ['ti', 'chu', 'le', 'bu', 'cuo', 'de', 'jie', 'jve', 'fang', 'an'], path_num=1) )
          '''輸出
          [< score=0.0017174549839096384, path=['提出了', '不錯', '的', '解決方案'] >]
          '''
          
          ## 2個候選,使用對數(shù)打分
          result = dag(dagparams, ('ni', 'bu', 'zhi', 'dao', 'de', 'shii'), path_num=2, log=True)
          print(result)
          # 輸出空列表,因為`shii`不存在




          自定義params

          實現(xiàn)AbstractHmmParams, AbstractDagParams這兩個接口即可。具體可以參考源碼。

          關于拼音

          給出的拼音必須是“規(guī)范”的。例如

          • 略 -> lve

          • 據(jù) -> ju

          列舉所有“規(guī)范”的拼音:

          from Pinyin2Hanzi import all_pinyin
          for py in all_pinyin():
                  print(py)


          將拼音轉換為“規(guī)范”的拼音:

          from Pinyin2Hanzi import simplify_pinyin
          
          print(simplify_pinyin('lue'))
          # 輸出:'lve'
          
          print(simplify_pinyin('lüè'))
          # 輸出:'lve'




          判斷是否是“規(guī)范”的拼音:

          from Pinyin2Hanzi import is_pinyin
          
          print(is_pinyin('lue'))
          # 輸出:False
          
          print(is_pinyin('lüè'))
          # 輸出:False
          
          print(is_pinyin('lvee'))
          # 輸出:False
          
          print(is_pinyin('lve'))
          # 輸出:True




          瀏覽 21
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  台湾高清无码视频在线观看 | 国产激情福利 | 开心激情成人网址 | 欧美视频网站在线观看 | 啊啊啊啊啊www. |