速さこそ正義

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

【Node.js】ベイジアンフィルタを使って「おすぎ」と「ピーコ」を判定させる【機械学習】

ベイジアンフィルタとは

単純ベイズ分類器を応用し、対象となるデータを解析・学習し分類する為のフィルタ。学習量が増えるとフィルタの分類精度が上昇するという特徴をもつ。個々の判定を間違えた場合には、ユーザが正しい内容に判定し直すことで再学習を行う。
現状ではスパムメール(いわゆる迷惑メール)を振り分ける機能を持つソフトウェア(フィルタリングソフト)で、スパムフィルターでのスパム判定に利用されることが多い。最近ではWeblogのトラックバック用フィルタ(トラックバックスパム対策)にも利用されるようになるなど、その利用範囲は徐々に広がりつつある。 とwikiに書いてありました。

ベイジアンフィルタで「おすぎ」と「ピーコ」を判定

環境

node.jsで実行します。

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.12.5
BuildVersion:   16F73
$ node -v
v8.1.2

コード

## モジュールのインストール
mkdir testbayes
cd testbayes
npm install bayes mecab-lite
  • 実行ファイル:./testbayes/osugi_to_peeko.js
//ベイジアンフィルタ for Node.js
// モジュール
var bayes = require('bayes');
var Mecab = require('mecab-lite'),
  mecab = new Mecab();

