redpen status 2014/07

23
RedPen の概要 伊藤 敬彦 1

Upload: recruit-technologies

Post on 25-May-2015

6.466 views

Category:

Software


0 download

DESCRIPTION

This presentation covers the introduction of RedPen and the development status.

TRANSCRIPT

Page 1: RedPen Status 2014/07

RedPenの概要

伊藤 敬彦

1

Page 2: RedPen Status 2014/07

自己紹介所属:株式会社リクルートテクノロジーズ ATL

Twitter アカウント: takahi_i

2

Page 3: RedPen Status 2014/07

開発の背景私(プログラマ)はコードのチェックを色々なツールを使って行っている

ツール:CheckStyle, FindBugs, lint, Valgrind, CI etc…

➔ ツールを使うことで開発効率、品質向上

3

Page 4: RedPen Status 2014/07

開発の背景私(プログラマ)は文書を書く

マニュアル、論文、仕様書

残念ながら、品質をチェックするツールがない

➔ 結果、生産性、品質が向上しない

4

Page 5: RedPen Status 2014/07

開発の背景自然言語文書をチェックするツールあれば、幸せに?

機械的に処理できるフォーマット異常を検知してくれるだけで相当嬉しい。

➔ 著者は内容の校正に集中できる。

5

Page 6: RedPen Status 2014/07

RedPenとは自然言語文書の自動チェックツール

自然言語文書: 論文、マニュアル、仕様書、レジュメ、広告 etc…

6

Page 7: RedPen Status 2014/07

RedPenとはRedPen は入力文書にある悪い点に対して警告を出力する。

!

!

URL: http://redpen.bigram.org/

7

注:現状、研究分野の「自然言語処理」で行っている高度な解析は対象としていない。

Page 8: RedPen Status 2014/07

悪い部分?基本的なパーツが揃わない

ターミノロジー

句読点

文が長すぎる

スペルミス

短縮形に対する正規形が文書に書かれていない

8

Page 9: RedPen Status 2014/07

例: 悪い文書

9

最近利用されているソフトウェアの中には複数の計算機上で動作(分散)するものが多く存在し、このような分散ソフトウェアは複数の計算機で動作することで大量のデータを扱えたり、高負荷な状況に対処できたりします。本稿では,複数の計算機(クラスタ)で動作する各サーバーを「インスタンス」と呼びます。たとえば検索エンジンやデータベースではインデックスを複数のインスタンスで分割して保持します。このような場合、各インデクスの結果をマージしてクライアントプログラムに渡す機構が必要となります。

Page 10: RedPen Status 2014/07

例: 悪い文書

10

最近利用されているソフトウェアの中には複数の計算機上で動作(分散)するものが多く存在し、このような分散ソフトウェアは複数の計算機で動作することで大量のデータを扱えたり、高負荷な状況に対処できたりします。本稿では,複数の計算機(クラスタ)で動作する各サーバーを「インスタンス」と呼びます。たとえば検索エンジンやデータベースではインデックスを複数のインスタンスで分割して保持します。このような場合、各インデクスの結果をマージしてクライアントプログラムに渡す機構が必要となります。

文が長いコンマのフォーマット

単語の不一致単語の不一致

コンマのフォーマット

Page 11: RedPen Status 2014/07

RedPen の特徴設定だけで利用できる

言語非依存(英語でも日本語でも設定を変えると動作する)

11

Page 12: RedPen Status 2014/07

RedPen の使い方ユーザは設定ファイルにチェックする項目をリストアップ

チェックする項目目は提供される Validator 集合の中か ら選択する

12

Page 13: RedPen Status 2014/07

例:RedPen の設定

13

<validator-list> <validator name=“SentenceLength" /> <validator name="InvalidCharacter" /> <validator name="KatakanaSpellCheck" />  <validator name=“SectionLength” /> </validator-list>

文長

不正な文字

スペルチェック

Page 14: RedPen Status 2014/07

利用できる ValidatorSentenceLength InvalidExpression SpaceAfterPeriod CommaNumber WordNumber SuggestExpression InvalidCharacter SpaceWithSymbol KatakanaEndHyphen KatakanaSpellCheck SectionLength ParagraphNumber ParagraphStartWith

14

Page 15: RedPen Status 2014/07

コマンドredpen コマンドを利用して実行する

!

入力フォーマット: Markdown、Textile、PlainText

15

$ redpen -c 設定ファイル 入力文書

Page 16: RedPen Status 2014/07

サーバredpen に同梱されているサンプルサーバを起動する

16

$ java -jar redpen.war

Page 17: RedPen Status 2014/07

デモ

17

Page 18: RedPen Status 2014/07

所感:設定が面倒くさい不正なシンボルや単語はデフォルトセットが必要か?

正式文書に使うべきでない表現は最初から入れておいてほしい。

18

Page 19: RedPen Status 2014/07

これからValidator の追加

英語のスペルチェック、敬語、口語

コードのリファクタリング

ユーザ獲得

アプリ作成

19

Page 20: RedPen Status 2014/07

これから現状、RedPen は機械処理できるような単純機能に限定している。

近い将来、高度な解析を簡単に試せるように、Plugin をサポート。

研究者の人に試してもらいたい。

20

Page 21: RedPen Status 2014/07

これからサーバサイドの強化。

ゆくゆくはマルチテナント化

CI ツールから利用できるようにする。

Jenkins, Travis CI, Circle CI etc…

9月に本リリース予定。

21

Page 22: RedPen Status 2014/07

まとめRedPen の背景を解説

RedPen の紹介

自然言語を入力とするチェックツール

今後の予定について解説

22

Page 23: RedPen Status 2014/07