蒼を追いかけて

長文が書けるようになりたい.

全ツイート履歴からツイートの文章だけを抜き取る

昔はCSVで全ツイート履歴をくれたTwitterくんですが,JSONでしか投げてくれなくなりました.

これをPythonで扱う方法があんまり載ってなかったので記事を書きます.

扱うデータ

Twitterに全ツイート履歴くれ~って言って降ってきたzipを解凍します.

解凍した中身に,dataってディレクトリがあると思うんですが,その中のtweet.jsを使います.

これはそのままでは使えないので,tweet.jsvimなりなんなりで開いてやって,先頭にあるwindow.YTD.tweet.part0 =を消してあげるときれいなJSONになります.やったね!

JSONを読む

PythonJSONを読むのは,pandasがやりやすいです.後で使う正規表現用のライブラリと一緒にimportしてしまいます.

import pandas as pd
import re

それではJSONを読んでいきましょう.pandasのread_jsonで読めます.ここで,encoding='utf-8'としないと読んでくれません.デフォでUTF-8だった気がするんですけど……Windowsだと違うんですかね?

df = pd.read_json('tweet.js', encoding='utf-8')

ちなみに,この中身はこのようになっています.

f:id:BugP:20200523202950p:plain
キレそう

もっといい感じに読めてて欲しかったんですが,まあ仕方ないです.中身はpython標準のdict型になっているので,見た目以上にかんたんに読めます.

DataFrameの状態だとforで回すのが面倒なので,ここから先はpython標準のlistにして扱うことにします.

tweet_json = df.values.tolist()

ツイート本文のkeyはfull_textなので,ここだけ抜き出してやればいいです.

tweet_list = []
for tweet in tweet_json:
    tweet_text = tweet[0]["full_text"]
    tweet_list.append(tweet_text)

中身は以下のようになっています.(他の人のIDやRTが含まれるので加工しています.)

f:id:BugP:20200523204603p:plain

ここからまずRTを除きたいので,RT @を含む要素を除外していきましょう.この部分には,この記事を参考にしました.

tweet_list_ignored_RT = [tweet for tweet in tweet_list if 'RT @' not in tweet]

この中身は以下のようになっています.RTが取り除けていますね.

f:id:BugP:20200523205258p:plain

ツイート履歴の使いみち次第では,リプのIDやURL,改行文字を消したくなることもあると思います.その場合は,正規表現を使って消しましょう.この部分はこちらの記事を参考にしています.

replypattern = '@[\w]+ '
urlpattern1 = ' https?://[\w/:%#\$&\?\(\)~\.=\+\-]+'
urlpattern2 = 'https?://[\w/:%#\$&\?\(\)~\.=\+\-]+'

tweet_list_only_words = []

for tweet in tweet_list_ignored_RT:
    tweet = re.sub(replypattern, '', tweet)
    tweet = re.sub(urlpattern1, '', tweet)
    tweet = re.sub(urlpattern2, '', tweet)
    tweet = re.sub('\n', ' ', tweet)
    tweet_list_only_words.append(tweet)

これで,ツイートから文章部分だけが抜き出せました.

f:id:BugP:20200523205805p:plain

きっぷの問題~乗継割引~

問題

Aさんは,大阪駅から東京駅までサンライズ瀬戸号の普通車指定席で旅行しようと考えた.この区間特急券はMARSで発売制限がかかっていたのと,少しでも安くしたかったため,みどりの窓口で以下の乗車券類を要求した.

要求通り発券されたあと,Aさんは新倉敷駅岡山駅の特定特急券に[乗継]の印字がないことに気づき,博多南線博多駅博多南駅の特定特急券に乗車券類変更を行った.これら一連の手続きに問題点はあるか?


以下では,

  • 旅客営業規則: 旅規
  • 旅客営業取扱基準規程: 基準規程

と省略し,各規則はJR東日本のものを用います.

乗継割引

乗継割引の根拠は旅規57条の2で,(1)を見ると(イ)の場合に該当して正当に思えます.しかし,(3)によると,