//学習情報 wikiから取得した内容
var text1 = 'おすぎおすぎ本名杉浦 孝昭生年月日1945年1月18日(72歳)出生地日本の旗 日本・横浜市保土ケ谷区血液型A職業タレント、映画評論家活動期間1975年 -著名な家族ピーコ(兄)表示おすぎ(本名:杉浦 孝昭、すぎうら たかあき、1945年1月18日 - )は、日本のタレント、映画評論家である。プラムクリークス所属。ファッション評論家のピーコは一卵性双生児の兄。目次  [非表示]1来歴・概要2批評・映画評論2.1映画評論文3レギュラー番組3.1現在3.1.1テレビ3.1.2ラジオ3.2過去3.2.1テレビ3.2.2ラジオ4著書5音楽6脚注7関連項目・人物8外部リンク来歴・概要[編集]横浜市立桜丘高等学校、阿佐ヶ谷美術専門学校卒業。「おすぎ」の芸名は本名の杉浦から。あまり裕福な家庭ではなく、自ら貧乏だったと話しており、小さい頃は家が狭かったため、ピーコと「ネズミみたいにくっついて」寝ていたという。オネエキャラを全面に出して1975年のテレビ・ラジオデビュー以来、芸能界で活動している(実際の芸能界入りはデビュー前の銀座の歌舞伎座系列のテレビ番組制作プロダクション『歌舞伎座テレビ室』の制作進行補が最初)。本業の映画評論では本名の杉浦孝昭の名義で活動し、映画専門誌の「キネマ旬報」などに寄稿していた。美術専門学校卒の技能を生かし映画雑誌のレイアウトなどの仕事に編集者として携わる一方で、テレビでのタレント活動が、「おすぎとピーコ」として話題を呼んだ。1978年、大島渚監督作品『愛の亡霊』には俳優として出演している。人の好き嫌いがはっきりしている為、嫌いな芸能人が多数存在しており、普段からラジオ番組等で多数の実名を上げてきた。また石原慎太郎とも、彼が「君らは歌手か?」と聞いてきて、「私はオカマです。」と答えた所、「俺はナマコとオカマは大嫌いだ」と暴言を吐かれたことにおすぎが激怒し[1]、猛烈な口論を繰り広げる遺恨があった(この件は佐高信が当時連載を持っていた「噂の眞相」で石原批判のエピソードとして掲載している)。ただおすぎが口にする「どうせ私たちはオカマだから」という物言いに対し美輪明宏は、「自分は同性愛に対する偏見に対して闘ってきたのに、あの二人(おすぎとピーコの事)はテレビで、偏見に満ちた蔑称である“オカマ”という言葉を自分たちから連呼して、あえて笑われ者になる事で、同性愛者への偏見を助長している。せっかく同性愛が市民権を得てきたのに、歴史が逆戻りすることになる。その根性が実に<e5><8d><91>しい。消えてしまえばいい。この、馬鹿者どもが!」と厳しく批判、「昔はコンサートや舞台公演などに招待していたが、今は絶縁している。」と語り、ある時期から会っていない事を公表している。[2] 36歳の時、両親を亡くし、1989年のピーコの眼球摘出手術により、ピーコが仕事が出来ない分自分が穴を埋めてやらねばと全国を飛び回っていたが、当時「おすぎとピーコ」の旬は過ぎていた為、病を機にピーコのレギュラー出演も打ち切られる番組が増え、中々仕事は無かった。その時、福岡のローカル局であるKBCテレビから「月に一回でもいいから『天神マンボウ(後のうるとらマンボウ)』に出演して頂けませんか?」と打診を受ける。その後『うるとらマンボウ』『おすぎとコージのあぶない関係』にレギュラー出演するようになり、それ以来KBCには恩義があるのか、再び売れっ子になった今でも毎週日〜月曜日(スケジュールや気象状況を考慮して土曜から入る場合も有り)は福岡に通っている。その他、福岡に通う以前から25年以上つながりのある札幌のSTVにも、現在は隔週ながら木〜金曜日に通っている。一時期は映画評論家としての仕事をメインとし(切っ掛けは淡谷のり子の激怒[3][4])、相変わらず全国を飛び回る日々を送っていた。だが、福岡関連で福岡放送制作の全国ネット番組『所的蛇足講座』に出演したことで全国ネットに久々に出演。同時期をピーコはファッション評論家の仕事メインで活動していたが、『SMAP×SMAP』での中居正広の物真似であるヒーコ(関根勤がおすき)の影響から再ブレイクし、『おすぎとピーコ』のパッケージとして再びお茶の間にお馴染みとなった。双方単独の仕事も多くなっている。前述の通り福岡での仕事がある為、福岡ソフトバンクホークスとアビスパ福岡のファンであり、特に川崎宗則を「ソウくん」、新垣渚を「なぎさ」と呼んで可愛がっている。その熱意は、新垣が勝利を挙げた日や川崎が活躍した日には誰よりも早く一番に祝福の電話を入れるほどで、2005年、ホークスがプレーオフで敗れ日本シリーズ出場を逃した際には、『アサデス。』の放送中に号泣したほどである。また、ピーコも近年全国ネットの番組で「おすぎはホークス大好き人間なのよ」と言う事が多い(ピーコも何度か『アサデス。』にゲスト出演している)。'
var text2 = 'ピーコ(本名:杉浦 克昭、すぎうら かつあき、1945年〈昭和20年〉1月18日 - )は、日本のタレント、ファッション評論家・ジャーナリスト、シャンソン歌手である。映画評論家の「おすぎ」は一卵性双生児の弟で、ともにデビュー時から同性愛者であることを公表し、そのキャラクターを活かしてタレント、コメンテーターとして活躍している。横浜市立桜丘高等学校を経て、文化服装学院研究専門部卒業。主にタレント及びファッション評論家として活動するが、シャンソン歌手としても活動。活動は多くはないがCDを出したり、コンサートも行っている。高校卒業後には横浜トヨペットに入社したが、電飾工場への転職を経て、1964年(昭和39年)にサンヨーレインコートに入社した[1]。24歳の時、「今後ファッションの仕事をしていくには基本から勉強しなくてはいけない。素材やデザインなどにも精通していなければプロとは言えない」「(シャンソン歌手の)イブニングドレスが作りたい」との気持ちから、弟・おすぎが阿佐ヶ谷美術学校を卒業・広告代理店に就職したのを機に、サンヨーレインコートを退職して、文化服装学院のデザイン科に入学した。芸能界との関係は26歳の時、弟・おすぎ経由で裏方としてドラマ衣装の製作を頼まれたのが最初である。1975年(昭和50年)、おすぎと共に、双子のオカマコンビ、「おすぎとピーコ」としてテレビ・ラジオデビューした。これまで出演した番組の中でも長いのは「辛口ピーコのファッションチェック」で、TBSの『3時にあいましょう』に始まり『スーパーワイド』、フジテレビの『ビッグトゥデイ』や、後に司会を務めた同局の『2時のホント』、その番組終了後は再びTBSに戻り『ジャスト』、そしてフジテレビの『F2スマイル』へと、局をまたいでコーナーが引き継がれている。2008年(平成20年)現在は、月曜日にとくダネ!(フジテレビ)に出演、その後新幹線で大阪に移動しFNNスーパーニュースアンカー(関西テレビ)に出演。翌日は3時からちちんぷいぷい(毎日放送)に出演した後、すぐに東京に帰るというスケジュールを毎週こなしている。さらにナイターオフには、ぷいぷいの後、上泉雄一の発信!UWAらじお(MBSラジオ)にも月1回出演していた。1989年(平成元年)、悪性黒色腫の診断を受けて左眼を摘出し、義眼を挿入した。その頃から、現在もトレードマークとなっている黄色いレンズの眼鏡をかけるようになったが、この病歴から公共広告機構(現:ACジャパン)の『アイバンク』のCMにも出演した。おすぎ経由でドレスを作って以来の大親友である女優、吉行和子は、ピーコの癌治療の際、東京から小田原の病院まで毎日お見舞いに通っていたという。手術以降、ヒットする仕事が無い時期もあったピーコであるが、『SMAP×SMAP』で中居正広が自身のパロディキャラクター「ヒーコ」を演じたことから再び人気となった。“ピーコ”の名は、サンヨーレインコート時代の倉庫での作業時のお喋りが多く、「ピーピーうるさいぞピーコ!!」と言われたのが契機。遅刻することを嫌うため、仕事先へ車で移動することを一切せず、地下鉄や電車などの交通機関を利用している。好きなブランドはコムデギャルソン。多数の芸人にものまねされているが、本人の認めているものまねは小堺一機のもののみである(「踏んづけてやる!」など)。芸能界以外の世界の女友達も多い。これらについてはピーコの著書に詳しく書かれている。バイセクシャルの人間について「大嫌い。どっちつかずというか、卑怯な感じがするし、覚悟がくくれてない気がするの」と著書で述べている。2005年3月、「マガジン9条」発起人となった[2]。おすピーのシネバラ!(チャンネルNECO)今日ドキッ!(北海道放送)ピーコ&兵動のピーチケ・パーチケ(関西テレビ)BSフジプラチナサンデー(BSフジ) - 番組ホスト不定期[編集]テレビ番組[編集]ワイドショー女子会(TBSテレビ)ちちんぷいぷい(毎日放送)アサデス。(九州朝日放送)ラジオ番組[編集]いち・にの三太郎〜赤坂月曜宵の口(TBSラジオ)過去[編集]テレビ番組[編集]おはよう!ナイスデイ (フジテレビ)TIME3 タイム・スリー(フジテレビ)タイムアングル(フジテレビ)3時にあいましょう(TBSテレビ)ビッグトゥデイ(フジテレビ)2時のホント(フジテレビ)たかじんONEMAN(MBS)ジャスト(TBSテレビ)F2スマイル(フジテレビ)100%キャイ〜ン!(フジテレビ)ものまね王座決定戦審査員(おすぎとピーコとして)(フジテレビ)おすぎとピーコの本ビニエンス(テレビ朝日)っちゅ〜ねん!(毎日放送)金のA様×銀のA様(日本テレビ)'
var name1 = 'おすぎ';
var name2 = 'ピーコ';

