プログラマのための   作⽂文⼊入⾨門        伊藤敬彦株式会社プリファードインフラストラクチャー        2012年年  5⽉月  24⽇日  
⾃自⼰己紹介l    奈奈良良先端⼤大情報科学研究課博⼠士後期過程修了了l    ファストサーチ社で⾔言語処理理コンポーネントを開発l    ミクシィで⼤大規模データマイニング技術の調査、      開発を⾏行行うl    Twitte...
準備:プログラマも⽂文書を書くl    プログラマは⾃自然⾔言語を執筆(作⽂文)する機会が多いl    プログラマが書く⽂文書の種類      ❌  感想⽂文、⼩小説      ⭕  技術⽂文書(マニュアル、FAQ、⼝口答発表)l    ...
準備:プログラムを取り巻く状況l    プログラムの品質向上への取り組みは美徳とされて      いる。      l  具体的な取り組み:ペアプログラミング、コード          レビュー、コードのシェアリング、コードインスペ    ...
準備:技術⽂文書を取り巻く状況l    プログラムと違って⽂文書の品質については議論論され      ない。      l  ⽂文の善し悪しに関する具体的な指針の共有が無い。l    読みやすさが向上しない。l    技術、知識識の伝搬...
本発表のテーマl    悪い⽂文のグループ化と各グループへの解決策を考える。l    悪い⽂文となってしまうポイントをプログラミングの規      約から考察する (こじつけてみる)。      文書            プログラム   ...
悪い⽂文の種類⾃自然⾔言語           プログラムの視点では⻑⾧長い⽂文           ⻑⾧長い関数代名詞の多⽤用          ⼀一時変数の多⽤用新単語が直後に利利⽤用されな   変数のスコープが⻑⾧長いい専⾨門⽤用語のフォ...
問題:⽂文の⻑⾧長さに起因する可読性の悪化⽂文が⻑⾧長くなると. . .   l  可読性が損なわれる        l  プログラムにおける⻑⾧長い関数と同じ   l  意図が理理解できない⽂文になりやすい   l  検証 (レビュー...
問題例例:⻑⾧長い⽂文   原⽂文:サポートベクタマシンはパーセプトロ   ンやロジステッィク回帰アルゴリズムのよう   な、⼆二値分類器であるが、性能はそれらに対   して⾼高いといわれているだけでなくさらに   カーネル法を利利⽤用すること...
解決:⽂文を分けるサポートベクタマシンは⼆二値分類器である。⼆二値分類器にはパーセプトロンやロジスティク回帰が有名である。ロジステッィック回帰などの⼆二値分類器にくらべ、サポートベクタマシンは⾼高い精度度をほこる。さらにサポートベクタマシンは、...
⻑⾧長⽂文が発⽣生する状況l    複数のトピックを⼀一つの⽂文で記述するl    不不要な単語(句句)を追加する                   11
問題:代名詞の多⽤用による曖昧性代名詞は⽂文の曖昧性        ⼀一時変数を利利⽤用したプログラムを⾼高める。            def get_results(value):  l  ⼀一時変数を多⽤用               ...
問題例例:代名詞に起因する曖昧性原⽂文:決定⽊木やサポートベクタマシンは分類器である。それはカーネル法を利利⽤用できる利利点がある。 問題:“それ”とは?   l  決定⽊木、サポートベクタマシン、分類器?                 13
解決:代名詞に起因する曖昧性改善後:決定⽊木やサポートベクタマシンは分類器である。分類器の中でもサポートベクタマシンはカーネル法を利利⽤用できる利利点がある。 解決:“それ”をサポートベクタマシンで置き換える   l  冗⻑⾧長になっても名詞...
新しいトピック(専⾨門⽤用語)が利利⽤用されないl  ⽂文の中に出て来た新しいトピック(専⾨門⽤用語)が即    座に利利⽤用されない。l  プログラム的には変数のスコープが⻑⾧長いという問題               15
問題例例:新しいトピック(専⾨門⽤用語)が利利⽤用されない原⽂文:サポートベクタマシン(SVM)は⾮非常に⼤大きな計算量量で知られている。SVMの性能のよさはよく知られている。最近になって計算量量 O(N) のアルゴリズムも提案された。 問題点...
解決:新しいトピック(新単語)が利利⽤用されない改善後:サポートベクタマシン(SVM)は⾮非常に⼤大きな計算量量で知られている。最近になって計算量量 O(N) のアルゴリズムも提案された。  解決法:間に⼊入っている⽂文を消す         ...
問題:新トピック(新語)に解説がない⽂文中で出て来た新語に解説を加えていないため。読者が置き去りになる。  l  特に⼝口答発表では致命的な問題             18
問題例例:初出のトピック(専⾨門⽤用語)に解説がない原⽂文:  Localtiy Sensitive Hashing は類似するインスタンスのペアを抽出します。ではアルゴリズムの内容について解説します。 問題点:インスタンスという初出の単語に解...
解決:初出のトピック(専⾨門⽤用語)に解説がない改善:  Localtiy Sensitive Hashing は類似するインスタンスのペアを抽出します。ここでインスタンスとは… 解決:インスタンスの解説を追加                 ...
助詞に起因する曖昧性l    助詞を連続で利利⽤用すると、接続の優先順位が問題に      なる。l    意味が分からない⽂文ができやすい      l  参考:どう書くかー理理科系のための論論⽂文作法  杉原厚          吉 ...
問題:助詞に起因する曖昧性原⽂文:⼈人⼯工の⾔言語の処理理 曖昧   l  ⼈人⼯工の⾔言語 → の →  処理理   l  ⼈人⼯工  → の  →  ⾔言語の処理理                      22
解決:助詞に起因する曖昧性解決後:⼈人⼯工⾔言語の処理理 l    結合させたい名詞間の助詞を削除する l    注:助詞による曖昧性は他にも⾊色々ある。。。                   23
そのほかの問題l    形容詞の多⽤用l    接続詞の多⽤用、誤⽤用l    ⼝口語l    語尾l    ⽤用語の統⼀一l    ⼤大きな単位の構成⽅方法       l  パラグラフ、節       l  ⼝口答発表⽤用ス...
現実での取り組みとあったらいいなl    現実      l  ⽂文書をバージョン管理理システムで管理理      l  ⽂文インスペクション(Word, ISpell)      l  規約の作成l    夢      l  テス...
まとめl    プログラミングの視点から作⽂文する際の問題を列列挙したl    プログラムを育てるように、⽂文書も育てる                  26
最後にプログラマの必読書  l  理理科系の作⽂文技術                   27
Upcoming SlideShare
Loading in …5
×

作文入門

4,826 views

Published on

Published in: Education
0 Comments
14 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,826
On SlideShare
0
From Embeds
0
Number of Embeds
581
Actions
Shares
0
Downloads
0
Comments
0
Likes
14
Embeds 0
No embeds

No notes for slide

作文入門

  1. 1. プログラマのための 作⽂文⼊入⾨門 伊藤敬彦株式会社プリファードインフラストラクチャー   2012年年  5⽉月  24⽇日  
  2. 2. ⾃自⼰己紹介l  奈奈良良先端⼤大情報科学研究課博⼠士後期過程修了了l  ファストサーチ社で⾔言語処理理コンポーネントを開発l  ミクシィで⼤大規模データマイニング技術の調査、 開発を⾏行行うl  Twitter  アカウント:takahi_̲il  そろそろ  34  歳 2
  3. 3. 準備:プログラマも⽂文書を書くl  プログラマは⾃自然⾔言語を執筆(作⽂文)する機会が多いl  プログラマが書く⽂文書の種類 ❌  感想⽂文、⼩小説 ⭕  技術⽂文書(マニュアル、FAQ、⼝口答発表)l  作⽂文は重要:コミュニティを⼤大きくする、ユーザ獲得 3
  4. 4. 準備:プログラムを取り巻く状況l  プログラムの品質向上への取り組みは美徳とされて いる。 l  具体的な取り組み:ペアプログラミング、コード レビュー、コードのシェアリング、コードインスペ クションツールl  規約(守ることが望ましいルール)が存在する: l  変数の命名 l  関数の⻑⾧長さ l  変数のスコープ l  インデント l  … 4
  5. 5. 準備:技術⽂文書を取り巻く状況l  プログラムと違って⽂文書の品質については議論論され ない。 l  ⽂文の善し悪しに関する具体的な指針の共有が無い。l  読みやすさが向上しない。l  技術、知識識の伝搬が阻害される。 l  例例: l  翻訳された本が理理解できず結局原著を読む。 l  マニュアルが理理解できずハマる。 5
  6. 6. 本発表のテーマl  悪い⽂文のグループ化と各グループへの解決策を考える。l  悪い⽂文となってしまうポイントをプログラミングの規 約から考察する (こじつけてみる)。 文書 プログラム マニュアル、論論⽂文、仕様書、実⾏行行ファイル、フレームワー 技術ブログ ク 章 ライブラリ 節 クラス パラグラフ ⽂文 メソッド 単語 演算⼦子、変数、シンボル 6
  7. 7. 悪い⽂文の種類⾃自然⾔言語 プログラムの視点では⻑⾧長い⽂文 ⻑⾧長い関数代名詞の多⽤用 ⼀一時変数の多⽤用新単語が直後に利利⽤用されな 変数のスコープが⻑⾧長いい専⾨門⽤用語のフォローがない 引数の意味が記述されていな い助詞の曖昧性 変数名➠  以下、各悪い⽂文の紹介と解決⽅方法について述べてゆく。 7
  8. 8. 問題:⽂文の⻑⾧長さに起因する可読性の悪化⽂文が⻑⾧長くなると. . . l  可読性が損なわれる l  プログラムにおける⻑⾧長い関数と同じ l  意図が理理解できない⽂文になりやすい l  検証 (レビュー) に時間がかかる 8
  9. 9. 問題例例:⻑⾧長い⽂文 原⽂文:サポートベクタマシンはパーセプトロ ンやロジステッィク回帰アルゴリズムのよう な、⼆二値分類器であるが、性能はそれらに対 して⾼高いといわれているだけでなくさらに カーネル法を利利⽤用することで⾮非線形の問題に 対応できるという利利点をもつ。 9
  10. 10. 解決:⽂文を分けるサポートベクタマシンは⼆二値分類器である。⼆二値分類器にはパーセプトロンやロジスティク回帰が有名である。ロジステッィック回帰などの⼆二値分類器にくらべ、サポートベクタマシンは⾼高い精度度をほこる。さらにサポートベクタマシンは、カーネル法を利利⽤用することで⾮非線形問題を処理理できる。 10
  11. 11. ⻑⾧長⽂文が発⽣生する状況l  複数のトピックを⼀一つの⽂文で記述するl  不不要な単語(句句)を追加する 11
  12. 12. 問題:代名詞の多⽤用による曖昧性代名詞は⽂文の曖昧性 ⼀一時変数を利利⽤用したプログラムを⾼高める。 def get_results(value): l  ⼀一時変数を多⽤用 tmp_var = value * value したプログラム tmp_var = tmp_var – value と同じ return tmp_var 12
  13. 13. 問題例例:代名詞に起因する曖昧性原⽂文:決定⽊木やサポートベクタマシンは分類器である。それはカーネル法を利利⽤用できる利利点がある。 問題:“それ”とは? l  決定⽊木、サポートベクタマシン、分類器? 13
  14. 14. 解決:代名詞に起因する曖昧性改善後:決定⽊木やサポートベクタマシンは分類器である。分類器の中でもサポートベクタマシンはカーネル法を利利⽤用できる利利点がある。 解決:“それ”をサポートベクタマシンで置き換える l  冗⻑⾧長になっても名詞を利利⽤用した⽅方が良良い(場合が多い) 14
  15. 15. 新しいトピック(専⾨門⽤用語)が利利⽤用されないl  ⽂文の中に出て来た新しいトピック(専⾨門⽤用語)が即 座に利利⽤用されない。l  プログラム的には変数のスコープが⻑⾧長いという問題 15
  16. 16. 問題例例:新しいトピック(専⾨門⽤用語)が利利⽤用されない原⽂文:サポートベクタマシン(SVM)は⾮非常に⼤大きな計算量量で知られている。SVMの性能のよさはよく知られている。最近になって計算量量 O(N) のアルゴリズムも提案された。 問題点:”計算量量”というトピックが出現したが、直後の ⽂文で利利⽤用されない 16
  17. 17. 解決:新しいトピック(新単語)が利利⽤用されない改善後:サポートベクタマシン(SVM)は⾮非常に⼤大きな計算量量で知られている。最近になって計算量量 O(N) のアルゴリズムも提案された。 解決法:間に⼊入っている⽂文を消す 17
  18. 18. 問題:新トピック(新語)に解説がない⽂文中で出て来た新語に解説を加えていないため。読者が置き去りになる。 l  特に⼝口答発表では致命的な問題 18
  19. 19. 問題例例:初出のトピック(専⾨門⽤用語)に解説がない原⽂文:  Localtiy Sensitive Hashing は類似するインスタンスのペアを抽出します。ではアルゴリズムの内容について解説します。 問題点:インスタンスという初出の単語に解説がない 19
  20. 20. 解決:初出のトピック(専⾨門⽤用語)に解説がない改善:  Localtiy Sensitive Hashing は類似するインスタンスのペアを抽出します。ここでインスタンスとは… 解決:インスタンスの解説を追加 20
  21. 21. 助詞に起因する曖昧性l  助詞を連続で利利⽤用すると、接続の優先順位が問題に なる。l  意味が分からない⽂文ができやすい l  参考:どう書くかー理理科系のための論論⽂文作法  杉原厚 吉 21
  22. 22. 問題:助詞に起因する曖昧性原⽂文:⼈人⼯工の⾔言語の処理理 曖昧 l  ⼈人⼯工の⾔言語 → の →  処理理 l  ⼈人⼯工  → の  →  ⾔言語の処理理 22
  23. 23. 解決:助詞に起因する曖昧性解決後:⼈人⼯工⾔言語の処理理 l  結合させたい名詞間の助詞を削除する l  注:助詞による曖昧性は他にも⾊色々ある。。。 23
  24. 24. そのほかの問題l  形容詞の多⽤用l  接続詞の多⽤用、誤⽤用l  ⼝口語l  語尾l  ⽤用語の統⼀一l  ⼤大きな単位の構成⽅方法 l  パラグラフ、節 l  ⼝口答発表⽤用スライド 24
  25. 25. 現実での取り組みとあったらいいなl  現実 l  ⽂文書をバージョン管理理システムで管理理 l  ⽂文インスペクション(Word, ISpell) l  規約の作成l  夢 l  テスト駆動作⽂文 (Test Driven Writing)? l  推敲、校正中に⽂文書を壊さないようにするにはど うすれば良良いのか。。。 25
  26. 26. まとめl  プログラミングの視点から作⽂文する際の問題を列列挙したl  プログラムを育てるように、⽂文書も育てる 26
  27. 27. 最後にプログラマの必読書 l  理理科系の作⽂文技術 27

×