抽出パタンは抽出すべき固有表現に関して,それを特定するための情報である. 一般に,文字や語,あるいはそれらに関する情報(品詞など)の並びとして表現する. 固有表現自身の情報(例えば,品詞情報が「人名」)であったり, それが現れる周りの語等の情報(例えば,後接する語が「さん」,「社長」である)であったり,それらの組合せであったりする.
蓄積された抽出パタンを新しい文書に適用し, それが適用可能な箇所から固有表現を見つけだす.
「人名」に分類される単語が二つ隣接していたら,それぞれ, 名字ならびに名前に相当するので,その全体が一つの人名である.これは,例えば,次のような知識で記述できる.
(.*品詞:人名.*\n.*品詞:人名.*\n) → <PERSON>\n$1</PERSON>\nここで,この規則は書換え規則となっており, 左辺に一致する文字列を左辺の文字列に置き換えることにより, 固有表現を表すタグ(ここでは,<PERSON>)を挿入する. ただし,右辺の`$1'は左辺の括弧内のパタンに一致する文字列を表す.
日本語の場合,語と語の間に空白がないので, 語の切れ目を見つけること自身が一仕事である. その作業を行ないつつ,各語の品詞などを解析するのが形態素解析器である. ここでは,京都大学で開発されたJUMANを紹介する.
JUMANは一行一文形式の文書を入力すると,単語に分割し,品詞情報などを付加してくれる.
出力例を次に示す.[出力例]
この例のように,品詞詳細情報の中に「人名」という分類が現れるので, これを有力な情報として使うことができる.
ただし,品詞解析が必ず成功しているとは限らない. たとえば,「名詞 人名」と解析すべきところが,「名詞 普通名詞」や「名詞 地名」などと解析されることも多い.
まず,/usr/local/share/lib/juman3.61/jumanrc というファイルを ファイル ~/.jumanrc にコピーし,設定ファイル ~/.jumanrc を作成する.
juman の本体は /usr/local/share/lib/juman3.61/bin/juman であるので, /usr/local/share/lib/juman3.61/bin にパスを通しておくと便利である.
JUMANには幾つかのオプションがあるが,それについては,
juman -hと -h オプションによりjumanを起動するとオプションの説明が表示される.
構文解析とは語と語の関係を解析することである. 形態素解析器と構文解析器を組み合わせることにより, 形態素解析結果の品詞の曖昧性が正しく解消されることもある. 形態素解析システムの出力における曖昧性を一部解消してくれる. ここでは,同じく京都大学が開発したKNPという構文解析器を紹介する.
KNPはjumanの出力を入力とし,構文解析結果を出力する. 起動方法は以下の通りである. ただし,knpの本体は /usr/local/share/lib/knp2.0b6/bin/knp であるので, /usr/local/share/lib/knp2.0b6/bin にパスを通しておくと便利である.
juman -e -B | knp -tab
出力例を次に示す.[出力例]
アスタリスク(`*')で始まる行は文節のはじまりを表し,その文節の情報ならびに, 係受け先の情報などを含む.