初めての理系編入

編入のミスマッチをなくすをテーマにブログを書いてます。関係ないことも書きます。

【スポンサーリンク】

ナイーブベイズは労働基準法と労働基準監査署に行った人のブログを識別できるのか(寄稿記事)

本日、後輩と会う機会があって、話しているうちに「じゃあ後で記事寄稿しますんでよろしくお願いします。」と言われました。

そんな優しい後輩が記事を寄稿してくれたので掲載します。

 小文字は僕のコメントです。プログラミングに挫折しましたが、頑張って解説してみました。

 

~~

 ナイーブベイズを用いて、労働基準法と、理系学生だった研究室の先輩の書いたブログのテキスト分類を試みました。

 

この記事はナイーブベイズを勉強する機会があって思いついたそうです。僕のネタを選んでくれてありがとう。今回はデータ(文章)を読み込ませて、未知の文章はどっち(ブログor労働基準法)の文章か、確率を出すというプログラムになります。ナイーブベイズについて詳しく知りたいって方はこの記事が非常に参考になるので読んでください。

qiita.com

 

労基に行った人の文章、労基のもととなる文章、似て非なる文章をナイーブベイズは見極めることができるのでしょうか、検証です。

 

目次

 

 

準備1 ライブラリのインポート

言語はPythonを使います。まず最初にライブラリをインポートします。

 

%reload_ext autoreload
%autoreload 2
import naive_bayes as nbay
nb = nbay.naiveBayses("blog.txt", "rouki.txt","jpn")

 

 

 

注意:import naive_bayesは自分で作ったライブラリ(naive_bayes.py)なので、これを試そうと思ってもできません。あらかじめご了承を・・・。

 

解説:ここからは魔導士をイメージしてください。

1~3行目は魔導士に魔導書を与えるイメージです。パソコンは魔導士、ライブラリとは魔導書みたいなものです。魔導士が炎の技を使うためには、あらかじめ炎の魔導書を持たせる必要があります。今回はナイーブベイズという技を使うためにnaive_bayes as nbという魔導書を持たせたと考えてください。

最終行はMPを魔導士に与えるイメージです。魔導書があってもMPがないと打てません。技を打つために必要なMP(今回は分類するヒントとなる文章:blog.txtとrouki.txt)をここで与えます。

 

余談ですが情報系に入ると使用言語やエディタで派閥争いがちょくちょく起きる。

 

 

準備2 ブログを機械に与える

 

nb.print_file1()

 

クビになった当日、さすがに報告はしておかないと思い、母親に電話をした。
つ「もしもし。」
母「どうしたの?」
つ「クビになった。」
母「・・・はぁ?なんで?」
つ「労基に通報したのがばれた。」
酒豪もびっくりなストレートである。
母「はぁ(クソデカため息)・・・バカなんじゃないの?」
つ「クビになる覚悟もあったよ。もちろんクビになるためにやったつもりは一切ないけど。」
母「事前に母さんに相談するとかできなかったの?」
つ「母さんは法律に詳しくないでしょ、それとも決断のプロフェッショナルか何か?それと結果がうまくいかなかったから過程も悪かったって考えるのは違う。」
結果≠過程だけど、これは言い過ぎた。母さんに相談するまで頭が回るほど頭がよくないことは許してください。
母「あんた、親を何だと思っているわけ?親への感謝はないわけ?会社にも感謝の気持ちはないの?」
つ「母さんに感謝の気持ちがあるから電話したんだけど、お世話になったからまず最初に報告しようと思った。」
母「・・・私はなんていえばよかったの?」
つ「『そうなんだ、がんばってね。』の一言でよかった。こんな否定されるとは思わんかった。」
母「・・・はぁ。感謝の気持ちがないから、そういうあほな行動するの分からないの?普段から感謝してなさすぎ。」
論点のすり替えと精神論と人格攻撃はいけないって母さん。
つ「これ以上人格攻撃するんだったら切るよ。」
と言ったら電話が切れた。母は自分の非を認めないと有名なのでこれで絶縁かも。

 

解説:

"blog.txt"の中身です。こんなシリアスな文章選んだら魔導士が泣く。

記事の出典元:クビがきっかけで両親と喧嘩し、絶縁したっぽい - 初めての理系編入

 

 

準備3 労働基準法を機械に与える

 

nb.print_file2()

 

 第一章 総則
