From: Dan Wade Date: 2007-04-08T02:34:04+09:00 Subject: Re: ruby classifier I've spent a couple of days trying to get LSI Classifer to work. The Bayesian library works fine (and is fun), but LSI is not working for me. I have the GSL installed and the ruby-gsl wrapper, which seem to be working fine. However, I get the same error as mentioned in the previous post. The error occurs as the 2nd item is added to the index. It occurs somewhere within the rebuild_index procedure. If auto_index is switched off, items can be added infinitum. Please help :S #--------test script require 'rubygems' require 'gsl' require 'classifier' require 'stemmer' lsi = Classifier::LSI.new strings = [ ["This text deals with dogs. Dogs.", :dog], ["This text involves dogs too. Dogs! ", :dog], ["This text revolves around cats. Cats.", :cat], ["This text also involves cats. Cats!", :cat], ["This text involves birds. Birds.",:bird ]] strings.each {|x| lsi.add_item x.first, x.last} lsi.search("dog", 3) # returns => ["This text deals with dogs. Dogs.", "This text involves dogs too . Dogs! ", # "This text also involves cats. Cats!"] lsi.find_related(strings[2], 2) # returns => ["This text revolves around cats. Cats.", "This text also involve s cats. Cats!"] lsi.classify "This text is also about dogs!" # returns => :dog #--------error /usr/lib/ruby/gems/1.8/gems/classifier-1.3.0/lib/classifier/extensions/string.rb:6:Warning: require_gem is obsolete. Use gem instead. /usr/lib/ruby/gems/1.8/gems/classifier-1.3.0/lib/classifier/lsi/content_node.rb:37:in `initialize': wrong number of arguments (1 for 0) (ArgumentError) from /usr/lib/ruby/gems/1.8/gems/classifier-1.3.0/lib/classifier/lsi/content_node.rb:37:in `new' from /usr/lib/ruby/gems/1.8/gems/classifier-1.3.0/lib/classifier/lsi/content_node.rb:37:in `raw_vector_with' from /usr/lib/ruby/gems/1.8/gems/classifier-1.3.0/lib/classifier/lsi.rb:123:in `build_index' from /usr/lib/ruby/gems/1.8/gems/classifier-1.3.0/lib/classifier/lsi.rb:123:in `collect' from /usr/lib/ruby/gems/1.8/gems/classifier-1.3.0/lib/classifier/lsi.rb:123:in `build_index' from /usr/lib/ruby/gems/1.8/gems/classifier-1.3.0/lib/classifier/lsi.rb:65:in `add_item' from lsitest.rb:12 from lsitest.rb:12:in `each' from lsitest.rb:12 Dan Colin Brander wrote: > Ah, whoops, that part is fixed now. But when to add items to the LSI > classifier, I get: > >>> lsi.add_item( "This is a turtle.", :turtle ) > => nil >>> lsi.add_item( "This is a cuckoo.", :cuckoo ) > ArgumentError: wrong number of arguments (1 for 0) > from > /usr/local/lib/ruby/gems/1.8/gems/classifier-1.3.0/lib/classifier/lsi/content_node.rb:37:in > `initialize' > ... > > i.e., I get these "wrong number of arguments" errors as soon as I try to > add more than one item. > > Any idea about this? > > > Logan Capaldo wrote: >> On 3/28/07, Ryo Fojiba wrote: >>> >> Didja try >> require 'rubygems' >> require 'classifier' >> >> ? -- Posted via http://www.ruby-forum.com/.