rbtagger 0.3.2 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
|