読者です 読者をやめる 読者になる 読者になる

カツオだしを自分で取る

料理

手抜きな取り方

とりあえず適当に鰹節と昆布を1日以上冷蔵庫で水につけておく。個人的には鰹節は厚削りがいいと思う。
火を入れて沸騰する前に昆布を取る。
そのまま弱火で10分くらい煮る。
当然そのままだと香りとうまみしかないので、塩や醤油でよきように味付けする。

印象

そうめんで食べたけど、顆粒だしと比べて香りが全然違う。かなりうまいです。
味が薄いと感じる場合は、塩分の入っている顆粒だしに慣れすぎているので、醤油なり塩なりを追加すると良い。
飲みの締めに食うとたまらない。

感想

大した手間でもないけど幸せになれる気がする。

適当に読んだ:Dynamics of News Events and Social Media Reaction(KDD2014)

論文

論文を上手に読むこつが知りたい。

Dynamics of News Events and Social Media Reaction

アブスト

あるトピックに関する、ニュース投稿と、それに伴うソーシャル上の意見の変化のダイナミクスについての研究。ニュースとソーシャルメディアの振る舞いを、イベントの重要性とメディアのresponce関数の間のコンボリューションとしてモデル化する。それによって、各トピックに対するニュースイベントを抽出し、そしてそれと感情的な意見の時間変化とを相互に関係を持たせることで、イベントのダイナミクスと意見の変化のつながりを明らかにする事が出来る。

イントロ

特徴として、イベントの重要性とダイナミクスを理解するために、関連するニュース記事の投稿数だけでなく、ソーシャルメディアの反応を考慮に入れる事が挙げられる。
また、イベントに対するニュース投稿(もしくはユーザーの興味)のダイナミクスを決定するためために、ニュースメディア(もしくはソーシャルメディア)をresponce関数として描写するというアイデアを利用している。
このresponce関数というのは、イベントに対する投稿の"ディレイ"尤度として表現される。それは、ニュースやソーシャルメディアが再投稿、引用、以前の投稿について議論すると言ったようにアクティビティが時間を越えて展開される傾向がある事に起因している。このようなケースにおいては、投稿のピークは必ずしもイベントの開始の瞬間等とは一致しない。この問題を解決するために、画像処理や音声処理で利用されるデコンボリューションという技術を利用する。*1
この方法により、イベントの重要性とresponceのダイナミクスを正確にはかる事が出来,
また感情的な意見の展開に対するこれらのインパクトを評価する事が出来る。

※やりたい事の例が論文中に図解されているのでそちらを見るのが速い

貢献

1.既存モデルについて分析し、それらの基本原理について述べる
2.ニュースボリュームのダイナミクスを、イベントの重要性とresponce関数間のデコンボリューションとしてモデル化する
3.パラメータの自動最適化を伴ったデコンボリューションをもとに、ニュースイベントの抽出方法を発展させる
4.ニュースイベントに対して相互に関係する感情的な意見の特徴を評価することで、意見の変化を予測可能にした

また、このフレームワークはデコンボリューションに依存していることから、異なったケースに合わせて複数のresponse関数をのせる事が出来る。しかし、今回の手法ではそれぞれのケース対して異なった等式を要求する事はない。さらに、メディアのresponce関数についてはデータから自動で学習可能である。

Future Work

最適化部分においてデコンボリューションの頑健性と正確性をより発展させる。
意見の遷移は同一トピックだけでなく関連したトピックも要因となりうるので、それに対応できるようにモデルを拡張する。

*1:デコンボリューションについてはこちらのページを参照しました。DSLM::デコンボリューション

読んだ:Cross-Device Search(CIKM2014)

論文

GWは風邪を引いてほぼ寝ていました。●畜なのか平日は風邪をひきません。

http://research.microsoft.com/en-us/um/people/ryenw/papers/montanezcikm2014.pdf

デバイスを跨いだ検索の理解(トピックなど)と、デバイス遷移予測モデルの構築。
デバイスの遷移が予測できれば、例えば、PCからスマホにデバイスを変更した検索した人に対して、スマホ向けの短い記事を優先的に提示するといったデバイスに特化した試作を打つ事が出来る。

