PythonでYahoo!辞書をつかって言葉の意味を調べる

ツイッターのボット用に作っていたのを分割した。

https://gist.github.com/759520
BeautifulSoupを使っているので、適当にeasy_installするなりして下さい。


こんな感じで使う

import yahoodict
results = yahoodict.lookup(word=word, yomi=yomi)
print yahoodict.pp(results)


戻り値はnamedtuple(YahooDictResult)のリスト。
YahooDictResult 1 - 1..* YahooDictDefin という関係になっている。

YahooDictResult
type   辞書の種類 (JJ=国語辞典, seiji=政治用語, singo=新語)
lemma  辞書の見出し語
defins namedtuple(YahooDictDefin)のリスト
opts   その他の情報(読み方とか)

YahooDictDefin
index   インデックス
defin   定義
opts    その他の情報(品詞や対義語や用例など)

対応している辞書は、とりあえず国語辞典、新語探検、政治用語集の3種類。


ふりがなを指定しないと変な意味を持ってきたりする。
例えば「地方」だけで調べると「地方(じかた)」を持ってくる。


完全な結果を返さないけど大体必要そうな部分は取得できる。

使い方と実行結果

使い方
    import yahoodict
    
    testcases = (
        (u'日本', u'にほん'),
        (u'宇宙', u'うちゅう'),
        
        (u'地方',),
        (u'観光',),
        (u'誤謬',),
        (u'こころ',),
        
        (u'予算委員会', u'よさんいいんかい'),
        (u'ガラケー',),        
        
        (u'元気', u'げんき'),
        (u'解散', u'かいさん'),
        
        (u'アメリカ',),
        (u'米国', u'べいこく'),
        
        (u'月',),
        (u'月', u'つき'),
        
        (u'竜馬',),
        (u'パン',),
        
        (u'竜馬', u'りょうま'),
        (u'坂本竜馬', u'サカモトリョウマ'),
        
        (u'アップル', u'あっぷる'),
        
        (u'テレビ', u'てれび'),
        (u'テレビジョン', u'てれびじょん'),
    )
    
    for c in testcases:
        if len(c) == 2:
            word, yomi = c
        elif len(c) == 1:
            word, yomi = c[0], None
        else: continue
        
        results = yahoodict.lookup(word=word, yomi=yomi)
        print 'call: word =', word, 'yomi =', yomi
        print yahoodict.pp(results)
        print '----------'
実行結果
call: word = 日本 yomi = にほん
辞書の種類: JJ
見出し語  : 日本
その他の情報:
  yomi: にほん
(0, 0):わが国の国号。アジア大陸の東方にあり、北海道・本州・四国・九州および周辺諸島からなる島国。首都、東京。行政上、1都1道2府43県に分けられる。総面積37万7815平方キロメートル。総人口、1億2746 ...

                  • -
call: word = 宇宙 yomi = うちゅう 辞書の種類: JJ 見出し語 : 宇宙 その他の情報: yomi: うちゅう (1, 0):あらゆる存在物を包容する無限の空間と時間の広がり。 (1, 1):哲学では、秩序ある統一体と考えられる世界。コスモス。 (1, 2):物理学的には、存在し得る限りのすべての物質および放射を含む空間。 (1, 3):天文学では、あらゆる天体の存在 ...
                  • -
call: word = 地方 yomi = None 辞書の種類: JJ 見出し語 : 地方 その他の情報: yomi: じかた (1, 0):室町幕府の職名。京都内の土地・家屋に関することや訴訟などをつかさどった。 (2, 0):江戸時代、町方に対して、農村のこと。転じて、農村における民政一般をいう。 yourei: 「—役人」 (3, 0):海上から見て、陸地のこと。 (4, 0):日本 ... 辞書の種類: JJ 見出し語 : 地方 その他の情報: yomi: ちほう (1, 0):ある国の中のある地域。 yourei: 「この—独特の風習」,「関東—」 (2, 0):首都などの大都市に対してそれ以外の土地。 taigigo: 中央 yourei: 「—へ転勤になる」,「—の出身」 (3, 0):旧軍隊で、軍以外の一般社会をさす語。
                  • -
