見出し画像

社員のnote全部集めてマルコフ連鎖でキャディっぽい文章を自動生成してみた

こんにちは、imaimai です!

4月ですね。環境が変化し、新しいことをやり始めるにはちょうどよい季節でしょう。

さて、そんな私もキャディに入社して3ヶ月が経ち、会社からあるミッションを授かりました「会社のPRのために、どんどん記事を書いてくれ」と

なるほど、しかし横を向けば山積みのタスクの数々。記事作成にだけ時間を割くわけには行きません。どうしようとネタを考えていたのですが、めちゃくちゃ良いページを見つけました。

はい、同じ会社で働く仲間のページです。

「そうか、ここから文章を自動生成すれば実質無限にキャディっぽい記事書けるじゃん、勝った。」

そこで、今回は機械に文章を自動生成してもらいます。

記事自動作成までの道のり

下記順序で行いました。カッコ内は使った技術です。(わかってはいたんですが地味にクローリング・スクレイピングが一番面倒でした。いつもやった後はもうやりたくないという気持ちにさせてくれます。)

☑ note 内の記事部分をスクレイピングして保存(selenium, beautifulsoup)
☑ スクレイピングした文書を形態素解析で分かち書き(meCab)
☑ 分かち書きした文書をマルコフ連鎖に食わせる(markovify)

記事生成にはマルコフ連鎖を使いました。手前N個の状態で次の状態を確率的に決める確率モデルです(N階のマルコフ連鎖といいます)。文などは前の単語(品詞)との関連性が大きいため、それっぽい文がかけたりします。

なお、発想の起点はからあげ先生のブログ記事です。これでキャディのPR記事を無限生成して私の会社貢献への評価を無限にしようと思った次第です。

結果

さて、そんなこんなでおおよそ100記事、合計460616字をマルコフ連鎖ことマルコフくんに読み取らせ、学習させました。みんなの想いを集めて出力しているのだから、そこから生まれた文章は珠玉のはずです。では文章を生成してみましょう。

一方で、自分の都合やスケジュールに合わせての運営に挑戦。
金曜日に17時からのDailyStandup、担当プロダクトの仕様に関する打合せや1on1で思考壁打ちをしています。
CircleCIのschedule実行で毎朝行われていないとなかなかわかりにくいとよく感じています。
各組織それぞれに個別最適化し続けける必要があるかという情報もあります。
KleinというProductについてCADDiTechBlogこんにちは!CADDiでプロダクトマネージャーをして、候補となる方をアトラクトして、選考を進めていきたいと思います。
その際にいかに小さな成長で自分を変えたくてジョインしたときにその場でジョインしたいと思います。
あれは間違いなくこの視認性の良さのことを意識すべきだと思っていつも自己肯定してます。
僕が入った時は、入社年次や事業部の間に食べてます。
おかげで、オンボーディングもリモート特有の苦労は感じていますが、その中でも、働く目的とはなにか。
大学は法学部で政治専攻だったので、もし転職やインターン先企業の変更を考えてみたい!という方はぜひ!

あ、これ、イケますね(???)

途中小泉構文っぽいのがあったり、経歴詐称したりしていますが、エイプリルフールということで許してください。CircleCIという技術的単語が出てきたり、組織の話や1on1の話など、キャディ内部でも度々議論されていることが入っていたりするし、何よりちゃんと人を募集しているあたりにキャディの現状の課題を捉え、なんとかしようとする課題解決力を感じます。マルコフくんももうキャディの一員ということで良いのではないでしょうか。

まとめ

というわけで、なかなかそれっぽい文が生まれ、確かな手応えを感じました。このマルコフくん、毎回ランダムで文を生成してくれるので、なにかネタに困ったときはゴーストライターとして暗躍してもらい、私の業績を鰻登りにしてもらおうと思います。

また、マルコフくんも言っている通り、キャディ人材を積極的に採用しています。実際noteやブログでみんなすごく良いこと書いてあるので、ぜひ読んでみてください。noteは上のところから辿れるので、ここではnote以外の記事を。私が担当しているプロダクトチームのテックリードの記事です。非常に難しく、非常に面白い課題をCV, NLP, 数理最適化など、あの手この手を使って毎日たのしくもがいています。

もし転職やインターン先企業の変更を考えてみたい!という方はぜひ!

ではでは!

サポートいただけると励みになります! よろしくおねがいします!!