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

Stack Overflowにおける編集活動:知識の公開という観点から

Tajima Itsuro
November 16, 2019

Stack Overflowにおける編集活動:知識の公開という観点から

Tajima Itsuro

November 16, 2019
Tweet

More Decks by Tajima Itsuro

Other Decks in Research

Transcript

  1. Stack Overflowにおける
    編集活動:
    知識の公開という観点から
    田島 逸郎(慶應義塾大学大学院)

    View full-size slide

  2. Introduction:
    Stack Overflowとは

    View full-size slide

  3. Stack Overflow(SO)とは
    • 「専門的で情熱的なプログラマーのための質問回答サ
    イト」
    • 「世界の中の良いプログラミングの知識の総和を集合
    的に増やす」目的をもって設立
    →広く知識をアクセス可能な状態で公開することを目
    指す
    • 1800万件の質問(2019年11月現在)
    https://blog.codinghorror.com/introducing-stackoverflow-com/
    https://stackoverflow.com/tour
    https://data.stackexchange.com/

    View full-size slide

  4. Stack Overflow(SO)とは
    https://stackoverflow.com/

    View full-size slide

  5. Stack Overflow(SO)とは
    得票数
    回答数
    閲覧数
    タグ
    タイトル
    https://stackoverflow.com/

    View full-size slide

  6. Stack Overflow(SO)とは
    https://stackoverflow.com/questions/5597060/detecting-arrow-key-presses-in-javascript

    View full-size slide

  7. Stack Overflow(SO)とは
    質問の
    タイトル
    質問の本文
    ソースコード
    質問者
    タグ
    得票数
    https://stackoverflow.com/questions/5597060/detecting-arrow-key-presses-in-javascript
    最新の質問
    の編集者

    View full-size slide

  8. Stack Overflow(SO)とは
    https://stackoverflow.com/questions/5597060/detecting-arrow-key-presses-in-javascript

    View full-size slide

  9. Stack Overflow(SO)とは
    回答数
    得票数
    質問者が
    受け入れた
    回答
    最新の回答
    の編集者
    回答者
    コメント
    https://stackoverflow.com/questions/5597060/detecting-arrow-key-presses-in-javascript

    View full-size slide

  10. SOにおける共同作業と編集活動
    • SOでの編集はWikipediaの影響を受けたもの
    • 「編集と履歴はStack Overflowの鍵」
    • 5種類の編集の類型が「ヘルプ」に挙げられている
    • 文法やスペルの間違いを直す
    • 投稿の意味をより明確にする
    • コメントで追加された情報を含める
    • 小さい間違いを正し,古い投稿を更新する
    • 関連する情報源やハイパーリンクを加える
    http://blog.stackoverflow.com/audio/stackoverflow-podcast-004.mp3
    https://stackoverflow.com/help/editing

    View full-size slide

  11. SOにおける編集に関する先行研究
    • Liらによる共同編集モデルの研究
    • 質問に対する編集行動は回答を増やす
    • 新参者の回答が編集されると,今後の回答が減る
    • Yangらによる共同編集による質問の改善に関する研究
    • 編集行動は品質(投票)を上げる
    • コミュニティに長くいるに従って編集行動は減る
    • しかし,編集を質問回答の中でどのように行っている
    かは明らかではない
    Li, Guo; Zhu, Haiyi; Lu, Tun; Ding, Xianghua; Gu, Ning. ”Is It Good to Be Like Wikipedia?: Exploring the Trade-offs of Introducing Collaborative Editing Model to Q&A Sites”.
    CSCW ’15:Proceedings of the 18th ACM Conference on Computer Supported Cooperative Work & Social Computing. ACM, 2015, p.1080-1091.
    Yang, Jie; Hauff, Claudia; Bozzon, Alessandro; Houben, Geert-Jan. “Asking the Right Question in Collaborative Q&A systems”. Proceedings of the HT'14. ACM, 2014, p.179-
    189.

    View full-size slide

  12. Purpose and Method:
    本研究の目的と方法

    View full-size slide

  13. 本研究の目的
    •本研究は,
    Stack Overflowにおける編集が,
    質問回答という共同作業の中で
    どのように行われているかという
    実践の側面を理解することを
    目的とする

    View full-size slide

  14. 本研究の方法
    • エスノメソドロジーの方針に従う
    • SOにおける質問回答という現象を取り上げる
    • 編集活動の組織化を記述する
    • 分析対象:”javascript”タグのアクセスの多い質問
    • 質問数が多い
    • 参加者のスキルレベルが様々である
    • プログラミング言語自体が数年で変遷を遂げている

    View full-size slide

  15. Findings:
    Stack Overflowにおける
    編集活動

    View full-size slide

  16. 編集活動の成り立ち
    • 様々なバリエーションがある
    • 今回は1つの質問が編集されていく様を詳細に見る

    View full-size slide

  17. “Detecting arrow key presses in
    JavaScript”
    • 2011年4月8日にmihsatheによって質問
    • 4分後にMark Kahnによって回答→受け入れ
    • 2013年にSoonDeadにより編集提案
    • 2013年にMattにより編集提案の受け入れと編集
    • 2015年にmihsathe(質問者)によって編集
    • 2018年にGiboltによって編集
    • 7年間にわたって4回の編集がなされた
    https://stackoverflow.com/questions/5597060/detecting-arrow-key-presses-in-javascript

    View full-size slide

  18. 当初の質問
    http://web.archive.org/web/20120810001747/https://stackoverflow.com/questions/5597060/detecting-
    arrow-keys-in-javascript
    2011/4/8
    内容:
    キーボードのキーが
    押されたときに
    何が押されたかを
    判定したいが
    矢印キーが判定でき
    ない

    View full-size slide

  19. 回答
    質問の4分後
    矢印キーは特殊な
    判定方法がある

    View full-size slide

  20. 2013年になされた編集(1)

    View full-size slide

  21. 2013年になされた編集(1)
    SoonDeadによる編集提案
    →受け入れ
    2013/5/5

    View full-size slide

  22. 2013年になされた編集(1)は
    何を目指したか
    編集理由「Googleで上位
    に表示されたため修正す
    ることを決めた」

    View full-size slide

  23. 編集1で何がどのように行われたか
    • 質問し,回答が受け入れられて2年後の編集である
    • 回答を求めることを主とした編集ではない
    • Googleで上位に表示されたため編集を提案した
    • アクセスされる知識として改善を志向している
    • では,どのようにそれを行ったのか?

    View full-size slide

  24. 2013年になされた編集(1)
    適切な
    固有名詞表記
    文法の修正,
    Thanksの削除
    タグの追加
    ソースコードの
    整形

    View full-size slide

  25. 2013年になされた編集で
    何がどのように行われたか
    • 質問内容の細かな体裁を整え,読みやすくしていた
    • 固有名詞を適切な表記に(Javascript→JavaScript)
    • 文法の修正
    • 質問と直接関係ない「ありがとう」を削除
    • タグを追加した
    • JavaScriptタグは質問数が多い(約180万件)
    • 主題をさらに絞ってアクセスできるようにしていた
    • ソースコードを,理解しやすく整形した
    • 階層構造を適切に反映していた
    • 質問の品質の改善によってアクセスされる知識を改善

    View full-size slide

  26. 2013年になされた編集(2)
    内容に合った
    タイトルに
    誤修正の再修正
    編集提案を
    受け入れた上で
    さらに編集を加える

    View full-size slide

  27. 2013年になされた編集(2)で
    何がどのように行われたか
    • まず,編集1の編集提案を受け入れた
    • その上で,
    • タイトルを内容にあったものに変え
    • 編集1で文法を間違えて修正した部分を再修正した
    • つまり,編集1を適切な編集として受け入れ,自身もさ
    らに質問の改善を行った

    View full-size slide

  28. 2015年になされた編集:
    質問者によるソースコードの編集
    最初の質問者
    新しい機能で
    書き換え
    内容の明確化
    不要な
    コードの削除

    View full-size slide

  29. 2015年になされた編集で
    何がどのように行われたか
    • 質問者自身による4年後の編集である
    • 編集1,2でなされた変更点に手を加えていない
    • 編集1,2を受け入れている
    • 既に回答がなされ解決がなされている質問である
    • しかし内容を改善している
    • 質問の品質の改善に従事している

    View full-size slide

  30. 2015年になされた編集で
    何がどのように行われたか
    • 解決すべき問題に集中したソースコードに修正した
    • あってもなくても変わらない部分を削る
    • 古いやり方を新しいやり方に書き換えている
    • 質問の中で推測していた原因を修正
    • よりプログラマーにとって意味が明確になるような
    形で書き換えている

    View full-size slide

  31. 2018年になされた編集:
    タグの追加
    タグの追加
    2018/4/11

    View full-size slide

  32. 2018年になされた編集で
    何がどのように行われたか
    • 既存の類似した”keyboard-events”タグが存在するが
    • タグ”keypress”を追加することで
    • ”keypress”タグからもアクセスできるようにしている
    • さらにアクセスの可能性を高めている

    View full-size slide

  33. 当初の質問
    http://web.archive.org/web/20120810001747/https://stackoverflow.com/questions/5597060/detecting-
    arrow-keys-in-javascript
    2011/4/8
    キーボードのキーが
    押されたときに
    何が押されたかを
    判定したいが
    矢印キーが判定でき
    ない

    View full-size slide

  34. 2019年現在の質問 内容に即したタイトル
    文法の修正
    コードの整形
    意味の明確化
    タグの追加
    コードの現代化

    View full-size slide

  35. 一連の編集の経緯
    質問 編集1 編集2 編集3 編集4
    編集提案
    文法など
    の修正
    文法,タイトル
    の修正
    本文,コードの
    ブラッシュアップ
    タグの追加
    前の編集を受け入れながら,質問の
    改善が続いていく

    View full-size slide

  36. まとめ
    •編集は,あくまで質問を改善することを志
    向していた
    •編集は,その時の質問内容に即した形で,
    つまり直前の編集を受ける形で行われてい

    •→編集という行為が連鎖によって組織され
    ていく

    View full-size slide

  37. 今後の課題と結論
    •質問と回答によって知識が公開されすでに回答が
    受け入れられた時点での編集が意味することは、
    「検索可能な情報としての」質問回答の品質を良
    くすること
    •様々なバリエーションのある現象も,連鎖的な組
    織の上で分析できるだろう
    •参加者が実際に編集活動をどのように行っている
    かを明らかにした。

    View full-size slide