call: word = 観光 yomi = None 辞書の種類: JJ 見出し語 : 観光 その他の情報: hinshi: [名](スル) yomi: かんこう (0, 0):他の国や地方の風景・史跡・風物などを見物すること。 yourei: 「各地を—してまわる」,「—シーズン」,「—名所」
                  • -
call: word = 誤謬 yomi = None 辞書の種類: JJ 見出し語 : 誤謬 その他の情報: hinshi: [名](スル) yomi: ごびゅう (0, 0):まちがえること。まちがい。 yourei: 「—を犯す」,「—を正す」
                  • -
call: word = こころ yomi = None 辞書の種類: JJ 見出し語 : こゝろ その他の情報: yomi: こころ (0, 0):夏目漱石の小説。大正3年(1914)発表。罪悪感や孤独感、人間憎悪の念がついには自##否定に至るという、個人主義思想の極致を描く。 辞書の種類: JJ 見出し語 : 心 その他の情報: yomi: こころ (1, 0):人間の理性・知識・感情・意志などの働きのもとになるもの。また、働きそのものをひっくるめていう。精神。心情。 ... yourei: 「—の豊かな人」,「—に浮かぶ思い」,「—と—の触れ合い」,「—を痛める」,「##の晴れる時もない」
                  • -
call: word = 予算委員会 yomi = よさんいいんかい 辞書の種類: JJ 見出し語 : 予算委員会 その他の情報: yomi: よさんいいんかい (0, 0):国会の常任委員会の一。衆議院では50名、参議院では45名で構成され、内閣の提出した予算案についての審議を行う。 辞書の種類: seiji 見出し語 : 予算委員会 (0, 0):内閣が提出する予算案を審議するため、衆議院参議院の両方に設置されている常任委員会(定数は衆院50名、参院45名)のこと。予算委員会は内閣が提出する予算案を審議するこ##が専門であるが、予算案には国の重 ...
                  • -
call: word = ガラケー yomi = None 辞書の種類: singo 見出し語 : ガラケー (0, 0):「ガラパゴス携帯電話」の略。「ガラパゴス」は太平洋に浮かぶ諸島で、そのために独自に進化した生き物が多いことで有名。そのガラパゴス独特の進化ということを日本の携帯電##の進化の表現にあてはめたもの。多機能 ...
                  • -
call: word = 元気 yomi = げんき 辞書の種類: JJ 見出し語 : 元気 その他の情報: hinshi: [名・形動] yomi: げんき (1, 0):心身の活動の源となる力。 yourei: 「—が出る」,「—横溢」 (2, 0):体の調子がよく、健康であること。また、そのさま。 yourei: 「—な子供」,「お—ですか」 (3, 0):天地の間にあって、万物生成の根本となる精気。 ...
                  • -
call: word = 解散 yomi = かいさん 辞書の種類: JJ 見出し語 : 解散 その他の情報: hinshi: [名](スル) yomi: かいさん (1, 0):集会・行事などが終わって、集まっていた人が分かれてばらばらになること。散会。 taigigo: 集合 yourei: 「デモ隊が—する」,「現地—」 (2, 0):会社・法人・結社などの団体組織を一定の手続きにより解消させること。 ...
                  • -
call: word = アメリカ yomi = None 辞書の種類: JJ 見出し語 : America その他の情報: yomi: アメリカ (0, 1):南北アメリカ大陸の総称。
                  • -
call: word = 米国 yomi = べいこく 辞書の種類: JJ 見出し語 : 米国 その他の情報: yomi: べいこく (0, 0):アメリカ(亜米利加)合衆国の略称。
                  • -
call: word = 月 yomi = None 辞書の種類: JJ 見出し語 : 月 その他の情報: yomi: がち (1, 0):江戸時代、上方の遊里で、揚げ代1匁の下級女郎のこと。汐(3匁)・影(2匁)の下位## (2, 0):色 ... 辞書の種類: JJ 見出し語 : 月 その他の情報: yomi: がつ (0, 0): link: げつ 辞書の種類: JJ 見出し語 : 月 その他の情報: yomi: げつ (0, 0):七曜の一。また、「月曜」の略。
                  • -
