clause_extractor 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/matchers.rb +68 -0
  2. metadata +2 -1
data/lib/matchers.rb ADDED
@@ -0,0 +1,68 @@
1
+ #encoding: utf-8
2
+ pronouns = "(i|you|he|she|it|they|we|there)"
3
+ present_perfect = "(already|ever|for|just|never|since|yet)"
4
+ have_has = "(have|has|haven't|hasn't)"
5
+ was_were = "(were|was|wasn't|weren't)"
6
+ had = "([a-z]{1,4}'d|had)(n't)*"
7
+ have_has = "(have|has|haven't|hasn't|havent|hasnt|has not|have not)"
8
+ contractions = "(it'*s|he'*s|she'*s|[a-z]{1,4}'*ve)"
9
+ should = "should(n't)*"
10
+ to_be = "(am|are|'m|'re|'s|is|[a-z]{1,4}'re)"
11
+ will = "(will|won't|[a-z]{1,4}'ll)"
12
+ would = "(would(n't)*|[a-z]{1,4}'d)"
13
+
14
+ $tense_regexes = {
15
+
16
+ 'third' => {
17
+ "simple present" => [
18
+ /\b(he|she|it)\s+search(s)?\b/i, #he arrives
19
+ /\bsearch(s)?\s+(it|them|him|her|me|you|us)\b/i #adapts it
20
+ ]
21
+ },
22
+ 'infinitive' => {
23
+ "simple present" => [/\b((I|you|they|we|to)\s+)*+search\b/i],#to arrive
24
+
25
+ "subjunctive future" => [
26
+ /\bif\s+#{pronouns}\s+#{was_were}\s+(not\s+)*to\s+(not\s+)*search/i, #if I were to arise
27
+ /\bif\s+#{pronouns}\s+#{should}\s+(not\s+)*search/i #If I should arise
28
+ ],
29
+ "subjunctive present" => [ /\bthat\s+#{pronouns}\s+(not\s+)*search/i], #that we arrive
30
+ "conditional simple" => [ /\b(#{pronouns}\s+)*#{would}(\s+not)*\s+search/i], #I would arise, I wouldn't arise
31
+ "will-future" => [ /\b(#{pronouns}\s+)*#{will}(\s+not)*\s+search/i], #I'll arise
32
+ "going to-future" => [ /\b(#{pronouns}\s+)*#{to_be}\s+(not\s+)*going\s+to\s+search/i], #they are going to cry
33
+ },
34
+ 'gerund' => {
35
+ "conditional perfect progressive" => [ /\b(#{pronouns}\s+)*#{would}\s+(not\s+)*have\s+(not\s+)*been\s+search/i], #I would have been searching
36
+ "present perfect progressive" => [
37
+ /\b(#{have_has}\s+)(#{pronouns}\s+)*(not\s+)*(#{present_perfect}\s+)*been\s+search/i, #have they not been searching
38
+ /\b(#{pronouns}\s+)*#{have_has}*\s+(not\s+)*(#{present_perfect}\s+)*been\s+search/i #I have been searching
39
+ ],
40
+ "past perfect progressive" => [
41
+ /\b(#{pronouns}\s+)*#{had}\s(not\s+)*(#{present_perfect}\s+)*been\s+search/i, #I had been searching,
42
+ /\bhad(n't)*\s+(#{pronouns}\s+)*(not\s+)*(#{present_perfect}\s+)*been\s+search/i, #had he not been searching
43
+ ],
44
+ "conditional progressive" => [/\b(#{pronouns}\s+)*#{would}\s+(not\s+)*be\s+search/i], #I would be searching (I'd)
45
+ "future progressive" => [
46
+ /\b((#{pronouns})\s+)*#{will}\s+(not\s+)*be\s+search/i,
47
+ /\b#{will}\s+(#{pronouns}\s+)(not\s+)*be\s+search/i,
48
+ ], #I will be searching
49
+ "past progressive" => [/\b(#{pronouns}\s+)*#{was_were}*\s+(not\s+)*search/i], #I was searching
50
+ "present progressive" => [/\b(#{pronouns}\s*)*(#{to_be}\s+)*(not\s+)*search/i], #I'm rising
51
+ },
52
+ 'past-participle' => {
53
+ "conditional perfect" => [/\b(#{pronouns}\s+)*#{would}\s+(not\s+)*have\s+(not\s+)*search/i], #I would not search
54
+ "future perfect" => [/\b(#{pronouns}\s+)*#{will}\s+have\s+search/i], #I'll have arisen
55
+ "past perfect" => [
56
+ /\b(#{pronouns}\s+)*#{had}\s+(not\s+)*((#{present_perfect})\s+)*search/i, #I had arisen
57
+ /\b#{had}\s+(#{pronouns}\s+)*(not\s+)*((#{present_perfect})\s+)*search/i
58
+ ],
59
+ "present perfect" => [
60
+ /\b(#{pronouns}\s+)*#{have_has}\s+((#{present_perfect})\s+)*search/, #They have already seen
61
+ /\b#{have_has}\s+(#{pronouns}\s+)*(not\s+)*(#{present_perfect}\s+)*search/ #Have they already seen
62
+ ],
63
+ "subjunctive past" => [/\bif\s+#{pronouns}\s+search/i], #if I arose
64
+ "simple past" => [/\b#{pronouns}\s+search/i] #you chose
65
+ },
66
+ #"present perfect" => [/^\s*search\b/i], #arisen
67
+ #"simple past" => [/^\s*search\b/i] #arose
68
+ }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: clause_extractor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -19,6 +19,7 @@ extra_rdoc_files: []
19
19
  files:
20
20
  - lib/clause_extractor.rb
21
21
  - lib/conjugations.rb
22
+ - lib/matchers.rb
22
23
  homepage: https://github.com/mikefab/clause_extractor
23
24
  licenses: []
24
25
  post_install_message: