主語名詞および述語名詞に語義情報を付与。語義のセットとして、
SUMO(Suggested Upper Merged Ontol-ogy)
の一部のクラス名を使用。Entity
Physical
Abstract
Object Process
ContentBearingPhysical
SelfConnectedObject Artifact
Region
Collection Agent
ContentBearingProcess
Substance
CorpuscularObject OrganicObject
ContentBearingObject
Organism AnatomicalStructure
Human
Group
Organization
Quantity Attribute
Relation
Proposition
TimeMeasure SocialRole
6.5.2
作業手順1.
語義の自動付与(
a
)形態論情報による付与i.
品詞を見て「名詞-
人名」にHuman
を割り当てるなど(
b
)辞書引きによる付与i.
日本語WordNet
で語義を辞書引きii. WordNet
の語義名からSUMO
の語義名へ変換iii. SUMO
の上位クラス名を特定2.
人手による修正(
a
)複数の作業者による修正・補完作業6.5.3
概念辞書シソーラス 単語をその意味に基づいて大分類、中分類というように分類した辞書。『分類語彙表』『日本語語 彙体系』など。
タクソノミー 概念を上位
/
下位関係などによって階層的に分類したもの。生物の分類など。オントロジー 概念を様々な関係概念によって体系化したもの。
WordNet
、SUMO
など。6.5.4 WordNet
語の意義を様々な関係概念によって体系化したオントロジー辞書。
WordNet
の語義名からSUMO
の概念名 へのリンクも含まれている。日本語についても、日本語の語彙を割り当てた日本語WordNet
がある。word
synset
SUMO 猫
true_cat sense
ネコ
sense
にゃんにゃん sense
cat
sense
feline synlink
house_cat synlink
wildcat synlink
Feline xlink
xlink
xlink xlink
語義
(synset)
間の関係(synlink)
は上位/
下位関係だけでなく、様々な種類の関係によって体系化されている。省略名 非省略名 日本語名
Hype Hypernym
上位語Hypo Hyponym
下位語Mprt Meronyms — Part
被構成要素(
部分) Hprt Holonyms — Part
構成要素(
部分)
以下略日本語
WordNet
はSQLite
データベースやXML
などの形式で公開されている。今回はSQLite
版を使用し た。Ruby
からSQLite
データベースを利用するためには、sqlite3-ruby
やActiveRecord
などのライブラリを利 用する。WordNet
では単一の語(word)
が複数の語義(synset)
と関係づけられている場合がある(
例えば「犬」が
“
犬”
と“
スパイ”
の意味を持つなど)
。英語版のWordNet
では語と語義の関係(sense)
に頻度情報(freq)
が 付与されており、これを用いて頻度の高い語義を選択するという方法が考えられるが、日本語WordNet
には 頻度情報が収録されていない。今回は便宜的に英語の頻度情報を流用して多義語の解決を図った。図
13 WordNet
データベース(Bond et al. , 2009)
6.5.5 SUMO
既存のオントロジーを統合する目的で開発された上位オントロジー。
SUMO
本体(Merge.kif)
、ジャンル 別オントロジ(Economy.kif, Food.kif, Human.kif, ...)
、およびそれらを結ぶ中間レベルのオントロ ジー(MILO.kif)
で構成される。SUO-KIF(Standard Upper Ontology - Knowledge Interchange Format)
という 言語で記述されている。1 ( subclass Physical Entity )
2 ( partition Physical Object Process )
3 ( documentation Physical EnglishLanguage " An entity that has a location in space - time .
4 Note that locations are themselves understood to have a location in
5 space - time .")
6 7 ( <= >
8 ( instance ? PHYS Physical )
9 ( exists (? LOC ? TIME )
10 ( and
11 ( located ? PHYS ? LOC )
12 ( time ? PHYS ? TIME ))))
今回はこのファイルの一部
(
括弧が入れ子になっていない部分)
をSQLite
データベースに変換し、WordNet
と同様にRuby
から使用した。6.5.6
人手修正複数の作業者に依頼して、語義情報の修正と補完を行った。作業者間の評定の一致度を測ったところ、
Cohen
のκ
係数で0.5
〜0.8
程度の数値が得られた。■
Cohen
のκ
係数 評定者間の一致度を測るための統計尺度。以下の式で求める。κ = Pr(a) − Pr(e) 1 − Pr(e)
ここで
Pr(a)
は2
人の評定者間の一致率の実測値、Pr(e)
は一致率の期待値である。例えば次のようなデータがあるとする。
B
Yes No Total
A Yes 20 5 25
No 10 15 25
Total 30 20 50
まず一致率の実測値を計算する。全体のデータ数は
50
である。そのうち、評定者A
とB
の両方がYes
と答えているケースは20
例、両方がNo
と答えている例は15
例で合計35
例なので、一致率の実測値はPr(a) = 35 / 50 = 0 . 7
である。次に一致率の期待値を計算する。
A
がYes
と答えている例は25
例なので、A
がYes
と答える確率は25 / 50 = 0 . 5
である。B
がYes
と答えている例は30
例なので、B
がYes
と答える確率は30 / 50 = 0 . 6
である。従って
A
とB
の両方がYes
と答える確率は0 . 5 × 0 . 6 = 0 . 3
である。同様にA
とB
の両方がNo
と答える確率 を計算すると0 . 2
になる。これらを足すと、A
とB
の答えが一致する確率の期待値はPr(e) = 0 . 3 + 0 . 2 = 0 . 5
である。これらの数値を使って
κ
を計算すると以下のようになる。κ = 0 . 7 − 0 . 5 1 − 0 . 5 = 0 . 4
κ
係数は、評定者2
人の答えが完全に一致した場合は1
、期待値と同程度にしか一致しない(
すなわち両者の 評定は独立していて相関がない)
場合は0
となる。期待値よりも一致率が低い(
負の相関が認められる)
場合は マイナスになる。0.5
〜0.8
という数字は、かなりの程度一致している(
相関が認められる)
と解釈することがで図
14 κ
係数きる。