単語を使った特徴量をBasic Summarization Modelに組み込む(NLP, 自動文書要約)
前回,
というのをやりました. 簡単に言うと,これは文をスコア付けして,スコアの高いものから要約として採用するというものでした. このモデルでは,各文は,最初の文は最も重要であり,終わりに近づくにつれて文の重要度は減少していく , というsentence position hypothesisに基づいてスコア付けされる.
前回紹介した論文:
では単語の特徴量をこのBasic Summarization Modelに組み込んだものを提案している. Studyというタイトルとおり,提案しているというよりは,調べていると言った方が良いのか. 基本的には, ある単語の早い出現は情報をたくさんもっている. というword position hypothesisに基づいて各単語の情報量の重みを表現する. これは単語そのものをスコア付けしていたのに対して,単語と出現回数(何回目の出現なのか)のペアでスコア付けをするというものだ. つまり,wという単語のi番目の出現をf(w, i)でスコア付けする. fをどうするか,については4つ程考察されていた.
- Direct proportion
- Inverse proportion
- Geometric sequence- Binary function
Basic Summarization Model では,各文を以下の関数でスコア付けする.
$$ \displaystyle score(s) = \frac{1}{\|s\|} \sum_{i} \log freq(w_{i}) $$
ちなみには文sに含まれる単語数. これを単語の持つ情報量の平均と解釈しているみたいだ. ちなみに単語wの持つ情報量info(w)は,
$$ \displaystyle info(w) = - p(w) \log p(w) $$
だと思うがどうなのか.さてこのスコアに単語wの位置による特徴量pos(w)を以下のように組み込む.
$$ \displaystyle score^{'}(s) = \frac{1}{\|s\|} \sum_{i} \log freq(w_{i}) pos(w_{i}) $$
これで単語の出現位置も考慮したスコア付けが可能になる. というわけで例のごとく実装してみた.source code
Result
真に「使える」手書きメモアプリだと思わせてくれた『DioNote』 ==================================================================================================== Android:手書きメモアプリが使えないのは過去の話になったかも。 「手書きメモアプリ」と聞くだけで、筆者は敬遠するところがありました。今までいくつかのアプリを試してきて、うまく文字が書けたり、正しく反映されたためしがなかったのです。大人しくキーボードから入力するメモが一番だ、と。 ですが、今回紹介する『DioNote』は、手書き反映の機敏さといい、認識力の高さといい、かなりの実力を持っていて、久々に「いいね!」と言いたくなるアプリでした。 加えて、画像の挿入や文字入力、メモのショートカットをホームに置けるなど、細かな機能も実装されており、あらゆる点からなかなか使える仕上がりとなっています。 早速、トップ画面右上のプラスマークからメモを作ってみます。ノートのようなデザインです。画面下部の領域に文字を手書きで入力していきます。一文字書いてみると、反応の正確さにビックリします。 すぐさま一文字書いたことが認識され、新たな文字、さらに新たな文字...と、そのテンポの良さも素晴らしい。ちなみに、一文字ずつだけでなく、横に連続で書いていくことも可能です。 画面右上のメニューから「キャンパス作成」をタップすると、真っさらな自由帳のような画面になります。ここでは画像の貼り付けも自由にでき、より気ままなメモを作成できます。実験結果は以下のようになった.上からBasic Summarization Model,direct proportion, inverse proportion, getometric sequence.
真に「使える」手書きメモアプリだと思わせてくれた『DioNote』 ==================================================================================================== 大人しくキーボードから入力するメモが一番だ、と。ノートのようなデザインです。画面下部の領域に文字を手書きで入力していきます。一文字書いてみると、反応の正確さにビックリします。すぐさま一文字書いたことが認識され、新たな文字、さらに新たな文字...と、そのテンポの良さも素晴らしい。 真に「使える」手書きメモアプリだと思わせてくれた『DioNote』 ==================================================================================================== Android:手書きメモアプリが使えないのは過去の話になったかも。「手書きメモアプリ」と聞くだけで、筆者は敬遠するところがありました。今までいくつかのアプリを試してきて、うまく文字が書けたり、正しく反映されたためしがなかったのです。大人しくキーボードから入力するメモが一番だ、と。 真に「使える」手書きメモアプリだと思わせてくれた『DioNote』 ==================================================================================================== Android:手書きメモアプリが使えないのは過去の話になったかも。「手書きメモアプリ」と聞くだけで、筆者は敬遠するところがありました。今までいくつかのアプリを試してきて、うまく文字が書けたり、正しく反映されたためしがなかったのです。大人しくキーボードから入力するメモが一番だ、と。ノートのようなデザインです。画面下部の領域に文字を手書きで入力していきます。 真に「使える」手書きメモアプリだと思わせてくれた『DioNote』 ==================================================================================================== Android:手書きメモアプリが使えないのは過去の話になったかも。「手書きメモアプリ」と聞くだけで、筆者は敬遠するところがありました。今までいくつかのアプリを試してきて、うまく文字が書けたり、正しく反映されたためしがなかったのです。大人しくキーボードから入力するメモが一番だ、と。ノートのようなデザインです。