ホームページ > バックエンド開発 > PHPチュートリアル > PHP機械学習でツイート感情を分析する方法

PHP機械学習でツイート感情を分析する方法

Lisa Kudrow
リリース: 2025-02-09 10:09:10
オリジナル
901 人が閲覧しました

How to Analyze Tweet Sentiments with PHP Machine Learning

この記事は、Wern Anchetaによって査読されました。 SetePointのすべてのピアレビューアーズに感謝します。


最近、誰もが機械学習について話しているようです。ソーシャルメディアのストリームには、ML、Python、Tensorflow、Spark、Scala、Goなどに関する投稿があります。

はい、機械学習とPHPはどうですか?幸いなことに、誰かがこの質問を提起するだけでなく、次のプロジェクトで使用できる一般的な機械学習ライブラリを開発することに夢中でした。この投稿では、PHPの機械学習ライブラリであるPHP-MLをご覧ください。センチメント分析クラスを作成します。センチメント分析クラスは、後で独自のチャットボットやTwitterbotsで再利用できるようにします。この記事の主な目標は次のとおりです

    機械学習とセンチメント分析に関する一般的な概念を探索します
  • php-ml
  • の関数と短所を確認します
  • に対処する問題を定義します
  • PHPで機械学習をしようとすることは完全にクレイジーな目標ではないことを証明します(オプション)
より良いPHP開発ツールとテクノロジーを読んで、あなたをより良い開発者にしてください!この本を読むこの本を読んでください!

How to Analyze Tweet Sentiments with PHP Machine Learning How to Analyze Tweet Sentiments with PHP Machine Learning キーポイント

PHP-MLは、感情分析などの小規模アプリケーションに適したユニバーサルPHP機械学習ライブラリです。
  • このチュートリアルでは、PHP-MLを使用して、監視された学習技術に焦点を当てたツイートの分析に専念する感情分析ツールを構築する方法を示しています。
  • センチメント分析の重要なステップは、データセットから関連する機能とラベルを選択することを含むデータを準備することです。
  • テキストデータには、トークン化やベクトル化などの特定の前処理が必要であり、ツイートを機械学習モデルに適した形式に変換します。
  • ナイーブベイズ分類器は、分類されたデータを簡単かつ効率的に処理するため、例で使用されます。
  • この記事は、正確な感情的分類を確保するために、トレーニングモデル向けのクリーンで関連するデータセットの重要性を強調しています。
  • 機械学習とは何ですか?
機械学習は、「明示的なプログラミングなしでコンピューターが学習する能力」を与えることに焦点を当てた人工知能のサブセットです。これは、特定のデータセットから「学習」できる一般的なアルゴリズムを使用することによって達成されます。

たとえば、機械学習の一般的な使用は分類です。分類アルゴリズムは、データを異なるグループまたはカテゴリに分割するために使用されます。分類アプリケーションの例には、次のものがあります
  • 電子メールスパムフィルター
  • 市場セグメント
  • 詐欺検出

機械学習は、多くの異なるタスクをカバーする一般的なアルゴリズムの一般的な用語であり、主に学習方法に従って2種類のアルゴリズムに分割されています。

監視された学習

監視された学習では、ラベル付きデータを使用してアルゴリズムをトレーニングします。これは、入力オブジェクト(ベクトル)の形式を取得し、アロゴリズムがトレーニングデータを分析し、いわゆる推論関数を生成します。新しい非標識データセット。

この投稿の残りの部分では、監視された学習に焦点を当て、両方のアルゴリズムが等しく重要であると考えていることを覚えておいてください。データのタグ。

監視されていない学習

一方、このタイプの学習は、最初からラベル付けされていないデータを使用しています。データセットの必要な出力値がわからないため、データセットから推論を描くことができます。

php-ml

PHP Machine Learningの新しい方法であると主張するライブラリであるPHP-MLを知っています。ライブラリは、データの前処理、交差検証、および特徴抽出のためのアルゴリズム、ニューラルネットワーク、ツールを実装しています。

