#1. Watson Explorer (WEX)とは
Watson Explorer(WEX)とは、IBM製の文書分析ツールである。
WEXにCSVなどの文書を投入しWEXが文書に対して形態素解析を行うので、単語同士の関係性を見ることができ。また、ある単語で検索する場合、その単語と結びつきが強い単語が提示されるので、探していた文書の絞り込みが行いやすいといった特徴がある。
[参考]
製品概要
#2. パターン辞書とは
WEXには2種類の辞書機能が存在する。
1つはユーザー辞書といい、製品名や化学物質名といった業界特有の専門用語をWEXに識別させるために登録するものである。これは、単語を登録し、単語に紐づく言い回し表現も登録することができる。
もう1つはパターン辞書といい、年月日など特定の決められたパターンの表現を識別するために登録するものである。これは、正規表現を組み込んだ形で登録できる。
#3. 和暦⇔西暦をパターン辞書
###【2019年, 2019/01/01, 2019/1/01, 2019/01/1, …などを2019年として抽出】
・[2019年]を識別
<mi category="$.date_rule" value="2019年" >
<w id="0" lex="/^[2][0][1][9]$/"/>
<w id="1" lex="/^(年)$/" />
</mi>
・[2019/01/01]を識別
/ は、\でエスケープする。月や日が二桁で表現されれいるものを抽出する。
<mi category="$.date_rule" value="2019年" >
<w id="0" lex="/^[2][0][1][9](\/)[0-9][0-9](\/)[0-9][0-9]$/"/>
</mi>
・[2019/1/01]を識別
月が一桁で記述されているものを抽出する。
<mi category="$.date_rule" value="2019年" >
<w id="0" lex="/^[2][0][1][9](\/)[0-9](\/)[0-9][0-9]$/"/>
</mi>
・[2019/12/1]を識別
日付が一桁で記述されているものを抽出する。
<mi category="$.date_rule" value="2019年" >
<w id="0" lex="/^[2][0][1][9](\/)[0-9][0-9](\/)[0-9]$/"/>
</mi>
###【平成31年, H31.1.1,平成三十一年 …などを2019年として抽出】
・[H31年]、[平成31年]を識別
<mi category="$.date_rule" value="2019年" >
<w id="0" lex="/^((H)|(平成))/"/>
<w id="1" lex="/^[3][1]$/"/>
<w id="2" lex="/^(年)$/" />
</mi>
・[H31.1.1]、[平成31.1.1]を識別
<mi category="$.date_rule" value="2019年" >
<w id="0" lex="/^((H)|(平成))/"/>
<w id="1" lex="/^[3][1](\.)[0-9](\.)[0-9]$/"/>
</mi>
・[平成三十一年]を識別
<mi category="$.date_rule" value="2019年" >
<w id="0" lex="/^(平成)/"/>
<w id="1" lex="/^[三][十][一]$/"/>
<w id="2" lex="/^(年)$/" />
</mi>
###【‘19/01/01, ‘19, …などを2019年として抽出】
・['19/01/01]を識別
'をエスケープ。
この例ではよく見えないが、single-quoteも色々な single-quoteがあるので4つくらいパターンを作ってる。
<mi category="$.date_rule" value="2019年" >
<w id="0" lex="/^((\')|(\’)|(\‘)|(\'))[1][9](\/)[0-9][0-9](\/)[0-9][0-9]$/" />
</mi>
・['19]を識別
<mi category="$.date_rule" value="2019年" >
<w id="0" lex="/^((\')|(\’)|(\‘)|(\'))$/" />
<w id="1" lex="/^[1][9]$/" />
</mi>
###【2019年3月1日、2019年03月01日 …などを2019年3月1日として抽出】
・[2019年3月1日]を識別
3月は「3」と「月」ではなく「3月」としてWEXACは抽出する。
<mi category="$.date_rule" value="2019年3月1日" >
<w id="0" lex="/^[2][0][1][9]$/"/>
<w id="1" lex="/^(年)/" />
<w id="2" lex="/^(3月)/" />
<w id="3" lex="/^[1]$/"/>
<w id="4" lex="/^(日)/" />
</mi>
・[2019年03月01日]を識別
<mi category="$.date_rule" value="2019年3月1日" >
<w id="0" lex="/^[2][0][1][9]$/"/>
<w id="1" lex="/^(年)/" />
<w id="2" lex="/^[0][3]$/"/>
<w id="3" lex="/^(月)/" />
<w id="4" lex="/^[0][1]$/"/>
<w id="5" lex="/^(日)/" />
</mi>
###【平成31年3月1日, H31年03年01日、 …などを2019年として抽出】
・[平成31年3月1日]、[H31年3月1日]を識別
<mi category="$.date_rule" value="2019年3月1日" >
<w id="0" lex="/^((H)|(平成))/" />
<w id="1" lex="/^[3][1]$/"/>
<w id="2" lex="/^(年)/" />
<w id="3" lex="/^(3月)/" />
<w id="4" lex="/^[1]$/"/>
<w id="5" lex="/^(日)/" />
</mi>
・[平成31年03月01日]を識別
<mi category="$.date_rule" value="2019年3月1日" >
<w id="0" lex="/^((H)|(平成))/" />
<w id="1" lex="/^[3][1]$/"/>
<w id="2" lex="/^(年)/" />
<w id="3" lex="/^[0][3]$/"/>
<w id="4" lex="/^(月)/" />
<w id="5" lex="/^[0][1]$/"/>
<w id="6" lex="/^(日)/" />
</mi>