rbtagger 0.3.2 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. data/README +44 -0
  2. data/Rakefile +78 -4
  3. data/ext/rule_tagger/registry.c +4 -4
  4. data/ext/rule_tagger/registry.h +1 -1
  5. data/ext/word_tagger/rtagger.cc +23 -1
  6. data/ext/word_tagger/tagger.cc +9 -4
  7. data/ext/word_tagger/tagger.h +2 -0
  8. data/ext/word_tagger/test.rb +2 -2
  9. data/lib/brill/brown/{LEXICON → Lexicon.rb} +0 -0
  10. data/lib/brill/tagger.rb +1 -1
  11. data/lib/rbtagger.rb +0 -3
  12. data/lib/rbtagger/version.rb +2 -2
  13. data/lib/word/tagger.rb +2 -1
  14. metadata +38 -101
  15. data/COPYING +0 -21
  16. data/History.txt +0 -4
  17. data/License.txt +0 -20
  18. data/Manifest.txt +0 -82
  19. data/PostInstall.txt +0 -1
  20. data/README.txt +0 -51
  21. data/config/hoe.rb +0 -74
  22. data/config/requirements.rb +0 -15
  23. data/ext/rule_tagger/mkmf.log +0 -46
  24. data/ext/word_tagger/mkmf.log +0 -24
  25. data/ext/word_tagger/test/Makefile +0 -22
  26. data/ext/word_tagger/test/doc.txt +0 -87
  27. data/lib/brill/brown/CONTEXTUALRULEFILE +0 -284
  28. data/lib/brill/brown/LEXICALRULEFILE +0 -148
  29. data/script/console +0 -10
  30. data/script/destroy +0 -14
  31. data/script/generate +0 -14
  32. data/script/txt2html +0 -82
  33. data/setup.rb +0 -1585
  34. data/tasks/deployment.rake +0 -34
  35. data/tasks/environment.rake +0 -7
  36. data/tasks/extconf.rake +0 -18
  37. data/tasks/extconf/rule_tagger.rake +0 -43
  38. data/tasks/extconf/word_tagger.rake +0 -43
  39. data/tasks/website.rake +0 -17
  40. data/test/docs/doc0.txt +0 -20
  41. data/test/docs/doc1.txt +0 -11
  42. data/test/docs/doc2.txt +0 -52
  43. data/test/docs/doc3.txt +0 -128
  44. data/test/docs/doc4.txt +0 -337
  45. data/test/docs/doc5.txt +0 -497
  46. data/test/docs/doc6.txt +0 -116
  47. data/test/docs/doc7.txt +0 -101
  48. data/test/docs/doc8.txt +0 -25
  49. data/test/docs/doc9.txt +0 -84
  50. data/test/fixtures/tags.txt +0 -976
  51. data/test/test_helper.rb +0 -5
  52. data/test/test_rule_tagger.rb +0 -151
  53. data/test/test_word_tagger.rb +0 -47
  54. data/tools/rakehelp.rb +0 -113
  55. data/website/index.html +0 -231
  56. data/website/index.txt +0 -70
  57. data/website/javascripts/rounded_corners_lite.inc.js +0 -285
  58. data/website/stylesheets/screen.css +0 -138
  59. data/website/template.html.erb +0 -184
data/README CHANGED
@@ -1,3 +1,9 @@
1
+ = rbtagger
2
+
3
+ * http://github.com/taf2/rb-brill-tagger/tree/master
4
+
5
+ == DESCRIPTION:
6
+
1
7
  A Simple Ruby Rule-Based Part of Speech Tagger
2
8
 
3
9
  This work is based on the work of Eric Brill
@@ -5,3 +11,41 @@ This work is based on the work of Eric Brill
5
11
  Credit for extracting Eric's work into a reusable library goes to Ken Williams as part of his work in creating the Lingua::BrillTagger perl module
6
12
 
7
13
  This software is made available under the MIT License, see LICENSE