当該乗車に必要な乗車券及び急行券を同時に購入し、又は当該乗車に必要な乗車券を呈示して、先乗列車及び後乗列車の急行券を同時に購入し、これに相当の証明を受けた場合。

とあります.なので,今回のケースでは厳密に言うとここに違反していて旅規に反しているといえます.実際のところ,この条文は有名無実化しています.実際,MV(指定席券売機みどりの券売機)でも乗車券提示なし・同時購入なしでも乗継割引された急行券を購入できますし,窓口でもこれを理由に断られるということはまずないでしょう.また,MARSでは乗車券の[乗継]印字はされず,「これに相応の証明を受け」ないで乗継割引を行っているのが現状です.(まあ,一応[乗継]印字された乗車券は発売されるのですが……)なので,この乗継割引については「規則上問題あるが発売されてしまう」といったところでしょう.

一応,旅規57条には「急行列車に乗車する場合は、(略)、急行列車ごとに特別急行券又は普通急行券を発売する。」とあるので,これにも反しているといえます(このあたりになってくるともはやイチャモンの域だと思いますが).

それともう一つ,特定特急券に[乗継]印字がされなかったのは明らかに誤発売です.旅規187条(9)より,急行券には[乗継]印字がされなくてはなりません.これはよくある類の誤発売ですが,MR(みどりの窓口端末)で対応しています.

ちなみに,大阪・新大阪接続の乗継は,サンライズ瀬戸号に当日中に接続する新幹線列車がないため発売されません.

乗車券類変更

俗に乗車変更,乗変と言われるものの多くは旅規248条に示される乗車券類変更です.今回の場合,(1)指定急行券以外の急行券相互間の変更に相当するので,正当な取り扱いです.まあ,誤発されたものを乗変するので倫理的にどうなんだ,というのはありますが……

ちなみに,指定席特急券から博多南線への乗車券類変更は,JR東日本以外の5社では旅規248条に従って不可となりますが,JR東日本に限っては基準規程272条2項(リンク先情報古いので注意)の「該当の特別急行列車の指定席に空席がないとき」を全車自由席特急にも適用して,「指定席がないので空席がない」として乗車券類変更が認められるそうです.博多南線への乗変は払戻手数料の踏み倒しに使われる場合が多いと思うので,なんとも言えないところではありますが……

(1/31追記)じゃあどうすればいいのか

この場合,規則に則って安く済ませるにはどうすればいいのでしょうか.

1ヶ月前のタイミングだと大阪→東京や姫路→東京はMARSで発売制限がかかっており,枠が非常に少なくなっています(0ではない).なので,岡山→東京で取った指定席特急券を発売制限枠解放後に大阪→東京に乗車券類変更するのが正しいです.人気列車の場合,普通にやると操作中に別の駅やえきねっとなどで席を奪われてしまう可能性があるので,席番入力での発券がなされると思います.

讃岐うどんと丸亀製麺

麺通団がバズった

2019/09/16,麺通団の以下のような記事が話題になった.

www.mentsu-dan.com

私も年に1回以上のペースで香川に行く程度の讃岐うどんファンであり,丸亀製麺にも思うところが大量にある.この記事は,私の思うところを書くものである.

丸亀(にはない)製麺

丸亀製麺,実は丸亀には1店舗も存在しない.香川県内にはたったの2店舗であり,ライバルのはなまるうどんが15店舗出店していることを考えると圧倒的に少ない.

香川県に限らず,四国西部はアホみたいにうどん屋がある.舌の肥えた讃岐人には,丸亀製麺の味はなじまなかったのだろう.これでどの面を下げて「讃岐うどん」と名乗っているのだろうか.

余談ではあるが,丸亀製麺のルーツは加古川の焼き鳥屋であるというのは有名な話である.

麺匠,ほんまか?

丸亀製麺には,「麺匠」と呼ばれる人が1人だけいて,その人が店舗を巡回して指導することで味のレベルを保っている.らしい.