最初に、PHPは機械学習のための珍しい選択であることを認めます。なぜなら、言語の利点は機械学習アプリケーションにはあまり適していないからです。つまり、すべての機械学習アプリケーションがPEBレベルのデータを処理し、多くの計算を実行する必要があるわけではありません。簡単なアプリケーションでは、PHPとPHP-MLを使用できるはずです。

このライブラリの最良のユースケースは、スパムフィルターであろうとセンチメント分析であろうと、分類子の実装です。分類問題を定義し、プロジェクトでPHP-MLを使用する方法を理解するために、段階的にソリューションを構築します。

質問

PHP-MLを実装し、アプリケーションに機械学習を追加するプロセスの例を挙げると、解決する興味深い問題を見つけたかったのです。分類器を表示しますか?

成功した機械学習プロジェクトを構築するために必要な重要な要件の1つは、優れた開始データセットです。データセットは、分類器を分類された例に対してトレーニングできるため、重要です。航空会社の最近の大規模な騒音により、航空会社に顧客のツイートを使用するよりも優れたデータセットは何ですか?

幸いなことに、kaggle.ioのおかげで、既にツイートデータセットを使用できます。このリンクを使用して、WebサイトからTwitter US Airlines Sentimentデータベースをダウンロードできます

solution

最初に取り組むデータセットを見てみましょう。元のデータセットには、次の列が含まれています
  • tweet_id
  • airline_sentiment
  • airline_sentiment_confidence
  • negativereason
  • negativereason_confidence
  • 航空会社
  • airline_sentiment_gold
  • name
  • negativereason_gold
  • retweet_count
  • テキスト
  • tweet_coord
  • tweet_created
  • tweet_location
  • user_timezone

そして、次の例のように見えます(横にスクロールできるテーブル):

tweet_id airline_sentiment airline_sentiment_confience_confidence negativereason negativereason_confidencenegativereason_confidence namenegativer eason_goldretweet_counttext user_timezone 570306133677777777777777777777777777777777777777760513 (米国とカナダ)570301130888122368ポジティブ0.3486 0.0 Virgin America 0 @VirginAmerica Prusあなたは体験にコマーシャルを追加しました…5703010836728133371 America Yvonnalynn 0 @VirginAmerica私は今日ではありませんでした... 2015-02-24 11:15:48 -0800 jnardino 0“ @virginAmericaゲストの顔に不快な「エンターテイメント」を爆破するのは本当に攻撃的であり、彼らは少し頼りになっています」 1.0 virgin America Jnardino 0 @VirginAmericaを伝えることはできません。それはそれについて本当に大きな悪いことです2015-02-24 11:14:45 -0800 Pacific Time(US&Canada)570300767074181121ネガティブ1.0 0「@VirginAmericaは、この演奏がなかった座席に30ドルを支払います。ポジティブ0.6745 0.0バージンアメリカCJmcginnis 0カナダ)57030024855349120ニュートラル0.634バージンアメリカパイロット0 11:12:29 -0800ロサンゼルスパシフィックタイム(US&カナダ)このファイルには14,640のツイートが含まれているため、私たちにとってはうまく機能するデータセットです。現在、私たちが持っている列の数があるので、実用的な目的よりも多くのデータがあります。

  • テキスト
  • airline_sentiment

テキストが私たちの特徴になり、Airline_Sentimentが私たちのターゲットになります。残りの列は、私たちの演習では使用されないため廃棄できます。プロジェクトを作成し、次のファイルで作曲家を初期化することから始めましょう。

