Advertisement
Guest User

Kanji Massager

a guest
Apr 19th, 2015
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.02 KB | None | 0 0
  1. #! /usr/local/bin/python
  2. # -*- coding: utf-8 -*-
  3.  
  4. import MeCab
  5. from jcconv import kata2hira
  6.  
  7.  
  8. # Kanji Massager
  9.  
  10. # pip install MeCab,jcconv
  11. # Mecab testing conversion of a japanese text string to hiragana
  12. # Tested python 2.7.8
  13.  
  14. def doMecab(dataM):
  15.         try:
  16.             mecab = MeCab.Tagger('-Oyomi')
  17.             output = mecab.parse(dataM.encode('utf8'))
  18.         except:
  19.             output = '\nMecab Failed '
  20.             raise
  21.         return output
  22.  
  23.  
  24. def doHiragana(dataH):
  25.         kshi = ""
  26.         # External
  27.         # mecab  Ochase,Owakati Oyomi O
  28.         #s='echo %s |mecab "-Oyomi"' % dataH # this translates kanji into konyomi using mecab
  29.         #p = subprocess.Popen(s,stdout=subprocess.PIPE,shell=True)
  30.         #output, err = p.communicate() # we get katakana
  31.  
  32.         output = doMecab(dataH)  # we get katakana back
  33.         # convert to hiragana  
  34.         kshi = kata2hira(unicode(output.rstrip(), encoding='utf-8'))
  35.         return kshi
  36.  
  37.  
  38.  
  39. test = "MeCabは 京都大学情報学研究科−日本電信電話株式会社コミュニケーション科学基礎研究所 共同研究ユニットプロジェクトを通じて開発されたオープンソース 形態素解析エンジンです。"
  40.  
  41. print
  42. print "Original   : \n"
  43. print test
  44. print "\nHiragana : \n"
  45. print doHiragana(test.decode("utf-8"))
  46. print
  47. print
  48.  
  49.  
  50. ##############
  51. # Output :
  52.  
  53. #Original   :
  54.  
  55. #MeCabは 京都大学情報学研究科−日本電信電話株式会社コミュニケーション科学基礎研究所 共同研究ユニットプロジェクトを通じて開発されたオープンソース 形態素解析エンジンです。
  56.  
  57. #Hiragana :
  58.  
  59. #MeCabは きょうとだいがくじょうほうがくけんきゅうかひくにほんでんしんでんわかぶしきがいしゃこみゅにけーしょんかがくきそけんきゅうじょ きょうどうけんきゅうゆにっとぷろじぇくとをつうじてかいはつされたおーぷんそーす けいたいそかいせきえんじんです。
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement