@valueerror/ltjs-lang-en 0.0.0-stage → 0.1.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.
Files changed (158) hide show
  1. package/LICENSE +232 -0
  2. package/NOTICE +10 -0
  3. package/README.md +25 -2
  4. package/index.js +34 -0
  5. package/licenses/LGPL-2.1.txt +504 -0
  6. package/licenses/english-pos-dict.pom.xml +135 -0
  7. package/licenses/resource_en_12dicts-readme.html +738 -0
  8. package/licenses/resource_en_agid-readme.txt +340 -0
  9. package/licenses/resource_en_pos-readme.txt +115 -0
  10. package/package.json +60 -4
  11. package/resource-root.js +4 -0
  12. package/resources/META-INF/org/languagetool/language-module.properties +1 -0
  13. package/resources/en-chunker.bin +0 -0
  14. package/resources/en-pos-maxent.bin +0 -0
  15. package/resources/en-token.bin +0 -0
  16. package/resources/org/languagetool/resource/en/12dicts-readme.html +738 -0
  17. package/resources/org/languagetool/resource/en/added.txt +446 -0
  18. package/resources/org/languagetool/resource/en/added_custom.txt +4 -0
  19. package/resources/org/languagetool/resource/en/agid-readme.txt +340 -0
  20. package/resources/org/languagetool/resource/en/compounds.txt +9059 -0
  21. package/resources/org/languagetool/resource/en/confusion_sets.txt +871 -0
  22. package/resources/org/languagetool/resource/en/disambiguation.xml +17238 -0
  23. package/resources/org/languagetool/resource/en/do-not-synthesize.txt +13 -0
  24. package/resources/org/languagetool/resource/en/en-US-GB.txt +4804 -0
  25. package/resources/org/languagetool/resource/en/en.sor +211 -0
  26. package/resources/org/languagetool/resource/en/english.dict +0 -0
  27. package/resources/org/languagetool/resource/en/english.info +8 -0
  28. package/resources/org/languagetool/resource/en/english_synth.dict +0 -0
  29. package/resources/org/languagetool/resource/en/english_synth.info +7 -0
  30. package/resources/org/languagetool/resource/en/english_tags.txt +88 -0
  31. package/resources/org/languagetool/resource/en/hunspell/en_AU.dict +0 -0
  32. package/resources/org/languagetool/resource/en/hunspell/en_AU.info +16 -0
  33. package/resources/org/languagetool/resource/en/hunspell/en_CA.dict +0 -0
  34. package/resources/org/languagetool/resource/en/hunspell/en_CA.info +13 -0
  35. package/resources/org/languagetool/resource/en/hunspell/en_GB.dict +0 -0
  36. package/resources/org/languagetool/resource/en/hunspell/en_GB.info +15 -0
  37. package/resources/org/languagetool/resource/en/hunspell/en_NZ.dict +0 -0
  38. package/resources/org/languagetool/resource/en/hunspell/en_NZ.info +18 -0
  39. package/resources/org/languagetool/resource/en/hunspell/en_US.dict +0 -0
  40. package/resources/org/languagetool/resource/en/hunspell/en_US.info +15 -0
  41. package/resources/org/languagetool/resource/en/hunspell/en_ZA.dict +0 -0
  42. package/resources/org/languagetool/resource/en/hunspell/en_ZA.info +16 -0
  43. package/resources/org/languagetool/resource/en/hunspell/ignore.txt +11070 -0
  44. package/resources/org/languagetool/resource/en/hunspell/prohibit.txt +383 -0
  45. package/resources/org/languagetool/resource/en/hunspell/prohibit_custom.txt +1 -0
  46. package/resources/org/languagetool/resource/en/hunspell/spelling.txt +477 -0
  47. package/resources/org/languagetool/resource/en/hunspell/spelling_custom.txt +1 -0
  48. package/resources/org/languagetool/resource/en/hunspell/spelling_en-AU.txt +34 -0
  49. package/resources/org/languagetool/resource/en/hunspell/spelling_en-CA.txt +28 -0
  50. package/resources/org/languagetool/resource/en/hunspell/spelling_en-GB.txt +44 -0
  51. package/resources/org/languagetool/resource/en/hunspell/spelling_en-NZ.txt +31 -0
  52. package/resources/org/languagetool/resource/en/hunspell/spelling_en-US.txt +41 -0
  53. package/resources/org/languagetool/resource/en/hunspell/spelling_en-ZA.txt +32 -0
  54. package/resources/org/languagetool/resource/en/hunspell/spelling_merged.txt +0 -0
  55. package/resources/org/languagetool/resource/en/multiwords.txt +8210 -0
  56. package/resources/org/languagetool/resource/en/pos-readme.txt +115 -0
  57. package/resources/org/languagetool/resource/en/removed.txt +31 -0
  58. package/resources/org/languagetool/resource/en/removed_custom.txt +4 -0
  59. package/resources/org/languagetool/resource/en/specific_case.txt +5621 -0
  60. package/resources/org/languagetool/resource/en/word_definitions.txt +1510 -0
  61. package/resources/org/languagetool/rules/en/coherency.txt +2501 -0
  62. package/resources/org/languagetool/rules/en/contractions.txt +198 -0
  63. package/resources/org/languagetool/rules/en/det_a.txt +959 -0
  64. package/resources/org/languagetool/rules/en/det_an.txt +4080 -0
  65. package/resources/org/languagetool/rules/en/diacritics.txt +1415 -0
  66. package/resources/org/languagetool/rules/en/en-AU/grammar.xml +171 -0
  67. package/resources/org/languagetool/rules/en/en-CA/grammar.xml +197 -0
  68. package/resources/org/languagetool/rules/en/en-GB/grammar.xml +555 -0
  69. package/resources/org/languagetool/rules/en/en-GB/replace.txt +104 -0
  70. package/resources/org/languagetool/rules/en/en-GB/style.xml +302 -0
  71. package/resources/org/languagetool/rules/en/en-NZ/grammar.xml +171 -0
  72. package/resources/org/languagetool/rules/en/en-NZ/replace.txt +5 -0
  73. package/resources/org/languagetool/rules/en/en-US/grammar.xml +913 -0
  74. package/resources/org/languagetool/rules/en/en-US/replace.txt +74 -0
  75. package/resources/org/languagetool/rules/en/en-US/style.xml +524 -0
  76. package/resources/org/languagetool/rules/en/grammar-l2-de.xml +227 -0
  77. package/resources/org/languagetool/rules/en/grammar-l2-fr.xml +39 -0
  78. package/resources/org/languagetool/rules/en/grammar.xml +142537 -0
  79. package/resources/org/languagetool/rules/en/redundancies.txt +866 -0
  80. package/resources/org/languagetool/rules/en/remote-rule-filters.xml +3622 -0
  81. package/resources/org/languagetool/rules/en/replace.txt +221 -0
  82. package/resources/org/languagetool/rules/en/replace_custom.txt +7 -0
  83. package/resources/org/languagetool/rules/en/replace_profanity.txt +540 -0
  84. package/resources/org/languagetool/rules/en/style.xml +12556 -0
  85. package/resources/org/languagetool/rules/en/synonyms.txt +42 -0
  86. package/resources/org/languagetool/rules/en/wordiness.txt +1061 -0
  87. package/resources/org/languagetool/rules/en/wrongWordInContext.txt +14 -0
  88. package/src/lang/en/chunking/EnglishChunkFilter.js +108 -0
  89. package/src/lang/en/chunking/EnglishChunker.js +135 -0
  90. package/src/lang/en/language/AmericanEnglish.js +73 -0
  91. package/src/lang/en/language/AustralianEnglish.js +42 -0
  92. package/src/lang/en/language/BritishEnglish.js +91 -0
  93. package/src/lang/en/language/CanadianEnglish.js +70 -0
  94. package/src/lang/en/language/English.js +398 -0
  95. package/src/lang/en/language/NewZealandEnglish.js +44 -0
  96. package/src/lang/en/language/SouthAfricanEnglish.js +40 -0
  97. package/src/lang/en/language/id2prioBritishEnglish.js +6 -0
  98. package/src/lang/en/language/id2prioEnglish.js +333 -0
  99. package/src/lang/en/rules/AbstractEnglishSpellerRule.js +677 -0
  100. package/src/lang/en/rules/AbstractEnglishSpellerRuleData.js +778 -0
  101. package/src/lang/en/rules/AdvancedSynthesizerFilter.js +12 -0
  102. package/src/lang/en/rules/AdverbFilter.js +538 -0
  103. package/src/lang/en/rules/AmericanReplaceRule.js +57 -0
  104. package/src/lang/en/rules/AvsAnData.js +37 -0
  105. package/src/lang/en/rules/AvsAnRule.js +182 -0
  106. package/src/lang/en/rules/BritishReplaceRule.js +57 -0
  107. package/src/lang/en/rules/CompoundRule.js +150 -0
  108. package/src/lang/en/rules/ConsistentApostrophesRule.js +87 -0
  109. package/src/lang/en/rules/ContractionSpellingRule.js +64 -0
  110. package/src/lang/en/rules/DateCheckFilter.js +58 -0
  111. package/src/lang/en/rules/DateFilterHelper.js +51 -0
  112. package/src/lang/en/rules/EnglishConvertToSentenceCaseFilter.js +17 -0
  113. package/src/lang/en/rules/EnglishDashRule.js +42 -0
  114. package/src/lang/en/rules/EnglishDiacriticsRule.js +67 -0
  115. package/src/lang/en/rules/EnglishMultitokenSpeller.js +15 -0
  116. package/src/lang/en/rules/EnglishNumberInWordFilter.js +38 -0
  117. package/src/lang/en/rules/EnglishPartialPosTagFilter.js +29 -0
  118. package/src/lang/en/rules/EnglishPlainEnglishRule.js +67 -0
  119. package/src/lang/en/rules/EnglishRedundancyRule.js +67 -0
  120. package/src/lang/en/rules/EnglishRepeatedWordsRule.js +212 -0
  121. package/src/lang/en/rules/EnglishSpecificCaseRule.js +47 -0
  122. package/src/lang/en/rules/EnglishSuppressMisspelledSuggestionsFilter.js +12 -0
  123. package/src/lang/en/rules/EnglishUnpairedBracketsRule.js +25 -0
  124. package/src/lang/en/rules/EnglishUnpairedQuotesRule.js +41 -0
  125. package/src/lang/en/rules/EnglishWordRepeatBeginningRule.js +107 -0
  126. package/src/lang/en/rules/EnglishWordRepeatRule.js +126 -0
  127. package/src/lang/en/rules/EnglishWrongWordInContextRule.js +50 -0
  128. package/src/lang/en/rules/FindSuggestionsFilter.js +41 -0
  129. package/src/lang/en/rules/FutureDateFilter.js +25 -0
  130. package/src/lang/en/rules/LongSentenceRule.js +19 -0
  131. package/src/lang/en/rules/MorfologikAmericanSpellerRule.js +69 -0
  132. package/src/lang/en/rules/MorfologikAustralianSpellerRule.js +45 -0
  133. package/src/lang/en/rules/MorfologikBritishSpellerRule.js +47 -0
  134. package/src/lang/en/rules/MorfologikCanadianSpellerRule.js +45 -0
  135. package/src/lang/en/rules/MorfologikNewZealandSpellerRule.js +45 -0
  136. package/src/lang/en/rules/MorfologikSouthAfricanSpellerRule.js +45 -0
  137. package/src/lang/en/rules/NewYearDateFilter.js +25 -0
  138. package/src/lang/en/rules/NewZealandReplaceRule.js +56 -0
  139. package/src/lang/en/rules/NoDisambiguationEnglishPartialPosTagFilter.js +24 -0
  140. package/src/lang/en/rules/OrdinalSuffixFilter.js +33 -0
  141. package/src/lang/en/rules/SimpleReplaceProfanityRule.js +55 -0
  142. package/src/lang/en/rules/SimpleReplaceRule.js +46 -0
  143. package/src/lang/en/rules/StyleTooOftenUsedAdjectiveRule.js +58 -0
  144. package/src/lang/en/rules/StyleTooOftenUsedNounRule.js +58 -0
  145. package/src/lang/en/rules/StyleTooOftenUsedVerbRule.js +58 -0
  146. package/src/lang/en/rules/UnitConversionRule.js +47 -0
  147. package/src/lang/en/rules/UnitConversionRuleImperial.js +57 -0
  148. package/src/lang/en/rules/UnitConversionRuleUS.js +62 -0
  149. package/src/lang/en/rules/VariantInfo.js +23 -0
  150. package/src/lang/en/rules/WordCoherencyRule.js +40 -0
  151. package/src/lang/en/rules/YMDDateCheckFilter.js +25 -0
  152. package/src/lang/en/rules/YMDNewYearDateFilter.js +25 -0
  153. package/src/lang/en/rules/translation/BeoLingusTranslator.js +357 -0
  154. package/src/lang/en/rules/translation/Inflector.js +72 -0
  155. package/src/lang/en/synthesis/EnglishSynthesizer.js +109 -0
  156. package/src/lang/en/tagging/EnglishHybridDisambiguator.js +28 -0
  157. package/src/lang/en/tagging/EnglishTagger.js +78 -0
  158. package/src/lang/en/tokenizers/EnglishWordTokenizer.js +113 -0
