雑記 in hibernation

頭の整理と備忘録

ビジネスメールから受けるダメージをテキスト感情分析で和らげる試み

労働が人間の精神に及ぼす悪影響については今更言及の余地はないでしょう。業務・責任に見合わない給与や長時間の拘束などなど、労働のネガティブな要素を挙げ始めるとキリがありませんが、僕個人としては、ビジネスコミュニケーション上で発生する精神的負担は負の要素の最たるものに思われます。

特にメールでのやりとりは僕のようなメンタルクソ雑魚くんにはなかなか辛いものがあります。リモートワークの普及により、以前に増してテキストベースでのやりとりが増加している昨今、無機質なメールの文面から相手の感情を邪推しては勝手に精神をすり減らす毎日を送る方も多くいらっしゃるのではないでしょうか。

この「無機質なメールの文面から相手の感情を邪推しては勝手に精神をすり減らす」 a.k.a.「ビジネスコミュニケーション独り相撲横綱」問題、ひょっとするとメールの文面を「書き手の感情を推定して」「ポップに装飾」することで解決できるのではないか。そんな発想のもと、テキスト感情分析のパッケージを利用してメールの文面から感情を推定し、感情に適した顔文字を付加することで受け手の精神的ダメージを緩和するコードを書いていきたいと思います。


やりたいこと

入力テキストデータの各行に対して感情分析を行い、その結果を元にテキストの各行に顔文字を追加したテキストを出力します。

続きを読む

Ubuntuの日本語入力設定メモ

AWSで立ち上げたインスタンスUbuntu環境で日本語入力の設定ができなくて困った。今後のために解決方法をメモっておく。色々試す中で辿り着いたので、この手順がクリティカルでない可能性もある。

OSのverは18.04.5。

1. mozkの設定

SettingのRegion&Languageから、Input Sourcesに"Japanese(Mozc)"を追加。"Japanese(Mozc)"1は+→Japaneseから見つかるはず。他の入力は使わないなら-でinput Sourcesのリストから除外していい。

2. キーボードレイアウトの設定

この状態だとキーボードレイアウトがUSのままなので多分日本語配列で入力できない。キーボードの配列を日本語入力するには、ターミナルから以下を設定変更。viとかで編集するなら管理者権限が必要なので、sudoで実行。

mozcのconfigを編集

/usr/share/ibus/component/mozc.xml
<layout>○○<layout><layout>jp</layout>

キーボード設定を編集

/etc/default/keyboard
XKBMODEL=◯◯をXKBMODEL="pc105"
XKBLAYOUT=◯◯をXKBLAYOUT="jp,jp"

設定変更したら、sudo reboot で再起動すると変更が反映されているはず。キーボードマップを参照して確認する。

参考は以下 forums.ubuntulinux.jp

で、日本語入力できるようになる。たぶん。

Pysparkで累積構成比を計算する

PySparkのDataframeでの累積構成比の計算に戸惑ったのですが、ググっても意外とすんなりいい感じの情報にありつけなかったので、備忘録として残しておきます。

Window関数がわかってりゃあなんてことないとのない内容だろうとは思いますが、お勉強も兼ねて。

前提

基本的にgoogle colaboratory上で動作確認をしてるのですが、ライブラリのインポートなどは基本的に以下の記事相当の環境設定をしてます。

toeming.hatenablog.com

続きを読む

カンディンスキーのコンポジションと言語表現との類似性

ワシリー・カンディンスキーはロシア出身の画家で、抽象絵画の先駆者として有名です。その作品は直線や円が重なって散りばめられた幾何学的な雰囲気が印象的であり、The・抽象絵画といった様相です。没後何年か経って日本ではパブリックドメインになってるみたいなので掲載します。百聞は一見にしかず。

f:id:toeming:20210613043112j:plain
ワシリー・カンディンスキーコンポジション VIII」 (1923)


ところで、抽象絵画というのは素人からするとなかなかとっつきにくく理解が難しく思えますが、「そもそもなぜこんな絵を描こうと思ったのか」という動機は特に想像し難い点ではないかと思います。この記事では、抽象絵画の父たるカンディンスキー抽象絵画を描くモチベーションと、抽象絵画理論の構想と言語表現との類似性を簡単にまとめます。

元ネタはこちら。

続きを読む

pandasのto_pickle()でプロトコルを指定したい


Pythonにてpickle.dump()を使ってオブジェクトを一時保存したりすることがあると思います。保存時にはプロトコルが指定できるらしく、最新のプロトコルではより速い、より高い圧縮率でのRead/Writeを望むことができるようです。

inarizuuuushi.hatenablog.com


で、テーブルデータを頻繁に扱う身として気になるのはPandasのDataframeでも同様の効果が見込めるのかどうかですが、結論としては、同様に特にプロトコル4以上を指定することで高いパフォーマンスが期待できるらしいです。

qiita.com


ところで、PandasではDataframeのpickleを生成するためのメソッドとしてto_pickle()が用意されています。実際の作業ではdamp()よりはこちらを使うことが多いのではないでしょうか。

となると、to_pickle()を利用する場合にそもそもプロトコルの指定ってどうすればいいんだろうって話です。

続きを読む

ビニングにも色々あるらしい

機械学習でビニングって手法があるじゃないですか。あるんですよ。

最近SASの公式ドキュメントを眺めていて知ったのですが、どうも一口に "ビニング" といっても色々な分割方法があるみたいです。あまり馴染みのない情報だったので、ざっくりまとめてみました。

まとめつつ気づいたのですが、ビニング自体は意識せずとも特徴量エンジニアリングとして割と普通にやってることだったりしますし、まあ目新しいことはあんまりないと思います。あえて整理するならこんな感じ、みたいなノリです。

この記事は個人的な備忘録として作成しています。

 

続きを読む

マーケティングにおけるデータ分析の超ざっくり沿革

最近読んだ書籍の冒頭でマーケティング分野のデータ分析の沿革について非常に簡素にまとまって紹介されていたので、若干の意訳を加えつつ備忘録的に内容をメモ書きしときます。

超ざっくりですが、データの拡充により分析目的が多角化していく流れと、その背後で関連する技術範囲が標本抽出法や推計統計学から始まって回帰や時系列処理に展開しつつ、インターネットの登場で所謂PRML的な範囲に発展していく(&分析基盤もクラウド中心になってく)の流れが感じられると思います。

元ネタの書籍はこちら。

マーケティングのための統計分析

マーケティングのための統計分析

続きを読む