速さこそ正義

調べたことを書いていきます。

【Node.js】マルコフ連鎖で「人生」を要約する

マルコフ連鎖(Markov Chain)とは

私が説明するよりも以下のページを見た方が早いです。 マルコフ連鎖を説明してみる。 | 分析のおはなし。

この性質を利用して文章生成を行います。

要約方法

wikiの「人生」の説明内容をもとに、マルコフ連鎖で要約します。

人生 - Wikipedia

技術的方法

wikiの内容を形態素解析して分解
分解した言葉をマルコフ連鎖でランダムに繋いで作文

コードは以下の本に載っています。

JS+Node.jsによるWebクローラー/ネットエージェント開発テクニック

JS+Node.jsによるWebクローラー/ネットエージェント開発テクニック

結果

1回目

東洋では仏典の中に同様の役割を果たすものがあることに意味がある、と考えるのでは聖書が人々に人生を日々大切にし精一杯生きるべし、といった内容の戒めの言葉は、人間がこの世で生きることや、生きている」という人生観という。
また、飯田は別の著書で「自分たちは、次の人生を一種の学校だととらえることが言われているだけでもすでに意味がある、と考えることで、人生の意味の理解のしかたを人生観を採用すると、「今の人生に反映されるのだ」とも理解されている表現に"Arslongavitabrevisである。
古代ギリシャから古代ローマへ、そして現代にまで伝わっている」という人生観を提示しているだけでもすでに意味がある。

長い。

2回目

古代ギリシャから古代ローマへ、そして現代にまで伝わっている。
壁を乗り越えることに意味があり、壁に挑戦してきた。
数字の上では日本人の平均寿命はいくらか伸び、80年を超えはしたが、それでもやはりArslongavitabrevisである。

Arslongavitabrevisってなんだ

3回目

人生は長い、と述べているだけでもすでに意味があり、壁に挑戦していた時代もある。
かつては「人生、山あり谷あり」ともしばしば言われる。
たとえば法華経は多くの賢人たちが述べているだけでもすでに意味がある。

それっぽいようで読めない

感想

マルコフ連鎖を使った要約は昔からある技術らしく、今更感があったが実際に使ってみると面白い。
TwitterやYahooニュースなどからスクレイピングして要約なども多く行われているらしいが、文章の組み合わせはランダムでおこなっているので、ちゃんとした文章を出力させるには別の仕組みと組み合わせる必要がある。
マルコフ連鎖を理解できれば要約だけではなく、人口推移やページ遷移率なども計算できそう。