2007-08-06 Mon
日本語意味解析製品「なずき」、か
日本語意味解析製品「なずき」というアプリケーションに関する
解説が乗っかっていたので、興味を持って記事を読んでみました。
世界初のモバイル向けコンテンツ連動型広告開始 @IT
NTTデータが共同開発した日本語意味解析製品「なずき」を用いたことで、
精度の高いマッチングが可能になった。
でも、記事からは残念ながら「なずき」の魅力があまり分かりませんでした。
高度な分析を行う辞書データベースを持つ言語処理エンジンで、例えば
「私の彼って、最近車買ったんだよぉ? 明日は軽井沢へ連れて行ってく
れるんだぁ」という文章から、旅行、宿泊、自動車に関連した広告を表示
させることができる。
この記事で言及していることは、意味を解析しなくても実現できます。
大人気無いですが、実際に一緒にやってみましょう。
@ITの記事と同じような処理を実際にやってみよう
プログラムするまでもないので、手を動かして遊んでみます。
入出力
入力 : 私の彼って、最近車買ったんだよぉ? 明日は軽井沢へ連れて行ってくれるんだぁ
出力 : 旅行、宿泊、自動車
つかうもの
- Chasen(WindowsのGUI版でOK)
ChaSen's Wiki - 茶筌の配布
- Yahoo!検索
1、Chasenで名詞を抽出
「私の彼って、最近車買ったんだよぉ? 明日は軽井沢へ連れて行ってく
れるんだぁ」を文分割する必要もないので、そのままChasenで解析。
形態素解析の結果として、基本形と品詞を表示しています。
の の 助詞-連体化
彼 彼 名詞-代名詞-一般
って って 助詞-格助詞-連語
、 、 記号-読点
最近 最近 名詞-副詞可能
車 車 名詞-接尾-一般
買っ 買う 動詞-自立
た た 助動詞
ん ん 名詞-非自立-一般
だ だ 助動詞
よ よ 助詞-終助詞
ぉ ぉ 未知語
? ? 記号-一般
明日 明日 名詞-副詞可能
は は 助詞-係助詞
軽井沢 軽井沢 名詞-固有名詞-地域-一般
へ へ 助詞-格助詞-一般
連れ 連れる 動詞-自立
て て 助詞-接続助詞
行っ 行く 動詞-非自立
て て 助詞-接続助詞
くれる くれる 動詞-非自立
ん ん 名詞-非自立-一般
だ だ 助動詞
ぁ ぁ 未知語
EOS
ここから名詞だけを抽出します。
彼 彼 名詞-代名詞-一般
最近 最近 名詞-副詞可能
車 車 名詞-接尾-一般
ん ん 名詞-非自立-一般
ぉ ぉ 未知語
明日 明日 名詞-副詞可能
軽井沢 軽井沢 名詞-固有名詞-地域-一般
ん ん 名詞-非自立-一般
ぁ ぁ 未知語
2、簡単なストップワード処理
この手の処理にストップワード処理は必須です。
結果を確認しながら、より汎用性の高いルールを探して、
ストップワードのフィルタリングに使いましょう。
今回は、以下の3ルールを使います。
- 代名詞はストップワード
- ひらがな、カタカナ、英数字1文字はストップワード
- 名詞-副詞可能はストップワード
その結果は以下の通りです。
軽井沢 軽井沢 名詞-固有名詞-地域-一般
3、関連語検索をする
「車」、「軽井沢」というキーワードが取得できたので、
これらを使ってYahoo!検索の関連語を確認します。
ページ下部に関連語リストが出現しますよ。
Yahoo!検索 - 軽井沢
リンス, 軽井沢 ペンション, 軽井沢 観光, 軽井沢 宿泊, 旧軽井沢,
軽井沢 おもちゃ王国, 星のや 軽井沢 で検索
整頓してみると、以下のようになります。
・軽井沢の関連ワード
-アウトレット
-プリンスホテル
-ホテル
-プリンス
-ペンション
-観光
-宿泊
-旧軽井沢
-おもちゃ王国
-星のや
4、最後に関連語から一般的な語を選択する
これらのキーワードのなかで、より一般的なキーワードは、
「観光」と「宿泊」です。
検索エンジンのヒット数を目安にしてもよいですし、
関連ワードをもう一度Chasenにかけてフィルタリングしても良いでしょう。
自動車も「車」というキーワードで同じようにすれば見つかりますよ。
なづきについて知りたくなったので調べてみると、
以下のような記事を見つけました。
「スーパーなずき」の最適化開発・展開について NTTデータ
能のうち、以下について最適化および機能強化を行います。
1. 従来の形態素解析や構文解析による単語や文法情報抽出に加えて、意
味情報を抽出できる最先端技術「不連続ノード同時評価型A*アルゴリズム」
による日本語意味解析処理の高速化
2. 「話題分野」「意図予測分野」「感性理解」などの複合的な意味属性
を効率的に理解できる最先端技術「多属性意味照合システム」の精度強化
および高速化
3. 意味共起解析基本辞書(8,000万パターン・220万語)、概念知識辞書
(4,000概念・100万語)、話題分野知識辞書(981分類・70万語)、感性
理解知識辞書(360億パターン)、固有表現知識辞書(23万語)、広告関
連知識辞書(43万語、50億パターン)の規模拡張に加え、広告関連固有表
現辞書(10万語)・CGM関連知識辞書(60億パターン)の新規開発
4. コンテンツ・ユーザー動向・広告クリエイティブ内容を分析・照合し
最適な広告情報を抽出する「志向性マッチングシステム」の最適化
ふむふむ。この辞書は素晴らしそうですね。
自分ではとても作れない巨大な辞書です。
巨大な辞書とNLPツールと検索エンジンの組み合わせが
なずきという製品なのかな。正直ネットでは良くわかりませんでした。
なんというか、意味解析って何かと難しいですね。
意味解析、という言葉がカッコよいだけに色々ありそう。
2007-08-02 Thu
富士フイルム シソーラスに基づく関連画像検索エンジン 「TRIPIT」
富士フイルムが、独自開発のシソーラスに基づくクエリ拡張を使った
関連画像検索エンジン「TRIPIT」を公開しました。
Web APIも同時に公開されているので使ってみると面白そうですよ。
TRIPIT
http://labs.tripit.jp/
画像を検索することができる「関連画像検索エンジン」です。
TRIPITによる検索は、ユーザがクエリを与えることで始まります。
クエリを与えるとTRIPITは、クエリの「上位語」「下位語」や
「同位語(同じ上位語を持つ語)」をシソーラス中から探します。
そして、それらの語をタグとして画像検索を行い結果を返します。
* 上位の意味を持つ「植物」のタグがついた画像
* 下位の意味を持つ「チューリップ」「あじさい」のタグがついた画像
* 並列の意味を持つ「ガーデニング」「鳥」のタグがついた画像
などを検索結果として得ることができます。
肝心なシソーラスはサーバードメイン社と富士フイルムの共同開発だとか。
実質サーバードメイン社が発注を受けて構築したか、
自社のシソーラスを提供したか、どちらかではないでしょうか。
シソーラスの自動拡張を実装しているみたいなので、おもしろいですね。
シソーラス構築時の上位・下位語の計算にはWikipediaを(も?)使ったそうです。
ちょっと頑張れば軽いシソーラスは誰でも作れるということですね。
精度を向上するためには、いろいろ課題はあるでしょうけど。
こういうものを富士フィルムが出したということは、
現代の技術では画像を使って画像を検索することが困難であることを
示唆している気がして、ちょっと寂しくなったのでした。
2007-06-24 Sun
2007-06-24 Sun
WebService::YahooJapan::WebMA
WebService::YahooJapan::WebMAがリリースされていた。
WebService::YahooJapan::WebMA - search.cpan.org
Japan Web MA Web Service
便利そうです。そういえばまだWebMAを試せていない。
週末はやることが多いなー。
2007-06-20 Wed
Yahoo!が日本語形態素解析のWeb APIを公開
Yahoo!がWebMAのWeb APIを公開しました。これはすごい。
Yahoo!デベロッパーネットワーク - テキスト解析 - 日本語形態素解析
なの付与、統計情報を取得できる機能を提供します。
あとでWebMAをどういうときに使うと良いかを実験してみよう。
ローカルで大量に形態素解析する必要が無いときかつ、
どんなときなのか。やってみなきゃわからないですね。
2007-04-27 Fri
スペル修正プログラムはどう書くか
Googleのリサーチディレクター、Peter Norvigの記事、
How to Write a Spelling Correctorを青木靖さんが翻訳。
すばらしいですね。
スペル修正プログラムはどう書くか
書 くのは、啓蒙するよりは混乱させるだけだと思う。それで、出張から
帰る飛行機の中で 、1ページくらいのおもちゃのスペル修正プログラムで、
80から90%の精度で毎秒10語程度処理できるものが書けないだろうかと考
えてみた。
読んでみると分かるけど、研究的なアプローチで勉強になります。
開発の最初から評価までの非常に丁寧な解説なので、
読んでいてワクワクして最後まで一気読みしてしまいました。
この記事を読んで熱くなってハックしてる人が沢山いそうですね。
▼関連記事
[O] PN単語辞書 - 単語感情極性対応表
2007-04-24 Tue
どこでもSentiment Analysis - Webページのポジネガ判定
乾さんの「Sentiment Analysis - demo」が、
「どこでもSentiment Analysis」という名前に変わっていました。
# DO KO DE MOでしょうか・・
しかもブックマークレットまでついて素晴らしいっす。
ブックマークレットを使うことで手軽にWebページのポジネガ判定ができます。
[O] Ajaxでポジネガ判定 「Sentiment Analysis - demo」の解析結果

