ブラウザ上でprocessingを編集と実行ができるprocessingrunを作った

概要

ちょっとしたprocessingのコードの挙動を確認したい時にさっと、ブラウザ上で動作する環境が欲しかったので作成しました。

f:id:matatsuna:20200613222211p:plain
processingrunのスクリーンショット

processingrun.nkmr.io

特徴

  • ボタンは、実行と停止ボタンのみ
  • 実行環境には、processing.js(既に開発終了)を使用しているため、普通の (インストール版) processingの記法で記述が可能
  • エディターには、VS Codemonaco-editorを使用しており、定義ファイルによる簡易的なコードの補完が可能

注意

  • 保存機能は一切ありません。(取得もしてません)
  • p5.jsの記法では動作しません。p5.jsでは、公式の p5.js Web Editor などを使用してください。

ニコニコ動画のURLの構造確認&動画IDを取得する正規表現(javascript)

要約

ニコ動のURLを入力させた時に、有効なURLかを判定し、動画ID抽出、URLを綺麗に揃えるスクリプト

経緯

ニコ動にある動画のIDは多くは sm******** だと思うが、歴史的には多くの英数2字が存在するらしい。 また、数字部分の長さも色んなものがあるらしい。ちゃんと定義したい。

ユーザにニコ動のURLを入力させるときにそのURLの構造が正しいか判定したい、また、短縮URLを直したい場面にどうぞ。

コード

// 対象URL
// https://nico.ms/sm********
// https://www.nicovideo.jp/watch/sm********

url = "https://www.nicovideo.jp/watch/sm8628149";

niconicoIdReg = /(?:sm|nm|so|ca|ax|yo|nl|ig|na|cw|z[a-e]|om|sk|yk)\d{1,14}\b/;
if (/(nicovideo\.jp|nico\.ms)/.test(url) && !/live/.test(url)) {
  let videoId = url.match(niconicoIdReg);
  if (videoId !== null) {
    console.log("www.nicovideo.jp/watch/" + videoId[0]);
  }
}

参考

動画IDを抽出する正規表現をニコ動のjsから、外枠をqiitaから拝借しました

http://nicovideo.cdn.nimg.jp/web/js/mylist2.js

入力された動画のURLを元に、ページに動画を自動で埋め込む - Qiita

芥川竜之介・太宰治・夏目漱石・宮沢賢治の作品からtf-idfを求めて著者名をラベルとして学習させてみた

青空文庫から取得した芥川竜之介太宰治夏目漱石宮沢賢治の作品をtf-idfにし、著者名をラベルにロジスティック回帰でモデルを作り、テストを行いどのぐらいの精度で著者を当てられるのかを検証してみた。

ソースコード

github.com

青空文庫からの収集

公開中 作家リスト:全てのページの上部にある、青空文庫に所蔵されているすべての作品がインデックッスされているCSVをダウンロードして、目的の作者の作品のURL(XHTML/HTMLファイルURLの列)を求め、作品をダウンロードした。

なお、インデックスの中には青空文庫以外も含まれていたので、ルビなどのパースの関係上、無視をした。

f:id:matatsuna:20190817141331p:plain
青空文庫から収集してパースした作品とその作者ID

Mecab

日本語をtf-idfにするためには単語の単位で分ける、分かち書きをしないといけないため、Mecabを利用した。

データ

著者4人*100作品 = 400 作品を収集し、訓練データには、300作品、テストデータには、100作品を用いた。100作品ずつというのに、根拠はなく、とりあえず100作品ずつ用いた。

結果

87.7%の精度で当てられた

元ネタ

matatsuna.hatenablog.com

2年前にprocessingのSVMで行ったものをpythonで追実装した形です。

お詫び

Python Machine Learningサンプルソースコードを元に改変しました。

機械学習やり始めなので、パラメータやアルゴリズムをもっとよく出来ると思います。

参考