同じページ(しかも同じ項目)には,丸亀製麺の店舗は1000店舗以上あると書いてあるが,それを一人で回るのだから大変である.1日3食をすべて丸亀製麺に費やしても,1つの店舗には年1回来ればいい方である.そんなんでまともな指導ができるんだろうか.

ていうか,単純に美味しくなくない?

1年半ほど前,ダービーの帰りに友人に連れられて丸亀製麺に行ったことがある.その時は釜揚げうどんを注文したのだが,そこで出されたものはギャグかと思うようなものであった.

釜揚げうどんというものは,水で締めず茹で上げたそのままを提供する.麺のコシやエッジの立った形状は失われるが,独特のもっちりした食感が魅力である.

しかし,そこで出されたものはもっちりした食感ではなく,エッジの立った弾力のある麺であった.その弾力も,うどんのものとはまるで異なっていた記憶がある.釜揚げうどんの特性上,麺の周りには糊状のものが付着するのだが,それもなかった.あまりの衝撃に,ひとくち食べて笑いが出てきたのはよく覚えている.

讃岐の人間ではない私が言うのはどうかと思うが,あそこで出されたものは讃岐うどんとは呼びたくなかった.

讃岐うどんという文化

讃岐うどんは,讃岐国に息づく文化である.丸亀製麺では,かつて「鰹だしをベースにしただし」とHPに記載していたことがあった(魚拓を残していないのは失策である).ここで,はなまるうどんの以下のページをご覧いただきたい.

www.hanamaruudon.com

そう.「讃岐を名乗るならいりこだし」なのである.実際,私が食べた讃岐うどんはほとんどいりこベースのだしだったし,セブンイレブンのさぬきうどんでさえいりこだしである.丸亀製麺,いつの間にかこの部分の記載変えちゃってるけどどうしたのだろうか.

讃岐うどんと讃岐釜揚げうどん

そもそも,丸亀製麺讃岐うどんの店ではないと(個人的には)考えている.店舗を見てほしい.「讃岐釜揚げうどん」とはあっても「讃岐うどん」とはどこにも書いていない.つまりは讃岐うどんとは全く別のものを出していると考えられる.そうしてみると,今までのことも辻褄がいくのではないか.いやいかねーよ.

讃岐の味を知りたいなら讃岐へ

讃岐には,丸亀製麺はもちろん,この記事で比較対象としたはなまるうどんさえ凌駕するような絶品のうどんがそこら中にある.私の一押しは端岡駅近くのうどん一福さんなのだが,読者の皆さんもぜひ一度は本物の讃岐うどんを味わってみてはいかがだろうか.

ほら.サンライズ瀬戸で寝て起きたら高松ですよ.朝ごはんにはラッチ内の連絡船うどん,昼はレンタカーでうどん屋を巡って夜は丸亀の骨付鳥.最高じゃないですか.うまいうどんを一人でも多くの人に知ってほしいと,東京に住む讃岐うどんファンの私は思っています.

東大理三の男女比は平等なのか仮説検定してみた

なぜこんなことを

なんか某匿名なんちゃらで,仮説検定すると東大理三は男女平等だというポストを見かけたので,本当か? と思ったので. anond.hatelabo.jp

問題

仮説検定したいらしいので仮説検定の問題に落とし込む.かなり強引だが,男女比は正規分布に従うものとした.

正規分布に従う母集団から得られたデータが次のとおりだった.

1.17 0.76 1.31 0.95 1.04 1.04

母分散を未知として,母平均が1.00であるか有意水準5%で両側検定せよ.

解答例

標本平均は\bar{x} = 1.045である.(あれ? 1.03じゃないじゃん.まあ,女性が多く受かった年の入学者数が多かったんでしょう.)

対立仮説,帰無仮説を,母平均を\muとして

H_0 : \mu=1.00

H_1 : \mu \neq 1.00

とする.

一般に,正規分布に従う標本は,標本の大きさをn,標本平均を\bar{X},不偏分散をU^2とすると,

 \frac{\bar{X}-\mu}{\sqrt{U^2/n}}

は自由度n-1のスチューデントのt分布に従う.

