専門的 Q&A サイトにおける質問行為の分析
田島逸郎 (慶應義塾大学大学院)

niryuu@keio.jpのではないかという推測から，Q&A サイトでの質問-回答という相互行為一般への理解を目的とWeb における Q&A 型のサイトは，ユーザー せずこのような目的設定を行った．

I 背景

が自由に質問や回答をできる種類のサイトでIII 方法ある．Q&A サイトはユーザー生成コンテンツ(UGC) としての特徴や，質問や回答行動以外に A 研究対象:Stack Exchange
本研究では，様々な専門に特化した Q&A サ
も「投票」「コメント」などのユーザー同士で評価を行う機能を持ち，研究においては「Social イ ト 群 Stack Exchange を 対 象 と し ，そ の 中Q&A」(SQA) などと総称される 1) ．Q&A サイ でも主にプログラミングに関するものである
トにはどんな種類の質問も受け付ける「Yahoo! Stack Overflow のやりとりを分析する．Stack知恵袋」などのほかに，プログラミングに関す Overflow では，ユーザーは質問をでき，質問にる質問を扱う「Stack Overflow」などの専門に 回答をでき，質問や回答を評価やコメント，編特化したものも登場している．
集を行うことができるなど多くのユーザー間のQ&A サイトは，様々な観点から研究されて コミュニケーションを支援する機能を持つ．先きた．Q&A を「既に集積された知識」として扱 行研究では，How-to 型などの問題解決を志向
い，質問などの分類をしているもの 3) が最も代 した質問が多く 3) ，Android 開発の機能の 8 割表的である．一方でメディア技術としての特性 以上に質問が存在する 2) ことが知られている．
が人々の行動に与える影響に注目し，ユーザー Stack Overflow 及び地理情報プログラミングにの投稿頻度などの特性を統計的に分析したもの 関するサイト gis.stackexchange.com から 6 件
4)，メーリングリストからコミュニティが移行し の「回答が行われている」質問のデータを収集ていく過程を分析したもの 5) ，などが存在する． し，その実際を詳細に記述した．対象となる質問
しかし，Q&A サイトは様々な人が交流し，そ は随時 ID と共に示し，実際のデータには例えばの関わりの中で知識の流通や協働を可能にして http://stackoverflow.com/questions/31884504/いるものである．その観点では，知識が形成され のように ID を指定することでアクセスが可能る過程に注目することが重要であると考えられ である．
事例の抽出に関しては，各ページごとに (1) タる．Tausczik らは，内容分析によって実際の質問の過程の各段階を追ったコーディングを行っ イトル (2) 質問 (3) 質問への複数のコメント (4)ている 6) が，形式的な過程の分析ではなく，質 複数の回答 (5) 各回答へのコメント (6) 編集履
問や回答を行っている人々が実際にどういった 歴が存在するが，その中からタイトル (Title)，ことを行っているのかという，行為としての側 質問 (Question)，コメント (Comment) を抜き面に注目することが重要であると考えられる． 出した．コメントは最初のものから順に連番を実際に，Matthew らは Stack Overflow での良 付与した．質問中にソースコードを記載する機い回答への投票の時間的推移を分析していく中 能があり，それは異なるフォントで記載した．なで，その心理学的，認識論的な実態の解明には お，各質問には全て何らかの回答が付いている．
行為の実際を見ていくエスノグラフィックな視 B ワークの研究
本研究では，質問というものをあらかじめ与点が重要であると示唆している 8) ．
えられたものではなく，ある質問が質問としてII 目的他の人に理解されるような，行為が達成される
本研究は「専門的な質問がどのように回答者 場面から見ていく．質問に限らず，ある行為がに質問行為として受け取られていくのか」につ 行為として受け取られるということは，その行いて，その特徴を解明することを目的とする． 為が自身を説明しているということであり，そまず質問行為が未解明であること，またある専 の説明が理解されて初めてお互いに共同で何か門領域では質問はある程度似通ったものになる をすることができる．その方法は日常においても専門的な場面においても，その場その場でおI’m not sure what I need to add to make the
こる独特のものとなる．その中には，ある程度
element animate up, the examples on w3schools
同じような行為のパターンもあれば，その場限weren’t of much help. If anybody could point
りの行為もあるだろう．また，専門家特有の「知me in the right direction I would be extremely識共有」「問題解決」と呼べるようなものも見らappreciative. Thank you Stack Overflow.
れるだろう．本研究では，このような行為の達成の実際を記述していく，社会学のエスノメソドロジー的なワークの研究の視点をとる 10) ．
【第１図】疑問文を含まない単純な質問
ワークの研究を実際に行う際は，会話やビデ(ID:33271928)
オデータの記録や，エスノグラフィーによる観”I am trying to”と何をしようとしているか，察を行う．しかし，Web のような参加者がその つまり質問者にとっての課題を提示している．
場にいない環境では，人々の活動のログから行 この事例で特徴的なのが”I did some research
為を特定していく必要があり，様々な方法が提 on w3schools but I could not find any infor唱されている 7) ．本研究では，Q&A サイトに mation that helped me.”とある情報源をあたっついてこれらを参照しながら記述を行う．もっ たが有用な情報を得られなかったことを示してとも，前述のような場面に固有の特性を記述し いる．これは，同様に Stack Overflow においていくという試みは，その研究も場面特有のも ても「情報」を求めていることを示唆する．さのとなることを示唆する．このため，以降の分 らに”I’m pretty sure that’s not what I need析はある種の探索的な道筋をとる．
because I’m trying to trigger”と，探した情報