// 判定するワード
var word1 = 'ファッションチェック';
var word2 = '映画専門誌「キネマ旬報」などに寄稿';
var word3 = '物まねネタ・ヒーコで再ブレイク';

var classifier = bayes({
  tokenizer: function (text) {
    return mecab.wakatigakiSync(text);
  }
});

//学習させる
classifier.learn(text1, name1);
classifier.learn(text2, name2);

//判定させる
categorize(word1);
categorize(word2);
categorize(word3);

//判定結果
function categorize(text){
  var r = classifier.categorize(text);
  console.log(text + "は"+ r );
}

実行結果

## 結果
$ node osugi_to_peeko.js
ファッションチェックはピーコ
映画専門誌「キネマ旬報」などに寄稿はおすぎ
物まねネタ・ヒーコで再ブレイクはおすぎ

良い感じに分類できていたが、3つめのヒーコがおすぎになっていた。※正しくはピーコ
これはおすぎのテキストにもヒーコの記載があったためだと思われる。

まとめ

最近は機械学習が流行っていますが、ベイジアンフィルタはディープラーニングなどと違い、ライブラリを入れて数行のコードで手軽にできるのが良いですね。
わざわざディープラーニングを使わなくても、用途によってはベイジアンフィルタのような簡単なものでも十分に効果を発揮してくれそうです。

参考

以下の本を参考にしました。

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

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