少し勉強したことを備忘録程度にまとめました。
Semantic Similarityとは
-
意味的な類似性
のこと - 意味が似ている単語が存在する。
馬⇔ロバ
と馬⇔人間
。どっちの組み合わせの方がより似ているだろうか。たぶん前者。 - 意味的な類似性を定量的に把握したくなってくる。
どんな時に定量的に把握したいか
- 意味的に似た単語同士をクラスタリングしたい
- テキスト含意認識(textual entailment)
- 2つの文章が同じ意味合いを含んでいるかを判定する。
- 検索すると、NECさんのサイトが上位に出てくる
-
Recognizing Textual Entailment(RTE)
で検索するとたくさん出てくる。
WordNetとは
WordNetとは、似たもの同士の関係性によって相互リンクされた意味的な単語辞書
のこと。単語間の関係性の辞書が無料で利用できる。
含まれる情報の例としては、以下のようなものがある。
- part of speech(品詞)
- synonyms(同義語/別名)
- hypernyms/hyponyms(上位語/下位語)
- 例えば、哺乳類(上位)-人間(下位)みたい
WordNetは階層構造で組織されている。多くの類似性の測定にこれらの階層が利用される。また、品詞ごとに異なる階層を保持。
日本語のWordNetは以下のサイトをご覧ください。国立研究開発法人情報通信研究機構(NICT)が、大規模&誰でも入手できる日本語の意味辞書開発を目的に、2006年から日本語wordnetの開発を進めている。
例えば、日本語のWordNetをもとに、試しに「人間」というキーワードを検索してみる。すると、いくつか計5個の検索結果が出た。
今回は一番上位にヒットした結果をみてみると、以下のように記載。日本語と英語それぞれで意味的に同質(=類似性が高い=同義語)な単語のクラスタがヒットする。
ヒト, ホモ, ヒト属, 人, 人間
man, human being, human, homo
これらのさらに詳細情報へ遷移する。
以下のような詳細情報が記載されている。
-
Definition(
人間
の定義)- Japanease
- English
-
Relations(
人間
の関連情報)- Hyponym(上位概念語)
- Hypernym(下位概念語)
- Meronym–Part(部分/一部を示す語)
- Holonym–Member(ある語の部分/一部)
- In Domain–Category
- 誰か教えてください。
- Semantic Field(意味的なフィールド)
これらを次回はPython使っていい感じにimportします。(English)
独学なので間違っていたら指摘ください。