Ето разбивка стъпка по стъпка на предоставения Ruby скрипт за анализ на настроението:

require 'scikit-learn'

# Prepare your data
x_train = [
  "I love this movie",
  "The plot was intriguing",
  "Great performance by the actors",
  "It was a terrible experience",
  "The ending was disappointing"
] # Training text

y_train = [1, 1, 1, 0, 0] # Training labels (1 for positive sentiment, 0 for negative sentiment)

# Vectorize the text data
vectorizer = Scikit::Learn::FeatureExtraction::Text::CountVectorizer.new
x_train_vectorized = vectorizer.fit_transform(x_train)

# Define and train your model
model = Scikit::Learn::NaiveBayes::MultinomialNB.new
model.fit(x_train_vectorized, y_train)

# Prepare new test data
x_test = [
  "This movie is amazing",
  "I didn't like the acting"
] # Testing text

# Vectorize the test data
x_test_vectorized = vectorizer.transform(x_test)

# Make predictions
y_pred = model.predict(x_test_vectorized)

# Print the predictions
puts "Predictions:"
y_pred.each { |prediction| puts prediction == 1 ? "Positive" : "Negative" }

Стъпка 1: Подгответе данните

  • Дефинирайте обучителните текстови данни x_train, които се състоят от рецензии на филми.
  • Присвоете етикети за настроение y_train (1 за положително, 0 за отрицателно), съответстващи на всяка рецензия.

Стъпка 2: Векторизирайте текстовите данни

  • Създайте екземпляр на CountVectorizer от scikit-learn, като използвате Scikit::Learn::FeatureExtraction::Text::CountVectorizer.new.
  • Използвайте метода fit_transform, за да конвертирате обучителните текстови данни X_train в цифров формат, подходящ за машинно обучение. Запазете резултата в x_train_vectorized.

Стъпка 3: Дефинирайте и обучете модела

  • Създайте екземпляр на класификатора Naive Bayes (MultinomialNB), като използвате Scikit::Learn::NaiveBayes::MultinomialNB.new.
  • Обучете модела, като използвате векторизираните данни за обучение x_train_vectorized и етикетите за настроение y_train, като използвате метода fit.

Стъпка 4: Подгответе тестови данни

  • Дефинирайте нови тестови текстови данни X_test, които включват допълнителни рецензии на филми, които се нуждаят от анализ на настроението.

Стъпка 5: Векторизирайте тестовите данни

  • Използвайте същия екземпляр CountVectorizer, за да трансформирате тестовите текстови данни x_test в цифров формат. Запазете резултата в x_test_vectorized.

Стъпка 6: Направете прогнози

  • Използвайте обучения модел, за да предвидите етикети на настроението за векторизираните тестови данни x_test_vectorized с помощта на метода predict. Съхранявайте прогнозите в y_pred.

Стъпка 7: Отпечатайте прогнозите

  • Обходете масива y_pred и отпечатайте всяка прогноза като „положителна“ или „отрицателна“, като използвате метода puts.

Изживейте иновационната революция с Himanshu Sharma, присъединете се към мен за ексклузивни прозрения, експертни гледни точки и авангардни актуализации. Следвайте ме сега, за да останете пред кривата. Нека се впуснем в това вълнуващо пътешествие заедно! #FollowMe #Innovation #HimanshuSharma #MachineLearning #Ruby #RubyOnRails