差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
crm114:cpanel [2013/07/11 17:23] – [日本語対応のためのプログラム] osamucrm114:cpanel [2015/07/30 00:16] (現在) – [フィルタの設定] osamu
行 14: 行 14:
 場所はどこでもいいのですが、ここでは自分の home ディレクトリの下に bin/crm114 というディレクトリを作りました。 場所はどこでもいいのですが、ここでは自分の home ディレクトリの下に bin/crm114 というディレクトリを作りました。
 ==== 日本語対応のためのプログラム ==== ==== 日本語対応のためのプログラム ====
-CRM114 と組み合わせて使う、日本語メールのいろんな文字コードエンコーディングを変換するプログラムには Ruby の中に標準で組み込まれている nkf を使います。また、日本語テキストを分かち書きプログラムには、工藤拓さんが作ったピュア JavaScript の分かち書きソフト [[http://www.chasen.org/~taku/software/TinySegmenter/|TinySegmenter]] をもとにして Ruby で書かれた [[http://ultraist.hatenablog.com/entry/20120603/1338675881|BimyouSegmenter]] をつかわせてもらいます。BimyouSegmenter には最初から nkf モジュールを使った文字コード変換が入っているので、これ一OK+CRM114 と組み合わせて使う、日本語メールのいろんな文字コードエンコーディングを変換するプログラムには Ruby の中に標準で組み込まれている nkf を使います。また、日本語テキストを分かち書きプログラムには、工藤拓さんが作ったピュア JavaScript の分かち書きソフト [[http://www.chasen.org/~taku/software/TinySegmenter/|TinySegmenter]] をもとにして Ruby で書かれた [[http://ultraist.hatenablog.com/entry/20120603/1338675881|BimyouSegmenter]] をつかわせてもらいます。BimyouSegmenter には最初から nkf モジュールを使った文字コード変換が入っているので、これ一用が済みます 
 [[https://github.com/nagadomi/bimyou_segmenter|BimyouSegmenter の GitHub]] からプログラムを zip でダウンロード。 [[https://github.com/nagadomi/bimyou_segmenter|BimyouSegmenter の GitHub]] からプログラムを zip でダウンロード。
 +
 bin/bimyou_segmenter という Ruby ファイルが本体なので、これを先ほどの home の下の bin ディレクトリにコピー。また、lib/ ディレクトリ以下の内容を、そっくりそのまま home の下に lib ディレクトリを作ってコピーします。 bin/bimyou_segmenter という Ruby ファイルが本体なので、これを先ほどの home の下の bin ディレクトリにコピー。また、lib/ ディレクトリ以下の内容を、そっくりそのまま home の下に lib ディレクトリを作ってコピーします。
 +
 ディレクトリの内容はこんな感じになります。 ディレクトリの内容はこんな感じになります。
 <code> <code>
-/home/userhome +~ 
-  +/bin +    +/bin 
-    bimyou_segmenter +        bimyou_segmenter 
-    +/crm114 +        +/crm114 
-      ... +          ... 
-  +lib +    +lib 
-    bimyou_segmenter.rb +        bimyou_segmenter.rb 
-    +/bimyou_segmenter +        +/bimyou_segmenter 
-      aozora_model.rb +            aozora_model.rb 
-      version.rb+            version.rb 
 +</code> 
 + 
 +bin/bimyou_segmenter の中に、ライブラリを呼び出す 
 +<code ruby> 
 +require 'bimyou_segmenter' 
 +</code> 
 +という行があるので、 
 +<code ruby> 
 +require '/home/username/lib/bimyou_segmenter' 
 +# この例では、/home/username/ が自分のホームディレクトリ 
 +</code> 
 +というように、ライブラリのパスを、上でコピーした先の lib ディレクトリの下へのフルパスに書き換えます。 
 + 
 +できあがったら、動作確認してみましょう。 
 +<code> 
 +[~]# bin/bimyou_segmenter  ← プログラムを起動 
 +上野発の夜行列車降りたときから ← 分かち書きしたい文章をなにか入力 
 +上野 
 +発の 
 +夜行 
 +列車 
 +降り 
 +た 
 +とき 
 +から 
 +EOS ← 分かち書きされて出力される 
 +^D ← Ctrl-D で入力終了 
 +[~]#
 </code> </code>
 ===== CRM114 を使う環境を整える ===== ===== CRM114 を使う環境を整える =====
 +必要なプログラムが準備できたので、環境の設定と、日本語対応のための改造を行います。
 ==== 作業用ディレクトリにファイルを揃える ==== ==== 作業用ディレクトリにファイルを揃える ====
 +メールが送られてきたときに CRM114 を使ってスパムかどうかの判定をするための作業用ディレクトリを作ります。
 +ここでは、home の下に .crm114 というディレクトリを作りました。
 +その中に、先ほど CRM114 のプログラムを展開したディレクトリから以下のファイルをコピーしてきます。
 +<code>
 +mailfilter.crm    ← CRM114プログラム上で実行するスパムフィルターのスクリプト本体
 +mailfilter.cf    ← 上記スクリプトの設定ファイル
 +rewrites.mfp    ← 自分のメールアドレス、名前、メールサーバーなどを登録しておくファイル
 +priolist.mfp    ← ドメイン指定で無条件受け容れや無条件拒否するための設定ファイル
 +whitelist.mfp    ← 無条件で受け容れるメールアドレスを記述しておく、いわゆるホワイトリスト
 +</code>
 ==== 環境設定 ==== ==== 環境設定 ====
 ==== 日本語対応のための改造 ==== ==== 日本語対応のための改造 ====
行 41: 行 83:
 ==== フィルタの設定 ==== ==== フィルタの設定 ====
  
 +<code>
 +#!/bin/sh
 +cat - | /home/osamuhig/bin/crm114/crm114 -u /home/osamuhig/.crm114 mailfilter.crm 2>/dev/null | /usr/sbin/sendmail -t
 +</code>
 +===== 育てながら運用 =====
 +==== スパム判定をトレーニングする ====
 +http://www.avtechpulse.com/opensource/fix-spam-classification.txt
crm114/cpanel.1373530995.txt.gz · 最終更新: 2013/07/11 17:23 by osamu
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0