14
+
15
+ == FEATURES/PROBLEMS:
16
+
17
+ * Rule based tagger
18
+ * Word matching tagger
19
+
20
+ == SYNOPSIS:
21
+
22
+ tagger = Brill::Tagger.new
23
+
24
+ == INSTALL:
25
+
26
+ * sudo gem install rbtagger
27
+
28
+ == LICENSE:
29
+
30
+ (The MIT License)
31
+
32
+ Copyright (c) 2008 Todd A. Fisher
33
+
34
+ Permission is hereby granted, free of charge, to any person obtaining
35
+ a copy of this software and associated documentation files (the
36
+ 'Software'), to deal in the Software without restriction, including
37
+ without limitation the rights to use, copy, modify, merge, publish,
38
+ distribute, sublicense, and/or sell copies of the Software, and to
39
+ permit persons to whom the Software is furnished to do so, subject to
40
+ the following conditions:
41
+
42
+ The above copyright notice and this permission notice shall be
43
+ included in all copies or substantial portions of the Software.
44
+
45
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
46
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
47
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
48
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
49
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
50
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
51
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile CHANGED
@@ -1,4 +1,78 @@
1
- require 'config/requirements'
2
- require 'config/hoe' # setup Hoe + all gem configuration
3
-
4
- Dir['tasks/**/*.rake'].each { |rake| load rake }
1
+ require 'rake/clean'
2
+ require 'rake/testtask'
3
+ require 'rake/rdoctask'
4
+
5
+ CLEAN.include '**/*.o'
6
+ CLEAN.include "**/*.#{Config::MAKEFILE_CONFIG['DLEXT']}"
7
+ CLOBBER.include 'doc'
8
+ CLOBBER.include '**/*.log'
9
+ CLOBBER.include '**/Makefile'
10
+ CLOBBER.include '**/extconf.h'
11
+
12
+ # Make tasks -----------------------------------------------------
13
+ make_program = (/mswin/ =~ RUBY_PLATFORM) ? 'nmake' : 'make'
14
+ MAKECMD = ENV['MAKE_CMD'] || make_program
15
+ MAKEOPTS = ENV['MAKE_OPTS'] || ''
16
+
17
+ RULE_SO = "ext/rule_tagger/rule_tagger.#{Config::MAKEFILE_CONFIG['DLEXT']}"
18
+ WORD_SO = "ext/word_tagger/word_tagger.#{Config::MAKEFILE_CONFIG['DLEXT']}"
19
+
20
+ def make(mod,target = '')
21
+ Dir.chdir("ext/#{mod}_tagger") do
22
+ pid = system("#{MAKECMD} #{MAKEOPTS} #{target}")
23
+ $?.exitstatus
24
+ end
25
+ end
26
+
27
+ file 'ext/word_tagger/Makefile' => 'ext/word_tagger/extconf.rb' do
28
+ Dir.chdir('ext/word_tagger') { ruby "extconf.rb #{ENV['EXTCONF_OPTS']}" }
29
+ end
30
+
31
+ file 'ext/rule_tagger/Makefile' => 'ext/rule_tagger/extconf.rb' do
32
+ Dir.chdir('ext/rule_tagger') { ruby "extconf.rb #{ENV['EXTCONF_OPTS']}" }
33
+ end
34
+
35
+ # Let make handle dependencies between c/o/so - we'll just run it.
36
+ file RULE_SO => (['ext/rule_tagger/Makefile','ext/rule_tagger/extconf.rb'] + Dir['ext/rule_tagger/*.cc'] + Dir['ext/rule_tagger/*.h']) do
37
+ m = make('rule')
38
+ fail "Make failed (status #{m})" unless m == 0
39
+ end
40
+
41
+ file WORD_SO => (['ext/word_tagger/Makefile','ext/rule_tagger/extconf.rb'] + Dir['ext/word_tagger/*.cc'] + Dir['ext/word_tagger/*.h']) do
42
+ m = make('word')
43
+ fail "Make failed (status #{m})" unless m == 0
44
+ end
45
+
46
+ desc "Compile the shared object"
47
+ task :compile => [RULE_SO, WORD_SO]
48
+
49
+ Rake::TestTask.new(:inttest) do |t|
50
+ t.test_files = FileList['test/test_*.rb']
51
+ t.verbose = false
52
+ end
53
+
54
+ desc "Test taggers"
55
+ task :test => [:compile, :inttest]
56
+
57
+ task :default => :test
58
+
59
+ desc 'Generate gem specification'
60
+ task :gemspec do
61
+ require 'erb'
62
+ tspec = ERB.new(File.read(File.join(File.dirname(__FILE__),'lib','rbtagger.gemspec.erb')))
63
+ File.open(File.join(File.dirname(__FILE__),'rbtagger.gemspec'),'wb') do|f|
64
+ f << tspec.result
65
+ end
66
+ end
67
+ require 'lib/rbtagger/version'
68
+ CURRENT_VERSION = RbTagger::VERSION::STRING
69
+ desc 'Build gem'
70
+ task :package => :gemspec do
71
+ require 'rubygems/specification'
72
+ spec_source = File.read File.join(File.dirname(__FILE__),'rbtagger.gemspec')
73
+ spec = nil
74
+ # see: http://gist.github.com/16215
75
+ Thread.new { spec = eval("$SAFE = 3\n#{spec_source}") }.join
76
+ spec.validate
77
+ Gem::Builder.new(spec).build
78
+ end
@@ -251,12 +251,12 @@ NORET Registry_destroy(dir)
251
251
 
