redpen status 2014/07

Post on 25-May-2015

6.466 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

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

top related