芥川竜之介・太宰治・夏目漱石・宮沢賢治の作品から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サンプルソースコードを元に改変しました。

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

参考

snap.svgのv0.5.1でrotate回転させようとしたら変な軌跡を描く問題

解決策

  • v0.4.0に戻す
  • v0.5.2が公開されるのを待つ

発生する問題

let bbox = hoge.getBBox();
hoge.animate({
    transform: "rotate(90, " + bbox.cx+ ", " + bbox.cy + ")"
}, 10000);

真ん中を基準に回転するように記述してるのに変な軌跡を描く問題 黒い点は期待される回転の軸である中心点 f:id:matatsuna:20190703003041g:plain

参考

github.com

Visual Studio Codeにサーバーの中で直接作業できるRemote Developmentをインストールしてみた

注意

この中の記述はVisual Studio Code(以下VSC)の1.35.0以上が必要です gyazo.com

インストールするVSC拡張

marketplace.visualstudio.com

Remote Developmentを用いると、SSHなどを使ってサーバーやコンテナにログインして、その中で作業ができるようになります。 詳しくは窓の杜の記事を読んで下さい。 「Visual Studio Code」でリモート開発 ~Microsoftが新しい拡張機能パックをリリース - 窓の杜

インストール

Remote Developmentの拡張検索します。

gyazo.com

インストールします。どうやら3つの「Remote - SSH」「Remote - Containers」「Remote - WSL」をまとめたものらしいです。 gyazo.com

インストールした拡張をクリックしてみると.ssh/configファイルに記述しているドメイン一覧が表示されます gyazo.com

サーバーを選んでクリックすると新しいウィンドウが開いてSSH接続を開始します。この時にサーバーに/.vscode-serverがインストールされる模様です。 gyazo.com

ログインすると左下に「SSH:サーバー名」が表示されます。 gyazo.com

フォルダーを開くと、サーバー内の任意のディレクトリを選択することができます。 gyazo.com

サーバー内の任意のディレクトリでgitや補完、ファイルの参照などもストレスなく操作することが可能になります。また、ターミナルを開くとちゃんと、そのディレクトリで開いてくれます。便利すぎでしょ。 gyazo.com

.configの書き方

windowsの場合、C:Users\ユーザー名\.ssh\.configを作成することをおすすめします。

Macの場合、~/.ssh\.configになります。

TCPKeepAlive yes

Host hoge
    HostName hoge.com
    User matatsuna
    IdentityFile C:\Users\matatsuna\.ssh\hoge_rsa

Host fuga
    HostName fuga.net
    User fuga
    IdentityFile C:\Users\fuga\.ssh\fuga_rsa

このファイルを書くとVSCのサーバー選択に出てくるだけでなく、power shellなどで、

> ssh hoge

でログインできるようになります。 詳しくは下記を参照して下さい。

~/.ssh/configについて - Qiita

ぜひ、VSCをインストールして!!!!

Visual Studio Code – コード エディター | Microsoft Azure