<code>{
    "name": "amacgregor/phpml-exercise",
    "description": "Example implementation of a Tweet sentiment analysis with PHP-ML",
    "type": "project",
    "require": {
        "php-ai/php-ml": "^0.4.1"
    },
    "license": "Apache License 2.0",
    "authors": [
        {
            "name": "Allan MacGregor",
            "email": "amacgregor@allanmacgregor.com"
        }
    ],
    "autoload": {
        "psr-4": {"PhpmlExercise\": "src/"}
    },
    "minimum-stability": "dev"
}</code>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<code>composer install
</code>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

作曲家の紹介が必要な場合は、こちらを参照してください。

正しくセットアップするために、tweets.csvデータファイルをロードするクイックスクリプトを作成し、必要なデータがあることを確認します。プロジェクトルートディレクトリのReviewDataset.phpとして次のコードをコピーしてください:

<?php namespace PhpmlExercise;

require __DIR__ . '/vendor/autoload.php';

use Phpml\Dataset\CsvDataset;

$dataset = new CsvDataset('datasets/raw/Tweets.csv',1);

foreach ($dataset->getSamples() as $sample) {
    print_r($sample);
}
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
さあ、PHP ReviewDataset.phpを使用してスクリプトを実行します。出力を見てみましょう。

これは今は役に立たないように見えますよね? CSVDatasetクラスを見て、内部で何が起こっているのかをよりよく理解しましょう。
<code>Array( [0] => 569587371693355008 )
Array( [0] => 569587242672398336 )
Array( [0] => 569587188687634433 )
Array( [0] => 569587140490866689 )
</code>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

CSVDATASETコンストラクターは、3つのパラメーターを取ります

ソースCSVへのファイルパス
<?php 
    public function __construct(string $filepath, int $features, bool $headingRow = true)
    {
        if (!file_exists($filepath)) {
            throw FileException::missingFile(basename($filepath));
        }

        if (false === $handle = fopen($filepath, 'rb')) {
            throw FileException::cantOpenFile(basename($filepath));
        }

        if ($headingRow) {
            $data = fgetcsv($handle, 1000, ',');
            $this->columnNames = array_slice($data, 0, $features);
        } else {
            $this->columnNames = range(0, $features - 1);
        }

        while (($data = fgetcsv($handle, 1000, ',')) !== false) {
            $this->samples[] = array_slice($data, 0, $features);
            $this->targets[] = $data[$features];
        }
        fclose($handle);
    }
ログイン後にコピー

ファイル内の機能の数の整数を指定

最初の行がタイトルであるかどうかを示すブール値
  • よく見ると、クラスがCSVファイルを2つの内部配列にマッピングしていることがわかります:サンプルとターゲット。
  • samples
  • には、ファイルによって提供されるすべての特性が含まれ、
  • ターゲット
  • には既知の値(負、正、またはニュートラル)が含まれます。
上記のコンテンツに基づいて、CSVファイルが従う必要がある形式は次のとおりです。

動作を続けるために必要な列のみを含むクリーンなデータセットを生成する必要があります。このスクリプトをgeneratecleandataset.php:と呼びましょう 複雑すぎるものはありません。仕事をするのに十分です。 php generatecleandataset.phpで実行しましょう。

さあ、ReviewDataset.phpスクリプトをクリーンなデータセットに向けましょう:

<code>| feature_1 | feature_2 | feature_n | target | </code>
ログイン後にコピー

bam!これは私たちが使用できるデータです!これまでのところ、データを操作するための簡単なスクリプトを作成しています。次に、SRC/分類/SentimentAnalysis.phpの下で新しいクラスの作成を開始します。

<?php namespace PhpmlExercise;

require __DIR__ . '/vendor/autoload.php';

use Phpml\Exception\FileException;

$sourceFilepath         = __DIR__ . '/datasets/raw/Tweets.csv';
$destinationFilepath    = __DIR__ . '/datasets/clean_tweets.csv';

$rows =[];

$rows = getRows($sourceFilepath, $rows);
writeRows($destinationFilepath, $rows);


/**
 * @param $filepath
 * @param $rows
 * @return array
 */
function getRows($filepath, $rows)
{
    $handle = checkFilePermissions($filepath);

    while (($data = fgetcsv($handle, 1000, ',')) !== false) {
        $rows[] = [$data[10], $data[1]];
    }
    fclose($handle);
    return $rows;
}

/**
 * @param $filepath
 * @param string $mode
 * @return bool|resource
 * @throws FileException
 */
function checkFilePermissions($filepath, $mode = 'rb')
{
    if (!file_exists($filepath)) {
        throw FileException::missingFile(basename($filepath));
    }

    if (false === $handle = fopen($filepath, $mode)) {
        throw FileException::cantOpenFile(basename($filepath));
    }
    return $handle;
}

/**
 * @param $filepath
 * @param $rows
 * @internal param $list
 */
function writeRows($filepath, $rows)
{
    $handle = checkFilePermissions($filepath, 'wb');

    foreach ($rows as $row) {
        fputcsv($handle, $row);
    }

    fclose($handle);
}
ログイン後にコピー

感情のクラスは、感情分析クラスで2つの機能を使用する必要があります。

データセットを使用してサンプルとラベル、およびいくつかのオプションのパラメーターをトレーニングするトレーニング関数。

<code>Array
(
    [0] => @AmericanAir That will be the third time I have been called by 800-433-7300 an hung on before anyone speaks. What do I do now???
)
Array
(
    [0] => @AmericanAir How clueless is AA. Been waiting to hear for 2.5 weeks about a refund from a Cancelled Flightled flight & been on hold now for 1hr 49min
)</code>
ログイン後にコピー
非標識データセットを取得し、トレーニングデータに基づいてラベルのセットを割り当てる予測関数。

<?php namespace PhpmlExercise\Classification;

/**
 * Class SentimentAnalysis
 * @package PhpmlExercise\Classification
 */
class SentimentAnalysis { 
    public function train() {}
    public function predict() {}
}
ログイン後にコピー
プロジェクトのルートディレクトリにclassifytweets.phpという名前のスクリプトを作成します。このスクリプトを使用して、センチメント分析クラスをインスタンス化してテストします。使用するテンプレートは次のとおりです

ステップ1:データセットを読み込みます
  • 以前の例では、CSVをデータセットオブジェクトにロードするために使用できるコードが既にあります。同じコードを使用して、いくつかの調整を行います:
  • これにより、分類器のトレーニングに使用する機能(この場合はツイートテキスト)のみを含むフラット配列が生成されます。

ステップ2:データセットを準備

今、元のテキストを使用して、そのテキストを分類子に渡すことは、それぞれのツイートが本質的に異なるため、有用でも正確でもありません。幸いなことに、分類または機械学習アルゴリズムを適用しようとするときにテキストを処理する方法があります。この例では、次の2つのクラスを使用します。

    トークンカウントベクター化器:これにより、テキストサンプルセットがトークンカウントベクトルに変換されます。基本的に、ツイートの各単語は一意の数字になり、特定のテキストサンプルに単語が表示される回数を追跡します。
  • TF-IDFコンバーター:ターム周波数 - インターバースドキュメント周波数は周波数の略語であり、これはコレクションまたはコーパスのドキュメントに対する単語の重要性を反映するように設計された数値統計です。
テキストベクトル化者から始めましょう:

<code>{
    "name": "amacgregor/phpml-exercise",
    "description": "Example implementation of a Tweet sentiment analysis with PHP-ML",
    "type": "project",
    "require": {
        "php-ai/php-ml": "^0.4.1"
    },
    "license": "Apache License 2.0",
    "authors": [
        {
            "name": "Allan MacGregor",
            "email": "amacgregor@allanmacgregor.com"
        }
    ],
    "autoload": {
        "psr-4": {"PhpmlExercise\": "src/"}
    },
    "minimum-stability": "dev"
}</code>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
次に、TF-IDFコンバーターを適用してください:

<code>composer install
</code>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
サンプル配列は、分類器が簡単に理解できる形式を使用するようになりました。まだ完了していません。各サンプルを対応する感情でマークする必要があります。

ステップ3:トレーニングデータセットを生成します

幸いなことに、PHP-MLはすでにこの要件をカバーしており、コードは非常に簡単です:

<?php namespace PhpmlExercise;

require __DIR__ . '/vendor/autoload.php';

use Phpml\Dataset\CsvDataset;

$dataset = new CsvDataset('datasets/raw/Tweets.csv',1);

foreach ($dataset->getSamples() as $sample) {
    print_r($sample);
}
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
このデータセットを引き続き使用し、分類器をトレーニングできます。ただし、検証として使用されるテストデータセットが不足しているため、トレーニングデータセットとモデルの精度セットをテストするためのはるかに小さなデータの2つの部分に、元のデータセットを少し「チート」し、元のデータセットを分割します。

<code>Array( [0] => 569587371693355008 )
Array( [0] => 569587242672398336 )
Array( [0] => 569587188687634433 )
Array( [0] => 569587140490866689 )
</code>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
この方法は、交差検証と呼ばれます。この用語は統計から来ており、次のように定義できます。

回転推定とも呼ばれることもある

クロス検証は、統計分析の結果が独立したデータセットにどのように一般化するかを評価するために使用されるモデル検証手法です。これは主に予測の目標設定に使用されており、実際に予測モデルの精度を推定したいと考えています。 - wikipedia.com

ステップ4:分類子のトレーニング

最後に、センチメンタナリシスクラスを返して実装する準備ができました。まだ気づいていない場合、機械学習の大部分は、データを収集して操作することです。

センチメント分析クラスを実装するには、3つの利用可能な分類アルゴリズムがあります。

サポートベクトル分類

    knearest neighbor
  • ナチュラルベイズ
  • この演習では、最も単純なものであるNaive Bayes分類器を使用します。クラスを更新して、列車の方法を実装しましょう。
  • あなたが見ることができるように、私たちはPHP-MLに私たちのためにすべての重い持ち上げをさせます。プロジェクトのための素晴らしい抽象化を作成しました。しかし、分類子が本当にトレーニングと機能しているかどうかをどのようにして知ることができますか?テストサンプルとテストラベルを使用する時が来ました。
ステップ5:分類器の精度をテスト

分類子をテストし続ける前に、予測方法を実装する必要があります。
<code>{
    "name": "amacgregor/phpml-exercise",
    "description": "Example implementation of a Tweet sentiment analysis with PHP-ML",
    "type": "project",
    "require": {
        "php-ai/php-ml": "^0.4.1"
    },
    "license": "Apache License 2.0",
    "authors": [
        {
            "name": "Allan MacGregor",
            "email": "amacgregor@allanmacgregor.com"
        }
    ],
    "autoload": {
        "psr-4": {"PhpmlExercise\": "src/"}
    },
    "minimum-stability": "dev"
}</code>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

同様に、PHP-MLは私たちを助け、私たちのためにすべての重い持ち上げをしました。それに応じてclassifytweetsクラスを更新しましょう:

<code>composer install
</code>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

最後に、トレーニングモデルの精度をテストする方法が必要です。私たちの場合、モデルの精度に興味があります。コードを見てみましょう:

<?php namespace PhpmlExercise;

require __DIR__ . '/vendor/autoload.php';

use Phpml\Dataset\CsvDataset;

$dataset = new CsvDataset('datasets/raw/Tweets.csv',1);

foreach ($dataset->getSamples() as $sample) {
    print_r($sample);
}
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

次のようなものが表示されるはずです:

<code>Array( [0] => 569587371693355008 )
Array( [0] => 569587242672398336 )
Array( [0] => 569587188687634433 )
Array( [0] => 569587140490866689 )
</code>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

結論

この投稿は少し長いので、これまでに学んだことを見てみましょう。

    最初から優れたデータセットを使用することは、機械学習アルゴリズムを実装するために不可欠です。
  • 監督された学習と教師のない学習の違い。
  • 機械学習における交差検証の意味と使用。
  • ベクトル化と変換は、機械学習用のテキストデータセットを準備するために不可欠です。
  • PHP-MLの素朴なベイズ分類器を使用してTwitterセンチメント分析を実装する方法。
この記事は、PHP-MLライブラリの紹介としても機能し、ライブラリの機能と自分のプロジェクトに埋め込む方法をよく理解したいと考えています。

最後に、この記事は決して包括的ではなく、学習、改善、実験に役立つ多くのアイデアがあります。

ナイーブベイズアルゴリズムをサポートベクトルマシンアルゴリズムに置き換えます。
  • 完全なデータセット(14,000行)に対して実行しようとすると、プロセスのメモリ集中性に気付く場合があります。モデルの永続性を実装して、実行するたびにトレーニングする必要がないようにしてください。
  • データセット生成を独自のヘルパークラスに移動します。
  • この記事が便利だと思います。 PHP-MLに関するいくつかのアプリケーションのアイデアや質問がある場合は、以下のコメントセクションでお気軽にお問い合わせください。
ツイートセンチメント分析のためのPHP機械学習のFAQ(FAQ)

感情分析の精度を改善する方法は?

感情分析の精度を改善するには、さまざまな戦略が含まれます。まず、トレーニングデータが可能な限りクリーンで関連性があることを確認してください。これは、停止単語、句読点、URLなどの無関係なデータを削除することを意味します。次に、より複雑なアルゴリズムの使用を検討します。ナイーブベイズ分類器は優れた出発点ですが、サポートベクターマシン(SVM)やディープラーニングモデルなどの他のアルゴリズムがより良い結果をもたらす可能性があります。最後に、トレーニングに大きなデータセットを使用することを検討してください。モデルが学習できるデータが多いほど、より正確になります。

感情分析にPHP以外の言語を使用できますか?

はい、センチメント分析に他のプログラミング言語を使用できます。たとえば、Pythonは、NLTK、TextBlob、Scikit-Learnなどの広範な機械学習ライブラリに人気のある選択肢となっています。ただし、特に言語に既に精通している場合、またはPHPフレームワークにプロジェクトが構築されている場合、PHPは感情分析に効果的に使用できます。

感情分析において皮肉と反意語に対処する方法は?

センチメント分析における皮肉と反意語のトラブルシューティングは困難な作業です。これらの言語の特徴は、しばしば何かを言うことを伴いますが、反対を意味します。これは、機械学習モデルが理解するのが難しいです。 1つのアプローチは、ディープラーニングモデルなど、コンテキストを理解できるより複雑なモデルを使用することです。別のアプローチは、風刺的なコメントのデータセットを使用してトレーニングできる特殊な風刺検出モデルを使用することです。

他のソーシャルメディアプラットフォームにセンチメント分析を使用する方法は?

感情分析の原則は、他のソーシャルメディアプラットフォームからの投稿を含む、あらゆるテキストデータに適用できます。主な違いは、データを収集する方法です。各ソーシャルメディアプラットフォームには、ユーザー投稿にアクセスするための独自のAPIがあるため、興味のあるプラットフォームのAPIに精通する必要があります。

英語以外の言語でセンチメント分析を使用できますか?

はい、センチメント分析は任意の言語で使用できます。ただし、分析の有効性は、トレーニングデータの品質に依存します。英語以外の言語を使用している場合は、その言語のデータセットを使用してモデルをトレーニングする必要があります。一部の機械学習ライブラリは、複数の言語も直接サポートしています。

感情分析の結果を視覚化する方法は?

感情分析の結果を視覚化する方法はたくさんあります。一般的なアプローチは、バーチャートを使用して、肯定的、ネガティブ、ニュートラルなツイートの数を示すことです。別のアプローチは、単語クラウドを使用して、データで最も一般的に使用される単語を視覚化することです。 PHPには、PCHARTやGDなどのこれらの視覚化を作成するためのいくつかのライブラリがあります。

実際のアプリケーションでセンチメント分析を使用する方法は?

感情分析には多くの実用的なアプリケーションがあります。企業はそれを使用して製品やサービスに関する顧客の意見を監視できます。政治家は、政策問題に関する世論を測定するためにそれを使用し、研究者はそれを使用して社会的傾向を研究することができます。可能性は無限です。

センチメント分析で絵文字に対処する方法は?

絵文字は重要な感情情報を運ぶことができるので、分析にそれらを含めることが重要です。 1つの方法は、データをモデルに入力する前に、各絵文字をテキストの説明に置き換えることです。 PHPの絵文字など、これを行うのに役立つライブラリがあります。

センチメント分析でスペルミスを扱う方法は?

Spellowエラーは、感情分析の課題になる可能性があります。 1つの方法は、モデルにデータを入力する前に、スペルチェッカーを使用してエラーを修正することです。別のアプローチは、ディープラーニングモデルなどのスペルエラーを処理できるモデルを使用することです。

私のセンチメント分析モデルを最新の状態に保つ方法は?

センチメント分析モデルを最新の状態に保つには、新しいデータを使用して定期的に再訓練することが含まれます。これにより、モデルが言語の使用や感情的な変化と同期していることが保証されます。モデルを再訓練する計画を設定することにより、このプロセスを自動化できます。

以上がPHP機械学習でツイート感情を分析する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート