wordnet
公式ぽいもの
corpusのdownload
code:python
import nltk
nltk.download('omw')
nltk.download('wordnet')
from nltk.corpus import wordnet as wn
とすると、downloadされる
code: cmd
!head /root/nltk_data/corpora/omw/jpn/wn-data-jpn.tab
!wc -l /root/nltk_data/corpora/omw/jpn/wn-data-jpn.tab
>>>>
00001740-a jpn:lemma 可能
00001740-n jpn:lemma 実体
00001740-r jpn:lemma アカペラで
00001740-v jpn:lemma 吐く
00001740-v jpn:lemma 呼吸+する
00001740-v jpn:lemma 息づく
152300 /root/nltk_data/corpora/omw/jpn/wn-data-jpn.tab
152300文字
158,069
152
NLTKを使った, wordnetの情報の取り出し例。
日本語も(ある程度?)いける。概念辞書なので
synset(概念)にしたあとは、synsetベースでやる。
synsetの定義と例の日本語は、上記にある。NLTKには直接はいってないけど、synset のidでmappignすればよい
名詞は、上位語(hypernyms)をたどると、 'entiry' になるが、動詞はたくさん。550くらいある。下の数字はその木のリーフ(語)の数。
code:python
from collections import Counter
from itertools import chain
root_hypernyms_of_verbs.most_common(10)
"""
[(Synset('change.v.01'), 1704),
(Synset('change.v.02'), 1295),
(Synset('act.v.01'), 1083),
(Synset('move.v.02'), 1027),
(Synset('make.v.03'), 659),
(Synset('travel.v.01'), 526),
(Synset('think.v.03'), 451),
(Synset('transfer.v.05'), 420),
(Synset('move.v.03'), 329),
(Synset('connect.v.01'), 262)]"""
以下は、(結果として)古い情報のサーチとなってしまったかも。
=========================================================================================
機械学習の時代に効用がどれくらい高いかわからないけど、一つの情報としてもっておくのはよさそう。 言葉の整理の仕方とかでも参考になるはず。整理した分が脳内に持てる量。
日本語ワードネットに収録されたsynset数や単語数、語義数は次のとおりです。
57,238 概念 (synset数)
93,834 words 語
158058 語義 (synsetと単語のペア)
135,692 定義文
48,276 例文
(データ用テーブル)
№ テーブル名 説明
1 word 日本語および英語の単語情報
2 synset 単語の持つ概念をまとめたもの
3 sense 単語と概念の紐付けを管理する
4 synlink synset間の関係性を管理する
5 ancestor synset間の関係性の深さ(世代数)を管理する
6 xlink synsetと上位オントロジーSUMO(※)との関係性を管理する
7 variant 単語の特殊な読み方を管理するためのテーブルと思われる。日本語Wordnetではデータ無し。
中の カラムの説明がないみたい。これは、英語版で調べるしかない?
ここからdownloadして、
SQLite3で十分なのだけど、cloud functionで引けるようにしたい。 sqlite dump -> mysql dump. 下のサイトでやってくれる。 5分くらいで出来て、レスポンスが来た。
$ curl] -F files[]=@localfilepath .....
それを、cloud sql の mysqlインスタンスに入れる。dumpfileにはDB名がないので、importする際にDB名を指定して入れる。
一番安いので月1000円弱。つかわなくなったら、dumpしておいて インスタンス消せば良い。
cloud shell上のconsoleで見てたけど、イメージわかないので、phpmyadminを入れる。
GAE のstandard PHPで簡単にいけた。 gaeは、認証が楽。 adminつけておけば良い。
ER図も欲しいけど。。ツールは転がってそう。
あとは、類語や概念の上下をどう図示するのが良いかという話になる。
weblioの例
この scrapboxもそうだけど、どう知識をネットワークしておくと、楽しいか?という話。
数学より、理解の積み上げがし易い。
参考