概要
公式サイトから抜粋
日本語ワードネットは日本語の概念辞書です。個々の概念はそれぞれ「synset」という単位にまとめられており、それらが他のsynsetと意味的に結びついています。
本辞書は、英語ワードネットをもとに構築されました。
...
日本語ワードネットに収録されたsynset数や単語数、語義数は次のとおりです。57,238 概念 (synset数)
93,834 words 語
158058 語義 (synsetと単語のペア)
135,692 定義文
48,276 例文
各種データ
今回は 日本語 WordNet (1.1) 最新版
を使う(ダウンロード)
Japanese Wordnet and English WordNet in an sqlite3 database
を利用
基本的に「概念」と「単語」を使うことになると思う
「概念」に「単語」が紐付いていて、「概念」同士が関連している(上位語とか下位語とか)という構造
- synset
- 概念の基本情報
- synset(synset番号)
- pos(品詞情報)
- name(名称)
- ...
- 概念の基本情報
- synset_def
- 概念の定義
- synset(synset番号)
- lang(言語)
- def(定義内容)
- ...
- 概念の定義
- synlink
- 概念間の関係性
- synset * 2(synset番号)
- link(関係性)
- ...
- 概念間の関係性
- link_def
- 関係性の定義
- link(関係性)
- lang(言語)
- def(定義内容)
-
大方の説明(一部ない)
- ※ 品詞によって、関係性が分類されているよう(参考: Wikipedia)
- Hype(上位語=当該synsetが相手synsetに包含される)
- Hypo(下位語=当該synsetが相手synsetを包含する)
- Inst(当該synsetは相手synsetの例である)
- Hasi(当該synsetは相手synsetを例として持つ)
- ...
-
大方の説明(一部ない)
- ...
- 関係性の定義
- sense
- 概念と単語の関連
- synset(synset番号)
- wordid(単語ID)
- lang(言語)
- ...
- 概念と単語の関連
- word
- 単語
- wordid(単語ID)
- lang(言語)
- lemma(内容)
- pos(品詞)
- ...
- 単語
- pos_def
- 品詞の定義
- pos(品詞)
- lang(言語)
- def(定義内容)
- 品詞の定義
- その他(よく分からない)
- ancestor
- 名前からして概念間の関係性を示していそう?
- synset_ex
- 概念の定義が入っている?
- variant
- 空、、
- xlink
- カテゴリ的なものが入っている?(例. サッカー→スポーツ)
- ancestor
検索してみる
「トカゲ」の上位語・下位語を取得する
SELECT
w1.lemma, sl.link, w2.lemma
from synlink as sl
INNER JOIN synset as sy1 on sy1.synset = sl.synset1
INNER JOIN synset as sy2 on sy2.synset = sl.synset2
INNER JOIN sense as se1 on se1.synset = sy1.synset
INNER JOIN sense as se2 on se2.synset = sy2.synset
INNER JOIN word as w1 on w1.wordid = se1.wordid
INNER JOIN word as w2 on w2.wordid = se2.wordid
where w1.lemma = 'トカゲ' and sl.link in ('hype', 'hypo')
and se1.lang = 'jpn' and w1.lang = 'jpn' and se2.lang = 'jpn' and w2.lang = 'jpn'
=>
lemma link lemma
トカゲ hype 蜥蜴類
トカゲ hypo ヤモリ
トカゲ hypo 毒トカゲ
トカゲ hypo カメレオン
「カメレオン」って「トカゲ」に包含されるのか??
ライセンス表示について
参考
- 以下参考にさせてもらいました