redpen status 2014/07
DESCRIPTION
This presentation covers the introduction of RedPen and the development status.TRANSCRIPT
RedPenの概要
伊藤 敬彦
1
自己紹介所属:株式会社リクルートテクノロジーズ ATL
Twitter アカウント: takahi_i
2
開発の背景私(プログラマ)はコードのチェックを色々なツールを使って行っている
ツール:CheckStyle, FindBugs, lint, Valgrind, CI etc…
➔ ツールを使うことで開発効率、品質向上
3
開発の背景私(プログラマ)は文書を書く
マニュアル、論文、仕様書
残念ながら、品質をチェックするツールがない
➔ 結果、生産性、品質が向上しない
4
開発の背景自然言語文書をチェックするツールあれば、幸せに?
機械的に処理できるフォーマット異常を検知してくれるだけで相当嬉しい。
➔ 著者は内容の校正に集中できる。
5
RedPenとは自然言語文書の自動チェックツール
自然言語文書: 論文、マニュアル、仕様書、レジュメ、広告 etc…
6
RedPenとはRedPen は入力文書にある悪い点に対して警告を出力する。
!
!
URL: http://redpen.bigram.org/
7
注:現状、研究分野の「自然言語処理」で行っている高度な解析は対象としていない。
悪い部分?基本的なパーツが揃わない
ターミノロジー
句読点
文が長すぎる
スペルミス
短縮形に対する正規形が文書に書かれていない
8
例: 悪い文書
9
最近利用されているソフトウェアの中には複数の計算機上で動作(分散)するものが多く存在し、このような分散ソフトウェアは複数の計算機で動作することで大量のデータを扱えたり、高負荷な状況に対処できたりします。本稿では,複数の計算機(クラスタ)で動作する各サーバーを「インスタンス」と呼びます。たとえば検索エンジンやデータベースではインデックスを複数のインスタンスで分割して保持します。このような場合、各インデクスの結果をマージしてクライアントプログラムに渡す機構が必要となります。
例: 悪い文書
10
最近利用されているソフトウェアの中には複数の計算機上で動作(分散)するものが多く存在し、このような分散ソフトウェアは複数の計算機で動作することで大量のデータを扱えたり、高負荷な状況に対処できたりします。本稿では,複数の計算機(クラスタ)で動作する各サーバーを「インスタンス」と呼びます。たとえば検索エンジンやデータベースではインデックスを複数のインスタンスで分割して保持します。このような場合、各インデクスの結果をマージしてクライアントプログラムに渡す機構が必要となります。
文が長いコンマのフォーマット
単語の不一致単語の不一致
コンマのフォーマット
RedPen の特徴設定だけで利用できる
言語非依存(英語でも日本語でも設定を変えると動作する)
11
RedPen の使い方ユーザは設定ファイルにチェックする項目をリストアップ
チェックする項目目は提供される Validator 集合の中か ら選択する
12
例:RedPen の設定
13
<validator-list> <validator name=“SentenceLength" /> <validator name="InvalidCharacter" /> <validator name="KatakanaSpellCheck" /> <validator name=“SectionLength” /> </validator-list>
文長
不正な文字
スペルチェック
利用できる ValidatorSentenceLength InvalidExpression SpaceAfterPeriod CommaNumber WordNumber SuggestExpression InvalidCharacter SpaceWithSymbol KatakanaEndHyphen KatakanaSpellCheck SectionLength ParagraphNumber ParagraphStartWith
14
コマンドredpen コマンドを利用して実行する
!
入力フォーマット: Markdown、Textile、PlainText
15
$ redpen -c 設定ファイル 入力文書
サーバredpen に同梱されているサンプルサーバを起動する
16
$ java -jar redpen.war
デモ
17
所感:設定が面倒くさい不正なシンボルや単語はデフォルトセットが必要か?
正式文書に使うべきでない表現は最初から入れておいてほしい。
18
これからValidator の追加
英語のスペルチェック、敬語、口語
コードのリファクタリング
ユーザ獲得
アプリ作成
19
これから現状、RedPen は機械処理できるような単純機能に限定している。
近い将来、高度な解析を簡単に試せるように、Plugin をサポート。
研究者の人に試してもらいたい。
20
これからサーバサイドの強化。
ゆくゆくはマルチテナント化
CI ツールから利用できるようにする。
Jenkins, Travis CI, Circle CI etc…
9月に本リリース予定。
21
まとめRedPen の背景を解説
RedPen の紹介
自然言語を入力とするチェックツール
今後の予定について解説
22