IV 質問行為における課題の提示を基に何を求めていないかを明確化している．
最後に”If anybody could point me in the right

Stack Overflow においては比較的短い質問行 direction I would be extremely appreciative”と，誰かに正しい方法を示すことを求めている．
さらに，ソースコードのコメント (実際の挙動とは関係ない部分) に，”some kind of animation
Title Move HTML element upwards on hoverproperty here?”と何かをすることはわかっていQuestion
I am trying to move an HTML up about 10px
るが，実際にコードは書かれておらず解決はしwhenever a user hovers their mouse over it. Iていないということを述べている．質問者は途did some research on w3schools but I could not
find any information that helped me. Most of
中まで書かれたソースコードを示すことによっtheir animation examples were using keyframesて，自分がどこまで実際に試してみたのかといand I’m pretty sure that’s not what I need because I’m trying to trigger an animation when
うことを示しているといえる．
somebody hovers over the element. I could be
以上をまとめると，本質問では「課題を提示す
wrong though and that’s why I’m posting here.
Here’s the element I’m trying to move:る」「今まで調べた・試したことを提示する」ことを行った上で，最後に助けを求めることで質<div id="arrow"><a href="#">
問を完成させている．また，調べた・試したこ<i class="fa fa-arrow-down fa-2x">とも課題をさらに明確にしていくことに関わっ</i></a>ている．
</div>
この初期的な観察から，課題が提示され，それFor my CSS:を解決する方法を求めるということは，ある文#arrow {章を質問行為として理解する一つの道筋である
padding-top: 310px;
ことがわかる．一方で，プログラミングに関す
color: #5C6B7E;
position: relative;
るような専門的な課題を提示するまでには，それ/* some kind of animation property here? */なりに長い説明が行われている．別の Q&A サ}
イトでは一文で終わるような質問も散見される#arrow:hover {ため，専門的な課題の説明自体が複雑な手続き/* new properties once user hovers */}を踏んでいる可能性がある．そこで次節からは，その課題をめぐる提示の方法を２例検討した．

為の内容を見る．

A 自己紹介による課題の提示
質問文では本題に入る前に前置きに入る場合がある．第２図の事例で行われている「自己紹介」もその一つである．

Title Binding this/self/that to an event callback
when it can be called not as an event callback
Question
I’m new to javascript modular programmingand I have been running into this issue a lot andI’m not sure what the best way to deal with it.
Let’s say I have a method that I want to use
as both an event handler in some circumstances
and as part of the regular flow of the module
initialization in others depending on the url parameters.
(略)basic information. If I need object functionality,
then I’d create a normal object, e.g. var obj ={x:3, etc};
This is because {} isn’t truly a blank object
as it links to the Object prototype so in loops
you have to do hasOwnProperty to stop it dancing around the prototype chain and doing thischeck on every loop hinders performance, albeit
it’s negligible.
Is it bad practice to use Object.create(null) instead of {}, so I don’t have to write hasOwnProperty in every loop?
Comment6You haven’t defined any criteria for ”better”
other than the own property issue. None of thestandard properties on Object.protoype are enumerable, so that’s a Furphy. What other reason
do you have? Of course there may be additional,【第２図】自己紹介を含む質問の最初の 2 行(ID:32056525)”I’m new to”から始まる一文は，質問者自enumerable properties on Object.prototype but
there are other ways to avoid that than using hasOwnProperty. -RobG
Comment7

身の素性について説明している．これは課題@RobG - Perhaps I’m being too pedantic worとは一見関係ないように見える．しかし，そのrying that hasOwnProperty takes an extra CPU
後”javascript modular programming”とかなりcycle every time you use a loop. I’d rather save
限定された領域について述べている．この質問
the digital gremlins from doing any more workに付いた「タグ」は”javascript”, ”jquery”であthan they have to, hence I use the null method.
り，自己紹介でさらに詳しく領域を絞っているこI take on board your comment and will do someとになる．これは，単なる自己紹介だけでなく，
research about enumerable props, thanks. - Data
これから”javascript modular programming”についての課題を提示することの前置きともなっていると見ることができる．実際に，続く課題の【第３図】課題の提示を求めるやりとり
提示で”the regular flow of the module initial(ID:32262809)
ization”と述べており，modular programming この事例では，”I prefer to use”とあるように対応している．つまり，自己紹介によってそ に具体的な課題を提示せず，他の方法を提示の後の課題の導入を円滑に行えるようになって した上でどちらが良い方法かという質問をしいると見ることができる．ている．この質問に対して，別のユーザーがコ
B やりとりによる課題の提示
メントで”You haven’t defined any criteria for
これまで，課題の提示が最初の質問の時点で ”better” other than the own property issue.”
達成された事例について検討してきたが，質問 と，何をもって「良い」とするかが明確では時に課題の提示がうまくいかず，コメントにお ないと指摘した (Comment1)．さらに，”What
けるやりとりによって課題が解決できるような other reason do you have?”と別の理由を聞い形で提示されたような質問を取り上げる．第３ ている．それに対して投稿者は”I’d rather save
図は，ある方法と別の方法の比較を行っている the digital gremlins”とより明確な理由を示しものである．ている．このように，課題が適切に提示されているかどうかは，質問者と他の回答者になりうるユーザーの間で問題になりうる．
Title Is it bad practice to use Object.create(null)versus {}?
Question
I prefer to use Object.create(null), this way I
can use the object as a simple dictionary to store

