Node.jsマルコフ連鎖モジュール作ったよ

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

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

読者サポート | JS+Node.jsによるWebクローラー/ネットエージェント開発テクニック | ソシム

こちらのページにあるコードを参考にマルコフ連鎖モジュールを作成してみました。

github.com

こんなかんじに入力するテクストと出力するテクストの数を指定します。

import fs from 'fs';
const MarkovChainMecab = require('markov-chain-mecab');
const markov = new MarkovChainMecab(fs.readFileSync('sample.txt', 'utf8'), 5);

console.log(markov);

このモジュールを使って、 こちらを要約してみましょう。

withnews.jp

一回目...

毎日新聞のスポーツ面の見出し。 同社社長室の広報担当者は40代半ばのSMAPと同世代の男性。 「青いイナズマ白星発進」「『新体制俺たちに明日はある』がお気に入り。

二回目...

さて、何曲入っているそうです。 カラオケでも毎回、SMAPの曲を歌うファンだそうです。 カラオケでも毎回、SMAPの曲を歌うファンだそうです。

三回目...お?

国民的アイドルグループ「SMAP」の分裂危機報道から一夜。 サッカー男子U23日本代表の記事に付いた見出しは「青いイナズマ白星発進」。 不安でしかたがないファンの編集者は40代半ばのSMAPと同世代の男性。

このままだとさすがに使えないので、 改良してブラウザアプリかツイッターbotでも作っておきます。