(労働条件の原則)
第一条 労働条件は、労働者が人たるに値する生活を営むための必要を充たすべきものでなければならない。
○2 この法律で定める労働条件の基準は最低のものであるから、労働関係の当事者は、この基準を理由として労働条件を低下させてはならないことはもとより、その向上を図るように努めなければならない。
(労働条件の決定)
第二条 労働条件は、労働者と使用者が、対等の立場において決定すべきものである。
○2 労働者及び使用者は、労働協約就業規則及び労働契約を遵守し、誠実に各々その義務を履行しなければならない。
(均等待遇)
第三条 使用者は、労働者の国籍、信条又は社会的身分を理由として、賃金、労働時間その他の労働条件について、差別的取扱をしてはならない。
(男女同一賃金の原則)
第四条 使用者は、労働者が女性であることを理由として、賃金について、男性と差別的取扱いをしてはならない。
(強制労働の禁止)
第五条 使用者は、暴行、脅迫、監禁その他精神又は身体の自由を不当に拘束する手段によつて、労働者の意思に反して労働を強制してはならない。
(中間搾取の排除)
第六条 何人も、法律に基いて許される場合の外、業として他人の就業に介入して利益を得てはならない。
公民権行使の保障)
第七条 使用者は、労働者が労働時間中に、選挙権その他公民としての権利を行使し、又は公の職務を執行するために必要な時間を請求した場合においては、拒んではならない。但し、権利の行使又は公の職務の執行に妨げがない限り、請求された時刻を変更することができる。
第八条 削除
(定義)
第九条 この法律で「労働者」とは、職業の種類を問わず、事業又は事務所(以下「事業」という。)に使用される者で、賃金を支払われる者をいう。
第十条 この法律で使用者とは、事業主又は事業の経営担当者その他その事業の労働者に関する事項について、事業主のために行為をするすべての者をいう。
第十一条 この法律で賃金とは、賃金、給料、手当、賞与その他名称の如何を問わず、労働の対償として使用者が労働者に支払うすべてのものをいう。
第十二条 この法律で平均賃金とは、これを算定すべき事由の発生した日以前三箇月間にその労働者に対し支払われた賃金の総額を、その期間の総日数で除した金額をいう。ただし、その金額は、次の各号の一によつて計算した金額を下つてはならない。

 

解説:

"rouki.txt"の中身です。「この基準を理由として労働条件を低下させてはならないことはもとより、その向上を図るように努めなければならない。」って文章が非常に刺さる。

これで魔法を打つ準備が整いました。さあ結果はどうなんでしょうか。

 

 

結果1 "母に電話をかけたのは..."(ブログより引用)のテキスト分類

 

In[4]: nb.predict_proba("母に電話をかけたのは自分なので非は自分にある。でもこうなるとは思わんかった。うんうんうなづいて全面的に俺が悪い、会社に従わなかった僕がいけません。。")

 

Out[4]: array(1.00000000e+00, 1.02422817e-10)

 

 

→結果:ブログである確率 : 100%, 労働基準法である確率 : 0%

 

すげぇ!綺麗に分別できてる!

解説:In[4]:では判別対象となる文章を入れています。今回はblog.txtの文章の続きを入れたそうです。Out[4]:は結果を示していてarrayの左側の値はブログである確率、右側は労基である確率を示しています。 eは10の何乗という意味、つまりe-10ってのは10のマイナス10乗、つまり限りなく0に近い値という意味です。こんなにきれいな値が出るんですね~。

 

 

結果2 "使用者は、労働者に、..."(第三十二条)のテキスト分類 

 

In[5]: nb.predict_proba("(労働時間)第三十二条 使用者は、労働者に、休憩時間を除き一週間について四十時間を超えて、労働させてはならない。")

 

→結果:ブログである確率 : 0%, 労働基準法である確率 : 100%

 

こっちもきれいに分類できている!綺麗! 残業代未払いの通報した俺を思ってこの文章を選んだのかもしれません。

解説:結果2とやっていることは同じでIn[5]:では判別対象となる文章を入れています。

 

 

 

 

~~

 

ここまでです、寄稿してくれた後輩ありがとう!

 

僕の気になる点としては、両親と喧嘩した記事ではなくて、労基に行った記事でも分類はできるのか、また文章の量は同じでも分類はできるのか検証が必要と思いました。でもこんなにきれいに学習できるんですね。

 

と初めて寄稿記事を頂きました。プログラミングに関しては知識がしょぼいので、間違っているところがあれば指摘していただけると幸いです。

 

併せて読みたい

www.tsuyukey.work

 

ABOUT- この記事を書いた人-

20190520193945

Tsuyukey(id:Tsuquba)

社会人だった人。就活中。研究室の後輩にこのブログがブックマークされていて複雑な気持ちになった。質問、ファンメール等はお題箱orTwitterからどうぞ。詳しいプロフィールはこちらから。