rbtagger 0.3.2 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +44 -0
- data/Rakefile +78 -4
- data/ext/rule_tagger/registry.c +4 -4
- data/ext/rule_tagger/registry.h +1 -1
- data/ext/word_tagger/rtagger.cc +23 -1
- data/ext/word_tagger/tagger.cc +9 -4
- data/ext/word_tagger/tagger.h +2 -0
- data/ext/word_tagger/test.rb +2 -2
- data/lib/brill/brown/{LEXICON → Lexicon.rb} +0 -0
- data/lib/brill/tagger.rb +1 -1
- data/lib/rbtagger.rb +0 -3
- data/lib/rbtagger/version.rb +2 -2
- data/lib/word/tagger.rb +2 -1
- metadata +38 -101
- data/COPYING +0 -21
- data/History.txt +0 -4
- data/License.txt +0 -20
- data/Manifest.txt +0 -82
- data/PostInstall.txt +0 -1
- data/README.txt +0 -51
- data/config/hoe.rb +0 -74
- data/config/requirements.rb +0 -15
- data/ext/rule_tagger/mkmf.log +0 -46
- data/ext/word_tagger/mkmf.log +0 -24
- data/ext/word_tagger/test/Makefile +0 -22
- data/ext/word_tagger/test/doc.txt +0 -87
- data/lib/brill/brown/CONTEXTUALRULEFILE +0 -284
- data/lib/brill/brown/LEXICALRULEFILE +0 -148
- data/script/console +0 -10
- data/script/destroy +0 -14
- data/script/generate +0 -14
- data/script/txt2html +0 -82
- data/setup.rb +0 -1585
- data/tasks/deployment.rake +0 -34
- data/tasks/environment.rake +0 -7
- data/tasks/extconf.rake +0 -18
- data/tasks/extconf/rule_tagger.rake +0 -43
- data/tasks/extconf/word_tagger.rake +0 -43
- data/tasks/website.rake +0 -17
- data/test/docs/doc0.txt +0 -20
- data/test/docs/doc1.txt +0 -11
- data/test/docs/doc2.txt +0 -52
- data/test/docs/doc3.txt +0 -128
- data/test/docs/doc4.txt +0 -337
- data/test/docs/doc5.txt +0 -497
- data/test/docs/doc6.txt +0 -116
- data/test/docs/doc7.txt +0 -101
- data/test/docs/doc8.txt +0 -25
- data/test/docs/doc9.txt +0 -84
- data/test/fixtures/tags.txt +0 -976
- data/test/test_helper.rb +0 -5
- data/test/test_rule_tagger.rb +0 -151
- data/test/test_word_tagger.rb +0 -47
- data/tools/rakehelp.rb +0 -113
- data/website/index.html +0 -231
- data/website/index.txt +0 -70
- data/website/javascripts/rounded_corners_lite.inc.js +0 -285
- data/website/stylesheets/screen.css +0 -138
- 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 '
|
2
|
-
require '
|
3
|
-
|
4
|
-
|
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
|
data/ext/rule_tagger/registry.c
CHANGED
@@ -251,12 +251,12 @@ NORET Registry_destroy(dir)
|
|
251
251
|
|
252
252
|
unsigned int Registry_ptrhash(ptr, htsize)
|
253
253
|
CONSTVOIDP ptr;
|
254
|
-
unsigned
|
254
|
+
unsigned long htsize;
|
255
255
|
{
|
256
|
-
unsigned
|
256
|
+
unsigned long uns_int_ptr = (unsigned long)ptr;
|
257
257
|
|
258
|
-
if ((
|
259
|
-
return htsize ? (
|
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
|
}
|
data/ext/rule_tagger/registry.h
CHANGED
@@ -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
|
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);
|
data/ext/word_tagger/rtagger.cc
CHANGED
@@ -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
|
-
|
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) );
|
data/ext/word_tagger/tagger.cc
CHANGED
@@ -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
|
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
|
-
|
167
|
-
|
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;
|
data/ext/word_tagger/tagger.h
CHANGED
@@ -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;
|
data/ext/word_tagger/test.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
if $0 == __FILE__
|
2
2
|
require 'test/unit'
|
3
|
-
require '
|
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::
|
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
data/lib/rbtagger.rb
CHANGED
data/lib/rbtagger/version.rb
CHANGED
data/lib/word/tagger.rb
CHANGED
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.
|
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:
|
12
|
+
date: 2010-01-24 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
|
-
dependencies:
|
15
|
-
|
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
|
-
-
|
35
|
-
-
|
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
|
-
-
|
52
|
-
-
|
53
|
-
-
|
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
|
-
|
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
|
71
|
+
- README
|
132
72
|
require_paths:
|
133
73
|
- lib
|
134
|
-
- ext
|
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:
|
151
|
-
rubygems_version: 1.3.
|
89
|
+
rubyforge_project: curb
|
90
|
+
rubygems_version: 1.3.5
|
152
91
|
signing_key:
|
153
|
-
specification_version:
|
154
|
-
summary:
|
155
|
-
test_files:
|
156
|
-
|
157
|
-
- test/test_helper.rb
|
158
|
-
- test/test_word_tagger.rb
|
92
|
+
specification_version: 3
|
93
|
+
summary: Ruby libcurl bindings
|
94
|
+
test_files: []
|
95
|
+
|