JH1LHVの雑記帳

和文電信好きなアマチュア無線家の雑記帳

スポンサーリンク

和文モールス受信技能向上のための日本語形態素解析 ~その2~

もう少し聞きやすい和文モールスにすべく、

文章内の「助詞」の後ろにスペースが入るようにコードを少し改良しました。

 

例文 

「国内外の観光客の増加を背景に沖縄県でホテルの新設が相次いでいる。」

                 ~ google ニュース ~

 

f:id:JH1LHV:20151212114015j:plain

この文章を全て「ひらがな」に変換すると、

 

こくないがいのかんこうきゃくのぞうかをはいけいにおきなわけんでほてるのしんせつがあいついでいる。

 

こうなるわけですが、どこが区切りなのか・・・

これをこのままモールスにしても聞きづらいわけで。

 

  

 

形態素に分割して品詞を追加してみる

f:id:JH1LHV:20151212114029j:plain

 こくないがい   名詞 
 の   助詞 
 かんこうきゃく   名詞 
 の   助詞 
 ぞうか   名詞 
 を   助詞 
 はいけい   名詞 
 に   助詞 
 おきなわけん   名詞 
 で   助詞 
 ほてる   名詞 
 の   助詞 
 しんせつ   名詞 
 が   助詞 
 あいつい   動詞 
 で   助詞 
 いる   助動詞 
 。   特殊 

 

モールスで聞きやすくするには

分割した品詞からも分かるように、

助詞の後ろにスペースを入れたら聞きやすくなりそうです。

ということで、コードを少し修正です。

#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()    

 

f:id:JH1LHV:20151212114038j:plain

 

こくないがいのかんこうきゃくのぞうかをはいけいに

     おきなわけんでほてるのしんせつがあいついでいる。」 

 

  

 

助詞の後ろにスペースを入れたら聞きやすくなったんじゃない?