call: word = 月 yomi = つき 辞書の種類: JJ 見出し語 : 月忌 その他の情報: yomi: がっき (0, 0):毎月の、故人の命日にあたる日。また、その日に行う法事。 辞書の種類: JJ 見出し語 : 月 その他の情報: yomi: つき (1, 0):地球の衛星。赤道半径は1738キロ、質量は地球の約81分の1。恒星を基準とすると地球##周りを周期約27.3日(恒星月)で公転する。自転と公転の周期が等しいので、常に一定の半面だけを地球に向けている ...
                  • -
call: word = 竜馬 yomi = None 辞書の種類: JJ 見出し語 : 竜馬 その他の情報: yomi: りゅうま (0, 0):「りゅうめ(竜馬)2」に同じ。 辞書の種類: JJ 見出し語 : 竜馬 その他の情報: yomi: りゅうめ (1, 0):非常にすぐれた馬。駿馬。りょうめ。りょうば。たつのうま。 (2, 0):将棋で、角の成ったもの。成り角。俗に「りゅうま」とも読む。 辞書の種類: JJ 見出し語 : 竜馬 その他の情報: yomi: りょうば (0, 0): link: りゅうめ(竜馬)
                  • -
call: word = パン yomi = None 辞書の種類: JJ 見出し語 : pan その他の情報: hinshi: [名](スル) yomi: パン (0, 0):映画・テレビの撮影技法で、カメラを1か所に据えたまま、レンズの方向を水平に動か##こと。上下に動かすことにもいう。 link: チルト yourei: 「—させて町の全景を撮る」 辞書の種類: JJ 見出し語 : pan その他の情報: yomi: パン (0, 0):底が平らで取っ手の付いている鍋。 yourei: 「フライ—」,「シチュー—」 辞書の種類: JJ 見出し語 : Pan その他の情報: yomi: パン (0, 1):ギリシャ神話で、牧人と家畜の神。あご髪をたくわえ、山羊の角と脚を持った半獣神。山野を走り回り、好んで笛を吹いたという。ローマ神話のファウヌスにあたる。に ...
                  • -
call: word = 竜馬 yomi = りょうま 辞書の種類: JJ 見出し語 : 竜馬 その他の情報: yomi: りょうま (0, 0): link: 坂本竜馬
                  • -
call: word = 坂本竜馬 yomi = サカモトリョウマ 辞書の種類: JJ 見出し語 : 坂本竜馬 その他の情報: yomi: さかもとりょうま (0, 0):[1836〜1867]幕末の志士。土佐藩士。名は直柔。千葉周作道場に剣を学び、のち脱藩し、勝海舟に師事。慶応2年(1866)薩長同盟成立に尽力。前土佐藩山内豊信を説い ...
                  • -
call: word = アップル yomi = あっぷる 辞書の種類: JJ 見出し語 : apple その他の情報: yomi: アップル (0, 0):りんご。 辞書の種類: JJ 見出し語 : Apple Inc. その他の情報: yomi: アップル (0, 0):米国のコンピューター会社。1976年、スティーブ=ジョブズ、スティーブ=ウォズニアクがアップルコンピュータを設立。2007年、現社名に変更。MacintoshPowerMaciMacなどのパーソナ ...
                  • -
call: word = テレビ yomi = てれび 辞書の種類: JJ 見出し語 : テレビ その他の情報: (1, 0):「テレビジョン」に同じ。 yourei: 「—をつける」,「—局」 (2, 0):1による放送・番組。 yourei: 「九時から見たい—がある」,「新聞の—欄」
                  • -
call: word = テレビジョン yomi = てれびじょん 辞書の種類: JJ 見出し語 : television その他の情報: yomi: テレビジョン (0, 0):動く画像を電気信号に変えて離れた地点に送り、それを映像に再現する通信方式。また、その受像機。テレビ。
                  • -