252
252
  unsigned int Registry_ptrhash(ptr, htsize)
253
253
  CONSTVOIDP ptr;
254
- unsigned int htsize;
254
+ unsigned long htsize;
255
255
  {
256
- unsigned int uns_int_ptr = (unsigned int)ptr;
256
+ unsigned long uns_int_ptr = (unsigned long)ptr;
257
257
 
258
- if ((int)uns_int_ptr > 0)
259
- return htsize ? (int)uns_int_ptr % (int)htsize : 0;
258
+ if ((long)uns_int_ptr > 0)
259
+ return htsize ? (long)uns_int_ptr % (int)htsize : 0;
260
260
  else
261
261
  return htsize ? uns_int_ptr % htsize : 0;
262
262
  }
@@ -23,7 +23,7 @@ extern unsigned int Registry_entry_count(Registry);
23
23
  extern NORET Registry_fetch_contents(Registry, Darray, Darray);
24
24
  extern NORET Registry_destroy(Registry);
25
25
  extern int Registry_ptrcmp(CONSTVOIDP, CONSTVOIDP);
26
- extern unsigned int Registry_ptrhash(CONSTVOIDP, unsigned int);
26
+ extern unsigned int Registry_ptrhash(CONSTVOIDP, unsigned long);
27
27
  extern int Registry_strcmp(CONSTVOIDP, CONSTVOIDP);
28
28
  extern unsigned int Registry_strhash(CONSTVOIDP, unsigned int);
29
29
  extern int Registry_strcasecmp(CONSTVOIDP, CONSTVOIDP);
@@ -36,13 +36,35 @@ VALUE Tagger_execute( VALUE self, VALUE text )
36
36
  }
37
37
  return results;
38
38
  }
39
+ /*
40
+ * call-seq:
41
+ * tagger.freq(['word1','word2','word3',...,n]) => {'word1' => 5, 'word2' => 10, ... }
42
+ *
43
+ * run the tagger against a body of text either as an array or as a string. extract words of interest
44
+ * given the predefined set of tags.
45
+ */
39
46
  VALUE Tagger_execute_freq( VALUE self, VALUE text )
