0

現在、Classifier gem を使用してテキストを正常に分類しています。「 Ruby でのベイズ分類」チュートリアルに従ったところ、すべて正常に動作しました。2 つのファイルがあります。1 つは「positive_tweets.yml」という名前で、次のようなツイートが含まれています。

  • 「こんにちは、元気です。元気です」
  • 「私はポジティブなツイートです」

および「negative_tweet.yml」

  • 「今日は本当に天気が悪いです」
  • 「交通事故に遭ったばかり」

「私は今日は元気です」を分類するために、まず分類子を次のようにトレーニングします。

positive = YAML.load_file('positive_tweets.yml')
negative = YAML.load_file('negative_tweets.yml')

classifier = Classifier::Bayes.new('Positive', 'Negative')

positive.each { |p| classifier.train_positive p }
negative.each { |n| classifier.train_negative n }

次に、「I'm good today」というテキストを次のように分類します。

classifier.classify "I'm good today"  # which returns positive

私が理解しているように、これは基本的にユニグラムレベルで機能しています。また、これを次のレベル、バイグラムと n グラムを潜在的に分類するレベルに引き上げたいと考えています。

以下を使用して、テキストのバイグラム配列を作成するところまで来ました。

text.split(' ').each_cons(2).to_a

classifyただし、メソッドが配列を取らないため、ここから続行する方法がわかりません。文字列が必要です。

4

0 に答える 0