back to the source - 原点回帰😎

自然言語処理 初心者

生きてうr

研究指導計画書 書けてボスに許可もらえたのでワーイヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノワーイ って感じです.
一応, 題材は自然言語処理を中心に強化学習やグラフマイニングの技術を駆使してやりたいです. 詳細はいつか


研究室の先輩とこれに参加してます.
deepanalytics.jp

先輩と参加するのではじめはkeras使ってたけれどchainerに統一しようと思う.
(個人的にchainerのTrainerやKerasのImageDataGeneratorとか細かくいじれなかったりするから苦手. 便利な点も多いけれど.. )

え?この画像ひどいっていうのも学習データやテストデータにあったのと, 何も知らない人にPC覗かれて下着とかの画像見てると勘違いされると辛いものがある(

一つの分類器だけじゃ細かいところうまくいかなさそうだしアンサンブル学習かな.
詳しくはコンテスト終わったらで.
個人的には奇抜なアイデア賞(特別賞)を狙って生きたい🤔

週末はスシ友と久々にスシ食べてきます👍

GWを経て

先週の火曜日から昨日の日曜日まではゴールデンウィークだった.
気づいたら何も会得できずただただ終わっていた.


研究計画書が白紙である.
休日を過ごして見て思ったことがいくつかある.
やはり私は博士課程後期には行けないなと.
常に興味が離散化してしまう.
そして個をもっていない.
自分はどこに向かうのかよくわからない.
もうだめだ.
カウンセリングを受けたい.
相談に乗って欲しい.
もうつらい.

このすばを1期,2期見た. 脳死で見てて馬鹿笑いしてた.
ハーレムラノベと思っていたが全然違ったし, めぐみんが可愛い
作者が「通勤がつらいから作家になった」っていう動機も最高に良いし共感しかない.
大抵のなろう作家は出版されたらなろうの方はデータ消すけど,このすばの著者は消さないのでなろうでも読むことができるのが良さしかない.
おかげでめぐみんの外伝は買おうと思った.

GWが終わった現在,何もやる気起きないのでとりあえず, なろう!の小説のデータセット使って何かしたいと思う.
進捗報告と研究計画書の提出が今週水曜日なので結構やばいけどまぁ生きてます(´・ω・`)

めも

paper


site

を参考.

code

【やってみた】トピックモデルを用いてMastodonのデータを解析してみた

トピックモデルとは
データの背後にある隠れた「トピック」を推定する技術の総称.
自然言語処理(以下NLP)では潜在意味解析という文脈で発展. トピックモデルは文書や画像, 音楽など実応用も多い.

トピックモデルについての書籍を読みたいですが, あいにく手持ちにトピックモデルとはこれ!という以下の二冊(トピックモデルによる統計的潜在意味解析 (自然言語処理シリーズ), トピックモデル (機械学習プロフェッショナルシリーズ))を両方とも所有していないため, ネット上で解説してくれたスライドやブログ, コードを参照, 参考しながら「やってみた」

いわゆる「やってみた」記事です


やりたいこと

集計したMastodonのトゥートを元にそのトゥートのカテゴリを考えよう みたいな感じです. 今回集計したインスタンスはfriends.nicoのローカルタイムラインなので多岐にわたってジャンルがあるのではないかなー?と思ったりしたからです.
すいません… 今思いついただけです(´・ω・`)

検証期間は4/25 昼12時から4/26の昼12までの24時間
データはfriends.nicoのローカルタイムライン

取得方法などは公式とこの人の記事読めばわかります. ありがとうございます.

ローカルタイムラインのトゥートをjson形式で保存しました.

トゥート数:37190 ユーザ数:1744人


流れ

  1. Mastodonのトゥートのみを取得する
  2. トゥート内の"名詞"のみを抽出した.
  3. コーパスを作る.
  4. LDA(Latent Dirichlet Allocation)してみる.

前処理にこれを使ってみました.
mecab-neologd 前処理用 Python モジュール neologdn 公開しました - Debug me
こんな便利なものがあるだと…
他には出現頻度が3未満の単語は除去したりしました.
ちなみにMeCab形態素解析したのですが".“や”!“が検出されたりして???って感じでした.

(´・ω・`) < トピック数を30とした.

(0, '0.437*"?" + 0.023*"時代" + 0.020*"Amaroq" + 0.019*"U" + 0.018*"ぴ" + 0.016*"FF" + 0.016*"@" + 0.013*"位" + 0.013*"さっき" + 0.012*"ねこ"')
(1, '0.258*"ニコ" + 0.106*"俺" + 0.100*"これ" + 0.029*"会社" + 0.024*"番" + 0.024*"回" + 0.022*"力" + 0.021*"確保" + 0.016*"スマホ" + 0.014*"動"')
(2, '0.105*"&" + 0.103*";" + 0.088*"W" + 0.048*"apos" + 0.041*"quot" + 0.039*"あと" + 0.038*"TL" + 0.030*"いずみ" + 0.025*"流れ" + 0.023*"昔"')
(3, '0.637*"!" + 0.023*"ぇ" + 0.012*"BAN" + 0.012*"ぁ" + 0.010*"週間" + 0.009*"派" + 0.009*"ッ" + 0.009*"母" + 0.007*"IT" + 0.007*"牛"')
(4, '0.401*"の" + 0.041*"分" + 0.025*"駅" + 0.024*"どこ" + 0.021*"ゲム" + 0.018*"方面" + 0.016*"野菜" + 0.015*"未来" + 0.015*"くん" + 0.015*"男"')
(5, '0.232*"p" + 0.112*"><" + 0.112*">" + 0.085*"<" + 0.059*"会議" + 0.028*"情報" + 0.027*"時分" + 0.019*"自由" + 0.017*"線" + 0.012*"個人"')
(6, '0.135*"そう" + 0.068*"草" + 0.061*"ガッ" + 0.048*"やつ" + 0.046*"@" + 0.043*"間" + 0.036*"どん" + 0.023*"言葉" + 0.020*"百" + 0.019*"RT"')
(7, '0.080*"もの" + 0.075*"好き" + 0.044*"ブス" + 0.034*"こ" + 0.030*"実況" + 0.029*"世界" + 0.024*"大学" + 0.021*"わけ" + 0.020*"最高" + 0.018*"管理"')
(8, '0.093*"出社" + 0.077*"日" + 0.061*"的" + 0.051*"みんな" + 0.041*"め" + 0.041*"なん" + 0.035*"ドワンゴ" + 0.033*"ため" + 0.030*"百科" + 0.024*"今日"')
(9, '0.156*":" + 0.087*"形式" + 0.085*"nicoru" + 0.076*"垢" + 0.048*"::" + 0.042*"█" + 0.038*"公式" + 0.036*"コメント" + 0.033*"発言" + 0.023*"全員"')
(10, '0.145*"何" + 0.060*"ネイティオ" + 0.058*"ゾ" + 0.041*"度" + 0.040*"やす" + 0.039*"兄貴" + 0.026*"明日" + 0.020*"絶対" + 0.019*"社会" + 0.017*"コンピュタ"')
(11, '0.214*"人" + 0.147*"こと" + 0.061*"さ" + 0.035*"Twitter" + 0.032*"感じ" + 0.022*"声" + 0.020*"系" + 0.020*"フレンズ" + 0.016*"大丈夫" + 0.014*"おっさん"')
(12, '0.262*"(" + 0.230*")" + 0.055*"フォロ" + 0.030*"氏" + 0.024*"鹿" + 0.019*"普通" + 0.013*"ぅ" + 0.012*"体" + 0.012*"あれ" + 0.009*"素"')
(13, '0.178*"さん" + 0.049*"ww" + 0.044*"アプリ" + 0.038*"新規" + 0.033*"遅延" + 0.032*"遅れ" + 0.027*"旦" + 0.025*"表示" + 0.021*"ダメ" + 0.018*"マルチ"')
(14, '0.232*"マストドン" + 0.099*"o" + 0.086*"w" + 0.059*"!!" + 0.049*"者" + 0.043*"気" + 0.041*"兄さん" + 0.024*"配信" + 0.023*"神" + 0.018*"ょ"')
(15, '0.086*"\\" + 0.056*"," + 0.046*"年月日" + 0.040*"シ" + 0.035*"^" + 0.035*"-" + 0.024*"friendsnico" + 0.021*"コンテンツ" + 0.020*"d" + 0.019*"記事"')
(16, '0.084*"-" + 0.070*"仕事" + 0.056*"span" + 0.052*"LTL" + 0.051*"ら" + 0.039*"目" + 0.033*"h" + 0.030*"ちゃん" + 0.029*"<" + 0.029*"class"')
(17, '0.364*"ん" + 0.065*"ひょう" + 0.023*"問題" + 0.022*"列車" + 0.021*"JK" + 0.016*"トゥトゥ" + 0.016*"出勤" + 0.015*"円" + 0.015*""" + 0.015*"ごと"')
(18, '0.156*"にいさん" + 0.113*"神崎" + 0.052*"水" + 0.042*"スク" + 0.035*"!?" + 0.033*"年" + 0.032*"部" + 0.026*"雨" + 0.024*"更新" + 0.021*"肉"')
(19, '0.056*"誰" + 0.054*"前" + 0.052*"アカウント" + 0.044*"手" + 0.042*"画像" + 0.028*"pawoo" + 0.027*"機能" + 0.026*"名前" + 0.024*"ブロック" + 0.022*"の"')
(20, '0.089*"それ" + 0.084*"(´" + 0.071*"江添" + 0.059*"`)" + 0.035*"トゥ" + 0.032*"君" + 0.032*"ほう" + 0.024*"トト" + 0.020*"価値" + 0.015*"カフェイン"')
(21, '0.113*"時間" + 0.087*"トゥト" + 0.065*"自分" + 0.035*"ン" + 0.034*"ドン" + 0.032*"性" + 0.025*"事" + 0.022*"なに" + 0.022*"歳" + 0.018*"はず"')
(22, '0.140*"最強" + 0.128*"加藤" + 0.037*"化" + 0.036*"www" + 0.033*"生" + 0.028*"文字" + 0.023*"gt" + 0.021*"後" + 0.019*"定期" + 0.018*"授業"')
(23, '0.066*"方" + 0.066*"動画" + 0.049*"朝" + 0.037*"話" + 0.033*"連合" + 0.029*"タイム" + 0.026*"太郎" + 0.025*"ライン" + 0.024*"宣伝" + 0.024*"僕"')
(24, '0.164*"インスタンス" + 0.049*"放送" + 0.044*"お前" + 0.030*"`)" + 0.030*"奴" + 0.026*"ぼく" + 0.022*"ノシ" + 0.021*"ツイト" + 0.021*"確認" + 0.020*"名"')
(25, '0.100*"純" + 0.049*"ここ" + 0.035*"ところ" + 0.028*"投稿" + 0.027*"ID" + 0.027*"現在" + 0.023*"ツイッタ" + 0.019*"!!!" + 0.019*"jp" + 0.014*"ラメン"')
(26, '0.084*"今日" + 0.077*"中" + 0.067*"みたい" + 0.034*"感" + 0.027*"ネタ" + 0.025*"最近" + 0.025*"心" + 0.023*"上" + 0.018*"以外" + 0.017*"顔"')
(27, '0.208*"ぁぁ" + 0.051*"数" + 0.025*"ゆ" + 0.024*"ぉ" + 0.021*"飯" + 0.020*"とこ" + 0.020*"ぃ" + 0.019*"⌒)" + 0.018*"せい" + 0.016*"仕様"')
(28, '0.147*"時" + 0.110*"ニキ" + 0.053*"私" + 0.040*"ユザ" + 0.038*"程度" + 0.031*"音" + 0.028*"✋" + 0.028*"意味" + 0.026*"会" + 0.022*"家"')
(29, '0.107*"今" + 0.089*"よう" + 0.069*"鯖" + 0.054*"|" + 0.035*"うち" + 0.031*"丼" + 0.030*"K" + 0.020*"町" + 0.019*"箪笥" + 0.017*"作業"')

クラス[8]は江添さんの出社, ドワンゴ, 大百科/クラス[20]に江添さんのトピック, [18]に神崎にいさんのトピック, わkぁるようでわからない(´・ω・`) 上手くいかない…

from gensim import corpora,models,similarities

document=[[1,2,3],[1,4,10],[1,4,2],......] #こんな感じ
dictionary = corpora.Dictionary(document)
dictionary.filter_extremes(3) #出現頻度3以下削除
corpus = [dictionary.doc2bow(text) for text in document]

lda = gensim.models.ldamodel.LdaModel(corpus=corpus, num_topics=200, id2word=dictionary)
for topic in lda.show_topics(-1):
    print(topic)

やってみた が終わったら最後にちゃんと理論を勉強しましょう👊 出直してきます…

読んだ

friends.nico

続きを読む

12時を回ってラボにいる

月曜日は一番授業数が多いが所以に何もできていない
明日はサクラダリセットを全巻買って来ようと思う.


やっぱりGPU早いわ.. だけど並列処理してないしGPU使用率見たら15%で全部使ってなかったしどうすれば全部(100%)使うようになるんだろう… コードの書き方の問題なのかな.. まずはとりあえず動いて正常に学習してるか確認して, それからかな.

import numpy as np
import cupy as cp
import chainer

DEVICE = -1
if DEVICE >=0:
  chainer.cuda.get_device(DEVICE).use()
  model.to_gpu(DEVICE)
  np = cp

進捗出てないけどもうそろそろ, 修論研究の大まかな題材を決めなければならない.
そしてインターン先をどうするかも決めないといけない.

自分の思っていた以上に大学院生活はあっという間に過ぎ去っていくと感じる.
思えばもう4月も終わりですね.