opener-pos-tagger-fr 1.0.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.
- checksums.yaml +7 -0
- data/README.md +67 -0
- data/bin/pos-tagger-fr +21 -0
- data/core/target/Vicom-postagger_FR-0.9.jar +0 -0
- data/lib/opener/pos_taggers/fr.rb +81 -0
- data/lib/opener/pos_taggers/fr/version.rb +7 -0
- data/opener-pos-tagger-fr.gemspec +27 -0
- metadata +106 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: f475080332107b2fd90c50078811f5987e2d931c
|
4
|
+
data.tar.gz: c134d6658d70777e5e93fb399cb0be48f9c964c2
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: a9ef3b74a990e5210c2be9e881a65445d83a1d21c649ac02fd594e599da0a481186d94d83fe019d169f274cc7bd09f1c2796794c47a92c0f6d9a8139beab9eea
|
7
|
+
data.tar.gz: b45d9f1100e485411cef605486e47f4fef7fb1161b83116cf2d0803ba5b06e324d4f46520244c2ae1736c041e27f406fd0b5fd94b19b5ea4759862aba67f4fb1
|
data/README.md
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
[](https://drone.io/github.com/opener-project/pos-tagger-fr/latest)
|
2
|
+
|
3
|
+
# French POS Tagger
|
4
|
+
|
5
|
+
This repository contains the source code for the French POS tagger of the
|
6
|
+
OpeNER project.
|
7
|
+
|
8
|
+
## Requirements
|
9
|
+
|
10
|
+
* Java 1.7 or newer
|
11
|
+
* Ruby 1.9.2 or newer
|
12
|
+
* Maven
|
13
|
+
* Bundler
|
14
|
+
|
15
|
+
## Installation
|
16
|
+
|
17
|
+
Using RubyGems:
|
18
|
+
|
19
|
+
gem install opener-pos-tagger-fr
|
20
|
+
|
21
|
+
Using Bundler:
|
22
|
+
|
23
|
+
gem 'opener-pos-tagger-fr',
|
24
|
+
:git => 'git@github.com/opener-project/pos-tagger-fr.git',
|
25
|
+
:branch => 'master'
|
26
|
+
|
27
|
+
Using specific install:
|
28
|
+
|
29
|
+
gem install specific_install
|
30
|
+
gem specific_install opener-pos-tagger-fr \
|
31
|
+
-l https://github.com/opener-project/pos-tagger-fr.git
|
32
|
+
|
33
|
+
## Usage
|
34
|
+
|
35
|
+
cat some_input_file.kaf | pos-tagger-fr
|
36
|
+
|
37
|
+
## Contributing
|
38
|
+
|
39
|
+
First make sure all the required dependencies are installed:
|
40
|
+
|
41
|
+
bundle install
|
42
|
+
|
43
|
+
Then compile the required Java code:
|
44
|
+
|
45
|
+
bundle exec rake java:compile
|
46
|
+
|
47
|
+
For this you'll need to have Java 1.7 and Maven installed. These requirements
|
48
|
+
are verified for you before the Rake task calls Maven.
|
49
|
+
|
50
|
+
## Testing
|
51
|
+
|
52
|
+
To run the tests (which are powered by Cucumber), simply run the following:
|
53
|
+
|
54
|
+
bundle exec rake
|
55
|
+
|
56
|
+
This will take care of verifying the requirements, installing the required Java
|
57
|
+
packages and running the tests.
|
58
|
+
|
59
|
+
For more information on the available Rake tasks run the following:
|
60
|
+
|
61
|
+
bundle exec rake -T
|
62
|
+
|
63
|
+
## Structure
|
64
|
+
|
65
|
+
This repository comes in two parts: a collection of Java source files and Ruby
|
66
|
+
source files. The Java code can be found in the `core/` directory, everything
|
67
|
+
else will be Ruby source code.
|
data/bin/pos-tagger-fr
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require_relative '../lib/opener/pos_taggers/fr'
|
4
|
+
|
5
|
+
# STDIN.tty? returns `false` if data is being piped into the current process.
|
6
|
+
if STDIN.tty?
|
7
|
+
input = nil
|
8
|
+
else
|
9
|
+
input = STDIN.read
|
10
|
+
end
|
11
|
+
|
12
|
+
kernel = Opener::POSTaggers::FR.new(:args => ARGV)
|
13
|
+
stdout, stderr, process = kernel.run(input)
|
14
|
+
|
15
|
+
if process.success?
|
16
|
+
puts stdout
|
17
|
+
|
18
|
+
STDERR.puts(stderr) unless stderr.empty?
|
19
|
+
else
|
20
|
+
abort stderr
|
21
|
+
end
|
Binary file
|
@@ -0,0 +1,81 @@
|
|
1
|
+
require 'open3'
|
2
|
+
require_relative 'fr/version'
|
3
|
+
|
4
|
+
module Opener
|
5
|
+
module POSTaggers
|
6
|
+
##
|
7
|
+
# The POS tagger that supports French.
|
8
|
+
#
|
9
|
+
# @!attribute [r] args
|
10
|
+
# @return [Array]
|
11
|
+
# @!attribute [r] options
|
12
|
+
# @return [Hash]
|
13
|
+
#
|
14
|
+
class FR
|
15
|
+
attr_reader :args, :options
|
16
|
+
|
17
|
+
##
|
18
|
+
# @param [Hash] options
|
19
|
+
#
|
20
|
+
# @option options [Array] :args The commandline arguments to pass to the
|
21
|
+
# underlying Python script.
|
22
|
+
#
|
23
|
+
def initialize(options = {})
|
24
|
+
@args = options.delete(:args) || []
|
25
|
+
@options = options
|
26
|
+
end
|
27
|
+
|
28
|
+
##
|
29
|
+
# Builds the command used to execute the kernel.
|
30
|
+
#
|
31
|
+
# @return [String]
|
32
|
+
#
|
33
|
+
def command
|
34
|
+
"java -jar #{kernel} -l #{lang} #{args.join(' ')}"
|
35
|
+
end
|
36
|
+
|
37
|
+
##
|
38
|
+
# Runs the command and returns the output of STDOUT, STDERR and the
|
39
|
+
# process information.
|
40
|
+
#
|
41
|
+
# @param [String] input The input to tag.
|
42
|
+
# @return [Array]
|
43
|
+
#
|
44
|
+
def run(input)
|
45
|
+
return Open3.capture3(command, :stdin_data => input)
|
46
|
+
end
|
47
|
+
|
48
|
+
protected
|
49
|
+
|
50
|
+
##
|
51
|
+
# @return [String]
|
52
|
+
#
|
53
|
+
def core_dir
|
54
|
+
File.expand_path("../../../core", File.dirname(__FILE__))
|
55
|
+
end
|
56
|
+
|
57
|
+
##
|
58
|
+
# @return [String]
|
59
|
+
#
|
60
|
+
def kernel
|
61
|
+
core_dir+'/target/Vicom-postagger_FR-0.9.jar'
|
62
|
+
end
|
63
|
+
|
64
|
+
def lang
|
65
|
+
'fr'
|
66
|
+
end
|
67
|
+
|
68
|
+
end # FR
|
69
|
+
end # POSTaggers
|
70
|
+
end # Opener
|
71
|
+
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require File.expand_path('../lib/opener/pos_taggers/fr/version', __FILE__)
|
2
|
+
|
3
|
+
Gem::Specification.new do |gem|
|
4
|
+
gem.name = "opener-pos-tagger-fr"
|
5
|
+
gem.version = Opener::POSTaggers::FR::VERSION
|
6
|
+
gem.authors = ["development@olery.com"]
|
7
|
+
gem.summary = "POS tagging for french"
|
8
|
+
gem.description = gem.summary
|
9
|
+
gem.homepage = "http://opener-project.github.com/"
|
10
|
+
gem.has_rdoc = "yard"
|
11
|
+
gem.required_ruby_version = ">= 1.9.2"
|
12
|
+
|
13
|
+
gem.files = Dir.glob([
|
14
|
+
'core/target/Vicom-postagger_FR-*.jar',
|
15
|
+
'lib/**/*',
|
16
|
+
'*.gemspec',
|
17
|
+
'README.md'
|
18
|
+
]).select { |file| File.file?(file) }
|
19
|
+
|
20
|
+
gem.executables = Dir.glob('bin/*').map { |file| File.basename(file) }
|
21
|
+
|
22
|
+
gem.add_dependency 'opener-build-tools'
|
23
|
+
|
24
|
+
gem.add_development_dependency 'rspec'
|
25
|
+
gem.add_development_dependency 'cucumber'
|
26
|
+
gem.add_development_dependency 'rake'
|
27
|
+
end
|
metadata
ADDED
@@ -0,0 +1,106 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: opener-pos-tagger-fr
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- development@olery.com
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-05-20 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: opener-build-tools
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rspec
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: cucumber
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
description: POS tagging for french
|
70
|
+
email:
|
71
|
+
executables:
|
72
|
+
- pos-tagger-fr
|
73
|
+
extensions: []
|
74
|
+
extra_rdoc_files: []
|
75
|
+
files:
|
76
|
+
- README.md
|
77
|
+
- bin/pos-tagger-fr
|
78
|
+
- core/target/Vicom-postagger_FR-0.9.jar
|
79
|
+
- lib/opener/pos_taggers/fr.rb
|
80
|
+
- lib/opener/pos_taggers/fr/version.rb
|
81
|
+
- opener-pos-tagger-fr.gemspec
|
82
|
+
homepage: http://opener-project.github.com/
|
83
|
+
licenses: []
|
84
|
+
metadata: {}
|
85
|
+
post_install_message:
|
86
|
+
rdoc_options: []
|
87
|
+
require_paths:
|
88
|
+
- lib
|
89
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
90
|
+
requirements:
|
91
|
+
- - ">="
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 1.9.2
|
94
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
95
|
+
requirements:
|
96
|
+
- - ">="
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
99
|
+
requirements: []
|
100
|
+
rubyforge_project:
|
101
|
+
rubygems_version: 2.2.2
|
102
|
+
signing_key:
|
103
|
+
specification_version: 4
|
104
|
+
summary: POS tagging for french
|
105
|
+
test_files: []
|
106
|
+
has_rdoc: yard
|