・デバイスとして、PC,tablet,smart phone,game consoleの4つを選択。

-データセットと基本的な特徴

コマース系検索エンジンから数ヶ月分の検索クエリを取得。

・クエリベースの統計量

クエリ数がおよそ2億で、複数デバイスを利用しているユーザーが検索したクエリ数はおよそ16%だった。また、PCのクエリが全体の9割以上になっている。

・ユーザーとdeviceに関する統計量

デバイスのうち、2つ以上のデバイスを利用しているユーザーが5%(!?)、複数デバイスの組み合わせとしては、PC-Tabletの組み合わせが3%で最も多い。

・クエリとトピックの分布

独自のクラス分類方法で50程のカテゴリにクエリを分類。さらにカテゴリは高確率に出現した15トピック(TV&movie,TVなど)にグループ分けした。
また、デバイス間で特徴的に出現するクエリを調査するために、P(topic|device)とP(topic)のPMI(自己相互情報量)を利用する。
各トピックに適用した結果、GameConsoleにおいてGAMINGトピックのPMI値が高く(当たり前)、smartphoneにおいて、foodトピックのPMI値も高かった。
次に、時間の遷移を加味したPMIの遷移を見て行く。デバイスごとにPMIの変化が大きく出たtopicを見ると、game consoleが全デバイスの中で最も滑らかなPMIの変化をしている。topic目線で見るとadultとfoodが非常に特徴的で、adultgは労働時間帯はPMI値がnagative rateであるが、22-4時位にかけてhigh positive rateとなる。一方で、foodは昼時と夕方にspikeが出来る特徴がある。

-デバイス間遷移

Markov Graphの様な自己遷移も含めたデバイスの遷移グラフをかいてみる。なお、遷移として認めるのは3時間以内とする。
これだと自己遷移が99%以上になるので、他デバイスへの遷移だけを示したグラフをかいてみる。
これを見ると、各デバイスからの大多数の遷移がPCに向かっている事がわかる。また、PC-smartphoneとPC-Tabletには密接な関係(高密度な相互リンク)がある事がわかる。

・次のdeviceへの遷移と遷移前に検索したトピックの関係
基本的にはPCへの遷移に引っ張られる(全体で見たときの遷移率はPC-63.9%,SmartPhone-11.2%,Tablet-24.6%,Console-0.6%)が、一部のトピックではあるデバイスへの遷移確率が全体と比較して非常に高いものが見られる。例えば、Events-Nightlifeに関するクエリを検索した後に遷移するデバイスがGameConsoleである確率は、全体のものと比較して870%も増加する。

・過去の時刻と次のデバイスへの関係

PCは事前の検索時刻が午前7時から午後5時の時に遷移しやすい。SmartPhoneやTabletは早朝や深夜、GameConsoleは0-4に検索された後に遷移しやすかった。

・デバイス遷移時間差

クエリ間の時間差を、すべてのデバイス間遷移を考慮したサイト、クロスデバイスで遷移した際で比較してみる(時間差と比率のlog-log plot)。すると、クロスデバイス遷移時間差は、なだらかなベキ則分布となる。

-デバイス遷移予測

これまで見てきた特徴が遷移予測の精度にどのくらい影響するかを調べる。
予測タスクとして3つ用意。
task1.次に利用するデバイスを予測する
task2.2つのクエリ間でデバイスの遷移が起こったのかを予測する
task3.デバイスが変化したときに、次のデバイスを予測する

データセットは予測タスクに合わせて3つ用意
1.Main:すべての遷移情報を含んだもの
2.Balanced:同一デバイスへの遷移とクロスデバイス遷移を同量含んだもの
3.Cross-Device Only:別デバイスへの遷移だけを含んだもの

特徴量は177個用意(予測結果で必要なものだけ述べる)。
学習モデルとして、L1正則化ロジスティック回帰とGBDTを利用。
Baselineとしては、
1)データセット内で最瀕のものを選択
2)ランダム
3)学習中に出現した比率にそってランダム
を用意。

