redpen texconf15
TRANSCRIPT
RedPenとはオープンソースプロジェクト
ホームページ:http://redpen.cc
ソースコード:https://github.com/redpen-cc/redpen
自然言語文書の自動検査ツール
自然言語文書:論文、マニュアル、仕様書、etc…
RedPen は入力文書にある悪い点に対する警告を出力。
3
例: 悪い点を含む文書
4
最近利用されているソフトウェアの中には複数の計算機上で動作(分散)するものが多く存在し、このような分散ソフトウェアは複数の計算機で動作することで大量のデータを扱えたり、高負荷な状況に対処できたりします。本稿では,複数の計算機(クラスタ)で動作する各サーバーを「インスタンス」と呼びます。たとえば検索エンジンやデータベースではインデックスを複数のインスタンスで分割して保持します。このような場合、各インデクスの結果をマージしてクライアントプログラムに渡す機構が必要となります。
例: 悪い点を含む文書
5
最近利用されているソフトウェアの中には複数の計算機上で動作(分散)するものが多く存在し、このような分散ソフトウェアは複数の計算機で動作することで大量のデータを扱えたり、高負荷な状況に対処できたりします。本稿では,複数の計算機(クラスタ)で動作する各サーバーを「インスタンス」と呼びます。たとえば検索エンジンやデータベースではインデックスを複数のインスタンスで分割して保持します。このような場合、各インデクスの結果をマージしてクライアントプログラムに渡す機構が必要となります。
文が長いコンマのフォーマット
単語の不一致単語の不一致
シンボルの不一致
特に文の長さあらゆる文書執筆の指南書で「文は簡潔に」と書いてある
理科系の作文技術:「一言で言い切れ」
The elements of style:「omit needless words」
課題:しかし、各文を簡潔に保つのは難しい
6
RedPen を作った動機ソフトウェアの開発では自動検査ツールを駆使して悪い点(バグや不具合)を防止
テストフレームワーク: JUnit、gTest
静的解析ツール:FindBugs、lint、CheckStyle
継続的インテグレーション: Jenkins、Travis
2013年当時、技術文書の自動検査に利用できるツール群が存在しなかった。。。
7
RedPen の特徴オープンソース (ライセンス:Apache v2.0)
マルチプラットフォーム (Windows、MacOS、Linux)
マークアップ言語対応:Wiki記法、Markdown、 AsciiDoc、LaTeX
複数言語対応(日本語と英語)
多様な実行方法:コマンド、サーバ(REST API)の提供
プラグインシステム(JavaScript)をサポート
柔軟な設定: CheckStyle に似た設定方法、必要な機能を追加
エディタに対応: Atom、Emacs、Vim
8
LaTeX の対応Version 1.4より(10月にリリース)
実装:@alterakey 氏
対応できた点
LaTeX 文書内の文(Sentence)を抽出し検査する
エラー箇所のオフセット情報も抽出
私の過去に書いた論文は問題なく処理できた
デモ URL:http://redpen.herokuapp.com/
9
ご静聴ありがとうございました
是非ご利用ください。
Mac であれば Homebrew 経由でインストールにできます($brew install redpen)
商用利用も大丈夫なライセンス(Apache v2.0)です。
コメント、開発へのご参加お待ちしてます。
11
補足最近 Web 系ソフトウェア開発者の間でドキュメントの自動検査が注目されてきました。
JavaScript: textlint
RedPen よりライト
ソース:https://github.com/azu/textlint
自分にあったツールを探す or もしくは作ってみましょう!
12