tsuzukit/laravel-naive-bayes

laravel 5.2 的朴素贝叶斯分类器

该包的官方仓库似乎已不存在,因此该包已被冻结。

0.0.1 2016-04-03 16:42 UTC

This package is not auto-updated.

Last update: 2021-01-22 23:17:38 UTC


README

laravel 5.2 的朴素贝叶斯分类器

安装

$ composer require tsuzukit/laravel-naive-bayes:0.0.1

设置

由于单词计数存储在数据库中,因此需要发布相应的迁移文件

$ php artisan vendor:publish --provider="Tsuzukit\NaiveBayes\NaiveBayesServiceProvider"
$ php artisan migrate

接下来,您需要在配置文件中的 app.php 下的 providers 数组中添加服务提供者,如下所示

Tsuzukit\NaiveBayes\NaiveBayesServiceProvider::class,

最后,在配置文件 app.php 中的 aliases 数组下设置 Facade,如下所示

'NaiveBayes' => Tsuzukit\NaiveBayes\Facade\NaiveBayes::class,

如何使用

训练

$trainData = [
    'PHP'    => '(ピー・エイチ・ピー ハイパーテキスト プリプロセッサー)とは、動的にHTMLデータを生成することによって、動的なウェブページを実現することを主な目的としたプログラミング言語、およびその言語処理系である。一般的には PHP と省略して用いられており、これは「個人的なホームページ」を意味する英語の "Personal Home Page" に由来する[2]。',
    'Python' => 'Python(パイソン)は,オランダ人のグイド・ヴァンロッサムが作ったオープンソースのプログラミング言語。
             オブジェクト指向スクリプト言語の一種であり,Perlとともに欧米で広く普及している。イギリスのテレビ局 BBC が製作したコメディ番組『空飛ぶモンティパイソン』にちなんで名付けられた。
             Python は英語で爬虫類のニシキヘビの意味で,Python言語のマスコットやアイコンとして使われることがある。Pythonは汎用の高水準言語である。プログラマの生産性とコードの信頼性を重視して設計されており,核となるシンタックスおよびセマンティクスは必要最小限に抑えられている反面,利便性の高い大規模な標準ライブラリを備えている。
             Unicode による文字列操作をサポートしており,日本語処理も標準で可能である。多くのプラットフォームをサポートしており(動作するプラットフォーム),また,豊富なドキュメント,豊富なライブラリがあることから,産業界でも利用が増えつつある。',
    'Snake'  => 'ヘビ(蛇)は、爬虫綱有鱗目ヘビ亜目(Serpentes)に分類される爬虫類の総称。
             体が細長く、四肢がないのが特徴。ただし、同様の形の動物は他群にも存在する。',
    'Gem'    => 'ルビー(英: Ruby、紅玉)は、コランダム(鋼玉)の変種である。赤色が特徴的な宝石である。
             天然ルビーは産地がアジアに偏っていて欧米では採れないうえに、
             産地においても宝石にできる美しい石が採れる場所は極めて限定されており、
             3カラットを超える大きな石は産出量も少ない。',
];
foreach ($trainData as $key => $value)
{
    $words = NaiveBayes::explodeDocument($value);
    NaiveBayes::fit($words, $key);
}

预测

// $document is the text that you want to classify
$words = NaiveBayes::explodeDocument($document);
NaiveBayes::predict($words)

重要提示

运行此库必须安装 MeCab php。

参见 示例项目食谱