Overview

=======================
概要
=======================
スパムフィルタなどで使われる分類機をDjangoで使えるようにしたものです。
例えば「スパム」か「スパムでない」とカテゴリ指定した文章をいくつか
分類機に学習させた後に、ある文章を分類機に与えると「スパム」もしくは
「スパムでない」と分類してくれます。
django-classifierではDjangoのUserごとに学習させれます。

=====
導入
=====
models.CATEGORY_CHOICESに分類のカテゴリを指定します。
settingsでCLASSIFIER_YAHOOSPLITTER_APPIDを追加し、Yahooデベロッパーネットワークの
アプリケーションIDを入れておいてください。

============
使い方
============
基本的にはapi.pyを介して行います

分類機のトレーニング
--------------------
api.train(user, sen, cat)を用います。

第一引数userに、DjangoのUserを指定します。
第二引数senに、学習させたい文章を渡します。
第三引数catに、どのカテゴリに分類するかを指定します。

文章の分類
----------
api.categorize(user, sen)を用います。

第一引数userに、DjnagoのUserを指定します。
第二引数senに、分類したい文章を渡します。

分類されたカテゴリが戻り値となります。

========
おわりに
========

django-classifierには「集合知プログラミング」[1] の6章のサンプルコードを元にしております。
サンプルコードはオライリー社からオンラインでも配布されています。[2] 

[1] 『集合知プログラミング』 Toby Segaran著 978-0-596-52932-1
[2] http://examples.oreilly.com/9780596529321/

集合知プログラミングのサンプルコードの利用について
--------------------------------------------------

同書「はじめに」より引用します。

> 本書はあなたが仕事を解決する手助けになるために存在している。本書内のコー
> ドはあなたのプログラムやドキュメントの中で利用してもよい。コードの大部
> 分を複製するのでなければ、許可を取るためにわれわれにコンタクトを取る必
> 要はない。たとえば、本書からのコードのいくつかを利用するようなプログラ
> ムを書く場合であれば、許可を求める必要はない。オライリーの本からの例題
> の CD-ROM を販売したり、配布するような場合には許可が必要である。本書の
> 例題のコードを引用して質問に回答するような場合には許可を求める必要はな
> い。本書からのコード例を大量にあなたの製品のドキュメントに含める場合に
> は許可を得る必要がある。出典の表示をしていただければ、我々は感謝する
> が、これは必須ではない。通常出典の表示はタイトル、著者、出版社、ISBNを
> 含む。たとえば「『集合知プログラミング』Toby Segaran著、
> 978-0-596-52932-1」のような形である。