今,不偏分散は u^2 = 0.035なので,帰無仮説のもとでの検定統計量Tは,

T = \frac{\bar{x}-\mu}{\sqrt{u^2/n}}=\frac{1.045-1.00}{\sqrt{0.035/6}}=0.58となる.

一方,Tは自由度5のスチューデントのt分布に従うので,95%の確率で次の不等式を満たすはずである.

-2.57\leq T \leq 2.57

すでに計算したとおり,Tはこの不等式を満たす.ゆえに,帰無仮説H_0は棄却されず,男女の間に有意な差はないと示された.

予防線

統計学ギリギリで単位きた勢なので間違ってるかもしれません.間違ってたら教えて.

4/16訂正

検定統計量の値が10倍違ってたので結論が変わりました.ごめんなさい.

新アイドルとヒリつきオタク

シンデレラガールズに新アイドルが登場したらしい。何度か言っているが、私は「デレ」という単語をワードミュートしている。そのTLにもワンサカ流れてくるのだから正直ウンザリしているのだが、なんでも新アイドルが声付きで実装されたらしい。ただでさえ風呂敷を広げまくって収拾のつかないコンテンツだというのに。まあでも、ヒリつくオタクの気持ちもわかる。わかるので、過去の事例と比較してみようと思う。

Jupiter、9.18事件を例にして

プレイアブルではないが、アイマスの歴史で最もヒリついた新アイドルはJupiterと考えて間違いないだろう。この辺のこと知らないSideMからのオタクは「9.18事件」で調べて、どうぞ。

ここで重要なのは、

  • 竜宮小町+律子が突然プロデュース不可になり
  • それで阿鼻叫喚なオタクに対して訳のわからないホストみたいな男性アイドルが出てきた

この2点だろう。まあ当時オタクだったわけじゃないから伝聞なんだけれど。

イキリ金魚を例にして

得てしてオタクがあんまりヒリつかなかったのが金沢のイキリ金魚紬と歌織だろう。ミリシタ実装と同時に飛び込んできた2人は、オタクから概ね好意的に受け取られたように思う。セリフも出てないのになりきりアカウントが登場したのには笑ったけど。

このケースでは、

  • 他のアイドルがほとんど割りを食わないような形であった
  • 2人の魅力に棘が少なかったこと

が挙げられるのではないだろうか。まあ紬に棘が無いとは言わないんだけど。

白雪千代の場合

さて。ここまで新アイドル新アイドル言ってたけど、まあヒリついてるのなんか実装と同時にボイスがついた白雪千代くらいだと思う。私もこいつについて言いたいからこの記事を書いている。このアイドル、もうソロ曲も決まってるんだっけ? すげぇな。1

なによりセリフが凄い。

あなた…いえ、お前くらいでいいか。お前の仕事ぶりを見ていると、思うところがあります。……笑えてくる、といえば、理解できますか。

すげえな。敵意むき出しですよあなた。まあこれは悪意のある切り抜き方なんだけど、実際こんな感じで拡散されてしまったのを目にしたしこんな奴だと思ってるオタクも多いはず。

ここまで言えばおわかりだろう。

  • 多くのボイス未実装アイドルを差し置いて声と曲(=出番)が用意された
  • いけ好かない、不愉快という(誤った)イメージが広がりつつある

これ、9.18の再来じゃん……

もっと単純に考えてもいい。ボイス未実装アイドルの担当Pにとっては、自分の担当のものだったかもしれない出番を訳のわからんポッと出の奴に奪われたのである。荒れて当然でしょ。

一方で、「どうせしばらくすればみんなこいつでシコる」みたいな言説も見受けられる。これは事実だろう。実際、Jupiterもチャラチャラしたようなアイドルじゃなくて、アニマス21話以降やEoJに見られる熱さをもつということが浸透して許されていったのだと思う。

しかし、事実なのだが、強者の論理である。切り捨てられた者たちの視点が抜け落ちている。竜宮小町と律子がプロデュースできるようになったのは数年後のOFAだった。この空白期間は2度と埋められない。

