北野坂備忘録

主にインストールやプログラミングのメモを載せています。

数学の苦手な文系の人は数学史という手も

 文系の人に教科書通りの群論の話を展開してもなかなか伝わりません。
 歴史好きな人であれば、こちらの本を試してみましょう。


19世紀の数学〈1〉数理論理学・代数学・数論・確率論

 どうも文系の人は、

・誰が
・どういう流れで
・何をやったのか

というセットのほうが理解しやすいらしい。
 いきなり「アーベル群」の説明をしても全くダメなんですが、

・アーベルはどういう人で
・アーベル以前にどんな問題があって
・アーベルはそれをどのように解いたか

という流れにするとスッと入っていく。
 頭の中で「人物」がキーになっているようです。
 そのキーをもとに情報を取り出していく。
 逆に理系の人はあまり数学史に興味を持たないような気がします。
 

Twitterのトレンドはひらがなカタカナ混合語が苦手

 Twitterのトレンドに、ときどき不思議な単語が載ることがあります。
 今回は「フレスタンプ」でした。
 これは、大ヒットアニメ「けものフレンズ」の「LINEスタンプ」がバズッたことによるものです。

 本来はけもフレスタンプ」という単語を、Twitterが何らかの機械学習的手法で検知した際に「フレスタンプ」で1単語と判定してしまったのでしょう。
 このあたりは「ひらがなカタカナ混合語の認識」という古くて新しい問題です。
 Twitterのトレンドを見る限り、このトレンドの単語取得システムは「ひらがな-カタカナ境界」をかなり重視したつくりになっていると思います。
 普段はそのほうが判定率がいいんでしょうね。

 このように、実際に自然言語処理システムを作る際にはいろいろな問題が生じます。Twitter社レベルでも逃れることはできません。
 下記の本も参考にしてみてください。


言語処理システムをつくる:実践・自然言語処理シリーズ1

Twitterの「ハイライト」機能削除は難敵

 先日Twitterのタイムラインを時間順に戻す方法の話をしたんですが、

kenichia.hatenablog.com

 これでもまだ治らないという連絡が。
 見に行くと、

「新着ツイートのハイライト」

 が悪さをしていました。

 コイツはなかなかの難敵で、「設定」の中に項目がありません。
 ではどうするかというと、「新着ツイートのハイライト」の右にある「×」マークを押して、そこに出てくる「同じようなツイートの表示を減らす」を押してください。
 「減らすんじゃなくて抹殺したいんだけど……」とお思いの方も多いと思いますが、設定はコレしかないのです。
 で、これを押すと「同じようなツイートの表示が少なくなります」という、なんともハッキリしない表現で回答が。
 とりあえずこれでハイライトは消えたように思えるのですが、たまーに、何かの拍子で復活することがあります。
 そのときはまた同様の設定をしてください。

 それにしても、Twitterはドンドンだめなほうに進化しつつあります。
 Googleは至ってシンプルです。虎の子の検索結果には手を付けず、新機能は右上のドックに追加していきます。
 タイムラインを乱すというのは本当に顧客の心の平安を奪う行為なのです。

Twitterのタイムラインが時間順にならなくなった

 Twitterを使った研究をしておりますと、当然Twitterについて聞かれることが多くなります。
 そのなかで、ダントツで多い質問が

「いつのまにかTwitterが時間順に並ばなくなり、見にくくて非常に困っている」

というものです。
 これは、「重要な新着ツイートをトップに表示」に勝手にチェックをつけられたからです。
 修正することは可能ですが、修正になんとパスワードを要求されますのでお気を付けください。
 2017/4/17現在ですと、

1) 「ツイート」ボタンの横にある「プロフィールと設定」を押す。
2) 「コンテンツ」の「タイムライン」の「重要な新着ツイートをトップに表示」にチェックが入っているのではずす。
3) 下の「変更を保存」ボタンを押す。
4) パスワードを入力する。

という手順になっております。
 なぜみんなこの項目に気づかないかというと、全く「重要な新着ツイート」でないものがダラダラ並ぶので、単にタイムラインがぐちゃぐちゃになったようにしか見えないためです。
 非常に「アルゴリズムをしくじっている」感が強い。

 それでは良いTwitterライフを……。


Rubyによるクローラー開発技法

仮想環境ソフトAnacondaの歴史(2017/3/10バージョン)

 Anacondaは「先導的なオープンデータサイエンスのプラットホーム」らしいです。開発元によれば。

Download Anaconda Now! | Continuum

 対応しているのはPython, R, Scala
 
 で、このAnacondaに「我々の名高い」パッケージ&依存&環境マネージャであるcondaが含まれているとのこと。
 Anacondaは仮想環境構築のために使われていることが多いと思いますが、実際はこのcondaが仮想環境管理を担当してるんですね。

 ちらっと調べてみるとAnacondaにも反対派がいるようです。「他の仮想環境構築プロジェクトと合流せよ」みたいな。確かにPythonを使う上で仮想環境構築パッケージは種類が多い。
 ただ、生き残るのは

・インストールしやすい
・ライブラリが揃っている
・便利な(使いやすい)

パッケージなので、機械学習向けにこれらを(今のところ)兼ね備えているAnacondaがいきなりコケることはないと思います。

 Anacondaを長い間使ってくるとどのあたりで大きな変更があったのか、かつて自分が構築した仮想OS上のAnacondaがどのバージョンか(PythonのバージョンよりもNumPyのバージョンは何か等)知りたくなるので、チェンジログを拾い読んで興味のある部分だけピックアップしてみました。(実に備忘録的な使い方だ)


2012-07-17:0.8.0:
 リリース開始。

2012-08-21:0.9.0:
 MacOSXサポート追加。

2012-09-06:1.0.0:
 Windowsサポート追加。

2013-03-12:1.4.0:
 全てのプラットフォームでPython2.6, 2.7, 3.3をサポート。

2013-05-08: 1.5.0:
 重要なパッケージを全てアップデート:python, numpy, scipy, ipython, matplotlib, pandas, cython

2013-11-05: 1.8.0:
 Windowsインストールで管理者権限が不要になる。

2014-02-10: 1.9.0:
 NumPyのバージョンが1.8になる。

2015-07-02 2.3.0:
 Python が2.7.10に、 Pandasが 0.16.2にアップデート。

2015-11-02 2.4.0:
 Python 3.5サポート追加
 NumPyが1.10にアップデート。

2016-02-05 2.5.0:
 インテルの数値演算ライブラリMKLが追加。numpy, scipy, scikit-learn, numexprのバックエンドになる。

2016-03-29 4.0.0:
 バージョンがいきなり4.0.0にブッ飛ぶ。Anacondaに含まれるPythonのバージョンと混乱を引き起こさないようにするためとのこと。

2016-06-28 4.1.0:
 Jupyter Notebook Extensions追加。

2016-09-28 4.2.0:
 QTのメジャーバージョンが4から5に。
 IPythonが4.2から5.1にアップデート。

2017-01-31 4.3.0: 
 Anaconda3 のインストーラーはPython 3.6に基づく。
 Anaconda 4.3 はPython 2.7, 3.4, 3.5, 3.6をサポートするが、次回リリースからPython3.4は含まれなくなる。


 QTのメジャーバージョン変わってたのかー。
 チェンジログを丁寧に見返すなんて滅多にないんですが、こうやって眺めるとパッケージの方向性が見えて面白いですね。