プログラム

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

  • POSTS
ベイジアンフィルタとは 単純ベイズ分類器を応用し、対象となるデータを解析・学習し分類する為のフィルタ。学習量が増えるとフィルタの分類精度が上昇するという特徴をもつ。個々の判定を間違えた場合には、ユーザが正しい内容に判定し直すことで再学習を行う。 現状ではスパムメール(いわゆる迷惑メール)を振り分ける機能を持つソフトウェア(フィルタリングソフト)で、スパムフィルターでのスパム判定に利用されることが多い。最近では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]、猛烈な口論を繰り広げる遺恨があった(この件は佐高信が当時連載を持っていた「噂の眞相」で石原批判のエピソードとして掲載している)。ただおすぎが口にする「どうせ私たちはオカマだから」という物言いに対し美輪明宏は、「自分は同性愛に対する偏見に対して闘ってきたのに、あの二人(おすぎとピーコの事)はテレビで、偏見に満ちた蔑称である“オカマ”という言葉を自分たちから連呼して、あえて笑われ者になる事で、同性愛者への偏見を助長している。せっかく同性愛が市民権を得てきたのに、歴史が逆戻りすることになる。その根性が実に卑しい。消えてしまえばいい。この、馬鹿者どもが!」と厳しく批判、「昔はコンサートや舞台公演などに招待していたが、今は絶縁している。」と語り、ある時期から会っていない事を公表している。[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年)現在は、月曜日にとくダネ!

RaspberryPiで家の騒音をグラフ化

  • POSTS
赤ちゃんがいつ泣いているのかログを取りたい 用意するもの RaspberryPi 2 or 3 USBマイク 環境準備 Elasticsearch×kibana×Fluentdのインストール グラフ化するために以下環境を用意します Python3のインストール Pythonは2系と3系がありますが、今後主流になっていく3系を使います。 普通はpyenvやvenvを挟んで環境を切り替えることが多いですが、 RaspberryPi上だとうまくできなかったので、 シンプルに直接Python3系とモジュールをインストールします。 $ sudo apt-get install python3 python3-numpy python3-pyaudio マイクデバイスの認識 こちらのサイトにマイクデバイスの設定方法が書いてあるので、参考にさせていただきました。 設定後以下のようにUSBデバイスが優先されていればOKだとおもいます $ cat /proc/asound/modules 0 snd_usb_audio 1 snd_bcm2835 マイクのサンプリング周波数を確認 マイクから信号を受け取りにあたりサンプリング周波数を設定する必要があります。 マイクに合った設定をしないとエラーが出て取得できません。 サンプリング周波数はUSBマイクを一度Macに挿して システム情報->ハードウェア->オーディオ->デバイスにUSB PnP Sound Deviceの欄で確認できました。 ※Windowsの場合は試していませんがデバイスマネージャなどから確認できるかもしれません 騒音をログ化する 動作のながれ マイクからのストリーミングデータをCHUNK分(1024*2)ずつ抜き出してその中で最大振幅を配列max_dataに入れる。 Thredingを使って指定時間ごとに割り込み処理(sendlog)を実行 割り込み処理では配列max_dataの平均値を計算してFluentdに送り、max_dataを初期化 Pythonでの割り込み処理はThredingモジュールで実装 Fluentdへはsubprocessでechoを使って実装 コード # -*- coding:utf-8 -*- import pyaudio import numpy as np import threading import subprocess max_data=[] CHUNK=1024*2 # マイクによって変わる。上手くいかない場合色々試してください RATE=48000 # 事前に確認したサンプリング周波数 p=pyaudio.

RaspberryPiのCPU温度、電圧、クロック数をElasticsearchに送ってグラフ化

  • POSTS
ログの可視化 せっかくelasticsearch×kibana×fluentdの環境を構築したので、 データを入れていきます。 準備 以下の手順で環境を準備します。 CPU温度、電圧、クロック数の取得 以下の公式?サイトに載っていました。 http://elinux.org/RPI_vcgencmd_usage##CPU温度 vcgencmd measure_temp ##電圧 vcgencmd measure_volts ##クロック数 vcgencmd measure_clock arm ただしこのままではグラフ化できません。 Elasticsearch側に送る必要があります。 JSONに整形 以下のスクリプトで取得したデータを整形&Elastisearchに送信をします。 crontabなどで5分ごとの定期実行させると良い感じになります。 #!/bin/bash #raspberryPiの情報をjsonに整形する ##CPU温度 ras_temp=`vcgencmd measure_temp |sed -e "s/temp=//" -e "s/'C//"` ##電圧 ras_volt=`vcgencmd measure_volts |sed -e "s/volt=//" -e "s/V//"` ##クロック数 ras_freq=`vcgencmd measure_clock arm |sed -e "s/frequency(45)=//"` #echo $ras_temp #echo $ras_volt #echo $ras_freq json_date={\"ras_temp\":$ras_temp,\"ras_volt\":$ras_volt,\"ras_freq\":$ras_freq} echo $json_date |/usr/local/bin/fluent-cat log.hoge kibanaを見てみる crontabで実行するごとにデータが送られて、 以下のようにkibana側で見ることができました。 電圧・クロック数が動的に変化 グラフ化して初めて知ったのですが、 RaspberryPiは入力電圧によって動作クロックが変わるようです。 私の環境ではRaspberryPiに繋いでいるUSBアダプタはiPhone用の1Aアダプタを使用し、 USBケーブルは60cmほどの長めのものを使っているので、 電圧が不安定になってしまっているのだと思います。 電圧とクロックが上下していることがわかります まとめ RaspberryPi上でデータ収集&グラフ化までできるようになりました。

