しまノート

日々のメモや勉強内容をまとめていきます,自分のために.

【Python】テキストの感情スコアを算出したい

【目的】テキストの感情スコアを算出したい

【タスク】

  1. import tkinter as tk: tkinterをインポートしています。これはPythonの標準ライブラリで、グラフィカルユーザインタフェースGUI)を作成するために使用されます。
  2. from tkinter import messagebox: tkinterのmessageboxモジュールをインポートしています。これはユーザにメッセージを表示するために使用されます。
  3. from tkinter import filedialog: tkinterのfiledialogモジュールをインポートしています。これはユーザがファイルを選択するために使用されます。
  4. from textblob import TextBlob: textblobのTextBlobクラスをインポートしています。これはテキストの感情分析を行うために使用されます。
  5. def analyze_sentiment():: analyze_sentimentという関数を定義しています。この関数はテキストの感情分析を行います。
  6. file_path = filedialog.askopenfilename(title="Select a text file", filetypes=(("Text Files", "*.txt"), ("All Files", "*.*"))): ユーザにテキストファイルを選択するように求めます。選択されたファイルのパスがfile_pathに格納されます。
  7. with open(file_path, "r") as file:: file_pathで指定されたテキストファイルを読み込みモードで開きます。
  8. text = file.read(): テキストファイルの内容をすべて読み込みます。
  9. text_blob = TextBlob(text): textを使ってTextBlobオブジェクトを作成します。
  10. sentiment = text_blob.sentiment.polarity: text_blobからポラリティ値を取得します。これはテキストの感情スコアです。
  11. if sentiment > 0:: ポラリティ値が正の数の場合、「Positive」という文字列をsentiment_resultに格納します。
  12. elif sentiment < 0:: ポラリティ値が負の数の場合、「Negative」という文字列をsentiment_resultに格納します。
  13. else:: ポラリティ値が0の場合、「Neutral」という文字列をsentiment_resultに格納します。
  14. sentiment_result = "Sentiment: {0:.2f} ({1})".format(sentiment, sentiment_string): sentiment_stringを使って、感情スコアに対する説明文を作成します。
  15. messagebox.showinfo("Sentiment Analysis Result", sentiment_result): 感情分析の結果をユーザに表示します。
  16. root = tk.Tk(): tkinterのTkクラスを使って、メインウィンドウを作成します。
  17. root.title("Sentiment Analysis"): メインウィンドウのタイトルを設定します。
  18. root.geometry("300x200"): メインウィンドウのサイズを設定します。
  19. analyze_button = tk.Button(root, text="Analyze Sentiment", command=analyze_sentiment): analyze_sentiment関数を実行するボタンを作成します。
  20. analyze_button.pack(): ボタンをメインウィンドウに配置します。
  21. root.mainloop(): メインウィンドウを実行します。

【コード】

Sentiment_Analysis.ipynb

【結果】
サンプルテキストを読み込み,感情スコアを算出することに成功した.

対象のテキスト
出力