40
47
  {
41
48
  NWordTagger *tagger;
42
49
  Data_Get_Struct( self, NWordTagger, tagger );
43
50
  int max_count = 0;
44
51
  std::map<std::string,int> tags;
45
- tagger->execute_with_frequency( RSTRING_PTR(text), tags, max_count );
52
+ if( TYPE(text) == T_STRING) {
53
+ tagger->execute_with_frequency( RSTRING_PTR(text), tags, max_count );
54
+ }
55
+ else if( TYPE(text) == T_ARRAY ) {
56
+ // convert ruby array to std vector
57
+ std::vector<std::string> words;
58
+ unsigned int len = RARRAY_LEN(text);
59
+ words.reserve(len);
60
+ for( unsigned int i = 0; i < len; ++i ) {
61
+ words.push_back(std::string(RSTRING_PTR(rb_ary_entry(text,i))));
62
+ }
63
+ tagger->execute_with_frequency( words, tags, max_count );
64
+ }
65
+ else {
66
+ rb_raise(rb_eRuntimeError, "Must provide either a string or array as input");
67
+ }
46
68
  VALUE results = rb_hash_new();
47
69
  for( std::map<std::string,int>::const_iterator it = tags.begin(); it != tags.end(); ++it ) {
48
70
  rb_hash_aset( results, rb_str_new(it->first.c_str(), it->first.length()), rb_int_new(it->second) );
@@ -82,9 +82,8 @@ std::string NWordTagger::stemWord( const std::string &word )const
82
82
  return stemmed;
83
83
  }
84
84
 
85
- int NWordTagger::execute_with_frequency( const char *text, std::map<std::string,int> &matched_tags, int &max_count )const
85
+ int NWordTagger::execute_with_frequency( const std::vector<std::string> &words, std::map<std::string,int> &matched_tags, int &max_count )const
86
86
  {
87
- std::vector<std::string> words = word_split( text );
88
87
  std::string match_word;
89
88
  std::map<std::string,std::string>::const_iterator matched;
90
89
 
@@ -130,6 +129,11 @@ int NWordTagger::execute_with_frequency( const char *text, std::map<std::string,
130
129
  }
131
130
  return matched_tags.size();
132
131
  }
132
+ int NWordTagger::execute_with_frequency( const char *text, std::map<std::string,int> &matched_tags, int &max_count )const
133
+ {
134
+ std::vector<std::string> words = word_split( text );
135
+ return execute_with_frequency(words, matched_tags, max_count);
136
+ }
133
137
 
134
138
  int NWordTagger::execute( std::vector<std::string> &reduced_tags, const char *text, unsigned short max )const
135
139
  {
@@ -159,12 +163,13 @@ int NWordTagger::execute( std::vector<std::string> &reduced_tags, const char *te
159
163
  // sort the tags in frequency order
160
164
  std::sort( sorted_tags.begin(), sorted_tags.end(), WordComparitor() );
161
165
 
166
+
162
167
  std::vector< std::pair<std::string, int> >::iterator mloc;
163
168
  do {
164
169
  for(mloc = sorted_tags.begin(); mloc != sorted_tags.end(); ++mloc ) {
165
170
  std::pair< std::string, int > word_freq = *mloc;
166
- // printf( "word: %s, frequency: %d\n", word_freq.first.c_str(), word_freq.second );
167
- // printf( "word: %s, frequency: %d\n", mloc->first.c_str(), mloc->second );
171
+ printf( "word: %s, frequency: %d\n", word_freq.first.c_str(), word_freq.second );
172
+ printf( "word: %s, frequency: %d\n", mloc->first.c_str(), mloc->second );
168
173
  if( word_freq.second < max_count ) {
169
174
  sorted_tags.erase( mloc );
170
175
  break;
@@ -18,10 +18,12 @@ struct NWordTagger {
18
18
  // fill results with matching tags in the text body
19
19
  // keep the number of tags returned within the threshold of max. reducing tags by least frequent
20
20
  int execute( std::vector<std::string> &reduced_tags, const char *text, unsigned short max = 10 )const;
21
+ int execute( std::vector<std::string> &reduced_tags, const std::vector<std::string> &words, unsigned short max = 10 )const;
21
22
 
22
23
  // return the number of matched tags
23
24
  // result is updated with a mapping of matched tags with their individual term frequency count
24
25
  int execute_with_frequency( const char *text, std::map<std::string,int> &matched_tags, int &max_count )const;
26
+ int execute_with_frequency( const std::vector<std::string> &words, std::map<std::string,int> &matched_tags, int &max_count )const;
25
27
  private:
26
28
  short nwords;
27
29
  struct stemmer *stemmer;
@@ -1,12 +1,12 @@
1
1
  if $0 == __FILE__
2
2
  require 'test/unit'
3
- require 'tagger'
3
+ require 'word_tagger'
4
4
 
5
5
  class NWordTest < Test::Unit::TestCase
6
6
 
7
7
  def setup
8
8
  if !defined?($tagger)
9
- $tagger = Tagger::SimpleTagger.new
9
+ $tagger = Tagger::WordTagger.new
10
10
  $tagger.load_tags( File.read('../../tags.txt').split("\n") )
11
11
  $tagger.set_words( 4 );
12
12
  end
File without changes
data/lib/brill/tagger.rb CHANGED
@@ -1,4 +1,4 @@
1
- require 'rule_tagger'
1
+ require 'rule_tagger/rule_tagger'
2
2
 
3
3
  module Brill
4
4
  class Tagger
data/lib/rbtagger.rb CHANGED
@@ -1,6 +1,3 @@
1
- $:.unshift(File.dirname(__FILE__)) unless
2
- $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
3
-
4
1
  module RbTagger
5
2
  class << self
6
3
  def tags_from_file( file )
@@ -1,8 +1,8 @@
1
1
  module RbTagger #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
- MINOR = 3
5
- TINY = 2
4
+ MINOR = 4
5
+ TINY = 0
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
data/lib/word/tagger.rb CHANGED
@@ -1,5 +1,6 @@
1
+ require 'word_tagger/word_tagger'
2
+
1
3
  module Word
2
- require 'word_tagger'
3
4
  class Tagger < Tagger::WordTagger
4
5
  def initialize( tags, options = {} )
5
6
  if tags.is_a?(String) and File.exist?(tags)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbtagger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Todd A. Fisher
@@ -9,130 +9,69 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-07-07 00:00:00 -04:00
12
+ date: 2010-01-24 00:00:00 -05:00
13
13
  default_executable:
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: hoe
17
- type: :development
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: 2.3.2
24
- version:
14
+ dependencies: []
15
+
25
16
  description: A Simple Ruby Rule-Based Part of Speech Tagger
26
- email:
27
- - todd.fisher@gmail.com
17
+ email: todd.fisher@gmail.com
28
18
  executables: []
29
19
 
30
20
  extensions:
31
- - ext/word_tagger/extconf.rb
32
21
  - ext/rule_tagger/extconf.rb
22
+ - ext/word_tagger/extconf.rb
33
23
  extra_rdoc_files:
34
- - History.txt
35
- - License.txt
36
- - Manifest.txt
37
- - PostInstall.txt
38
- - README.txt
39
- - ext/word_tagger/test/doc.txt
40
- - website/index.txt
24
+ - LICENSE
25
+ - README
41
26
  files:
42
- - COPYING
43
- - History.txt
44
27
  - LICENSE
45
- - License.txt
46
- - Manifest.txt
47
- - PostInstall.txt
48
28
  - README
49
- - README.txt
50
29
  - Rakefile
51
- - config/hoe.rb
52
- - config/requirements.rb
53
- - ext/rule_tagger/bool.h
30
+ - lib/brill/brown/Lexicon.rb
31
+ - lib/brill/tagger.rb
32
+ - lib/rbtagger/version.rb
33
+ - lib/rbtagger.rb
34
+ - lib/word/tagger.rb
54
35
  - ext/rule_tagger/darray.c
55
- - ext/rule_tagger/darray.h
56
- - ext/rule_tagger/darrayP.h
57
- - ext/rule_tagger/extconf.rb
58
36
  - ext/rule_tagger/lex.c
59
- - ext/rule_tagger/lex.h
60
37
  - ext/rule_tagger/memory.c
61
- - ext/rule_tagger/memory.h
62
- - ext/rule_tagger/mkmf.log
63
38
  - ext/rule_tagger/rbtagger.c
64
39
  - ext/rule_tagger/registry.c
40
+ - ext/rule_tagger/rules.c
41
+ - ext/rule_tagger/tagger.c
42
+ - ext/rule_tagger/useful.c
43
+ - ext/word_tagger/porter_stemmer.c
44
+ - ext/word_tagger/rtagger.cc
45
+ - ext/word_tagger/tagger.cc
46
+ - ext/word_tagger/test/test.cc
47
+ - ext/rule_tagger/bool.h
48
+ - ext/rule_tagger/darray.h
49
+ - ext/rule_tagger/darrayP.h
50
+ - ext/rule_tagger/lex.h
51
+ - ext/rule_tagger/memory.h
65
52
  - ext/rule_tagger/registry.h
66
53
  - ext/rule_tagger/registryP.h
67
54
  - ext/rule_tagger/ruby-compat.h
68
- - ext/rule_tagger/rules.c
69
55
  - ext/rule_tagger/rules.h
70
56
  - ext/rule_tagger/sysdep.h
71
- - ext/rule_tagger/tagger.c
72
57
  - ext/rule_tagger/tagger.h
73
- - ext/rule_tagger/useful.c
74
58
  - ext/rule_tagger/useful.h
75
- - ext/word_tagger/extconf.rb
76
- - ext/word_tagger/mkmf.log
77
- - ext/word_tagger/porter_stemmer.c
78
59
  - ext/word_tagger/porter_stemmer.h
79
- - ext/word_tagger/rtagger.cc
80
- - ext/word_tagger/tagger.cc
81
60
  - ext/word_tagger/tagger.h
61
+ - ext/rule_tagger/extconf.rb
62
+ - ext/word_tagger/extconf.rb
82
63
  - ext/word_tagger/test.rb
83
- - ext/word_tagger/test/Makefile
84
- - ext/word_tagger/test/doc.txt
85
- - ext/word_tagger/test/test.cc
86
- - lib/brill/tagger.rb
87
- - lib/rbtagger.rb
88
- - lib/rbtagger/version.rb
89
- - lib/word/tagger.rb
90
- - lib/brill/brown/CONTEXTUALRULEFILE
91
- - lib/brill/brown/LEXICALRULEFILE
92
- - lib/brill/brown/LEXICON
93
- - script/console
94
- - script/destroy
95
- - script/generate
96
- - script/txt2html
97
- - setup.rb
98
- - tasks/deployment.rake
99
- - tasks/environment.rake
100
- - tasks/extconf.rake
101
- - tasks/extconf/rule_tagger.rake
102
- - tasks/extconf/word_tagger.rake
103
- - tasks/website.rake
104
- - test/docs/doc0.txt
105
- - test/docs/doc1.txt
106
- - test/docs/doc2.txt
107
- - test/docs/doc3.txt
108
- - test/docs/doc4.txt
109
- - test/docs/doc5.txt
110
- - test/docs/doc6.txt
111
- - test/docs/doc7.txt
112
- - test/docs/doc8.txt
113
- - test/docs/doc9.txt
114
- - test/fixtures/tags.txt
115
- - test/test_helper.rb
116
- - test/test_rule_tagger.rb
117
- - test/test_word_tagger.rb
118
- - tools/rakehelp.rb
119
- - website/index.html
120
- - website/index.txt
121
- - website/javascripts/rounded_corners_lite.inc.js
122
- - website/stylesheets/screen.css
123
- - website/template.html.erb
124
64
  has_rdoc: true
125
- homepage: http://rbtagger.rubyforge.org
126
- post_install_message: |
127
- For more information on rbtagger, see http://rbtagger.rubyforge.org
65
+ homepage: http://rbtagger.rubyforge.org/
66
+ licenses: []
128
67
 
68
+ post_install_message:
129
69
  rdoc_options:
130
70
  - --main
131
- - README.txt
71
+ - README
132
72
  require_paths:
133
73
  - lib
134
- - ext/word_tagger
135
- - ext/rule_tagger
74
+ - ext
136
75
  required_ruby_version: !ruby/object:Gem::Requirement
137
76
  requirements:
138
77
  - - ">="
@@ -147,12 +86,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
147
86
  version:
148
87
  requirements: []
149
88
 
150
- rubyforge_project: rbtagger
151
- rubygems_version: 1.3.1
89
+ rubyforge_project: curb
90
+ rubygems_version: 1.3.5
152
91
  signing_key:
153
- specification_version: 2
154
- summary: A Simple Ruby Rule-Based Part of Speech Tagger
155
- test_files:
156
- - test/test_rule_tagger.rb
157
- - test/test_helper.rb
158
- - test/test_word_tagger.rb
92
+ specification_version: 3
93
+ summary: Ruby libcurl bindings
94
+ test_files: []
95
+