ACMの会議を自動でサーベイする

# 自動でサーベイなんてできませんが...
よくないタイトルですね．でもいいタイトルが思いつかなかったんです．
この記事では，人がサーベイするときに役立つような情報を，うまく抽出するように頑張った結果を紹介します．

# 会議をサーベイしよう！
会議をサーベイすることで，新たな研究に着手するときの新規性の有無や位置づけを明確にでき，さらには現在実施中の研究で採用すべき新規技術を知ることができます．
しかし，とてもとてもとても面倒くさいという欠点があります．”とても”を3回言いたくなるぐらいに面倒くさいです．
読むことも面倒ですが，沢山の研究の中から重要そうな研究にあたりをつける作業など，面倒な作業がたくさんです．

そこで，会議で実施されたセッションや会議中の論文でよく使われた語句を抽出し，あらかじめ眺めておくことができれば，会議のサーベイに安らかな精神で臨めそうです．

# 到達目標
- 会議のセッション名一覧の取得
- 各セッションで発表された研究のタイトル，著者，アブストなどの取得
- 収集したデータに基づく，発表された論文の傾向の確認

各研究の具体的な内容は，論文を人が読んで理解しましょう．

# サーベイ対象と前準備
対象は，ACM Digital Libraryに掲載されている会議全てです．今回はMultimedia 2018を対象にします．
前準備として，Multimedia 2018で発表された研究（なんでもよい．[例えばこれ](https://dl.acm.org/citation.cfm?id=3286915)）のhtmlをダウンロードします．
ここで手続きを簡単にするため，`Switch to single page view (no tabs)`を有効にした状態でダウンロードしてください．従って，[この状態](https://dl.acm.org/citation.cfm?id=3286915&preflayout=flat)にしてからダウンロードしてください．

# 環境
C#6で作ります．
2019/01/06年時点のACM Digital Libraryからダウンロードできるhtmlを対象にしています．

# 会議のセッション名一覧の取得
その会議で実施されたセッションを知ることで，会議が焦点をあてた研究がわかりそうです．
なので発表セッションのリストを作ります．そのためにhtmlファイルを読み込み，必要な情報だけ取り出します．

よってシンプルにxmlパーサーに放り込みデータを取り出せばいいんですが，ダウンロードしたwebページをパーサーが正しくパースできたことが人生で一度もないため（今回もできなかった），文字列マッチを使いながらデータを取り出すことにします．

まずACM Digital LibraryにおいてTable of Contentsは，```<h5 style="margin-bottom:0px; margin-top:0px" class="medium-text">Proceedings of the 26th ACM international conference on Multimedia</h5>```というタグから始まります（MM2018の場合）．

なのでこのタグまでの行を全て，以下のコードで読み飛ばします．

```C#:不要な行の読み飛ばし
var html = @"Session details_ FF-1.html";

var lines = File.ReadAllLines( html, Encoding.UTF8 ).SkipWhile( line => Regex.IsMatch( line, @"<h5 style=""margin-bottom:0px; margin-top:0px"" class=""medium-text"">.+</h5>" ) );
```
先ほどのタグにおける`Proceedings of the 26th ACM international conference on Multimedia`は会議名なので，正規表現を使うことで他の会議にも適用できるようにしておきます．
あとは変数`lines`からセッション名を取り出します．

ここでセッション名は，```<td colspan="2">SESSION: <strong>FF-1</strong></td>```のようなタグに記述されています．
なので，以下のコードでセッション名を取り出すことにします．

```C#:セッション一覧の取得
var sessions = lines.Select( line => {
	var match = Regex.Match( line, @"<td colspan=""2"">SESSION: <strong>(.+)</strong></td>" );
	if( match.Success ) {
		return match.Groups[1].Value;
	}
	return null;
} ).Where( session => session != null );

File.WriteAllLines(
	"sessions.txt",
	sessions.Select( session => System.Web.HttpUtility.HtmlDecode( session ) )
);
```
ちょっとかっこよくないですがこれでいいことにします．
また，`System.Web.HttpUtility.HtmlDecode`を使用するため，"System.Web"を参照してください．

実行結果は以下のようになりました．

```text:sessions.txt
FF-1
Keynote 1
FF-2
Keynote 2
Deep-1 (Image Translation)
Vision-1 (Machine Learning)
Multimedia-1 (Multimedia Recommendation & Discovery)
Vision-2 (Object & Scene Understanding)
...(中略)
Tutorials
Workshop Summaries
```
いい感じです．

# 論文のタイトル・著者・アブストなどの取得
セッションの一覧と同様，変数`lines`から取り出します．

```C#:論文のタイトル・著者・アブストの取得
var results = lines.Select( line => {

	var targets = new[]  {
		new { ID = "Session", Pattern = @"<td colspan=""2"">SESSION: <strong>(.+)</strong></td>" },
		new { ID = "PaperTitle", Pattern = @"<td colspan=""1""><span style=""padding-left:20""><a href=""citation.cfm\?id=\d+"">(.+)</a></span></td>" },
		new { ID = "Author", Pattern = @"<a href=""author_page.cfm\?id=\d+"">(.+)</a>,?" },
		new { ID = "Abstract", Pattern = @"<span id=""toHide\d+"" style=""display:none;""><br /><div style=""display:inline""><p>(.+)</p></div></span> <a id=""expcoll\d+"" href=""JavaScript: expandcollapse\('expcoll\d+',\d+\)"">expand</a>" },
		new { ID = "DOI", Pattern = @"<td> <span style=""padding-left:20"">doi&gt;<a href=""(.+)"" title=""DOI"">[\d|.|/]*</a></span></td>" },
		new { ID = "PDF", Pattern = @"Full text: <a name=""FullTextPDF"" title=""FullText PDF"" href=""(.+)"" target=""_blank""><img src=""imagetypes/pdf_logo.gif"" alt=""PDF"" class=""fulltext_lnk"" border=""0"" />PDF</a>" }
	};

	foreach( var target in targets ) {
		var match = Regex.Match( line, target.Pattern );
		if( match.Success ) {
			return new {
				ID = target.ID,
				Value = target.ID == "PDF" ? $"https://dl.acm.org/{match.Groups[1].Value}" : match.Groups[1].Value
			};
		}
	}

	return null;
} ).Where( line => line != null );

File.WriteAllLines(
	"results.txt",
	results.Select( result => System.Web.HttpUtility.HtmlDecode( result.Value ) )
);
```

正規表現の説明は割愛です．
実行結果は以下です．

```text:results.txt
FF-1
Session details: FF-1
Max Mühlhäuser
https://doi.org/10.1145/3286915
SCRATCH: A Scalable Discrete Matrix Factorization Hashing for Cross-Modal Retrieval
Chuan-Xiang Li
Zhen-Duo Chen
Peng-Fei Zhang
Xin Luo
Liqiang Nie
Wei Zhang
Xin-Shun Xu
https://doi.org/10.1145/3240508.3240547
https://dl.acm.org/ft_gateway.cfm?id=3240547&ftid=2009469&dwn=1&CFID=10029413&CFTOKEN=93da18dc9621359d-4AE6BE96-D052-E89B-D1AC4EA503C467FA
In recent years, many hashing methods have been proposed for the cross-modal retrieval task. However, there are still some issues that need to be further explored. For example, some of them relax the binary constraints to generate the hash codes, which may generate large quantization error. Although some discrete schemes have been proposed, most of them are time-consuming. In addition, most of the existing supervised hashing methods use an <i>n x n</i> similarity matrix during the optimization, making them unscalable. To address these issues, in this paper, we present a novel supervised cross-modal hashing method---Scalable disCRete mATrix faCtorization Hashing, SCRATCH for short. It leverages the collective matrix factorization on the kernelized features and the semantic embedding with labels to find a latent semantic space to preserve the intra- and inter-modality similarities. In addition, it incorporates the label matrix instead of the similarity matrix into the loss function. Based on the proposed loss function and the iterative optimization algorithm, it can learn the hash functions and binary codes simultaneously. Moreover, the binary codes can be generated discretely, reducing the quantization error generated by the relaxation scheme. Its time complexity is linear to the size of the dataset, making it scalable to large-scale datasets. Extensive experiments on three benchmark datasets, namely, Wiki, MIRFlickr-25K, and NUS-WIDE, have verified that our proposed SCRATCH model outperforms several state-of-the-art unsupervised and supervised hashing methods for cross-modal retrieval.
Predicting Visual Context for Unsupervised Event Segmentation in Continuous Photo-streams
Ana Garcia del Molino
Joo-Hwee Lim
Ah-Hwee Tan
https://doi.org/10.1145/3240508.3240624
https://dl.acm.org/ft_gateway.cfm?id=3240624&ftid=2009439&dwn=1&CFID=10029413&CFTOKEN=93da18dc9621359d-4AE6BE96-D052-E89B-D1AC4EA503C467FA
Segmenting video content into events provides semantic structures for indexing, retrieval, and summarization. Since motion cues are not available in continuous photo-streams, and annotations in lifelogging are scarce and costly, the frames are usually clustered into events by comparing the visual features between them in an unsupervised way. However, such methodologies are ineffective to deal with heterogeneous events, e.g. taking a walk, and temporary changes in the sight direction, e.g. at a meeting. To address these limitations, we propose Contextual Event Segmentation (CES), a novel segmentation paradigm that uses an LSTM-based generative network to model the photo-stream sequences, predict their visual context, and track their evolution. CES decides whether a frame is an event boundary by comparing the visual context generated from the frames in the past, to the visual context predicted from the future. We implemented CES on a new and massive lifelogging dataset consisting of more than 1.5 million images spanning over 1,723 days. Experiments on the popular EDUB-Seg dataset show that our model outperforms the state-of-the-art by over 16% in f-measure. Furthermore, CES' performance is only 3 points below that of human annotators.
Video-to-Video Translation with Global Temporal Consistency
Xingxing Wei
Jun Zhu
Sitong Feng
Hang Su
https://doi.org/10.1145/3240508.3240708
https://dl.acm.org/ft_gateway.cfm?id=3240708&ftid=2009413&dwn=1&CFID=10029413&CFTOKEN=93da18dc9621359d-4AE6BE96-D052-E89B-D1AC4EA503C467FA
Although image-to-image translation has been widely studied, the video-to-video translation is rarely mentioned. In this paper, we propose an unified video-to-video translation framework to accom- plish different tasks, like video super-resolution, video colouriza- tion, and video segmentation, etc. A consequent question within video-to-video translation lies in the flickering appearance along with the varying frames. To overcome this issue, a usual method is to incorporate the temporal loss between adjacent frames in the optimization, which is a kind of local frame-wise temporal con- sistency. We instead present a residual error based mechanism to ensure the video-level consistency of the same location in different frames (called (lobal temporal consistency). The global and local consistency are simultaneously integrated into our video-to-video framework to achieve more stable videos. Our method is based on the GAN framework, where we present a two-channel discrimina- tor. One channel is to encode the video RGB space, and another is to encode the residual error of the video as a whole to meet the global consistency. Extensive experiments conducted on different video- to-video translation tasks verify the effectiveness and flexibleness of the proposed method.
Shared Linear Encoder-based Gaussian Process Latent Variable Model for Visual Classification
Jinxing Li
Bob Zhang
Guangming Lu
David Zhang
･･･(中略)
The first ACM International Workshop on Multimedia Content Analysis in Sports (ACM MMSports'18) is held in Seoul, South Korea on October 26th, 2018 and is co-located with the ACM International Conference on Multimedia 2018 (ACM Multimedia 2018). The goal of this workshop is to bring together researchers and practitioners from academia and industry to address challenges and report progress in mining and content analysis of multimedia/multimodal data in sports. The combination of sports and modern technology offers a novel and intriguing field of research with promising approaches for visual broadcast augmentation, understanding, statistical analysis and evaluation, and sensor fusion. There is a lack of research communities focusing on the fusion of multiple modalities. We are helping to close this research gap with this first workshop of a serious workshops on multimedia content analysis in sports.
EE-USAD: ACM MM 2018Workshop on UnderstandingSubjective Attributes of Data focus on Evoked Emotions
Xavier Alameda-Pineda
Miriam Redi
Nicu Sebe
Shih-Fu Chang
Jiebo Luo
https://doi.org/10.1145/3240508.3243721
https://dl.acm.org/ft_gateway.cfm?id=3243721&ftid=2009637&dwn=1&CFID=10029413&CFTOKEN=93da18dc9621359d-4AE6BE96-D052-E89B-D1AC4EA503C467FA
The series of events devoted to the computational Understanding of Subjective Attributes (e.g. beauty, sentiment) of Data (USAD)provide a complementary perspective to the analysis of tangible properties (objects, scenes), which overwhelmingly covered the spectra of applications in multimedia. Partly fostered by the wide-spread usage of social media, the analysis of subjective attributes has attracted lots of attention in the recent years, and many research teams at the crossroads of multimedia, computer vision and social sciences, devoted time and effort to this topic. Among the subjective attributes there are those assessed by individuals (e.g. safety,interestingness, evoked emotions [2], memorability [3]) as well as aggregated emergent properties (such as popularity or virality [1]).This edition of the workshop (see below for the workshop's history)is devoted to the multimodal recognition of evoked emotions (EE).
```

とてもいい感じです．
ここまでくれば，あとはいい感じにxmlにでもフォーマットし，使いやすくするだけです．
そのステップは利用者の好き好きだと思います．

これからは，発表された研究のアブストに含まれる単語を確認し，どのような研究が発表されたのかをざっくり確認します．

# MM2018のうち，何割がDeep learningの研究？
自分が所属してるコミュニティでも，ディープディープと賑やかになってきました．
ディープラーニングは個人的に好きなので，好ましいことではあります．個人的には．

前置きはおいておき，MM2018では，何割ぐらいがディープラーニングの研究なんでしょうか？
そこで，今までに収集したMM2018のアブストの内，`deep`という単語を含む研究の割合（**使用率**）を確認してみようと思います．
使用率の計算式は，（`deep`を含む研究数 / 全研究数）です．

結果は32.9%でした．数にして91本．
正確な数ではないので目安程度でお願いします．
意外と少ない...？

ついでに，そのほかの単語についても調べました．

|使用率の幅|単語|
|:--|:--|
|0.5 - 0.3|results, based, learning, methods, experiments, model, state-of-the-art, data, novel, network, image, method, demonstrate, be, datasets, it, deep, two, different, such, performance, images, information, show|
|0.3 - 0.25|however, have, has, into, existing, visual, also, between, more, both, features, first|
|0.25 - 0.2|new, or, extensive, problem, these, using, approach, framework, learn, not, at, experimental, dataset, only, training, challenging|
|0.2 - 0.15|neural, attention, effectiveness, video, task, applications, each, generate, specifically, their, networks, semantic, well, feature, human, other, three, most, various, but, multiple, one, used, research, while, been, outperforms, present, due, large, recognition, its, models, multimedia|
|0.15 - 0.1|address, content, how, tasks, then, over, through, further, system, understanding, design, improve, approaches, benchmark, object, representation, retrieval, than, use, aims, classification, compared, many, recent, single, user, effective, end-to-end, knowledge, work, achieve, adversarial, conducted, detection, loss, achieves, among, better, eg, important, large-scale, time, videos, convolutional, effectively, ie, problems, process, recently, space, when, where, domain, objects, high, introduce, algorithm, prediction, representations, structure, them, there|

この表は，会議で発表された全ての研究のアブストに含まれる単語を対象にし，各単語についてその単語の使用率を算出，使用率でソートした後，使用率を適当なレンジで区切ったもの，になっています．
例えば単語`results`の使用率は50%から30%のうちのどこか，かつ50%に近いことを示しています．
つまり，全研究のうち多く見積もっても50%は．`result`という単語を使用する，と解釈します．
ちなみに0.1以下の使用率の単語はまれなものとしたため，また0.5以上の使用率の単語はストップワードが多かったため，分析対象から除外しています．

単語`deep`は使用率32.9%でしたが，`network`の使用率も30%以上であるため．ディープラーニングの研究は32.9%以上はありそうです．細かいことはわかりません．

またディープのネットワーク構造としては，`attention`(19.6%) や`adversarial`(12.0%)などが流行りのようです．この辺も目安でお願いします．

# まとめ・将来課題
会議のサーベイ作業の補助のため，ACM Digital Libraryからダウンロードしたhtmlをパースし，会議で実施されたセッション一覧，発表された研究のタイトル・著者・アブストを抽出しました．
筆者の個人的興味により，Multimedia 2018を対象にしました．
最低限の分析によると，MM2018において，ディープラーニングの研究は少なくとも30%はありそうです．
加えて，attention機構やGANが流行っていそうな気配を感じることができました．

分析についてですが，以下のものが有益そうです．
- 任意のセッションで発表された研究を対象にし，そのセッションの概要の確認
- 同じ会議の過去10年分のデータを対象に，どのような単語の使用率が伸びているのかの確認
- 同じ年に開催された異なる会議を対象に，会議ごとのトレンドの確認
- 現在単語bigramやtrigram，複合名詞のような語を対象に再分析

お疲れさまでした，これで終わりです．

# オチ
<https://dlnext.acm.org/>
かっこよくなったね...