解析の精度はともかく、かなりいい感じですよね。
ブログの記事に直接ポジティブ・ネガティブが振られると、
非常に分かりやすいなと思います。
以下、乾さんによるサービスの説明です。
●使い方
1. 以下のjavascript をブックマークに登録する.
2. ウェブをサーフする.
分析したいページ上で,上記のブックマークを選択する.
これで,分析エンジンが動きます.
ブックマークレット
「どこでもSentiment Analysis」という名前には、
いろいろな野望が秘められている気もしますね。
ともかく、とても楽しいサービスなので沢山遊びたいと思います。
▼関連リンク
- [O] Ajaxでポジネガ判定 「Sentiment Analysis - demo」がバージョンアップ
- [O] PN単語辞書 - 単語感情極性対応表
2007-04-23 Mon
Ajaxでポジネガ判定 「Sentiment Analysis - demo」がバージョンアップ
乾さんの、「Sentiment Analysis - demo」がAjax対応になりました。
このサイトでは、文章中の単語の極性を判定できます。
APIも公開しています。
Sentiment Analysis - demo
研究を実装して公開することは、すばらしいことですね。尊敬。
▼関連記事
[O] PN単語辞書 - 単語感情極性対応表
2007-04-20 Fri
IOB2フォーマットによるトークンへのタグ付与
IOB2フォーマットは、トークンがチャンクに含まれるか否かの状態を示すため
のタグ付与方法を定義している。
トークン : 文の中の単語・構成要素
# POS区切りされた断片とか
チャンク : 見た目のまとまり、または、意味的なまとまり
# POS区切りされた断片を集めた固有名詞とか
・IOB2フォーマット
| タグ | 用途 |
| I | チャンク中の先頭以外のトークンに付与 |
| O | チャンクに含まれないトークンに付与 |
| B | チャンク中の先頭トークンに付与 |
すべてのトークンが何らかのチャンクに含まれるようなタスクの場合には、
Oタグを付与されるものが無いことになる。
Heが名詞句(noun phrase)としての意味を持つ、
1トークンからなるチャンクの場合には「B-NP」という
IOB2タグが付与される。
工藤拓さんのCRF++のページに、
IOB2フォーマットによってタグ付けしたデータの例がある。
He PRP B-NP
reckons VBZ B-VP
the DT B-NP
current JJ I-NP
account NN I-NP
deficit NN I-NP
will MD B-VP
narrow VB I-VP
to TO B-PP
only RB B-NP
# # I-NP
1.8 CD I-NP
billion CD I-NP
in IN B-PP
September NNP B-NP
. . O
ちなみに、1列目:表層、2列目:POSタグ、3列目:IOB2フォーマットタグ
となっている。文末のピリオドに対応するトークンには、
他のチャンクと同じような、語としての意味がない。
そのためチャンク外としてOが付与されている。
トークンからどのようなチャンクを取り出したいかによって、
IOB2タグの付与方法は変わる。タスク依存。
たとえば、トークンから固有名詞を取り出したいときには、
固有名詞に対応するトークンだけB or Iタグが付与できて、
その他のすべてのトークンにはOタグを付与できるかもしれない。
ちなみに、上記のようなタグ付け済みデータを用意すれば、
CRF++やYamChaを学習させることができるので、
トークンからの目的とするチャンクの抽出ができるようになる。はず。
▼関連記事
- [O] PN単語辞書 - 単語感情極性対応表
2007-04-20 Fri
PN単語辞書 - 単語感情極性対応表
東工大奥村研の助手の高村さんの単語感情極性対応表。
とてもおもしろいのでオススメ。
高村さんの単語感情極性対応表
限り公開します。 感情極性とは、その語が一般的に良い印象を持つか
(positive) 悪い印象を持つか(negative)を表した二値属性です。 例
えば、「良い」、「美しい」などはpositiveな極性、 「悪い」、「汚い」
などはnegativeな極性を持ちます。
感情極性値は、語彙ネットワークを利用して自動的に計算されたものです。
もともと二値属性ですが、-1から+1の実数値を割り当てました。 -1に近
いほどnegative、+1に近いほどpositiveと考えられます。 リソースとし
て、日本語は「岩波国語辞書(岩波書店)」を、 英語はWordNet-1.7.1を
使わせていただきました。 "
