Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Stack Overflowにおける「知識の総和の増加」への志向と達成

Db3d00564e01b3b4efb99edeb5e40f64?s=47 Tajima Itsuro
October 07, 2017

Stack Overflowにおける「知識の総和の増加」への志向と達成

Db3d00564e01b3b4efb99edeb5e40f64?s=128

Tajima Itsuro

October 07, 2017
Tweet

Transcript

  1. Stack Overflowにおける 「知識の総和の増加」への 志向と達成 ⽥島逸郎<niryuu@keio.jp> 慶應義塾⼤学⼤学院 三⽥図書館・情報学会2017年度研究⼤会

  2. はじめに

  3. 背景 • Webの発展に伴い,個⼈メディアやソーシャルメディ アの隆盛により,アクセス可能な情報源が増⼤した • しかし, • 多量の情報源に圧倒される「情報爆発」 • 情報の重複

    • など,様々な問題が起きている • Web上の情報源は図書館などの適切に組織された情報 源と対⽐される
  4. 背景 • Web上の情報源は図書館などの適切に組織された情報 源と対⽐される • ⼀⽅で,Webは知識の発信だけでなく,知識の集まり, ストックを利⽤者⾃⾝がアクセスしやすいよう組織す るプラットフォームともなる • 例:Wikipedia

    • 異なった思想信条を持つ利⽤者による協働を可能に • 「中⽴的な観点」という規範を持つことで • 「百科事典」へ
  5. 本研究の⽬的 • 利⽤者による知識ストックの管理については,現在は 事例が少ないが,今後重要になるだろう • しかし,その実際は⼗分に研究されていない • 本研究はその端緒として,実例を通じて • 利⽤者によって知識ストックがどのように管理され

    ているか • それをどういった視座で研究すればよいか • を明らかにする
  6. 研究対象 • プログラマー向けの質問回答サイト Stack Overflow(SO)を研究対象とする • 質問と回答,編集やコメント,重複の指摘などが可能 • 有⽤な知識を協働で蓄積する意図のもとに設⽴,運営 •

    実際にプログラマーに有⽤な情報源となっている • Alexa rank 55(17/10/02), 1500万質問 • プログラマーの検索⾏動の調査の結果,63%がSOを 訪れることで検索を終えている • よって,本研究の⽬的に適した対象である Xia, Xin; et al. What do developers search for on the web?. Empirical Software Engineering. 2017, vol.22, no.6, p.1-37. https://stackoverflow.com/ https://www.alexa.com/siteinfo/stackoverflow.com http://data.stackexchange.com/
  7. ⽅法 • SOの知識や共同体に関する考え⽅を明らかにする • 公式ドキュメントや設⽴者のブログ記事より • 設⽴経緯,⽬標とそれを実現するための⽅針 • 質問回答サイトとしてSOを⾒た場合の射程と限界を明 らかにする

    • 質問回答サイト研究の現状を把握 • その上で,SO独特の特徴をどう研究したら良いかを 考察
  8. 質問回答サイト Stack Overflowの⽬指す 知識,共同体観

  9. (1)SOの設⽴経緯と構想 • SOの設⽴経緯,設⽴当初の構想はどのようなものか? • 創⽴者のうち,積極的に情報発信を⾏ったJeff Atwood のブログから分析

  10. 2008/4/6:新たなウェブサイトの構想 • 創⽴者の1⼈であるJeff Atwoodが「ソフトウェア開発 コミュニティのウェブサイト」を具現化するような ウェブサイトとドメインの名前をブログ上で募集した • プログラマー⽂化に即したドメイン名が提案 • humbledeveloper.com

    • privatevoid.com • dereferenced.com • stackoverflow.comが最も多く得票 https://blog.codinghorror.com/help-name-our-website/
  11. 4/16:”So what is stackoverflow?” • AtwoodがSOを設⽴しようとしたきっかけ • アメリカでは,有名なプログラマーがブログで技術情 報などを発信していた •

    コメント欄において,技術的な質問が数多くなされ, ブロガーはその対応に追われていた • 専業の回答者としてのブロガーにはなりたくなかった • ブロガーになるには敷居が⾼かった • ブログにおいては他の情報源で情報を探しにくいため 質問がされ,回答者になるには敷居が⾼かった https://blog.codinghorror.com/introducing-stackoverflow-com/
  12. 4/16:”So what is stackoverflow?” • 技術情報の探しにくさと提供する敷居の⾼さの問題 • 「簡単に参加でき,その成果を探しやすくできるよう な形でオンラインに出せるような,何かを作ろう」 •

    それは以下のようなウェブサイトである • 解決策を⾒るのに課⾦が必要なものではなく • 世界のプログラミングに関する良い知識の総和を, 集合的に増やすような究極的な⽬的を持ち • より良いプログラミングがゴールである https://blog.codinghorror.com/introducing-stackoverflow-com/
  13. 9/15:SOの設⽴ • Podcastにおける複数の議論を経てサービス開始 • 懐疑論:SOが登場してもプログラマーは書き込まないの ではないか? • →少しずつ知識を持ち寄れるようになっているため, 敷居は下がるだろう https://blog.codinghorror.com/stack-overflow-none-of-us-is-as-dumb-as-all-of-us/

  14. SOの⽬標 • 世界のプログラミングに関する良い知識の総和を,集 合的に増やすような究極的な⽬的を持ち • より良いプログラミングがゴール • これらをどうやって達成しようとしているか

  15. SOの⽬標 • SOは質問回答サイトである • 質問回答サイト:ある利⽤者が情報ニーズを⾃然⾔語で 公開し,他の利⽤者がそれに応える

  16. SOの⽬標 情報ニーズの ⾃然⾔語による表現 (SOの場合は ソースコードや リンクなども含む)

  17. SOの⽬標 それに対する 他の利⽤者からの 応答 投票 回答 ベストアンサー 他の回答

  18. SOの⽬標 • しかし,ただ質問回答サイトの仕組みを導⼊しただけ では • 「プログラミングに関する良い知識の総和を,集合 的に増やす」ことや「良いプログラミング」 • は必ずしも達成できるとは限らない •

    では,どうやっているか? • 以上の内容を検討した • 公式のブログ記事( https://stackoverflow.blog/ ) • ヘルプページ( https://stackoverflow.com/help )
  19. ⽅針(1)どのような質問をすれば良いか • このような質問をすべき • 「特定のプログラミング上の問題」「実践的で回答 可能なもの」 • 「以前にされていない質問」 • 利⽤者が質問する際に適切な質問であるか考慮でき

    • 他の⼈が質問が適切なものかを判断し,回答や指摘を ⾏えるような資源となっている • 有⽤性を志向している
  20. ⽅針(1)どのような質問をすれば良いか • 「主観的な」(意⾒を求めるような)質問を避ける • ただし,理由や情報源などに基づく「建設的で主観 的な質問」は良い • 「少なくとも他の1⼈が関⼼を持つような質問」 • 質問回答が他の⼈にとって役⽴つような,さらには

    「プログラマー」にとって役⽴つようなものになるよ うに志向している
  21. ⽅針(2)質問が重複した場合どうすれば よいか • ディスカッション・フォーラムやメーリングリストな どでは同じ質問が複数なされる問題があった • SOでは重複の報告,リンクなどを利⽤者同⼠で⾏え る仕組み,及び⽅針が整備されている • 似たような質問が増えることを防げるため,検索など

    で探しやすく • 回答する側も似た質問に答えないで済む
  22. ⽅針(2)質問が重複した場合どうすれば よいか • ⼀⽅,安易に「重複」とすべきではないともしている • 同じ内容の質問でも別の表現ができる • 同じように⾒える問題でも解決の⽅法が違う場合が ある •

    →他の⼈が参加して知識を持ち寄れる契機となる • あくまでSOにおける「質問の重複」の定義はゆるやか であり,利⽤者同⼠の判断に任されている • プログラミングに特有の問題を適切に管理できるよう な⽅針となっている
  23. ⽅針(3)利⽤者による質問回答の管理 • 各利⽤者は質問回答,及び投票などで評価スコアを得 る。それに基づいて,コメント,編集,質問の保護・ 削除など様々な管理権限が与えられる • 利⽤者同⼠が⽅針を実際に実⾏できる • より良い回答などの⾏動を積み重ねた利⽤者が,他の 質問回答を良くすることをより⽀援できるようになっ

    ている • 評価で得られる以上の権限を持ち,模範となる「モデ レータ」は活発な利⽤者から投票によって選定される
  24. ⽅針(3)利⽤者による質問回答の管理 • 「質問回答やSOに関する議論」をできる「メタ」質問 回答サイトを設置 • 例えば,どういった質問や回答が望ましいかという議 論も,メタで⾏える • 「⽅針」の詳細は利⽤者に委ねられる •

    「編集」で,質問回答を他の⼈にもわかりやすくする • 質問回答は質問者と回答者が相互に理解していれば成 り⽴つが,それを越えて他の訪れた⼈にもわかりやす いように,説明や情報源などを追加して「改善」する
  25. ⽅針(4)「検索」への志向 • SOの「窓⼝」はGoogleなどのWeb検索である • 質問回答,及びその集まりを第三者にわかりやすくす ることが,Web検索結果の改善につながる • 「少なくとも他の1⼈が関⼼を持つような質問」 • 実践的な質問:実際の問題に関わる語を質問に盛り込む

    • わかりやすい⽂に編集することで,アクセスを容易に • 重複を過度に排除しない:様々な⽅⾯からの検索 • 訪問者にアクセスを容易にするとともに, • SOが信頼のおける⼈の集まる場であることをも⽰す • アクセスされるだろうということが良い⾏動を促す
  26. SOは⽬標を達成する⽅針を設定している • ⽬的:「プログラミングに関する良い知識の総和を,集 合的に増やす」ゴール:「良いプログラミング」 • 「総和を増やす」 • →検索されやすいような=わかりやすく質問を書く ような様々な⽅針を設定(1,2,4) •

    「集合的に増やす」 • →参加を容易にする仕組み,⾃治(2,3) • 「良いプログラミング」 • →実践的な問題の解決への志向(1) • SOが⽬標を達成する具体的な⽅針を明らかにした.
  27. 質問回答サイトに関する 先⾏研究

  28. 問題設定 • SOは質問回答サイトであるが, • 知識の交換だけでなく,知識やそのストックの管理も, 参加者が協働で⾏えるように⽅針が設定されている • この点で,SOは質問回答サイトの中でも特殊であるよ うに思えるが, •

    研究はどのようにされているのだろうか?
  29. 先⾏研究の調査 • 質問回答サイトは,図書館・情報学,計算機科学など 複数の分野で研究されている • Gazan:2010年までの研究を包括的にレビュー • Srbaら:2015年までの,計算機科学の中の⼈⼯知能や 機械学習によるアプローチに絞ってレビュー •

    本研究では,2011年以降の流れを含めてまとめた • 質問や回答など,内容に注⽬した研究 • 利⽤者の特性や⾏動,動機,過程に注⽬した研究 • サイト全体の統計や概念枠組の研究
  30. 概要 • 個別の質問回答に関する質問の分析,回答の品質,利 ⽤者の⾏動や動機などの研究が主流である • →質問と回答という⼀連の知識交換のプロセスの分 析にとどまっている • サイト全体の統計や概念枠組の研究もあり,質問回答 サイトを共同体や情報源として捉えている

    • →共同体の中の対話が重視されており,知識のス トックとして組織するところまで踏み⼊っていない • →質問回答を利⽤者が知識のストックとして管理して いく側⾯が⾜りない
  31. SOの研究⽅針の提案 • 既存の質問回答サイト研究では,利⽤者⾃⾝が質問回 答を有⽤な知識のストックとして組織していくという 視点が⾜りない • SOに焦点を当てた研究では,編集がどう質問回答を良 くしたか,また「メタ」サイトの利⽤者がどういった 参加の仕⽅をしているかの研究もある •

    ⼀⽅,SOにおいては利⽤者による知識のストックの管 理は利⽤者同⼠の活動を通して⾏われるため,その理 解が必要である
  32. 結論 • SOは利⽤者の活動によって知識を⽣み出すだけでなく, そのストックを組織する意図を持って運営されている • 既存の質問回答サイト研究では,質問回答を利⽤者⾃ ⾝が知識のストックとして管理する視点が⾜りない • SOの研究では,編集の時系列的特性や,「メタ」の利 ⽤者の研究も⾏われつつある

    • しかし,知識の組織,管理は質問回答という場におけ る⾏為を通じて⾏われるため • 活動に焦点を当てた理解が必要である.