V 結論
Stack Overflow における質問は，基本的に課題解決を志向したものだといえる．また，第５図の事例に見るように課題解決ではない形でも 3) Treude, Christoph; Barzilay, Ohad;
課題解決になるような事例も見られた．しかし，Storey, Margaret-Anne.. ”How do proその課題はただ疑問文などの形で形式的に与えgrammers ask and answer questions on
られるものではなく，例えば質問者の能力や焦the web?: NIER track”. 2011, 33rd In点，解決をしたいプログラミング上の問題が置か
ternational Conference on Software Engiれた状況など付帯的なものも関わっている．そneering (ICSE’11), IEEE, pages 804-807.
れは質問を見ているユーザーにとっても時に問 4) Mamykina, Lena; Manoim, Bella; Mit題視され，コメントなどでやり取りがなされた
tal, Manas; Hripcsak, George; Hartmann,上で初めて適切な質問として受け取られる．こBjorn. ”Design lessons from the fastestのような観察は，質問が質問として受け取られ
q&a site in the west”. 2011 Annual Conる上でどのようなことを提示するのが適切かとference on Human Factors in Computing
いうことを，質問者が配慮しているという基本Systems (CHI ’11). ACM, 2011, p.2857的な態度を明らかにしたと言える．これを「知2866.
識共有」の一種と捉えることも，「協働的な問題 5) Vasilescu, Bogdan; Serebrenik, Alexan解決」と捉えることも可能だろう．
der; Devanbu, Prem Devanbu; Filkov,
一方で，本研究では課題の提示に重要である
Vladimir. ”How social Q&A sites areと考えられるソースコードの提示について，十changing knowledge sharing in open
分に検討できなかった．以上で見てきたように
source software communities”. 17th ACM
ソースコードは課題の提示の過程で頻繁に出てConference on Computer Supported Coくるため，ソースコードをシステム上提示できoperative Work and Social Computing,ない場合，課題の提示が困難になることが予想
2014, p.342-354.
される．これは別のサイトについても言え，「見 6) Tausczik, Yla R.; Kittur, Aniket; Kraut,栄え」「地理的配置」など目で判断すべき事項がRovert E.. ”Collaborative Problem Solv問題となるような，組版システムや地理情報シ
ing: A Study of MathOverflow”. CSCW
ステムに関する Stack Overflow の姉妹サイト’14:Proceedings of the 17th ACM conferは，画像を投稿する機能を備えている．これら
ence on Computer supported cooperativeが果たしている役割も課題を明確にするという
work & social computing. ACM, 2014,
観点からはより理解が深まるだろう．
p.355-367.
今後の研究の方針としては，まず質問から回 7) Hine, Christine. Ethnography for the In答に向けての一連のやりとりを記述することがternet: Embedded, Embodied and Every挙げられる．その上で今回の質問に関する知見day. Bloomsbury Publishing, 2015, 221p.
は有用である．また，質問についても全てが今 8) Matthews, Paul. Knowledge fixation and
回取り上げた課題解決を志向したものとは限ら
accretion: longitudinal analysis of a social
ず，また課題を導入していく方法についても他
question-answering site. Journal of Docuに様々な類型があるだろう．これらを理解する
mentation. 2014, Vol 70, Issue 5, p.711上で，本研究のようなエスノメソドロジー的分733.
析は有効と思われる．
9) Ackerman, Mark. S.; Dachtera, Juri;

Pipek, Volkmar; Wulf, Volker. Sharing knowledge and expertise:
TheCSCW view of knowledge management.
1) Gazan, Rich. Social Q&A. Journal ofComputer Supported Cooperative Work
the American Society for Information Sci(CSCW). 2013, 22(4-6), p.531-573.
ence and Technology. 2011, vol.62, no.12,10)
Rouncefield, Mark; Peter Tolmie. Ethp.2301-2312.
nomethodology at work. Ashgate Publish2) Parnin, Chris; Treude Christoph. ”Meaing Ltd, 2011, 251p.
suring API documentation on the web”.

参考文献

2011, 2nd International Workshop on
Web 2.0 for Software Engineering , ACM,
p.25-30.