AI技術の進化は私たちの日常に大きな影響を与えています。特に、感情分析はマーケティング、カスタマーサービス、SNS分析など多岐にわたる分野で活用されています。しかし、「AI感情分析を試してみたいけれど、どうやって始めればいいかわからない」という初心者の方も多いのではないでしょうか?
そこで本記事では、初心者でも簡単に始められるレンタルサーバーを使ったAI感情分析(Python)の導入方法を解説します。また本サイトもレンタルサーバー引っ越しを考えており、サイト運営をされている方も参考になれば幸いです。
レンタルサーバーまとめ
まずはAI感情分析をPythonが実行できるレンタルサーバーを探します。
レンタルサーバー名 | 特徴 | 月額料金 | 初期費用 | 他レンタルサーバーとの違い |
---|---|---|---|---|
シン・レンタルサーバー | – 高速化技術「KUSANAGI」導入 – エックスサーバーのシステムベース – リソース保証機能 – 独自ドメイン永久無料 – アダルトサイト運営可能 | 770円〜 | 0円 | エックスサーバーと同じシステムで最新技術を先行導入し、価格がリーズナブル |
エックスサーバー | – 高い安定性と稼働率99.99% – 充実したサポート体制 – WordPress簡単インストール – 無料独自SSL – 自動バックアップ機能 – セコムによるセキュリティ診断 – 大規模サイトに適した高リソースプラン | 693円〜(キャンペーン価格) | 3,000円 | 高い信頼性と豊富な機能、サポート体制の充実 |
ConoHa WING | – 独自ドメイン永久無料(WINGパック限定) – Webサイト高速表示 – 無料独自SSL – データベース無制限 – WordPress簡単移行機能 | 643円〜(キャンペーン価格) | 0円 | 独自ドメイン2つ無料、プラン変更が即時反映 |
ロリポップ! | – 同時アクセス数拡張機能 – 無料独自SSL – 有料バックアップ機能 – WordPress簡単インストール – ベーシック、エンタープライズプランはLiteSpeed Cache搭載 | 99円〜 | 1,500円 | 初心者向けの使いやすさと低価格、LiteSpeed Cacheによる高速化 |
カラフルボックス | – 地域別の自動バックアップ可能 – 豊富なプラン選択肢 – ライブチャット、電話、メールのサポート – 無料独自SSL | 484円〜(初回50%オフクーポン) | 0円 | 地域別バックアップと柔軟なプラン選択肢 |
Winserver | – 24時間365日無料サポート – 使いやすいコントロールパネル – WindowsサーバーのVPSに適している – 無料独自SSL | 990円〜 | 0円 | Windowsサーバーに特化したVPSサポート |
mixhost | – LiteSpeed Cache搭載 – 無制限のデータ転送量 – テストサイト簡単作成 – 無料独自SSL | 968円〜 | 0円 | 高負荷対応とテストサイト作成の簡便さ |
レンタルサーバーまとめ補足
- シン・レンタルサーバーは、エックスサーバーのシステムをベースにしつつ、最新技術を迅速に導入することで高速性とコストパフォーマンスを実現しています。また、アダルトサイトの運営も可能で、リソース保証機能がある点が他サーバーとの差別化ポイントです (シンレンタルサーバー)
- エックスサーバーは、高い信頼性と豊富な機能、そして充実したサポート体制で、多くの企業や個人に利用されています。セコムのセキュリティ診断や自動バックアップ機能など、セキュリティ面でも安心です (レンタルサーバー 高速・高機能・高安定性の【エックスサーバー】)
- ConoHa WINGは、独自ドメイン2つ無料やプラン変更が即時反映される点が特徴です。Webサイトの高速表示やWordPressの簡単移行機能もあり、特にアフィリエイターやブロガーに人気です (ConoHa) (Web Habit) (CHIYOBLOG) (ゆかブログ)。
- **ロリポップ!**は、初心者向けの使いやすさと低価格が魅力で、同時アクセス数拡張機能や無料独自SSLなどの機能が充実しています。また、ベーシックとエンタープライズプランにはLiteSpeed Cacheが搭載されており、高速化に寄与しています (Webスクール大阪・ホームページ作成スクール教室 | WEBST8) (Webスクール大阪・ホームページ作成スクール教室 | WEBST8) (【快適パソコンどっとこむ】初心者向け選び方!) (ネット集客の歩き方)。
- カラフルボックスは、地域別バックアップと豊富なプラン選択肢があり、特にバックアップ機能に優れています。また、サポート体制も充実しており、安心して利用できます (Domain取得) (Web Habit)。
- Winserverは、Windowsサーバーに特化したVPSサポートがあり、24時間365日の無料サポートを提供しています。特に企業向けのサポート体制が整っています (Domain取得) (ホームページ自作ラボ)。
- mixhostは、LiteSpeed Cache搭載で高負荷にも対応でき、無制限のデータ転送量やテストサイトの簡単作成が可能です。高負荷なサイト運営に適しています (Web Habit) (ホームページ自作ラボ)。
👑 No.1 レンタルサーバーおすすめ
![](https://ai.krgo.jp/wp-content/uploads/2024/06/image-16-1024x736.png)
エックスサーバー ※本サイトもこちらに引っ越し予定です
1. 高速性・機能性・安定性の優れた高品質サーバーが月額900円台から利用可能!
2. 独自SSLが無料・無制限!短期間で証明書発行、さらに自動でインストールまで対応
3. 人気のCMS「WordPress」が手間なく簡単にインストール可能!
本サイトでは、本気で今後Pythonを触りたい。関連した情報発信をしたい方むけではやはりこちらかなと思います。現在ロリポップを使用していますが、描画速度の観点でもエックスサーバーの人気が高いです。
👑レンタルサーバーおすすめ No.2
![](https://ai.krgo.jp/wp-content/uploads/2024/06/image-17-1024x648.png)
10年以上利用していますが、コストパフォーマンスではロリポップですね。
ただし、描画速度では
レンタルサーバーの契約とセットアップ
ステップ1: レンタルサーバーを契約し、サーバーの管理画面にログインします。
- 例として、ConoHa WING、ロリポップ!、さくらのレンタルサーバを契約する。
ステップ2: サーバーにSSHで接続します。
ConoHa WINGの場合:bashコードをコピーする
ssh username@<サーバーのIPアドレス>
2. Python環境の構築
ステップ1: Pythonがインストールされていることを確認します。インストールされていない場合は、以下のコマンドでインストールします。
bash
コードをコピーする
sudo apt update sudo apt install python3 python3-pip
ステップ2: 必要なライブラリをインストールします。
bash
コードをコピーする
pip3 install flask textblob
3. Flaskアプリケーションの作成
ステップ1: アプリケーション用のディレクトリを作成し、移動します。
bash
コードをコピーする
mkdir sentiment_analysis cd sentiment_analysis
ステップ2: app.py
というファイルを作成し、以下のコードを保存します。
python
コードをコピーする
from flask import Flask, request, jsonify from textblob import TextBlob app = Flask(__name__) @app.route('/') def home(): return ''' <h1>感情分析ツール</h1> <form action="/analyze" method="post"> <textarea name="text" rows="4" cols="50"></textarea><br> <input type="submit" value="Analyze"> </form> ''' @app.route('/analyze', methods=['POST']) def analyze(): text = request.form['text'] analysis = TextBlob(text) sentiment = analysis.sentiment return jsonify({ 'polarity': sentiment.polarity, 'subjectivity': sentiment.subjectivity }) if __name__ == '__main__': app.run(host='0.0.0.0', port=5000)
4. アプリケーションの実行とテスト
ステップ1: アプリケーションを実行します。
bash
コードをコピーする
python3 app.py
ステップ2: ブラウザを開き、レンタルサーバーのIPアドレスまたはドメイン名とポート番号(デフォルトは5000)を入力してアクセスします。
arduino
コードをコピーする
http://<レンタルサーバーのIPアドレス>:5000
フォームにテキストを入力し、「Analyze」をクリックすると、そのテキストの感情分析結果が表示されます。
5. サーバーでの自動起動設定
ステップ1: supervisorをインストールします。
bash
コードをコピーする
sudo apt install supervisor
ステップ2: /etc/supervisor/conf.d/sentiment_analysis.conf
というファイルを作成し、以下の設定を追加します。
ini
コードをコピーする
[program:sentiment_analysis] command=python3 /path/to/your/app.py directory=/path/to/your/ autostart=true autorestart=true stderr_logfile=/var/log/sentiment_analysis.err.log stdout_logfile=/var/log/sentiment_analysis.out.log
ステップ3: 設定を適用し、supervisorを再起動します。
bash
コードをコピーする
sudo supervisorctl reread sudo supervisorctl update sudo supervisorctl start sentiment_analysis
確認事項
- Pythonインストール確認
- サーバーにPythonがインストールされていることを確認。
- Python 3とpipがインストールされていること。
- 必要なライブラリのインストール
- FlaskとTextBlobが正しくインストールされること。
- Flaskアプリケーションの動作確認
- Flaskアプリケーションがローカルで正しく動作することを確認。
- ポート5000がサーバーで開かれていること。
- supervisor設定確認
- supervisorが正しくインストールされ、設定が適用されていること。
これらの手順を踏めば、問題なく感情分析ツールがレンタルサーバー上で動作するはずです。
# 必要なモジュールのインポート
from textblob import TextBlob
import matplotlib.pyplot as plt
# テキストサンプル
texts = [
"I love using Python for data analysis. It's such a powerful tool!",
"The weather today is gloomy and I'm feeling a bit down.",
"I'm excited about the upcoming vacation. Can't wait to relax!",
"The service at the restaurant was terrible. I won't be going back.",
"This new phone is amazing! The camera quality is top-notch."
]
# 感情分析の結果を保存するリスト
polarities = []
subjectivities = []
for text in texts:
blob = TextBlob(text)
polarities.append(blob.sentiment.polarity)
subjectivities.append(blob.sentiment.subjectivity)
# 結果を表示する
fig, ax = plt.subplots(1, 2, figsize=(12, 6))
# 感情の極性の棒グラフ
ax[0].bar(range(len(texts)), polarities, color='blue')
ax[0].set_title('Sentiment Polarity')
ax[0].set_xlabel('Text Sample')
ax[0].set_ylabel('Polarity')
ax[0].set_xticks(range(len(texts)))
ax[0].set_xticklabels([f'Text {i+1}' for i in range(len(texts))])
# 主観性の棒グラフ
ax[1].bar(range(len(texts)), subjectivities, color='orange')
ax[1].set_title('Sentiment Subjectivity')
ax[1].set_xlabel('Text Sample')
ax[1].set_ylabel('Subjectivity')
ax[1].set_xticks(range(len(texts)))
ax[1].set_xticklabels([f'Text {i+1}' for i in range(len(texts))])
# グラフのタイトル
plt.suptitle('TextBlob Sentiment Analysis Results for Multiple Text Samples', fontsize=16)
# グラフを表示
plt.show()
![](https://ai.krgo.jp/wp-content/uploads/2024/06/output-1024x589.png)
こちらが複数のテキストサンプルに対するTextBlob
感情分析の結果を示すグラフです。
- 左のグラフ (Sentiment Polarity): 各テキストサンプルのポジティブ・ネガティブな感情の度合いを示しています。値が高いほどポジティブで、低いほどネガティブです。
- 右のグラフ (Sentiment Subjectivity): 各テキストサンプルの主観的な度合いを示しています。値が高いほど主観的で、低いほど客観的です。
これにより、各テキストがどの程度ポジティブまたはネガティブであるか、そして主観的かどうかを視覚的に確認できます。