担当は何よりも尊い今回は9.18事件ほど極端ではないが、それでも与えられたかもしれない出番、担当の出番を待ち焦がれたPの思いは無下にされた。いくら新アイドルが魅力的でも、担当の方が5000兆倍くらい魅力的だ。お前は担当ではないから。担当は替えが利かないものだと思う。それを「新アイドルだっていいぞ」と虐げられた者に言うのは間違っていると思う。

言いたいこと

だんだん何が言いたいかわからなくなってきたのでまとめると、運営と資本主義はクソということである。


  1. まあ、アイドルもののコンテンツである以上これは至極当然のことなのだけれど。

アイドル投票TCが終わった

はじめに

同僚のみなさん,1ヶ月の長丁場お疲れ様でした.感想とか書きます.

個人的な予想

まああんまり考えてなかったんですけど,千早は絶対票が割れて負けると思ってました.あと紬はどっかで突っ込んでくると思ってました.絶対こいつ競馬予想下手でしょ

ダスくっ千早

千早は結局ダスクに一本化して様々な頭の悪い企画を連発して勝ったわけです.瑞希の一斉投票直後以外は首位を譲らない,圧勝と言ってもいいかもしれません.だからといって,決して楽勝ではありませんでした.なんせ相手は投票イベント無敗の瑞希です.対して千早は投票イベント初参加.経験が蓄積されていない状態で立ち向かっていました.18日の瑞希一斉投票が終わってからも,多くの千早Pが背後から迫る胸囲脅威を感じていたのではないでしょうか.セーフティリードなんて存在しない戦いでした.

まあなんにせよ,瑞希Pは一切手を抜かず対峙してくれました.千早Pがここまで熱くなれたのも瑞希Pのおかげだと思います.ありがとうございました*1

ダスク戦の印象に残ったことをちょっとずつ書こうと思います.

千早Pは脳筋

ねえ,こいつら絶対馬鹿でしょ.千早の誕生日2ヶ月間違えるし.千早みたいな連中だな.

ガスマスクダスク真壁

語感めっちゃ好きです.TLに流れてくるイラストも素敵なのが多かったので瑞希に票入れようと思ってしまった……いや入れてないですよ?

最多得票逃す

最後の最後でなんか変なセレブ軍団とお姫ちんに抜かされちゃいました.単純にこの人達すごかったですね.

ダスク以外の話

女主人

こいつらやべえ.伝説と言ってもいいくらいの大接戦.最後はクビ差で千鶴が勝ちましたが,これ「もう1時間延長でやります」とか言ってたら完全にわからなかったなあという感じでしたね.

貴音の追い上げ

なんだろう,私は阪神大賞典オルフェーヴルを思い出しました.票が割れてさえいなければ……

#そしてあずさは旅に出る

このTCでいちばん好きなタグでした.キスミー!

AS全体の話

大健闘と言っていいでしょう.欲を言うなら,10年以上苦楽をともにしたみんなで役を掴み取りたかったです*2.そうさせてくれるような甘い戦いではないですが.

最後に

TCを始め投票企画はまあ荒れることも多いですが,個人的には好きです.アイドルに仕事を持ってこれる,プロデューサーとしてこれ以上の幸せはありません.ただもう一回やって欲しいかっていうとそうでもないですけど.疲れたので.

そして最後に.ともに闘った千早P,全力でぶつかりあった瑞希P,千早に票を投じてくれた皆さん,本当にありがとうございました!

あともう一つ運営に.よくもこんな地獄のような闘いに引きずり込んでくれたな.絶対許さねえぞ.あっ嘘ですイベントやってくださいごめんなさい.

おまけ

TC期間中に私が作成した支援シリーズ「行くぜ、千早。」の画像を載せておきます.

f:id:BugP:20190120010123p:plain
これはあんまり出来がよくなかった
f:id:BugP:20190120010129p:plain
これはわりと好き
f:id:BugP:20190120010338p:plain
これは30分位で作ったので間隔とか揃えてない

*1:煽ったりしてるわけじゃないですよ.一応念の為.

*2:まあ私は6年くらいしか見てないわけですが