もう少し聞きやすい和文モールスにすべく、
文章内の「助詞」の後ろにスペースが入るようにコードを少し改良しました。
例文
「国内外の観光客の増加を背景に沖縄県でホテルの新設が相次いでいる。」
~ google ニュース ~
この文章を全て「ひらがな」に変換すると、
「こくないがいのかんこうきゃくのぞうかをはいけいにおきなわけんでほてるのしんせつがあいついでいる。」
こうなるわけですが、どこが区切りなのか・・・
これをこのままモールスにしても聞きづらいわけで。
形態素に分割して品詞を追加してみる
こくないがい | 名詞 |
の | 助詞 |
かんこうきゃく | 名詞 |
の | 助詞 |
ぞうか | 名詞 |
を | 助詞 |
はいけい | 名詞 |
に | 助詞 |
おきなわけん | 名詞 |
で | 助詞 |
ほてる | 名詞 |
の | 助詞 |
しんせつ | 名詞 |
が | 助詞 |
あいつい | 動詞 |
で | 助詞 |
いる | 助動詞 |
。 | 特殊 |
モールスで聞きやすくするには
分割した品詞からも分かるように、
助詞の後ろにスペースを入れたら聞きやすくなりそうです。
ということで、コードを少し修正です。
#coding: utf-8 import xml.dom.minidom import urllib import codecs import sys sys.stdin = codecs.getreader("shift_jis")(sys.stdin) appid = "XXXXX" # XXXXX はアプリケーション ID yahoourl = "http://jlp.yahooapis.jp/MAService/V1/parse" def main(): moji = raw_input() sentence = moji.encode('utf-8') url = yahoourl + "?appid=" + appid + "&sentence=" + sentence src = urllib.urlopen(url).read() dom = xml.dom.minidom.parseString(src) print "----------------------------" nstr ="" for url in dom.getElementsByTagName('word'): reading = url.getElementsByTagName('reading').item(0).childNodes[0].data nstr = nstr + reading pos = url.getElementsByTagName('pos').item(0).childNodes[0].data if pos == u'助詞': nstr = nstr + " " print nstr if __name__ == '__main__': main()
「こくないがいの■かんこうきゃくの■ぞうかを■はいけいに■
おきなわけんで■ほてるの■しんせつが■あいついで■いる。」
助詞の後ろにスペースを入れたら聞きやすくなったんじゃない?