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