@@ -0,0 +1,3622 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <?xml-stylesheet type="text/xsl" href="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/print.xsl" ?>
3
+ <?xml-stylesheet type="text/css" href="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/rules.css" title="Easy editing stylesheet" ?>
4
+ <!--
5
+ LanguageTool, a natural language style checker
6
+ Copyright (C) 2020 Fabian Richter
7
+
8
+ This library is free software; you can redistribute it and/or
9
+ modify it under the terms of the GNU Lesser General Public
10
+ License as published by the Free Software Foundation; either
11
+ version 2.1 of the License, or (at your option) any later version.
12
+
13
+ This library is distributed in the hope that it will be useful,
14
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
+ Lesser General Public License for more details.
17
+
18
+ You should have received a copy of the GNU Lesser General Public
19
+ License along with this library; if not, write to the Free Software
20
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
21
+ USA
22
+ -->
23
+
24
+ <!--
25
+ Filter for remote matches.
26
+ To ignore a remote rule match, set the <marker> so that it exactly covers the text underlined by the remote rule.
27
+ -->
28
+ <!DOCTYPE rules [
29
+ <!ENTITY apostrophe "['’`´‘ʻ]">
30
+ <!ENTITY quote '["“”„]'>
31
+ <!ENTITY hyphen "(?:[–\-—])">
32
+ <!ENTITY non_english '[ÀàÁáÅåĀāĂ㥹ÆĆćĈĉĊċČčÇçĎďĐđĒēĔĕĖėĘęĚěëĜĝĞğĠġĢģĤĥĦħİĨĩĪīĬĭĮįıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłÑñŃńŅņŇňʼnŊŋÒòÓóØøŌōŎŏŐőÖöŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя]'>
33
+ <!ENTITY months "January|February|March|April|May|Ju(ne|ly)|August|September|October|November|December">
34
+ <!ENTITY abbrevMonths "Jan|Feb|Mar|Apr|Ju[ln]|Aug|Sept?|Oct|Nov|Dec">
35
+ <!ENTITY weekdays "Monday|Wednesday|T(ue|hur)sday|Friday|S(atur|un)day">
36
+ <!ENTITY abbrevWeekdays "Mon?|Tu(e|es)?|We(d|ds)?|Th(u|ur|urs)?|Fri?|Sat?|Sun?">
37
+ <!ENTITY plural_singular_nouns_2 "accused|army|audience|club|community|council|(counter)?party|couple|duo|faculty|family|following|former|innocent|latter|majority|management|minority|pair|poor|public|remainder|rest|rich|staff|team|trio|youth">
38
+ ]>
39
+ <rules lang="en" xsi:noNamespaceSchemaLocation="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/rules/remote-rules.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
40
+ <category name="Machine learning rules" id="AI_RULES">
41
+ <rulegroup id="QB_NEW_EN_OTHER.*" name="">
42
+ <rule>
43
+ <pattern>
44
+ <token postag="SENT_START" />
45
+ <token regexp="yes" skip="-1">[*\u2022]</token>
46
+ <marker>
47
+ <token postag="SENT_END" regexp="yes" case_sensitive="yes">.*[a-z0-9].*</token>
48
+ </marker>
49
+ </pattern>
50
+ <example correction="">• I'm a bullet <marker>point</marker></example>
51
+ </rule>
52
+ <rule>
53
+ <pattern>
54
+ <marker>
55
+ <token>(</token>
56
+ <token spacebefore="no" skip="-1">=</token>
57
+ </marker>
58
+ <token>)</token>
59
+ </pattern>
60
+ <example correction="">Remove test setup and roll out test2 to all users <marker>(=</marker> make it the default).</example>
61
+ </rule>
62
+ <rule>
63
+ <!-- # No commas after twitter handles e.g. @jack -->
64
+ <pattern>
65
+ <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
66
+ <marker>
67
+ <token regexp="yes">@[a-z0-9_-]+</token>
68
+ </marker>
69
+ <token regexp="yes">.*[a-z0-9].*</token>
70
+ </pattern>
71
+ <example correction=""><marker>@jack</marker> you are right.</example>
72
+ </rule>
73
+ <rule>
74
+ <!-- # No commas after twitter handles e.g. @jack -->
75
+ <pattern>
76
+ <token regexp="yes">@[a-z0-9_-]+</token>
77
+ <token regexp="yes">.*[a-z0-9].*</token>
78
+ </pattern>
79
+ <example correction=""><marker>@jack you</marker> are right.</example>
80
+ </rule>
81
+ <rule>
82
+ <!-- # No commas after twitter handles e.g. @jack -->
83
+ <pattern>
84
+ <token regexp="yes">@[a-z0-9_-]+</token>
85
+ <token regexp="yes">.*[a-z0-9].*</token>
86
+ <token regexp="yes" spacebefore="no">'[a-z]+</token>
87
+ </pattern>
88
+ <example correction=""><marker>@jack I'm</marker> here.</example>
89
+ </rule>
90
+ <rule>
91
+ <!-- # No commas after twitter handles e.g. @jack -->
92
+ <pattern>
93
+ <marker>
94
+ <token regexp="yes">@[a-z0-9_-]+</token>
95
+ <token spacebefore="no">.</token>
96
+ <token regexp="yes" spacebefore="no">[a-z0-9_-]+</token>
97
+ </marker>
98
+ <token regexp="yes">.*[a-z0-9].*</token>
99
+ </pattern>
100
+ <example correction=""><marker>@jack.smith</marker> you are right.</example>
101
+ </rule>
102
+ <rule>
103
+ <!-- # No commas after twitter handles e.g. @jack -->
104
+ <pattern>
105
+ <token regexp="yes">@[a-z0-9_-]+</token>
106
+ <token spacebefore="no">.</token>
107
+ <token regexp="yes" spacebefore="no">[a-z0-9_-]+</token>
108
+ <token regexp="yes">.*[a-z0-9].*</token>
109
+ </pattern>
110
+ <example correction=""><marker>@jack.smith you</marker> are right.</example>
111
+ </rule>
112
+ <rule>
113
+ <!-- # No commas after twitter handles e.g. @jack -->
114
+ <pattern>
115
+ <token regexp="yes">@[a-z0-9_-]+</token>
116
+ <token spacebefore="no">.</token>
117
+ <token regexp="yes" spacebefore="no">[a-z0-9_-]+</token>
118
+ <token regexp="yes">.*[a-z0-9].*</token>
119
+ <token regexp="yes" spacebefore="no">'[a-z]+</token>
120
+ </pattern>
121
+ <example correction=""><marker>@jack.smith I'm</marker> here.</example>
122
+ </rule>
123
+ <rule>
124
+ <!-- # No commas after twitter handles e.g. @Jessia Schwarz -->
125
+ <pattern>
126
+ <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
127
+ <marker>
128
+ <token regexp="yes" case_sensitive="yes">@[A-Z].+</token>
129
+ <token regexp="yes" case_sensitive="yes">[A-Z].+</token>
130
+ <token regexp="yes">.*[a-z0-9].*</token>
131
+ </marker>
132
+ </pattern>
133
+ <example correction=""><marker>@Jessica Schwarz could</marker> you have a look?</example>
134
+ </rule>
135
+ <rule>
136
+ <!-- # No commas after twitter handles e.g. @Jessia Schwarz -->
137
+ <pattern>
138
+ <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
139
+ <marker>
140
+ <token regexp="yes" case_sensitive="yes">@[A-Z].+</token>
141
+ <token regexp="yes" case_sensitive="yes">[A-Z].+</token>
142
+ <token regexp="yes">.*[a-z0-9].*</token>
143
+ <token regexp="yes" spacebefore="no">'[a-z]+</token>
144
+ </marker>
145
+ </pattern>
146
+ <example correction=""><marker>@Jessica Schwarz I'm</marker> here.</example>
147
+ </rule>
148
+ <rule>
149
+ <!-- # No commas after twitter handles e.g. @Jessia Schwarz -->
150
+ <pattern>
151
+ <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
152
+ <token regexp="yes" case_sensitive="yes">@[A-Z].+</token>
153
+ <marker>
154
+ <token regexp="yes" case_sensitive="yes">[A-Z].+</token>
155
+ </marker>
156
+ </pattern>
157
+ <example correction="">@Jessica <marker>Schwarz</marker> could you have a look?</example>
158
+ </rule>
159
+ <rule>
160
+ <!-- # No commas after twitter handles e.g. @Jessia Schwarz -->
161
+ <pattern>
162
+ <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
163
+ <marker>
164
+ <token regexp="yes" case_sensitive="yes">@[A-Z].+</token>
165
+ <token regexp="yes">v[oa]n|del</token>
166
+ <token regexp="yes" min="0">der?</token>
167
+ <token regexp="yes" case_sensitive="yes">[A-Z].+</token>
168
+ <token regexp="yes">.*[a-z0-9].*</token>
169
+ <token regexp="yes" spacebefore="no">'[a-z]+</token>
170
+ </marker>
171
+ </pattern>
172
+ <example correction=""><marker>@Jessica van der Heet I'm</marker> here.</example>
173
+ </rule>
174
+ <rule>
175
+ <!-- # No commas after twitter handles e.g. @Jessia Schwarz -->
176
+ <pattern>
177
+ <token postag="SENT_START" />
178
+ <token regexp="yes" case_sensitive="yes">@[A-Z].+</token>
179
+ <token regexp="yes">v[oa]n|del</token>
180
+ <token regexp="yes" min="0">der?</token>
181
+ <marker>
182
+ <token regexp="yes" case_sensitive="yes">[A-Z].+</token>
183
+ </marker>
184
+ </pattern>
185
+ <example correction="">@Jessica van der <marker>Heet</marker> could you have a look?</example>
186
+ </rule>
187
+ </rulegroup>
188
+ <rulegroup id="AI_HYDRA_LEO_CP_ME_MY" name="">
189
+ <rule> <!-- acronyms -->
190
+ <pattern>
191
+ <token case_sensitive="yes">ME</token>
192
+ </pattern>
193
+ <example correction="">I believe we should proceed with <marker>ME</marker> replacement.</example>
194
+ </rule>
195
+ <rule> <!-- idiomatic -->
196
+ <pattern>
197
+ <marker>
198
+ <token>me</token>
199
+ </marker>
200
+ <token regexp="yes">darlings?|time</token>
201
+ </pattern>
202
+ <example correction="">Why don't you say so, <marker>me</marker> darling?</example>
203
+ <example correction="">I can get a bit childish about <marker>me</marker> time, but it's important to me.</example>
204
+ </rule>
205
+ <rule> <!-- quotes I -->
206
+ <pattern>
207
+ <token skip="15" regexp="yes">&quote;</token>
208
+ <marker>
209
+ <token skip="15">me</token>
210
+ </marker>
211
+ <token regexp="yes">&quote;</token>
212
+ </pattern>
213
+ <example correction="">...e “carving out <marker>me</marker> identity” show...</example>
214
+ </rule>
215
+ </rulegroup>
216
+ <rulegroup id="AI_HYDRA_LEO_CPT_TI_IT" name="">
217
+ <rule>
218
+ <pattern>
219
+ <token>.</token>
220
+ <marker>
221
+ <token spacebefore="no">ti</token>
222
+ </marker>
223
+ </pattern>
224
+ <example correction="">It's available on Atlas.<marker>ti</marker>.</example>
225
+ </rule>
226
+ <rule>
227
+ <pattern>
228
+ <marker>
229
+ <token>ti</token>
230
+ </marker>
231
+ <token spacebefore="no">.</token>
232
+ <token spacebefore="no" regexp="yes">.*[a-z0-9].*</token>
233
+ </pattern>
234
+ <example correction=""><marker>ti</marker>.mark</example>
235
+ </rule>
236
+ <rule>
237
+ <pattern>
238
+ <token regexp="yes">para|p[uo]r|de|en</token>
239
+ <marker>
240
+ <token>ti</token>
241
+ </marker>
242
+ </pattern>
243
+ <example correction="">Para <marker>ti</marker>.</example>
244
+ </rule>
245
+ </rulegroup>
246
+ <rulegroup id="AI_EN_LECTOR_REPLACEMENT_VERB_TENSE" name="">
247
+ <rule>
248
+ <pattern>
249
+ <token chunk="B-NP-singular" />
250
+ <token chunk="E-NP-singular" />
251
+ <marker>
252
+ <token>confirm</token>
253
+ </marker>
254
+ <token min="0" postag="RB" />
255
+ <token postag="VB[DZ]" postag_regexp="yes" chunk="B-VP" />
256
+ </pattern>
257
+ <example correction="">The broker <marker>confirm</marker> indicates we sold the swap.</example>
258
+ </rule>
259
+ <rule>
260
+ <pattern>
261
+ <token>.</token>
262
+ <token>.</token>
263
+ <token>.</token>
264
+ <marker>
265
+ <token postag="VB." postag_regexp="yes"/>
266
+ </marker>
267
+ </pattern>
268
+ <example correction="">You like... <marker>ate</marker> my emotions?</example>
269
+ <example correction="">I... <marker>write</marker> all that intense poetry about the end, and here I am again.</example>
270
+ </rule>
271
+ <rule>
272
+ <pattern>
273
+ <token>did</token>
274
+ <token chunk_re="B-NP-.*"/>
275
+ <token min="0" chunk_re="I-NP-.*"/>
276
+ <token min="0" chunk_re="E-NP-.*"/>
277
+ <marker>
278
+ <token postag="VB"/>
279
+ </marker>
280
+ </pattern>
281
+ <example correction="">Did you <marker>pick</marker> one yet?</example>
282
+ </rule>
283
+ <rule>
284
+ <pattern>
285
+ <token regexp="yes">it|that|this/</token>
286
+ <marker>
287
+ <token>is</token>
288
+ </marker>
289
+ <token regexp="yes">n.t</token>
290
+ <token>what</token>
291
+ <token postag="PRP"/>
292
+ <token>was</token>
293
+ <token>looking</token>
294
+ <token postag="IN"/>
295
+ </pattern>
296
+ <example correction="">It <marker>is</marker>n't what I was looking for.</example>
297
+ <example correction="">That <marker>is</marker>n't what I was looking at.</example>
298
+ </rule>
299
+ <rule>
300
+ <pattern>
301
+ <token inflected="yes" chunk="B-VP">do</token>
302
+ <token min="0" max="2" postag="RB" chunk="I-VP" />
303
+ <marker>
304
+ <token postag="VB" chunk="I-VP" />
305
+ </marker>
306
+ </pattern>
307
+ <example correction="">We did just <marker>see</marker> the film.</example>
308
+ </rule>
309
+ <rule>
310
+ <pattern>
311
+ <token postag="SENT_START" />
312
+ <token min="1" max="3" chunk_re="[BI]-NP-singular" />
313
+ <token postag="NN" chunk="E-NP-singular" />
314
+ <token min="0" postag="RB" />
315
+ <marker>
316
+ <token postag="VBZ" chunk_re=".-VP" />
317
+ </marker>
318
+ </pattern>
319
+ <example correction="">The bus <marker>has</marker> already departed from the station.</example>
320
+ </rule>
321
+ </rulegroup>
322
+ <rulegroup id="AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT" name="">
323
+ <rule>
324
+ <pattern>
325
+ <token regexp="yes">t?here</token>
326
+ <token min="0" postag="RB" />
327
+ <marker>
328
+ <token skip="2">are</token>
329
+ </marker>
330
+ <token postag="NNS" chunk="E-NP-plural" />
331
+ <token skip="2">of</token>
332
+ <token postag="NN:UN?" postag_regexp="yes" chunk="E-NP-plural" />
333
+ </pattern>
334
+ <example correction="">There <marker>are</marker> tons of useful data generated by users.</example>
335
+ </rule>
336
+ <rule>
337
+ <pattern>
338
+ <token postag="WRB" />
339
+ <token inflected="yes">do</token>
340
+ <token min="1" max="3" chunk_re="[BI]-NP.*" />
341
+ <marker>
342
+ <token postag="VB" />
343
+ </marker>
344
+ </pattern>
345
+ <example correction="">I want to understand how does permission mapping <marker>work</marker> for bind mounts of a rootless Docker container running on Windows 11 using Docker Desktop.</example>
346
+ </rule>
347
+ <rule> <!-- former/latter/etc. -->
348
+ <pattern>
349
+ <token regexp="yes" chunk="E-NP-singular">&plural_singular_nouns_2;</token>
350
+ <token min="0" postag="RB" />
351
+ <marker>
352
+ <token postag="VBP" chunk_re=".-VP" />
353
+ </marker>
354
+ </pattern>
355
+ <example correction="">The latter <marker>do</marker>n't need to be taken into account.</example>
356
+ <example correction="">The former <marker>are</marker> not as strong as the latter, though.</example>
357
+ </rule>
358
+ <rule>
359
+ <pattern>
360
+ <token regexp="yes">you|we|they</token>
361
+ <marker>
362
+ <token>were</token>
363
+ </marker>
364
+ </pattern>
365
+ <example correction="">I texted him, and he said that you <marker>were</marker> doing his banking.</example>
366
+ </rule>
367
+ <rule>
368
+ <pattern>
369
+ <token regexp="yes">is|['a]re|was|were</token>
370
+ <marker>
371
+ <token postag="VBP?" postag_regexp="yes">
372
+ <exception negate_pos="yes" postag="VBP?" postag_regexp="yes" />
373
+ </token>
374
+ </marker>
375
+ </pattern>
376
+ <example correction="">Each terms are <marker>correspond</marker> to the points 15° points along the ecliptic. </example>
377
+ </rule>
378
+ <rule>
379
+ <pattern>
380
+ <token postag="SENT_START" />
381
+ <token chunk="B-NP-singular">
382
+ <exception postag="MD" />
383
+ <exception regexp="yes">th[eo]se</exception>
384
+ </token>
385
+ <token min="0" max="3" chunk="I-NP-singular">
386
+ <exception postag="CC" />
387
+ </token>
388
+ <token chunk="E-NP-singular">
389
+ <exception postag="NNPS" />
390
+ <exception regexp="yes">phragmites|youth</exception>
391
+ </token>
392
+ <token min="0" postag="RB" />
393
+ <marker>
394
+ <token postag="VBZ" chunk="B-VP" />
395
+ </marker>
396
+ </pattern>
397
+ <example correction="">The rule <marker>looks</marker> good!</example>
398
+ <example correction="">The cloud <marker>is</marker> grey.</example>
399
+ <example correction="">An American <marker>is</marker> generous.</example>
400
+ <example correction="">My hand <marker>is</marker> too full!</example>
401
+ <example correction="">Our meeting rarely <marker>starts</marker> on time.</example>
402
+ <example correction="">Huge spot market purchasing requirement <marker>causes</marker> utilities to take large short positions into real time, creating reliability problems.</example>
403
+ <example>Gaming headset and control pad enables both voice commands and voice chat during game play.</example>
404
+ <example>The Persians focuses on the popular Greek theme of hubris by blaming Persia's loss on the pride of its king.</example>
405
+ <example>These spillage causes a lot of havoc to inhabitants of the community and hence contracts are awarded especially to foreign firms to clean and mop up the spilled crude oil from the areas affected.</example>
406
+ <example>The invasive reed Phragmites has been steadily overtaking a marsh scientists are studying.</example>
407
+ <example>The youth is in love with technology.</example>
408
+ <example>Dick and Sandy Giese has just sent you a greeting card from Bluemountain.com.</example>
409
+ <example>SoCal and Davis has yet to give their support.</example>
410
+ <example>Their scope and shape is unclear.</example>
411
+ <example>May god gives you wisdom.</example>
412
+ </rule>
413
+ <rule>
414
+ <pattern>
415
+ <or>
416
+ <token postag="SENT_START" />
417
+ <token regexp="yes">when|where|why</token>
418
+ </or>
419
+ <token postag="NN(P|:UN)" postag_regexp="yes" chunk="E-NP-singular" />
420
+ <token min="0" postag="RB" />
421
+ <marker>
422
+ <token postag="VBZ" chunk="B-VP" />
423
+ </marker>
424
+ </pattern>
425
+ <example correction="">Habit <marker>converts</marker> luxurious enjoyments into dull and daily necessities.</example>
426
+ <example correction="">Antiperspirant <marker>is</marker> useful.</example>
427
+ <example correction="">Berber <marker>is</marker> struggling to survive.</example>
428
+ <example correction="">There are also calls where substance <marker>is</marker> discussed.</example>
429
+ </rule>
430
+ <rule>
431
+ <pattern>
432
+ <or>
433
+ <token postag="CC" />
434
+ <token>that</token>
435
+ </or>
436
+ <token>it</token>
437
+ <token min="0" postag="RB" />
438
+ <marker>
439
+ <token postag="VBZ" chunk="B-VP" />
440
+ </marker>
441
+ </pattern>
442
+ <example correction="">I want that it <marker>distracts</marker> them while I do what I have to do.</example>
443
+ <example correction="">Perhaps more important, The Washington Times National Weekly Edition reports stories the liberal news media intentionally ignores because it <marker>does</marker> not fit their version of the news.</example>
444
+ <example correction="">The CoE currently sends out forecasts of water flow but it <marker>is</marker> not accurate.</example>
445
+ </rule>
446
+ <rule>
447
+ <pattern>
448
+ <token regexp="yes">n?or</token>
449
+ <token min="0" max="3" chunk_re="[BI]-NP-singular" />
450
+ <token postag="NN(P|:UN?)?" postag_regexp="yes" chunk="E-NP-singular" />
451
+ <token min="0" postag="RB" />
452
+ <marker>
453
+ <token postag="VBZ" chunk="B-VP" />
454
+ </marker>
455
+ </pattern>
456
+ <example correction="">Neither Tom nor Mary <marker>has</marker> played a lot of basketball.</example>
457
+ </rule>
458
+ <rule>
459
+ <pattern>
460
+ <token regexp="yes">it|s?he</token>
461
+ <marker>
462
+ <token>has</token>
463
+ </marker>
464
+ </pattern>
465
+ <example correction="">Okay, it <marker>has</marker> changed my mind.</example>
466
+ </rule>
467
+ </rulegroup>
468
+ <rulegroup id="AI_EN_LECTOR_MISSING_DETERMINER" name="">
469
+ <rule>
470
+ <pattern>
471
+ <token chunk="B-PP" />
472
+ <token min="0" max="3" chunk_re="[BI]-NP.*" />
473
+ <token chunk_re="E-NP.*" />
474
+ <token min="0">,</token>
475
+ <marker>
476
+ <token postag="VBN" chunk="B-VP" />
477
+ </marker>
478
+ <token min="0" postag="RB" />
479
+ <token>as</token>
480
+ <token><exception>expected</exception></token>
481
+ </pattern>
482
+ <example correction="">It happened also with this app, <marker>started</marker> as container:</example>
483
+ <example>In previous versions worked as expected</example>
484
+ </rule>
485
+ </rulegroup>
486
+ <rulegroup id="AI_EN_LECTOR_MISSING_DETERMINER_THE" name="">
487
+ <rule> <!-- incorrect capitalization -->
488
+ <antipattern>
489
+ <token>
490
+ <exception postag="NNP" />
491
+ <exception>FYI</exception>
492
+ </token>
493
+ <token postag="," />
494
+ <token regexp="yes" case_sensitive="yes" postag="V.*" postag_regexp="yes">[A-Z][a-z]+</token>
495
+ </antipattern>
496
+ <pattern>
497
+ <token postag="," />
498
+ <marker>
499
+ <token regexp="yes" case_sensitive="yes" postag="V.*" postag_regexp="yes">[A-Z][a-z]+</token>
500
+ </marker>
501
+ <token regexp="yes" case_sensitive="yes">[a-z]+</token>
502
+ </pattern>
503
+ <example correction="">FYI, <marker>Attached</marker> document is a specification of the network design optimization program.</example>
504
+ <example correction="">Mike, <marker>Following</marker> request has been made for a number of people.</example>
505
+ </rule>
506
+ </rulegroup>
507
+ <rulegroup id="AI_EN_LECTOR_MISSING_PUNCTUATION" name="">
508
+ <rule>
509
+ <pattern>
510
+ <token regexp="yes">[a-z]+['’`´‘ʻ]</token>
511
+ <marker>
512
+ <token regexp="yes">[,\?]|and|&quote;</token>
513
+ </marker>
514
+ </pattern>
515
+ <example correction="">Spears was also sued by Louis Vuitton over her 2005 music video "Do Somethin'<marker>"</marker> for upholstering her Hummer interior in counterfeit Louis Vuitton cherry blossom fabric, which resulted in her video being banned on European TV stations.</example>
516
+ <example correction="">The album's introduction single, "It Ain't Nothin'<marker>"</marker> was released as a free download from the group's official website.</example>
517
+ <example correction="">The second single, "Do Somethin'<marker>"</marker>, was a top ten hit in Australia, the United Kingdom and other countries of mainland Europe.</example>
518
+ <example correction="">You think I'm stupid or somethin'<marker>,</marker> is that it?</example>
519
+ <example correction="">Her limping around or somethin'<marker>?</marker></example>
520
+ <example correction="">Now I'm going to tell you somethin' <marker>and</marker> you listen close here.</example>
521
+ </rule>
522
+ <rule>
523
+ <pattern>
524
+ <marker>
525
+ <token skip="-1" regexp="yes">&quote;</token>
526
+ </marker>
527
+ <token regexp="yes">&quote;</token>
528
+ <token>)</token>
529
+ </pattern>
530
+ <example correction="">Cavitation is the formation of vapour cavities in a liquidi.e. small liquid-free zones ("bubbles" or <marker>"</marker>voids")that are the consequence of forces acting upon the liquid.</example>
531
+ <example correction="">...pecifically, modern demagogic/populist (<marker>"</marker>volkist")-oriented Germany and Germans. ...</example>
532
+ </rule>
533
+ <rule>
534
+ <pattern>
535
+ <marker>
536
+ <token>#</token>
537
+ </marker>
538
+ <token>'s</token>
539
+ </pattern>
540
+ <example correction="">Jessica, add Delainey's <marker>#</marker>'s... and here are Lavorato's...</example>
541
+ </rule>
542
+ <rule>
543
+ <pattern>
544
+ <token skip="-1">)
545
+ <exception scope="next">(</exception>
546
+ </token>
547
+ <marker>
548
+ <token>)</token>
549
+ </marker>
550
+ </pattern>
551
+ <example correction="">...e with the molten beryllocene (Be(C5H5)2<marker>)</marker> at about 70 °C. </example>
552
+ </rule>
553
+ <rule>
554
+ <pattern>
555
+ <token skip="-1" postag="SENT_START">
556
+ <exception scope="next" regexp="yes">&quote;</exception>
557
+ </token>
558
+ <marker>
559
+ <token regexp="yes" postag="SENT_END">\.|\?</token>
560
+ </marker>
561
+ </pattern>
562
+ <example correction="">Tom said you're not happy here<marker>.</marker></example>
563
+ <example correction="">and he's like, what do you, You, you killed him<marker>?</marker></example>
564
+ </rule>
565
+ <rule>
566
+ <pattern>
567
+ <token skip="-1" regexp="yes">&quote;</token>
568
+ <token skip="-1" regexp="yes">&quote;
569
+ <exception scope="next" regexp="yes">&quote;</exception>
570
+ </token>
571
+ <marker>
572
+ <token regexp="yes">;|\.</token>
573
+ </marker>
574
+ </pattern>
575
+ <example correction="">1825 – The treaty between the United States and the Cheyenne tribe refers to "American citizen"s<marker>.</marker></example>
576
+ <example correction="">Some cheeses called Cheddar, are actually flavoured processed cheeses or "cheese food"s<marker>;</marker> they often bear little resemblance to the natural cheeses they were named for.</example>
577
+ </rule>
578
+ <rule>
579
+ <pattern>
580
+ <token>-</token>
581
+ <token spacebefore="no">-</token>
582
+ <marker>
583
+ <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
584
+ </marker>
585
+ </pattern>
586
+ <example correction="">I've got a thing of thing-- <marker>Here</marker>, got them right here.</example>
587
+ <example correction="">All we have to do is think of a nonviolent, unsuspicious way to purchase the car wash that- - That-- <marker>That</marker> protects the innocent and doesn't cost $20 million.</example>
588
+ <example correction="">By the way-- <marker>Where</marker> do you think we are?</example>
589
+ </rule>
590
+ <rule>
591
+ <pattern>
592
+ <marker>
593
+ <token regexp="yes">https?://.+</token>
594
+ </marker>
595
+ </pattern>
596
+ <example correction="">Please see: <marker>https://share.getcloudapp.com/geuEvAe1</marker>.</example>
597
+ </rule>
598
+ <rule>
599
+ <pattern>
600
+ <marker>
601
+ <token>|</token>
602
+ <token spacebefore="no">|</token>
603
+ </marker>
604
+ </pattern>
605
+ <example correction="">| "type of sarong" |- | "thread" |- | <marker>||</marker> "spacious" |}</example>
606
+ </rule>
607
+ </rulegroup>
608
+ <rulegroup id="AI_EN_LECTOR_MISSING_PUNCTUATION_PERIOD" name="">
609
+ <rule>
610
+ <pattern>
611
+ <marker>
612
+ <token />
613
+ </marker>
614
+ <token postag="," />
615
+ <token postag="RB" />
616
+ </pattern>
617
+ <example correction="">Yes, we do have a new trading game, link <marker>below</marker>, essentially you can play with up to 10 people and they play against each other.</example>
618
+ </rule>
619
+ <rule>
620
+ <pattern>
621
+ <token postag="SENT_START" />
622
+ <token regexp="yes" skip="-1">[*\u2022]</token>
623
+ <marker>
624
+ <token postag="SENT_END" />
625
+ </marker>
626
+ </pattern>
627
+ <example correction="">• I'm a bullet <marker>point</marker></example>
628
+ </rule>
629
+ </rulegroup>
630
+ <rulegroup id="AI_EN_LECTOR_REPLACEMENT_WORD_ORDER" name="">
631
+ <rule>
632
+ <pattern>
633
+ <token skip="-1" regexp="yes">&apostrophe;
634
+ <exception scope="next" regexp="yes">&quote;</exception>
635
+ </token>
636
+ <marker>
637
+ <token regexp="yes">&apostrophe;</token>
638
+ <token regexp="yes">&quote;</token>
639
+ </marker>
640
+ </pattern>
641
+ <example correction="">At age seventeen, he was heard by a school examiner in Aarau as he played Beethoven's violin sonatas, the examiner stating afterward that his playing was "remarkable and revealing of 'great insight.<marker>'"</marker></example>
642
+ <example correction="">"through bar 'C' using wrench 'F, <marker>'"</marker> which is...</example>
643
+ </rule>
644
+ <rule>
645
+ <pattern>
646
+ <marker>
647
+ <token postag="," />
648
+ <token postag="RB">
649
+ <exception>ago</exception>
650
+ </token>
651
+ </marker>
652
+ </pattern>
653
+ <example correction="">Kevin and I talked to Errol who is keeping risk book today<marker>, unfortunately</marker> he doesn't know much about the structure of each deal.</example>
654
+ <example>About a month, ago you should have received an invitation to your FAP 2001 webCafe room(s) that contained log on information to access the room.</example>
655
+ <example>But when I wanted to set out, for America you said:</example>
656
+ <example>As a starting, point I've attached Bill McCoy's draft and the comments circulated to date.</example>
657
+ </rule>
658
+ <rule>
659
+ <pattern>
660
+ <token postag="SENT_START|CC|PCT" postag_regexp="yes" />
661
+ <marker>
662
+ <token>even</token>
663
+ <token min="0" chunk_re="B-NP.*" />
664
+ <token min="0" max="2" chunk_re="I-NP.*" />
665
+ <token chunk_re="E-NP.*" />
666
+ <token>can</token>
667
+ </marker>
668
+ <token min="0" postag="RB" />
669
+ <token postag="VB" />
670
+ </pattern>
671
+ <example correction=""><marker>Even I can</marker> speak a little French.</example>
672
+ </rule>
673
+ <rule>
674
+ <pattern>
675
+ <token chunk_re="[BI]-NP-singular" />
676
+ <marker>
677
+ <token chunk="E-NP-singular">call</token>
678
+ <token>to</token>
679
+ </marker>
680
+ <token chunk_re="B-NP.*" />
681
+ </pattern>
682
+ <example correction="">Also, if they have the time of their <marker>call to</marker> us, that would be great.</example>
683
+ </rule>
684
+ </rulegroup>
685
+ <rulegroup id="AI_EN_LECTOR_REPLACEMENT_DETERMINER" name="">
686
+ <rule>
687
+ <pattern>
688
+ <marker>
689
+ <and>
690
+ <token postag="DT"/>
691
+ <token chunk="B-NP-singular"/>
692
+ </and>
693
+ </marker>
694
+ <token min="0" postag="RB"/>
695
+ <token postag="VBZ"/>
696
+ </pattern>
697
+ <example correction=""><marker>This</marker> just names a few of the items that will keep the Republic of Texas in good shape.</example>
698
+ </rule>
699
+ <rule>
700
+ <pattern>
701
+ <token>know</token>
702
+ <marker>
703
+ <token>which</token>
704
+ </marker>
705
+ <token postag="NN:UN"/>
706
+ </pattern>
707
+ <example correction="">Please take a look and let Elizabeth know <marker>which</marker> price should be in Sitara.</example>
708
+ </rule>
709
+ <rule>
710
+ <pattern>
711
+ <marker>
712
+ <token regexp="yes">the|a</token>
713
+ </marker>
714
+ <token>body</token>
715
+ </pattern>
716
+ <example correction="">However, he was left vulnerable at the part of <marker>the</marker> body by which she held him, his heel (see Achilles heel, Achilles' tendon).</example>
717
+ <example correction="">A really good friend will help you move <marker>a</marker> body.</example>
718
+ </rule>
719
+ </rulegroup>
720
+ <rulegroup id="AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER" name="">
721
+ <rule>
722
+ <pattern>
723
+ <and>
724
+ <token postag="NN"/>
725
+ <token chunk="B-NP-singular"/>
726
+ </and>
727
+ <marker>
728
+ <and>
729
+ <token chunk="E-NP-singular"/>
730
+ <token postag="NN:UN"/>
731
+ </and>
732
+ </marker>
733
+ </pattern>
734
+ <example correction="">Movie <marker>film</marker> seen in theaters in the United States runs at 24 frames per second, which is sufficient to create the illusion of continuous movement.</example>
735
+ </rule>
736
+ <rule>
737
+ <pattern>
738
+ <token chunk="B-NP-singular"/>
739
+ <marker>
740
+ <and>
741
+ <token chunk="E-NP-singular"/>
742
+ <token postag="NN:UN"/>
743
+ </and>
744
+ </marker>
745
+ </pattern>
746
+ <example correction="">We are gearing to win some Court cases, but the <marker>case</marker> is dragging on.</example>
747
+ <example correction="">His <marker>composition</marker> is by far the best of all.</example>
748
+ <example correction="">How are you getting along with your <marker>study</marker>?</example>
749
+ </rule>
750
+ <rule>
751
+ <pattern>
752
+ <token regexp="yes">a|an|this|that</token>
753
+ <marker>
754
+ <token postag="NN"/>
755
+ </marker>
756
+ </pattern>
757
+ <example correction="">I am the caretaker of this <marker>child</marker>, and they are my care-receiver.</example>
758
+ </rule>
759
+ <rule>
760
+ <pattern>
761
+ <token chunk="B-NP-singular"/>
762
+ <marker>
763
+ <token chunk="I-NP-singular"/>
764
+ </marker>
765
+ <token chunk="E-NP-singular"/>
766
+ </pattern>
767
+ <example correction="">I have talked to their <marker>contracts</marker> person and I want to this to get executed.</example>
768
+ </rule>
769
+ <rule>
770
+ <pattern>
771
+ <token inflected="yes">buy</token>
772
+ <marker>
773
+ <token postag="NNS"/>
774
+ </marker>
775
+ </pattern>
776
+ <example correction="">We're changing the way the world buys <marker>contacts</marker>.</example>
777
+ </rule>
778
+ <rule>
779
+ <pattern>
780
+ <token>more</token>
781
+ <marker>
782
+ <token>detail</token>
783
+ </marker>
784
+ </pattern>
785
+ <example correction="">If you need more <marker>detail</marker>, let me know.</example>
786
+ <example correction="">More <marker>detail</marker> is necessary to understand the situation.</example>
787
+ </rule>
788
+ <rule>
789
+ <antipattern>
790
+ <token postag="SENT_START" />
791
+ <token min="0" max="2" chunk_re="[BI]-NP-singular" />
792
+ <token chunk="E-NP-singular" />
793
+ <token postag="," />
794
+ <token chunk="B-NP-plural">the</token>
795
+ <token regexp="yes" chunk="I-NP-plural">accepted|conventional|established|everyday|expected|normal|regular|routine|standard|traditional|typical|usual</token>
796
+ <token min="0" chunk="I-NP-plural" />
797
+ <token postag="NNS" chunk="E-NP-plural" />
798
+ <token>of</token>
799
+ <example>Eskrima, the traditional martial arts of the Philippines teaches Doble Baston techniques involving the basic use of a pair of rattan sticks and also Espada y daga or Sword/Stick and Dagger.</example>
800
+ </antipattern>
801
+ <pattern>
802
+ <token chunk="B-NP-plural">the</token>
803
+ <token regexp="yes" chunk="I-NP-plural">accepted|conventional|established|everyday|expected|normal|regular|routine|standard|traditional|typical|usual</token>
804
+ <token min="0" chunk="I-NP-plural" />
805
+ <marker>
806
+ <token postag="NNS" chunk="E-NP-plural" />
807
+ </marker>
808
+ </pattern>
809
+ <example correction="">It seems like the usual <marker>examples</marker>.</example>
810
+ </rule>
811
+ </rulegroup>
812
+ <rulegroup id="AI_EN_LECTOR_REPLACEMENT_VERB_FORM" name="">
813
+ <rule>
814
+ <pattern>
815
+ <token inflected="yes">have</token>
816
+ <token min="0" max="2" postag="RB" />
817
+ <marker>
818
+ <token postag="VBN" chunk="I-VP" />
819
+ </marker>
820
+ </pattern>
821
+ <example correction="">I feel a bit stupid because I have not <marker>thought</marker> of buying some eggs yesterday.</example>
822
+ <example correction="">I feel a bit stupid because I have not <marker>seen</marker> him buying some eggs yesterday.</example>
823
+ </rule>
824
+ <rule> <!-- former/latter/etc. -->
825
+ <pattern>
826
+ <token regexp="yes" chunk="E-NP-singular">&plural_singular_nouns_2;</token>
827
+ <token min="0" postag="RB" />
828
+ <marker>
829
+ <token postag="VBP" chunk_re=".-VP" />
830
+ </marker>
831
+ </pattern>
832
+ <example correction="">The latter <marker>do</marker>n't need to be taken into account.</example>
833
+ <example correction="">The former <marker>are</marker> not as strong as the latter, though.</example>
834
+ </rule>
835
+ <rule>
836
+ <pattern>
837
+ <token skip="10" postag="VBN" chunk_re=".-VP" />
838
+ <token chunk_re="B-(PP|SBAR)">that</token>
839
+ <token chunk="B-NP-singular" />
840
+ <token min="0" max="3" chunk="I-NP-singular" />
841
+ <token min="0" postag="RB" />
842
+ <marker>
843
+ <token regexp="yes" postag="VB[DN]" postag_regexp="yes">cost|hit|hurt|let|put|quit|set|shut|split|spread</token>
844
+ </marker>
845
+ </pattern>
846
+ <example correction="">Or have you been so cold that your face <marker>hurt</marker> from being outside?</example>
847
+ </rule>
848
+ <rule>
849
+ <pattern>
850
+ <token>intention</token>
851
+ <token>to</token>
852
+ <marker>
853
+ <token postag="VB"/>
854
+ </marker>
855
+ </pattern>
856
+ <example correction="">I am learning English with the intention to <marker>study</marker> abroad.</example>
857
+ </rule>
858
+ <rule>
859
+ <pattern>
860
+ <token>excited</token>
861
+ <token>to</token>
862
+ <marker>
863
+ <token postag="VB"/>
864
+ </marker>
865
+ </pattern>
866
+ <example correction="">I am excited to <marker>apply</marker> for the position</example>
867
+ </rule>
868
+ <rule>
869
+ <pattern>
870
+ <token>for</token>
871
+ <marker>
872
+ <token postag="VBG" chunk_re=".-VP" />
873
+ </marker>
874
+ </pattern>
875
+ <example correction="">Can you review your continuous integration setup for <marker>making</marker> sure that the tutorials are fully reproducible?</example>
876
+ <example correction="">She was getting ready for <marker>leaving</marker> home.</example>
877
+ </rule>
878
+ <rule>
879
+ <pattern>
880
+ <token regexp="yes">how|who|what|when|where|why</token>
881
+ <token inflected="yes">be</token>
882
+ <token min="1" max="4" chunk_re=".-NP.*" />
883
+ <token min="0" postag="RB" />
884
+ <marker>
885
+ <token postag="VBG" chunk_re=".-VP" />
886
+ </marker>
887
+ </pattern>
888
+ <example correction="">How are you <marker>creating</marker> the account for that user?</example>
889
+ <example correction="">How is the new teacher <marker>creating</marker> an account for that student?</example>
890
+ </rule>
891
+ <rule>
892
+ <pattern>
893
+ <token inflected="yes">be</token>
894
+ <token min="0" postag="RB" />
895
+ <token postag="VBG" chunk="I-VP">
896
+ <exception regexp="yes">leaning|resorting|referring|contributing|committing</exception>
897
+ </token>
898
+ <token postag="TO" />
899
+ <token min="0" postag="RB" />
900
+ <marker>
901
+ <token postag="VB" chunk_re=".-VP" />
902
+ </marker>
903
+ </pattern>
904
+ <example correction="">I'm looking to <marker>file</marker> my taxes.</example>
905
+ </rule>
906
+ <rule>
907
+ <pattern>
908
+ <token>did</token>
909
+ <token min="0" chunk_re="B-NP-.*"/>
910
+ <token min="0" chunk_re="I-NP-.*"/>
911
+ <token chunk_re="E-NP-.*"/>
912
+ <token min="0" postag="RB"/>
913
+ <marker>
914
+ <token postag="VB|VBP" postag_regexp="yes"/>
915
+ </marker>
916
+ </pattern>
917
+ <example correction="">Did you already <marker>try</marker> that original password?</example>
918
+ <example correction="">Did the man already <marker>see</marker> the film?</example>
919
+ <example correction="">Hello there, did you already <marker>contact</marker> our customer support?</example>
920
+ </rule>
921
+ <rule>
922
+ <pattern>
923
+ <token inflected="yes" chunk="B-VP">do</token>
924
+ <token min="0" max="2" postag="RB" chunk="I-VP" />
925
+ <marker>
926
+ <token postag="VB" chunk="I-VP" />
927
+ </marker>
928
+ </pattern>
929
+ <example correction="">We didn't <marker>land</marker> yet.</example>
930
+ <example correction="">He doesn't <marker>learn</marker> German.</example>
931
+ <example correction="">We did just <marker>fill</marker> the position.</example>
932
+ </rule>
933
+ <rule>
934
+ <pattern>
935
+ <token inflected="yes" chunk_re="B-VP|O">be</token>
936
+ <token min="0" postag="PRP_S.*" postag_regexp="yes"/>
937
+ <token min="0" max="2" postag="RB" />
938
+ <marker>
939
+ <token postag="VBG" chunk="I-VP" />
940
+ </marker>
941
+ </pattern>
942
+ <example correction="">I'm not <marker>finding</marker> the equation.</example>
943
+ <example correction="">All that is <marker>allowing</marker> us to do is operate our generators without the significant pollution restrictions.</example>
944
+ <example correction="">Securities firms are often <marker>acting</marker> as middlemen, selling protection to one counterpart, while selling offsetting exposure to another.</example>
945
+ <example correction="">Sami wasn't really <marker>believing</marker> Layla.</example>
946
+ <example correction="">How are you not <marker>seeing</marker> that?</example>
947
+ <example correction="">Tom would've been here by now if he were <marker>coming</marker>.</example>
948
+ <example correction="">I am already <marker>contacting</marker> Singapore Office for Dubai Index or Singapore Gas Oil Index but not JCC.</example>
949
+ </rule>
950
+ <rule>
951
+ <pattern>
952
+ <token>'ll</token>
953
+ <token min="0" postag="RB" />
954
+ <marker>
955
+ <token postag="VB" chunk_re=".-VP" />
956
+ </marker>
957
+ </pattern>
958
+ <example correction="">I'll <marker>go</marker> to Australia next summer.</example>
959
+ </rule>
960
+ <rule>
961
+ <pattern>
962
+ <token postag="MD" />
963
+ <token min="0" max="2" postag="RB" />
964
+ <marker>
965
+ <token postag="VB" chunk_re=".-VP" />
966
+ </marker>
967
+ </pattern>
968
+ <example correction="">We couldn't <marker>be</marker> more excited.</example>
969
+ <example correction="">I think he could <marker>make</marker> Enron a lot of money.</example>
970
+ </rule>
971
+ <rule>
972
+ <pattern>
973
+ <token>into</token>
974
+ <marker>
975
+ <token postag="VBG" chunk_re=".-VP" />
976
+ </marker>
977
+ </pattern>
978
+ <example correction="">I persuaded him into <marker>accepting</marker> the offer.</example>
979
+ <example correction="">Tom persuaded her into <marker>going</marker> to the movies with him.</example>
980
+ </rule>
981
+ <rule>
982
+ <pattern>
983
+ <token postag="TO" />
984
+ <token min="0" postag="RB" />
985
+ <token postag="VB" />
986
+ <token regexp="yes">and|or</token>
987
+ <marker>
988
+ <token postag="VB" />
989
+ </marker>
990
+ </pattern>
991
+ <example correction="">Let me know if you need any assistance to finish or <marker>approve</marker> expense reports.</example>
992
+ </rule>
993
+ <rule>
994
+ <pattern>
995
+ <token>
996
+ <exception regexp="yes" inflected="yes">have|not</exception>
997
+ </token>
998
+ <token>already</token>
999
+ <marker>
1000
+ <token postag="VBD">
1001
+ <exception postag="VBN" />
1002
+ </token>
1003
+ </marker>
1004
+ </pattern>
1005
+ <example correction="">The children already <marker>went</marker> to school.</example>
1006
+ </rule>
1007
+ <rule>
1008
+ <antipattern>
1009
+ <token skip="7">since</token>
1010
+ <token postag="V.*" postag_regexp="yes" chunk="B-VP" /> <!-- need chunk -->
1011
+ </antipattern>
1012
+ <pattern>
1013
+ <marker>
1014
+ <token postag="VB[PZ]" postag_regexp="yes" chunk_re=".-VP" />
1015
+ </marker>
1016
+ <token min="0" chunk_re="B-NP.*" />
1017
+ <token min="0" max="2" chunk_re="I-NP.*" />
1018
+ <token chunk_re="E-NP.*" />
1019
+ <token skip="7">since</token>
1020
+ <token postag="SENT_END" />
1021
+ </pattern>
1022
+ <example correction="">Sami <marker>knows</marker> Layla since high school.</example>
1023
+ <example>Sami knows Layla since they have the same instructor.</example> <!-- since as because -->
1024
+ </rule>
1025
+ <rule>
1026
+ <pattern>
1027
+ <token postag="TO" />
1028
+ <token>be</token>
1029
+ <marker>
1030
+ <token postag="VBG" />
1031
+ </marker>
1032
+ </pattern>
1033
+ <example correction="">In normal course, the proposal was slated to be <marker>coming</marker> up for Cabinet in next few weeks.</example>
1034
+ </rule>
1035
+ <rule>
1036
+ <pattern>
1037
+ <token postag="DT" />
1038
+ <token postag="PRP_S.*" postag_regexp="yes" />
1039
+ <token>'s</token>
1040
+ <token postag="VBN" />
1041
+ <token regexp="yes">is|was</token>
1042
+ <token min="0" postag="RB" />
1043
+ <marker>
1044
+ <token postag="VB" />
1045
+ </marker>
1046
+ </pattern>
1047
+ <example correction="">He thought if he killed us that we'd fall and shatter, But all that he's done is just <marker>make</marker> us madder.</example>
1048
+ <example correction="">He thought if he killed us that we'd fall and shatter, But all he's done is just <marker>make</marker> us madder.</example>
1049
+ </rule>
1050
+ <rule>
1051
+ <pattern>
1052
+ <token regexp="yes" inflected="yes">believe|continue|proceed|seem|think</token>
1053
+ <token postag="TO" />
1054
+ <token min="0" postag="RB" />
1055
+ <marker>
1056
+ <token postag="VB" />
1057
+ </marker>
1058
+ </pattern>
1059
+ <example correction="">I called this morning to introduce myself and to see how we should proceed to <marker>extend</marker> invitations to attendees at our workshop and lunch at the Grand Hotel in Oslo, Thursday, November 30th.</example>
1060
+ <example correction="">I think to clearly <marker>distinguish</marker> opinion from fact is important.</example>
1061
+ </rule>
1062
+ <rule>
1063
+ <pattern>
1064
+ <token chunk_re="E-NP.*" />
1065
+ <token inflected="yes">go</token>
1066
+ <token postag="JJ" chunk="B-ADJP" />
1067
+ <token min="0" chunk="B-PP" />
1068
+ <token min="0" chunk="E-NP-singular" />
1069
+ <token postag="TO" />
1070
+ <marker>
1071
+ <token postag="VB" />
1072
+ </marker>
1073
+ </pattern>
1074
+ <example correction="">She went mad with delight to <marker>hear</marker> the news.</example>
1075
+ </rule>
1076
+ <rule>
1077
+ <pattern>
1078
+ <token regexp="yes">better|worse</token>
1079
+ <token skip="5">off</token>
1080
+ <token postag="TO" />
1081
+ <token min="0" postag="RB" />
1082
+ <marker>
1083
+ <token postag="VB" />
1084
+ </marker>
1085
+ </pattern>
1086
+ <example correction="">I would think as long as we are sending LD's back to Riverside, we are better off for the first day to just <marker>let</marker> them go to the imbalance market in Cal.</example>
1087
+ </rule>
1088
+ <rule>
1089
+ <pattern>
1090
+ <token regexp="yes">better|worse</token>
1091
+ <token skip="5">off</token>
1092
+ <token postag="TO" />
1093
+ <token min="0" postag="RB" />
1094
+ <marker>
1095
+ <token postag="VB" />
1096
+ </marker>
1097
+ </pattern>
1098
+ <example correction="">I would think as long as we are sending LD's back to Riverside, we are better off for the first day to just <marker>let</marker> them go to the imbalance market in Cal.</example>
1099
+ </rule>
1100
+ <rule>
1101
+ <pattern>
1102
+ <token postag="SENT_START" />
1103
+ <token min="1" max="3" chunk_re="[BI]-NP-singular" />
1104
+ <token postag="NN" chunk="E-NP-singular" />
1105
+ <token min="0" postag="RB" />
1106
+ <marker>
1107
+ <token postag="VBZ" chunk_re=".-VP" />
1108
+ </marker>
1109
+ </pattern>
1110
+ <example correction="">The bus <marker>has</marker> already departed from the station.</example>
1111
+ </rule>
1112
+ </rulegroup>
1113
+ <rulegroup id="AI_HYDRA_LEO_CP_THE_THEY" name="">
1114
+ <rule>
1115
+ <pattern>
1116
+ <marker>
1117
+ <token>the</token>
1118
+ </marker>
1119
+ <token regexp="yes">\u2063</token>
1120
+ </pattern>
1121
+ <example correction=""><marker>The</marker> &#8291; are happy.</example>
1122
+ </rule>
1123
+ </rulegroup>
1124
+ <rulegroup id="AI_HYDRA_LEO_CP_YOUARE_YOU" name="">
1125
+ <rule>
1126
+ <pattern>
1127
+ <marker>
1128
+ <token>you</token>
1129
+ <token>'re</token>
1130
+ </marker>
1131
+ <token>not</token>
1132
+ <token postag="VBP?" postag_regexp="yes" />
1133
+ </pattern>
1134
+ <!-- FIXES LOOP YOU'RE <-> YOU, need separate rule for 'you're not understand -> understanding' -->
1135
+ <example correction="">What <marker>you're</marker> not understand is that, that would be an explanation for a hot guy who is a douchebag.</example>
1136
+ </rule>
1137
+ </rulegroup>
1138
+ <rulegroup id="AI_HYDRA_LEO_CP_YOUR_YOU" name="">
1139
+ <rule>
1140
+ <pattern>
1141
+ <marker>
1142
+ <token>your</token>
1143
+ </marker>
1144
+ <token>'</token>
1145
+ <token>e</token>
1146
+ </pattern>
1147
+ <example correction="">It seems to me that <marker>your</marker>'e the best one to look into this...</example>
1148
+ </rule>
1149
+ <rule>
1150
+ <pattern>
1151
+ <token chunk="B-PP" />
1152
+ <marker>
1153
+ <token>your</token>
1154
+ </marker>
1155
+ <token>does</token> <!-- 'does' is the only token I can find that triggers a match, other VBZ/NNS tokens do not cause FPs -->
1156
+ </pattern>
1157
+ <example correction="">Mine didn't sound as bad as <marker>your</marker> does, though.</example>
1158
+ </rule>
1159
+ </rulegroup>
1160
+ <rulegroup id="AI_HYDRA_LEO_APOSTROPHE_S_XS" name="">
1161
+ <rule>
1162
+ <pattern>
1163
+ <token chunk_re=".-VP" />
1164
+ <token chunk="B-PP" />
1165
+ <marker>
1166
+ <token chunk_re="B-NP.*">its</token>
1167
+ </marker>
1168
+ <token chunk_re="[IE]-NP.*">
1169
+ <exception postag="VBG" />
1170
+ <exception>just</exception>
1171
+ </token>
1172
+ </pattern>
1173
+ <example correction="">Hello, are you waiting for <marker>its</marker> time?</example>
1174
+ <example>Grandpa says people are calling, (I wonder if its just one or two people), but nevertheless, we still need to get something out.</example>
1175
+ <example>So we're pinned down, trying to suppress this truck while dodgin 50 Cal laser blasts (since its just MILES a blade of grass can deflect the laser).</example>
1176
+ <example>Thats right around $37.5 to $38.0 That is lower than where it liquedated last summer and based on the fundamentals regarding gas, it looks like its heading lower than that by April.</example>
1177
+ </rule>
1178
+ <rule>
1179
+ <pattern>
1180
+ <marker>
1181
+ <token>Teams</token>
1182
+ </marker>
1183
+ <token min="0">video</token>
1184
+ <token regexp="yes">chats?|calls?|meetings?|plans?|pricing|interviews?|conversations?|messages?|instant|shared|folders?|messagings?|invites?|invitations?|posts?|settings?|accounts?|screen(shar(e|ing))?|groups?|assignments?|requests?|files?|links?|one-to-one|limitation|limits?|connections?</token>
1185
+ </pattern>
1186
+ <example correction="">I have a <marker>Teams</marker> call at 12.</example>
1187
+ </rule>
1188
+ <rule>
1189
+ <pattern>
1190
+ <marker><token case_sensitive="yes">Teams</token></marker>
1191
+ </pattern>
1192
+ <example correction="">I have a <marker>Teams</marker> call at 12.</example>
1193
+ </rule>
1194
+ <rule>
1195
+ <pattern>
1196
+ <marker>
1197
+ <token case_sensitive="yes">Friends</token>
1198
+ </marker>
1199
+ <token case_sensitive="yes" regexp="yes">[a-z].*</token>
1200
+ </pattern>
1201
+ <example correction="">The <marker>Friends</marker> actress</example>
1202
+ </rule>
1203
+ <rule>
1204
+ <pattern>
1205
+ <marker>
1206
+ <token>operations</token>
1207
+ </marker>
1208
+ <token regexp="yes">managers?|teams?|officers?</token>
1209
+ </pattern>
1210
+ <example correction="">The <marker>operations</marker> manager</example>
1211
+ </rule>
1212
+ <rule>
1213
+ <pattern>
1214
+ <marker>
1215
+ <token>thanks</token>
1216
+ </marker>
1217
+ </pattern>
1218
+ <example correction=""><marker>Thanks</marker> so much</example>
1219
+ </rule>
1220
+ <rule>
1221
+ <pattern>
1222
+ <marker>
1223
+ <token>sticks</token>
1224
+ </marker>
1225
+ <token regexp="yes">and|&amp;</token>
1226
+ <token>stones</token>
1227
+ </pattern>
1228
+ <example correction=""><marker>Sticks</marker> and Stones</example>
1229
+ </rule>
1230
+ <rule>
1231
+ <pattern>
1232
+ <token regexp="yes">\d+|two|three|four|five|six|seven|eight|nine|ten</token>
1233
+ <marker>
1234
+ <token>times</token>
1235
+ </marker>
1236
+ <token regexp="yes">an?|per|every</token>
1237
+ </pattern>
1238
+ <example correction="">It happens 2 <marker>times</marker> a week.</example>
1239
+ </rule>
1240
+ <rule>
1241
+ <pattern>
1242
+ <marker>
1243
+ <token regexp="yes">
1244
+ .+s
1245
+ <exception>its</exception>
1246
+ </token>
1247
+ </marker>
1248
+ <token regexp="yes">an?</token>
1249
+ <token regexp="yes">week|year|month|day|hour</token>
1250
+ </pattern>
1251
+ <example correction="">He earns 3000 <marker>dollars</marker> a year.</example>
1252
+ </rule>
1253
+ <rule>
1254
+ <pattern>
1255
+ <token regexp="yes">MS|Microsoft|via</token>
1256
+ <marker>
1257
+ <token>Teams</token>
1258
+ </marker>
1259
+ </pattern>
1260
+ <example correction="">I have a MS <marker>Teams</marker> call at 12.</example>
1261
+ </rule>
1262
+ <rule><!-- https://en.wikipedia.org/wiki/Veterans_Day-->
1263
+ <pattern>
1264
+ <marker>
1265
+ <token>Veterans</token>
1266
+ </marker>
1267
+ <token>day</token>
1268
+ </pattern>
1269
+ <example correction="">It happened on <marker>Veterans</marker> Day.</example>
1270
+ </rule>
1271
+ <rule>
1272
+ <pattern>
1273
+ <marker>
1274
+ <token>Fools</token>
1275
+ </marker>
1276
+ <token>Garden</token>
1277
+ </pattern>
1278
+ <example correction="">He is a singer at <marker>Fools</marker> Garden.</example>
1279
+ </rule>
1280
+ <rule>
1281
+ <pattern>
1282
+ <marker>
1283
+ <token>Wills</token>
1284
+ </marker>
1285
+ <token>Creek</token>
1286
+ </pattern>
1287
+ <example correction=""><marker>Wills</marker> Creek.</example>
1288
+ </rule>
1289
+ <rule>
1290
+ <pattern>
1291
+ <token>Socialist</token>
1292
+ <marker>
1293
+ <token>Workers</token>
1294
+ </marker>
1295
+ <token>Party</token>
1296
+ </pattern>
1297
+ <example correction="">Socialist <marker>Workers</marker> Party</example>
1298
+ </rule>
1299
+ <rule>
1300
+ <pattern>
1301
+ <marker>
1302
+ <token>Kings</token>
1303
+ </marker>
1304
+ <token regexp="yes">County|Island|Hwy|Highway</token>
1305
+ </pattern>
1306
+ <example correction="">He lives in <marker>Kings</marker> County.</example>
1307
+ </rule>
1308
+ <rule>
1309
+ <pattern>
1310
+ <marker>
1311
+ <token>Governors</token>
1312
+ </marker>
1313
+ <token regexp="yes">State|Island</token>
1314
+ </pattern>
1315
+ <example correction="">He lives on <marker>Governors</marker> Island.</example>
1316
+ </rule>
1317
+ <rule>
1318
+ <pattern>
1319
+ <marker>
1320
+ <token>Titans</token>
1321
+ </marker>
1322
+ <token>Tower</token>
1323
+ </pattern>
1324
+ <example correction="">He lives in <marker>Titans</marker> Tower.</example>
1325
+ </rule>
1326
+ <rule>
1327
+ <pattern>
1328
+ <marker>
1329
+ <token>Rivers</token>
1330
+ </marker>
1331
+ <token>State</token>
1332
+ </pattern>
1333
+ <example correction="">He lives in <marker>Rivers</marker> State.</example>
1334
+ </rule>
1335
+ <rule>
1336
+ <pattern>
1337
+ <marker>
1338
+ <token>Bears</token>
1339
+ </marker>
1340
+ <token>Ears</token>
1341
+ </pattern>
1342
+ <example correction="">He visited <marker>Bears</marker> Ears.</example>
1343
+ </rule>
1344
+ <rule>
1345
+ <pattern>
1346
+ <token>holy</token>
1347
+ <marker>
1348
+ <token>angels</token>
1349
+ </marker>
1350
+ <token regexp="yes">school|church|academy|catholic|hospital|university</token>
1351
+ </pattern>
1352
+ <example correction="">He visited Holy <marker>Angels</marker> school.</example>
1353
+ </rule>
1354
+ <rule>
1355
+ <pattern>
1356
+ <token>#</token>
1357
+ <marker>
1358
+ <token regexp="yes">.+s</token>
1359
+ </marker>
1360
+ </pattern>
1361
+ <example correction="">#<marker>layers</marker> number</example>
1362
+ </rule>
1363
+ <rule>
1364
+ <pattern>
1365
+ <token>sacred</token>
1366
+ <marker>
1367
+ <token>hearts</token>
1368
+ </marker>
1369
+ <token regexp="yes">school|church|academy|catholic|hospital|university</token>
1370
+ </pattern>
1371
+ <example correction="">He visited Sacred <marker>Hearts</marker> school.</example>
1372
+ </rule>
1373
+ <rule>
1374
+ <pattern>
1375
+ <token>Four</token>
1376
+ <marker>
1377
+ <token>Seasons</token>
1378
+ </marker>
1379
+ </pattern>
1380
+ <example correction="">He visited Four <marker>Seasons</marker> Hotel.</example>
1381
+ </rule>
1382
+ <rule>
1383
+ <pattern>
1384
+ <marker>
1385
+ <token>Stars</token>
1386
+ </marker>
1387
+ <token>Hollow</token>
1388
+ </pattern>
1389
+ <example correction="">He lives in <marker>Stars</marker> Hollow.</example>
1390
+ </rule>
1391
+ <rule>
1392
+ <pattern>
1393
+ <marker>
1394
+ <token>Scots</token>
1395
+ </marker>
1396
+ <token>College</token>
1397
+ </pattern>
1398
+ <example correction="">He went to <marker>Scots</marker> College.</example>
1399
+ </rule>
1400
+ <rule>
1401
+ <pattern>
1402
+ <token>San</token>
1403
+ <marker>
1404
+ <token>Marcos</token>
1405
+ </marker>
1406
+ </pattern>
1407
+ <example correction="">He lives in San <marker>Marcos</marker>.</example>
1408
+ </rule>
1409
+ <rule>
1410
+ <pattern>
1411
+ <token>John</token>
1412
+ <marker>
1413
+ <token>Adams</token>
1414
+ </marker>
1415
+ </pattern>
1416
+ <example correction="">John <marker>Adams</marker>.</example>
1417
+ </rule>
1418
+ <rule>
1419
+ <pattern>
1420
+ <marker>
1421
+ <token>Straits</token>
1422
+ </marker>
1423
+ <token>Times</token>
1424
+ </pattern>
1425
+ <example correction="">He works for the <marker>Straits</marker> Times.</example>
1426
+ </rule>
1427
+ <rule>
1428
+ <pattern>
1429
+ <marker>
1430
+ <token>farmers</token>
1431
+ </marker>
1432
+ <token>market</token>
1433
+ </pattern>
1434
+ <example correction="">He works on the <marker>farmers</marker> market.</example>
1435
+ </rule>
1436
+ <rule>
1437
+ <pattern>
1438
+ <marker>
1439
+ <token>founders</token>
1440
+ </marker>
1441
+ <token>park</token>
1442
+ </pattern>
1443
+ <example correction="">He lives in <marker>founders</marker> park.</example>
1444
+ </rule>
1445
+ <rule>
1446
+ <pattern>
1447
+ <token>united</token>
1448
+ <marker>
1449
+ <token regexp="yes">daughters|states</token>
1450
+ </marker>
1451
+ <token>of</token>
1452
+ </pattern>
1453
+ <example correction="">United <marker>Daughters</marker> of the Confederacy</example>
1454
+ </rule>
1455
+ <rule>
1456
+ <pattern>
1457
+ <token>Six</token>
1458
+ <token>of</token>
1459
+ <marker>
1460
+ <token>Crows</token>
1461
+ </marker>
1462
+ </pattern>
1463
+ <example correction="">See the Six of <marker>Crows</marker> merch</example>
1464
+ </rule>
1465
+ <rule>
1466
+ <pattern>
1467
+ <token>Robert</token>
1468
+ <marker>
1469
+ <token>Burns</token>
1470
+ </marker>
1471
+ </pattern>
1472
+ <example correction="">Robert <marker>Burns</marker></example>
1473
+ </rule>
1474
+ <rule>
1475
+ <pattern>
1476
+ <token>All</token>
1477
+ <marker>
1478
+ <token>Saints</token>
1479
+ </marker>
1480
+ </pattern>
1481
+ <example correction="">All <marker>Saints</marker></example>
1482
+ </rule>
1483
+ <rule>
1484
+ <pattern>
1485
+ <marker>
1486
+ <token regexp="yes" case_sensitive="yes">
1487
+ [A-Z].+s
1488
+ <exception>Its</exception>
1489
+ </token>
1490
+ </marker>
1491
+ <token regexp="yes">of|for</token>
1492
+ </pattern>
1493
+ <example correction="">United <marker>Daughters</marker> of the Confederacy</example>
1494
+ </rule>
1495
+ <rule>
1496
+ <pattern>
1497
+ <token regexp="yes">saint|st|[md]rs?</token>
1498
+ <token min="0">.</token>
1499
+ <marker>
1500
+ <token regexp="yes">Andrews|Miles|Adams</token>
1501
+ </marker>
1502
+ </pattern>
1503
+ <example correction="">St <marker>Andrews</marker> Town</example>
1504
+ </rule>
1505
+ <rule>
1506
+ <pattern>
1507
+ <marker>
1508
+ <token regexp="yes" case_sensitive="yes">[A-Z].+s</token>
1509
+ </marker>
1510
+ <token min="0" regexp="yes">High|National</token>
1511
+ <token regexp="yes">University|School|College</token>
1512
+ </pattern>
1513
+ <example correction="">All <marker>Saints</marker> High School</example>
1514
+ </rule>
1515
+ <rule>
1516
+ <pattern><!-- plural nouns-->
1517
+ <marker>
1518
+ <token case_sensitive="yes" regexp="yes">Suits|Bros|Carlos|Hans|Mars|Systems|Princes|Avengers|Williams|Minions|Yates|Edwards|Philips|Nichols|James</token>
1519
+ </marker>
1520
+ </pattern>
1521
+ <example correction="">The <marker>Suits</marker> actress.</example>
1522
+ </rule>
1523
+ <rule>
1524
+ <pattern>
1525
+ <marker>
1526
+ <token>writers</token>
1527
+ </marker>
1528
+ <token>guild</token>
1529
+ </pattern>
1530
+ <example correction="">The <marker>Writers</marker> Guild</example>
1531
+ </rule>
1532
+ <rule>
1533
+ <pattern>
1534
+ <marker>
1535
+ <token>Lions</token>
1536
+ </marker>
1537
+ <token regexp="yes">Park|Square|Clubs?</token>
1538
+ </pattern>
1539
+ <example correction="">The <marker>Lions</marker> Park</example>
1540
+ </rule>
1541
+ <rule>
1542
+ <pattern>
1543
+ <token>Harry</token>
1544
+ <marker>
1545
+ <token>Styles</token>
1546
+ </marker>
1547
+ </pattern>
1548
+ <example correction="">Harry <marker>Styles</marker> World Tour</example>
1549
+ </rule>
1550
+ <rule>
1551
+ <pattern>
1552
+ <token case_sensitive="yes" regexp="yes">[A-Z].+</token>
1553
+ <marker>
1554
+ <token>Arts</token>
1555
+ </marker>
1556
+ </pattern>
1557
+ <example correction="">Google <marker>Arts</marker> culture</example>
1558
+ </rule>
1559
+ <rule>
1560
+ <pattern>
1561
+ <marker>
1562
+ <token>drops</token>
1563
+ </marker>
1564
+ <token>out</token>
1565
+ </pattern>
1566
+ <example correction="">He <marker>drops</marker> out</example>
1567
+ </rule>
1568
+ <rule>
1569
+ <pattern>
1570
+ <marker>
1571
+ <token>wants</token>
1572
+ </marker>
1573
+ <token>to</token>
1574
+ </pattern>
1575
+ <example correction=""><marker>Wants</marker> to have fun</example>
1576
+ </rule>
1577
+ <rule>
1578
+ <pattern>
1579
+ <marker>
1580
+ <token regexp="yes">hers|ours|theirs|needs|wives|princes</token>
1581
+ </marker>
1582
+ </pattern>
1583
+ <example correction="">It is <marker>hers</marker></example>
1584
+ </rule>
1585
+ <rule>
1586
+ <antipattern>
1587
+ <token regexp="yes">months|years</token>
1588
+ <token>end</token>
1589
+ </antipattern>
1590
+ <pattern>
1591
+ <marker>
1592
+ <token postag="NNP?S" postag_regexp="yes">
1593
+ <exception regexp="yes">lets|ones</exception>
1594
+ </token>
1595
+ </marker>
1596
+ <token postag="VBP" chunk_re=".-VP" />
1597
+ <token postag="IN|P?DT|PRP\$" postag_regexp="yes" />
1598
+ <token chunk_re=".-NP.*" />
1599
+ </pattern>
1600
+ <example correction="">Only the <marker>banks</marker> know about it</example>
1601
+ </rule>
1602
+ </rulegroup>
1603
+ <rulegroup id="AI_HYDRA_LEO_CPT_NOW_KNOW" name="">
1604
+ <rule>
1605
+ <pattern>
1606
+ <token postag="PRP|NN.*" postag_regexp="yes"/>
1607
+ <token inflected="yes">have</token>
1608
+ <marker>
1609
+ <token>now</token>
1610
+ </marker>
1611
+ <token postag="VB.*|JJ" postag_regexp="yes"/>
1612
+ </pattern>
1613
+ <example correction="">I have <marker>now</marker> acquired all the ingredients.</example>
1614
+ </rule>
1615
+ <rule>
1616
+ <pattern>
1617
+ <token postag="PRP|NN.*" postag_regexp="yes"/>
1618
+ <marker>
1619
+ <token>now</token>
1620
+ </marker>
1621
+ <token regexp="yes" inflected="yes">have|can|shall|do</token>
1622
+ </pattern>
1623
+ <example correction="">It's great that's fixed, but we <marker>now</marker> have other problems.</example>
1624
+ </rule>
1625
+ <rule>
1626
+ <pattern>
1627
+ <token postag="SENT_START|VB[DN]?" postag_regexp="yes">
1628
+ <exception postag="MD"/>
1629
+ </token>
1630
+ <marker>
1631
+ <token>now</token>
1632
+ </marker>
1633
+ <token>that</token>
1634
+ </pattern>
1635
+ <example correction="">I've just read <marker>now</marker> that he was released.</example>
1636
+ <example correction=""><marker>Now</marker> that you are here we might as well start.</example>
1637
+ </rule>
1638
+ </rulegroup>
1639
+ <rulegroup id="AI_HYDRA_LEO_CPT_WERE_WEARE" name="">
1640
+ <antipattern>
1641
+ <token regexp="yes">who|which|that</token>
1642
+ <token>were</token>
1643
+ <token min="0" postag="RB"/>
1644
+ <token postag="JJ"/>
1645
+ <token skip="1" postag="IN"/>
1646
+ <token postag="SENT_END"/>
1647
+ </antipattern>
1648
+ <rule>
1649
+ <pattern>
1650
+ <token regexp="yes">who|which|that</token>
1651
+ <marker>
1652
+ <token>were</token>
1653
+ </marker>
1654
+ <token min="0" postag="RB"/>
1655
+ <token postag="JJ"/>
1656
+ </pattern>
1657
+ <example correction="">...that come from there, which <marker>were</marker> highly debatable.</example>
1658
+ <example>I sent Sanjeev some Asian Option Pricing last week; I get the sense he wants to pursue the original stream flow structure (one which were not comfortable with).</example>
1659
+ </rule>
1660
+ <rule>
1661
+ <antipattern>
1662
+ <token skip="1" postag="IN"/>
1663
+ <token chunk="E-NP-plural"/>
1664
+ <token min="0" regexp="yes">who|which|that</token>
1665
+ <token>were</token>
1666
+ </antipattern>
1667
+ <pattern>
1668
+ <token chunk_re="[BIE]-NP-plural"/>
1669
+ <token min="0" regexp="yes">who|which|that</token>
1670
+ <marker>
1671
+ <token>were</token>
1672
+ </marker>
1673
+ <token postag="VBN"/>
1674
+ </pattern>
1675
+ <example correction="">The cities that <marker>were</marker> chosen are all quite big.</example>
1676
+ <example correction="">The cities <marker>were</marker> chosen and now it's time to move on.</example>
1677
+ <example>From good sources were told that ABC had no interest in Bocimar's offer and therefore we are planning on meeting ABC to continue to express our interest in acquiring their fleet and more importantly to continue to frustrate Bocimars'attempt to control the cape fleet.</example>
1678
+ </rule>
1679
+ </rulegroup>
1680
+ <rulegroup id="AI_HYDRA_LEO_CPT_IS_ARE" name="">
1681
+ <rule> <!-- VBG NNP?S is -->
1682
+ <antipattern>
1683
+ <token skip="1" postag="VBG" chunk_re="I-NP.+"/>
1684
+ <token postag="NNP?S" postag_regexp="yes"/>
1685
+ <token>is</token>
1686
+ </antipattern>
1687
+ <pattern>
1688
+ <token skip="1" postag="VBG"/>
1689
+ <token postag="NNP?S" postag_regexp="yes"/>
1690
+ <marker>
1691
+ <token>is</token>
1692
+ </marker>
1693
+ </pattern>
1694
+ <example correction="">Loving crimes <marker>is</marker> not recommended</example>
1695
+ <example>The two prevailing theories is that in 1635, they were either the survivors of two recorded shipwrecks, or somehow took over the ship they came on.</example>
1696
+ </rule>
1697
+ <rule> <!-- who/what is NNP? -->
1698
+ <pattern>
1699
+ <token regexp="yes">who|what</token>
1700
+ <marker>
1701
+ <token>is</token>
1702
+ </marker>
1703
+ <token postag="NNP?" postag_regexp="yes"/>
1704
+ </pattern>
1705
+ <example correction="">B. What <marker>is</marker> Washington known for?</example>
1706
+ </rule>
1707
+ <rule> <!-- the + capitalized -->
1708
+ <pattern>
1709
+ <token>the</token>
1710
+ <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
1711
+ <token min="0" regexp="yes" case_sensitive="yes">[A-Z].*</token>
1712
+ <marker>
1713
+ <token>is</token>
1714
+ </marker>
1715
+ </pattern>
1716
+ <example correction="">War against the United States <marker>is</marker> always justified from a legal standpoint.</example>
1717
+ </rule>
1718
+ <rule> <!-- is/are -->
1719
+ <pattern>
1720
+ <marker>
1721
+ <token>is</token>
1722
+ </marker>
1723
+ <token>/</token>
1724
+ <token>are</token>
1725
+ </pattern>
1726
+ <example correction="">If the person(s) <marker>is</marker>/are not available all day.</example>
1727
+ </rule>
1728
+ <rule> <!-- are/is -->
1729
+ <pattern>
1730
+ <token>are</token>
1731
+ <token>/</token>
1732
+ <marker>
1733
+ <token>is</token>
1734
+ </marker>
1735
+ </pattern>
1736
+ <example correction="">If the person(s) are/<marker>is</marker> not available all day.</example>
1737
+ </rule>
1738
+ <rule> <!-- how much is X and how mich is [plural] -->
1739
+ <pattern>
1740
+ <token>how</token>
1741
+ <token>much</token>
1742
+ <token skip="2">is</token>
1743
+ <token regexp="yes">and|or</token>
1744
+ <token>how</token>
1745
+ <token>much</token>
1746
+ <marker>
1747
+ <token>is</token>
1748
+ </marker>
1749
+ <token postag="NN.*" postag_regexp="yes"/>
1750
+ <token postag="VB.*" postag_regexp="yes"/>
1751
+ </pattern>
1752
+ <example correction="">It's not clear "how much is bad debt and how much <marker>is</marker> marketers taking advantage of the situation," said state Consumer Utility Counsel Kristy Holley.</example>
1753
+ </rule>
1754
+ <rule> <!-- The [plural] rating is -->
1755
+ <pattern>
1756
+ <token skip="2" postag="DT" chunk="B-NP-singular"/>
1757
+ <token chunk="E-NP-singular">rating</token>
1758
+ <marker>
1759
+ <token>is</token>
1760
+ </marker>
1761
+ </pattern>
1762
+ <example correction="">The Baa2 rating <marker>is</marker> just two notches above what is commonly called "junk bonds."</example>
1763
+ </rule>
1764
+ <rule> <!-- Burghers of Calais (sound delicious) -->
1765
+ <pattern>
1766
+ <token>Burghers</token>
1767
+ <token>of</token>
1768
+ <token skip="4">Calais</token>
1769
+ <marker>
1770
+ <token>is</token>
1771
+ </marker>
1772
+ </pattern>
1773
+ <example correction="">The Burghers of Calais, for example, <marker>is</marker> found in fourteen cities.</example>
1774
+ </rule>
1775
+ <rule> <!-- acronyms -->
1776
+ <antipattern>
1777
+ <token chunk="E-NP-plural"/>
1778
+ <token chunk="B-PP"/>
1779
+ <token regexp="yes" case_sensitive="yes">[A-Z&amp;]{2,4}</token>
1780
+ <token>is</token>
1781
+ </antipattern>
1782
+ <antipattern>
1783
+ <token regexp="yes" case_sensitive="yes" chunk_re="E-NP.*">[A-Z&amp;]{2,4}</token>
1784
+ <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*"/>
1785
+ <token>is</token>
1786
+ </antipattern>
1787
+ <antipattern>
1788
+ <token regexp="yes" case_sensitive="yes">[A-Z&amp;]{2,4}</token>
1789
+ <token>and</token>
1790
+ <token regexp="yes" case_sensitive="yes">[A-Z&amp;]{2,4}</token>
1791
+ <token min="0" postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*"/>
1792
+ <token>is</token>
1793
+ </antipattern>
1794
+ <pattern>
1795
+ <token regexp="yes" case_sensitive="yes">[A-Z&amp;]{2,4}</token>
1796
+ <token min="0" postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*">
1797
+ <exception>)</exception>
1798
+ </token>
1799
+ <marker>
1800
+ <token>is</token>
1801
+ </marker>
1802
+ </pattern>
1803
+ <example correction="">CB&amp;I <marker>is</marker> very interested in working with Enron on such projects, in particular the Jose, Venezuela, and Bahamas projects, as well as others you are considering.</example>
1804
+ <example correction="">Given the relatively short lead time until LGS operations <marker>is</marker> sold, Citizens has requested expedited consideration.</example>
1805
+ <example>The facilities in CP&amp;L is rated 2 due to excess mw levels and location.</example>
1806
+ <example>As you are aware, PG&amp;E and EESI is currently in dispute regarding the PX credits and resulting payments from PG&amp;E to EESI.</example>
1807
+ </rule>
1808
+ <rule> <!-- [Unknown Singular] is -->
1809
+ <antipattern>
1810
+ <token skip="-1" postag="NNP?S" postag_regexp="yes"/>
1811
+ <token chunk_re="[BI]-NP-singular"/>
1812
+ <token postag="UNKNOWN" chunk="E-NP-singular"/>
1813
+ </antipattern>
1814
+ <antipattern>
1815
+ <token skip="-1" chunk_re=".+-NP-plural"/>
1816
+ <token chunk_re="[BI]-NP-singular"/>
1817
+ <token postag="UNKNOWN" chunk="E-NP-singular"/>
1818
+ </antipattern>
1819
+ <pattern>
1820
+ <token chunk_re="[BI]-NP-singular"/>
1821
+ <token postag="UNKNOWN" chunk="E-NP-singular">
1822
+ <exception>)</exception>
1823
+ </token>
1824
+ <marker>
1825
+ <token>is</token>
1826
+ </marker>
1827
+ </pattern>
1828
+ <example correction="">Some morphological evidence suggests the Neopterygii <marker>is</marker> paraphyletic; however, recent work, based on taxon orders, is arranged in what has been suggested to represent the evolutionary sequence down to the level of order, based primarily on the long history of morphological studies.</example>
1829
+ <example>Descriptions and numeric grades for coins (from highest to lowest) is as follows: In early 2001 Lockyer served subpoenas for documents on Reliant and Mirant under Government Code sections 11180, et seq.</example>
1830
+ </rule>
1831
+ <rule> <!-- JJ [JJ+NNP] is -->
1832
+ <pattern>
1833
+ <token postag="SENT_START" skip="1"/>
1834
+ <token postag="JJ" chunk_re="[BI]-NP-singular"/>
1835
+ <token postag="NNP" chunk="E-NP-singular"/>
1836
+ <marker>
1837
+ <token>is</token>
1838
+ </marker>
1839
+ </pattern>
1840
+ <example correction="">Scottish English <marker>is</marker> now increasingly replacing Scots.</example>
1841
+ </rule>
1842
+ <rule> <!-- I is ... (shouldn't be caught here)-->
1843
+ <pattern>
1844
+ <token postag="SENT_START|PCT|CC" postag_regexp="yes"/>
1845
+ <token case_sensitive="yes">I</token>
1846
+ <marker>
1847
+ <token>is</token>
1848
+ </marker>
1849
+ </pattern>
1850
+ <example correction="">I <marker>is</marker> at present very credit risk focussed.</example>
1851
+ <example correction="">Yes'em, I <marker>is</marker> here.</example>
1852
+ </rule>
1853
+ </rulegroup>
1854
+ <rulegroup id="AI_HYDRA_LEO_CPT_ARE_IS" name="">
1855
+ <rule> <!-- acronyms -->
1856
+ <pattern>
1857
+ <token regexp="yes" case_sensitive="yes">[A-Z&amp;]{2,4}s?</token>
1858
+ <token min="0" max="2" chunk_re=".-NP.*" />
1859
+ <marker>
1860
+ <token>are</token>
1861
+ </marker>
1862
+ </pattern>
1863
+ <example correction="">The move on the cost cut comes even as the FIs <marker>are</marker> busy negotiating with various prospective buyers of how the Enron stake could be bought by another company.</example>
1864
+ <example correction="">The BVI <marker>are</marker> known as one of the world's greatest sailing destinations, and charter sailboats are a very popular way to visit less accessible islands.</example>
1865
+ <example correction="">SLNG <marker>are</marker> to provide Enron and BG a copy of the Savannah Pilots Association working procedures for river traffic.</example>
1866
+ </rule>
1867
+ <rule> <!-- unknown postag -->
1868
+ <pattern>
1869
+ <token postag="UNKNOWN" chunk_re=".-NP.*" />
1870
+ <marker>
1871
+ <token>are</token>
1872
+ </marker>
1873
+ </pattern>
1874
+ <example correction="">Homeserve <marker>are</marker> not to reimburse anyone.</example>
1875
+ </rule>
1876
+ <rule> <!-- quotes, inside or out -->
1877
+ <pattern>
1878
+ <token skip="-1" regexp="yes">["“”„]</token>
1879
+ <marker>
1880
+ <token>are</token>
1881
+ </marker>
1882
+ </pattern>
1883
+ <example correction="">By threatening private property rights and undermining the rule of law, the U.S. government's shakedown of Bayer, Reksulak and Shughart conclude, "<marker>are</marker> far more damaging than any single terrorist attack has ever been."</example>
1884
+ <example correction="">"Where <marker>are</marker> their grandpa from?"</example>
1885
+ </rule>
1886
+ <rule> <!-- here/there are + compound subject -->
1887
+ <pattern>
1888
+ <token regexp="yes">t?here</token>
1889
+ <marker>
1890
+ <token>are</token>
1891
+ </marker>
1892
+ <token min="0" postag="RB" />
1893
+ <token chunk_re="B-NP.*" />
1894
+ <token min="0" max="2" chunk_re="I-NP.*" />
1895
+ <token chunk_re="E-NP.*" />
1896
+ <token>and</token>
1897
+ <token chunk_re="B-NP.*" />
1898
+ </pattern>
1899
+ <example correction="">There <marker>are</marker> also a All Star Cheerleader and We Cheer for the Wii in which one does routines at competitions with the Wiimote and Nunchuck.</example>
1900
+ </rule>
1901
+ <rule> <!-- which are -->
1902
+ <pattern>
1903
+ <token>which</token>
1904
+ <token min="0" postag="RB" />
1905
+ <marker>
1906
+ <token>are</token>
1907
+ </marker>
1908
+ </pattern>
1909
+ <example correction="">In other deregulated markets such as New York and New England, prices are capped at $1000 per megawatt hour, which <marker>are</marker> intended to be low enough to prevent market abuse but high enough to give generators incentive to build new plants.</example>
1910
+ <example correction="">In addition, the adjacent lands are of the same habitat types as that which <marker>are</marker> contained within the facility and therefore, would not be an issue of habitat loss.</example>
1911
+ <example correction="">One of the stars is a flare star, which <marker>are</marker> prone to sudden, random outbursts that last several minutes; these increase the pair's apparent brightness significantly - as high as magnitude 7.</example>
1912
+ <example correction="">The only larger species of raptor-like bird is the California Condor (Gymnogyps californianus), a New World vulture which today <marker>are</marker> not generally considered a taxonomic ally of true accipitrids.</example>
1913
+ </rule>
1914
+ <rule> <!-- who/what are VBN -->
1915
+ <pattern>
1916
+ <token regexp="yes">who|what</token>
1917
+ <marker>
1918
+ <token>are</token>
1919
+ </marker>
1920
+ <token postag="VBN" />
1921
+ </pattern>
1922
+ <example correction="">Even larger molecules are treated by classical mechanics methods that employ what <marker>are</marker> called molecular mechanics.</example>
1923
+ </rule>
1924
+ <rule> <!-- NNP are (could be ambiguous) -->
1925
+ <pattern>
1926
+ <token postag="NNPS?" postag_regexp="yes" />
1927
+ <marker>
1928
+ <token>are</token>
1929
+ </marker>
1930
+ </pattern>
1931
+ <example correction="">The Wu Xing <marker>are</marker> chiefly an ancient mnemonic device for systems with five stages; hence the preferred translation of "movements", "phases" or "steps" over "elements."</example>
1932
+ <example correction="">Miss. White and Miss. Gardner <marker>are</marker> in charge of the decorating. </example>
1933
+ <example correction="">The United States <marker>are</marker> a rogue state.</example>
1934
+ </rule>
1935
+ <rule> <!-- the + capitalized -->
1936
+ <pattern>
1937
+ <token>the</token>
1938
+ <token regexp="yes" case_sensitive="yes">[A-Z].*</token>
1939
+ <token min="0" regexp="yes" case_sensitive="yes">[A-Z].*</token>
1940
+ <marker>
1941
+ <token>are</token>
1942
+ </marker>
1943
+ </pattern>
1944
+ <example correction="">I was open in saying that the Resolution <marker>are</marker> weak from a legal standpoint.</example>
1945
+ </rule>
1946
+ <rule> <!-- British English / miscellaneous exceptions -->
1947
+ <pattern>
1948
+ <token regexp="yes">army|com|fish|government|measles|org|parliament|thou</token>
1949
+ <marker>
1950
+ <token>are</token>
1951
+ </marker>
1952
+ </pattern>
1953
+ <example correction="">In late December 2010, the Armenian Defense Minister, Seyran Ohanyan, officially acknowledged that the army <marker>are</marker> equipped with the Russian-made S-300 surface-to-air missiles.</example>
1954
+ <example correction="">Urbanfetch.com <marker>are</marker> talking a Kozmo buyout again, according to The New York Times.</example>
1955
+ <example correction="">The government <marker>are</marker> being criticised from all sides.</example>
1956
+ <example correction="">The measles <marker>are</marker> highly contagious.</example>
1957
+ <example correction="">Some scholars rely on John 8:57: "thou <marker>are</marker> not yet fifty years old", making the earliest possible year for Jesus's birth c. 18 BC.</example>
1958
+ </rule>
1959
+ <rule> <!-- following period or 'and' -->
1960
+ <pattern>
1961
+ <token regexp="yes">\.|and</token>
1962
+ <marker>
1963
+ <token>are</token>
1964
+ </marker>
1965
+ </pattern>
1966
+ <example correction="">Inc. <marker>are</marker> higher on news that it saw an 86% increase in sales at its shopping site during the holiday season.</example>
1967
+ <example correction="">Price said the new FASB rule applies to entities that report to the Securities Exchange Commission and <marker>are</marker> effective for fiscal years beginning after June 15, 2000, and Jan. 1, 2001, for companies reporting on a calendar year.</example>
1968
+ </rule>
1969
+ </rulegroup>
1970
+ <rulegroup id="AI_HYDRA_LEO_CP_YOU_YOUR" name="">
1971
+ <rule>
1972
+ <pattern>
1973
+ <marker>
1974
+ <token>you</token>
1975
+ </marker>
1976
+ <token regexp="yes">a?re</token>
1977
+ </pattern>
1978
+ <example correction="">Be true to who <marker>you</marker> are and what you believe in.</example>
1979
+ </rule>
1980
+ </rulegroup>
1981
+ <rulegroup id="AI_HYDRA_LEO_CP_YOU_YOURE" name="">
1982
+ <rule>
1983
+ <pattern>
1984
+ <marker>
1985
+ <token>you</token>
1986
+ </marker>
1987
+ <token regexp="yes">a?re</token>
1988
+ </pattern>
1989
+ <example correction="">Be true to who <marker>you</marker> are and what you believe in.</example>
1990
+ </rule>
1991
+ </rulegroup>
1992
+ <rulegroup id="AI_HYDRA_LEO_CP_TO_THE" name="">
1993
+ <rule>
1994
+ <pattern>
1995
+ <marker>
1996
+ <token>to</token>
1997
+ </marker>
1998
+ <token>the</token>
1999
+ </pattern>
2000
+ <example correction="">We are going <marker>to</marker> the zoo to eat some giraffes.</example>
2001
+ </rule>
2002
+ </rulegroup>
2003
+ <rulegroup id="AI_HYDRA_LEO_CP_THE_TO" name="">
2004
+ <rule>
2005
+ <pattern>
2006
+ <token>to</token>
2007
+ <marker>
2008
+ <token>the</token>
2009
+ </marker>
2010
+ </pattern>
2011
+ <example correction="">We are going to <marker>the</marker> zoo to eat the rhinos.</example>
2012
+ </rule>
2013
+ </rulegroup>
2014
+ <rulegroup id="AI_HYDRA_LEO_CP_YOU_YOUARE" name="">
2015
+ <rule>
2016
+ <pattern>
2017
+ <token>are</token>
2018
+ <marker>
2019
+ <token>you</token>
2020
+ </marker>
2021
+ </pattern>
2022
+ <example correction="">Why are <marker>you</marker> so lucky?</example>
2023
+ </rule>
2024
+ <rule>
2025
+ <pattern>
2026
+ <token>thank</token>
2027
+ <marker>
2028
+ <token>you</token>
2029
+ </marker>
2030
+ </pattern>
2031
+ <example correction="">Thank <marker>you</marker> in advance for your thoughts and views.</example>
2032
+ </rule>
2033
+ <rule>
2034
+ <pattern>
2035
+ <token postag="SENT_START" />
2036
+ <token>see</token>
2037
+ <marker>
2038
+ <token>you</token>
2039
+ </marker>
2040
+ <token chunk="B-PP" />
2041
+ </pattern>
2042
+ <example correction="">See <marker>you</marker> on the other side of the International Date Line.</example>
2043
+ </rule>
2044
+ <rule>
2045
+ <pattern>
2046
+ <token postag="MD" />
2047
+ <marker>
2048
+ <token>you</token>
2049
+ </marker>
2050
+ <token postag="VBN|JJ" postag_regexp="yes" />
2051
+ </pattern>
2052
+ <example correction="">Would <marker>you</marker> available?</example>
2053
+ </rule>
2054
+ <rule>
2055
+ <pattern>
2056
+ <marker>
2057
+ <token>you</token>
2058
+ </marker>
2059
+ <token regexp="yes" min="0">&apostrophe;</token>
2060
+ <token regexp="yes">'re|a?ren?|weren?|haven?</token>
2061
+ </pattern>
2062
+ <example correction=""><marker>You</marker> are happy.</example>
2063
+ </rule>
2064
+ </rulegroup>
2065
+ <rulegroup id="AI_HYDRA_LEO_MISSING_OF" name="">
2066
+ <rule>
2067
+ <pattern>
2068
+ <token>because</token>
2069
+ <marker>
2070
+ <token chunk_re="B-NP.*" />
2071
+ </marker>
2072
+ <token min="0" max="9" chunk_re=".-NP.*|B-PP" />
2073
+ <token chunk="B-VP" />
2074
+ </pattern>
2075
+ <example correction="">Even if the work performed by PGE is included as part of CSUF's CEQA filing for the substation project and PGE requests an exemption from the CPUC as discussed above, the time frame and outcomes for the CEQA process are uncertain because <marker>formal</marker> CPUC review and approval of our request for exemption is still required.</example>
2076
+ </rule>
2077
+ <rule>
2078
+ <pattern>
2079
+ <token>in</token>
2080
+ <token>any</token>
2081
+ <token regexp="yes">case|event</token>
2082
+ <marker>
2083
+ <token postag="NNP" />
2084
+ </marker>
2085
+ <token postag="," />
2086
+ </pattern>
2087
+ <example correction="">In any case <marker>Keegan</marker>, do not stress about it.</example>
2088
+ </rule>
2089
+ <rule>
2090
+ <pattern>
2091
+ <token>because</token>
2092
+ <marker>
2093
+ <token chunk_re="B-NP.*" />
2094
+ </marker>
2095
+ <token min="0" chunk_re="I-NP.*" />
2096
+ <token chunk_re="E-NP.*" />
2097
+ <token postag="POS" />
2098
+ <token chunk_re="E-NP.*" />
2099
+ <token postag="V.*" postag_regexp="yes" chunk="B-VP" />
2100
+ </pattern>
2101
+ <example correction="">At approximately the same time as Ney's combined-arms assault on the centre-right of Wellington's line, rallied elements of D'Erlon's I Corps, spearheaded by the 13th Légère, renewed the attack on La Haye Sainte, and this time were successful (partly because <marker>the</marker> defenders' ammunition ran out).</example>
2102
+ </rule>
2103
+ <rule>
2104
+ <pattern>
2105
+ <marker>
2106
+ <token>course</token>
2107
+ </marker>
2108
+ <token>hero</token>
2109
+ </pattern>
2110
+ <example correction=""><marker>Course</marker> Hero</example>
2111
+ </rule>
2112
+ </rulegroup>
2113
+ <rulegroup id="AI_HYDRA_LEO_MISSING_THE" name="">
2114
+ <rule>
2115
+ <pattern>
2116
+ <marker>
2117
+ <token case_sensitive="yes">Clubhouse</token>
2118
+ </marker>
2119
+ </pattern>
2120
+ <example correction="">He is using <marker>Clubhouse</marker> to communicate with his friends.</example>
2121
+ </rule>
2122
+ <rule>
2123
+ <pattern>
2124
+ <token regexp="yes">in|to|with(out)?|used?|using</token>
2125
+ <marker>
2126
+ <token case_sensitive="yes">Word</token>
2127
+ </marker>
2128
+ </pattern>
2129
+ <example correction="">I'm using <marker>Word</marker>.</example>
2130
+ </rule>
2131
+ </rulegroup>
2132
+ <rulegroup id="AI_HYDRA_LEO_MISSING_A" name="">
2133
+ <rule>
2134
+ <pattern>
2135
+ <token inflected="yes">be</token>
2136
+ <marker>
2137
+ <token>work</token>
2138
+ </marker>
2139
+ <token>in</token>
2140
+ <token>progress</token>
2141
+ </pattern>
2142
+ <example correction="">It is <marker>work</marker> in progress.</example>
2143
+ </rule>
2144
+ </rulegroup>
2145
+ <rulegroup id="AI_HYDRA_LEO_MISSING_TO" name="">
2146
+ <rule>
2147
+ <pattern>
2148
+ <token>to</token>
2149
+ <token min="0" postag="RB" />
2150
+ <marker>
2151
+ <token postag="VB" />
2152
+ </marker>
2153
+ </pattern>
2154
+ <example correction="">➡️To <marker>have</marker> a better view of the current state of knowledge quality, we could also create a questionnaire so we can gather information.</example>
2155
+ </rule>
2156
+ <rule>
2157
+ <pattern>
2158
+ <token>send</token>
2159
+ <token postag_regexp="yes" postag="PRP|NNP"/>
2160
+ <marker>
2161
+ <token>peace</token>
2162
+ </marker>
2163
+ </pattern>
2164
+ <example correction="">I suggest you talk to him and send him <marker>peace</marker>.</example>
2165
+ <example>I suggest you talk to him and send the email him.</example>
2166
+ </rule>
2167
+ </rulegroup>
2168
+ <rulegroup id="AI_HYDRA_LEO_MISSING_IT" name="">
2169
+ <rule>
2170
+ <pattern>
2171
+ <marker>
2172
+ <token>its</token>
2173
+ </marker>
2174
+ </pattern>
2175
+ <example correction=""><marker>Its</marker> been a long time and things are coming to their logical end.</example>
2176
+ <example>It's been a long time and things are coming to their logical end.</example>
2177
+ </rule>
2178
+ </rulegroup>
2179
+ <rulegroup id="AI_HYDRA_LEO_MISSING_COMMA" name="">
2180
+ <rule>
2181
+ <pattern>
2182
+ <token>neither</token>
2183
+ <token min="0" max="3" chunk_re="[BI]-NP.*" />
2184
+ <marker>
2185
+ <token chunk_re="E-NP.*" />
2186
+ </marker>
2187
+ <token>nor</token>
2188
+ <token chunk_re=".-NP.*" />
2189
+ </pattern>
2190
+ <example correction="">But neither <marker>deployment</marker> nor the local development flow, is containerized yet.</example>
2191
+ </rule>
2192
+ <rule>
2193
+ <pattern>
2194
+ <token postag="SENT_START|CC|PCT|TO" postag_regexp="yes" />
2195
+ <token regexp="yes">an?|another|more|one</token>
2196
+ <token min="0" max="2" chunk="I-NP-singular" />
2197
+ <marker>
2198
+ <token chunk="E-NP-singular" />
2199
+ </marker>
2200
+ <token postag="JJR" />
2201
+ </pattern>
2202
+ <example correction="">Another <marker>year</marker> wiser and greater!</example>
2203
+ </rule>
2204
+ <rule> <!-- no comma in middle of noun phrase I -->
2205
+ <antipattern>
2206
+ <token chunk="B-NP-plural" />
2207
+ <token chunk="B-NP-plural" />
2208
+ </antipattern>
2209
+ <pattern>
2210
+ <marker>
2211
+ <token postag="CD" chunk="B-NP-plural" />
2212
+ </marker>
2213
+ <token min="0" max="2" chunk="I-NP-plural" />
2214
+ <token chunk="E-NP-plural" />
2215
+ </pattern>
2216
+ <example correction="">She was found guilty and sentenced to <marker>ninety</marker> days in the Sacramento County</example>
2217
+ <example>Like all the great things on earth traveling teaches us by example.</example>
2218
+ </rule>
2219
+ <!--<rule>
2220
+ <antipattern>
2221
+ <token chunk="B-NP-singular" />
2222
+ <token chunk="B-NP-singular" />
2223
+ </antipattern>
2224
+ <pattern>
2225
+ <marker>
2226
+ <token chunk="B-NP-singular" />
2227
+ </marker>
2228
+ <token chunk_re="[IE]-NP-singular" />
2229
+ </pattern>
2230
+ <example correction="">She was found guilty and sentenced to <marker>a</marker> day</example>
2231
+ </rule>-->
2232
+ <rule> <!-- pattern taken from IF_NO_COMMA -->
2233
+ <pattern>
2234
+ <marker>
2235
+ <token chunk_re="E-NP.*" />
2236
+ </marker>
2237
+ <token skip="3" spacebefore="yes">when
2238
+ <exception scope="next" regexp="yes">,|–|-</exception>
2239
+ </token>
2240
+ <token skip="3" chunk_re=".-VP">
2241
+ <exception scope="next" regexp="yes">,|–|-</exception>
2242
+ </token>
2243
+ <token postag="SENT_END" regexp="yes">[.!?]</token>
2244
+ </pattern>
2245
+ <example correction="">What we mean by this is that if you ask yourself how much you exercised last week, you may conclude that it was five or six <marker>times</marker> when it was really only three.</example>
2246
+ </rule>
2247
+ <rule>
2248
+ <pattern>
2249
+ <token chunk_re="E-NP.*" postag="NN.*" postag_regexp="yes" />
2250
+ <marker>
2251
+ <token>but</token>
2252
+ </marker>
2253
+ <token>also</token>
2254
+ <token postag="VB[DPZ]|MD" postag_regexp="yes" chunk_re=".-VP" />
2255
+ </pattern>
2256
+ <suggestion>, but</suggestion>
2257
+ <example correction=", but">This not only saves you time<marker> but</marker> also maximizes your sales efforts, leading to higher revenue and business growth.</example>
2258
+ </rule>
2259
+ <rule>
2260
+ <pattern>
2261
+ <marker>
2262
+ <token>to</token>
2263
+ </marker>
2264
+ <token regexp="yes">\d+[a-z$€]?</token>
2265
+ </pattern>
2266
+ <example correction="">In the current release we are limited to values up <marker>to</marker> 65535 I believe.</example>
2267
+ </rule>
2268
+ <rule>
2269
+ <antipattern>
2270
+ <token skip="-1">but</token>
2271
+ <token postag="PRP_R.*" postag_regexp="yes" />
2272
+ <example>We came to realize that the problem isn't just a few bad corporations but the entire system itself.</example>
2273
+ </antipattern>
2274
+ <antipattern>
2275
+ <token>but</token>
2276
+ <token>far</token>
2277
+ <token>from</token>
2278
+ <example>Eric Moulds and Peerless Price are good gambles but far from sure things.</example>
2279
+ </antipattern>
2280
+ <antipattern>
2281
+ <token>but</token>
2282
+ <token>to</token>
2283
+ <token>no</token>
2284
+ <example>Tom asked for help but to no avail.</example>
2285
+ </antipattern>
2286
+ <antipattern> <!-- all "but"s except if followed by verb chunk -->
2287
+ <token skip="-1">but</token>
2288
+ <token chunk="B-VP" />
2289
+ <example>We have concluded there is limited value in Enron pursuing the regulated wires business but also that there is potential value in Epec's generation assets such as the Rio Grande Peaking Unit and other commercial opportunities in Cordoba.</example>
2290
+ </antipattern>
2291
+ <antipattern> <!-- all "but"s except if followed by "not" -->
2292
+ <token skip="-1">but</token>
2293
+ <token inflected="yes">not</token>
2294
+ <example>He needs the box that he's in but not right now.</example>
2295
+ </antipattern>
2296
+ <antipattern> <!-- all "but"s except if followed by a verb that is tagged as a verb only -->
2297
+ <token skip="-1">but</token>
2298
+ <token postag="VB[PZ]" postag_regexp="yes">
2299
+ <exception postag="V.*" postag_regexp="yes" negate_pos="yes" />
2300
+ </token>
2301
+ <example>This alignment is not indicated by an artificial structure but gains plausibility from the other two indicated lines.</example>
2302
+ <example>Misfortune arrives on horseback but departs on foot.</example>
2303
+ </antipattern>
2304
+ <antipattern>
2305
+ <token postag="SENT_START" />
2306
+ <token skip="10" chunk="B-VP" />
2307
+ <token>but</token>
2308
+ <example>Do it in haste but with care.</example>
2309
+ </antipattern>
2310
+ <antipattern>
2311
+ <token inflected="yes">not</token>
2312
+ <token skip="3">just</token>
2313
+ <token>but</token>
2314
+ <token>also</token>
2315
+ <example>The lotus has not just a flower but also a fruit.</example>
2316
+ </antipattern>
2317
+ <antipattern>
2318
+ <token skip="1" regexp="yes">more|less</token>
2319
+ <token skip="5">than</token>
2320
+ <token>but</token>
2321
+ <token skip="1" regexp="yes">more|less</token>
2322
+ <token>than</token>
2323
+ <example>A second-degree burn is more dangerous than a first-degree burn but less dangerous than a third-degree burn.</example>
2324
+ </antipattern>
2325
+ <pattern>
2326
+ <!-- slightly redundant, but apparently you need a token before the marker for generic pattern to match -->
2327
+ <token postag="IN|(J|N|RB).*|RP|TO|VB[GN]" postag_regexp="yes" />
2328
+ <marker>
2329
+ <token>but</token>
2330
+ </marker>
2331
+ </pattern>
2332
+ <suggestion>, but</suggestion>
2333
+ <example correction=", but">It's boring<marker> but</marker> less prone to bad surprises.</example>
2334
+ <example correction=", but">The toilet paper is soft<marker> but</marker> strong.</example>
2335
+ <example>John loves pizza but he loves ice-cream too.</example>
2336
+ </rule>
2337
+ <rule>
2338
+ <pattern>
2339
+ <token inflected="yes" chunk_re=".-VP">help</token>
2340
+ <token postag="NNP|PRP_O.*" postag_regexp="yes" />
2341
+ <marker>
2342
+ <token postag="VB" chunk="B-VP" />
2343
+ </marker>
2344
+ <token postag="NNP|PRP_O.*" postag_regexp="yes" />
2345
+ </pattern>
2346
+ <example correction="">Anything you do to help me <marker>help</marker> you will be very welcome.</example>
2347
+ </rule>
2348
+ <rule>
2349
+ <pattern>
2350
+ <token postag="CC|SENT_START|PCT" postag_regexp="yes" />
2351
+ <token postag="RB" min="0" />
2352
+ <token>now</token>
2353
+ <marker>
2354
+ <token>that</token>
2355
+ </marker>
2356
+ <token postag="DT|PRP\$" postag_regexp="yes" skip="5" />
2357
+ <token chunk_re=".-VP" />
2358
+ </pattern>
2359
+ <example correction="">Now <marker>that</marker> the formal rewriting is generated by in-house models</example>
2360
+ </rule>
2361
+ <rule>
2362
+ <pattern>
2363
+ <marker>
2364
+ <token chunk_re="E-NP.*" />
2365
+ </marker>
2366
+ <token>and</token>
2367
+ <token postag="PRP_S.*" postag_regexp="yes" />
2368
+ <token regexp="yes" inflected="yes">be|do|have</token>
2369
+ <token>n't</token>
2370
+ <token>either</token>
2371
+ <token postag="SENT_END" />
2372
+ </pattern>
2373
+ <example correction="">He wasn’t invited to the <marker>party</marker> and I wasn’t either.</example>
2374
+ </rule>
2375
+ <rule>
2376
+ <pattern>
2377
+ <token postag="VBN" chunk_re=".-VP" />
2378
+ <token postag="RB" chunk="B-ADVP" />
2379
+ <marker>
2380
+ <token>but</token>
2381
+ </marker>
2382
+ <token postag="VB(P|Z|D)?" postag_regexp="yes" chunk="B-VP" />
2383
+ </pattern>
2384
+ <suggestion>, but</suggestion>
2385
+ <example correction=", but">Some words are spelled or pronounced similarly<marker> but</marker> have two different meanings.</example>
2386
+ <example correction=", but">In other words, the letters aren’t pronounced individually<marker> but</marker> are pronounced as a whole.</example>
2387
+ </rule>
2388
+ <rule>
2389
+ <pattern>
2390
+ <token chunk_re=".-(AD|NP|PP).*" />
2391
+ <marker>
2392
+ <token>but</token>
2393
+ </marker>
2394
+ <token inflected="yes" regexp="yes">be|have</token>
2395
+ <token postag="RB" min="0" />
2396
+ <token postag="VB[GN]" postag_regexp="yes" chunk_re=".-VP" />
2397
+ </pattern>
2398
+ <suggestion>, but</suggestion>
2399
+ <example correction=", but">Fuel prices have hit record highs this year<marker> but</marker> are anticipated to start failing in 2024/25.</example>
2400
+ </rule>
2401
+ <rule>
2402
+ <pattern>
2403
+ <token chunk_re=".-(AD|NP|PP).*" />
2404
+ <marker>
2405
+ <token regexp="yes">but|and|or</token>
2406
+ </marker>
2407
+ <token inflected="yes" regexp="yes">do|will|should|[wc]ould|can|cannot</token>
2408
+ <token postag="RB" min="0" />
2409
+ <token postag="VB" />
2410
+ </pattern>
2411
+ <suggestion>, but</suggestion>
2412
+ <example correction=", but">I contacted Recurly support two days ago<marker> but</marker> did not receive an acknowledgement of receipt.</example>
2413
+ </rule>
2414
+ <rule>
2415
+ <!-- #1 Single non-alphanumeric characters. -->
2416
+ <pattern>
2417
+ <token regexp="yes">\W</token>
2418
+ </pattern>
2419
+ <example correction="">In addition he won the Championship Series titles in 1980<marker>,</marker> the precursors to the current Masters 1000</example>
2420
+ </rule>
2421
+ <rule>
2422
+ <!-- #2 Tokens that are followed by a comma or a full stop. -->
2423
+ <pattern>
2424
+ <marker>
2425
+ <token/>
2426
+ </marker>
2427
+ <token regexp="yes">,|\.</token>
2428
+ </pattern>
2429
+ <example correction="">This is an <marker>antipattern</marker>.</example>
2430
+ <example correction="">This is another <marker>case</marker>, for this rule</example>
2431
+ </rule>
2432
+ <rule>
2433
+ <!-- #3 Numbers of the form ,3212 or .93212. -->
2434
+ <pattern>
2435
+ <token regexp="yes">,|\.</token>
2436
+ <marker>
2437
+ <token regexp="yes" spacebefore="no">\d+</token>
2438
+ </marker>
2439
+ </pattern>
2440
+ <example correction="">The amount charged and paid by joint ventures is $5,<marker>091062</marker>.</example>
2441
+ <example correction="">The amount charged and paid by joint ventures is $5.<marker>091062</marker>.</example>
2442
+ </rule>
2443
+ <rule>
2444
+ <!-- #4 numbers -->
2445
+ <pattern>
2446
+ <token regexp="yes">\d+</token>
2447
+ </pattern>
2448
+ <example correction="">Approximately <marker>7000</marker> messages were sent daily from the United States to Canada.</example>
2449
+ </rule>
2450
+ <rule>
2451
+ <!-- -#5 Numbers representing money. -->
2452
+ <regexp mark="1">[\$€£¥](\d+)</regexp>
2453
+ <example correction="">The amount charged and paid by joint ventures is $<marker>91062</marker>.</example>
2454
+ <example correction="">The amount charged and paid by joint ventures is €<marker>91062</marker>.</example>
2455
+ <example correction="">The amount charged and paid by joint ventures is £<marker>91062</marker>.</example>
2456
+ <example correction="">The amount charged and paid by joint ventures is ¥<marker>91062</marker>.</example>
2457
+ </rule>
2458
+ <rule>
2459
+ <!-- #6 -->
2460
+ <regexp mark="1">(\d+)[\$€£¥]</regexp>
2461
+ <example correction="">The amount charged and paid by joint ventures is <marker>91062</marker>$.</example>
2462
+ <example correction="">The amount charged and paid by joint ventures is <marker>91062</marker>€.</example>
2463
+ <example correction="">The amount charged and paid by joint ventures is <marker>91062</marker>£.</example>
2464
+ <example correction="">The amount charged and paid by joint ventures is <marker>91062</marker>¥.</example>
2465
+ </rule>
2466
+ <rule>
2467
+ <!-- #7 -->
2468
+ <pattern>
2469
+ <marker>
2470
+ <token regexp="yes">[\$€£¥][0-9.,]+</token>
2471
+ </marker>
2472
+ </pattern>
2473
+ <example correction="">The amount charged and paid by joint ventures is <marker>$91062</marker>.</example>
2474
+ <example correction="">The amount charged and paid by joint ventures is <marker>€91062</marker>.</example>
2475
+ <example correction="">The amount charged and paid by joint ventures is <marker>£91062</marker>.</example>
2476
+ <example correction="">The amount charged and paid by joint ventures is <marker>¥91062</marker>.</example>
2477
+ </rule>
2478
+ <rule>
2479
+ <!-- #8 -->
2480
+ <pattern>
2481
+ <marker>
2482
+ <token regexp="yes">[0-9.,]+[\$€£¥]</token>
2483
+ </marker>
2484
+ </pattern>
2485
+ <example correction="">The amount charged and paid by joint ventures is <marker>91062$</marker>.</example>
2486
+ <example correction="">The amount charged and paid by joint ventures is <marker>91062€</marker>.</example>
2487
+ <example correction="">The amount charged and paid by joint ventures is <marker>91062£</marker>.</example>
2488
+ <example correction="">The amount charged and paid by joint ventures is <marker>91062¥</marker>.</example>
2489
+ </rule>
2490
+ <rule>
2491
+ <!-- #9 Numbers representing information size (e.g. disk size). -->
2492
+ <pattern>
2493
+ <marker>
2494
+ <token regexp="yes">\d+</token>
2495
+ </marker>
2496
+ <token regexp="yes">[KMGTP]B</token>
2497
+ </pattern>
2498
+ <example correction="">Your mailbox size is currently <marker>179945</marker> KB.</example>
2499
+ <example correction="">Your mailbox size is currently <marker>17</marker> GB.</example>
2500
+ </rule>
2501
+ <rule>
2502
+ <!-- #10 Date representation e.g. 12/5/21 -->
2503
+ <pattern>
2504
+ <token regexp="yes">\d{1,4}</token>
2505
+ <token regexp="yes">\/|-</token>
2506
+ <token regexp="yes">\d{1,4}</token>
2507
+ <token regexp="yes">\/|-</token>
2508
+ <marker>
2509
+ <token regexp="yes">\d{1,4}</token>
2510
+ </marker>
2511
+ </pattern>
2512
+ <example correction="">Updated 11/29/<marker>00</marker> Person was activated from the injured list on Tuesday after missing Cleveland's last eight games with an elbow injury.</example>
2513
+ </rule>
2514
+ <rule>
2515
+ <!-- #11 Date representation e.g. May 5th -->
2516
+ <pattern>
2517
+ <or>
2518
+ <token regexp="yes">January|February|March|April|May|June|July|August|September|October|November|December</token>
2519
+ <token regexp="yes">Jan|Feb|Mar|Apr|Jun|Jul|Aug|Sep|Oct|Nov|Dec</token>
2520
+ </or>
2521
+ <token min="0">.</token>
2522
+ <marker>
2523
+ <token regexp="yes">1st|2nd|3rd|\d+th</token>
2524
+ </marker>
2525
+ </pattern>
2526
+ <example correction="">On May <marker>5th</marker> of the year 2021.</example>
2527
+ <example correction="">On Sep. <marker>2nd</marker> of the year 2021.</example>
2528
+ <example correction="">On Sep <marker>2nd</marker> of the year 2021.</example>
2529
+ <example correction="">On Sep <marker>20th</marker> of the year 2021.</example>
2530
+ </rule>
2531
+ <rule>
2532
+ <!-- #12 more money more problems -->
2533
+ <pattern>
2534
+ <marker>
2535
+ <token postag="IN|RP|TO" postag_regexp="yes" />
2536
+ </marker>
2537
+ <token postag="CD" />
2538
+ <token regexp="yes">[\$€£¥]</token>
2539
+ </pattern>
2540
+ <example correction="">Please find attached the adjustment to the price: The former shareholders will get a payment <marker>of</marker> 5001 € in total.</example>
2541
+ </rule>
2542
+ <rule>
2543
+ <pattern>
2544
+ <marker>
2545
+ <token regexp="yes">.*[a-z0-9].*</token>
2546
+ </marker>
2547
+ <token>because</token>
2548
+ </pattern>
2549
+ <example correction="">That a local phone number was disconnected is <marker>irrelevant</marker> because keegan called my cell phone number and spoke with my fiance.</example>
2550
+ </rule>
2551
+ <rule>
2552
+ <regexp mark="1">[\-@]([a-z0-9äöüßéèàáóòíì]+)\sbecause</regexp>
2553
+ <example correction="">These rules get some special treatments in our add-<marker>on</marker> because not every double space is a double space.</example>
2554
+ </rule>
2555
+ <rule>
2556
+ <pattern>
2557
+ <marker>
2558
+ <token/>
2559
+ </marker>
2560
+ <token>as</token>
2561
+ <token>well</token>
2562
+ <token postag="SENT_END"/>
2563
+ </pattern>
2564
+ <example correction="">The crisis has affected the public <marker>sector</marker> as well.</example>
2565
+ </rule>
2566
+ <rule>
2567
+ <pattern>
2568
+ <marker>
2569
+ <token/>
2570
+ </marker>
2571
+ <token>as</token>
2572
+ <token postag="SENT_END">well</token>
2573
+ </pattern>
2574
+ <example correction="">The crisis has affected the public <marker>sector</marker> as well</example>
2575
+ </rule>
2576
+ <rule>
2577
+ <!-- no comma before yet/now/also -->
2578
+ <pattern>
2579
+ <marker>
2580
+ <token regexp="yes">.*[a-z0-9].*</token>
2581
+ </marker>
2582
+ <token regexp="yes">yet|now|also</token>
2583
+ </pattern>
2584
+ <example correction="">He hasn't done <marker>that</marker> yet.</example>
2585
+ </rule>
2586
+ <rule>
2587
+ <!-- no comma in numbers with decimal point (caused by stray &amp;) -->
2588
+ <pattern>
2589
+ <marker>
2590
+ <token regexp="yes">.\d+</token>
2591
+ </marker>
2592
+ <token>.</token>
2593
+ <token regexp="yes">\d+</token>
2594
+ </pattern>
2595
+ <example correction="">We made <marker>&amp;127508</marker>.45 moving power incrementally.</example>
2596
+ </rule>
2597
+ <rule>
2598
+ <!-- no comma before % -->
2599
+ <pattern>
2600
+ <token regexp="yes">\d+%</token>
2601
+ </pattern>
2602
+ <example correction="">Since 1986, the Hager portfolios have earned an annualized return of 30.8 M, while outperforming the Dow by <marker>1530%</marker>.</example>
2603
+ </rule>
2604
+ <rule>
2605
+ <pattern>
2606
+ <marker>
2607
+ <token regexp="yes">[\$€£¥฿₹\u8371][0-9.,]+</token>
2608
+ </marker>
2609
+ <token regexp="yes">(m|b|tr|quadr|quint|sext|sept|oct|non)illion|advance|fine</token>
2610
+ </pattern>
2611
+ <example correction="">This deal was again extended in June 2013 in a deal worth <marker>£300</marker> million over another ten years.</example>
2612
+ <example correction="">In 1876, Wallace needed a <marker>£500</marker> advance from the publisher of The Geographical Distribution of Animals to avoid having to sell some of his personal property.</example>
2613
+ <example correction="">BrAC 250–400 = <marker>€200</marker> fine.</example>
2614
+ </rule>
2615
+ <rule>
2616
+ <pattern>
2617
+ <marker>
2618
+ <token regexp="yes">[\$€£¥฿₹\u8371][0-9.,]+</token>
2619
+ </marker>
2620
+ <token regexp="yes">a|each|every</token>
2621
+ <token regexp="yes">century|decade|lust(er|re)|year|(se|quadri|tri)mester|month|fortnight|week|day|night|hour|minute|second</token>
2622
+ </pattern>
2623
+ <example correction="">He tendered his formal resignation and was granted a pension of <marker>£500</marker> a year.</example>
2624
+ </rule>
2625
+ <rule>
2626
+ <pattern>
2627
+ <marker>
2628
+ <token regexp="yes">[\$€£¥฿₹\u8371][0-9.,]+</token>
2629
+ </marker>
2630
+ <token>of</token>
2631
+ <token regexp="yes">debi?ts?|arrears|credit|dues</token>
2632
+ </pattern>
2633
+ <example correction="">To apply for your own bankruptcy in Scotland you must have more than <marker>£1500</marker> of debt.</example>
2634
+ </rule>
2635
+ <rule>
2636
+ <pattern>
2637
+ <marker>
2638
+ <token />
2639
+ </marker>
2640
+ <token>so</token>
2641
+ <token>that</token>
2642
+ <token chunk_re=".-NP.*" />
2643
+ </pattern>
2644
+ <example correction="">We will do <marker>it</marker> so that nobody complains.</example>
2645
+ </rule>
2646
+ <rule>
2647
+ <pattern>
2648
+ <marker>
2649
+ <token>the</token>
2650
+ </marker>
2651
+ </pattern>
2652
+ <example correction="">A sole Russian aircraft carrier, <marker>the</marker> is rarely out to sea.</example>
2653
+ </rule>
2654
+ <rule>
2655
+ <pattern>
2656
+ <marker>
2657
+ <token />
2658
+ </marker>
2659
+ <token regexp="yes">inc|ltd</token>
2660
+ <token>.</token>
2661
+ </pattern>
2662
+ <example correction="">Internal Memo from Lynn Bellinghausen to Wynne Snoots and Marshall <marker>Eubank</marker> Inc.</example>
2663
+ </rule>
2664
+ <rule>
2665
+ <pattern>
2666
+ <token regexp="yes">inc|ltd</token>
2667
+ <marker>
2668
+ <token>.</token>
2669
+ </marker>
2670
+ </pattern>
2671
+ <example correction="">Internal Memo from Lynn Bellinghausen to Wynne Snoots and Marshall Eubank Inc <marker>.</marker></example>
2672
+ </rule>
2673
+ <rule>
2674
+ <pattern>
2675
+ <marker>
2676
+ <token>Jack</token>
2677
+ </marker>
2678
+ <token>Ma</token>
2679
+ </pattern>
2680
+ <example correction="">Remember when this was all about <marker>Jack</marker> Ma?</example>
2681
+ </rule>
2682
+ <rule>
2683
+ <pattern>
2684
+ <token postag="PCT|SENT_START" postag_regexp="yes" />
2685
+ <marker>
2686
+ <token>attached</token>
2687
+ </marker>
2688
+ <token inflected="yes" regexp="yes">be|please</token>
2689
+ </pattern>
2690
+ <example correction="">Mark, <marker>attached</marker> is a file.</example>
2691
+ </rule>
2692
+ <rule>
2693
+ <pattern>
2694
+ <marker>
2695
+ <token regexp="yes">.*[a-z].*</token>
2696
+ </marker>
2697
+ <token spacebefore="no" regexp="yes">["“”’]</token>
2698
+ </pattern>
2699
+ <example correction="">“It is the pickup <marker>stop</marker>” he explained.</example>
2700
+ </rule>
2701
+ <rule>
2702
+ <pattern>
2703
+ <marker>
2704
+ <token regexp="yes">.*[a-z].*</token>
2705
+ </marker>
2706
+ <token>LLC</token>
2707
+ </pattern>
2708
+ <example correction="">He works for the Learning <marker>Company</marker> LLC.</example>
2709
+ </rule>
2710
+ <rule>
2711
+ <pattern>
2712
+ <marker>
2713
+ <token>what</token>
2714
+ </marker>
2715
+ <token>exactly</token>
2716
+ </pattern>
2717
+ <example correction="">I do not know <marker>what</marker> exactly, …</example>
2718
+ </rule>
2719
+ <rule>
2720
+ <pattern>
2721
+ <marker>
2722
+ <token regexp="yes">.*[a-z].*</token>
2723
+ </marker>
2724
+ <token regexp="yes">[js]r</token>
2725
+ </pattern>
2726
+ <example correction="">He is Martin Luther <marker>King</marker> Jr.</example>
2727
+ </rule>
2728
+ <rule>
2729
+ <pattern>
2730
+ <marker>
2731
+ <token postag="SENT_END" regexp="yes">.*[a-z0-9].*</token>
2732
+ </marker>
2733
+ </pattern>
2734
+ <example correction="">Please call <marker>911</marker></example>
2735
+ </rule>
2736
+ <rule>
2737
+ <!-- non-independent clauses with no subject -->
2738
+ <pattern>
2739
+ <marker>
2740
+ <token/>
2741
+ </marker>
2742
+ <token>but</token>
2743
+ <token postag="VB[PZD]|MD" postag_regexp="yes"/>
2744
+ </pattern>
2745
+ <example correction="">Boxers are not designed for <marker>support</marker> but excel in breathability.</example>
2746
+ </rule>
2747
+ <rule>
2748
+ <!-- non-independent clauses with no predicate -->
2749
+ <antipattern>
2750
+ <token>but</token>
2751
+ <token>no</token>
2752
+ <token min="0">such</token>
2753
+ <token>luck</token>
2754
+ </antipattern>
2755
+ <pattern>
2756
+ <marker>
2757
+ <token/>
2758
+ </marker>
2759
+ <token skip="-1">but<exception scope="next" postag="VB[PZD]|MD" postag_regexp="yes"/></token>
2760
+ <token postag="SENT_END"/>
2761
+ </pattern>
2762
+ <example correction="">Bikinis make you feel like you are at the <marker>beach</marker> but without the sand.</example>
2763
+ <example>I tried using promises but no luck.</example>
2764
+ </rule>
2765
+ <rule>
2766
+ <pattern>
2767
+ <token>University</token>
2768
+ <marker>
2769
+ <token>College</token>
2770
+ </marker>
2771
+ <token>London</token>
2772
+ </pattern>
2773
+ <example correction="">2010; University <marker>College</marker> London, UK.</example>
2774
+ </rule>
2775
+ <rule>
2776
+ <!-- # No commas after twitter handles e.g. @jack -->
2777
+ <regexp mark="1">^@(\S+)</regexp>
2778
+ <example correction="">@<marker>jack</marker> you are right.</example>
2779
+ </rule>
2780
+ <rule>
2781
+ <!-- # No commas after twitter handles e.g. @Jessia Schwarz -->
2782
+ <pattern>
2783
+ <token postag="SENT_START" />
2784
+ <token regexp="yes" case_sensitive="yes">@[A-Z].+</token>
2785
+ <marker>
2786
+ <token regexp="yes" case_sensitive="yes">[A-Z].+</token>
2787
+ </marker>
2788
+ </pattern>
2789
+ <example correction="">@Jessica <marker>Schwarz</marker> could you have a look?</example>
2790
+ </rule>
2791
+ <rule>
2792
+ <!-- # No commas after twitter handles e.g. @Jessia Schwarz -->
2793
+ <pattern>
2794
+ <token postag="SENT_START" />
2795
+ <token regexp="yes" case_sensitive="yes">@[A-Z].+</token>
2796
+ <token regexp="yes">v[oa]n|del</token>
2797
+ <token regexp="yes" min="0">der?</token>
2798
+ <marker>
2799
+ <token regexp="yes" case_sensitive="yes">[A-Z].+</token>
2800
+ </marker>
2801
+ </pattern>
2802
+ <example correction="">@Jessica van der <marker>Heet</marker> could you have a look?</example>
2803
+ </rule>
2804
+ <rule>
2805
+ <pattern>
2806
+ <marker>
2807
+ <token regexp="yes">[\$€£]\d+</token>
2808
+ </marker>
2809
+ </pattern>
2810
+ <example correction="">Peter ultimately bought <marker>£200</marker> (270 USD) portable units for each classroom.</example>
2811
+ </rule>
2812
+ <rule>
2813
+ <pattern>
2814
+ <token postag="SENT_START"/>
2815
+ <token>It</token>
2816
+ <token inflected="yes">be</token>
2817
+ <token min="0" max="2" postag="RB"/>
2818
+ <marker>
2819
+ <token postag="JJR?" postag_regexp="yes"/>
2820
+ </marker>
2821
+ <token postag="VBG"/>
2822
+ </pattern>
2823
+ <example correction="">It’s not always <marker>easy</marker> adding signs or symbols that aren’t typical in the English language.</example>
2824
+ </rule>
2825
+ <rule>
2826
+ <pattern>
2827
+ <marker>
2828
+ <token />
2829
+ </marker>
2830
+ <token>…</token>
2831
+ </pattern>
2832
+ <example correction="">It is amaazing how I let so many things be missing in the <marker>thesis</marker>… was I blind?</example>
2833
+ </rule>
2834
+ <rule>
2835
+ <!-- copula adverb digit -->
2836
+ <pattern>
2837
+ <token inflected="yes">be</token>
2838
+ <marker>
2839
+ <token regexp="yes" postag="RB">.*ly|about</token>
2840
+ </marker>
2841
+ <token regexp="yes">[$€£¥฿₹₿\u8371]?\d+</token>
2842
+ </pattern>
2843
+ <example correction="">Your mailbox size is <marker>currently</marker> 102530 KB.</example>
2844
+ <example correction="">I have checked our log files, and there are <marker>about</marker> 2600 requests on March 17 from your user account.</example>
2845
+ </rule>
2846
+ <rule>
2847
+ <!-- currency symbol digit -->
2848
+ <pattern>
2849
+ <marker>
2850
+ <token />
2851
+ </marker>
2852
+ <token regexp="yes">[$€£¥฿₹₿\u8371]\d+</token>
2853
+ </pattern>
2854
+ <example correction="">There's no minimum contract length, but the minimum fee <marker>of</marker> €1500/month.</example>
2855
+ <example correction="">The pricing for our on-premise solution starts <marker>at</marker> €7056 per year.</example>
2856
+ <example correction="">The price for our on-premise version a one-time payment <marker>of</marker> €1000 for support during set-up.</example>
2857
+ </rule>
2858
+ <rule>
2859
+ <!-- digit currency symbol -->
2860
+ <pattern>
2861
+ <marker>
2862
+ <token />
2863
+ </marker>
2864
+ <token regexp="yes">\d+[$€£¥฿₹₿\u8371]</token>
2865
+ </pattern>
2866
+ <example correction="">There's no minimum contract length, but the minimum fee <marker>of</marker> 1500€/month.</example>
2867
+ <example correction="">The pricing for our on-premise solution starts <marker>at</marker> 7056€ per year.</example>
2868
+ <example correction="">The price for our on-premise version is €6427 per year plus a one-time payment <marker>of</marker> 1000€ for support during set-up.</example>
2869
+ </rule>
2870
+ <rule>
2871
+ <!-- currency acronym digit -->
2872
+ <pattern>
2873
+ <marker>
2874
+ <token regexp="yes" case_sensitive="yes">[A-Z]{3}</token>
2875
+ </marker>
2876
+ <token regexp="yes">\d+</token>
2877
+ </pattern>
2878
+ <example correction="">The new monthly payment will be <marker>AUD</marker> 1152.</example>
2879
+ <example correction="">Thanks, we've wired about <marker>USD</marker> 8229.</example>
2880
+ </rule>
2881
+ <rule>
2882
+ <!-- digit currency acronym -->
2883
+ <pattern>
2884
+ <marker>
2885
+ <token />
2886
+ </marker>
2887
+ <token regexp="yes">\d+</token>
2888
+ <token regexp="yes" case_sensitive="yes">[A-Z]{3}</token>
2889
+ </pattern>
2890
+ <example correction="">Thanks, we've wired <marker>about</marker> 8229 USD.</example>
2891
+ </rule>
2892
+ <rule>
2893
+ <pattern>
2894
+ <token postag="SENT_START"/>
2895
+ <token skip="1">a</token>
2896
+ <marker>
2897
+ <token postag="NN.*" postag_regexp="yes"/>
2898
+ </marker>
2899
+ <token>like</token>
2900
+ </pattern>
2901
+ <example correction="">A <marker>phrase</marker> like “I appreciate your prompt response,” tells the recipient that you’re waiting for a response sooner rather than later.</example>
2902
+ </rule>
2903
+ <rule>
2904
+ <antipattern>
2905
+ <token regexp="yes" skip="-1">[„⹂“″‟”«‹›»"]</token>
2906
+ <token regexp="yes" skip="-1">[„⹂“″‟”«‹›»"]</token>
2907
+ <token regexp="yes">[„⹂“″‟”«‹›»"]</token>
2908
+ </antipattern>
2909
+ <pattern>
2910
+ <token skip="1" postag="SENT_START"/>
2911
+ <marker>
2912
+ <token skip="1" postag="NN.*" postag_regexp="yes"/>
2913
+ </marker>
2914
+ <token skip="-1" regexp="yes">[“«‹„"]</token>
2915
+ <token>,</token>
2916
+ <token regexp="yes" spacebefore="no">[”″›»"]</token>
2917
+ </pattern>
2918
+ <example correction="">The <marker>phrase</marker> “I appreciate your prompt response,” tells the recipient that you’re waiting for a response sooner rather than later.</example>
2919
+ <example correction="">A <marker>phrase</marker> like “I appreciate your prompt response,” tells the recipient that you’re waiting for a response sooner rather than later.</example>
2920
+ <example>My child " he said, "God paid your bill a long, long time ago."</example><!-- Characters missing, but rule should still match -->
2921
+ </rule>
2922
+ <rule>
2923
+ <pattern>
2924
+ <marker>
2925
+ <token postag="IN|VB.*" postag_regexp="yes"/>
2926
+ </marker>
2927
+ <token regexp="yes">\d+</token>
2928
+ <token postag="NN.*|SENT_END|PCT|POS" postag_regexp="yes"/>
2929
+ </pattern>
2930
+ <example correction="">It reached an all-time high <marker>of</marker> 425000.</example>
2931
+ <example correction="">Over <marker>past</marker> 18000 years, they migrated north.</example>
2932
+ <example correction="">And then it went up <marker>from</marker> 10000 hectares.</example>
2933
+ <example correction="">Affected more <marker>than</marker> 8000 people</example>
2934
+ <example correction="">It's not as old as Yamaha FZ6 <marker>with</marker> 9000 miles on it.</example>
2935
+ <example correction="">There are an <marker>estimated</marker> 300000 ships in the gulf.</example>
2936
+ <example correction="">It links the article which <marker>has</marker> 1674 words.</example>
2937
+ <example correction="">We are <marker>selling</marker> 2022's (with the bonus editions included)</example>
2938
+ <example correction="">It was calculated by <marker>feeding</marker> 32128 tokens.</example>
2939
+ </rule>
2940
+ <rule>
2941
+ <pattern>
2942
+ <token>University</token>
2943
+ <token>of</token>
2944
+ <marker>
2945
+ <token postag="NNPS?" postag_regexp="yes">
2946
+ <exception>California</exception>
2947
+ </token>
2948
+ </marker>
2949
+ <token postag="NNPS?" postag_regexp="yes"/>
2950
+ </pattern>
2951
+ <example correction="">University of <marker>Colorado</marker> Boulder</example>
2952
+ <example correction="">University of <marker>Massachusetts</marker> Amherst</example>
2953
+ <example correction="">University of <marker>Massachusetts</marker> Boston</example>
2954
+ <example correction="">University of <marker>Massachusetts</marker> Lowell</example>
2955
+ <example correction="">University of <marker>Illinois</marker> Chicago</example>
2956
+ <example correction="">University of <marker>Texas</marker> Rio Grande Valley</example>
2957
+ <example>University of California Berkeley</example><!-- UC universities use a comma in the title -->
2958
+ <example>University of California San Francisco</example>
2959
+ <example>University of California Los Angeles</example>
2960
+ </rule>
2961
+ <rule>
2962
+ <pattern>
2963
+ <marker>
2964
+ <token postag="NNPS?" postag_regexp="yes"/>
2965
+ </marker>
2966
+ <token regexp="yes">\d+</token>
2967
+ <token>)</token>
2968
+ <token postag="SENT_END"/>
2969
+ </pattern>
2970
+ <example correction="">(Goodrich and <marker>Hackett</marker> 528).</example>
2971
+ <example correction="">(Atshan &amp; <marker>Moore</marker> 681).</example>
2972
+ <example correction="">...It’s a gift” (<marker>Golding</marker> 124).</example>
2973
+ <example correction="">(Schroeder and <marker>Shah</marker> 2007).</example>
2974
+ </rule>
2975
+ <rule>
2976
+ <pattern>
2977
+ <token>,</token>
2978
+ <marker>
2979
+ <token/>
2980
+ </marker>
2981
+ <token>however</token>
2982
+ <token>,</token>
2983
+ </pattern>
2984
+ <example correction="">It removes the sediment and minerals, <marker>without</marker> however, affecting the flavor.</example>
2985
+ </rule>
2986
+ <rule>
2987
+ <pattern>
2988
+ <token chunk_re="B-NP.*" skip="3"/>
2989
+ <marker>
2990
+ <token case_sensitive="yes" regexp="yes">Acts?</token>
2991
+ </marker>
2992
+ <token regexp="yes">[12]?\d\d\d</token>
2993
+ </pattern>
2994
+ <example correction="">Mental health <marker>Acts</marker> 1983</example>
2995
+ </rule>
2996
+ <rule>
2997
+ <pattern>
2998
+ <token>read</token>
2999
+ <marker>
3000
+ <token>out</token>
3001
+ </marker>
3002
+ <token postag="RB" regexp="yes">\w+ly</token>
3003
+ <token>,</token>
3004
+ </pattern>
3005
+ <example correction=""> She read <marker>out</marker> loudly, so that the others could hear her</example>
3006
+ </rule>
3007
+ <rule>
3008
+ <pattern>
3009
+ <token chunk="B-PP" />
3010
+ <marker>
3011
+ <token regexp="yes">singular|plural</token>
3012
+ </marker>
3013
+ <token>they</token>
3014
+ </pattern>
3015
+ <example correction="">The use of <marker>singular</marker> they has been around for a long time.</example>
3016
+ </rule>
3017
+ <rule>
3018
+ <pattern>
3019
+ <token postag="P?DT|PRP\$.*" postag_regexp="yes" chunk_re="B-NP.*" />
3020
+ <marker>
3021
+ <token regexp="yes">singular|plural</token>
3022
+ </marker>
3023
+ <token>they</token>
3024
+ </pattern>
3025
+ <example correction="">The use of a <marker>singular</marker> they sparks a lot of debate.</example>
3026
+ </rule>
3027
+ <rule>
3028
+ <pattern>
3029
+ <marker>
3030
+ <token />
3031
+ </marker>
3032
+ <token regexp="yes">\u2063</token>
3033
+ </pattern>
3034
+ <example correction="">What I did was revert <marker>to</marker> &#8291; which was a lot faster than using portals.</example>
3035
+ </rule>
3036
+ <rule>
3037
+ <pattern>
3038
+ <marker>
3039
+ <token>than</token>
3040
+ </marker>
3041
+ <token regexp="yes">[\$€]?\d+[mkg]?</token>
3042
+ </pattern>
3043
+ <example correction="">There are more <marker>than</marker> 500k</example>
3044
+ </rule>
3045
+ <rule>
3046
+ <pattern>
3047
+ <marker>
3048
+ <token regexp="yes">your|my|their|the</token>
3049
+ </marker>
3050
+ </pattern>
3051
+ <example correction="">Is this <marker>your</marker> 900 page document?</example>
3052
+ </rule>
3053
+ <rule>
3054
+ <pattern>
3055
+ <marker>
3056
+ <token postag="DT|PRP\$|NN|NN:UN?|JJ.*" postag_regexp="yes" />
3057
+ </marker>
3058
+ <token case_sensitive="yes">doc</token><!-- "doc" short form for document -->
3059
+ </pattern>
3060
+ <example correction="">Here's a <marker>test</marker> doc:</example>
3061
+ </rule>
3062
+ <rule>
3063
+ <pattern>
3064
+ <marker>
3065
+ <token>first</token>
3066
+ </marker>
3067
+ <token regexp="yes">glimpse|look</token>
3068
+ <token>at</token>
3069
+ </pattern>
3070
+ <example correction=""><marker>First</marker> look at the ‘Nothing’ phone.</example>
3071
+ </rule>
3072
+ <rule>
3073
+ <pattern>
3074
+ <token postag="SENT_START" />
3075
+ <marker>
3076
+ <token postag="RB" regexp="yes">.+ly</token>
3077
+ </marker>
3078
+ <token postag="JJ.*" postag_regexp="yes" />
3079
+ <token>:</token>
3080
+ </pattern>
3081
+ <example correction=""><marker>Finally</marker> official: Netflix will create a new ad-supported tier.</example>
3082
+ </rule>
3083
+ <rule>
3084
+ <antipattern>
3085
+ <token>,</token>
3086
+ <token>but</token>
3087
+ </antipattern>
3088
+ <pattern>
3089
+ <token postag="VB.*" postag_regexp="yes" chunk_re=".-VP" skip="-1" />
3090
+ <marker>
3091
+ <token>but</token>
3092
+ </marker>
3093
+ <token postag="VB.*" postag_regexp="yes" chunk="B-VP">
3094
+ <exception inflected="yes" regexp="yes">have|do|be</exception>
3095
+ <exception regexp="yes">let|feel</exception><!-- but let me ..., but feel free to -->
3096
+ <exception postag="MD" />
3097
+ </token>
3098
+ </pattern>
3099
+ <suggestion>, but</suggestion>
3100
+ <example correction=", but">62% of Americans say they thought about "bouncing back" from a recent financial or personal tragedy<marker> but</marker> decided to nap instead.</example>
3101
+ </rule>
3102
+ <rule>
3103
+ <antipattern>
3104
+ <token>,</token>
3105
+ <token>but</token>
3106
+ </antipattern>
3107
+ <pattern>
3108
+ <token postag="VB.*" postag_regexp="yes" chunk_re=".-VP" skip="-1" />
3109
+ <marker>
3110
+ <token>but</token>
3111
+ </marker>
3112
+ <token>
3113
+ feel
3114
+ </token>
3115
+ <token><exception>free</exception></token>
3116
+ </pattern>
3117
+ <suggestion>, but</suggestion>
3118
+ <example correction=", but">I have not been following this proceeding at all<marker> but</marker> feel we should watch closely.</example>
3119
+ </rule>
3120
+ <rule>
3121
+ <pattern>
3122
+ <token postag="CC|SENT_START|PCT" postag_regexp="yes" />
3123
+ <marker>
3124
+ <token>attached</token>
3125
+ </marker>
3126
+ <token regexp="yes">you|they</token>
3127
+ </pattern>
3128
+ <example correction=""><marker>Attached</marker> you can find all details.</example>
3129
+ </rule>
3130
+ <rule>
3131
+ <pattern>
3132
+ <marker>
3133
+ <token regexp="yes">.*[a-z0-9].*</token>
3134
+ </marker>
3135
+ <token>so</token>
3136
+ <token postag="PRP_S.*|NN.*|DT" chunk_re=".-NP.*" postag_regexp="yes" skip="2" />
3137
+ <token chunk_re=".-VP" />
3138
+ </pattern>
3139
+ <example correction="">The affiliate system is built <marker>in-house</marker> so we can manually assign conversions.</example>
3140
+ </rule>
3141
+ </rulegroup>
3142
+ <rulegroup id="AI_EN_G_REPLACE_ORTH" name="">
3143
+ <rule>
3144
+ <pattern>
3145
+ <token regexp="yes">['’`´‘ʻ]</token>
3146
+ <token skip="-1" spacebefore="no"/>
3147
+ <marker>
3148
+ <token/>
3149
+ <token spacebefore="no" regexp="yes">['’`´‘ʻ]</token>
3150
+ <token/>
3151
+ </marker>
3152
+ </pattern>
3153
+ <example correction="">Would you like the 'Marco <marker>Polo' package</marker>?</example>
3154
+ </rule>
3155
+ <rule>
3156
+ <pattern>
3157
+ <token regexp="yes">(https?://).*[^\p{P}]</token>
3158
+ </pattern>
3159
+ <example correction="">Visit <marker>https://www.dropbox.com/s/0ih8kwt2imwr5kb/Image%20error.mov?dl=0</marker> now!</example>
3160
+ <example>Visit https://www.dropbox.com/s/0ih8kwt2imwr5kb/Image%20error.mov?dl=0!</example>
3161
+ </rule>
3162
+ <rule>
3163
+ <pattern>
3164
+ <token regexp="yes">\w+</token>
3165
+ <token spacebefore="no">:</token>
3166
+ <token spacebefore="no">-</token>
3167
+ </pattern>
3168
+ <example correction=""><marker>Date:-</marker> now!</example>
3169
+ </rule>
3170
+ <rule><!-- don't split e-mail addresses -->
3171
+ <pattern>
3172
+ <token/>
3173
+ <marker>
3174
+ <token regexp="yes">[-_.0-9A-Za-z]+@[-_0-9A-Za-z]+[-_.0-9A-Za-z]+</token>
3175
+ </marker>
3176
+ </pattern>
3177
+ <example correction="">My address is <marker>foobar@test.com</marker> no questions asked.</example>
3178
+ </rule>
3179
+ <rule>
3180
+ <pattern>
3181
+ <token/>
3182
+ <marker>
3183
+ <token regexp="yes">[a-z]+-[\$€£¥฿₹\u8371][0-9.,]+</token>
3184
+ </marker>
3185
+ </pattern>
3186
+ <example correction="">nearly 20 percent of <marker>sub-$300</marker> notebook sales</example>
3187
+ </rule>
3188
+ <rule>
3189
+ <pattern>
3190
+ <token>;</token>
3191
+ <marker>
3192
+ <token/>
3193
+ </marker>
3194
+ </pattern>
3195
+ <example correction="">Carbohydrates are a common source of energy in living organisms; <marker>however</marker>, no carbohydrate is an essential nutrient in humans.</example>
3196
+ </rule>
3197
+ </rulegroup>
3198
+ <rulegroup id="AI_EN_G_REPLACE_VERB" name="">
3199
+ <rule>
3200
+ <pattern>
3201
+ <token/>
3202
+ <marker>
3203
+ <token regexp="yes">is|'s|am|'m</token>
3204
+ <token postag="VBG"/>
3205
+ </marker>
3206
+ </pattern>
3207
+ <example correction="">He <marker>is singing</marker> with a lot of ornamentation.</example>
3208
+ </rule>
3209
+ </rulegroup>
3210
+ <rulegroup id="AI_EN_G_REPLACE_VERB_TENSE" name="">
3211
+ <rule>
3212
+ <pattern>
3213
+ <token postag="MD"/>
3214
+ <marker>
3215
+ <token postag="VB"/>
3216
+ </marker>
3217
+ </pattern>
3218
+ <example correction="">Tom should <marker>allow</marker> Mary to win.</example>
3219
+ </rule>
3220
+ <rule>
3221
+ <pattern>
3222
+ <token inflected="yes" postag="V.*" postag_regexp="yes">wish</token>
3223
+ <token max="10" chunk_re=".-NP.*"/>
3224
+ <marker>
3225
+ <token postag="VBD"/>
3226
+ </marker>
3227
+ </pattern>
3228
+ <example correction="">I wish all people <marker>loved</marker> peace!</example>
3229
+ </rule>
3230
+ <rule>
3231
+ <pattern>
3232
+ <token chunk_re="E-NP.*"/>
3233
+ <marker>
3234
+ <token>had</token>
3235
+ </marker>
3236
+ <token>been</token>
3237
+ <token min="0" postag="RB"/>
3238
+ <token postag="VBN"/>
3239
+ </pattern>
3240
+ <example correction="">Since May 10, at least 212 Palestinians <marker>had</marker> been killed in Gaza.</example>
3241
+ </rule>
3242
+ <rule>
3243
+ <pattern>
3244
+ <token inflected="yes">insist</token>
3245
+ <token max="-1" chunk_re="..NP.*"/>
3246
+ <marker>
3247
+ <token postag="VBD"/>
3248
+ </marker>
3249
+ </pattern>
3250
+ <example correction="">The frantic caller this morning was a long-time friend, and he insisted I <marker>came</marker> to Kingston.</example>
3251
+ </rule>
3252
+ </rulegroup>
3253
+ <rulegroup id="AI_EN_G_REPLACE_VERB_SVA" name="">
3254
+ <rule>
3255
+ <pattern>
3256
+ <marker>
3257
+ <token skip="-1" postag="VBP"><exception postag="NNP"/></token><!-- otherwise it matches "Rick" -->
3258
+ </marker>
3259
+ <token>as</token>
3260
+ <token>well</token>
3261
+ <token>as</token>
3262
+ </pattern>
3263
+ <example correction="">Rick, Attached <marker>are</marker> a clean copy of suggested modification of the body of this DASH as well as a copy of the original DASH.</example>
3264
+ </rule>
3265
+ </rulegroup>
3266
+ <rulegroup id="AI_EN_G_DELETE_VERB" name="">
3267
+ <rule>
3268
+ <pattern>
3269
+ <token>attached</token>
3270
+ <marker>
3271
+ <token postag="VBP"/>
3272
+ </marker>
3273
+ </pattern>
3274
+ <example correction="">Rick, attached <marker>are</marker> a clean copy of suggested modification of the body of this DASH as well as a copy of the original DASH.</example>
3275
+ </rule>
3276
+ </rulegroup>
3277
+ <rulegroup id="AI_EN_G_REPLACE_VERB_FORM" name="">
3278
+ <rule>
3279
+ <pattern>
3280
+ <token inflected="yes" postag="VB[DP]?" postag_regexp="yes">be</token>
3281
+ <marker>
3282
+ <token postag="VBG"/>
3283
+ </marker>
3284
+ </pattern>
3285
+ <example correction="">I'm <marker>meeting</marker> him in ten minutes.</example>
3286
+ </rule>
3287
+ </rulegroup>
3288
+ <rulegroup id="AI_EN_G_REPLACE_OTHER" name="">
3289
+ <rule>
3290
+ <pattern>
3291
+ <token regexp="yes">(https?://).*[^\p{P}]</token>
3292
+ </pattern>
3293
+ <example correction="">Visit <marker>https://www.dropbox.com/s/0ih8kwt2imwr5kb/Image%20error.mov?dl=0</marker> now!</example>
3294
+ <example>Visit https://www.dropbox.com/s/0ih8kwt2imwr5kb/Image%20error.mov?dl=0!</example>
3295
+ </rule>
3296
+ </rulegroup>
3297
+ <rulegroup id="AI_EN_G_INSERT_OTHER" name="">
3298
+ <rule>
3299
+ <pattern>
3300
+ <marker>
3301
+ <token regexp="yes">\w+</token>
3302
+ <token spacebefore="no">:</token>
3303
+ </marker>
3304
+ <token regexp="yes">(https?://).*[^\p{P}]</token>
3305
+ </pattern>
3306
+ <example correction=""><marker>Visit:</marker> https://www.dropbox.com/s/0ih8kwt2imwr5kb/Image%20error.mov?dl=0 now!</example>
3307
+ </rule>
3308
+ </rulegroup>
3309
+ <rulegroup id="AI_HYDRA_LEO_CP_YOUR_YOURE" name="">
3310
+ <rule>
3311
+ <pattern>
3312
+ <marker>
3313
+ <token regexp="yes" case_sensitive="yes">Your|your</token>
3314
+ </marker>
3315
+ <token regexp="yes">stuff|footnote|call|turn</token>
3316
+ </pattern>
3317
+ <example correction="">Looks like <marker>your</marker> stuff.</example>
3318
+ </rule>
3319
+ </rulegroup>
3320
+ <rulegroup id="AI_HYDRA_LEO_MISSING_IN" name="">
3321
+ <rule>
3322
+ <pattern>
3323
+ <token chunk_re="E-NP.*"/>
3324
+ <token chunk="B-VP" inflected="yes">be</token>
3325
+ <marker>
3326
+ <token>need<exception scope="next" regexp="yes">of|for</exception>
3327
+ </token>
3328
+ </marker>
3329
+ </pattern>
3330
+ <example correction="">More cars are <marker>need</marker>.</example>
3331
+ <example>More cars are need of repairs than ever.</example>
3332
+ </rule>
3333
+ <rule>
3334
+ <pattern>
3335
+ <marker>
3336
+ <token chunk_re="I-NP.*">use</token>
3337
+ </marker>
3338
+ <token chunk_re="[IE]-NP.*" regexp="yes">cases?</token>
3339
+ <token postag="CC|PCT|SENT_END" postag_regexp="yes"/>
3340
+ </pattern>
3341
+ <example correction="">Recurly Taxes enables basic sales tax compliance <marker>use</marker> cases, and certain geographies.</example>
3342
+ <example>We need proper equipment for use in cases where we can't get to the target.</example>
3343
+ </rule>
3344
+ </rulegroup>
3345
+ <rulegroup id="AI_HYDRA_LEO_CPT_THERE_THEIR" name="">
3346
+ <rule>
3347
+ <pattern>
3348
+ <marker>
3349
+ <token>there</token>
3350
+ </marker>
3351
+ <token postag="SENT_END"/>
3352
+ </pattern>
3353
+ <example correction="">I don't want to go in <marker>there</marker>.</example>
3354
+ </rule>
3355
+ </rulegroup>
3356
+
3357
+ <!-- ====================================================================== -->
3358
+ <!-- QuillBot Antipatterns -->
3359
+ <!-- ====================================================================== -->
3360
+ <rulegroup id="QB_NEW_EN_DECAPITALIZE.*" name="">
3361
+ <rule> <!-- Don't decapitalize first word in the sentence -->
3362
+ <pattern>
3363
+ <token postag="SENT_START" />
3364
+ <marker><token /></marker>
3365
+ </pattern>
3366
+ <example correction=""><marker>Would</marker> be funny if it performs just as good.</example>
3367
+ </rule>
3368
+ </rulegroup>
3369
+ <rulegroup id="QB_NEW_EN_OTHER" name="">
3370
+ <rule>
3371
+ <pattern>
3372
+ <marker><token regexp="yes">.*(https?://|www\.).+</token></marker>
3373
+ </pattern>
3374
+ <example correction="">It’s the storage policy <marker>https://quillbot.slack.com/archives/D084BE5DY0M/p1744109799019819</marker> It's a real-time policy.</example>
3375
+ </rule>
3376
+ <rule>
3377
+ <pattern>
3378
+ <marker><token regexp="yes">.+\.com.*</token></marker>
3379
+ </pattern>
3380
+ <example correction="">It’s the storage policy <marker>quillbot.slack.com/archives/D084BE5DY0M/p1744109799019819</marker> It's a real-time policy.</example>
3381
+ </rule>
3382
+ </rulegroup>
3383
+ <rulegroup id="QB_EN_OTHER" name="">
3384
+ <rule>
3385
+ <pattern>
3386
+ <marker>
3387
+ <token />
3388
+ </marker>
3389
+ <token>because</token>
3390
+ <token min="2" max="15" />
3391
+ <token postag="SENT_END" />
3392
+ </pattern>
3393
+ <example correction="">A particularly noteworthy case is the electric field between two concentric <marker>cylinders</marker> because such an arrangement is commonly found in devices for aerodynamic DMA.</example>
3394
+ </rule>
3395
+ <rule>
3396
+ <pattern>
3397
+ <marker>
3398
+ <token regexp="yes">.*[a-z].*</token>
3399
+ <token regexp="yes" spacebefore="no" postag="SENT_END">:</token>
3400
+ </marker>
3401
+ </pattern>
3402
+ <example correction="">READ WHAT NUTRITIONISTS AND SCIENTISTS SAY ABOUT MINDFUL <marker>SNACKING:</marker></example>
3403
+ </rule>
3404
+ </rulegroup>
3405
+ <rulegroup id="QB_EN_MERGED_MATCH" name="">
3406
+ <rule>
3407
+ <pattern>
3408
+ <token postag="WRB" />
3409
+ <token inflected="yes">do</token>
3410
+ <token min="1" max="3" chunk_re="[BI]-NP.*" />
3411
+ <marker>
3412
+ <token postag="VB" />
3413
+ <token>for</token>
3414
+ <token chunk_re="B-NP.*" />
3415
+ </marker>
3416
+ </pattern>
3417
+ <example correction="">I want to understand how does permission mapping <marker>work for bind</marker> mounts of a rootless Docker container running on Windows 11 using Docker Desktop.</example>
3418
+ </rule>
3419
+ </rulegroup>
3420
+ <rulegroup id="QB_EN_MERGED_MATCH_PICKY" name="">
3421
+ <rule>
3422
+ <pattern>
3423
+ <token regexp="yes" case_sensitive="yes" max="2">[A-Z].*</token>
3424
+ <token>/</token>
3425
+ <token regexp="yes" case_sensitive="yes" max="2">[A-Z].*</token>
3426
+ </pattern>
3427
+ <example correction="">Dear Nick, We are happy to provide gift funds of $100,000 per year, over three years, to support a program in your research group, related to <marker>Bandwidth Markets/Trading</marker> and Networking Technologies.</example>
3428
+ <example correction="">Coldcut created the Energy Union show for the tour, a one hour <marker>Audio/Visual</marker> montage on the theme of Intelligent Energy.</example>
3429
+ <example correction="">Due to the current state of affairs we are canceling all of the <marker>Associate / Analyst</marker> recruiting.</example>
3430
+ </rule>
3431
+ </rulegroup>
3432
+ <rulegroup id="QB_EN" name="">
3433
+ <rule> <!-- curly to straight quotes - opening pt. I -->
3434
+ <pattern>
3435
+ <marker>
3436
+ <token regexp="yes">“|‘</token>
3437
+ <token />
3438
+ </marker>
3439
+ </pattern>
3440
+ <example correction="">This is <marker>“a</marker> new test" to check quotes.</example>
3441
+ <example correction="">They had to have a <marker>‘birds</marker> and bees" conversation.</example>
3442
+ </rule>
3443
+ <rule> <!-- curly to straight quotes - opening pt. II -->
3444
+ <pattern>
3445
+ <marker>
3446
+ <token regexp="yes">“|‘</token>
3447
+ <token />
3448
+ <token regexp="yes">['’].+</token>
3449
+ </marker>
3450
+ </pattern>
3451
+ <example correction=""><marker>“You’d</marker> know."</example>
3452
+ <example correction=""><marker>“I'm</marker> not mad at you...</example>
3453
+ </rule>
3454
+ <rule> <!-- curly to straight quotes - closing pt. I -->
3455
+ <pattern>
3456
+ <marker>
3457
+ <token><exception postag="PCT" /></token>
3458
+ <token min="0" postag="PCT" />
3459
+ <token regexp="yes">”|’</token>
3460
+ </marker>
3461
+ </pattern>
3462
+ <example correction="">This is "a new <marker>test”</marker> to check quotes.</example>
3463
+ <example correction="">They had to have a "birds and <marker>bees’</marker> conversation.</example>
3464
+ <example correction="">“Everything <marker>alright?”</marker></example>
3465
+ </rule>
3466
+ <rule> <!-- curly to straight quotes - closing pt. II -->
3467
+ <pattern>
3468
+ <marker>
3469
+ <token regexp="yes">”|’</token>
3470
+ </marker>
3471
+ </pattern>
3472
+ <example correction="">“Yes.<marker>”</marker></example>
3473
+ </rule>
3474
+ <rule> <!-- curly apostrophes to straight quotes -->
3475
+ <pattern>
3476
+ <marker>
3477
+ <token regexp="yes">[‘'“]</token>
3478
+ <token />
3479
+ <token regexp="yes">[’'”]</token>
3480
+ </marker>
3481
+ </pattern>
3482
+ <example correction="">He took up employment at <marker>‘Securonix’</marker>.</example>
3483
+ <example correction="">There is no <marker>'average'</marker>.</example>
3484
+ <example correction="">The checker is saying that the word <marker>“strongness”</marker> is wrong, but the word is right.</example>
3485
+ </rule>
3486
+ <rule> <!-- don't replace apostrophes used as quotes - opening -->
3487
+ <pattern>
3488
+ <marker>
3489
+ <token>'</token>
3490
+ <token skip="-1"><exception scope="next" regexp="yes">&quote;</exception></token>
3491
+ </marker>
3492
+ <token>'</token>
3493
+ </pattern>
3494
+ <example correction="">Please explain the grammar of <marker>'as</marker> may be'.</example>
3495
+ </rule>
3496
+ <rule> <!-- don't move period inside of quote -->
3497
+ <pattern>
3498
+ <marker>
3499
+ <token />
3500
+ <token regexp="yes">'|"|”</token>
3501
+ </marker>
3502
+ <token>.</token>
3503
+ </pattern>
3504
+ <example correction="">Country musicians began recording boogie in 1939, shortly after it had been played at Carnegie Hall, when Johnny Barfield recorded "Boogie <marker>Woogie"</marker>.</example>
3505
+ <example correction="">Please explain the grammar of 'as may <marker>be'</marker>.</example>
3506
+ </rule>
3507
+ <rule> <!-- don't de-capitalize first word of sentence -->
3508
+ <pattern>
3509
+ <token postag="SENT_START" />
3510
+ <marker>
3511
+ <token skip="-1" regexp="yes" case_sensitive="yes">[A-Z][a-z]*</token>
3512
+ </marker>
3513
+ <token regexp="yes" postag="SENT_END">[\.\?\!]</token>
3514
+ </pattern>
3515
+ <example correction=""><marker>Characterizes</marker> invertebrates and compares them with vertebrates.</example>
3516
+ <example correction=""><marker>Identifies</marker> the location and functions of the senses of hearing, sight, and touch and thinks of ways to protect them.</example>
3517
+ </rule>
3518
+ <rule> <!-- don't insert inconsistent quote and delete space -->
3519
+ <pattern>
3520
+ <token skip="-1">“
3521
+ <exception regexp="yes" scope="next">&quote;</exception>
3522
+ </token>
3523
+ <marker>
3524
+ <token postag="PARA_END" />
3525
+ </marker>
3526
+ </pattern>
3527
+ <example correction="">“Nope.<marker> </marker></example>
3528
+ <example correction="">“My husband’s right.<marker> </marker></example>
3529
+ </rule>
3530
+ </rulegroup>
3531
+ <rulegroup id="QB_EN_DECAPITALIZE" name="">
3532
+ <rule>
3533
+ <pattern>
3534
+ <marker>
3535
+ <token regexp="yes" max="30">[\{~¶♪♪]</token>
3536
+ <token regexp="yes" case_sensitive="yes">[A-Z][a-z]*</token>
3537
+ </marker>
3538
+ </pattern>
3539
+ <example correction="">Who the machine has been reassigned to <marker>{Contact</marker> name}, the new contact phone # AND the location of the machine.</example>
3540
+ <example correction=""><marker>~ But</marker>... one of them gets hit by lightning.</example>
3541
+ <example correction="">For more information on advertising in The Industry Standard West Coast East Coast FEEDBACK AND PROBLEMS <marker>~~~~~~~~~~~~~~~~~~~~~ Send</marker> letters to the editor to letters@thestandard.com.</example>
3542
+ <example correction=""><marker>♪ ♪ Through</marker> rampaging vikings and cannibal elves</example>
3543
+ </rule>
3544
+ <rule>
3545
+ <pattern>
3546
+ <token regexp="yes" case_sensitive="yes">[A-Z]+</token>
3547
+ <token min="0" postag="," />
3548
+ <marker>
3549
+ <token regexp="yes" case_sensitive="yes">[A-Z]+</token>
3550
+ </marker>
3551
+ <token min="0" postag="," />
3552
+ <token regexp="yes" case_sensitive="yes">[A-Z]+</token>
3553
+ </pattern>
3554
+ <example correction="">3. Exclusion of Certain Damages. Purchaser will not be liable under any circumstances for any lost profits or INDIRECT, <marker>INCIDENTAL</marker>, CONSEQUENTIAL or special damages, even if it has notice of that those kinds of damages may occur.</example>
3555
+ </rule>
3556
+ <rule>
3557
+ <pattern>
3558
+ <marker>
3559
+ <token regexp="yes" case_sensitive="yes">[A-Z]+</token>
3560
+ </marker>
3561
+ <token min="0" postag="," />
3562
+ <token regexp="yes" case_sensitive="yes">[A-Z]+</token>
3563
+ <token min="0" postag="," />
3564
+ <token regexp="yes" case_sensitive="yes">[A-Z]+</token>
3565
+ </pattern>
3566
+ <example correction="">3. Exclusion of Certain Damages. Purchaser will not be liable under any circumstances for any lost profits or <marker>INDIRECT</marker>, INCIDENTAL, CONSEQUENTIAL or special damages, even if it has notice of that those kinds of damages may occur.</example>
3567
+ </rule>
3568
+ </rulegroup>
3569
+ <rulegroup id="QB_EN_OXFORD" name="">
3570
+ <!-- Deprecated, but not removing it in case we bring it back -->
3571
+ <rule>
3572
+ <pattern>
3573
+ <token regexp="yes">&months;|&abbrevMonths;</token>
3574
+ <token regexp="yes">[0-9]{1,2}</token>
3575
+ <token postag="," />
3576
+ <marker>
3577
+ <token regexp="yes">[0-9]{4}</token>
3578
+ </marker>
3579
+ <token><exception postag="," /></token>
3580
+ </pattern>
3581
+ <example correction="">Noah Haynes Swayne, nominated January 21, <marker>1862</marker> and appointed January 24, 1862, was chosen as an anti-slavery lawyer who was committed to the Union.</example>
3582
+ <example correction="">Steinmetz died on October 26, <marker>1923</marker> and was buried in Vale Cemetery, Schenectady.</example>
3583
+ <example correction="">He has also assured me that I will be credited with my initial start date which is March 9, <marker>1967</marker> and be fully vested in the various benefit, retirement and vacation plans.</example>
3584
+ <example correction="">The OEX Skybox was first introduced by Pinnacle on November 1, <marker>1998</marker> and its team of experienced OEX traders generated an impressive 292% over two short months.</example>
3585
+ </rule>
3586
+ <rule>
3587
+ <pattern>
3588
+ <token regexp="yes">&weekdays;|&abbrevWeekdays;</token>
3589
+ <token postag="," />
3590
+ <token regexp="yes">&months;|&abbrevMonths;</token>
3591
+ <marker>
3592
+ <token regexp="yes">[0-9]{1,2}(st|nd|rd|th)?</token>
3593
+ </marker>
3594
+ </pattern>
3595
+ <example correction="">Order any elements or design sets before Monday, April <marker>1st</marker> and we will reserve your 20% off discount, which can be used at any time during the 2002 calendar year.</example>
3596
+ <example correction="">Please let me know your availability on Monday, May <marker>1st</marker> or Thursday; May 4th.</example>
3597
+ </rule>
3598
+ <rule>
3599
+ <pattern>
3600
+ <token regexp="yes">thanks?</token>
3601
+ <marker>
3602
+ <token>you</token>
3603
+ </marker>
3604
+ </pattern>
3605
+ <example correction="">If you have already RSVP'd, thank <marker>you</marker> and we will see you Thursday.</example>
3606
+ <example correction="">Again, thank <marker>you</marker> and I look forward to working with you.</example>
3607
+ </rule>
3608
+ <rule>
3609
+ <pattern>
3610
+ <marker>
3611
+ <token regexp="yes">[0-9]{4}</token>
3612
+ </marker>
3613
+ <token>and</token>
3614
+ <token>
3615
+ <exception regexp="yes">[0-9]+</exception>
3616
+ </token>
3617
+ </pattern>
3618
+ <example correction="">He directed his first film, The Squaw Man, released in <marker>1914</marker> and would go on to direct dozens of silent films before crossing to sound films in 1929.</example>
3619
+ </rule>
3620
+ </rulegroup>
3621
+ </category>
3622
+ </rules>