Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【論文紹介】Sketch-n-Sketch: Output-Directed Programming for SVG
Search
Kaito Sugimoto
April 20, 2020
Research
0
93
【論文紹介】Sketch-n-Sketch: Output-Directed Programming for SVG
演習 III 論文紹介
内容に問題や不備がある場合は、お手数ですが hellorusk1998 [at] gmail.com までご連絡お願いいたします。
Kaito Sugimoto
April 20, 2020
Tweet
Share
More Decks by Kaito Sugimoto
See All by Kaito Sugimoto
ChatGPTを活用した病院検索体験の改善 〜病院探しをもっと楽しく〜
hellorusk
0
67
【論文紹介】Word Acquisition in Neural Language Models
hellorusk
0
180
【論文紹介】Toward Interpretable Semantic Textual Similarity via Optimal Transport-based Contrastive Sentence Learning
hellorusk
0
200
【論文紹介】Unified Interpretation of Softmax Cross-Entropy and Negative Sampling: With Case Study for Knowledge Graph Embedding
hellorusk
0
270
【論文紹介】Modeling Mathematical Notation Semantics in Academic Papers
hellorusk
0
150
【論文紹介】Detecting Causal Language Use in Science Findings / Measuring Correlation-to-Causation Exaggeration in Press Releases
hellorusk
0
110
【論文紹介】Efficient Domain Adaptation of Language Models via Adaptive Tokenization
hellorusk
0
290
【論文紹介】SimCSE: Simple Contrastive Learning of Sentence Embeddings
hellorusk
0
670
【論文紹介】Automated Concatenation of Embeddings for Structured Prediction
hellorusk
0
190
Other Decks in Research
See All in Research
VAR モデルによる OSS プロジェクト同士が生存性に与える 影響の分析
noppoman
0
130
Generative Spoken Dialogue Language Modeling [対話論文読み会@電通大]
yuta0306
1
130
CASCON 2023 Most Influential Paper Award Talk
tsantalis
0
120
AIを前提とした体験の実現に向けて/toward_ai_based_experiences
monochromegane
1
240
Prompt Tuning から Fine Tuning への移行時期推定
icoxfog417
17
7k
ニフティのインナーソース導入事例 - InnerSource Commons #11
niftycorp
PRO
0
260
Embodied AIについて / About Embodied AI
nttcom
1
540
Deep State Space Models 101 / Mamba
kurita
9
3.5k
Experiments on ROP Attack with Various Instruction Set Architectures
yumulab
0
320
2024-01-23-az
sofievl
1
740
Sosiaalisen median katsaus 02/2024
hponka
0
2.6k
サウナでのプロジェクションマッピングの可能性の検討 / EC71koizumi
yumulab
0
160
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
73
8.2k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
4 Signs Your Business is Dying
shpigford
175
21k
Designing with Data
zakiwarfel
96
4.8k
Documentation Writing (for coders)
carmenintech
60
3.9k
Agile that works and the tools we love
rasmusluckow
325
20k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
274
13k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
30
6k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
9
8.3k
Build your cross-platform service in a week with App Engine
jlugia
225
17k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
244
20k
Building an army of robots
kneath
300
41k
Transcript
Sketch-n-Sketch: Output-Directed Programming for SVG 演習 III 論文紹介 杉本 海人
2020/04/20 1 / 23
1 概要 2 背景‧先行研究 3 この研究のポイント 4 議論 2 /
23
1 概要 2 背景‧先行研究 3 この研究のポイント 4 議論 3 /
23
概要 ベクター画像1を生成するプログラムを書くためのシステム Sketch-n-Sketch に, 新しい技術を取り入れた. 1点や直線などの幾何学的な図形で構成される画像 4 / 23
デモ https://www.youtube.com/watch?v=ilwdnnAT2F0 5 / 23
1 概要 2 背景‧先行研究 3 この研究のポイント 4 議論 6 /
23
背景 GUI: 人の目で分かりやすい ↕ CUI: 柔軟性が高い プログラマは GUI アプリケーションを使わずテキストベースでプロ グラムを書くことが多い.
GUI のメリットも取り入れてプログラミングができれば, より便利で 魅力的になるのではないか. 7 / 23
背景 Output-Directed Programming (ODP) プログラムの出力結果自体をマウスなどで操作することで, プログラ ムを組み立てる手法 • 初心者にとって分かりやすいものに. •
経験者にとっても, プログラミングでより多くのことができるよ うに. ODP 自体は, 今回の論文に限らず, 数多くの先行研究がある. 8 / 23
先行研究 Kevin Kwok and Guillermo Webster. 2016. Carbide Alpha https://alpha.trycarbide.com/
9 / 23
先行研究 Ravi Chugh, Brian Hempel, Mitchell Spradlin, and Jacob Albers.
2016. Programmatic and Direct Manipulation, Together at Last. (Sketch-n-Sketch の初期バージョン) 10 / 23
1 概要 2 背景‧先行研究 3 この研究のポイント 4 議論 11 /
23
この研究のポイント Sketch-n-Sketch に, 以下のシステムを新たに取り入れた. 1. 中間的な値の表示 2. フォーカス 3. リファクタリング
4. Provenance Tracing 12 / 23
中間的な値の表示 出力に直接関係しない部分(点やオフセット)であっても, 表示して 操作できるようにすると利便性が高まる 13 / 23
フォーカス プログラムの特定の部分の修正に役立つ 14 / 23
フォーカス プログラムの特定の部分の修正に役立つ 15 / 23
リファクタリング • 関数名の変更 • 関数のパラメータの順序の変更 • 関数のパラメータの削除 などを, 後からできる 16
/ 23
Provenance Tracing プログラムの各部分がどこから来たかを記録し, 出力がソースコードのどの部分に相当するのかを常に対応づける 先ほど述べた「関数のパラメータの順序の変更」のような複雑なリ ファクタリングを ODP で実現する上で必要. 17 /
23
どんなメリットが...? 1. 中間的な値の表示 2. フォーカス 3. リファクタリング 4. Provenance Tracing
いずれも, ベクター画像の表現能力を高めるという目的だけにとどま らず, 今後 ODP をあらゆる種のプログラミングに適用していく上でも 重要. 18 / 23
実例 出力側の操作だけで, 以下の画像を作成できた. 19 / 23
1 概要 2 背景‧先行研究 3 この研究のポイント 4 議論 20 /
23
画像作成の面での課題 Watch What I Do: Programming by Demonstration という本に挙げられ た
15 の画像生成タスクのうち, 出力側の操作のみで完了できたのは 4 つ, 入力側(エディタ)の助けも借りて完了できたのは 2 つだった. 残りの 9 つを完了させるのに足りない機能 • テキストボックス • リスト操作 • 線の交点の操作 etc... 21 / 23
Widget Visibility ボタンやパネルが多い! → GUI の利便性が損なわれる どの Widget を出すかなど, 画面の表示もシステムでコントロールでき
るようになると便利. 22 / 23
ODP for Novices 初学者でも, 初歩的なプログラムをすぐに習得できるようなシステム にするにはどうすればいいのか. 23 / 23