0

我目前正在使用 Classifier gem 成功地对文本进行分类。我遵循了“ Ruby 中的贝叶斯分类”教程,一切正常。我有两个文件,一个名为“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 }

然后我将文本“我今天很好”分类如下:

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

据我了解,这基本上是在一元级别上工作的。我还想将其提升到一个新的水平,即潜在地对二元组和 n-gram 进行分类。

我已经使用以下方法创建了一个文本的二元数组:

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

但是,我不确定如何从这里继续,因为该classify方法不采用数组。它需要一个字符串。

4

0 回答 0