israel-nogueira/naivebayes

此PHP类在自然语言处理系统中作为核心组件,尤其适用于机器学习应用

v0.0.1 2024-03-13 01:27 UTC

This package is auto-updated.

Last update: 2024-09-14 05:06:45 UTC


README

此PHP类在自然语言处理系统中作为核心组件,尤其适用于机器学习应用。

在初始化过程中,它将连接到数据库以检索必要信息,如禁用词(stop words)和用于模型训练的类别。

该类组织这些数据,以方便在文本分类算法和其他与自然语言处理相关的操作中使用。

它是准备和处理数据的基石,对于自然语言处理领域的数据分析和预测至关重要。

使用composer安装

composer require israel-nogueira/naivebayes

在根目录创建一个".env"文件

DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=NAIVE_BAYES
DB_USERNAME=root
DB_PASSWORD=
DB_TYPE=mysql
DB_CHAR=
DB_FLOW=
DB_FKEY=

配置您的数据库

CREATE DATABASE IF NOT EXISTS NAIVE_BAYES;

现在正确创建表

CREATE TABLE IF NOT EXISTS `MACHINE_LEARNING` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`CATEGORIA` varchar(255) NOT NULL,
`TREINOS` int(11) NOT NULL DEFAULT 0,
`PALAVRAS` text NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=23;

CREATE TABLE IF NOT EXISTS `BLACK_LIST_WORDS` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`PALAVRA` varchar(255) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3;

训练您的模型

在项目根目录下创建一个/index.php文件

<?php
	include "vendor\autoload.php";
	use IsraelNogueira\naivebayes\naivebayes;

	/*
	|------------------------------------------------
	|  TREINAMENTO
	|------------------------------------------------
	*/

		$_NERVOSO   = "INSATISFEITO";
		$_FELIZ     = "FELIZ";

		$_TREINAMENTO = new naivebayes();

		$_TREINAMENTO->APRENDE("Estou extremamente frustrado com a qualidade deste produto!", $_NERVOSO);
		$_TREINAMENTO->APRENDE("Este produto não atende às minhas expectativas.", $_NERVOSO);
		$_TREINAMENTO->APRENDE("Estou furioso com a falta de durabilidade deste produto.", $_NERVOSO);
		$_TREINAMENTO->APRENDE("Este produto é um verdadeiro pesadelo!.", $_NERVOSO);

		$_TREINAMENTO->APRENDE("Este produto realmente faz a diferença. É uma compra que vale cada centavo!", $_FELIZ);
		$_TREINAMENTO->APRENDE("Recebi muitos elogios desde que comecei a usar este produto. É fenomenal!", $_FELIZ);
		$_TREINAMENTO->APRENDE("Parabéns à equipe por criar um produto tão excelente! Estou muito satisfeito!", $_FELIZ);
		$_TREINAMENTO->APRENDE("Este produto é tudo o que eu precisava e mais um pouco. Simplesmente maravilhoso!", $_FELIZ);

		$_TREINAMENTO->FINISH();

?>

如何分类文本

<?php

	include "vendor\autoload.php";
	use IsraelNogueira\naivebayes\naivebayes;
		
	$_CLASSIFICA = new naivebayes();
	$RESULT = $_CLASSIFICA->CLASSIFICA('Vocês estão de parabéns! Esse produto é excelente! Estou muito satisfeito');
	
	print_r($RESULT);


?>

将返回类似的结果

Array
(
    [0] => Array
        (
            [CATEGORIA] => INSATISFEITO
            [PCT] => 9.90
        )

    [1] => Array
        (
            [CATEGORIA] => FELIZ
            [PCT] => 16.69
        )

)