どの3つのタスクにおいてもベースラインと比較して25%以上の精度が向上した。
task2,task3ではそれぞれどの特徴量が効いているかを調べており、task2ではユーザー独自の情報(過去の遷移情報(遷移数とクロスでバイス遷移数)、過去のデバイス使用率、デバイス間遷移確率、遷移時間差)とデバイス遷移時間差が非常によく効いており、task3ではユーザー独自の情報だけですべての特徴量を突っ込んだものとほぼ同様の精度が出せる事がわかった。

読んだ:Reduce and Aggregate: Similarity Ranking in Multi-Categorical Bipartite Graphs(WWW2014)

論文

数式追えてないのでざっくり。数式よまないとこの論文はいかんけど。

Reduce and Aggregate: Similarity Ranking in Multi-Categorical Bipartite Graphs

大規模な複数カテゴリからなる二部グラフから、ユーザの類似性をランキングする問題を扱う。
ここで言う二部グラフは、ユーザとアイテム(どちらも複数のカテゴリに分割される)
から構成される。
二つの挑戦
1.2部グラフは巨大でいびつ(数百万の広告にたいして数億のクエリが結びつくような)である
2.可能な限りのカテゴリの組み合わせを、結果ごとに再計算するのを防ぐ
グラフで類似度を測る際に一般的に利用されるCommonNeighborやPersonalizedPageRank(PPR)を使う。

●計算方法
今回のフレームワークはreduceオペレーターとaggregationオペレーターからなる。
reduceオペレータ(\odot)・・・actorとitemからなるグラフをactorの集合から成るグラフに落とす。
aggregateオペレータ(\oplus)・・・actor集合を類似度に応じてランキングする。

G=(A \cup B,E):重み(非負)付き無向グラフ
N(a,G):ノードaの隣接ノード集合
sim_{a}(b,G):aに対するbの類似度
ノードaのランキングはG(・,G)を降順ソートする事で得られる。
今回はitem集合Bが非常に巨大である事を想定しているので、そのままランキングしようとすると膨大な計算量がかかる。なので、reduceオペレータによってactorベースのグラフに落とし込むのが非常に重要になる。

reduceオペレータを構成する上での問題
問題1.二部グラフG=(A \cup B,E)が与えられたとき、類似度関数を新たな重み付きグラフG(A',E)に対して計算し、sim_{a}(b,G)=sim_{a}^{*}(b,\hat{G})とする。

  • >各itemのカテゴリC_{i}に対して、actor集合Aのみから構成されるグラフ\hat{G}_{i}[A \cup C_{i}]を計算。そして、任意の2ノードに対して類似度を計算する。

問題2.リアルタイムに複数カテゴリのaggregationを行わなければならない。任意のカテゴリ集合D={C'{1},\dots,C'_{c}}と削減済みグラフ\hat{G}_{i}[A \cup C_{i}]が与えられる。G'=G[A \cup C'_{1} \dots \cup C'_{c}]をGの誘導部分グラフとして定義し、すべてのaに対して類似度ランキングsim_{a}(・ ,G')を求める。

この二つの問題を解決するためのノードの類似度をはかる手法について考える。

[1]CommonNeighbors
[2]Jaccard係数
[3]Adamic-Adar
[4]Katz
[5]Personalized PageRank

それぞれの指標に関して、reduceとaggregationの方法について記載されている。
KatsとPersonalized PageRank、特にPersonalized PageRankは複雑。

●実験
データセット
・query-ads
アド(A)とクエリ(B)から成る二部グラフ
正解データ:google AdWordsチームより提供
・DLBP
著者(A)と論文(B)から成る二部グラフ
正解データ:論文のtitileのbi-gramをとってその類似度
・parent
特許?
正解データ:共通引用数?

presicion-recallCurveで評価。topKのランキング結果に対して評価。
結果を見ると、KatzとPPRが他の指標に比べてよい結果。DLBPデータに関しては正解データにそもそもノイズが多いので、Recallが低くなりがち。
Katzのパス長の深さを増やしても結果にそこまで影響はなかった。(l=5と7の比較)
PPRに関しては、aggregation部分のiteration数を増加してやる事で、より精度を上げられる。