PRUVのチェック文字数変更について

このたび、非登録ユーザーがPRUVに入力できる文字数を縮小いたしました。

実は、PRUVは長期にわたりスクリプト攻撃を受けています。大量の文章(?)を間断なく入力されるというものです(※)。セキュリティ的な心配はないものの、サイトのパフォーマンスが低下してしまうのは問題です。そこでファイアウォールではじくなど、いろいろと手を打ってきましたがあまり効果がありません。

※入力されたデータは保存していないため、内容は不明。海外のIPアドレスからのものが多いので日本語ではないかもしれません。そもそも文章なのかどうか……。

そこで非登録ユーザーが入力できる文字数を400文字までとしました。PRUVをお試しいただき、利用するかどうか検討するだけであれば400文字でも十分でしょう。もし気に入っていただけたらPRUV Personal(無料)にご登録ください。2万字まで入力できるようになります。

入力可能文字数については、今後の利用状況や負荷状況を見ながら増減させる可能性があります。各ユーザーの入力「データ量」は定期的に監視しますが、文章そのものは今後も保存しません。

APIサービス版PRUV αリリース

PRUVのAPIサービスα版をリリースしました。現在はテスターIDをお持ちの方のみ利用可能です。

チェック対象の文章をGETメソッドで(つまりURLのパラメータとして)PRUVに送信すると、チェック結果をXMLで返すサービスです。利用者側の開発も必要になりますが、APIサービスを利用すればCMSなどにPRUVのチェック機能を組み込むことも可能です。

利用者が設定したパスコードを秘密鍵とし、これを使ってテキストを暗号化してから送信することもできます。

APIの呼び出し方は簡単です。以下のようなURLを作って送信するだけです。

https://PRUVのAPIアドレス?ID=ユーザーID&pass=パスワード&usessl=on&sentence=チェックする文章

「usessl=on」は上記の秘密鍵を使う場合。秘密鍵は利用者とPRUVのサーバに保存されてテキストの暗号化と復号に使います。秘密鍵自体は送受信しません。

メールアドレス不要のユーザー管理機能実装中

PRUV Businessでメールアドレス不要の運用を実現する機能を実装中です。PRUVに個人情報を一切登録する必要がなくなるため、より安全にご利用いただけます。

その代りとして、ユーザー登録やパスワードリセット&再発行は各組織の組織管理者あるいはグループ管理者に行っていただくことになります。メールによる本人確認ができないため、各ユーザーによるセルフサービスは利用できなくなります。

  • 登録済みメールアドレスの削除機能
  • 管理者によるユーザー登録(メールアドレスレス)
  • 定義ファイル(CSV)によるユーザー一括登録(メールアドレスレス)
  • 管理者によるパスワードリセット

を提供予定です。メールアドレスを登録したままのユーザーとメールアドレスを登録しないユーザーを混在させることも可能です。メールアドレスを削除するかどうかは各組織のポリシーにお任せします。

既存ルールの無効化ルール実験中

PRUV」のチェックルールの新機能として、「既存ルールの無効化」を検討中です。

PRUVの指摘は常に正しいわけではなく、誤検知が発生します。そこで、無視したい指摘を無効化するルールを設定できるようにします。

下記は標準状態。

こちらは、

・「アボガド」をミスとして検知するルール
・「松下」+「電気」の組み合わせをミスとするルール

をそれぞれ無視するルールを定義した場合。

まだ実験段階なので、実戦投入は少し先になりそうです。

外部検索エンジン&辞書サービス連携機能テスト中

PRUVで文章をチェックした際に、単語をさらにググッたり辞書引きすることがあります。これをPRUVからシームレスにできたら……ということで、単語のツールチップに外部サービスを呼び出す連携機能を追加してみました(テスト環境のみ)。

ポップアップしたツールチップで「Google」を選べばその単語でGoogle検索、「Wikipedia」ならWikipediaで検索します。意外に便利だったのが、シソーラス検索できる「Weblio類語辞典」。同じ表現が連続してしまった際の言い換え候補を探すのが実に楽になります。頻出単語チェック機能にも応用できそうです。

非活用語はそのまま、動詞などの活用語は基本形に直して検索するようにしました。

外部サービスへのリンクを生成するだけなので、実装自体は簡単でした。これだけでは芸がないので、ツールチップに追加する検索エンジン&辞書サービスを選べる機能を追加する予定です。

ユーザー管理機構を再構築、新システム移行はこれから

PRUVのユーザー管理機構を全面的に再構築しました。これから順次、既存ユーザーを新システムに移行していきます。

新システムは従来の「グループ」に加え、複数のグループからなる「組織」を新設。グループ管理者はグループを、組織管理者は複数のグループを管理できます。グループ辞書の管理もこれに準じます。

なお、新システムからユーザー管理者とグループ辞書管理者を分離可能にしました(1人が兼務可能)。1人の組織管理者が複数グループのユーザーと辞書を管理するもよし、各グループにユーザー管理者と辞書管理者を配置して管理を移管するもよし。全ユーザーに組織管理者権限を付与することも可能です。オススメはしませんが。

新ユーザー管理画面(組織管理者モード)。グループ管理者の場合は自分が属するグループのメンバーのみリストアップされます。この画面でユーザーの削除やユーザーの所属グループ変更などが可能。
続きを読む →

AIを校正に応用する挑戦

PRUVにAIを応用できないものかと考えて幾年、ようやく形になってきました。「AI」といっても知能と呼べるようなシロモノではなく、単に「ディープラーニングによって構築した言語モデルでパターンマッチングを行い、単語(形態素)の出現確率を推論する機能」なのですが、長いので便宜上「AI」に短縮します。

正しい(あるいは誤りが少ないと思われる)文章を学習させ、「次に現れる単語」の確率を計算させます。この確率がしきい値以下であれば、「間違いじゃね?」という反応をするというわけです。以下のように結果を出力します。ある商用Webメディアに実際に掲載されていた文です。

続きを読む →

サーバ移転プロジェクト開始

いろいろと限界が見えてきたので、サーバを移転することにしました。新サーバはCPUのコア数とメモリ容量がアップ。ストレージはSSDになるため、全体的に速度が向上するはずです。

というわけで、Windows 10のHyper-V上に開発環境を構築し、検証と開発を行っています。Linuxのディストリビューション変更、Web、SQLサーバ、NoSQLサーバ、PHPのメジャーバージョンアップを一気にやるため、ノウハウの構築も重要になります。

進捗状況は以下の通りです。

続きを読む →