RaspberryPiでログの見える化するよ(Elasticsearch×kibana×Fluentd)

  • POSTS
自宅簡易サーバにRaspberryPi RaspberryPiで収集したデータを見える化したいけど、 外部のサーバやサービスを借りるとお金かかるし、 家に本格的なサーバを立てても設備代や電気代かかる・・・。 そもそも手軽に使えたら何でも良いんだけどと思い、 そのままRaspberryPi内でログ見える化の環境を構築しました。 完成図 Elasticsearch×kibana×Fluentd で構築します。 こんな感じに様々なデータが簡単にグラフ化できました。 用意したもの RaspberryPi 2(Raspbian Jessie with PIXEL) ※ネットワークへの接続やapt-get updateなど最低限のセッティングは完了しているものとする 注意 RaspberryPiはそのコンセプトから安定稼働する作りではありません。 ちょっとした学習や研究用にサーバを立てたいときは便利ですが、 中期以上の継続的な稼働が必要な場合はちゃんとサーバを用意しましょう。 Elasticsearch Javaの確認 OSがRaspbian Jessieであれば、Javaがインストールされているはずですが一応確認。 $ java -version java version "1.8.0_65" Java(TM) SE Runtime Environment (build 1.8.0_65-b17) Java HotSpot(TM) Client VM (build 25.65-b01, mixed mode) バージョン1.8以上が必要なので、古ければアップデートしましょう。 Elasticsearchのインストール Elasticsearchとkibanaはバージョンの組み合わせによっては動かないことがあるようなので、 今回は動作が確認されている以下バージョンでやります。 Elasticsearch 2.4.1 kibana 4.6.2 以下コマンドで、Elasticsearchの公式HPからzipをダウンロードし、 ディレクトリに展開していきます。 $ wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/zip/elasticsearch/2.4.1/elasticsearch-2.4.1.zip $ unzip elasticsearch-2.4.1.zip $ rm elasticsearch-2.4.1.zip $ mv elasticsearch-2.4.1 elasticsearch $ cd elasticsearch $ .

kintone用chrome拡張機能(kintone extension search)を公開しました

  • POSTS
まずはダウンロード↓ chromeストア kintone extension search デモ画面 [f:id:cyamax:20160828005106g:plain] 設定方法 好きな検索フォームで「xxxx」を入力&検索 そのときのURLをコピー kintone extension searchのオプション画面でコピーしたURLを登録 以上で設定完了 あとは好きなタイミングで拡張機能を起動して、検索。 登録したフォームで検索ワードを検索してくれます。 ※URLのxxxxを検索ワードに置換しているだけです 便利な使い方 オプション画面でコマンド設定ができます。 コマンドを使用することで、登録した好きなアプリで検索できます。 またchromeの基本機能で拡張機能をショートカットで開くことができます。 非常に便利ですので設定することをおすすめします。 その他ツール>拡張機能>キーボードショートカット コマンドの使い方 [f:id:cyamax:20160828130414g:plain] その他の機能 ブラウザ上で範囲選択中に右クリックすると 選択中の内容を検索することができます。 安全性について この拡張機能は検索時のURLを保存しているだけなので、拡張機能には大事なデータは残りません。 またkintone側のAPIキーやログインパスワードなどを設定する必要がなく安心です。 コメント kintoneってエクセルで管理しているようなデータを皆で扱うには非常に便利ですが、 アプリが増えてくると検索が非常に面倒だったので、kintone用拡張機能を作成しました。

Backlog用chrome拡張機能(slide method for Backlog) を公開しました

  • POSTS
まずはダウンロード ダウンロードはこちらから↓ chromeストア slide method for Backlog コンセプト 別サービス「esa」の良い部分(スライド)をBacklogでも使いたい! 何ができるのか この拡張機能を使うことにより、Backlogで作成したwikiをスライドショー化できます。 [f:id:cyamax:20160822121508g:plain] 基本的な使い方 Backlogのwikiページを開いた状態で、 拡張機能のボタンを押下するとスライドが表示されます。 スライドはスペースキーか方向キー、マウスで操作できます。 ESCボタンでスライド全体を表示可能です。 スライド化について 以下タグによってスライド化(改ページ)しています。 h1タグ(#): タグに書かれた内容をセクションの見出し(1枚スライド)にします。 h2タグ(##): h2タグ配下をタイトルとコンテンツの1枚スライドにします。 PDF出力 スライドの最後に表示される「make pdf」を押下。 表示されたページでブラウザから「印刷」(ctrl+p)を実行。 送信先「PDFに保存」を選択し、保存。 がんばったところ BacklogのAPIを使わない 拡張機能内にユーザーのAPIキーを保存したくなかったのでブラウザのセッションのみでやり取りをしています。 APIキーを使わないので、ユーザーも私も安心。 サーバーレス 同じ理由でサーバーを挟みません。 サーバーから情報が漏れたら怖いのでサーバーレスで頑張りました。 なのでクロスドメインの壁を乗り越えるのが大変でした。 PDFを実装した 「esa」に無い機能としてスライドからPDFを作成する機能をつけました。 ここは特に頑張っていません。工夫した点ですね。 感想 バックエンドのコーディングよりも実際にユーザが触るフロントエンドの実装が気を使う。 Chrome独自のAPIもそうですが、Ajax通信やJQuery、クロスドメイン、MITライセンスなど幅広く多くのことを学べてよかった。 Chromeの拡張機能開発はJavascriptの勉強にちょうど良いね。