
org.languagetool.resource.en.disambiguation.xml Maven / Gradle / Ivy
<?xml version="1.0" encoding="utf-8"?> <!-- English Disambiguation Rules for LanguageTool Copyright (C) 2008 Marcin Miłkowski --> <!DOCTYPE rules [ <!ENTITY filename_extensions "ai|asp|aspx|avi|bak|bat|bmp|cab|cfg|cgi|com|css|csv|dat|db|dbf|dll|doc|docx|eps|exe|flv|gif|htm|html|ibooks|ico|ini|jar|jpeg|jpg|js|jsp|lnk|md|mdb|mid|mov|mp3|mp4|mpa|mpg|ods|pdf|php|pl|png|pps|ppt|pptx|ps|psd|py|rar|rss|scss|sh|shtml|sql|svg|sys|tar|tif|tiff|tmp|ts|txt|wav|wma|xhtml|xls|xlsx|xml|xsl|yaml|yml|zip|zipx|7z|web[mp]"> <!ENTITY apostrophe "['’`´‘ʻ]"> <!ENTITY months "January|February|March|April|May|Ju(ne|ly)|August|September|October|November|December"> <!ENTITY abbrevMonths "Jan|Feb|Mar|Apr|Ju[ln]|Aug|Sept?|Oct|Nov|Dec"> <!ENTITY subject_pronouns "I|you|he|she|it|we|they|one"> <!ENTITY object_pronouns "me|you|him|her|it|us|them|one"> <!ENTITY hyphen_modifiers "based|powered|shaped|sponsored|specific|driven|related|dominated|focuss?ed|friendly|worthy|oriented|connected|protected|operated|resistant|agnostic|generated|centric|compliant|dependent|wide|free|compatible|sized|owned|tolerant|influenced"> <!ENTITY hispanic_nnp "Ciudad|Playa|Casa|Puerto|Avenida|Santiago|Municipio|Paseo|Calle|Días|Di?os|Nacional|Villas|Cinco|Rancho|Cerro|Universidad|Banquo|Instituto|Copa|Academia|Plaza|Facultad|Torre|Camino|Club|Tapas|Palma|Águas|Costa|Isla|Ministerio|Grupo"> <!ENTITY plural_adjectival_nouns "angry|blind|deaf|destitute|dead|dying|elderly|faithful|homeless|injured|insane|jobless|old|poor|rich|sick|squeamish|wealthy|wicked|wounded|young"><!-- One-word terms only, only after the word 'the': www.oxfordlearnersdictionaries.com/definition/english/rich, www.englishgrammar.org/adjectives-nouns/ --> <!ENTITY subordinating_conjunctions "after|although|as|because|before|if|lest|like|once|since|tha[nt]|though|unless|until|whenever|where|whereas|wherever|whether|while|why"><!-- #2988 --> <!--<!ENTITY abbreviated_negated_verbs "ain|aren|isn|wasn|weren|can|couldn|don|doesn|didn|hasn|hadn|haven|mayn|mightn|mustn|needn|oughtn|shan|shouldn|usedn|won|wouldn">--> <!ENTITY abbreviated_negated_verbs "ai|are|is|was|were|ca|could|do|does|did|has|had|have|may|might|must|need|ought|sha|should|used|wo|would"> ]> <rules lang="en" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/resource/disambiguation.xsd"> <unification feature="number"> <equivalence type="sg"> <token postag="NNP?(:UN?)?|VB[ZD]|SENT_END|PCT" postag_regexp="yes"/> </equivalence> <equivalence type="pl"> <token postag="NNP?S|VB[PD]|SENT_END|PCT" postag_regexp="yes"/> </equivalence> </unification> <rule name="or" id="REMOVE_JJ_FOR_OR"> <!-- work around strange dict entry --> <pattern case_sensitive="yes"> <token>or</token> </pattern> <disambig action="remove"><wd pos="JJ"/></disambig> <example type="ambiguous" inputform="or[or/CC,or/JJ,or/NN:U]" outputform="or[or/CC,or/NN:U]">Let's choose A <marker>or</marker> B.</example> </rule> <rule name="or" id="REMOVE_NN_FOR_OR"> <!-- work around strange dict entry --> <pattern case_sensitive="yes"> <token>or</token> </pattern> <disambig action="remove"><wd pos="NN:U"/></disambig> <example type="ambiguous" inputform="or[or/CC,or/NN:U]" outputform="or[or/CC]">Let's choose A <marker>or</marker> B.</example> </rule> <rule id="CD" name="Tag numbers"> <pattern> <token regexp="yes">\d+</token> </pattern> <disambig postag="CD"/> <example type="untouched">Ten dollars</example> <example type='ambiguous' inputform="10[10]" outputform="10[10/CD]"><marker>10</marker> dollars</example> </rule> <rule name=".,;:…!? UNKNOWN -> PCT" id="UNKNOWN_PCT"> <pattern> <token regexp="yes">[\.,;:…!\?]</token> </pattern> <disambig action="add"><wd pos="PCT"/></disambig> </rule> <rule id="COMMA_POSTAG" name="separate postag for commas"> <pattern> <token>,</token> </pattern> <disambig action="add"><wd pos=","/></disambig> </rule> <rulegroup id="CONTRACTIONS" name="contractions: special cases"> <!--TODO: should be done before the chunker to get better results? --> <rule> <pattern> <marker> <token>ca</token> </marker> <token spacebefore="no">n't</token> </pattern> <disambig action="replace"> <wd lemma="can" pos="MD"/> </disambig> </rule> <rule> <pattern> <marker> <token>ca</token> </marker> <token spacebefore="no">n't</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <marker> <token>wo</token> </marker> <token spacebefore="no">n't</token> </pattern> <disambig action="add"> <wd lemma="will" pos="MD"/> </disambig> </rule> <rule> <pattern> <marker> <token>wo</token> </marker> <token spacebefore="no">n't</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <marker> <token>sha</token> </marker> <token spacebefore="no">n't</token> </pattern> <disambig action="replace"> <wd lemma="shall" pos="MD"/> </disambig> </rule> <rule> <pattern> <marker> <token>sha</token> </marker> <token spacebefore="no">n't</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <marker> <token regexp="yes" spacebefore="no">'m|'re|'s|n't|'ll|'d|'ve</token> </marker> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>let</token> <marker> <token>'s</token> </marker> </pattern> <disambig action="replace"> <wd lemma="we" pos="PRP"/> </disambig> </rule> <rule> <pattern> <marker> <token>ai</token> </marker> <token spacebefore="no">n't</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token regexp="yes">it|she|he|this|that</token> <marker> <token>ai</token> </marker> <token>n't</token> </pattern> <disambig action="replace"><wd lemma="be" pos="VBZ"/></disambig> </rule> <rule> <pattern> <marker> <token>ai</token> </marker> <token>n't</token> <token regexp="yes">it|she|he|this|that</token> </pattern> <disambig action="replace"><wd lemma="be" pos="VBZ"/></disambig> </rule> <rule> <pattern> <token regexp="yes">I|you|we|they|th[eo]se</token> <marker> <token>ai</token> </marker> <token>n't</token> </pattern> <disambig action="replace"><wd lemma="be" pos="VBP"/></disambig> </rule> <rule> <pattern> <marker> <token>ai</token> </marker> <token>n't</token> <token regexp="yes">I|you|we|they|th[eo]se</token> </pattern> <disambig action="replace"><wd lemma="be" pos="VBP"/></disambig> </rule> <rule> <pattern> <token regexp="yes">who|which|that</token> <marker> <token>ai</token> </marker> <token>n't</token> </pattern> <disambig action="replace"><wd lemma="be" pos="VBP"/></disambig> </rule> <rule> <pattern> <token regexp="yes">who|which|that</token> <marker> <token>ai</token> </marker> <token>n't</token> </pattern> <disambig action="add"><wd lemma="be" pos="VBZ"/></disambig> </rule> <rule> <pattern> <marker> <token postag="V.*" postag_regexp="yes"> <exception>need</exception><!-- "need" can be used as a modal verb --> </token> </marker> <token spacebefore="no">n't</token> </pattern> <disambig action="filter" postag="V.*"/> </rule> <rule> <pattern> <marker> <token>'t</token> </marker> <token spacebefore="no">was</token> </pattern> <disambig action="replace"><wd lemma="it" pos="PRP"/></disambig> </rule> <rule> <pattern> <marker> <token>'t</token> </marker> <token spacebefore="no">was</token> </pattern> <disambig action="ignore_spelling"/> </rule> </rulegroup> <rulegroup id="CONTRACTION_APOSTROPHE" name="apostrophe in contractions"> <rule> <pattern> <marker> <token regexp="yes">['’]</token> </marker> <token spacebefore="no" regexp="yes">bout|burbs|cause|cuz|em|er|lil|n|ol|ole|spose|sposed|til|till|twixt|cept|fore</token> </pattern> <disambig action="add"><wd pos="_apostrophe_contraction_"/></disambig> </rule> <rule> <pattern> <marker> <token regexp="yes">['’]</token> </marker> <token spacebefore="no" regexp="yes">t</token> <token spacebefore="no"/> </pattern> <disambig action="add"><wd pos="_apostrophe_contraction_"/></disambig> </rule> <rule> <pattern> <marker> <token>an</token> </marker> <token spacebefore="no" regexp="yes">['’]</token> <token spacebefore="yes"/> </pattern> <disambig action="replace"><wd pos="CC" lemma="and"/></disambig> </rule> <rule> <pattern> <token regexp="yes">an|gangsta|jus|o|slo|tho|tol|ya</token> <marker> <token spacebefore="no" regexp="yes">['’]</token> </marker> </pattern> <disambig action="add"><wd pos="_apostrophe_contraction_"/></disambig> </rule> <rule> <pattern> <token regexp="yes">.+z</token> <marker> <token spacebefore="no" regexp="yes">['’]</token> </marker> <token postag="N.*" postag_regexp="yes"></token> </pattern> <disambig action="add"><wd pos="POS"/></disambig> </rule> <rule> <pattern> <token regexp="yes">.+in'<exception postag="UNKNOWN"/></token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token regexp="yes">.*-</token> <marker> <token spacebefore="no" regexp="yes">['’]</token> </marker> <token regexp="yes" spacebefore="no">\p{L}+</token> </pattern> <disambig action="add"><wd pos="_apostrophe_contraction_"/></disambig> </rule> <rule> <!-- '60 campaign --> <pattern> <marker> <token spacebefore="yes" regexp="yes">['’]</token> </marker> <token regexp="yes" spacebefore="no">\d\ds?</token> </pattern> <disambig action="add"><wd pos="_apostrophe_contraction_"/></disambig> </rule> <rule> <pattern> <token regexp="yes">\d+ers</token> <marker> <token spacebefore="no" regexp="yes">['’]</token> </marker> </pattern> <disambig action="add"><wd pos="POS"/></disambig> </rule> <rule> <!-- 20' ambiguous --> <antipattern> <!-- quotation marks --> <token>'</token> <token spacebefore="no" regexp="yes" skip="8">.+</token> <token spacebefore="no">'</token> </antipattern> <antipattern> <!-- quotation marks --> <token>‘</token> <token spacebefore="no" regexp="yes" skip="8">.+</token> <token spacebefore="no">’</token> </antipattern> <pattern> <!--<token regexp="yes">\.|,</token>--> <token regexp="yes">\d+</token> <marker> <token regexp="yes">['’]</token> </marker> </pattern> <disambig action="add"><wd pos="_apostrophe_contraction_"/></disambig> </rule> <rule> <!-- French or other languages --> <pattern> <token regexp="yes">\p{L}</token> <marker> <token regexp="yes" spacebefore="no">['’]</token> </marker> <token regexp="yes" spacebefore="no">\p{L}.+</token> </pattern> <disambig action="add"><wd pos="_apostrophe_contraction_"/></disambig> </rule> <rule> <!-- apostrophe inside a word, including cat-o'-nine-tails or will-o'-the-wisp --> <pattern> <token regexp="yes">[\p{L}\-].+</token> <marker> <token regexp="yes" spacebefore="no">['’]</token> </marker> <token regexp="yes" spacebefore="no">[\p{L}-].+</token> </pattern> <disambig action="add"><wd pos="_apostrophe_contraction_"/></disambig> </rule> </rulegroup> <rulegroup id="DIGIT_HYPHENATED_ADJECTIVES" name="hyphenated adjectives (e.g. 10-part)"> <rule> <pattern> <token regexp="yes">[0-9]+-[a-z]+<exception postag="JJ"/></token> </pattern> <filter class="org.languagetool.rules.en.NoDisambiguationEnglishPartialPosTagFilter" args="no:1 regexp:[0-9]+-([a-z]+|[A-Z]+) postag_regexp:NN(:UN?)?"/><!-- The filter is case-sensitive --> <disambig action="add"><wd pos="JJ"/></disambig> <example type="untouched">Do a <marker>4-Hour</marker> test.</example> <example type="untouched">Do a <marker>3-wORd</marker> test.</example> <example type="untouched">Do a <marker>3-secTIon</marker> test.</example> <example type="untouched">A <marker>500-pages</marker> document is too large.</example> <example type="ambiguous" inputform="4-hour[4-hour]" outputform="4-hour[4-hour/JJ]">Do a <marker>4-hour</marker> test.</example> <example type="ambiguous" inputform="5-hour[5-hour]" outputform="5-hour[5-hour/JJ]">Do a 3.<marker>5-hour</marker> test.</example> <example type="ambiguous" inputform="500-page[500-page]" outputform="500-page[500-page/JJ]">A <marker>500-page</marker> document is too large.</example> <example type="ambiguous" inputform="400-chapter[400-chapter]" outputform="400-chapter[400-chapter/JJ]">This large (<marker>400-chapter</marker>) document is too large.</example> <example type="ambiguous" inputform="2-word[2-word]" outputform="2-word[2-word/JJ]">When you use an approved <marker>2-word</marker> term, make sure that the ...</example> <example type="ambiguous" inputform="3-PAGE[3-PAGE]" outputform="3-PAGE[3-PAGE/JJ]">WRITE A <marker>3-PAGE</marker> DOCUMENT.</example> <example type="ambiguous" inputform="10-person[10-person]" outputform="10-person[10-person/JJ]">A <marker>10-person</marker> or possibly 11-person team is the optimum size.</example> <example type="ambiguous" inputform="4-oil[4-oil]" outputform="4-oil[4-oil/JJ]">We use a special <marker>4-oil</marker> blend.</example><!-- oil/NN:U --> <example type="ambiguous" inputform="3-warning[3-warning]" outputform="3-warning[3-warning/JJ]">There is a <marker>3-warning</marker> rule, which means that after 3 warnings, you will be dismissed.</example><!-- warning/NN:UN --> </rule> <rule> <antipattern><!-- 3.3.3-GB --> <token regexp="yes">[0-9]+</token> <token spacebefore="no">.</token> <token spacebefore="no" regexp="yes">[0-9]+</token> <token spacebefore="no">.</token> <token spacebefore="no" regexp="yes" case_sensitive="yes">[0-9]+-(KB|MB|GB)<exception postag="JJ"/></token> </antipattern> <pattern> <token regexp="yes" case_sensitive="yes">[0-9]+-(KB|MB|GB)<exception postag="JJ"/></token> </pattern> <disambig action="add"><wd pos="JJ"/></disambig> <example type="untouched">The file is <marker>30 GB</marker>.</example> <example type="untouched">A <marker>30-Gb</marker> file is too large.</example> <example type="untouched">A <marker>3-5-GB</marker> file is too large.</example> <example type="untouched">A <marker>3.3.3-GB</marker> file is too large.</example> <example type="ambiguous" inputform="30-GB[30-GB]" outputform="30-GB[30-GB/JJ]">A <marker>30-GB</marker> file is too large.</example> <example type="ambiguous" inputform="5-GB[5-GB]" outputform="5-GB[5-GB/JJ]">A 55.<marker>5-GB</marker> file is too large.</example> <example type="ambiguous" inputform="5-GB[5-GB]" outputform="5-GB[5-GB/JJ]">2.<marker>5-GB</marker> files and larger can ...</example> </rule> </rulegroup> <rulegroup id="NN_WISE" name="adverbs ending in 'wise'"> <rule> <pattern> <marker> <token regexp="yes">[a-z]{3,15}wise</token> </marker> </pattern> <filter class="org.languagetool.rules.en.NoDisambiguationEnglishPartialPosTagFilter" args="no:1 regexp:([a-z]{3,20})wise postag_regexp:NN(:UN?)?"/> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <marker> <token regexp="yes" postag="UNKNOWN">[a-z]{3,15}-?wise</token> </marker> </pattern> <filter class="org.languagetool.rules.en.NoDisambiguationEnglishPartialPosTagFilter" args="no:1 regexp:([a-z]{3,20})-?wise postag_regexp:NN(:UN?)?"/> <disambig action="add"><wd pos="RB"/></disambig> </rule> </rulegroup> <rulegroup id="NN_LIKE" name="adjectives ending in 'like' and 'less'"> <rule> <pattern> <marker> <token regexp="yes"> [a-z]{3,15}(like|less) <exception regexp="yes">(colour|humour|odour)(like|less)</exception> </token> </marker> </pattern> <filter class="org.languagetool.rules.en.NoDisambiguationEnglishPartialPosTagFilter" args="no:1 regexp:([a-z]{3,20})(?:like|less) postag_regexp:NN(:UN?|P)?"/> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <marker> <token regexp="yes" postag="UNKNOWN">[a-z]{3,15}-?(like|less)</token> </marker> </pattern> <filter class="org.languagetool.rules.en.NoDisambiguationEnglishPartialPosTagFilter" args="no:1 regexp:([a-z]{3,20})-?(?:like|less) postag_regexp:NN(:UN?|P)?"/> <disambig action="add"><wd pos="JJ"/></disambig> </rule> </rulegroup> <rulegroup id="NN_BASED" name="tag adjectives ending in 'based/related/…'"> <rule> <pattern> <marker> <token regexp="yes" postag="UNKNOWN">[a-z]{3,15}-(&hyphen_modifiers;)</token> </marker> </pattern> <filter class="org.languagetool.rules.en.NoDisambiguationEnglishPartialPosTagFilter" args="no:1 regexp:([a-z]{3,20})-(?:&hyphen_modifiers;) postag_regexp:NN(:UN?|P)?"/> <disambig action="add"><wd pos="JJ"/></disambig> </rule> </rulegroup> <rulegroup id="PRE_HYPHENATED_ADJECTIVES" name="hyphenated adjectives (pre-/post- + NOUN)"><!-- Premium #1454 --> <antipattern><!-- Words that are known to be spelled without a hyphen. --> <token regexp="yes">(pre|post)-(requisite)</token><!-- Only 'prerequisite' is in the standard dictionaries. --> </antipattern> <rule><!-- disambiguation, singular noun phrase --> <pattern> <marker> <token chunk="I-NP-singular" regexp="yes">(pre|post)-[a-z]+<exception postag="JJ"/></token> </marker> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"> <exception postag="NNP"/><!-- If the pre-sample Peter gave ['Peter' is disambiguated later] --> </token> </pattern> <filter class="org.languagetool.rules.en.NoDisambiguationEnglishPartialPosTagFilter" args="no:1 regexp:(?:pre|post)-([A-Z]?[a-z]+) postag_regexp:NN(P|:UN?)?|VB[PGN]"/><!-- The filter is case-sensitive --> <disambig action="add"><wd pos="JJ"/></disambig> <example type="untouched">When you <marker>pre-the</marker> test, be careful.</example> <example type="untouched">Can you <marker>pre-quickly</marker> this?</example> <example type="untouched">When you are <marker>pre-inculcating</marker> the technicians...</example> <example type="untouched">If the <marker>pre-disambiguate</marker> is satisfactory, stop the test.</example> <example type="untouched">Do not <marker>pre-rabbit</marker> when you are tired.</example> <example type="untouched">The '<marker>pre-match</marker>' terms that have quote marks are not touched.</example> <example type="untouched">Can we <marker>pre-sample</marker> books?</example> <example type="untouched">A <marker>pre-sample</marker> books is not correct grammar.</example> <example type="untouched">If the <marker>pre-sample</marker> Peter gave us is satisfactory...</example><!-- Peter/E-NP-singular --> <example type="untouched">This <marker>pre-sale</marker> example is not touched because 'pre-sale' is an adjective.</example> <example type="untouched">The <marker>post-changes</marker> test was interesting.</example> <example type="untouched">Currently, this <marker>pre-TEST</marker> term is not permitted.</example> <example type="untouched">If a <marker>Pre-capitalization</marker> feature is necessary...</example> <example type="untouched"><marker>Pre-capitalization</marker> feature is sometimes necessary.</example> <example type="untouched">This typography for the <marker>Pre-Computer</marker> term is not permitted.</example> <example type="untouched">The correct typography for the <marker>pre-requisite</marker> adjective is 'prerequisite'.</example> <example type="ambiguous" inputform="pre-rabbit[pre-rabbit]" outputform="pre-rabbit[pre-rabbit/JJ]">The <marker>pre-rabbit</marker> test was a resounding success.</example> <example type="ambiguous" inputform="post-match[post-match]" outputform="post-match[post-match/JJ]">That <marker>post-match</marker> drink left us a little woozy.</example> <example type="ambiguous" inputform="pre-sulphurization[pre-sulphurization]" outputform="pre-sulphurization[pre-sulphurization/JJ]">This is a <marker>pre-sulphurization</marker> test for spelling.</example> <example type="ambiguous" inputform="post-match[post-match]" outputform="post-match[post-match/JJ]">Your <marker>post-match</marker> speech was great!</example> <example type="ambiguous" inputform="post-metre[post-metre]" outputform="post-metre[post-metre/JJ]">Ignore the spelling for this <marker>post-metre</marker> example.</example> <example type="ambiguous" inputform="pre-Fukushima[pre-Fukushima]" outputform="pre-Fukushima[pre-Fukushima/JJ]">Make sure that this unusual <marker>pre-Fukushima</marker> test is satisfactory.</example> <example type="ambiguous" inputform="pre-Computer[pre-Computer]" outputform="pre-Computer[pre-Computer/JJ]">This <marker>pre-Computer</marker> term is permitted.</example><!-- If this typography is not permitted for common nouns, then make an antipattern. An AP is much simpler alternative to special rules for proper nouns. --> <example type="ambiguous" inputform="pre-eat[pre-eat]" outputform="pre-eat[pre-eat/JJ]">Although a <marker>pre-eat</marker> session is unlikely, it is grammatical.</example> <example type="ambiguous" inputform="pre-eaten[pre-eaten]" outputform="pre-eaten[pre-eaten/JJ]">Did you see that bird give its chick a <marker>pre-eaten</marker> worm?</example> <example type="ambiguous" inputform="pre-cooling[pre-cooling]" outputform="pre-cooling[pre-cooling/JJ]">If the <marker>pre-cooling</marker> device is broken, discard it.</example> </rule> <rule><!-- disambiguation, plural noun phrase, chunk="I-NP-plural --> <pattern> <marker> <token chunk="I-NP-plural" regexp="yes">(pre|post)-[a-z]+<exception postag="JJ"/></token> </marker> <token chunk="E-NP-plural" postag="NNS"/> </pattern> <filter class="org.languagetool.rules.en.NoDisambiguationEnglishPartialPosTagFilter" args="no:1 regexp:(?:[Pp]re|[Pp]ost)-([A-Z]?[a-z]+) postag_regexp:NN(P|:UN?)?|VB[PGN]"/> <disambig action="add"><wd pos="JJ"/></disambig> <example type="untouched">Whose <marker>pre-match</marker> speech was rubbish?</example> <example type="untouched">Actually, <marker>pre-TEST</marker> terms like this are not allowed.</example> <example type="untouched"><marker>Pre-disambiguation</marker> checks were not necessary.</example><!-- Pre-disambiguation/B-NP-plural. Thus, a different rule is necessary. --> <example type="untouched">The problems of pre-industrialisation processes were noted.</example><!-- pre-industrialisation/B-NP-plural --> <example type="ambiguous" inputform="pre-rabbit[pre-rabbit]" outputform="pre-rabbit[pre-rabbit/JJ]">The <marker>pre-rabbit</marker> tests were successfully done.</example> <example type="ambiguous" inputform="post-match[post-match]" outputform="post-match[post-match/JJ]">Those <marker>post-match</marker> drinks left us a little woozy.</example> <example type="ambiguous" inputform="pre-sulphurization[pre-sulphurization]" outputform="pre-sulphurization[pre-sulphurization/JJ]">Some <marker>pre-sulphurization</marker> tests for spelling are necessary</example> <example type="ambiguous" inputform="pre-disambiguation[pre-disambiguation]" outputform="pre-disambiguation[pre-disambiguation/JJ]">My <marker>pre-disambiguation</marker> tests are OK.</example> <example type="ambiguous" inputform="pre-industrialisation[pre-industrialisation]" outputform="pre-industrialisation[pre-industrialisation/JJ]">The <marker>pre-industrialisation</marker> processes were noted.</example> <example type="ambiguous" inputform="pre-Fukushima[pre-Fukushima]" outputform="pre-Fukushima[pre-Fukushima/JJ]">All new <marker>pre-Fukushima</marker> tests must be done carefully.</example> </rule> <rule><!-- disambiguation, plural common nouns, chunk="B-NP-plural --> <pattern> <marker> <token chunk="B-NP-plural" regexp="yes">(pre|post)-[a-z]+<exception postag="JJ"/></token> </marker> <token chunk="E-NP-plural" postag="NNS"/> </pattern> <filter class="org.languagetool.rules.en.NoDisambiguationEnglishPartialPosTagFilter" args="no:1 regexp:(?:[Pp]re|[Pp]ost)-([A-Z]?[a-z]+) postag_regexp:NN(P|:UN?)?|VB[PGN]"/> <disambig action="add"><wd pos="JJ"/></disambig> <example type="ambiguous" inputform="Pre-disambiguation[Pre-disambiguation]" outputform="Pre-disambiguation[Pre-disambiguation/JJ]"><marker>Pre-disambiguation</marker> checks were not necessary.</example> <example type="ambiguous" inputform="pre-industrialisation[pre-industrialisation]" outputform="pre-industrialisation[pre-industrialisation/JJ]">The problems of <marker>pre-industrialisation</marker> processes were noted.</example> <example type="ambiguous" inputform="Pre-Fukushima[Pre-Fukushima]" outputform="Pre-Fukushima[Pre-Fukushima/JJ]"><marker>Pre-Fukushima</marker> tests must be done immediately.</example> <example type="ambiguous" inputform="Pre-Computer[Pre-Computer]" outputform="Pre-Computer[Pre-Computer/JJ]"><marker>Pre-Computer</marker> terms are permitted.</example><!-- If this typography is not permitted for common nouns, then make an antipattern. An AP is much simpler alternative to special rules for proper nouns. --> <example type="ambiguous" inputform="Pre-eat[Pre-eat]" outputform="Pre-eat[Pre-eat/JJ]"><marker>Pre-eat</marker> sessions are permitted only with approval from management.</example> <example type="ambiguous" inputform="Pre-eaten[Pre-eaten]" outputform="Pre-eaten[Pre-eaten/JJ]"><marker>Pre-eaten</marker> worms are gross!</example> <example type="ambiguous" inputform="Pre-cooling[Pre-cooling]" outputform="Pre-cooling[Pre-cooling/JJ]"><marker>Pre-cooling</marker> devices prevent the cooler itself from becoming too hot.</example> </rule> <rule><!-- ignore spelling --> <pattern> <marker> <token postag="JJ" regexp="yes">(pre|post)-[a-z]+ <exception regexp="yes">.*(aluminium|colour|dialoge|programme|sulphur).*</exception><!-- BrE spelling --> <exception regexp="yes">.*(aluminum|color|dialog|program|sulfur).*</exception><!-- AmE spelling --> <exception regexp="yes">.*(gramme|metre|is(ation|er|ability))</exception><!-- Suffixes, BrE spelling. --> </token> </marker> <token postag_regexp="yes" postag="NN.*"/> </pattern> <filter class="org.languagetool.rules.en.NoDisambiguationEnglishPartialPosTagFilter" args="no:1 regexp:(?:[Pp]re|[Pp]ost)-([A-Z]?[a-z]+) postag_regexp:NN(P|:UN?)?|VB[PGN]"/><!-- The filter makes sure that this term is the one to which the postag was applied. --> <disambig action="ignore_spelling"/> </rule> </rulegroup> <rulegroup id="NUMBER_YEAR_OLD" name="hyphenated adjectives/nouns (10-year-old)"><!-- https://writingexplained.org/years-old-hyphenate --> <!-- This rulegroup has some simple antipatterns to prevent giving a reading to incorrect text. If necessary, other rules later in the disambiguation should disambiguate NN/JJ readings --> <rule><!-- adjective --> <antipattern><!-- Noun --> <token chunk="E-NP-singular" regexp="yes">.*-old</token> </antipattern> <antipattern><!-- Incorrect grammar: 30-year-old wine are. --> <token regexp="yes">.*-old</token> <token postag_regexp="yes" postag="NN:UN?"/> <token regexp="yes">are|were</token> </antipattern> <pattern> <marker> <token regexp="yes">([0-9]+|x|one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen|twenty)-(day|week|month|year)-old</token> </marker> <token postag_regexp="yes" postag="NN.*"/> </pattern> <disambig action="add"><wd pos="JJ"/></disambig> <example type="untouched">Incorrect grammar. These 30-year-old wine are very good.</example> <example type="untouched">Not good style (use a digit 33). This thirty-three-year-old wine is good.</example> <example type="untouched">NN. The average 2-year-old should be able to do this.</example> <example type="untouched">NN. The average 7-year-old can do this easily.</example> <example type="ambiguous" inputform="10-year-old[10-year-old/NN]" outputform="10-year-old[10-year-old/JJ,10-year-old/NN]">At this age, <marker>10-year-old</marker> children can...</example> <example type="ambiguous" inputform="x-month-old[x-month-old]" outputform="x-month-old[x-month-old/JJ]">The average <marker>x-month-old</marker> child can... where is is between 9 and 13.</example> <example type="ambiguous" inputform="seven-year-old[seven-year-old/NN]" outputform="seven-year-old[seven-year-old/JJ,seven-year-old/NN]">The average <marker>seven-year-old</marker> can is rusty.</example> </rule> <rule><!-- singular noun --> <antipattern> <token chunk="I-NP-singular" regexp="yes">.*-old</token> </antipattern> <antipattern> <token chunk="I-NP-plural" regexp="yes">.*-old</token> </antipattern> <pattern> <marker> <token regexp="yes">([0-9]+|x|one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen|twenty)-(day|week|month|year)-old <exception postag="JJ"/><!-- Not sure whether is is necessary, but keep as a fail-safe option. --> </token> </marker> </pattern> <disambig action="add"><wd pos="NN"/></disambig> <example type="untouched">JJ. This 10-year-old child is a prodigy.</example> <example type="untouched">JJ. This 10-year-old can is rusty.</example> <example type="ambiguous" inputform="x-year-old[x-year-old]" outputform="x-year-old[x-year-old/NN]">The average <marker>x-year-old</marker> can usually do this (where is is between 9 and 13).</example> <example type="ambiguous" inputform="nineteen-month-old[nineteen-month-old]" outputform="nineteen-month-old[nineteen-month-old/NN]">What future is there for this disadvantaged <marker>nineteen-month-old</marker>'s child?</example> </rule> <rule><!-- plural noun --> <antipattern> <token chunk="I-NP-singular" regexp="yes">.*-year-olds</token> </antipattern> <antipattern> <token chunk="I-NP-plural" regexp="yes">.*-year-olds</token> </antipattern> <pattern> <token regexp="yes" case_sensitive="yes">([0-9]+|x|one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen|twenty)-(day|week|month|year)-olds</token><!-- MFU: Usually, only '-year-olds', but I don't know of a grammar rule that prevents the use of days/weeks/months --> </pattern> <disambig action="add"><wd pos="NNS"/></disambig> <example type="untouched">Incorrect grammar. These 30-year-olds wines are very good.</example> <example type="untouched">Incorrect grammar. Those 2-year-olds wine is also good.</example> <example type="untouched">Not good style (use a digit 33). These thirty-three-year-olds were all born in the USA.</example> <example type="ambiguous" inputform="x-year-olds[x-year-olds]" outputform="x-year-olds[x-year-olds/NNS]">Let px be the proportion of <marker>x-year-olds</marker> who have some fixed attribute such as the season of birth.</example> </rule> </rulegroup> <rule id="number_JJ" name="Tag number-based adjectives"> <pattern> <marker> <token regexp="yes">\d?(1st|2nd|3rd|\dth)<exception postag="JJ"/></token> </marker> <token postag_regexp="yes" postag="NN(:UN?)?|JJS?"/> </pattern> <disambig postag="JJ"/> <example type="ambiguous" inputform="22nd[22nd]" outputform="22nd[22nd/JJ]">This is the <marker>22nd</marker> place.</example> <example type="ambiguous" inputform="99th[99th]" outputform="99th[99th/JJ]">The <marker>99th</marker> conflict occurred yesterday.</example> <example type="ambiguous" inputform="41st[41st]" outputform="41st[41st/JJ]">... making it the 42nd most populous and <marker>41st</marker> largest nation in the world.</example> <example type="ambiguous" inputform="33rd[33rd]" outputform="33rd[33rd/JJ]">This is the <marker>33rd</marker> unscheduled repair this year.</example> <example type="untouched">1nd place</example> <example type="untouched">1 dollar</example> <example type="untouched">The <marker>22nd</marker> is a good day for me.</example> <example type="untouched">You must go to London on the <marker>22nd</marker> of the month.</example> <example type="untouched">Refer to the <marker>22nd</marker> samples.</example> <example type="untouched">There are too many problems. This is the <marker>99th</marker>, and it's only Tuesday.</example> <example type="untouched">This is the <marker>23rd</marker> example. (The abbreviation has the postag JJ.)</example> </rule> <rule id="CD_PAST_CD" name="Disambiguate time"> <pattern> <marker> <token postag="CD"/> <token postag="IN" regexp="yes">past|to</token> <token postag="CD"/> </marker> </pattern> <disambig action="filterall"/> <example type="ambiguous" inputform="six[six/CD,six/JJ,six/NN]" outputform="six[six/CD]">It's ten past <marker>six</marker>.</example> </rule> <rule id="DT_CD_VBP" name="Disambiguate verb"> <antipattern><!-- #3876 any one market they --> <token regexp="yes">any|no</token> <token regexp="yes">1|one</token> <token chunk="E-NP-singular" postag="NN:UN"/> </antipattern> <antipattern> <token>the</token> <token regexp="yes">one|1</token> <token postag="NN:UN" /> </antipattern> <pattern> <token postag="DT"/> <token postag="CD"/> <marker> <and> <token postag="VBP"/> <token postag="NN:UN"/> </and> </marker> <token postag="PRP|NN[PS]?" postag_regexp="yes"></token> </pattern> <disambig action="remove" postag="NN:UN"/> <example type="untouched">If one player has enough of a presence in any one <marker>market</marker> they can cause prices to move in their favor.</example><!-- #3876 --> <example type="untouched">Although no 1 <marker>market</marker> he supplies is likely to predominate....</example><!-- #3876 --> <example type="untouched">They proposed limiting the investment an employee can have in any one <marker>stock</marker> in their 401(k) to 20 percent.</example><!-- #3876 --> <example type="untouched">The one question I had was ...</example> <example type="ambiguous" inputform="love[love/NN:UN,love/VB,love/VBP]" outputform="love[love/VB,love/VBP]">The two <marker>love</marker> you.</example> </rule> <!-- <rule id="SOME_VBP_IN" name="Disambiguate verb"> <pattern> <token regexp="yes">many|some</token> <marker> <and> <token postag="VBP"/> <token postag="NN:UN"/> </and> </marker> <token postag="IN"></token> </pattern> <disambig action="remove" postag="NN:UN"/> <example type="ambiguous" inputform="fall[fall/NN:UN,fall/VB,fall/VBP]" outputform="fall[fall/VB,fall/VBP]">We looked at the partygoers and found some <marker>fall</marker> in the gutter, usually when they are drunk.</example> </rule>--> <rule id="half_past_CD" name="Disambiguate time no. 2"> <pattern> <marker> <token postag="NN">half</token> <token postag="IN" regexp="yes">past|to</token> <token postag="CD"/> </marker> </pattern> <disambig action="filterall"/> <example type="ambiguous" inputform="six[six/CD,six/JJ,six/NN]" outputform="six[six/CD]">It's half past <marker>six</marker>.</example> </rule> <rule id="SO_JJ" name="so + adj/rb => so/RB"> <pattern> <marker><token>so</token></marker> <token postag="JJ.?|RB.?" postag_regexp="yes"> <exception regexp="yes">therefore|hence|thus</exception> </token> </pattern> <disambig postag="RB"/> <example type="untouched"> He checked carefully, so that the mistakes were caught.</example> <example type="ambiguous" inputform="so[so/CC,so/JJ,so/NN:U,so/RB]" outputform="so[so/RB]">He checked <marker>so</marker> carefully.</example> </rule> <rule id="AULD_LANG_SYNE" name="auld lang syne"><!-- www.lexico.com/en/definition/auld_lang_syne --> <pattern> <token>auld</token> <token>lang</token> <token>syne</token> </pattern> <disambig action="replace"><wd pos="NN:U"/><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule id="HUMAN_RIGHTS_COUNCIL" name="Human Rights Council"><!-- www.ohchr.org/EN/HRBodies/HRC/Pages/Home.aspx --> <pattern case_sensitive="yes"> <token>Human</token> <token>Rights</token> <token>Council</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule id="AMERICAN_AIRLINES" name="American Airlines"><!-- www.ohchr.org/EN/HRBodies/HRC/Pages/Home.aspx --> <pattern case_sensitive="yes"> <token>American</token> <marker> <token>Airlines</token> </marker> </pattern> <disambig postag="NNP"/> </rule> <rule id="NNP_VON_DER_LEYEN" name="von der Leyen"> <pattern case_sensitive="yes"> <token>von</token> <token>der</token> <token>Leyen</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule id="NNP_KAMA_SUTRA" name="Kama Sutra"> <pattern case_sensitive="yes"> <token>Kama</token> <token>Sutra</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule id="NNP_AREA_51" name="Area 51"> <pattern case_sensitive="yes"> <token>Area</token> <token>51</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule id="SERIE_A" name="Serie A"> <!-- https://en.wikipedia.org/wiki/Serie_A --> <pattern case_sensitive="yes"> <token>Serie</token> <token regexp="yes">A|B</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule id="HUANG_HE" name="Huang He"> <!-- https://en.wikipedia.org/wiki/Yellow_River --> <pattern case_sensitive="yes"> <token>Huang</token> <token>He</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule id="CREATIVE_COMMONS" name="Creative Commons"> <pattern case_sensitive="yes"> <token>Creative</token> <token>Commons</token> </pattern> <disambig action="add"><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule id="ORDINAL_NUMBERS" name="ordinal numbers"> <pattern case_sensitive="yes"> <token regexp="yes">([a-z]+-)?first|([a-z]+-)?second|([a-z]+-)?third|([a-z]+-)?fourth|([a-z]+-)?fifth|([a-z]+-)?sixth|([a-z]+-)?seventh|([a-z]+-)?eighth|([a-z]+-)?ninth|tenth|eleventh|twelfth|thirteenth|fourteenth|fifteenth|sixteenth|seventeenth|eighteenth|nineteenth|twentieth|thirtieth|f(if|or)tieth|sixtieth|seventieth|eightieth|ninetieth|hundredth|thousandth|millionth|billionth|trillionth</token> </pattern> <disambig action="add"><wd pos="ORD"/></disambig> <example type="ambiguous" inputform="third[third/JJ,third/NN:UN]" outputform="third[third/JJ,third/NN:UN,third/ORD]">Her <marker>third</marker> encounter...</example> </rule> <rule id="NNP_THOUSAND_OAKS" name="Thousand Oaks"> <pattern case_sensitive="yes"> <token>Thousand</token> <token>Oaks</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule id="NNP_SEVEN_NATION_ARMY" name="Seven Nation Army"> <pattern> <token>Seven</token> <token>Nation</token> <token>Army</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule id="NNP_POKEMON_GO" name="Pokémon Go"> <pattern> <token regexp="yes">Pok[eé]mon</token> <token regexp="yes" case_sensitive="yes">G[oO]</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule id="NNP_HARRY_POTTER" name="Harry Potter"> <pattern> <token>Harry</token> <token>Potter</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule id="NNP_DER_SPIEGEL" name="Der Spiegel"> <pattern> <token>Der</token> <token>Spiegel</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rulegroup id="LAST_WEEK" name="last week/month => JJ"> <rule> <pattern> <marker><token>last</token></marker> <token regexp="yes">month|week(end)?|year|Christmas|night|minute|time|season|thing|decade|day|couple|summer|resort|century|name|word|chance|spring</token> </pattern> <disambig postag="JJ"/> <example type="untouched">Nothing can last forever.</example> <example type="ambiguous" inputform="Last[last/DT,last/JJ,last/NN,last/RB,last/VB,last/VBP]" outputform="Last[last/JJ]"><marker>Last</marker> Christmas I gave you my heart.</example> </rule> <rule> <pattern> <token postag="JJ">last<exception postag="JJ" negate_pos="yes"/></token> <marker> <token postag="NN"/> </marker> </pattern> <disambig postag="NN:UN"/> </rule> </rulegroup> <rule id="SPORTS_ADJ" name="'sports' as adjective"> <pattern> <marker><token>sports</token></marker> <token regexp="yes" inflected="yes">bra|car|centre|center|coat|day|jacket|shirt</token> </pattern> <disambig action="replace"><wd lemma="sports" pos="JJ"/></disambig> <example type="untouched">I enjoy winter sports.</example> <example type="ambiguous" inputform="sports[sport/NNS,sport/VBZ]" outputform="sports[sports/JJ]">Getting a <marker>sports</marker> car is easy.</example> </rule> <rule id="EVEN_NOW" name="even now"> <pattern> <token postag="RB">even<exception scope="previous" regexp="yes" inflected="yes">break|get</exception></token> <token postag="RB">now</token> </pattern> <disambig action="filterall"/> <example type="untouched">The even is approaching.</example> <example type="ambiguous" inputform="even[even/JJ,even/NN,even/RB,even/VB,even/VBP]" outputform="even[even/RB]">The rainbow mural persevered, <marker>even</marker> now, thirty years later.</example> <example type="ambiguous" inputform="now[now/CC,now/JJ,now/NN:U,now/RB]" outputform="now[now/RB]">The rainbow mural persevered, even <marker>now</marker>, thirty years later.</example> </rule> <rule id="FIRST_THING" name="first/last thing does not need an article"> <pattern> <token regexp="yes">first|last</token> <marker><token>thing</token></marker> </pattern> <disambig postag="NN:UN"/> </rule> <rule id="DEAR_XX" name="Dear Professor"> <pattern> <token postag="SENT_START"/> <token>dear</token> <marker> <token postag="NN"/> </marker> </pattern> <disambig postag="NN:UN"/> </rule> <rule id="REMOVE_POS_NNU-adjectives" name="Remove POS NN:U from adjectives"><!-- NN:U = Mass noun --> <pattern> <token postag="DT"/> <marker> <token regexp="yes">large|small</token><!-- this is the safe option. Alternatively, use JJ and NN:U --> </marker> <token postag_regexp="yes" postag="NN|NN:U|NN:UN|NNS"/> </pattern> <disambig action="remove"><wd pos="NN:U"/></disambig> <example type="untouched">When you have a choice about which brush to use, use the <marker>large</marker>.</example> <example type="ambiguous" inputform="large[large/JJ,large/NN:U]" outputform="large[large/JJ]">Use the <marker>large</marker> brush.</example> </rule> <rule id="UH" name="Interjections"> <pattern> <token postag="SENT_START"/> <marker> <token postag="UH"/> </marker> <token>!</token> </pattern> <disambig postag="UH"/> <example type="ambiguous" inputform="Out[out/IN,out/NN,out/RB,out/RP,out/UH,out/VB,out/VBP]" outputform="Out[out/UH]"><marker>Out</marker>!</example> </rule> <rulegroup id="OUT_not_VERB" name="VB_OUT => not a verb"> <rule> <pattern> <token postag="VB.*" postag_regexp="yes"/> <marker> <token postag="VB.*" postag_regexp="yes">out</token> </marker> </pattern> <disambig action="filter" postag="[IN]N|R[BP]|UH"/> <example type="untouched">He always left himself an out.</example> <example type="ambiguous" inputform="out[out/IN,out/NN,out/RB,out/RP,out/UH,out/VB,out/VBP]" outputform="out[out/IN,out/NN,out/RB,out/RP,out/UH]">Go <marker>out</marker>!</example> </rule> <rule><!-- out of order --> <antipattern> <token postag="MD" /> <token inflected="yes" min="0">not</token> <token>out</token> </antipattern> <pattern> <marker> <token>out</token> </marker> <token>of</token> <token chunk_re=".-NP.*"> <exception>course</exception> </token> </pattern> <disambig action="remove" postag="VB.*"/> </rule> </rulegroup> <rule id="EXCEPT_NOT_VERB" name="VB_EXCEPT => not a verb"> <pattern> <marker> <token postag="VBP?" postag_regexp="yes">except</token> </marker> <token><exception regexp="yes">to|against</exception></token> </pattern> <disambig postag="IN"/> <example type="ambiguous" inputform="except[except/IN,except/VB,except/VBP]" outputform="except[except/IN]">On Thursday nobody <marker>except</marker> Charlie Coe was thinking of Charlie Coe.</example> <example type="untouched">He insisted to except against a witness.</example> </rule> <rule id="EXCEPT_VBNN_VB" name="except do => verb"> <pattern> <token postag="IN">except</token> <marker> <and> <token postag="NN"/> <token postag="VB"/> </and> </marker> </pattern> <disambig postag="VB"/> <example type="untouched">Nobody was perfect except him.</example> <example type="ambiguous" inputform="jump[jump/NN,jump/VB,jump/VBP]" outputform="jump[jump/VB]">There was nothing he could do except <marker>jump</marker> into the ditch.</example> </rule> <rule id="GO_COME_VB" name="go + verb/nn => verb"> <antipattern><!-- www.lexico.com/definition/come_true --> <token>come</token> <token>true</token> </antipattern> <pattern> <token regexp="yes">go|come</token> <marker> <and> <token postag="NN"/> <token postag="VB"> <exception postag="RP"/> </token> </and> </marker> </pattern> <disambig postag="VB"/> <example type="untouched">How did the idea for this originally come up?</example><!-- #3511 come/I-NP-singular --> <example type="untouched">Sometimes I go up the wall with this disambiguation malarkey.</example> <example type="untouched">The Orwellian Nightmare Come True which analyses the parallels between elements of the storyline in...</example><!-- #4323 --> <example type="untouched">... or should the Orwellian nightmare come true, we will...</example><!-- #4323 --> <example type="ambiguous" inputform="see[see/NN,see/VB,see/VBP]" outputform="see[see/VB]">I told him, I want to go <marker>see</marker> the Buck house.</example> </rule> <rule id="GO_APE" name="go ape => NN:UN"> <pattern> <token inflected="yes">go</token> <marker><token>ape</token></marker> </pattern> <disambig postag="NN:UN"/> <example type="untouched">Here is an ape.</example> <example type="ambiguous" inputform="ape[ape/NN,ape/VB,ape/VBP]" outputform="ape[ape/NN:UN]">He goes <marker>ape</marker>.</example> </rule> <rule id="GO_TO_NN" name="go to + noun without determiner =>NN:UN"> <pattern> <token inflected="yes">go</token> <token>to</token> <marker><token regexp="yes">bed|college|school|university|war</token></marker> </pattern> <disambig postag="NN:UN"/> <example type="ambiguous" inputform="school[school/NN:UN,school/VB,school/VBP]" outputform="school[school/NN:UN]">Let's go to <marker>school</marker>.</example> </rule> <rule id="GIVE_EAR" name="give ear => NN:UN"> <pattern> <token inflected="yes">give</token> <marker><token>ear</token></marker> </pattern> <disambig postag="NN:UN"/> </rule> <rule id="CPU_POWER" name="CPU power => NN:U"> <pattern> <token>CPU</token> <token>power</token> </pattern> <disambig action="replace"><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule id="BANK_TRANSPARENCY" name="Bank transperancy => NN:U"> <pattern> <token>bank</token> <token>transparency</token> </pattern> <disambig action="replace"><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule id="HAT_IN_HAND" name="hat in hand => no determiner required"> <pattern> <marker> <token>hat</token> </marker> <token>in</token> <token>hand</token> </pattern> <disambig postag="NN:UN"/> </rule> <rule id="BELOW_ABOVE_GROUND" name="above/below ground => no determiner required"> <pattern> <token regexp="yes">above|below</token> <marker><token>ground</token></marker> </pattern> <disambig postag="NN:UN"/> <example type="ambiguous" inputform="ground[grind/VBD,grind/VBN,ground/NN:UN,ground/VB,ground/VBP]" outputform="ground[ground/NN:UN]">The restaurant was below <marker>ground</marker>.</example> </rule> <rule id="AT_NN" name="at + nouns that require no determiner"> <pattern> <token>at</token> <marker><token regexp="yes">ba[yt]|breakfast|first|night|risk|war|home|school|work|sea|anchor|birth|fault|hand|issue|length|liberty|source|stake|table|variance|onset</token></marker> </pattern> <disambig postag="NN:UN"/> <example type="untouched">We were at the university.</example> <example type="ambiguous" inputform="night[night/JJ,night/NN:UN]" outputform="night[night/NN:UN]">This happened at <marker>night</marker>.</example> </rule> <rule id="BEYOND_NN" name="beyond + nouns that require no determiner"> <pattern> <token>beyond</token> <marker><token regexp="yes">reach|description|dispute|reproach</token></marker> </pattern> <disambig postag="NN:UN"/> <example type="untouched">It's beyond your control.</example> <example type="ambiguous" inputform="reach[reach/NN:UN,reach/VB,reach/VBP]" outputform="reach[reach/NN:UN]">It's beyond <marker>reach</marker>.</example> </rule> <rule id="BEYOND_IN" name="beyond + nouns that require no determiner"> <pattern> <marker> <token>beyond</token> </marker> <token regexp="yes">reach|description|dispute|reproach</token> </pattern> <disambig postag="IN"/> <example type="untouched">It's beyond your control.</example> <example type="ambiguous" inputform="beyond[beyond/IN,beyond/JJ,beyond/NN]" outputform="beyond[beyond/IN]">It's <marker>beyond</marker> description.</example> </rule> <rule id="ACCORDING_TO" name="according to"> <!-- AtD multiword prepositions --> <pattern> <token>according</token> <token>to</token> </pattern> <disambig postag="IN"/> </rule> <rule id="ALONG_WITH" name="along with"> <pattern> <token>along</token> <token>with</token> </pattern> <disambig postag="IN"/> </rule> <rule id="APART_FROM" name="apart from"> <pattern> <token>apart</token> <token>from</token> </pattern> <disambig postag="IN"/> </rule> <rule id="AS_FOR" name="as for"> <pattern> <token>as</token> <token>for</token> </pattern> <disambig postag="IN"/> </rule> <rule id="BECAUSE_OF" name="because of"> <pattern> <token>because</token> <token>of</token> </pattern> <disambig postag="IN"/> </rule> <rule id="BY_MEANS_OF" name="by means of"> <pattern> <token>by</token> <token>means</token> <token>of</token> </pattern> <disambig postag="IN"/> </rule> <rule id="EXCEPT_FOR" name="except for"> <pattern> <token>except</token> <token>for</token> </pattern> <disambig postag="IN"/> </rule> <rule id="IN_ADDITION_TO" name="in addition to"> <pattern> <token>in</token> <token>addition</token> <token>to</token> </pattern> <disambig postag="IN"/> </rule> <rule id="IN_BACK_OF" name="in back of"> <pattern> <token>in</token> <token>back</token> <token>of</token> </pattern> <disambig postag="IN"/> </rule> <rule id="IN_CASE_OF" name="in case of"> <pattern> <token>in</token> <token>case</token> <token>of</token> </pattern> <disambig postag="IN"/> </rule> <rule id="IN_FRONT_OF" name="in front of"> <pattern> <token>in</token> <token>front</token> <token>of</token> </pattern> <disambig postag="IN"/> </rule> <rule id="IN_PLACE_OF" name="in place of"> <pattern> <token>in</token> <token>place</token> <token>of</token> </pattern> <disambig postag="IN"/> </rule> <rule id="IN_SPITE_OF" name="in spite of"> <pattern> <token>in</token> <token>spite</token> <token>of</token> </pattern> <disambig postag="IN"/> </rule> <rule id="INSTEAD_OF" name="instead of"> <pattern> <token>instead</token> <token>of</token> </pattern> <disambig postag="IN"/> </rule> <rule id="ON_TOP_OF" name="on top of"> <pattern> <token>on</token> <token>top</token> <token>of</token> </pattern> <disambig postag="IN"/> </rule> <!--rule id="OUT_OF" name="out of"> <pattern> <token>out</token> <token>of</token> </pattern> <disambig postag="IN"/> </rule--> <!--rule id="UP_TO" name="up to"> <pattern> <token>up</token> <token>to</token> </pattern> <disambig postag="IN"/> </rule--> <rulegroup id="BY_NN" name="by + nouns that require no determiner"> <rule> <pattern> <token>by</token> <marker> <token regexp="yes">air|dint|crook|hook|hand|machine|word|cheque|accident|day|means|mistake|name|train|rail|railway|coach|bus|boat|automobile|helicopter|taxi|ambulance|plane|airplane|foot|section|article|page|road|letter|phone|telephone|mail|storm|arrangement|satellite|decree|year-end|lot|profession|district|week|eye|covenant|fiat|force|ship|jowl|tramway|subway|post|postcard|bicycle|bike</token> </marker> </pattern> <disambig postag="NN:UN"/> <example type="ambiguous" inputform="postcard[postcard/NN]" outputform="postcard[postcard/NN:UN]">She played chess with him by <marker>postcard</marker>.</example> </rule> <rule> <pattern> <token>by</token> <marker> <token regexp="yes">means|way</token> </marker> <token>of</token> </pattern> <disambig postag="NN:UN"/> <example type="ambiguous" inputform="way[way/NN:UN,way/RB]" outputform="way[way/NN:UN]">She played chess with him by <marker>way</marker> of the WWW site.</example> </rule> </rulegroup> <rulegroup id="FOR_NN" name="for + nouns that require no determiner"> <rule> <pattern> <token>for</token> <marker><token regexp="yes">breakfast|fun|pleasure|instance|example|sale</token></marker> </pattern> <disambig postag="NN:UN"/> <example type="ambiguous" inputform="example[example/NN:UN,example/VB,example/VBP]" outputform="example[example/NN:UN]">For <marker>example</marker>, he plays golf.</example> </rule> <rule> <pattern> <token>for</token> <marker><token>fear</token></marker> <token>of</token> </pattern> <disambig postag="NN:UN"/> <example type="ambiguous" inputform="fear[fear/NN:UN,fear/VB,fear/VBP]" outputform="fear[fear/NN:UN]"> But I never sent them for <marker>fear</marker> of what I might find.</example> </rule> <rule> <pattern> <token>word</token> <token>for</token> <marker><token>word</token></marker> </pattern> <disambig postag="NN:UN"/> <example type="ambiguous" inputform="word[word/NN,word/NN:U,word/VB,word/VBP]" outputform="word[word/NN:UN]">I followed it word for <marker>word</marker>.</example> </rule> </rulegroup> <rule id="CH_IN_DYNASTY" name="'in as parts of proper names"> <pattern> <token regexp="yes">\p{Lu}\p{Ll}+</token> <token spacebefore="no" regexp="yes">['’]</token> <marker> <token spacebefore="no">in</token> </marker> </pattern> <disambig postag='NNP'/> <example type="untouched">This was in his youth.</example> <example type="ambiguous" inputform="in[in/IN,in/NN,in/RB,in/RP]" outputform="in[in/NNP]">Ch'<marker>in</marker> dynasty</example> </rule> <rulegroup id="IN_NN" name="in + nouns that require no determiner"> <rule> <pattern> <token>in</token> <marker><token regexp="yes">conclusion|danger|detail|disgrace|doubt|fact|hand|paperback|person|retrospect|studio|summary|love|mood|name|turn|deed|outlook|favor|phase|reply|chorus|quest|series|answer|league|contradistinction|absentia|harness|peace|private|public|time|tune|place|order</token></marker> </pattern> <disambig postag="NN:UN"/> <example type="untouched">In his youth, he was very young.</example> <example type="ambiguous" inputform="summary[summary/JJ,summary/NN]" outputform="summary[summary/NN:UN]">In <marker>summary</marker>, we might say that this argument is valid.</example> </rule> <rule> <pattern> <token>in</token> <marker><token regexp="yes">honou?r|charge|expectation|memory|recognition|view</token></marker> <token>of</token> </pattern> <disambig postag="NN:UN"/> <example type="untouched">In his youth, he was very young.</example> <example type="ambiguous" inputform="view[view/NN:UN,view/VB,view/VBP]" outputform="view[view/NN:UN]">In <marker>view</marker> of his weakness we might as well do nothing.</example> </rule> <rule> <pattern> <token>in</token> <marker><token regexp="yes">accordance|keeping|league|line|touch</token></marker> <token>with</token> </pattern> <disambig postag="NN:UN"/> <example type="untouched">In his youth, he was very young.</example> <example type="ambiguous" inputform="touch[touch/NN:UN,touch/UH,touch/VB,touch/VBP]" outputform="touch[touch/NN:UN]">Let's keep in <marker>touch</marker> with him.</example> </rule> </rulegroup> <rulegroup id="ON_NN" name="on + nouns that require no determiner"> <rule> <pattern> <token>on</token> <marker><token regexp="yes">fire|time|holiday|top|board|display|foot|hand|sale|affidavit|camera|cassette|chat|coach|deposit|diskette|end|file|lease|oath|offer|page|screen|site|strike|target|tour|track|exhibit|deck</token></marker> </pattern> <disambig postag="NN:UN"/> <example type="ambiguous" inputform="time[time/JJ,time/NN:UN,time/VB,time/VBP]" outputform="time[time/NN:UN]">I'm always on <marker>time</marker>.</example> </rule> <rule> <pattern> <token>on</token> <marker><token regexp="yes">account|pain|use|part|top|condition</token></marker> <token>of</token> </pattern> <disambig postag="NN:UN"/> </rule> </rulegroup> <rulegroup id="OUT_OF_NN" name="out of + nouns that require no determiner"> <rule> <pattern> <token>out</token> <token>of</token> <marker><token regexp="yes">bed|order|place|control|danger|envy|sympathy|greed|pocket|work|hand|reach|touch|time|fear|love|line|trouble|jail|shape</token></marker> </pattern> <disambig postag="NN:UN"/> <example type="untouched">Control yourself!</example> <example type="ambiguous" inputform="control[control/NN:UN,control/VB,control/VBP]" outputform="control[control/NN:UN]">Angela's life then spiraled out of <marker>control</marker>.</example> </rule> <rule> <pattern> <marker> <token>out</token> </marker> <token>of</token> <token postag="NN.*" postag_regexp="yes"/> </pattern> <disambig postag="IN"/> <example type="ambiguous" inputform="out[out/IN,out/NN,out/RB,out/RP,out/UH]" outputform="out[out/IN]">It's all <marker>out</marker> of kilter.</example> </rule> </rulegroup> <rule id="UNDER_NN" name="under + nouns that require no determiner"> <pattern> <token>under</token> <marker><token regexp="yes">control|discussion|oath|observation</token></marker> </pattern> <disambig postag="NN:UN"/> <example type="ambiguous" inputform="control[control/NN:UN,control/VB,control/VBP]" outputform="control[control/NN:UN]">No worries, it's under <marker>control</marker>.</example> </rule> <rule id="WITH_NN" name="with + nouns that require no determiner"> <pattern> <token>with</token> <marker><token regexp="yes">reference|regard|respect|intent|access</token></marker> <token>to</token> </pattern> <disambig postag="NN:UN"/> <example type="ambiguous" inputform="access[access/NN:UN,access/VB,access/VBP]" outputform="access[access/NN:UN]">This includes issues that block access or interfere with <marker>access</marker> to the Web.</example> </rule> <rule id="WITHOUT_NN" name="without + nouns that require no determiner"> <pattern> <token>without</token> <marker><token regexp="yes">end|cause|doubt|fail|permission|notice|question|fear|power|delay|charge|pay|help</token></marker> </pattern> <disambig postag="NN:UN"/> <example type="ambiguous" inputform="end[end/NN,end/VB,end/VBP]" outputform="end[end/NN:UN]">This is a war without <marker>end</marker>.</example> </rule> <rule id="LOOK_LIKE" name="look like - like => preposition"> <pattern> <token inflected="yes">look</token> <marker> <token>like</token> </marker> </pattern> <disambig postag="IN"/> <example type="untouched">I like the way he looks.</example> <example type="ambiguous" inputform="like[like/IN,like/JJ,like/NN,like/VB,like/VBP]" outputform="like[like/IN]">He looks <marker>like</marker> shit.</example> </rule> <rule id='KIND_OF_JJRB' name="kind of + adj/adv => no determiner required"> <pattern> <marker><token>kind</token></marker> <token>of</token> <token postag="JJ.*|RB.*" postag_regexp="yes"/> </pattern> <disambig postag="NN:UN"/> <example type="untouched">It's a kind of dogs.</example> <example type="ambiguous" inputform="kind[kind/JJ,kind/NN:UN]" outputform="kind[kind/NN:UN]">I feel <marker>kind</marker> of stiff.</example> </rule> <rulegroup name="CD/NN + NNS -> CD" id="CD_NN"> <rule> <pattern> <marker> <and> <token postag="CD"><exception>one</exception></token> <token postag="NN"/> </and> </marker> <token min="0" max="1" postag="JJ"/> <token postag="NNS"> <exception postag="MD|CC|IN|DT|PRP.*" postag_regexp="yes" /> </token> </pattern> <disambig postag="CD"/> <example type="ambiguous" inputform="two[two/CD,two/JJ,two/NN]" outputform="two[two/CD]">These <marker>two</marker> things are important.</example> <example type="ambiguous" inputform="two[two/CD,two/JJ,two/NN]" outputform="two[two/CD]">These <marker>two</marker> bad things are important.</example> <example type="untouched">These are those bad two.</example> </rule> <rule> <pattern> <marker> <token postag="CD">one<exception scope="previous">no</exception></token> </marker> <token min="0" max="1" postag="JJ"/> <token postag="NN"> <exception postag="MD|CC|IN|DT|PRP.*" postag_regexp="yes" /> <exception regexp="yes">have|then|now</exception> </token> </pattern> <disambig postag="CD"/> <example type="ambiguous" inputform="one[one/CD,one/JJ,one/NN,one/PRP]" outputform="one[one/CD]">I have <marker>one</marker> black dog.</example> <example type="ambiguous" inputform="one[one/CD,one/JJ,one/NN,one/PRP]" outputform="one[one/CD]">I have <marker>one</marker> dog.</example> <example type="untouched">No one trusts him any more.</example> <example type="untouched">I think all cars but this one have been slowing down.</example> </rule> </rulegroup> <rule id="CD_VBZNNS_NNS" name="number + vbz/nns => nns"> <antipattern> <token postag="NN:UN?|NNP?|UNKNOWN" postag_regexp="yes" chunk_re="[BI]-NP.*" /> <token regexp="yes" chunk_re="[EI]-NP.*">\d+</token> <token postag="VBZ" /> </antipattern> <pattern> <token postag="CD"><exception>one</exception></token> <marker> <and> <token postag="NNS"/> <token postag="VBZ"/> </and> </marker> <token postag_regexp="yes" postag="VB.+|SENT_END"/> </pattern> <disambig postag="NNS"/> <example type="untouched">One minute.</example> <example type="untouched">Figure two <marker>shows</marker> the results.</example> <example type="untouched">As pig 1 walks down</example> <example type="untouched">Although page 10 <marker>gives</marker> much information, it is incomplete.</example> <example type="untouched">If the number 5 <marker>shows</marker> on the display, stop the test.</example> <example type="untouched">Two and two <marker>makes</marker> four.</example> <example type="untouched">The debt of £3,000,000 <marker>harms</marker> the company's financial future.</example> <example type="untouched">If the growth rate we predicted in 2007 <marker>changes</marker> by more than two percent, ...</example> <example type="untouched">Although I agree with most points on the agenda, number two <marker>presents</marker> a challenge.</example> <example type="untouched">Most of these plants live in light places, but four <marker>lives</marker> in dark places.</example><!-- Incorrect grammar. --> <example type="ambiguous" inputform="minutes[minute/NNS,minute/VBZ]" outputform="minutes[minute/NNS]">It was twenty <marker>minutes</marker>.</example> <example type="ambiguous" inputform="tests[test/NNS,test/VBZ]" outputform="tests[test/NNS]">These three <marker>tests</marker> show the problem.</example> <example type="ambiguous" inputform="samples[sample/NNS,sample/VBZ]" outputform="samples[sample/NNS]">Five <marker>samples</marker> are sufficient.</example> <example type="ambiguous" inputform="ships[ship/NNS,ship/VBZ]" outputform="ships[ship/NNS]">Those four <marker>ships</marker> were outstanding.</example> </rule> <rule id="NO_ONE" name="No one as personal pronoun"> <pattern> <token postag="DT">no</token> <token postag="PRP">one</token> </pattern> <disambig action="filterall"/> <example type="untouched">One car, two dogs, seven cats</example> <example type="ambiguous" inputform="one[one/CD,one/JJ,one/NN,one/PRP]" outputform="one[one/PRP]">No <marker>one</marker> trusts him any more.</example> <example type="ambiguous" inputform="No[No/NNP,no/DT,no/NN]" outputform="No[no/DT]"><marker>No</marker> one trusts him any more.</example> </rule> <rule id="ONE_OF_THE_MOST" name="'most' as RBS"> <pattern> <token>one</token> <token>of</token> <token>the</token> <marker><token>most</token></marker> <token postag="JJ|VBG" postag_regexp="yes"/> </pattern> <disambig postag="RBS"/> </rule> <rule name="best as adjective" id="BEST_JJS"> <!-- very crude --> <antipattern> <token regexp="yes">thee?</token> <token>best</token> </antipattern> <antipattern> <token regexp="yes">thee?</token> <token postag="JJ" /> <token>best</token> </antipattern> <pattern> <token>best</token> <token postag="IN"/> </pattern> <disambig postag="JJS"/> <example type="untouched">I best my opponents.</example> <example type="untouched">He brought out the best in people.</example> <example type="untouched">He brought out the very best in people.</example> <example type="ambiguous" inputform="best[best/NN:U,best/VB,best/VBP,good/JJS,well/JJS,well/RBS]" outputform="best[well/JJS]">It's <marker>best</marker> for him.</example> </rule> <rule name="Modal verb + verb/noun -> modal verb + verb" id="MD_VB"> <antipattern><!-- #3283 your May bill --> <token postag="PRP\$|DT" postag_regexp="yes" /> <token postag="MD"/> </antipattern> <pattern> <token postag="MD"><exception>need</exception></token> <token inflected="yes" min="0">not</token> <marker> <and> <token postag="VB"/> <token postag="NN(:UN?)?" postag_regexp="yes"/> </and> </marker> <token skip="-1"><exception scope="next">?</exception></token> <token postag="SENT_END"/> </pattern> <disambig postag="VB"/> <example type="untouched">He did not need <marker>man's</marker> testimony about man…</example> <example type="untouched">If you need <marker>oil</marker>, get a requisition order from your manager.</example> <example type="untouched">Will <marker>man</marker> ever reach the moon?</example> <example type="untouched">... but can <marker>oil</marker> be used instead of water?</example> <example type="untouched">Modal: ... and the can <marker>will</marker> be used repeatedly.</example> <example type="untouched">Please move your May bill to June.</example><!-- #3283 --> <example type="ambiguous" inputform="open[open/JJ,open/NN:U,open/VB,open/VBP]" outputform="open[open/VB]">You can <marker>open</marker> your books now.</example> </rule> <rule name="be + to + verb/... ->be + to + verb" id="BE_TO_VB"> <antipattern><!-- #4572 been to Bush's image --> <token>been</token> <token>to</token> <token chunk="E-NP-singular" postag="NNP"/> <token chunk="B-NP-singular">'s</token> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> </antipattern> <antipattern><!-- #4572 been to Mark's, but --> <token>been</token> <token>to</token> <token chunk="E-NP-singular" postag="NNP"/> <token>'s</token> <token postag="PCT"/> </antipattern> <pattern> <token inflected="yes">be</token> <token>to</token> <marker> <and> <token postag="VB"/> <token postag_regexp="yes" postag="JJ|NN.*"/> </and> </marker> </pattern> <disambig postag="VB"/> <example type="untouched">So far, the main damage has been to Bush's image.</example><!-- #4572 --> <example type="untouched">Have you ever been to Chuck's Diner for brunch?</example><!-- #4572 --> <example type="untouched">I have been to Wade's WIN site free for a week.</example><!-- #4572 Win/E-NP-singular --> <example type="untouched">You sat down to eat, not because you have never been to Mark's, but because you...</example><!-- #4573 --> </rule> <rule id="DO_VBNN_VB" name="do/did/does + verb/noun -> VB"> <pattern> <token regexp="yes">do(es)?|did</token> <marker> <and> <token postag="VB"/> <token postag_regexp="yes" postag="JJ|NN.*"><exception postag_regexp="yes" postag="NNPS?"/></token> </and> </marker> <token><exception>'s</exception></token> </pattern> <disambig postag="VB"/> <example type="untouched">I did my homework.</example> <example type="untouched">What do <marker>Peter's</marker> parents do?</example> <example type="untouched">What does <marker>Peter</marker> think of this idea?</example> <example type="untouched">What did cotton's mother and siblings do when...?</example><!-- #2545 --> <example type="ambiguous" inputform="notice[notice/NN:UN,notice/VB,notice/VBP]" outputform="notice[notice/VB]">I did <marker>notice</marker> what you said.</example> </rule> <rule id="DO_not_VBNN_VB" name="do/did/does + not + verb/noun -> VB"> <pattern> <marker> <token postag="VB.*" postag_regexp="yes" regexp="yes">do(es)?|did</token> <token>not</token> <and> <token postag="VB"/> <token postag_regexp="yes" postag="JJ|NN.*"><exception postag_regexp="yes" postag="NNPS?"/></token> </and> </marker> </pattern> <disambig action="filterall"/> <example type="untouched">I did my homework.</example> <example type="untouched">But do not <marker>Peter's</marker> parents agree with you?</example> <example type="ambiguous" inputform="notice[notice/NN:UN,notice/VB,notice/VBP]" outputform="notice[notice/VB]">I did not <marker>notice</marker> what you said.</example> </rule> <rulegroup id="DOES_not" name="does + not = verb"> <rule> <pattern> <marker> <token postag="VBZ">does</token> <token>not</token> <token postag="VB"/> </marker> </pattern> <disambig action="filterall"/> <example type="ambiguous" inputform="does[do/VBZ,doe/NNS]" outputform="does[do/VBZ]">This <marker>does</marker> not happen.</example> </rule> <rule> <pattern> <marker> <token postag="VBZ">does</token> <token>not</token> <token postag="RB"> <exception postag="DT" /> </token> <token postag="VB"/> </marker> </pattern> <disambig action="filterall"/> <example type="ambiguous" inputform="does[do/VBZ,doe/NNS]" outputform="does[do/VBZ]">This <marker>does</marker> not only happen once.</example> </rule> </rulegroup> <rule id="DONT_VBNN_VB" name="don't/didn't/doesn't + verb/noun -> VB"> <pattern> <token regexp="yes">do|did|does</token> <token regexp="yes">not|n't</token> <marker> <and> <token postag="VB"/> <token postag_regexp="yes" postag="JJ|NN.*"/> </and> </marker> </pattern> <disambig postag="VB"/> <example type="untouched">I did my homework.</example> <example type="ambiguous" inputform="notice[notice/NN:UN,notice/VB,notice/VBP]" outputform="notice[notice/VB]">I didn't <marker>notice</marker> what you said.</example> </rule> <!-- <rule name="have as verb/noun + past participle -> have/modal" id="HAVE_VBN"> <pattern mark="0"> <token>have</token> <token postag="VBN" /> </pattern> <disambig><match no="1" postag_regexp="yes" postag="MD" /></disambig> Do not use match: #5196 </rule> <rule name="have as verb/noun + not -> have/modal" id="HAVE_NOT"> <pattern mark="0"> <token>have</token> <token>not</token> </pattern> <disambig><match no="1" postag_regexp="yes" postag="MD" /></disambig> Do not use match: #5196 </rule> --> <rule name="no determiner + have as verb/noun ->have/verb" id="NODT_HAVE"> <antipattern><!-- #4814 auxiliary with perfect tenses --> <token>have</token> <token min="0" max="4" postag="RB"/> <token chunk_re=".-VP" postag="VBN"/> </antipattern> <antipattern><!-- #4814 Subject pronouns --> <token> <exception postag="MD"/><!-- Would they not have --> </token> <token regexp="yes">I|you|we|they</token> <token min="0" max="4" postag="RB"/> <token>have</token> </antipattern> <antipattern><!-- #4814 Subject pronouns: have you done...? --> <token>have</token> <token regexp="yes">I|you|we|they</token> <token min="0" max="4" postag="RB"/> <token skip="-1" chunk_re=".-VP" postag="VBN"/> <token>?</token> </antipattern> <pattern> <token> <exception postag="PRP$"/> <exception regexp="yes">the|a</exception><!-- Chunker error: of the have nots --> </token> <marker> <token regexp="yes" case_sensitive="yes">[Hh]ave|HAVE</token> </marker> <token> <exception>to</exception> </token> </pattern> <disambig action="replace"><wd lemma="have" pos="VB"/></disambig> <example type="untouched">Are you one of the haves or the have nots?</example><!-- have/B-VP --> <example type="untouched">It is better to HAve many tests.</example> <example type="untouched">Now your have and your want are not necessarily the same as mine.</example> <example type="untouched">The technicians have to regularly check the temperatures and pressures.</example> <example type="untouched">You have to open the window.</example> <example type="untouched">Give the information you have to your manager.</example><!-- 'to' is a preposition, not part of the semi-auxiliary 'have to' --> <example type="untouched">They have a younger leader.</example> <example type="untouched">I have two terriers.</example> <example type="untouched">We actually have 3 children.</example> <example type="untouched">Nevertheless, you have the time to help, don't you?</example> <example type="untouched">We already have purchased it.</example> <example type="untouched">If you have 10 stores, would they not...</example> <example type="untouched">What have you done?</example> <example type="untouched">How many (or how few) important tests have you already done, my good man?</example> <!-- <example type="untouched">Tell me, who have Mary and your older brother — the one in Manchester — seen?</example> --> <example type="untouched">The United States have never had a female president.</example> <example type="untouched">The United States/US have never had a female president.</example> <example type="untouched">These uninstalls have worked.</example> <example type="untouched">Many others have been hiding from the police.</example> <example type="untouched">I know several others that have also had problems.</example> <example type="untouched">The 3 SMEs that have already committed to being on film need to be prepared.</example> <!-- <example type="untouched">These words have errors.</example> --> <!-- <example type="untouched">Some long, unusual, and convoluted tests very occasionally (without a doubt) have errors.</example> --> <!-- <example type="untouched">These tests, which were given to me yesterday, have errors.</example> --> <example type="ambiguous" inputform="have[have/NN,have/VB,have/VBP]" outputform="have[have/VB]">I thought it would be better to <marker>have</marker> the Cleburne desk at zero.</example><!-- Infinitive after 'to' --> <example type="ambiguous" inputform="have[have/NN,have/VB,have/VBP]" outputform="have[have/VB]">These tests can sometimes <marker>have</marker> unintended consequences.</example><!-- Infinitive after a modal verb --> <example type="ambiguous" inputform="have[have/NN,have/VB,have/VBP]" outputform="have[have/VB]">Will pigs ever <marker>have</marker> wings?</example><!-- Infinitive after a modal verb --> <example type="ambiguous" inputform="have[have/NN,have/VB,have/VBP]" outputform="have[have/VB]">... 10 stores, would they not <marker>have</marker> 10 different URLs?</example><!-- Infinitive after a modal verb --> <example type="ambiguous" inputform="Have[have/NN,have/VB,have/VBP]" outputform="Have[have/VB]"><marker>Have</marker> a think, then give me your answer.</example><!-- Imperative --> <example type="ambiguous" inputform="have[have/NN,have/VB,have/VBP]" outputform="have[have/VB]">Lord <marker>have</marker> mercy on me!</example><!-- Imperative --> </rule> <rulegroup name="well + past participle -> well + adjective" id="WELL_VBN"> <rule> <antipattern> <token regexp="yes">the|an?</token> <token>well</token> <token postag="VBN" /> </antipattern> <pattern> <marker> <token postag="RB">well</token> </marker> <token postag="VBN"/> </pattern> <disambig postag="RB"/> <example type="untouched">The well reached a total vertical depth of 14,080 feet.</example> <example type="ambiguous" inputform="well[well/JJ,well/NN,well/RB,well/UH,well/VB,well/VBP]" outputform="well[well/RB]">This is one of the most <marker>well</marker> loved books on my shelf.</example> </rule> <!-- commented out because: * He has well defined the specification ("defined" is only tagged as JJ) * Deputy Foreign Minister Le Hoai Trung affirmed that Vietnam has well performed tasks in the capacity ("performed" is tagged as JJ) * Well done! ("done" is incorrectly only tagged as JJ) * The well had been turned off ("had" is incorrectly only tagged as JJ) TODO: needs more work --> <!-- <rule> <pattern> <token>well</token> <marker> <token postag="VBN"/> </marker> </pattern> <disambig postag="JJ"/> </rule> --> </rulegroup> <rule name="verb + well => well = RB" id="WELL_VB_RB"> <pattern> <token postag="VB[PGZ]?" postag_regexp="yes"> <exception inflected="yes">be</exception> </token> <marker><token>well</token></marker> </pattern> <disambig postag="RB"/> <example type="ambiguous" inputform="well[well/JJ,well/NN,well/RB,well/UH,well/VB,well/VBP]" outputform="well[well/RB]">It does integrate <marker>well</marker>.</example> <example type="untouched">I have a well.</example> <example type="untouched">It is <marker>well</marker> for us to remember.</example> </rule> <rulegroup name="in as noun -> in as preposition" id="IN_NN_IN"> <rule name="in as noun/preposition + the -> in as preposition" id="IN_IN"> <pattern> <marker> <token>in</token> </marker> <token postag="DT|PRP\$" postag_regexp="yes"><exception postag="RB"/></token> </pattern> <disambig postag="IN"/> <example type="untouched">Tom <marker>came in</marker> last.</example> </rule> <rule name="in as noun/preposition + uncountable noun -> in as preposition" id="IN_NNUN"> <pattern> <marker> <token>in</token> </marker> <token postag="NN:U.*" postag_regexp="yes"/> </pattern> <disambig postag="IN"/> </rule> <rule name="learning as noun" id="LEARNING_AS_NOUN"> <pattern> <token regexp="yes">deep|reinforcement</token> <marker> <token>learning</token> </marker> </pattern> <disambig action="remove"><wd pos="VBG"/></disambig> </rule> <rule id="IN_ADJ_NN" name="in + adjective + noun"> <pattern> <marker><token>in</token></marker> <token postag="JJ"/> <token postag="NN:UN?" postag_regexp="yes"/> </pattern> <disambig postag="IN"/> <example type="untouched">The boss made him an in.</example> <example type="ambiguous" inputform="in[in/IN,in/NN,in/RB,in/RP]" outputform="in[in/IN]">He's <marker>in</marker> perky form.</example> </rule> </rulegroup> <rule name="the/these... + numeral + are (noun/verb) -> the... + numer + are (verb)" id="DT_CD_ARE_VB"> <pattern> <token postag="DT"/> <token postag="CD"/> <marker> <token>are</token> </marker> </pattern> <disambig postag="VBP"/> <example type="untouched">An <marker>are</marker> is a unit of measurement.</example> <example type="ambiguous" inputform="are[are/NN,be/VBP]" outputform="are[be/VBP]">These three <marker>are</marker> my favourite teddy bears.</example> </rule> <!-- <rulegroup name='these/those + adj/noun singular + are → adj' id="DT_ADJNN"> MFU 2019-06-12. The rules seem to do more harm than good. Many incorrect sentences are touched, which means that some rules do not find errors. I cannot see how to improve the rules. Putting the rules into comments did not affect the regression tests. <rule> <pattern> <token regexp="yes">th[eo]se</token> <marker> <and> <token postag="JJ.?" postag_regexp="yes"/> <token postag="NN.*" postag_regexp="yes"/> </and> </marker> <token postag="VBP"/> </pattern> <disambig action="filter" postag="JJ.*"/> <example type="untouched">These things are important.</example> Incorrectly touched. <example type="untouched">Incorrect grammar. Those model are excellent.</example> Incorrectly touched. <example type="untouched">Incorrect grammar. These freshman are excellent students.</example> Incorrectly touched. <example type="untouched">Incorrect grammar. ... and those sample show no signs of corrosion.</example> Incorrectly touched. <example type="untouched">Incorrect grammar. Those present are all I ever wanted. Thank you.</example> <example type="ambiguous" inputform="present[present/JJ,present/NN:UN,present/VB,present/VBP]" outputform="present[present/JJ]">Those <marker>present</marker> are all moved to tears.</example> </rule> <rule> <pattern> <token regexp="yes">th[eo]se</token> <marker> <and> <token postag="JJ.?" postag_regexp="yes"/> <token postag="NN.*" postag_regexp="yes"/> </and> </marker> <token>were</token> </pattern> <disambig action="filter" postag="JJ.*"/> <example type="untouched">These things were important.</example> Incorrectly touched: Incorrect grammar. Daddy! Those present were not what I wanted. I wanted 'My Little Pony' and ... <example type="ambiguous" inputform="present[present/JJ,present/NN:UN,present/VB,present/VBP]" outputform="present[present/JJ]">Those <marker>present</marker> were all moved to tears.</example> </rule> </rulegroup>--> <rule id="THESE_NNS_VBZ" name="these + vbz/nns => nns"> <pattern> <token regexp="yes">th[eo]se</token> <marker> <and> <token postag="VBZ"/> <token postag="NNS"/> </and> </marker> </pattern> <disambig postag="NNS"/> <example type="untouched">These includes a razor blade.</example> <example type="ambiguous" inputform="clothes[clothe/VBZ,clothes/NNS]" outputform="clothes[clothes/NNS]">Those <marker>clothes</marker> suit you well.</example> </rule> <rule id="THESE_NNS_VBP" name="these + vbz/nns => nns"> <antipattern> <token inflected="yes">be</token> <token min="0">n't</token> <token regexp="yes">th[eo]se</token> <token postag="NNS" /> <token postag="JJR?" postag_regexp="yes" /> </antipattern> <pattern> <token regexp="yes">th[eo]se</token> <token postag="NNS"/> <marker> <and> <token postag="VBP"/> <token postag="NN:.*" postag_regexp="yes"/> </and> </marker> </pattern> <disambig postag="VBP"/> <example type="untouched">These includes a razor blade.</example> <example type="untouched">Were those lines present in the logs?</example> <example type="ambiguous" inputform="suit[suit/NN:UN,suit/VB,suit/VBP]" outputform="suit[suit/VBP]">Those clothes <marker>suit</marker> you well.</example> </rule> <rule name="AM as NNP" id="AM_NNP"> <pattern case_sensitive="yes"> <marker> <token postag="NNP">AM<exception scope="previous">I</exception></token> </marker> <token inflected="yes">be</token> </pattern> <disambig postag="NNP"/> <example type="untouched">I AM HAPPY.</example> <example type="ambiguous" inputform="AM[AM/NNP,be/VBP]" outputform="AM[AM/NNP]"><marker>AM</marker> was the earliest modulation method.</example> </rule> <rule name="are (noun/verb) + adjective/gerund/preposition -> are (verb)" id="ARE_JJ_VBG"> <antipattern> <token postag="DT"/> <token>are</token> <token postag="VB[DZ]" postag_regexp="yes"/> </antipattern> <pattern> <marker> <token>are</token> </marker> <token postag="JJ.*|VB[GN]|IN|DT|RB|PRP\$?" postag_regexp="yes"/> </pattern> <disambig postag="VBP"/> <example type="untouched">Noun. The <marker>are</marker> used to be a common unit of measurement (www.lexico.com/en/definition/are).</example> <example type="untouched">Noun. An <marker>are</marker> is a historical unit.</example> <example type="ambiguous" inputform="are[are/NN,be/VBP]" outputform="are[be/VBP]">What follows <marker>are</marker> the terms used by the Aikikai Foundation</example> </rule> <rule name="Are...?" id="SENT_START_ARE"> <pattern> <token postag="SENT_START"/> <marker><token>are</token></marker> </pattern> <disambig postag="VBP"/> <example type="untouched">One are of land.</example> <example type="ambiguous" inputform="Are[are/NN,be/VBP]" outputform="Are[be/VBP]"><marker>Are</marker> people happy?</example> </rule> <rule name="Does...?" id="SENT_START_DOES"> <pattern> <token postag="SENT_START"/> <marker><token case_sensitive="yes">Does</token></marker> </pattern> <disambig postag="VBZ"/> <example type="untouched">One are of land.</example> <example type="ambiguous" inputform="Does[do/VBZ,doe/NNS]" outputform="Does[do/VBZ]"><marker>Does</marker> he like me?</example> </rule> <rule name="NNS|EX + are (noun/verb) -> are (verb)" id="NNS_ARE"> <pattern> <token postag_regexp="yes" postag="EX|NNS|WP"/> <marker> <token>are</token> </marker> </pattern> <disambig postag="VBP"/> <example type="ambiguous" inputform="are[are/NN,be/VBP]" outputform="are[be/VBP]">What <marker>are</marker> Mike's options?</example> </rule> <rule name="NNS/VBZ + were/are" id="NNS_ARE_WERE"> <antipattern><!-- Information about what this does would be nice. Refer to rule NNU_IN_WP_DT_VBZ --> <token postag_regexp="yes" postag="NN:UN?"/> <token postag="IN"/> <token postag="WP"> <exception>that</exception> </token> <token regexp="yes">each|either|neither|this</token> <token postag="VBZ"/><!-- Cannot use the chunker: does[doe/NNS,E-NP-plural] --> <token regexp="yes">couldn?|might|may|shouldn?|haven?|don?|wouldn?</token> </antipattern> <antipattern><!-- #2598 He always notices were --> <token regexp="yes">he|she|it</token> <token postag="RB"/> <token postag="VBZ"/> <token regexp="yes">weren?|aren?|couldn?|might|may|shouldn?|haven?|don?|wouldn?</token> </antipattern> <antipattern><!-- #2921 Chunker error: after an enemy dies are too slow --> <token postag="CC"/> <token postag_regexp="yes" postag="DT|PRP\$"/> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token chunk="E-NP-plural" postag_regexp="yes" postag="VB[ZD]"/> <token chunk="B-VP" postag_regexp="yes" postag="VB[PD]"/> </antipattern> <antipattern> <token regexp="yes">an?</token> <token postag="NNP?|NN:UN" postag_regexp="yes" /> <token postag="VBZ" /> </antipattern> <pattern> <token> <exception regexp="yes">&subject_pronouns;</exception> <exception>1</exception> </token> <marker> <and> <token postag="VBZ"/> <token postag="NNS"> <exception postag_regexp="yes" postag="NNPS?"/> <exception regexp="yes">does|says|hopes|shouts|cries</exception> </token> </and> </marker> <token regexp="yes">weren?|aren?|couldn?|might|may|shouldn?|haven?|don?|wouldn?</token> </pattern> <disambig postag="NNS"/> <example type="untouched">These tests of <marker>Peters</marker> are interesting. Incorrect grammar: missing apostrophe in a double genitive (www.merriam-webster.com/dictionary/double%20genitive).</example> <example type="untouched">The things he <marker>says</marker> are entirely inconsequential.</example> <example type="untouched">First, the premises on which it <marker>rests</marker> may not be correct.</example> <example type="untouched">She really does have no idea what I'm talking about.</example> <example type="untouched">Dave says don't do it.</example> <example type="untouched">Information about what this <marker>does</marker> would be nice.</example> <example type="untouched">... but data about whoever each <marker>tries</marker> should tell us whether these judges are corrupt.</example> <example type="untouched">Incorrect grammar: He always <marker>notices</marker> were that animal is going.</example><!-- #2598 --> <example type="untouched">... that happen after an enemy dies are too slow to matter.</example><!-- #2921 --> <example type="untouched">A thing that one finds should never be kept.</example><!-- #2944 --> <example type="untouched">I think one tests should be sufficient.</example><!-- #2944 --> <example type="untouched">She thinks 1 tests might be sufficient.</example><!-- #2944 --> <example type="untouched">But the words which a person uses may give to his gestures or preparation such a meaning as may make those gestures or preparations amount to an assault.</example><!-- #3700 --> <example type="ambiguous" inputform="forces[force/NNS,force/VBZ]" outputform="forces[force/NNS]">The armed <marker>forces</marker> are here.</example> </rule> <rule name="NNS/VBZ + were/are -> VBZ" id="NNU_IN_WP_DT_VBZ"><!-- This is the antipattern in NNS_ARE_WERE --> <pattern> <token postag_regexp="yes" postag="NN:UN?"/> <token postag="IN"/> <token postag="WP"> <exception>that</exception> </token> <token regexp="yes">each|either|neither|this</token> <marker> <and> <token postag="VBZ"/> <token postag="NNS"><exception postag_regexp="yes" postag="NNPS?"/></token> </and> </marker> <token regexp="yes">weren?|aren?|couldn?|might|may|shouldn?|haven?|don?|wouldn?</token> </pattern> <disambig postag="VBZ"/> <example type="ambiguous" inputform="does[do/VBZ,doe/NNS]" outputform="does[do/VBZ]">Information about what this <marker>does</marker> would be nice.</example> <example type="ambiguous" inputform="tries[try/NNS,try/VBZ]" outputform="tries[try/VBZ]">... but data about whoever each <marker>tries</marker> should tell us whether these judges are corrupt.</example> </rule> <rule name="are + we|you -> are (verb)" id="ARE_PRP"> <pattern> <marker> <token>are</token> </marker> <token regexp="yes">you|we|they</token> </pattern> <disambig postag="VBP"/> </rule> <rule name="are + : + NNS" id="are_NNS"> <pattern> <marker><token>are</token></marker> <token>:</token> <token postag='NNS'/> </pattern> <disambig postag="VBP"/> <example type="ambiguous" inputform="are[are/NN,be/VBP]" outputform="are[be/VBP]">Among the things that AI needs to represent <marker>are</marker>: objects, properties, categories and relations.</example> </rule> <rule name="committee/jury/class + VBP => NNS" id="NN_are_NNS"> <antipattern><!-- statements in this class --> <token postag="NNS"/> <token postag="IN"/> <token postag_regexp="yes" postag="DT|PRP\$"/> <token regexp="yes">jury|committee|class</token> </antipattern> <antipattern><!-- The jury will be --> <token regexp="yes">jury|committee|class</token> <token postag="MD"/> <token postag_regexp="yes" postag="VBP?"/> </antipattern> <antipattern><!-- A grand jury found him guilty--> <token regexp="yes">an?|one|1</token> <token postag="JJ.*|NN.*" postag_regexp="yes" /> <token regexp="yes">jury|committee|class</token> </antipattern> <antipattern><!-- A very grand jury found him guilty--> <token regexp="yes">an?|one|1</token> <token postag="JJ.*" postag_regexp="yes" /> <token postag="JJ.*|NN.*" postag_regexp="yes" /> <token regexp="yes">jury|committee|class</token> </antipattern> <antipattern> <token regexp="yes">and|&</token> <token chunk_re=".-NP.*" min="1" max="2" /> <token regexp="yes">jury|committee|class</token> </antipattern> <pattern> <marker> <token regexp="yes">jury|committee|class<exception scope="previous" regexp="yes">a|one|1</exception></token> </marker> <token postag="VBP" chunk_re=".-VP"> <exception postag="VBZ"/> <!-- incompleted list of uncommon verbs that are more often used as nouns --> <exception regexp="yes">people|margin|rabbit|article|cheese|while|yes|queen|gas|oil|officer|term|evidence|max|company|captain|case|step|minister|fun|water|excel|church|husband|dinner|police|curl|weed|platform|best|better|worst|twitter|prod|summit|calendar|cc|chair|belt|mesh|curry|spam|sauce</exception> </token> </pattern> <disambig postag="NNS"/> <example type="untouched">The jury is still out.</example> <example type="untouched">Traditionally, amphibians as a class are defined as all tetrapods with a larval stage.</example> <example type="untouched">Statements in this class include the...</example> <example type="untouched">The jury will be instructed to...</example> <example type="untouched">Class will finish by 10:00.</example> <example type="untouched">They class people.</example> <example type="untouched">A grand jury found him guilty.</example> <example type="untouched">An inner class and its containing class are compiled.</example> <example type="ambiguous" inputform="committee[committee/NN]" outputform="committee[committee/NNS]">The <marker>committee</marker> are all present.</example> </rule> <rule name="his (noun/prep) + noun -> his (prep)" id="HIS_NN_PRP"> <pattern> <marker> <token>his</token> </marker> <token postag="NN.*" postag_regexp="yes"/> </pattern> <disambig postag="PRP$"/> <example type="untouched">Say your his before your byes.</example> </rule> <rule name="no determiner + how (noun/adv) -> how (adv)" id="HOW_WRB"> <pattern> <token><exception postag_regexp="yes" postag="PRP\$|DT"/></token> <marker> <token>how</token> </marker> </pattern> <disambig postag="WRB"/> </rule> <rule name="no determiner + but (noun/conj) -> but (conj)" id="BUT_CC"> <pattern> <token><exception regexp="yes">a|the</exception></token> <marker> <token>but</token> </marker> </pattern> <disambig postag="CC"/> </rule> <rulegroup name="if (noun/adv) + determiner -> if (conj)" id="IF_NN_CC"> <rule> <pattern> <marker> <token>if</token> </marker> <token postag_regexp="yes" postag="DT|PRP.*|EX"/> </pattern> <disambig postag="CC"/> </rule> <rule> <pattern> <marker> <token>if</token> </marker> <token postag="NN.*|JJ" postag_regexp="yes" chunk_re="B-NP.*" min="0" /> <token postag="NNPS?|NN:UN?|NNS" postag_regexp="yes" chunk_re="E-NP.*" /> <token postag="RB" min="0" /> <token postag="VB.*|MD" postag_regexp="yes" chunk_re=".-VP" /> </pattern> <disambig postag="CC"/> </rule> <rule> <antipattern> <token postag="PRP\$|DT" postag_regexp="yes" /> <token>if</token> </antipattern> <pattern> <marker> <token>if</token> </marker> <token regexp="yes">yes|so|not|possible|any</token> </pattern> <disambig postag="CC"/> </rule> </rulegroup> <rule name="los + proper name -> los (proper name)" id="LOS_NNP"> <pattern> <marker> <token>Los</token> </marker> <token postag="NNP"/> </pattern> <disambig postag="NNP"/> </rule> <rule name="kind (adj) + of -> kind (n)" id="KIND_JJ"> <antipattern><!-- #2662 it's kind of her --> <token regexp="yes">'s|is|was</token> <token>kind</token> <token>of</token> <token regexp="yes">&object_pronouns;</token> </antipattern> <pattern> <marker> <token postag="JJ">kind</token> </marker> <token>of</token> </pattern> <disambig postag="NN"/> <example type="untouched">Nevertheless, I'm emphasizing it's kind of her to do that.</example> <example type="untouched">No, it's kind of them, in my opinion.</example> <example type="untouched">Really, it was kind of you and your family.</example> <example type="ambiguous" inputform="kind[kind/JJ,kind/NN:UN]" outputform="kind[kind/NN]">Nevertheless, I'm emphasizing it's <marker>kind</marker> of problem is not the same as the problems of other disambiguators.</example><!-- #2662 --> </rule> <rule name="the/a + mine = mine (noun)" id="MINE_NN"> <pattern> <token postag_regexp="yes" postag="DT|PRP\$"/> <marker> <token>mine</token> </marker> <token> <exception postag_regexp="yes" postag="NN|NN:UN?"/></token> </pattern> <disambig postag="NN"/> <example type="untouched">It's mine!</example> <example type="ambiguous" inputform="mine[I/PRP$_P1S,mine/NN,mine/PRP$,mine/VB,mine/VBP]" outputform="mine[mine/NN]">It's my <marker>mine</marker>!</example> <example type="untouched">The <marker>mine</marker> car is on the maintenance service!</example> </rule> <rule name="be + mine (verb/pron) -> mine (pron)" id="BE_MINE"> <pattern> <token inflected="yes" skip="1">be</token> <marker> <token>mine<exception scope="previous" negate_pos="yes" postag_regexp="yes" postag="RB.*|VB.*"/></token> </marker> </pattern> <disambig postag="PRP$"/> <example type="untouched">This is a gold mine.</example> <example type="ambiguous" inputform="mine[I/PRP$_P1S,mine/NN,mine/PRP$,mine/VB,mine/VBP]" outputform="mine[mine/PRP$]">This is <marker>mine</marker>.</example> <example type="ambiguous" inputform="mine[I/PRP$_P1S,mine/NN,mine/PRP$,mine/VB,mine/VBP]" outputform="mine[mine/PRP$]">This is entirely <marker>mine</marker>.</example> <example type="ambiguous" inputform="mine[I/PRP$_P1S,mine/NN,mine/PRP$,mine/VB,mine/VBP]" outputform="mine[mine/PRP$]">The bags to your left are <marker>mine</marker>.</example> </rule> <rulegroup id="CAN_WILL_MD" name="can/will/must as a modal verb"> <rule> <pattern> <marker><token regexp="yes">can|will|must</token></marker> <token postag="VB"><exception postag="MD"/></token> </pattern> <disambig postag="MD"/> <example type="untouched">It is a can of soup.</example> <example type="ambiguous" inputform="can[can/MD,can/NN,can/VB,can/VBP]" outputform="can[can/MD]">This <marker>can</marker> be eliminated.</example> <example type="untouched">It's a must.</example> <example type="ambiguous" inputform="must[must/JJ,must/MD,must/NN:UN]" outputform="must[must/MD]">We <marker>must</marker> win.</example> <example type="ambiguous" inputform="will[will/MD,will/NN:UN,will/VB,will/VBP]" outputform="will[will/MD]">This can <marker>will</marker> be used as a test.</example> </rule> <rule> <antipattern> <token>it</token> <token spacebefore="no">'s</token> <token/> <token>not</token> <token>be</token> </antipattern> <pattern> <marker><token regexp="yes">can|will|must<exception scope="previous" regexp="yes">be|am|is|was|are|were</exception></token></marker> <token postag="RB"/> <token postag="VB"><exception postag="MD"/></token> </pattern> <disambig postag="MD"/> <example type="untouched">It is a can of soup.</example> <example type="untouched">Turkey's accession <marker>is will</marker> ultimately be impossible if Turkey fails to recognize Cyprus.</example> <example type="untouched">This <marker>can</marker> usually should not be used as a test.</example> <example type="untouched">Incorrect grammar. It's can not be.</example> <example type="ambiguous" inputform="can[can/MD,can/NN,can/VB,can/VBP]" outputform="can[can/MD]">This <marker>can</marker> only be eliminated.</example> <example type="ambiguous" inputform="will[will/MD,will/NN:UN,will/VB,will/VBP]" outputform="will[will/MD]">Her very being <marker>will</marker> always express the utmost ...</example> </rule> <!--<rule> <pattern> <marker> <token>can</token> </marker> <token regexp="yes">&apostrophe;</token> <token>t</token> </pattern> <disambig postag="MD"/> <example type="untouched">Ignore the usual <marker>cant</marker> from the politicians.</example> <example type="ambiguous" inputform="can[can/MD,can/NN,can/VB,can/VBP]" outputform="can[can/MD]">So this too <marker>can</marker>'t be used.</example> </rule>--> <rule> <pattern> <token postag="SENT_START|[:;,]" postag_regexp="yes"/> <token regexp="yes">I|you|he|she|we|they</token> <marker><token regexp="yes">can|will|must</token></marker> </pattern> <disambig postag="MD"/> <example type="untouched">It is a can of soup.</example> <example type="ambiguous" inputform="can[can/MD,can/NN,can/VB,can/VBP]" outputform="can[can/MD]">We <marker>can</marker>!</example> <example type="ambiguous" inputform="can[can/MD,can/NN,can/VB,can/VBP]" outputform="can[can/MD]">Yes, we <marker>can</marker>!</example> </rule> <rule> <pattern> <token postag="PCT|SENT_START|CC" postag_regexp="yes"> <exception>provided</exception> </token> <marker> <token regexp="yes">can|will</token> </marker> <token postag="NNP|PRP" postag_regexp="yes" /> <token postag="RB" min="0" /> <token postag="VBP?" postag_regexp="yes" /> </pattern> <disambig postag="MD"/> <example type="untouched">Let the can lay there.</example> <example type="ambiguous" inputform="can[can/MD,can/NN,can/VB,can/VBP]" outputform="can[can/MD]">Oh, <marker>can</marker> you check?</example> </rule> <rule> <pattern> <token postag="W.*" postag_regexp="yes"> <exception>that</exception> </token> <marker> <token regexp="yes">can|will</token> </marker> <token postag="NNP|PRP" postag_regexp="yes" /> <token postag="RB" min="0" /> <token postag="VBP?" postag_regexp="yes" /> </pattern> <disambig postag="MD"/> <example type="ambiguous" inputform="can[can/MD,can/NN,can/VB,can/VBP]" outputform="can[can/MD]">What <marker>can</marker> I really do to help?</example> </rule> </rulegroup> <rulegroup id="CAN_NN" name="can as a noun"> <rule> <pattern> <token regexp="yes">(\d+-)?oz</token> <marker> <token>can</token> </marker> </pattern> <disambig postag="NN"/> <example type="untouched">You can!</example> <example type="ambiguous" inputform="can[can/MD,can/NN,can/VB,can/VBP]" outputform="can[can/NN]">8 oz <marker>can</marker> pineapple</example> <example type="ambiguous" inputform="can[can/MD,can/NN,can/VB,can/VBP]" outputform="can[can/NN]">8-oz <marker>can</marker> pineapple</example> </rule> <rule> <pattern> <token regexp="yes">(\d+-)?oz</token> <token>.</token> <marker> <token>can</token> </marker> </pattern> <disambig postag="NN"/> <example type="untouched">You can!</example> <example type="ambiguous" inputform="can[can/MD,can/NN,can/VB,can/VBP]" outputform="can[can/NN]">8 oz. <marker>can</marker> pineapple</example> <example type="ambiguous" inputform="can[can/MD,can/NN,can/VB,can/VBP]" outputform="can[can/NN]">8-oz. <marker>can</marker> pineapple</example> </rule> <rule> <antipattern><!-- another can discover --> <token regexp="yes">another|each|some|these</token> <token>can</token> <token min="0" max="2" postag="RB"/> <token postag_regexp="yes" postag="VBP?"/> </antipattern> <pattern> <token postag="DT"><exception postag="PDT" /></token> <marker> <token>can<exception regexp="yes" scope="next">be|do|not</exception></token> </marker> </pattern> <disambig postag="NN"/> <example type="untouched">You can!</example> <example type="untouched">There are 3 hangars. Each <marker>can</marker> accommodate the largest aircraft.</example> <example type="untouched">For example, some <marker>can</marker> accommodate the largest aircraft and other hangars cannot.</example> <example type="untouched">All <marker>can</marker> accommodate small aircraft.</example> <example type="untouched">Although the <marker>divers</marker> can gather pearls with no danger, …</example><!-- Archaic DT in removed.txt --> <example type="untouched">... near the eye that <marker>can be</marker> extended and which have...</example> <example type="untouched">... to create art that <marker>can</marker> not be bought by the wealthy as a status object.</example> <example type="untouched">There is one device that can do most of the ...</example> <example type="untouched">What one man can invent, another <marker>can</marker> discover.</example> <example type="untouched">What one man can invent, another <marker>can</marker> usually discover.</example> <example type="ambiguous" inputform="can[can/MD,can/NN,can/VB,can/VBP]" outputform="can[can/NN]">The <marker>can</marker> can hold the water.</example> <example type="ambiguous" inputform="can[can/MD,can/NN,can/VB,can/VBP]" outputform="can[can/NN]">A <marker>can</marker> usually contains sufficient fluid to clean 10 units.</example> <example type="ambiguous" inputform="can[can/MD,can/NN,can/VB,can/VBP]" outputform="can[can/NN]">... if another <marker>can</marker> contains flammable liquid.</example> <example type="ambiguous" inputform="can[can/MD,can/NN,can/VB,can/VBP]" outputform="can[can/NN]">Each <marker>can</marker> usually contains 5 litres of water.</example> <example type="ambiguous" inputform="can[can/MD,can/NN,can/VB,can/VBP]" outputform="can[can/NN]">... and shows that each <marker>can</marker> that is on the table holds approximately 3 liters of water.</example> <!-- Not touched because of exception: this/PDT <example type="ambiguous" inputform="can[can/MD,can/NN,can/VB,can/VBP]" outputform="can[can/NN]">This <marker>can</marker> contains cold water.</example> --> </rule> <rule> <antipattern> <token postag="PRP" /> <token postag="RB" min="0" /> <token>can</token> </antipattern> <antipattern> <token chunk_re="[EI]-NP.*" postag="NN.*" postag_regexp="yes" /> <token postag="RB" min="0" /> <token>can</token> <token postag="MD" /> </antipattern> <pattern> <marker> <token>can</token> </marker> <token postag="MD"/> </pattern> <disambig postag="NN"/> <example type="untouched">There are 3 hangars. Each <marker>can</marker> accommodate the largest aircraft.</example> <example type="untouched">You can will go crazy.</example><!-- error will be caught by TWO_CONNECTED_MODAL_VERBS --> <example type="untouched">My friend Tom can will go crazy.</example><!-- error will be caught by TWO_CONNECTED_MODAL_VERBS --> <example type="ambiguous" inputform="can[can/MD,can/NN,can/VB,can/VBP]" outputform="can[can/NN]">The <marker>can</marker> might be dirty.</example> <example type="ambiguous" inputform="can[can/MD,can/NN,can/VB,can/VBP]" outputform="can[can/NN]">The <marker>can</marker> must not be dirty.</example> </rule> <rule> <antipattern> <token regexp="yes">I|you|we|they|he|s?he|it</token> <token>can</token> </antipattern> <pattern> <marker> <token>can</token> </marker> <token regexp="yes">is|was|will|were</token> </pattern> <disambig postag="NN"/> <example type="untouched">You <marker>can</marker> be happy without money.</example> <example type="untouched">MD ... but in any given moment of your life you <marker>can</marker> will only one definite thing and absolutely nothing...</example> <example type="untouched">Doing all that you can is good enough.</example> <example type="ambiguous" inputform="can[can/MD,can/NN,can/VB,can/VBP]" outputform="can[can/NN]">The <marker>can</marker> is dirty.</example> <example type="ambiguous" inputform="can[can/MD,can/NN,can/VB,can/VBP]" outputform="can[can/NN]">The <marker>can</marker> was not dirty.</example> <example type="ambiguous" inputform="can[can/MD,can/NN,can/VB,can/VBP]" outputform="can[can/NN]">This <marker>can</marker> will be used to demonstrate problem.</example> <example type="ambiguous" inputform="can[can/MD,can/NN,can/VB,can/VBP]" outputform="can[can/NN]">If this <marker>can</marker> were to fall, there would be much damage to the equipment.</example> <example type="ambiguous" inputform="can[can/MD,can/NN,can/VB,can/VBP]" outputform="can[can/NN]">This <marker>can</marker> were dirty. [Non-standard English]</example> </rule> </rulegroup> <!-- useful for this/these rule, e.g., in this circumstances --> <rule name="preposition + 'this' + verb 3sg/NNS -> nns" id="IN_VBZ_NNS"> <antipattern><!-- #3071 unless this causes --> <token regexp="yes">&subordinating_conjunctions;</token> <token>this</token> <token postag="VBZ"/> </antipattern> <antipattern> <token regexp="yes">about|of|from</token> <token>this</token> <token postag="VBZ" /> <token regexp="yes">me|you|it|them|us|him|her</token> </antipattern> <antipattern> <token regexp="yes">about|of|from</token> <token>this</token> <token postag="VBZ" /> <token postag="IN" /> <token postag="DT|PRP\$" postag_regexp="yes" /> </antipattern> <antipattern> <token postag="SENT_START|CC|PCT" postag_regexp="yes" /> <token postag="RB" min="0" /> <token>from</token> <token>this</token> <token postag="VBZ" /> <token postag="P?DT|PRP\$" postag_regexp="yes" /> </antipattern> <antipattern> <token postag="SENT_START|CC|PCT" postag_regexp="yes" /> <token postag="RB" min="0" /> <token>due</token> <token>to</token> <token>this</token> <token postag="VBZ" /> <token postag="P?DT|PRP\$" postag_regexp="yes" /> </antipattern> <antipattern> <token postag="SENT_START|CC|PCT" postag_regexp="yes" /> <token postag="RB" min="0" /> <token regexp="yes">all|none?|much</token> <token>of</token> <token>this</token> <token postag="VBZ" /> <token postag="P?DT|PRP\$" postag_regexp="yes" /> </antipattern> <antipattern> <token postag="IN"/> <token>this</token> <token postag="VBZ" chunk_re=".-VP" /> </antipattern> <pattern> <token postag="IN"/> <token regexp="yes">th(is|ese)</token> <marker> <and> <token postag="NNS"/> <token postag="VBZ"><exception regexp="yes">means|works|combines|shows|leads|takes|lies|goes|stems|gives|ma(ke|tter)s|does|looks</exception></token> </and> </marker> </pattern> <disambig postag="NNS"/> <example type="untouched">Add "short" between "product" and "description", unless this causes a problem.</example> <example type="untouched">Something about this concerns me.</example> <example type="untouched">Please help assure that execution of this fits into the larger credit picture as well.</example> </rule> <rule id="DURING_VBZ_NNS" name="during + verb 3sg.NNS =>NNS"> <pattern> <token>during</token> <marker> <and> <token postag="NNS"/> <token postag="VBZ"><exception regexp="yes">means|works|shows|leads|takes|lies|goes|stems|gives|makes|does</exception></token> </and> </marker> </pattern> <disambig postag="NNS"/> <example type="ambiguous" inputform="weekends[weekend/NNS,weekend/VBZ,weekends/RB]" outputform="weekends[weekend/NNS]">I work during <marker>weekends</marker>.</example> <example type="untouched">It happened during his sleep.</example> </rule> <!-- <rule id="CD_TIMES" name="times as connective"> <pattern> <token postag="CD"/> <marker><token>times</token></marker> <token postag="CD"/> </pattern> <disambig action="replace"><wd pos="CC" lemma="times"/></disambig> <example type="ambiguous" inputform="times[time/NNS,time/VBZ,times/CC]" outputform="times[times/CC]">4 <marker>times</marker> eleven equals 34.</example> <example type="untouched">These are hard times.</example> </rule> --> <rule id="DT_TIMES_NNS" name="times/addresses as noun pl"> <antipattern><!-- ... but neither times the flies accurately. Refer to DT_TIMES_VBZ --> <token postag="CC"/> <token regexp="yes">each|either|neither|this</token> <token regexp="yes">times|addresses</token> <token postag="DT"/> </antipattern> <antipattern> <token regexp="yes">this|that</token> <token chunk="E-NP-plural" regexp="yes">times|addresses</token> <token postag="PRP\$|P?DT" postag_regexp="yes" /> </antipattern> <pattern> <token postag="DT"/> <marker><token chunk="E-NP-plural" regexp="yes">times|addresses</token></marker> </pattern> <disambig postag="NNS"/> <example type="untouched">Five times eleven equals 34.</example> <example type="untouched">This addresses most major concerns.</example><!-- #2334. addresses/B-VP --> <example type="untouched">... and each addresses a different problem.</example><!-- addresses/B-VP --> <example type="untouched">... but neither times the flies accurately; we need better timing equipment.</example><!-- times/E-NP-plural --> <example type="untouched">Hope this addresses your concerns.</example> <example type="ambiguous" inputform="times[time/NNS,time/VBZ]" outputform="times[time/NNS]">It happened so many <marker>times</marker>.</example> <example type="ambiguous" inputform="times[time/NNS,time/VBZ]" outputform="times[time/NNS]">Each <marker>times</marker> I visit France, I rent a car.</example><!-- Grammar rule EVERY_EACH_SINGULAR finds this incorrect grammar. If I add an exception on DT for singular determiners, 'times' continues to have the postag VBZ, and EVERY_EACH_SINGULAR does not find the error. --> </rule> <rule id="DT_TIMES_VBZ" name="times/addresses as a verb"> <pattern><!-- This is the antipattern in DT_TIMES_NNS --> <token postag="CC"/> <token regexp="yes">each|either|neither|this</token> <marker> <token regexp="yes">times|addresses</token> </marker> <token postag="DT"/> </pattern> <disambig postag="VBZ"/> <example type="untouched">It happened so many <marker>times</marker>.</example> <example type="untouched">Each <marker>times</marker> I visit France, I rent a car.</example> <example type="ambiguous" inputform="times[time/NNS,time/VBZ]" outputform="times[time/VBZ]">... but neither <marker>times</marker> the flies accurately; we need better timing equipment.</example> <example type="ambiguous" inputform="addresses[address/NNS,address/VBZ]" outputform="addresses[address/VBZ]">... and each <marker>addresses</marker> a different problem.</example> </rule> <rule id="AT_TIMES_NNS" name="times as noun pl"> <pattern> <token>at</token> <marker><token>times</token></marker> </pattern> <disambig postag="NNS"/> <example type="untouched">Five times eleven equals 34.</example> <example type="ambiguous" inputform="times[time/NNS,time/VBZ]" outputform="times[time/NNS]">I think at <marker>times</marker> it's very easy.</example> </rule> <rule id="MEANS_OF" name="means/verb + of =>noun"> <pattern> <marker> <token postag="VBZ">means</token> </marker> <token>of</token> <token postag="NN(:UN?)?" postag_regexp="yes"/> </pattern> <disambig postag="NN"/> <example type="untouched">What does it mean?</example> <example type="ambiguous" inputform="means[mean/NNS,mean/VBZ,means/NN,means/NNS]" outputform="means[means/NN]">The car is still the main <marker>means</marker> of transport.</example> </rule> <rule id="MERE_MEANS" name="mere means => noun"> <pattern> <token>a</token> <token>mere</token> <marker><token>means</token></marker> </pattern> <disambig postag="NN"/> <example type="untouched">I don't know what it all means.</example> <example type="ambiguous" inputform="means[mean/NNS,mean/VBZ,means/NN,means/NNS]" outputform="means[means/NN]">The money is a mere <marker>means</marker>.</example> </rule> <rule id="TO_VB_MEANS_TO_VB" name="to ... means to ... => verb"> <pattern> <token>to</token> <token postag="VB" skip="-1"/> <marker> <token postag="VBZ">means<exception scope="previous" regexp="yes">an?|the</exception></token> </marker> <token>to</token> <token postag="VB"/> </pattern> <disambig postag="VBZ"/> <example type="untouched">What it all means, I don't know.</example> <example type="untouched">...and to be the source of the <marker>means</marker> to keep the unity of the nation.</example> <example type="ambiguous" inputform="means[mean/NNS,mean/VBZ,means/NN,means/NNS]" outputform="means[mean/VBZ]">To be a Christian <marker>means</marker> to say yes where I otherwise say no.</example> </rule> <rule id="TO_VB_PRP" name="to + verb + prp => TO"> <antipattern><!-- Refer to figure a --> <token postag_regexp="yes" postag="VB.*" inflected="yes">refer</token> <token>to</token> <token regexp="yes">figure|table|chapter|part|section|picture|row</token> <token>a</token><!-- Not capital. Refer to figure_1_NNP --> </antipattern> <antipattern><!-- table A.3 --> <token regexp="yes">figure|table|chapter|part|section|picture|row</token> <token>a</token> <token spacebefore="no">.</token> <token spacebefore="no" regexp="yes">\d+|[a-z]</token> </antipattern> <pattern> <marker> <token postag="TO">to</token> <token postag="VB"><exception postag="NNP"/></token> </marker> <token postag="PRP\$?|DT" postag_regexp="yes"/> </pattern> <disambig action="filterall"/> <example type="untouched">Peter admits to <marker>Ken</marker> that he isn't sure they are ready.</example> <example type="untouched">Refer to <marker>figure a</marker> for more information.</example> <example type="untouched">... and if you look to <marker>TABLE A.3</marker> you can get more information.</example> <example type="ambiguous" inputform="bill[bill/NN,bill/VB,bill/VBP]" outputform="bill[bill/VB]">I admit to <marker>bill</marker> the customer incorrectly.</example> </rule> <rule name="SENT_START + pronoun + verb/NN -> verb" id="SENT_START_PRP_VB_NN"> <antipattern><!-- , you fool. --> <token>,</token> <token>you</token> <token postag="NN(:UN?)?" postag_regexp="yes"/> <token postag="SENT_END"/> </antipattern> <antipattern><!-- You damn idiot #3682 --> <token postag="SENT_START"/> <token>You</token> <token postag="JJ"/> <token postag="NN"/> <token postag="SENT_END">!</token> </antipattern> <pattern> <token postag="SENT_START|[:;,]" postag_regexp="yes"/> <token regexp="yes">I|you|we|they</token> <marker> <and> <token postag="NN(:UN?)?" postag_regexp="yes"/> <token postag="VB.?" postag_regexp="yes"/> </and> </marker> <token><exception postag_regexp="yes" postag="MD|VB.*"/><exception regexp="yes">isn|aren|wasn|weren|don|doesn|didn|can|couldn|mayn|mightn|mustn|needn|oughtn|shan|shouldn|usedn|won|wouldn</exception></token> </pattern> <disambig action="filter" postag="VB.?"/> <example type="untouched">Incorrect grammar. <marker>You account does</marker> not seem correct.</example> <example type="untouched">Incorrect grammar. <marker>You account didn't</marker> activate automatically because...</example><!-- didn/null --> <example type="untouched">Incorrect grammar. <marker>They account must</marker> include the...</example> <example type="untouched">Incorrect grammar. <marker>You account is</marker> a lie!</example> <example type="untouched">Incorrect grammar. <marker>You account stopped</marker> working, didn't it?</example> <example type="untouched">Noun. What utter nonsense, you <marker>fool</marker>.</example> </rule> <!--<rule name="t -> contraction (not/RB)" id="T_NOT"> <pattern> <token regexp="yes">isn|aren|wasn|weren|don|hasn|doesn|didn|can|couldn|mayn|mightn|mustn|needn|oughtn|shan|shouldn|usedn|won|wouldn|ain</token><!-\- 'Be' and 'do' do not have the postag MD. The safe option is to use a list of verbs rather than changing the postags of 'do' and 'be'. -\-> <token regexp="yes">&apostrophe;</token> <marker> <token case_sensitive="yes">t</token> </marker> </pattern> <disambig action="add"><wd lemma="not" pos="RB">t</wd></disambig> <example type="untouched">I cannot do it.</example> <example type="untouched">I work'<marker>t</marker> carefully.</example> <example type="ambiguous" inputform="t[t]" outputform="t[not/RB]">I can'<marker>t</marker> do it.</example> </rule>--> <!--<rulegroup id="COULD_VE" name="Could've => VBP"> <rule> <pattern> <token regexp="yes">(c|w|sh)ould</token> <token regexp="yes">&apostrophe;</token> <marker> <token spacebefore="no">ve</token> </marker> </pattern> <disambig action="replace"><wd lemma="have" pos="VBP">ve</wd></disambig> <example type="ambiguous" inputform="ve[ve]" outputform="ve[have/VBP]">I could'<marker>ve</marker> done it.</example> </rule> </rulegroup>--> <rule id="AIN_T_FILTER_NN" name="ain't"> <pattern> <marker> <token>ai</token> </marker> <token>n't</token> </pattern> <disambig action="remove" postag="NN.*"/> <example type="ambiguous" inputform="ai[ai/NN]" outputform="ai[ai]">Faith is believing what you know <marker>ai</marker>n't true.</example> </rule> <!-- <rulegroup id="IT_AIN_T_VBZ" name="It ain't => VBZ"> <rule> <pattern> <token regexp="yes">it|s?he</token> <token postag="RB.*" postag_regexp="yes" /> <marker> <token>ain</token> </marker> <token regexp="yes">&apostrophe;</token> <token>t</token> </pattern> <disambig action="replace"><wd lemma="be" pos="VBZ">ain</wd></disambig> <example type="ambiguous" inputform="ain[ain]" outputform="ain[be/VBZ]">She really <marker>ain</marker>'t stupid.</example> </rule> <rule> <pattern> <token regexp="yes">it|s?he</token> <marker> <token>ain</token> </marker> <token regexp="yes">&apostrophe;</token> <token>t</token> </pattern> <disambig action="replace"><wd lemma="be" pos="VBZ">ain</wd></disambig> <example type="ambiguous" inputform="ain[ain]" outputform="ain[be/VBZ]">She <marker>ain</marker>'t stupid.</example> </rule> </rulegroup>--> <!-- <rulegroup id="THIS_AIN_T_VBZ" name="This ain't => VBZ"> <rule> <pattern> <token postag="SENT_START" /> <token regexp="yes">this|that</token> <token postag="RB.*" postag_regexp="yes" /> <marker> <token>ain</token> </marker> <token regexp="yes">&apostrophe;</token> <token>t</token> </pattern> <disambig action="replace"><wd lemma="be" pos="VBZ">ain</wd></disambig> </rule> <rule> <pattern> <token postag="SENT_START" /> <token regexp="yes">this|that</token> <marker> <token>ain</token> </marker> <token regexp="yes">&apostrophe;</token> <token>t</token> </pattern> <disambig action="replace"><wd lemma="be" pos="VBZ">ain</wd></disambig> </rule> </rulegroup>--> <!--<rulegroup id="I_AIN_T_VBP" name="I ain't => VBP"> <rule> <pattern> <token regexp="yes">I|you|we|they</token> <token postag="RB.*" postag_regexp="yes" /> <marker> <token>ain</token> </marker> <token regexp="yes">&apostrophe;</token> <token>t</token> </pattern> <disambig action="replace"><wd lemma="be" pos="VBP">ain</wd></disambig> <example type="ambiguous" inputform="ain[ain]" outputform="ain[be/VBP]">I really <marker>ain</marker>'t stupid.</example> </rule> <rule> <pattern> <token regexp="yes">I|you|we|they</token> <marker> <token>ain</token> </marker> <token regexp="yes">&apostrophe;</token> <token>t</token> </pattern> <disambig action="replace"><wd lemma="be" pos="VBP">ain</wd></disambig> <example type="ambiguous" inputform="ain[ain]" outputform="ain[be/VBP]">I <marker>ain</marker>'t stupid.</example> </rule> </rulegroup> --> <!--<rulegroup id="THESE_AIN_T_VBP" name="This ain't => VBP"> <rule> <pattern> <token postag="SENT_START" /> <token regexp="yes">th[eo]se</token> <token postag="RB.*" postag_regexp="yes" /> <marker> <token>ain</token> </marker> <token regexp="yes">&apostrophe;</token> <token>t</token> </pattern> <disambig action="replace"><wd lemma="be" pos="VBP">ain</wd></disambig> </rule> <rule> <pattern> <token postag="SENT_START" /> <token regexp="yes">th[eo]se</token> <marker> <token>ain</token> </marker> <token regexp="yes">&apostrophe;</token> <token>t</token> </pattern> <disambig action="replace"><wd lemma="be" pos="VBP">ain</wd></disambig> </rule> </rulegroup>--> <!--<rule name="haven't => verb only" id="HAVENT"> <pattern> <marker> <token>haven</token> </marker> <token regexp="yes">&apostrophe;</token> <token>t</token> </pattern> <disambig action="filter" postag="VBP" /> <example type="ambiguous" inputform="Haven[Haven/NNP,have/VBP,haven/NN]" outputform="Haven[have/VBP]"><marker>Haven</marker>'t we done that?</example> </rule> <rule name="hasn't => have not (RB)" id="HAVE_APOSTROPHE_NOT"> <pattern> <token regexp="yes">hasn|hadn|haven</token> <token regexp="yes">&apostrophe;</token> <marker> <token>t</token> </marker> </pattern> <disambig action="replace"><wd lemma="not" pos="RB" /></disambig> <example type="ambiguous" inputform="t[t]" outputform="t[not/RB]">I haven'<marker>t</marker> done it.</example> </rule> <rule name="hadn't => VBD" id="HADNT"> <pattern> <marker> <token>hadn</token> </marker> <token regexp="yes">&apostrophe;</token> <token>t</token> </pattern> <disambig action="replace"><wd lemma="have" pos="VBD" /></disambig> <example type="ambiguous" inputform="hadn[hadn]" outputform="hadn[have/VBD]">I <marker>hadn</marker>'t done it.</example> <example type="ambiguous" inputform="Hadn[Hadn]" outputform="Hadn[have/VBD]"><marker>Hadn</marker>'t we better be going now?</example> </rule> <rule name="re -> be" id="RE_VBP"> <pattern> <token regexp="yes">they|we|what|who|you|how</token> <token regexp="yes">&apostrophe;</token> <marker> <token spacebefore="no" case_sensitive="yes">re</token> </marker> </pattern> <disambig action="replace"><wd lemma="be" pos="VBP">re</wd></disambig> <example type="untouched">Re: your letter</example> <example type="ambiguous" inputform="re[re/IN,re/NN:U]" outputform="re[be/VBP]">They'<marker>re</marker> leaving.</example> </rule> <rule name="ve -> have" id="VE_VBP"> <pattern> <token regexp="yes">I|they|we|what|who|you</token> <token regexp="yes">&apostrophe;</token> <marker> <token spacebefore="no">ve</token> </marker> </pattern> <disambig action="replace"><wd lemma="have" pos="VBP">ve</wd></disambig> <example type="untouched">-ve is added in front of verbs</example> <example type="ambiguous" inputform="ve[ve]" outputform="ve[have/VBP]">They'<marker>ve</marker> made a mistake.</example> </rule> <rule name="ll -> will" id="ll_MD"> <pattern> <token regexp="yes">I|s?he|they|it|we|what|who|you|that|there</token> <token regexp="yes">&apostrophe;</token> <marker> <token spacebefore="no">ll</token> </marker> </pattern> <disambig action="replace"><wd lemma="will" pos="MD">ll</wd></disambig> <example type="untouched">-ll is added in front of verbs</example> <example type="ambiguous" inputform="ll[ll]" outputform="ll[will/MD]">They'<marker>ll</marker> make a mistake.</example> </rule> <rule name="don't they" id='dont'> <pattern> <marker> <token>don</token> </marker> <token regexp="yes">&apostrophe;</token> <token>t</token> </pattern> <disambig postag="VBP"/> </rule> <rule name="didn't" id="didnt"> <pattern> <marker> <token>didn</token> </marker> <token regexp="yes">&apostrophe;</token> <token>t</token> </pattern> <disambig action="add"><wd pos="VBD" lemma="do"/></disambig> <example type="untouched">He did it.</example> <example type="ambiguous" inputform="didn[didn]" outputform="didn[do/VBD]">He <marker>didn</marker>'t say.</example> </rule> <rule name="wasn't" id="wasnt"> <pattern> <marker> <token>wasn</token> </marker> <token regexp="yes">&apostrophe;</token> <token>t</token> </pattern> <disambig action="add"><wd pos="VBD" lemma="be"/></disambig> <example type="untouched">He did it.</example> <example type="ambiguous" inputform="wasn[wasn]" outputform="wasn[be/VBD]">He <marker>wasn</marker>'t there.</example> </rule> <rule name="weren't" id="werent"> <pattern> <marker> <token>weren</token> </marker> <token regexp="yes">&apostrophe;</token> <token>t</token> </pattern> <disambig action="add"><wd pos="VBD" lemma="be"/></disambig> <example type="untouched">He did it.</example> <example type="ambiguous" inputform="weren[weren]" outputform="weren[be/VBD]">You <marker>weren</marker>'t there.</example> </rule> <rule name="won't" id="wont"> <pattern> <marker> <token>won</token> </marker> <token regexp="yes">&apostrophe;</token> <token>t</token> </pattern> <disambig action="replace"><wd pos="MD" lemma="will"/></disambig> <example type="untouched">He did it.</example> <example type="ambiguous" inputform="won[win/VBD,win/VBN,won/NN,won/NNS]" outputform="won[will/MD]">He <marker>won</marker>'t do this.</example> </rule>--> <rule name="cc'd" id="CC_VBD"> <pattern> <marker> <token regexp="yes">cc|rsvp|pm|dm|dj</token> </marker> <token>'d</token> </pattern> <disambig action="add"><wd pos="VBD" lemma="cc"/></disambig> <example type="untouched">I cc you.</example> <!--<example type="ambiguous" inputform="cc[cc/NN,cc/VB,cc/VBP]" outputform="cc[cc/NN,cc/VB,cc/VBD,cc/VBP]">He <marker>cc</marker>'d me.</example>--> </rule> <rule name="cc'd" id="CC_VBN"> <pattern> <marker> <token regexp="yes">cc|rsvp|pm|dm</token> </marker> <token>'d</token> </pattern> <disambig action="add"><wd pos="VBN" lemma="cc"/></disambig> <example type="untouched">I cc you.</example> <!--<example type="ambiguous" inputform="cc[cc/NN,cc/VB,cc/VBD,cc/VBP]" outputform="cc[cc/NN,cc/VB,cc/VBD,cc/VBN,cc/VBP]">He <marker>cc</marker>'d me.</example>--> </rule> <!--<rule name="cc'ing" id="CC_VBG"> <pattern> <marker> <token>cc</token> </marker> <token regexp="yes">&apostrophe;</token> <token>ing</token> </pattern> <disambig action="replace"><wd pos="VBG" lemma="cc"/></disambig> <example type="untouched">I cc you.</example> <example type="ambiguous" inputform="cc[cc/NN,cc/VB,cc/VBP]" outputform="cc[cc/VBG]">He is <marker>cc</marker>'ing me.</example> </rule>--> <!--<rule name="cc'ing" id="CC_VBG"> <pattern> <marker> <token>cc'ing</token> </marker> </pattern> <disambig action="replace"><wd pos="VBG" lemma="cc"/></disambig> <example type="untouched">I cc you.</example> <example type="ambiguous" inputform="cc[cc/NN,cc/VB,cc/VBP]" outputform="cc[cc/VBG]">He is <marker>cc</marker>'ing me.</example> </rule>--> <rule name="cc'ing spelling" id="CC_ING_SPELLING"> <pattern> <token>cc</token> <token regexp="yes">&apostrophe;</token> <token regexp="yes">ing|d|s</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="cc'ing spelling" id="CC_ING_SPELLING2"> <pattern> <token>cc</token> <token regexp="yes">'(d|s)</token> </pattern> <disambig action="ignore_spelling"/> </rule> <!--<rule name="cc's" id="CC_VBZ"> <pattern> <marker> <token>cc</token> </marker> <token>'s</token> </pattern> <disambig action="replace"><wd pos="VBZ" lemma="cc"/></disambig> <example type="untouched">I cc you.</example> <example type="ambiguous" inputform="cc[cc/NN,cc/VB,cc/VBP]" outputform="cc[cc/VBZ]">He <marker>cc</marker>'s me.</example> </rule>--> <rule name="are + VBG/NN -> VBG" id="ARE_VBG_NN"> <pattern> <token>'re <exception scope="previous">there</exception> </token> <marker> <token postag="VBG"/> </marker> </pattern> <disambig postag="VBG"/> <example type="untouched">There're <marker>opening</marker> moves that give you a huge advantage over your opponent.</example> <example type="ambiguous" inputform="opening[open/VBG,opening/JJ,opening/NN:UN]" outputform="opening[open/VBG]">Be careful when you're <marker>opening</marker> the container.</example> </rule> <!--<rule name="I'm -> VBP" id="AM_VBP"> <pattern> <token>I</token> <token regexp="yes">&apostrophe;</token> <marker> <token>m</token> </marker> </pattern> <disambig action="add"><wd lemma="be" pos="VBP">m</wd></disambig> </rule>--> <!-- <rule name="Don't|do|don/vb ->don't/vb" id="DONT_VB"> <pattern> <marker> <token>don</token> </marker> <token regexp="yes">&apostrophe;</token> <token>t</token> </pattern> <disambig action="add"><wd pos="VBP" lemma="do"/></disambig> </rule>--> <rule name="'s -> have/vbz" id="POS_HAVE_VBZ"> <pattern> <marker> <token>'s</token> </marker> <token>got</token> </pattern> <disambig action="replace"><wd pos="VBZ" lemma="have"/></disambig> </rule> <!--This is the default tagging <rule name="'s -> be/vbz" id="POS_BE_VBZ"> <antipattern><!-\- It's can not be. -\-> <token>it</token> <token spacebefore="no">'s</token> <token postag="MD"/> <token>not</token> <token>be</token> </antipattern> <antipattern><!-\- #2277 to everyone’s liking. -\-> <token>to</token> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN:UN?"/> <token spacebefore="no">'s</token> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN:UN?"/> </antipattern> <pattern> <token postag_regexp="yes" postag="WP|PRP"> <exception>that</exception> </token> <marker> <token spacebefore="no">'s</token> </marker> <token><exception>got</exception></token> </pattern> <disambig action="add"><wd pos="VBZ" lemma="be"/></disambig> <example type="untouched">That's got to be a good sign.</example> <example type="untouched">... and who's got the information?</example> <example type="untouched">Incorrect grammar. It's can not be correct.</example> <example type="untouched">Their aesthetics are not to everyone’s liking.</example><!-\- #2277 -\-> <example type="untouched">I think everyone<marker>'s</marker> happy now.</example> </rule>--> <rulegroup name="let's" id="LETS1"> <rule> <pattern> <token><exception postag_regexp="yes" postag="DT|PRP\$|WP\$"/></token> <marker> <token>let</token> </marker> <token>'s</token> <token><exception regexp="yes">are|were</exception></token> </pattern> <disambig postag="VBP"/> <example type="untouched">Let's are not expensive in this part of town.</example><!-- All 'untouched' examples contain an incorrect possessive 's with a noun --> <example type="untouched">Our let's in this prestigious property are taken very quickly.</example> <example type="untouched">... but whose let's go quickly?</example> <example type="ambiguous" inputform="Let[Let/NNP,let/NN,let/VB,let/VBD,let/VBN,let/VBP]" outputform="Let[let/VBP]"><marker>Let</marker>'s do a test.</example> </rule> <rule> <pattern> <token><exception postag_regexp="yes" postag="DT|PRP\$|WP\$"/></token> <token>let</token> <marker> <token>'s</token> </marker> <token><exception regexp="yes">are|were</exception></token> </pattern> <disambig postag="PRP"/> <example type="untouched">... and whose let's are these?</example> </rule> <rule> <pattern> <token><exception postag_regexp="yes" postag="DT|PRP\$|WP\$"/></token> <token>let</token> <token>'s</token> <marker> <token postag='VBP'/> </marker> </pattern> <disambig postag="VB"/> <example type="untouched">The let's go very quickly because they are cheap.</example> </rule> </rulegroup> <rule id="LET_GO" name="let as a verb"> <pattern> <marker> <token>let</token> </marker> <token postag="VB"/> </pattern> <disambig action="filter" postag="VB.*"/> <example type="untouched">Let was an unincorporated community in Gilmer County, West Virginia, United States.</example> <example type="ambiguous" inputform="Let[Let/NNP,let/NN,let/VB,let/VBD,let/VBN,let/VBP]" outputform="Let[let/VB,let/VBD,let/VBN,let/VBP]"><marker>Let</marker> go!</example> </rule> <rule id="BE_OUT" name="OUT as RB"> <pattern> <token inflected="yes" regexp="yes">be|go|get|come</token> <marker> <token postag="RB">out</token> </marker> </pattern> <disambig postag="RB"/> <example type="ambiguous" inputform="out[out/IN,out/NN,out/RB,out/RP,out/UH]" outputform="out[out/RB]">The jury is <marker>out</marker>.</example> <example type="untouched">Out!</example> </rule> <rulegroup name="was/is + verb/NN -> NN" id="was_is_VB_NN"> <rule> <antipattern> <token regexp="yes">you|we|they</token> <token>are</token> <token postag_regexp="yes" postag="VBP?"/> <token postag="IN"/> </antipattern> <antipattern><!-- have to do is ask --> <token chunk="B-VP" postag_regexp="yes" postag="VB[PDZ]?"/> <token chunk="I-VP">to</token> <token>do</token> <token min="0" max="2" postag="RB"/> <token regexp="yes">is|was</token> <token postag_regexp="yes" postag="VBP?"/> </antipattern> <antipattern><!-- All I could do was cry --> <token postag="MD"/> <token min="0" max="2" postag="RB"/> <token>do</token> <token min="0" max="2" postag="RB"/> <token regexp="yes">'s|is|was</token> <token postag_regexp="yes" postag="VBP?"/><!-- Do not use chunks: cry/E-NP-singular --> </antipattern> <antipattern><!-- #2422 He is try to make --> <token regexp="yes">&subject_pronouns;</token> <token min="0" max="2" postag="RB"/> <token regexp="yes">are|is|'s|was</token> <token postag_regexp="yes" postag="VBP?"/> <token>to</token> <token chunk="I-VP" postag_regexp="yes" postag="VBP?"/> </antipattern> <antipattern><!-- #2422 I was hope my / #3016 I was hope you --> <token regexp="yes">&subject_pronouns;</token> <token min="0" max="2" postag="RB"/> <token regexp="yes">are|is|'s|was</token> <token postag_regexp="yes" postag="VBP?"/> <token postag_regexp="yes" postag="PRP(\$)?"/> </antipattern> <antipattern><!-- #2422 Incorrect verb form for phrasal verb: www.macmillandictionary.com/dictionary/british/lead-into --> <token chunk="E-NP-singular"/> <token min="0" max="2" postag="RB"/> <token regexp="yes">is|'s|was</token> <token postag_regexp="yes" postag="VBP?">lead</token> <token>into</token> <token chunk="B-NP-singular"> <exception>gold</exception> </token> </antipattern> <antipattern><!-- #2544 He was talk to --> <token regexp="yes">&subject_pronouns;</token> <token min="0" max="2" postag="RB"/> <token regexp="yes">are|is|'s|was</token> <token postag_regexp="yes" postag="VBP?"><!-- Semantics is important here --> <exception regexp="yes">founder|hope|lead</exception> </token> <token postag="IN"/> </antipattern> <antipattern><!-- #2544 she was founder in the storm --> <token regexp="yes">&subject_pronouns;</token> <token min="0" max="2" postag="RB"/> <token regexp="yes">are|is|'s|was</token> <token>founder</token> <token postag="IN"> <exception>of</exception> </token> </antipattern> <antipattern><!-- #2544 He has been talk to --> <token regexp="yes">&subject_pronouns;</token> <token min="0" max="2" postag="RB"/> <token regexp="yes">has|have|had</token> <token>been</token> <token postag_regexp="yes" postag="VBP?"/> <token postag="IN"/> </antipattern> <antipattern><!-- #2575 all it's done is make it worse --> <token postag="VBZ">'s</token> <token>done</token> <token>is</token> <token postag_regexp="yes" postag="VBP?"/> </antipattern> <antipattern><!-- #2604 trying to do is make --> <token postag="VBG"/> <token>to</token> <token postag="VB"/> <token regexp="yes">is|was</token> <token postag_regexp="yes" postag="VBP?"/> </antipattern> <antipattern><!-- Premium #1416 no action was take [MFU Semantics is important for this rule. Compare with the 'lead' examples. --> <token postag="DT"/> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token regexp="yes">is|was</token> <token postag_regexp="yes" postag="VBP?">take</token> </antipattern> <antipattern><!-- Premium #1416. Passive: test was lead by --> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token regexp="yes">is|'s|was</token> <token postag_regexp="yes" postag="VBP?"/> <token>by</token> </antipattern> <antipattern><!-- The widely-discussed incentives for inefficiency that are know to exist in all government bureaucracies. --> <token inflected="yes">be</token> <token>know</token> <token postag="IN" /> </antipattern> <antipattern><!-- #4883 We are have split --> <token regexp="yes">I|you|we|they</token> <token chunk="B-VP">are</token> <token chunk="I-VP">have</token> <token chunk_re=".-VP" postag="VBN"/> </antipattern> <antipattern> <token regexp="yes">are|is|was|been</token> <token postag="VBP" chunk_re=".-VP" /> </antipattern> <antipattern> <token regexp="yes">are|is|was|been</token> <token regexp="yes">kill|take|drive</token> </antipattern> <pattern> <token regexp="yes">are|is|was|been</token><!-- MFU 2020-02-21 Why doesn't this also have 'were'? --> <marker> <and> <token postag_regexp="yes" postag="VBP?"/> <token postag_regexp="yes" postag="NN.*"><exception negate_pos="yes" postag="VBP?|NN|NN:UN|NN:U" postag_regexp="yes"/></token> </and> </marker> </pattern> <disambig action="filter" postag="NN.*"/> <example type="untouched">He was fine.</example> <example type="untouched">Incorrect grammar. They are build from wood.</example> <example type="untouched">Incorrect grammar. We are drive to London.</example> <example type="untouched">If you want me to kiss you, all you have to do is ask.</example> <example type="untouched">What the lazy technician had to do very occasionally was work.</example> <example type="untouched">What the lazy technicians had to very occasionally do was work.</example> <example type="untouched">What they might do rather occasionally was ask, if they had the time.</example> <example type="untouched">All I could do was cry.</example> <example type="untouched">What you can usually do is ask, you know.</example> <example type="untouched">All I want to do is turn it on or off as part of my ST routine.</example><!-- #2495 --> <example type="untouched">The only thing that the lazy technicians wanted to do was drink tea at work.</example><!-- was/B-NP-singular, drink/I-NP-singular --> <example type="untouched">Incorrect grammar: He is try to make it work.</example><!-- #2422 --> <example type="untouched">Incorrect grammar: He was hope to get it done.</example><!-- #2422 hope/E-NP-singular --> <example type="untouched">Incorrect grammar: I actually was hope to make more changes to the rule.</example> <example type="untouched">Incorrect grammar: I was hope my favorite club would win.</example><!-- #2422 --> <example type="untouched">Incorrect grammar. The criminal was lead into a life of crime by...</example><!-- #2422 --> <example type="untouched">Incorrect grammar. ... and this was lead into the ...</example><!-- #2422 --> <example type="untouched">Incorrect grammar: He has been talk to me.</example><!-- #2544 --> <example type="untouched">Incorrect grammar: He actually has been talk to the manager.</example><!-- #2544 --> <example type="untouched">Adjective: He actually has been <marker>open</marker> to the manager's suggestions.</example><!-- #2544 --> <example type="untouched">Incorrect grammar: She really truly had been walk in the park.</example><!-- #2544 --> <example type="untouched">Incorrect grammar: He was talk to me.</example><!-- #2544 --> <example type="untouched">Incorrect grammar: If she sneakily is talk about my secrets...</example><!-- #2544 --> <example type="untouched">Incorrect grammar: ... and it was talk about in the media.</example><!-- #2544 --> <example type="untouched">Incorrect grammar: The ship was in distress; she was founder in the storm.</example><!-- #2544 --> <example type="untouched">I thought having my mother for a teacher would make school easier, all it's done is <marker>make</marker> it worse.</example><!-- #2575 --> <example type="untouched">... Trump administration is trying to do is <marker>make</marker> it impossible...</example><!-- #2604 --> <example type="untouched">Since there was no reply, no action was take.</example><!-- Premium #1416 --> <example type="untouched">All tests were led by managers; no test was <marker>lead</marker> by the technicians.</example><!-- Premium #1416. Incorrect grammar, should be 'led'. --> <example type="untouched">I was hope you could help me.</example><!-- #3016 --> <example type="untouched">Incorrect grammar: We are find this useful.</example> <example type="untouched">The widely-discussed incentives for inefficiency that are know to exist in all government bureaucracies.</example> <example type="untouched">We are have split the entire Risk team into two groups.</example><!-- #4883. Incorrect grammar --> <example type="untouched">...signs have the advantages that they are have been well tested for strength, stability...</example><!-- #4883. Incorrect grammar --> <!-- <example type="untouched">All the sheep found their way to the pasture, although no sheep was <marker>lead</marker> on this occasion (because the sheepdog was ill).</example>--><!-- Premium #1416 --> <example type="ambiguous" inputform="founder[founder/NN,founder/VB,founder/VBP]" outputform="founder[founder/NN]">He was <marker>founder</marker> of the Chemical Society of London in 1841, being its first Treasurer and second President.</example> <example type="ambiguous" inputform="book[book/NN,book/VB,book/VBP]" outputform="book[book/NN]">They are <marker>book</marker> salesmen, aren't they?</example> <example type="ambiguous" inputform="lead[lead/NN:UN,lead/VB,lead/VBP]" outputform="lead[lead/NN:UN]">I think that this metal is <marker>lead</marker>.</example> <example type="ambiguous" inputform="lead[lead/NN:UN,lead/VB,lead/VBP]" outputform="lead[lead/NN:UN]">... and because it was <marker>lead</marker> on the roof, it was easy to steal.</example> <example type="ambiguous" inputform="lead[lead/NN:UN,lead/VB,lead/VBP]" outputform="lead[lead/NN:UN]">... and this was <marker>lead</marker> into gold, such that the alchemists...</example> <example type="ambiguous" inputform="hope[hope/NN:UN,hope/VB,hope/VBP]" outputform="hope[hope/NN:UN]">This time there was <marker>hope</marker> and expectation, and a certain symbolism.</example> <example type="ambiguous" inputform="hope[hope/NN:UN,hope/VB,hope/VBP]" outputform="hope[hope/NN:UN]">The new regulation came into force last week; it is <marker>hope</marker> to many people who previously....</example> <example type="ambiguous" inputform="hope[hope/NN:UN,hope/VB,hope/VBP]" outputform="hope[hope/NN:UN]">... for many people she truly was <marker>hope</marker> in their time of distress.</example> </rule> <!-- rule> <pattern> <token regexp="yes">are|is|was|been</token> <token postag="RB"><exception>in</exception><exception postag="VBN|JJ.*|CC" postag_regexp="yes"></exception></token> <marker> <and> <token postag_regexp="yes" postag="VBP?"></token> <token postag_regexp="yes" postag="NN.*"><exception negate_pos="yes" postag="VBP?|NN|NN:UN|NN:U" postag_regexp="yes"></exception></token> </and> </marker> </pattern> <disambig action="filter" postag="NN.*"/> <example type="untouched">He was fine.</example> <example type="ambiguous" inputform="founder[founder/NN,founder/VB,founder/VBP]" outputform="founder[founder/NN]">He was always <marker>founder</marker> of the Chemical Society of London in 1841, being its first Treasurer and second President.</example> </rule --> </rulegroup> <rulegroup name="was/is + verb/NN -> NN" id="was_is_not_VB_NN"> <rule> <antipattern><!-- #2344 Education it is not limit Steve Jobs --> <token postag_regexp="yes" postag="NN.*"/> <token postag="PRP"/> <token regexp="yes">is|was</token> <token>not</token> <token postag_regexp="yes" postag="NN.*"/> <token postag="NNP"/> </antipattern> <antipattern><!-- #2344 He was not find his --> <token regexp="yes">s?he|it</token> <token regexp="yes">is|was</token> <token>not</token> <token postag_regexp="yes" postag="NN.*"/> <token postag="PRP$"/> </antipattern> <antipattern><!-- #2344 results is not limit by --> <token postag_regexp="yes" postag="NN.*"/> <token regexp="yes">is|was</token> <token>not</token> <token postag_regexp="yes" postag="NN.*"/> <token postag="IN"/> </antipattern> <antipattern><!-- #1179 They are not show on --> <token regexp="yes">&subject_pronouns;</token> <token min="0" max="2" postag="RB"/> <token regexp="yes">are|is|was</token> <token>not</token> <token>show</token><!-- Semantics is important here --> <token postag="IN"/> </antipattern> <antipattern><!-- #1179 These are not show on --> <token regexp="yes">th[eo]se</token> <token min="0" max="2" postag="RB"/> <token>are</token> <token>not</token> <token>show</token><!-- Semantics is important here --> <token postag="IN"/> </antipattern> <antipattern> <token>not</token> <token postag="VB" chunk_re=".-VP"> <exception postag="NN:U" /> <exception regexp="yes">people|company|soldier</exception> </token> <token postag="R[BP]" postag_regexp="yes" min="0" /> <token postag="P?DT|PCT|PRP.*" postag_regexp="yes" /> </antipattern> <pattern> <token regexp="yes">are|is|was|been</token> <token>not</token> <marker> <and> <token postag_regexp="yes" postag="VBP?"/> <token postag_regexp="yes" postag="NN.*"><exception negate_pos="yes" postag="VBP?|NN|NN:UN|NN:U" postag_regexp="yes"/></token> </and> </marker> </pattern> <disambig action="filter" postag="NN.*"/> <example type="untouched">He was not fine.</example> <example type="untouched">Incorrect grammar: Education it is not limit Steve Jobs thinking.</example><!-- #2344 --> <example type="untouched">Incorrect grammar: He was not find his glasses anywhere.</example> <example type="untouched">Incorrect grammar: He was not founder his club, although he was one of its first members.</example> <example type="untouched">Incorrect grammar: Results is not limit by these tests.</example> <example type="untouched">Incorrect grammar: Word is not release yet, but we're working on it.</example> <example type="untouched">Ambiguous: These are not show in my opinion, because they don't make sufficient profit.</example><!-- Premium #1179 --> <example type="untouched">Ambiguous: They are not show on her report.</example><!-- Premium #1179 --> <example type="ambiguous" inputform="founder[founder/NN,founder/VB,founder/VBP]" outputform="founder[founder/NN]">He was not <marker>founder</marker> of the Chemical Society of London in 1841, being its first Treasurer and second President.</example> <example type="ambiguous" inputform="founder[founder/NN,founder/VB,founder/VBP]" outputform="founder[founder/NN]">The king (I think) was not <marker>founder</marker> because he...</example> <example type="ambiguous" inputform="oil[oil/NN,oil/NN:U,oil/VB,oil/VBP]" outputform="oil[oil/NN,oil/NN:U]">It is not <marker>oil</marker>, but rather water, that causes the problem.</example> </rule> <rule> <antipattern><!-- #2344 He was not easily find his --> <token regexp="yes">s?he|it</token> <token regexp="yes">is|was</token> <token>not</token> <token postag="RB"/> <token postag_regexp="yes" postag="NN.*"/> <token postag="PRP$"/> </antipattern> <pattern> <token regexp="yes">are|is|was|been</token> <token>not</token> <token postag="RB"> <exception regexp="yes">in|t?here|please</exception><!-- please #3223 --> <exception postag="VBN|JJ.*|CC" postag_regexp="yes"/> </token> <marker> <and> <token postag_regexp="yes" postag="VBP?"/> <token postag_regexp="yes" postag="NN.*"><exception negate_pos="yes" postag="VBP?|NN|NN:UN|NN:U" postag_regexp="yes"/></token> </and> </marker> </pattern> <disambig action="filter" postag="NN.*"/> <example type="untouched">He was not fine.</example> <example type="untouched">Incorrect grammar: He was not easily find his glasses.</example><!-- #2344 --> <example type="untouched">... if you are not please call Paul and reschedule. </example><!-- #3223 --> <example type="ambiguous" inputform="founder[founder/NN,founder/VB,founder/VBP]" outputform="founder[founder/NN]">He was not really <marker>founder</marker> of the Chemical Society of London in 1841, being its first Treasurer and second President.</example> </rule> </rulegroup> <rule name="be + verb progressive/jj + noun countable => verb progressive" id="BE_VBGJJ_NN_VBG"> <antipattern> <token postag="NNP" /> <token>'s</token> </antipattern> <pattern> <token inflected="yes"> be </token> <marker> <and> <token postag="VBG"/> <token postag="JJ"/> </and> </marker> <token postag="NN"/> </pattern> <disambig postag="VBG"/> <example type="untouched">They are fine.</example> <example type="ambiguous" inputform="playing[play/VBG,playing/JJ,playing/NN:UN]" outputform="playing[play/VBG]">They were <marker>playing</marker> ball.</example> <example type="untouched">A majority of FERC's governing board believes that price caps would deter investors from building</example> </rule> <rule name="be + better => .R" id='BE_BETTER'> <pattern> <token inflected="yes">be</token> <marker> <token>better</token> </marker> </pattern> <disambig action="filter" postag="..R"/> <example type="untouched">This is a well.</example> <example type="ambiguous" inputform="better[better/NN,better/VB,better/VBP,good/JJR,well/JJR,well/RBR]" outputform="better[good/JJR,well/JJR,well/RBR]">It is <marker>better</marker> for us to remember.</example> </rule> <rule name="that MD + be -> MD" id="THAT_MD_MD"> <pattern> <token regexp="yes">this|that</token> <marker> <and> <token postag="MD"/> <token postag="NN.*" postag_regexp="yes"/> </and> </marker> <token postag="VB"/> </pattern> <disambig postag="MD"/> <example type="ambiguous" inputform="might[might/MD,might/NN:U]" outputform="might[might/MD]">That <marker>might</marker> be the most painful experience in my life.</example> </rule> <rule name="determiner + verb/NN -> NN" id="DT_VB_NN"> <antipattern> <token regexp="yes">I|you|we|they|he|she|it</token> <token>last</token> </antipattern> <antipattern><!-- What happens next shows --> <token postag="WP"/> <token postag_regexp="yes" postag="VB[DZ]"/> <token postag="RB"/> <token postag_regexp="yes" postag="VB[DZ]"/> </antipattern> <antipattern><!-- #2415 A tries to --> <token case_sensitive="yes">A</token> <token postag_regexp="yes" postag="VB[DZ]"/> <token postag="TO"/> </antipattern> <antipattern><!-- #2435 some bound it / #2592 some call it [call/E-NP-singular, thus do not use chunks] --> <token regexp="yes">these|those|all|each|some</token> <token postag_regexp="yes" postag="VB[PD]"/> <token regexp="yes">&object_pronouns;</token> </antipattern> <antipattern><!-- #2521 A spreads it --> <token>a</token> <token postag_regexp="yes" postag="VBZ"/> <token regexp="yes">&object_pronouns;</token> </antipattern> <antipattern><!-- #2521 a spreads was --> <token>a</token> <token postag_regexp="yes" postag="NNS"/> <token postag_regexp="yes" postag="VB[ZD]"/> </antipattern> <antipattern><!-- #2521 Paint it Black. Not case_sensitive in this element. Refer to #2530. --> <token case_sensitive="yes">Paint</token> <token>it</token> <token case_sensitive="yes">Black</token> </antipattern> <antipattern><!-- #3252 you no answer me --> <token regexp="yes">&subject_pronouns;</token> <token postag="DT"/> <token/><!-- answer/E-NP-singular --> <token regexp="yes">&object_pronouns;</token> </antipattern> <antipattern><!-- #3252 Why you no reply to me --> <token postag_regexp="yes" postag="WRB|CC"/> <token regexp="yes">&subject_pronouns;</token> <token postag="DT"/> <token/> <token postag_regexp="yes" postag="TO|PRP\$|DT"/> </antipattern> <antipattern><!-- #3274 but some fall in the gutter --> <token regexp="yes">many|some</token> <token postag="VBP"/> <token postag="IN"><exception>of</exception></token> </antipattern> <antipattern> <token regexp="yes">&subject_pronouns;</token> <token>no</token> <token postag="VB[PZ]?" postag_regexp="yes" /> </antipattern> <antipattern><!-- #3456 the tell Joann we --> <token postag="DT"/> <token chunk="B-VP" postag="VBP"/> <token postag="NNP"/> <token regexp="yes">&subject_pronouns;</token> </antipattern> <antipattern><!-- "I can no go to school" (needed for MD_NO_VB to work) --> <token postag="MD" /> <token>no</token> <token postag="VBP?" postag_regexp="yes" /> </antipattern> <antipattern><!-- "I have no gone to school" (needed for HAVE_NO_VB to work) --> <token inflected="yes">have</token> <token>no</token> <token postag="VBN" /> </antipattern> <antipattern><!-- "I did no go to school" (needed for DO_NO_VB to work) --> <token inflected="yes">do</token> <token>no</token> <token postag="VBP?" postag_regexp="yes" /> </antipattern> <antipattern><!-- "I did no go to school" (needed for DO_NO_VB to work) --> <token inflected="yes">be</token> <token>no</token> <token postag="VB[NG]" postag_regexp="yes" /> </antipattern> <antipattern><!-- some have come--> <token regexp="yes">all|many|some</token> <token chunk_re=".-VP" regexp="yes">have|came|may|will|can</token> </antipattern> <antipattern> <token>several</token> <token postag="MD" /> </antipattern> <antipattern><!-- do not remove JJ from adjectives in noun chunks --> <token postag="DT" /> <token chunk_re="I-NP.*" postag="JJ.*" postag_regexp="yes" /> <token chunk_re="[EI]-NP.*" postag="NN.*" postag_regexp="yes" /> </antipattern> <pattern> <token postag="DT"><exception postag="PDT|RB" postag_regexp="yes" /><exception regexp="yes">th[eo]se|each|that|much</exception></token> <marker> <and> <token postag_regexp="yes" postag="VB[PZDN]?|MD"> <exception regexp="yes">given|known</exception> </token> <token postag_regexp="yes" postag="NN.*"> <exception negate_pos="yes" postag="VB[ZPDN]?|NNS?|NN:UN|NN:U|MD" postag_regexp="yes"/> </token> </and> </marker> <token> <exception postag="JJ"/> <exception postag="DT|PRP\$" postag_regexp="yes" /> <exception>not</exception> </token> </pattern> <disambig action="filter" postag="NN.*"/> <example type="untouched">These may be to bring about political change.</example> <example type="ambiguous" inputform="dogs[dog/NNS,dog/VBZ]" outputform="dogs[dog/NNS]">The <marker>dogs</marker> bark loudly.</example> <example type="ambiguous" inputform="couple[couple/NN,couple/VB,couple/VBP]" outputform="couple[couple/NN]">I can see a <marker>couple</marker> to the left of the tree.</example><!-- #2415 --> <example type="ambiguous" inputform="calls[call/NNS,call/VBZ]" outputform="calls[call/NNS]">Although some <marker>calls</marker> occasionally take more than 30 minutes, most calls are much shorter.</example><!-- #2592 --> <example type="ambiguous" inputform="tell[tell/NN,tell/VB,tell/VBP]" outputform="tell[tell/NN]">You know the <marker>tell</marker> Joann saw in Megiddo was impressive.</example><!-- #3456 --> <example type="untouched">Anarcho-pacifism is a tendency that rejects violence.</example> <example type="untouched">Incorrect grammar: I can no go to school</example><!-- needed for MD_NO_VB --> <example type="untouched">Incorrect grammar: I have no gone to school</example><!-- needed for HAVE_NO_VB --> <example type="untouched">Incorrect grammar: I did no go to school</example><!-- needed for DO_NO_VB --> <example type="untouched">Incorrect grammar: I am no coming to school</example><!-- needed for DO_NO_VB --> <example type="untouched">... while some <marker>may</marker> not possess the earlier book.</example> <example type="untouched">... and some <marker>look</marker> not to earthly treasures, but to the riches of Heaven.</example> <example type="untouched">When did he last <marker>talk</marker> to them?</example> <example type="untouched">When did you last <marker>wipe</marker> someone's tears away?</example> <example type="untouched">… or if they want to see all of a <marker>given</marker> Product ID's market depth.</example> <example type="untouched">Verb. What happens next <marker>shows</marker> the problem in a new light.</example> <example type="untouched">I can either plant this Sat or next week.</example> <example type="untouched">So I will either catch you from my car tomorrow morning, or we can talk on Monday.</example> <example type="untouched">Please carefully review all documents so that we can next move to final execution copies.</example> <example type="untouched">A <marker>tries</marker> to overtake B.</example><!-- #2415 --> <example type="untouched">The Aegean Islands are within the sea and some <marker>bound</marker> it on its southern periphery, including Crete and Rhodes.</example><!-- #2435 --> <example type="untouched">Incorrect grammar: A <marker>spreads</marker> it a first time yesterday, so I ...</example><!-- #2521 --> <example type="untouched">If technician A <marker>spreads</marker> it too quickly, technician B must...</example><!-- #2521 spread/E-NP-plural --> <example type="untouched">Incorrect grammar: ... but if he a <marker>tests</marker> them carelessly...</example><!-- #2521 --> <example type="untouched">Incorrect grammar: ... and she thought that a <marker>spreads</marker> was not so nice to eat as butter.</example><!-- #2521 --> <example type="untouched">Especially the <marker>Paint it Black</marker> suite.</example><!-- #2521 --> <example type="untouched">But some <marker>call</marker> it surfing, while others ...</example><!-- #2592 --> <example type="untouched">But you know some <marker>call</marker> it surfing, while others ...</example><!-- #2592 --> <example type="untouched">Why you no answer me?</example><!-- #3252 --> <example type="untouched">I'm annoyed because she no talks us yesterday.</example><!-- #3252 --> <example type="untouched">It the oil us in the reservoir, and thus the equipment failed.</example><!-- #3252 --> <example type="untouched">Why you no reply to me?</example><!-- #3252 --> <example type="untouched">Why you no answer my question?</example><!-- #3252 --> <example type="untouched">I no want to do that.</example><!-- #3252 --> <example type="untouched">Why you no answer the question?</example><!-- #3252 --> <example type="untouched">Some may argue that this ...</example> <example type="untouched">Incorrect grammar: It doesn't matter if the go a little further.</example><!-- #3252 --> <example type="untouched">Incorrect grammar: ... and Enron about the tell Joann we had incurred.</example><!-- #3456 --> <example type="untouched">In modern times, there is another theory that some have come to endorse.</example> </rule> <rule name="each + verb/NN -> NN" id="EACH_VB_NN"> <antipattern> <token chunk="B-SBAR" postag="IN" /> <token>each</token> </antipattern> <antipattern> <token>each</token> <token postag="VBZ" /> <token postag="IN" /> </antipattern> <pattern> <token postag="IN" /> <token>each</token> <marker> <and> <token postag_regexp="yes" postag="VB[PZDN]?|MD"/> <token postag_regexp="yes" postag="NN.*"> <exception negate_pos="yes" postag="VB[ZPDN]?|NNS?|NN:UN|NN:U|MD" postag_regexp="yes"/> <exception>does</exception> </token> </and> </marker> </pattern> <disambig action="filter" postag="NN.*"/> <example type="ambiguous" inputform="window[window/NN,window/VB,window/VBP]" outputform="window[window/NN]">There are traceries around each <marker>window</marker> of old man Simon's house.</example> <example type="untouched">There is chaos, as each does whatever he wants, regardless of what others may or may not want.</example> <example type="untouched">The solution to each starts with education.</example> </rule> <rule name="a/an/each + adj/nn + verb sing -> NN" id="AN_JJ_VB_NN"> <antipattern> <token regexp="yes">an?|each</token> <token postag="JJ" chunk_re="I-NP.*" /> <token postag="NNS" chunk_re="E-NP.*" /> </antipattern> <pattern> <token regexp="yes">an?|each</token> <marker> <and> <token postag="JJ"/> <token postag="NN(:UN?)?" postag_regexp="yes"/> </and> </marker> <token postag="VBZ"/> </pattern> <disambig action="filter" postag="NN.*"/> <example type="untouched">These may be to bring about political change.</example> <example type="untouched">I still have a several options.</example><!-- agreement error --> <example type="ambiguous" inputform="chance[chance/JJ,chance/NN:UN,chance/VB,chance/VBP]" outputform="chance[chance/NN:UN]">A <marker>chance</marker> remains.</example> </rule> <rule name="a/an/each + nn + verb sing/noun pl -> verb sing" id="AN_NN_VBZNNS"> <pattern> <token regexp="yes">an?|each</token> <token postag="NN(:UN?)?" postag_regexp="yes"><exception postag="NN(:UN?)?" negate_pos="yes" postag_regexp="yes"/></token> <marker> <and> <token postag="VBZ"/> <token postag="NNS"/> <token chunk="B-VP"/> </and> </marker> </pattern> <disambig postag="VBZ"/> <example type="untouched">These may be to bring about political change.</example> <example type="untouched">I want to determine the approximate time taken for each production <marker>steps</marker>.</example> <example type="ambiguous" inputform="remains[remain/VBZ,remains/NNS]" outputform="remains[remain/VBZ]">A chance <marker>remains</marker>.</example> <example type="ambiguous" inputform="walks[walk/NNS,walk/VBZ]" outputform="walks[walk/VBZ]">Each robot <marker>walks</marker> quickly.</example> </rule> <rule name="SENT_START + the + nn/jj + verb sing => nn" id="SENT_START_the_NNJJ_VBZ"> <pattern> <token postag="SENT_START"/> <token>the</token> <marker> <and> <token postag="NNP?(:UN?)?" postag_regexp="yes"/> <token postag="JJ"> <exception postag="JJR"/></token><!-- XXX exclude JJR to allow error detection --> </and> </marker> <token postag="VBZ"/> <token postag="NN(S|:UN?)|DT" postag_regexp="yes"><exception postag="VBZ"/></token> </pattern> <disambig action="filter" postag="NN.*"/> <example type="untouched">The dogs eat dogs.</example> <!-- don't change the sentence with error here: --> <example type="untouched">The black dogs barks loudly.</example> <example type="ambiguous" inputform="Boss[boss/JJ,boss/NN,boss/VB,boss/VBP]" outputform="Boss[boss/NN]">The <marker>Boss</marker> wants performance, not gripes.</example> </rule> <rule name="determiner + adj + verb/NN -> NN" id="DT_JJ_VB_NN"> <antipattern><!-- when the sovereign grants letters of / until the individual gains entry to --> <token postag="DT"/> <token postag="NN"/> <token postag="VBZ"/> <token postag_regexp="yes" postag="NN(S|:UN?)"/> <token postag="IN"/> </antipattern> <antipattern><!-- #3853 ... when you don't know whether the two love you as much as you love both. --> <token postag="DT"/> <token postag="CD"/> <token postag="VBP"/> </antipattern> <antipattern><!-- #2405 the community sees it as --> <token postag="DT"/> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token postag="VBZ"/> <token regexp="yes">me|you|him|her|it|us|them|one</token> <token postag_regexp="yes" postag="CC|IN"/> </antipattern> <antipattern><!-- #2469 [that she brought to] the work make her / #2427 The work makes it possible --> <token postag="DT"/> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> <token chunk="B-VP" postag_regexp="yes" postag="VB[PZ]"/> <token chunk="B-NP-singular"/> </antipattern> <antipattern><!-- #2427 each switch turn it --> <token postag="DT"/> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> <token chunk="B-VP" postag="VBP"/> <token regexp="yes">&object_pronouns;</token> </antipattern> <antipattern><!-- #2427 Before the game starts she is --> <token postag="DT"/> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token chunk="B-VP" postag="VBZ"/> <token regexp="yes">&subject_pronouns;</token> <token chunk="B-VP" postag_regexp="yes" postag="VB.*"/> </antipattern> <antipattern><!-- #2519 the angry know it --> <token>the</token> <token regexp="yes">&plural_adjectival_nouns;</token> <token postag_regexp="yes" postag="VB[PD]"/> <token postag_regexp="yes" postag="PRP|TO"/> </antipattern> <antipattern><!-- #2651 The two hand out money --> <token postag="DT"/> <token postag="CD"/> <token postag_regexp="yes" postag="VB[PD]"/> <token postag="RP"/> <token chunk="B-NP-singular"/> </antipattern> <antipattern><!-- #3330 A few go to www.lexico.com/definition/few --> <token>a</token> <token>few</token> <token postag_regexp="yes" postag="VBP?"/><!-- chunker error: go/E-NP-singular --> <token postag_regexp="yes" postag="TO|RB"/> </antipattern> <antipattern><!-- Premium #1564 the media want to know --> <token chunk="B-NP-plural" postag="DT"/> <token chunk="E-NP-plural" postag_regexp="yes" postag="NNS"/> <token chunk="B-VP" postag_regexp="yes" postag="VB[PD]"/> <token>to</token> </antipattern> <antipattern><!-- Premium #1564 Some state want to go --> <token chunk="B-NP-singular" postag_regexp="yes" postag="DT|PRP\$"/> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> <token chunk="B-VP" postag_regexp="yes" postag="VB[PD]"/> <token>to</token> <token postag_regexp="yes" postag="VBP?"/> </antipattern> <antipattern><!-- #3293 a third are women --> <token postag_regexp="yes" postag="DT|PRP\$"/> <token postag="ORD"/> <token>are</token> <token postag="NNS"/> </antipattern> <antipattern><!-- #3293 the second barks happily --> <token postag_regexp="yes" postag="DT|PRP\$"/> <token postag="ORD"/> <token postag="VBZ"/> <token postag_regexp="yes" postag="RB|WP|WRB"/> </antipattern> <antipattern><!-- #3276 www.lexico.com/definition/few --> <token>a</token> <token>few</token> <token chunk="B-VP" postag_regexp="yes" postag="VB[PD]?|MD"/> </antipattern> <antipattern><!-- the world may never know --> <token postag="DT" /> <token postag="NN.*" postag_regexp="yes" /> <token>may</token> </antipattern> <antipattern><!-- #3668 flowers on the counter are --> <token chunk="E-NP-plural" postag="NNS"/> <token postag="IN"/> <token postag="DT"/> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token postag_regexp="yes" postag="VB[PD]|MD"/> <token postag_regexp="yes" postag="SENT_END|PCT|PRP|RB"/> </antipattern> <antipattern><!-- the service covers entertainment ... --> <token postag="DT" /> <token postag="NN.*" postag_regexp="yes" /> <token postag="VB[DZ]" postag_regexp="yes" chunk="B-VP" /> </antipattern> <antipattern><!-- The road curves to the side --> <token regexp="yes">the|an?</token> <token postag="NN|NN:UN?" postag_regexp="yes" /> <token postag="VBZ" /> <token postag="TO|IN" postag_regexp="yes" /> </antipattern> <antipattern><!-- the other loses --> <token postag="DT" /> <token>other</token> <token postag="VBZ" /> <token postag="PCT|IN|CC" postag_regexp="yes" /> </antipattern> <antipattern><!-- A few buzz at the highest levels in certain fixtures. --> <token regexp="yes">few|many</token> <token postag="VBP" /> <token postag="IN" /> <token chunk_re="B-NP.*" /> </antipattern> <antipattern><!-- Chunker error: a few have remained --> <token regexp="yes">few|many</token> <token>have</token> <token chunk="B-VP" postag="VBN" /> </antipattern> <antipattern> <token postag="DT" /> <token regexp="yes">woman|king|home|road|plane</token> <token postag="VBZ" /> </antipattern> <antipattern><!-- When a plane refuels, it usually needs to be on the ground --> <token regexp="yes">an?</token> <token postag="JJ" /> <token postag="VBZ" /> </antipattern> <antipattern><!-- the following outlines results ... --> <token>the</token> <token>following</token> <token postag="VBZ" /> <token postag="NNS|NN:U|DT|PRP\$|IN" postag_regexp="yes" /> </antipattern> <antipattern> <token postag="MD" /> <token postag="PRP_S.*|NN.*" postag_regexp="yes" chunk_re=".-NP.*" /> <token postag="RB" min="0" /> <token postag="VB" chunk_re=".-VP" /> </antipattern> <antipattern> <token inflected="yes" regexp="yes">do|must|will|can|should</token> <token min="0">n't</token> <token postag="DT|PRP\$" postag_regexp="yes" /> <token>other</token> <token postag="VBP?" postag_regexp="yes" /> </antipattern> <pattern> <token postag="DT"><exception postag="PDT"/><exception regexp="yes">th[eo]se|one</exception><exception scope="previous">of</exception></token> <token postag="JJ"><exception postag="RB|NNPS?|NN:U|PRP" postag_regexp="yes"/></token> <marker> <and> <token postag_regexp="yes" postag="VB[PZ]?|MD"/> <token postag_regexp="yes" postag="NN.*"><exception negate_pos="yes" postag="VB[ZP]?|NNS?|NN:UN|NN:U|MD" postag_regexp="yes"/></token> </and> </marker> <token><exception postag="DT"/></token> </pattern> <disambig action="filter" postag="NN.*"/> <example type="untouched">These may be to bring about political change.</example> <example type="untouched">No one trusts him any more.</example> <example type="untouched">A few buzz at the highest levels in certain fixtures.</example> <example type="untouched">The public demands answers.</example> <example type="untouched">The world may never know.</example> <example type="untouched">Will the other respond?</example> <example type="untouched">The following outlines routes and their stands.</example> <example type="untouched">In the winter will he live?</example> <example type="untouched">Where a woman rules, bad is the end.</example> <example type="untouched">When a woman cries, she is being hysterical.</example> <example type="untouched">When a plane refuels, it usually needs to be on the ground</example> <example type="untouched">Here the road curves to the right.</example> <example type="untouched">The Atlantic harbors petroleum and gas fields.</example> <example type="untouched">... even to build a gym, much less <marker>build the</marker> administration building.</example> <example type="untouched">Verb: ... as when the Sovereign <marker>grants</marker> letters of denization to an alien.</example> <example type="untouched">Verb: ... and over again continuously until the individual <marker>gains</marker> entry to a spiritual realm or Otherworld.</example><!-- chunker error: gains/I-NP-plural --> <example type="untouched">Verb: Otherwise, the community <marker>sees</marker> it as trolling, regardless of the intent.</example><!-- #2405 --> <example type="untouched">Verb: Also, this group <marker>sees</marker> them on many occasions.</example><!-- #2405 --> <example type="untouched">Verb: ... that she brought to the work <marker>make</marker> her the master worker of the genre.</example><!-- #2469 --> <example type="untouched">... and then at each switch turn it on/off until the mobile app says it excluded a device.</example><!-- #2427 --> <example type="untouched">All I want to do is turn it on or off as part of my ST routine.</example><!-- #2427 --> <example type="untouched">The 5th time leave it on for 10 seconds.</example><!-- #2427 --> <example type="untouched">Understanding how wall switches work makes it easier to make repairs and replacements and...</example><!-- #2427 --> <example type="untouched">I can no longer control it through Smartthings.</example><!-- #2427 --> <example type="untouched">Before the game starts she is unable to read all instructions.</example><!-- #2427 --> <example type="untouched">Too many makes it clunky?</example><!-- #2427 --> <example type="untouched">I mean like make it able to be similar to tyri but a better version.</example><!-- #2427 --> <example type="untouched">The work makes it possible.</example><!-- #2427 --> <example type="untouched">If a hard turn to the left makes it worse, here’s what I’d do.</example><!-- #2427 --> <example type="untouched">Basically, friction fit with a few ridges in the plastic hold it on</example><!-- #2427 --> <example type="untouched">The angry know it all.</example><!-- #2519 --> <example type="untouched">The angry know it all behaved like an idiot.</example><!-- #2519 should be 'know-it-all' www.lexico.com/definition/know-it-all --> <example type="untouched">The poor drink to drown their sorrows.</example><!-- #2519 drink/E-NP-singular --> <example type="untouched">... and usually, the sick hope to become well.</example><!-- #2519 hope/E-NP-singular --> <example type="untouched">The two hand out money for the poor.</example><!-- #2651 hand/E-NP-singular --> <example type="untouched">A few go to Brasília.</example><!-- #3330 --> <example type="untouched">A few go to happily Brasília.</example><!-- #3330 --> <example type="untouched">The media want to know about their customers.</example><!-- Premium #1564 --> <example type="untouched">Some state want to go slow.</example><!-- Premium #1564 --> <example type="untouched">About a third are women.</example><!-- #3293 --> <example type="untouched">The first dog bites, but the second barks happily.</example><!-- #3293 --> <example type="untouched">I like your examples; I think your third shows why we must be careful.</example><!-- #3293 --> <example type="untouched">I told you that a few affect my rules!</example><!-- #3276 --> <example type="untouched">Developed in collaboration between CBS Interactive and ET distributor CBS Television Distribution, the service covers entertainment news headlines and breaking news.</example> <example type="untouched">I wonder whose these beautiful flowers on the counter are.</example><!-- #3668 are/B-VP --> <example type="untouched">This plant is not nice, but those beautiful flowers on the counter are.</example><!-- #3668 are/B-VP --> <example type="untouched">I wonder why these beautiful flowers on the counter lie askew.</example><!-- #3668 lie/E-NP-singular --> <example type="untouched">These beautiful flowers on the counter show you what you can expect from our floral service.</example><!-- #3668 show/E-NP-singular --> <example type="untouched">You can easily get stunning displays, as these beautiful flowers on the counter show.</example><!-- #3668 show/E-NP-singular --> <example type="untouched">This solitary daffodil will not impress your girlfriend, but these rare and expensive flowers on the counter will.</example><!-- #3668 --> <example type="untouched">Many remain curiosities — only a few have remained in use:</example><!-- have/E-NP-singular --> <!-- Refer to the counter examples <example type="untouched">If any professional want to know the new practices of their field it is only a click away.</example>Premium #1564 --> <example type="ambiguous" inputform="dogs[dog/NNS,dog/VBZ]" outputform="dogs[dog/NNS]">Today, the black <marker>dogs</marker> barks loudly.</example> <example type="ambiguous" inputform="will[will/MD,will/NN:UN,will/VB,will/VBP]" outputform="will[will/NN:UN]">Undoubtedly, the general <marker>will</marker> is an important notion in Rousseau.</example> <example type="ambiguous" inputform="course[course/NN:UN,course/VB,course/VBP]" outputform="course[course/NN:UN]">Panovsky's notion of the dialectic makes history follow a predetermined <marker>course</marker>.</example> <example type="ambiguous" inputform="practice[practice/NN:UN,practice/VB,practice/VBP]" outputform="practice[practice/NN:UN]">If a common <marker>practice</marker> to obtain it is child labour, then...</example><!-- Premium #1564 counter example --> <example type="ambiguous" inputform="need[need/MD,need/NN:UN,need/VB,need/VBP]" outputform="need[need/NN:UN]">If any professional <marker>need</marker> to to achieve success is thwarted, anger and frustration can arise.</example><!-- Premium #1564 counter example --> <example type="ambiguous" inputform="want[want/NN:UN,want/VB,want/VBP]" outputform="want[want/NN:UN]">I know that if the professional <marker>want</marker> to enhance our reputation is not controlled, some professionals lose their moral compass.</example><!-- Premium #1564 counter example --> <example type="ambiguous" inputform="show[show/NN:UN,show/VB,show/VBP]" outputform="show[show/NN:UN]">I think the third <marker>show</marker> in her series was the best.</example><!-- #3293 --> <example type="ambiguous" inputform="show[show/NN:UN,show/VB,show/VBP]" outputform="show[show/NN:UN]">These beautiful flowers on the counter <marker>show</marker> display give you some idea of what you can expect.</example><!-- #3668 'counter show display' is a noun cluster. --> </rule> <rule name="determiner + adj/noun + preposition => noun" id="DT_JJNN_IN_NN"> <antipattern><!-- a simple as we --> <token skip="-1" postag="SENT_START"> <exception scope="next">as</exception> </token> <token regexp="yes">an? <exception scope="previous" inflected="yes">be</exception> </token> <token postag="JJ"/> <token>as</token> <token regexp="yes">I|you|we|they|s?he|it</token> </antipattern> <antipattern><!-- a small as! --> <token regexp="yes">an?</token> <token postag="JJ"/> <token>as</token> <token regexp="yes">[\.\?!;:]</token> </antipattern> <antipattern><!-- Relative clause: ... say that all in --> <token postag="VB.*" postag_regexp="yes"/> <token>that</token> <token>all</token> <token postag="IN"/> </antipattern> <antipattern> <token>either</token> <token postag="VB.*" postag_regexp="yes" /> </antipattern> <antipattern><!-- #2755 the effects will be that extreme for --> <token postag_regexp="yes" postag="DT|PRP\$"/> <token postag_regexp="yes" postag="NN.*"/> <token postag="MD"/> <token postag="VB"/> <token>that</token> <token postag="JJ"> <exception postag="NN:U"/> </token> <token postag="IN"/> </antipattern> <antipattern><!-- needed for rule AFTER_NOON to work --> <token postag="JJS?" postag_regexp="yes" /> <token>after</token> <token>noon</token> </antipattern> <antipattern><!-- He brought out the very best in people. --> <token postag="DT" /> <token>best</token> <token postag="IN" /> </antipattern> <antipattern><!-- It will next return to the starship --> <token postag="DT">next</token> <token postag="VB.*" postag_regexp="yes" chunk_re=".-VP" /> <token postag="IN" /> </antipattern> <antipattern><!-- a potential off ramp / a potential in house --> <token postag="DT" /> <token postag="JJ" /> <token regexp="yes">off|in</token> <token postag="NN|NN:UN?" postag_regexp="yes" /> </antipattern> <pattern> <token postag="DT"><exception postag="PDT"/><exception regexp="yes">th[eo]se|one|much</exception></token> <marker> <and> <token postag="NN.*" postag_regexp="yes"/> <token postag="JJS?" postag_regexp="yes"/><!-- XXX exclude JJR to allow error detection --> </and> </marker> <token postag="IN"><exception>while</exception></token> </pattern> <disambig action="filter" postag="NN.*"/> <example type="untouched">It's no fun.</example> <example type="ambiguous" inputform="business[business/JJ,business/NN:UN]" outputform="business[business/NN:UN]">It's no <marker>business</marker> of mine.</example> <example type="ambiguous" inputform="monarch[monarch/JJ,monarch/NN]" outputform="monarch[monarch/NN]">... and a <marker>monarch</marker> as an impartial element able to practise justice.</example> <example type="ambiguous" inputform="model[model/JJ,model/NN,model/VB,model/VBP]" outputform="model[model/NN]">She is as beautiful a <marker>model</marker> as I have ever photographed.</example> <example type="ambiguous" inputform="delinquent[delinquent/JJ,delinquent/NN]" outputform="delinquent[delinquent/NN]">... contemplates the likelihood of his future son being a <marker>delinquent</marker> as he was, a prospect Alex views fatalistically.</example> <example type="ambiguous" inputform="flying[fly/VBG,flying/JJ,flying/NN:U]" outputform="flying[flying/NN:U]">Whether the effects will be that <marker>flying</marker> for most people is a thing of the past is yet to be seen.</example><!-- #2755 --> <example type="untouched">If the <marker>community</marker> at the village fête are...</example><!-- test for #2405 --> <example type="untouched">A short while later, Anders also went to sleep.</example> <example type="untouched">Incorrect grammar. The new method is much <marker>fast</marker> than the old method.</example> <example type="untouched">Incorrect grammar. The solution is not <marker>a simple as</marker> we had hoped.</example> <example type="untouched">Incorrect grammar. It's not a large sheep, it's <marker>a small as</marker>!</example> <example type="untouched">You can either pay via credit card or via PayPal.</example> <example type="untouched">He brought out the very best in people.</example> <example type="untouched">It will next return to the starship.</example> <example type="untouched">We can say that <marker>all</marker> in some way belong to a kind of ethnic category...</example><!-- 'That' comes before a relative clause in which 'all' is a pronoun (https://www.lexico.com/en/definition/all) --> <example type="untouched">Whether the effects will be that extreme for most people is yet to be seen.</example><!-- #2755 --> </rule> <rule name="determiner + JJR" id="DT_JJR_SENTEND"> <pattern> <token>the</token> <token postag="JJR"/> <token min="0">,</token> <token>the</token> <marker> <and> <token postag="VB"></token> <token postag="JJR"/> </and> </marker> <token postag="SENT_END" regexp="yes">[\.\?!]</token> </pattern> <disambig action="filter" postag="JJR"/> <example type="ambiguous" inputform="better[better/NN,better/VB,better/VBP,good/JJR,well/JJR,well/RBR]" outputform="better[good/JJR,well/JJR]">The sooner, the <marker>better</marker>.</example> </rule> <rule name="determiner + verb/NN -> NN (2)" id="DT_VB_NN_SENTEND"> <antipattern><!-- we last spoke. --> <token postag="PRP"/> <token postag="RB"/> <token postag="VBD"/> </antipattern> <antipattern><!-- #3310 will doing that help? --> <token postag="MD"/> <token postag="VBG"/> <token postag="DT"/> <token postag="VBP"/> <token>?</token> </antipattern> <antipattern> <token regexp="yes">what|which|how|when|where|who</token> <token postag="RB" min="0" /> <token postag="MD|VB[DZ]" postag_regexp="yes" chunk_re=".-VP" /> <token regexp="yes">that|this</token> <token postag="VB" /> <token postag="SENT_END" /> </antipattern> <pattern> <token postag="DT"><exception postag="PDT"/><exception regexp="yes">th[eo]se|much</exception></token> <marker> <and> <token postag="VB"/> <token postag="NN(:UN?)?" postag_regexp="yes"/> </and> </marker> <token postag="SENT_END" regexp="yes">[\.\?!]</token> </pattern> <disambig action="filter" postag="NN.*"/> <example type="ambiguous" inputform="better[better/NN,better/VB,better/VBP,good/JJR,well/JJR,well/RBR]" outputform="better[better/NN]">... at the casino yesterday. But, who was the <marker>better</marker>?</example> <example type="untouched">[No full stop at the end of the sentence] … to gain a much better understanding</example> <example type="untouched">... compared with last year, this year's crops are much better.</example> <example type="untouched">... compared with last year, this year's crops are much better.</example> <example type="untouched">What does that mean?</example> <example type="untouched">... on the way to the Enron Broadband/BMC agreement since we last spoke.</example> <example type="untouched">Will doing that help?</example><!-- #3310 help/E-NP-singular --> <example type="untouched">... but might using this work?</example><!-- #3310 --> </rule> <rule name="verb + pronoun + inconsistent verb > noun" id="VB_PRP_NN"> <antipattern><!-- #4241 doesn't kill you makes you --> <token>n't</token> <token chunk_re="[BI]-VP" postag_regexp="yes" postag="VBP?"/> <token regexp="yes">&object_pronouns;</token> <token chunk="B-VP" postag="VBZ"/> <token>you</token> </antipattern> <antipattern><!-- #4241 Incorrect grammar: Can you makes the --> <token chunk="B-VP" postag="MD"/> <token>you</token> <token chunk="B-VP" postag="VBZ"/> <token chunk_re="B-NP-(singular|plural)"/> </antipattern> <antipattern><!-- #4241 Incorrect grammar: you say you wants to --> <token regexp="yes">I|you|we|they</token> <token chunk="B-VP" postag_regexp="yes" postag="VB[PD]?"/> <token>you</token> <token chunk="B-VP" postag="VBZ"/> <token>to</token> </antipattern> <antipattern><!-- #4241 Incorrect grammar: you think you likes this --> <token regexp="yes">I|you|we|they</token> <token chunk="B-VP" postag_regexp="yes" postag="VB[PD]?"/> <token>you</token> <token chunk="B-VP" postag="VBZ"/> <token chunk_re="B-NP-(singular|plural)"/> </antipattern> <antipattern><!-- #4241 thank you goes out to --> <token>thank</token> <token>you</token> <token chunk="B-VP" postag="VBZ"/> <token postag_regexp="yes" postag="R[BP]"/> <token>to</token> </antipattern> <pattern> <token postag="VB"> <exception postag="MD" /> </token> <token>you</token> <marker> <and><!-- Do not use the chunker --> <token postag="VBZ"/> <token postag="NNS"/> </and> </marker> </pattern> <disambig postag="NNS"/> <example type="ambiguous" inputform="grounds[ground/NNS,ground/VBZ]" outputform="grounds[ground/NNS]">That doesn't give you <marker>grounds</marker> for complaining.</example> <example type="ambiguous" inputform="notes[note/NNS,note/VBZ]" outputform="notes[note/NNS]">I have received two other thank you <marker>notes</marker> for the Charity gifts.</example><!-- notes/B-VP --> <example type="ambiguous" inputform="lists[list/NNS,list/VBZ]" outputform="lists[list/NNS]">I can send you <marker>lists</marker> of all the people who work in each of these groups.</example><!-- list/B-PP --> <example type="ambiguous" inputform="headlines[headline/NNS,headline/VBZ]" outputform="headlines[headline/NNS]">... in the fully customizable Energy Central Direct format, show you <marker>headlines</marker> along with a brief summary of ...</example><!-- headlines/B-VP --> <example type="untouched">How much we pay you depends on your skill.</example> <example type="untouched"><!-- Grammar error -->Would you say you wants to do it?</example> <example type="untouched"><!-- Grammar error -->Do you think you likes this type of test?</example><!-- #4241. All VBZ verbs, not only 'wants'. --> <example type="untouched">Can you makes the kitchen?</example> <example type="untouched">What doesn't kill you makes you stronger.</example><!-- #4241 makes/B-VP --> <example type="untouched">A special thank you goes out to Dan Flynn for the invitation.</example><!-- #4241 --> </rule> <!-- 'an' is part of a proper name here --> <rule name="Qur'an" id="QUARAN"> <pattern> <token regexp="yes">\p{L}+</token> <token spacebefore="no" regexp="yes">['’]</token> <marker> <token spacebefore="no" inflected="yes">a</token> </marker> </pattern> <disambig postag="NNP"/> <example type="untouched">This is a car.</example> <example type="ambiguous" inputform="an[a/DT]" outputform="an[a/NNP]">Qur'<marker>an</marker>.</example> <example type="ambiguous" inputform="a[a/DT]" outputform="a[a/NNP]">Me'<marker>a</marker> She'arim</example> </rule> <rule id="AN_THEN" name="remove DT from 'an' used instead of 'and'"> <pattern> <token>an<exception postag='NNP'/></token> <token regexp="yes">th(en|is|at|[eo]se|ere)</token> </pattern> <disambig action="remove"><wd pos="DT"/></disambig> </rule> <rule id="WORLD_WAR_12" name="The World War 1/2 =>NNP"> <pattern> <token>world</token> <token>war</token> <marker> <token regexp="yes">[12]|I|II</token> </marker> </pattern> <disambig postag="NNP"/> <example type="untouched">Another world would be a catastrophe.</example> <example type="ambiguous" inputform="1[1/CD]" outputform="1[1/NNP]">The World War <marker>1</marker> tank</example> </rule> <rule id="SUPER_TUESDAY" name="Super Tuesday => NNP"> <pattern case_sensitive="yes"> <marker> <token>Super</token> </marker> <token>Tuesday</token> </pattern> <disambig action="add"><wd pos="NNP"/></disambig> </rule> <!-- A is not a determiner but a variable in this context --> <rule name="a and be" id="A_AND_B"> <pattern> <marker> <token>a</token> </marker> <token>and</token> <token>b</token> </pattern> <disambig postag="NNP"/> </rule> <rule name="A is..." id="A_IS"> <pattern case_sensitive="yes"> <marker> <token>A</token> </marker> <token>is</token> </pattern> <disambig postag="NNP"/> </rule> <rule name="A.B.C." id="ABC"> <pattern> <marker> <token>a</token> </marker> <token>.</token> <token>b</token> <token>.</token> <token>c</token> <token>.</token> </pattern> <disambig postag="NNP"/> </rule> <!-- 'a' used as a symbol in some technical notation --> <rule name="A technical" id="A_TECHNICAL"> <pattern> <marker> <token>a</token> </marker> <token regexp="yes">[/\+\[\]\(\){}\\,!%&]</token> </pattern> <disambig postag="SYM"/> </rule> <!-- "A" mentioned only as a letter --> <rule name="A mentioned (and not used)" id="A_MENTION"> <pattern> <token spacebefore="yes" regexp="yes">"|'</token> <marker> <token spacebefore="no">a</token> </marker> <token spacebefore="no" regexp="yes">"|'</token> </pattern> <disambig postag="NNP"/> </rule> <rule name="A priori / posteriori" id="A_PRIORI"> <pattern> <marker> <token>a</token> </marker> <token regexp="yes">priori|posteriori|capella</token> </pattern> <disambig postag="FW"/> <!-- foreign word --> <example type="untouched">This is a dog.</example> <example type="ambiguous" inputform="a[a/DT]" outputform="a[a/FW]">This is an <marker>a</marker> priori truth.</example> </rule> <rule name="'A' before 'and' and 'or'" id="A_AND_OR"> <pattern> <marker> <token>a</token> </marker> <token regexp="yes">and|or</token> <!-- add 'is'? --> </pattern> <disambig postag="NNP"/> </rule> <!-- for Bob Brown etc. --> <rule name="NNP/VB + NNP -> NNP" id="NNP_VB_NNP"> <antipattern><!-- #2748 --> <token postag="SENT_START"/> <token postag="VB"> <exception postag="JJS"/><!-- Regression error for #2748: Best Art Direction --> </token> <token postag="NNP"/> </antipattern> <antipattern> <token>to</token> <token case_sensitive="yes" regexp="yes">Be|Say|Save|See|Tell|Lose|Force|Discover|Ban|Obey|Kill|Punch|Reform|Bang|Grow|Welcome</token> </antipattern> <antipattern> <token>let</token> <token>'s</token> <token postag="VB" regexp="yes" case_sensitive="yes">\p{Lu}\p{Ll}+</token> </antipattern> <antipattern> <token>please</token> <token postag="VB" regexp="yes" case_sensitive="yes">\p{Lu}\p{Ll}+</token> </antipattern> <antipattern> <token postag="MD" /> <token postag="VB" regexp="yes" case_sensitive="yes">\p{Lu}\p{Ll}+</token> </antipattern> <pattern case_sensitive="yes"> <marker> <and> <token postag="NNP" regexp="yes">\p{Lu}\p{Ll}+</token> <token postag_regexp="yes" postag="VB|JJ" negate="yes" regexp="yes" inflected="yes">\p{Lu}\p{Ll}+</token> </and> </marker> <token postag="NNP" regexp="yes"> \p{Lu}\p{Ll}+ <exception case_sensitive="yes" regexp="yes">Going|Tell|Save|Cant|In|Quick|See|Had|Be|Radical|Him|Down</exception><!-- uncommon NNPs --> </token> </pattern> <disambig postag="NNP"/> <example type="untouched">It is in many Caribbean and Latin American countries...</example> <example type="untouched">Be Guest Wordsmith for a week at A.Word.</example><!-- #2748 --> <example type="untouched">If You Just Had One Wish.</example><!-- #2748 --> <example type="untouched">So You Want To Be Taoiseach.</example><!-- #2748 --> <example type="untouched">Let's Be Radical.</example> <example type="untouched">How Much Do We Tell Him?</example> <example type="untouched">Please Be Radical.</example> <example type="untouched">We Need to Grow Facebook.</example> <example type="untouched">See Wikipedia for a list of TCP/UDP ports that are already used.</example><!-- #2748 --> <example type="untouched">The Government Wants To Ban Violet Video.</example> <example type="ambiguous" inputform="Best[Best/NNP,best/NN:U,best/VB,best/VBP,good/JJS,well/JJS,well/RBS]" outputform="Best[Best/NNP]"><marker>Best</marker> Art Direction – Set Decoration</example> </rule> <rule name="Uppercase word/NNP|NN -> NNP" id="UPPER_NNP"> <antipattern><!-- What Will It Do? --> <token postag="WP"/> <token postag="MD"/> <token postag="PRP"/> </antipattern> <antipattern><!-- Can I Sue? / "Will this do...?" --> <token postag="MD"/> <token postag_regexp="yes" postag="PRP|DT"/> <token skip="-1" postag_regexp="yes" postag="VBP?"/> <token>?</token> </antipattern> <antipattern><!-- Do You Love? --> <token regexp="yes">do|did</token> <token regexp="yes">I|you|we|they</token> <token skip="-1" postag_regexp="yes" postag="VBP?"/> <token>?</token> </antipattern> <antipattern><!-- #2224. : So explain --> <token>:</token> <token regexp="yes">\p{Lu}\p{Ll}+</token> <token regexp="yes">\p{Ll}+</token> </antipattern> <antipattern><!-- #2437 "Call it --> <token chunk="B-VP" postag_regexp="yes" postag="VB.*" regexp="yes">\p{Lu}\p{Ll}+</token> <token postag="PRP"/> </antipattern> <antipattern><!-- #2437 say Call it --> <token chunk="I-VP" postag_regexp="yes" postag="VB.*" regexp="yes">\p{Lu}\p{Ll}+</token> <token postag="PRP"/> </antipattern> <antipattern><!-- #2518 “Call it --> <token regexp="yes">['‘"“]</token> <token postag_regexp="yes" postag="VB.*" regexp="yes">\p{Lu}\p{Ll}+</token> <token postag="PRP"/> </antipattern> <antipattern><!-- #2752 * Wait for --> <token postag="SENT_START"/> <token regexp="yes">[*\-'‘"“]</token> <token postag="VB"/> <token postag="IN"/> </antipattern> <antipattern><!-- #2752 3) Wait in / ... after which 2) Wait for a minute --> <token postag="CD"/> <token>)</token> <token postag="VB"/> <token postag="IN"/> </antipattern> <antipattern><!-- #2770 I May try --> <token regexp="yes">&subject_pronouns;</token> <token min="0" max="2" postag="RB"/> <token postag_regexp="yes" postag="MD|VB[PZD]"/> </antipattern> <antipattern> <token regexp="yes" chunk_re=".-VP" inflected="yes">have|want|need|try|hope|like|love|hate</token> <token>to</token> <token postag="VB"> <exception regexp="yes">peter|bob|sally|rick|mike|chuck|bill|carol</exception> </token> </antipattern> <antipattern> <token case_sensitive="yes" regexp="yes">Whales|Dogs</token> </antipattern> <antipattern> <token case_sensitive="yes">Please</token> <token postag="VB" /> </antipattern> <antipattern> <token>Who</token> <token>Won</token> </antipattern> <antipattern> <token case_sensitive="yes" regexp="yes" postag="NNP">Can</token> </antipattern> <antipattern> <token>will</token> <token chunk_re="B-NP.*" min="0" /> <token chunk_re="E-NP.*" /> <token postag="RB" min="0" /> <token postag="VB" /> </antipattern> <antipattern> <token case_sensitive="yes" regexp="yes" postag="NNP">Wear|Radical|Down</token> </antipattern> <antipattern> <token>How</token> <token>Long</token> </antipattern> <antipattern> <token regexp="yes">Read|Host</token> </antipattern> <pattern case_sensitive="yes"> <and> <token regexp="yes">\p{Lu}\p{Ll}+ <exception scope="previous" postag="SENT_START"/> <exception case_sensitive="yes">So</exception> <exception postag="JJ" inflected="yes" regexp="yes">\p{Lu}\p{Ll}+</exception> </token> <token inflected="yes" regexp="yes" postag_regexp="yes" postag="NNP?|NN:.*">\p{Lu}\p{Ll}+ <exception postag="NNPS"/><!-- #2787 --> </token> <token inflected="yes" regexp="yes" postag_regexp="yes" postag="NNP?|NN:.*">\p{Ll}+</token><!-- Refer to the discussion in #2437 --> </and> </pattern> <disambig postag="NNP"/> <example type="untouched">They looked at the ruins of the old Roman wall on the lower Via Veneto.</example> <example type="untouched">What Will It Do?</example> <example type="untouched">...the attached How to Read the Book</example> <example type="untouched">She Had to Say Yes</example> <example type="untouched">Title: Can I Sue?</example> <example type="untouched">Dogs Get You Laughing!</example> <example type="untouched">"Will this do now?", she asked.</example> <example type="untouched">The song 'Who Do You <marker>Love</marker>?' with its roots of hip hop...</example> <example type="untouched">Jake: <marker>So</marker> explain to me why you are unhappy.</example><!-- #2224 --> <example type="untouched">The fat psychiatrist: <marker>So</marker> explain to me why you are unhappy.</example><!-- #2224 --> <example type="untouched">"Call it folk wisdom."</example><!-- #2437 --> <example type="untouched">...and I say Call it enough for the day.</example><!-- #2437 --> <example type="untouched">Because I wanted to Call it enough for the day...</example><!-- #2437 --> <example type="untouched">This new Example'S not correct.</example> <example type="untouched">Let's Be Radical</example> <example type="untouched">Please Be Radical</example> <example type="untouched">Should Kids Wear A Scarf?</example> <example type="untouched">The Canadian Badlands is important.</example><!-- Canadian/JJ --> <example type="untouched">“Call it the bedroom light.”</example><!-- #2518 --> <example type="untouched">But as he said, if you “Call it the bedroom light,” you might be wrong.</example><!-- #2518 --> <example type="untouched">* Wait for a little (magic)</example><!-- #2752 --> <example type="untouched">- Hope for a long time.</example><!-- #2752 --> <example type="untouched">3) Wait in a line.</example><!-- #2752 --> <example type="untouched">"Wait with me, please."</example><!-- #2752 --> <example type="untouched">... after which 2) Wait for a minute and 3) Stop the test.</example><!-- #2752 --> <example type="untouched">I May try out</example><!-- #2770 --> <example type="untouched">She's not sure, but she May try it out on Monday.</example><!-- #2770 --> <example type="untouched">True or False: I Love Watching TV</example><!-- #2770 --> <example type="untouched">A popular song by I See Stars</example><!-- #2770 --> <example type="untouched">As I Lay Dying</example><!-- #2770 --> <example type="untouched">He Love Watching TV</example><!-- #2770 --> <example type="untouched">NNPS: ... perpetrators of the cold-blooded murders of several Roma in Hungary.</example><!-- #2787 --> <example type="ambiguous" inputform="Bobby[Bobby/NNP,bobby/NN]" outputform="Bobby[Bobby/NNP]">His name was <marker>Bobby</marker> Brown and he acted as a clerk.</example> <example type="ambiguous" inputform="Peter[Peter/NNP,peter/NN,peter/VB,peter/VBP]" outputform="Peter[Peter/NNP]">Hala will report to <marker>Peter</marker> Redpath until such time as a head of Supply Side Management is appointed.</example> <example type="ambiguous" inputform="Brown[Brown/NNP,brown/JJ,brown/NN,brown/NN:U,brown/VB,brown/VBP]" outputform="Brown[Brown/NNP]">His name was Bobby <marker>Brown</marker> and he was tall.</example> <example type="ambiguous" inputform="Bond[Bond/NNP,bond/NN,bond/VB,bond/VBP]" outputform="Bond[Bond/NNP]">My name is <marker>Bond</marker>, but my friends call me...</example> <example type="ambiguous" inputform="Bond[Bond/NNP,bond/NN,bond/VB,bond/VBP]" outputform="Bond[Bond/NNP]">My name is <marker>Bond</marker> and I'm a spy.</example> <example type="ambiguous" inputform="Peter[Peter/NNP,peter/NN,peter/VB,peter/VBP]" outputform="Peter[Peter/NNP]">Is that man called <marker>Peter</marker>?</example> </rule> <rule name="NNP + Uppercase NN -> NNP" id="UPPER_NN_NNP"> <antipattern> <token>Just</token> <token postag="VB" /> </antipattern> <pattern case_sensitive="yes"> <token inflected="yes" regexp="yes" postag="NNP">\p{Lu}\p{Ll}+</token> <marker> <token regexp="yes" postag="NN"> \p{Lu}\p{Ll}+ <exception>Why</exception> <exception case_sensitive="yes" regexp="yes">Can|Will</exception> </token> </marker> </pattern> <disambig postag="NNP"/> <example type="ambiguous" inputform="City[</S>,city/JJ,city/NN]" outputform="City[</S>,city/NNP]">Kansas <marker>City</marker></example> <example type="untouched">Los Angeles</example> <example type="untouched">You Have To Just Book A Room</example> <example type="untouched">Restoration drawings of Delphi Why would I need one?</example> </rule> <rule name="Uppercase word/no tag + 's -> NNP" id="UPPER_UNKNOWN_NNP"> <pattern case_sensitive="yes"> <marker> <token regexp="yes" postag="UNKNOWN">\p{Lu}\p{Ll}+</token> </marker> <token>'s</token> </pattern> <disambig postag="NNP"/> <example type="ambiguous" inputform="Fodor[Fodor]" outputform="Fodor[Fodor/NNP]"><marker>Fodor</marker>'s concept of modularity is narrow.</example> <example type="untouched">Bill's example is very good.</example> </rule> <rule name="Uppercase word/no tag + uppercase word -> NNP" id="UPPER_UNKNOWN_NNP_UPPERCASE_SEQ"> <pattern case_sensitive="yes"> <marker> <token regexp="yes" postag="UNKNOWN">\p{Lu}\p{Ll}+<exception scope="previous" postag="SENT_START" postag_regexp="yes"/></token> </marker> <token regexp="yes" postag_regexp="yes" postag="NNP?|NN:.*|JJ.*">\p{Lu}\p{Ll}+</token> </pattern> <disambig postag="NNP"/> <example type="ambiguous" inputform="Wilshire[Wilshire]" outputform="Wilshire[Wilshire/NNP]">the <marker>Wilshire</marker> Country Club</example> <example type="untouched">Bill's example is very good.</example> </rule> <rulegroup name="initial -> NNP" id="initial_NNP"> <rule> <pattern case_sensitive="yes"> <marker> <token regexp="yes">\p{Lu}$<exception scope="previous" postag="SENT_START"/></token> </marker> <token>.</token> <token postag="NNP"/> </pattern> <disambig postag="NNP"/> </rule> <rule> <pattern case_sensitive="yes"> <marker> <token regexp="yes">\p{Lu}$<exception scope="previous" postag="SENT_START"/></token> </marker> <token>.</token> <token regexp="yes">\p{Lu}$<exception scope="previous" postag="SENT_START"/></token> <token>.</token> <token postag="NNP"/> </pattern> <disambig postag="NNP"/> </rule> </rulegroup> <rule name="President Brown -> NNP" id="title_NNP"> <pattern case_sensitive="yes"> <marker> <token regexp="yes">(?iu)president|captain|sergeant|general|madame|engineer|minister|chair|deputy|representative|manager|secretary|professor|bishop|attorney|vicar|treasurer|commander|archbishop|editor|principal|dean|sheriff|lieutenant</token> </marker> <token regexp="yes">\p{Lu}\p{Ll}*<exception>I</exception></token> </pattern> <disambig postag="NNP"/> <example type="untouched">In principal I don't agree.</example> </rule> <rule name="Mr. White -> NNP" id="MrWhite"> <pattern case_sensitive="yes"> <token regexp="yes">Atty|Sg?t|[SG]en|Gov|Hon|Prof|Mr?s|[DMJS]r|Col|Maj|Brig|Capt|Cmnd|Revd?|Rep</token> <token>.</token> <marker> <token regexp="yes">\p{Lu}\p{Ll}* <exception>I</exception> <exception postag="P?DT|PRP.*|CC|W.*|EX" postag_regexp="yes" /> </token> </marker> </pattern> <disambig postag="NNP"/> <example type="untouched">Prof. I don't agree.</example> <example type="ambiguous" inputform="White[White/JJ,White/NNP,white/JJ,white/NN:UN]" outputform="White[White/NNP]">Welcome, Mr. <marker>White</marker>!</example> </rule> <rule name="elected|appointed + role -> NN:UN" id="elected_NN_UN"> <pattern> <token regexp="yes">elected|appointed|ordained</token> <marker> <token postag="NN"><exception negate_pos="yes" postag="NN"/></token> </marker> </pattern> <disambig postag="NN:UN"/> </rule> <rule name="Simple gazetteer/proper name rule" id="gazetteer"> <antipattern> <token postag="MD|TO|PRP" postag_regexp="yes" /> <token>port</token> <token postag="IN|DT|PRP\$" postag_regexp="yes" /> </antipattern> <pattern case_sensitive="yes"> <marker> <token regexp="yes">Lake|Fort|Port|Mount</token> </marker> <token regexp="yes">\p{Lu}\p{Ll}+</token> </pattern> <disambig postag="NNP"/> </rule> <rule name="street names" id="Street"> <antipattern><!-- #2805 You Never Walk Alone --> <token regexp="yes">&subject_pronouns;</token> <token postag="RB"/> </antipattern> <pattern case_sensitive="yes"> <marker> <token regexp="yes">\p{Lu}\p{Ll}+</token> </marker> <token regexp="yes">Street|Avenue|Boulevard|Crescent|Drive|Lane|Road|Walk|Straße|Allee</token> </pattern> <disambig postag="NNP"/> <example type="untouched">You Never Walk Alone</example> <example type="ambiguous" inputform="Never[never/RB,never/UH]" outputform="Never[never/NNP]">I live on <marker>Never</marker> Walk, near the city centre.</example> </rule> <rule name="candidate|nomination for NN -> NNP" id="candidate_NNP"> <pattern> <token regexp="yes" inflected="yes">candidate|nomination|election</token> <token>for</token> <marker> <token postag="NN"><exception negate_pos="yes" postag="NN"/></token> </marker> </pattern> <disambig postag="NNP"/> </rule> <rulegroup name="United States" id="USA1"> <rule> <pattern case_sensitive="yes"> <marker> <token>United</token> </marker> <token>States</token> </pattern> <disambig postag="NNP"/> </rule> <rule> <pattern case_sensitive="yes"> <token>United</token> <marker> <token>States</token> </marker> </pattern> <disambig postag="NNPS"/> </rule> </rulegroup> <rule id="I_CD" name="I as Roman number in king names"> <pattern case_sensitive="yes"> <token postag="NNP"/> <marker><token>I</token></marker> <token postag="VBZ"/> </pattern> <disambig postag="CD"/> <example type="ambiguous" inputform="I[I/PRP,I/PRP_S1S]" outputform="I[I/CD]">Henry <marker>I</marker> is crowned King of England in Westminster Abbey.</example> </rule> <rule id="I_NNP" name="i as variable name"> <pattern> <token regexp="yes">variable|index</token> <marker><token>i</token></marker> </pattern> <disambig postag="NNP"/> </rule> <rule name="IN/NN + PRP$ -> IN" id="IN_NN_PRP"> <antipattern><!-- carrying out their --> <token chunk="B-VP" postag_regexp="yes" postag="VB.*"/> <token postag="RP"/> <token postag="PRP$"/> </antipattern> <antipattern><!-- Leila couldn't save Sami. --> <token postag="MD" /> <token regexp="yes">&apostrophe;</token> <token>t</token> <token>save</token> </antipattern> <antipattern><!-- Leila couldn't save Sami. --> <token postag="MD" /> <token regexp="yes">&apostrophe;</token> <token>t</token> <token postag="RB" /> <token>save</token> </antipattern> <antipattern><!-- Leila could really save Sami. --> <token postag="MD|SENT_START|CC|PCT" postag_regexp="yes" /> <token postag="RB" /> <token>save</token> </antipattern> <antipattern><!-- #3660 and save her --> <token postag_regexp="yes" postag="CC|TO"/> <token chunk_re="[BI]-VP" postag_regexp="yes" postag="VBP?"/> <token postag_regexp="yes" postag="PRP\$|NNP"/> </antipattern> <antipattern> <token>to</token> <token postag="RB" min="0" /> <token>up</token> </antipattern> <antipattern> <token postag="MD" /> <token postag="RB" min="0" /> <token>up</token> </antipattern> <pattern> <marker> <and> <token postag="IN"> <exception postag="CC"/> <exception>like</exception><!-- Do we need a new postag for subordinating conjunctions? --> </token> <token postag="NN"/> </and> </marker> <token postag_regexp="yes" postag="PRP\$|NNP"/> </pattern> <disambig postag="IN"/> <example type="ambiguous" inputform="in[in/IN,in/NN,in/RB,in/RP]" outputform="in[in/IN]">We have many customers <marker>in</marker> Dallas.</example> <example type="untouched">CC: CDC officials have said that <marker>while</marker> it's clear asymptomatic spread does happen, it does not...</example><!-- Premium #1079 --> <example type="untouched">CC: Any workarounds while Steve works on a fix?</example><!-- #2981 --> <example type="untouched">RP: ...to catch the suicide bombers downtown, prior to them carrying <marker>out</marker> their evil plan.</example> <example type="untouched">... for she hoped that George would come and save her from the wicked marshal.</example><!-- #3660 --> <example type="untouched">I did everything I could to save Tom.</example><!-- #3660 --> <example type="untouched">Leila couldn't save Sami.</example> <example type="untouched">Leila could really save Sami.</example> <example type="untouched">I need to overall up my levels</example> <example type="untouched">Always save your best ideas to last.</example> </rule> <!-- the known good solution --> <rule name="DT + VBN + JJ -> VBN=JJ" id="DT_VBN_JJ"> <antipattern><!-- #2927 a reset on --> <token regexp="yes">a|an|the</token> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> <token postag="IN"/> </antipattern> <pattern> <token regexp="yes">a|an|the</token> <marker> <token postag="VBN"> <exception>feed</exception> </token> </marker> <token postag_regexp="yes" postag="JJ|NNS?"/> </pattern> <disambig postag="JJ"/> <example type="ambiguous" inputform="known[know/VBN,known/NN]" outputform="known[known/JJ]">This is the <marker>known</marker> good solution.</example> <example type="ambiguous" inputform="broken[break/VBN,broken/JJ]" outputform="broken[broken/JJ]">The <marker>broken</marker> window is dangerous.</example> <example type="untouched">Perhaps every month have a reset on trophies so guilds can...</example><!-- #2927 --> <example type="untouched">A podcast through earbuds.</example><!-- #2927 --> <example type="untouched">Expanding its push into entertainment with a bet on preschoolers.</example><!-- #2927 --> <example type="untouched">Follow the feed live in Google.</example> </rule> <!-- known written works --> <rule name="VBN + VBN + NN -> JJ" id="VBN_VBN_NN_JJ"> <antipattern><!-- a that succeeded armored cruisers were now classified --> <token regexp="yes">that|which</token> <token postag="VBD"/> <token postag_regexp="yes" postag="JJ|VBN"/> <token chunk="E-NP-plural" postag="NNS"/> <token regexp="yes">are|were</token> </antipattern> <antipattern><!-- Whatever was said showed --> <token postag="WP"/> <token>was</token> <token postag="VBN"/> <token postag="VBD"/> </antipattern> <antipattern><!-- #2722 was last seen taken care of --> <token inflected="yes">be</token> <token postag="RB"/> <token postag="VBN"/> <token postag="VBN"/> </antipattern> <antipattern><!-- #2754 The boy who cried spilt milk on the table --> <token postag="WP"/> <token chunk="B-VP" postag="VBN"/> <token postag="VBD"/> <token chunk="B-NP-singular"/> </antipattern> <antipattern><!-- Obama ordered targeted airstrikes. --> <token postag="PRP_S.*|NN.*|W.*|EX|UNKNOWN" postag_regexp="yes" chunk_re="E-NP.*" regexp="yes">.*[a-z].*</token> <token postag="RB" min="0" /> <token postag="VBN" chunk_re=".-VP" /> <token postag="VBN" /> <token postag_regexp="yes" postag="NN:.*|NNS?" /> </antipattern> <pattern> <marker> <token postag="VBN"> <exception postag="VBP?" postag_regexp="yes" /> <exception regexp="yes">been|had|got</exception> </token> </marker> <token postag="VBN" /> <token postag_regexp="yes" postag="NN:.*|NNS?"> <exception postag="IN" /> </token> </pattern> <disambig postag="JJ"/> <example type="untouched">He had been proven innocent.</example> <example type="untouched">...that is, they <marker>had</marker> become logograms as in Egyptian Demotic.</example> <example type="untouched">... and they just <marker>got</marker> carried away.</example> <example type="untouched">He <marker>looked</marker> tired then.</example> <example type="untouched">Verb. ... of the World War I era that <marker>succeeded</marker> armored cruisers were now classified...</example> <example type="untouched">Passive voice verb. Whatever was <marker>said</marker> showed great insight.</example> <example type="untouched">I think I'll rent Hidden Figures.</example> <example type="untouched">Jaczko said spent fuel pools don't endanger the public.</example> <example type="untouched">Obama ordered targeted airstrikes.</example> <example type="untouched">I can't read handwritten script, so could you please write it in printed script?</example> <example type="untouched">In addition, she will assume the business lead role supporting new endeavors that our will group will become involved in, including the cost of funds and prepays activity.</example> <example type="untouched">Objects must orbit the Earth within this radius, or they can become unbound by the gravitational perturbation of the Sun.</example> <example type="untouched">Presently you can only set named tags via AppleScript.</example> <example type="untouched">He was last seen taken care of by his mother.</example><!-- #2722 --> <example type="untouched">The boy who cried spilt milk on the table.</example><!-- #2754 --> <example type="ambiguous" inputform="known[know/VBN,known/NN]" outputform="known[known/JJ]">... and his <marker>known</marker> written works are discussed in Chapter 3.</example> </rule> <rule name="of + VBN + JJ -> JJ" id="OF_VBN_JJ"> <pattern> <token>of</token> <marker> <token postag="VBN"/> </marker> <token postag="JJ"/> </pattern> <disambig postag="JJ"/> </rule> <!-- her duck Oliver --> <rule name="NN + NNP/JJR -> NNP" id="NN_NNP_JJR"> <pattern case_sensitive="yes"> <token regexp="yes" postag="NN.*" postag_regexp="yes">\p{Ll}+</token> <marker> <and> <token postag="NNP" regexp="yes">\p{Lu}\p{Ll}+</token> <token postag="JJR"/> </and> </marker> </pattern> <disambig postag="NNP"/> </rule> <rule id="NNP_NNS_VBZ_NNP" name="NNP/NNS -> NNP if followed by singular verb"> <!-- TODO: move after POS_ADD to disambiguate 's ? --> <pattern> <marker> <and> <token postag="NNP"/> <token postag="NNS"/> </and> </marker> <token postag="VBZ"><exception postag="NNS|POS" postag_regexp="yes"/></token> </pattern> <disambig postag="NNP"/> <example type="untouched">Badlands heights</example> <example type="ambiguous" inputform="Badlands[Badlands/NNP,badland/NNS]" outputform="Badlands[Badlands/NNP]">The Canadian <marker>Badlands</marker> is important.</example> </rule> <!-- from X to X --> <rulegroup name="from X to X -> NN:UN" id="from_NN_to_NN"> <rule> <pattern> <token>from</token> <marker> <token postag="NN"/> </marker> <token>to</token> <token postag_regexp="yes" postag="NN.*"/> </pattern> <disambig postag="NN:UN"/> </rule> <rule> <pattern> <token>from</token> <token postag="NN:UN"><exception postag="VBG" /></token> <token>to</token> <marker> <token postag="NN"/> </marker> </pattern> <disambig postag="NN:UN"/> <example type="untouched">... and saved her from <marker>having to</marker> face justice by blackmailing his client Sir Joseph.</example> <example type="untouched">What information are you wanting to get from trying to monitor in this way?</example> </rule> </rulegroup> <rulegroup name="from nose to tail" id="FROM_NOSE_TO_TAIL"> <rule> <pattern> <token>from</token> <marker> <token>nose</token> </marker> <token>to</token> <token>tail</token> </pattern> <disambig postag="NN:UN"/> </rule> <rule> <pattern> <token>from</token> <token>nose</token> <token>to</token> <marker> <token>tail</token> </marker> </pattern> <disambig postag="NN:UN"/> </rule> </rulegroup> <rule name="sore throat" id="SORE_THROAT"> <pattern> <token>sore</token> <marker> <token>throat</token> </marker> </pattern> <disambig postag="NN:UN"/> </rule> <rule name="give sb credit/VB -> NN:UN" id="GIVE_CREDIT"> <pattern> <token inflected="yes">give</token> <token postag="NNP|PRP" postag_regexp="yes"/> <marker> <token>credit</token> </marker> </pattern> <disambig postag="NN:UN"/> </rule> <rule name="there + SENT_END -> RB" id="EX_SENT_END_RB"> <pattern> <marker> <token postag="EX"/> </marker> <token postag_regexp="yes" postag="SENT_END|,|IN|PRP"/> </pattern> <disambig postag="RB"/> </rule> <rulegroup name="EX + was|is... + VB/NN -> NN" id="EX_ARE_NN"> <rule> <pattern> <token postag="EX"/> <token regexp="yes">is|was|are|were</token> <marker> <and> <token postag="VB"><exception postag="RB"/></token> <token postag_regexp="yes" postag="NN.*|JJ.*"/> </and> </marker> </pattern> <disambig action="remove" postag="VBP?"/><!-- #5193 --> <example type="untouched">Adverb. There are <marker>still</marker> problems with the tests.</example> <example type="untouched">There are <marker>back</marker> issues of the magazine on the shelf.</example> <example type="ambiguous" inputform="sound[sound/JJ,sound/NN:UN,sound/VB,sound/VBP]" outputform="sound[sound/JJ,sound/NN:UN]">There are <marker>sound</marker> reasons for doing this test.</example> </rule> <rule> <pattern> <token postag="EX"/> <token regexp="yes">is|was|are|were</token> <token postag="RB"><exception postag="CC"/></token> <marker> <and> <token postag="VB"/> <token postag_regexp="yes" postag="NN.*|JJ.*"/> </and> </marker> </pattern> <disambig action="remove" postag="VBP?"/> <example type="ambiguous" inputform="still[still/JJ,still/NN,still/RB,still/VB,still/VBP]" outputform="still[still/JJ,still/NN,still/RB]"><!-- Adverb (probably)-->There are usually <marker>still</marker> problems with the tests.</example><!-- #5193 --> <example type="ambiguous" inputform="still[still/JJ,still/NN,still/RB,still/VB,still/VBP]" outputform="still[still/JJ,still/NN,still/RB]"><!-- Noun -->There were occasionally <marker>still</marker> problems, but they were corrected when the new filters for the stills were installed.</example><!-- #5193 --> </rule> <rule> <pattern> <token postag="EX"/> <token regexp="yes">ha(ve|s)</token> <token>been</token> <token postag="RB"><exception postag="CC"/></token> <marker> <and> <token postag="VB"/> <token postag_regexp="yes" postag="NN.*|JJ.*"/> </and> </marker> </pattern> <disambig action="remove" postag="VBP?"/> <example type="ambiguous" inputform="close[close/JJ,close/NN,close/RB,close/VB,close/VBP]" outputform="close[close/JJ,close/NN,close/RB]">There has been much <marker>close</marker> weather recently.</example><!-- #5193 --> </rule> </rulegroup> <!-- 2020-03-26 MFU. The disambiguated postag possibly should be CC. 'While' as a preposition is Northern BrE only: https://www.lexico.com/definition/while. Refer also to https://github.com/languagetooler-gmbh/languagetool-premium/issues/1079 <rule name="while (IN/NN/VBP) + PRP -> while/IN" id="WHILE_IN_PRP"> <pattern> <marker> <token>while</token> </marker> <token postag_regexp="yes" postag="PRP|VBG"/> </pattern> <disambig postag="IN"/> </rule> --> <rule name="Web page (noun/verb) -> page (noun)" id="WEB_PAGE"> <pattern> <token postag="NN">web</token> <token postag="NN">page</token> </pattern> <disambig action="filterall"/> </rule> <rule id="BY_RB" name="by + rb → rb"> <pattern> <token>by</token> <marker> <token postag="RB"/> </marker> </pattern> <disambig postag="RB"/> <example type="ambiguous" outputform="then[then/RB]" inputform="then[then/JJ,then/NN,then/RB]">It should be safe by <marker>then</marker>.</example> <example type="untouched">For now they are having fun and learning all they can by <marker>playing</marker> with neighbors and friends.</example> <example type="untouched">I'll by flying.</example> </rule> <rule id="by_chance_morning" name="by chance / morning ->NN"> <pattern> <token>by</token> <marker> <token regexp="yes" postag="NN.*" postag_regexp="yes">chance|morning</token> </marker> </pattern> <disambig action="filterall"/> </rule> <rule name="DT|JJ + JJ/NN + NN -> JJ" id="DT_JJ_NN_JJ"> <antipattern> <token regexp="yes">I|you|we|they</token> <token postag_regexp="yes" postag="RB"/> <token postag_regexp="yes" postag="VBP"/> </antipattern> <antipattern><!-- #2433 social safety make it / #2462 this work make it --> <token postag_regexp="yes" postag="DT|JJ|PRP\$"/> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN:UN?"/> <token chunk="B-VP" postag="VBP"/> <token chunk="B-NP-singular"/> </antipattern> <antipattern><!-- #2427 each switch turn it --> <token postag_regexp="yes" postag="DT"/> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> <token chunk="B-VP" postag="VBP"/> <token regexp="yes">&object_pronouns;</token> </antipattern> <antipattern><!-- Premium #1564 Some state want to go --> <token chunk="B-NP-singular" postag_regexp="yes" postag="DT|PRP\$"/> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> <token chunk="B-VP" postag_regexp="yes" postag="VB[PD]"/> <token>to</token> <token postag_regexp="yes" postag="VBP?"/> </antipattern> <antipattern><!-- #3527 What will losing the war mean to us? --> <token postag="MD"/> <token postag="VBG"/> <token postag_regexp="yes" postag="DT|PRP\$"/> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> <token chunk="B-VP" postag="VB"/> <token>to</token> </antipattern> <antipattern><!-- #3546 both support ARM --> <token postag="DT"/> <token postag_regexp="yes" postag="VBP"/> <token chunk="E-NP-singular" postag="NNP"/> </antipattern> <antipattern> <token regexp="yes">many|several|few</token> <token regexp="yes">more|less</token> <token postag="VBP" /> </antipattern> <antipattern><!-- "It can temporary blind so ..." needed for ADJECTIVE_ADVERB --> <token postag="MD" chunk_re=".-VP" /> <token postag="JJ" /> <token postag="VB" /> </antipattern> <antipattern><!-- "It can't temporary blind so ..." needed for ADJECTIVE_ADVERB --> <token postag="MD" /> <token regexp="yes">&apostrophe;</token> <token>t</token> <token postag="JJ" /> <token postag="VB" /> </antipattern> <antipattern> <token postag="MD" /> <token min="0" inflected="yes">not</token> <token regexp="yes">this|that|th[oe]se</token> <token postag="VB" /> </antipattern> <pattern> <token postag_regexp="yes" postag="DT|JJ|PRP\$"> <exception postag_regexp="yes" postag="WDT|RB"/> </token> <marker> <and> <token postag="JJ|VBG" postag_regexp="yes"> <exception regexp="yes">animal|woman|head|body|work|material|business|power|mainline|through|mean|frontline|center|centre|state|runtime|size|budget|regulation|turnover|utility|key|assault</exception> <exception postag_regexp="yes" negate_pos="yes" postag="JJ|NN.*|VB.*"/> </token> <token postag_regexp="yes" postag="VBP"/> </and> </marker> <token postag_regexp="yes" postag="NN.*|CD"> <exception>others</exception> </token> </pattern> <disambig action="remove" postag="VBP?"/> <example type="untouched">Peter the great</example> <example type="untouched">When did you first <marker>meet</marker> Tom?</example> <example type="untouched">Verb. She will soon <marker>clear</marker> away these dishes.</example> <example type="untouched">Phrasal verb. ...being a supply teacher; students would often <marker>cut up</marker> and play baffling tricks.</example> <example type="untouched">Noun. ... together with its education services and level of social <marker>safety</marker> make it attractive for locals and visitors alike.</example><!-- #2433 --> <example type="untouched">Noun. ... that Ian brought to this <marker>work</marker> make it one of the masterpieces of Berkeley scholarship.</example><!-- #2462 --> <example type="untouched">Noun. ... and then at each <marker>switch</marker> turn it on/off until the mobile app says it excluded a device.</example><!-- #2427 --> <example type="untouched">Please lay down your coat.</example><!-- #3215 --> <example type="untouched">Can you please cut down on the swearing?</example><!-- #3215 --> <example type="untouched">Also please lay out a schematic of the...</example><!-- #3215 --> <example type="untouched">Please cut short your vacation and return.</example><!-- #3215 --> <example type="untouched">Some state want to go slow.</example><!-- Premium #1564 --> <example type="untouched">What will losing the war mean to us?</example><!-- #3527 --> <example type="untouched">I’ve seen squats pass with it, and I’ve seen many more get red lights.</example> <example type="untouched">This would both support ARM and allow us to make a...</example><!-- #3546 --> <example type="ambiguous" inputform="exact[exact/JJ,exact/VB,exact/VBP]" outputform="exact[exact/JJ]">I stand corrected - this is the <marker>exact</marker> same issue as the old thread.</example> </rule> <rule name="DT|JJ + JJ + NN/VBP -> NN" id="DT_JJ_NN_NN"> <antipattern><!-- a few separate --> <token>a</token> <token>few</token> <token postag="VBP"/> <token postag_regexp="yes" postag="PCT|CC"/> </antipattern> <antipattern><!-- #3853 ... when you don't know whether the two love you as much as you love both. --> <token postag="DT"/> <token postag="CD"/> <token postag="VBP"/> </antipattern> <antipattern><!-- #3680 The American Civil War was one of the earliest true industrial wars. --> <token>of</token> <token>the</token> <token postag="JJS"/> <token postag="JJ"><exception postag="NN.*S" postag_regexp="yes"/></token> </antipattern> <antipattern><!-- the most stable and prosperous. Refer to DT_JJR_JJ_CC_JJ --> <token postag_regexp="yes" postag="DT|PRP\$"/> <token>most</token> <token postag="JJ"/> <token>and</token> <token postag="JJ"/> </antipattern> <antipattern><!-- #2433 social safety make it / #2462 this work make it --> <token postag_regexp="yes" postag="DT|JJ|PRP\$"/> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN:UN?"/> <token chunk="B-VP" postag="VBP"/> <token chunk="B-NP-singular"/> </antipattern> <antipattern><!-- #2427 each switch turn it --> <token postag_regexp="yes" postag="DT"/> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> <token chunk="B-VP" postag="VBP"/> <token regexp="yes">&object_pronouns;</token> </antipattern> <antipattern><!-- #2427 www.lexico.com/definition/no_longer --> <token>no</token> <token>longer</token> <token chunk="I-VP" postag="VBP"/> <token regexp="yes">&object_pronouns;</token> </antipattern> <antipattern><!-- #2427 mean like make it --> <token chunk="B-VP" postag_regexp="yes" postag="VB.*"/> <token>like</token><!-- Informal adverb: www.lexico.com/definition/like --> <token chunk="B-VP" postag="VBP"/> <token regexp="yes">&object_pronouns;</token> </antipattern> <antipattern><!-- #2526 the angry know it --> <token>the</token> <token regexp="yes">&plural_adjectival_nouns;</token> <token postag_regexp="yes" postag="VB[PD]"/> <token postag_regexp="yes" postag="PRP|TO"/> </antipattern> <antipattern><!-- #2556 the first four form 'Greater Athens' --> <token>the</token> <token>first</token> <token postag="CD"/> <token postag="VBP"/> <token regexp="yes">['‘"“]</token> </antipattern> <antipattern><!-- #2652 the other two chase her --> <token>the</token> <token postag="JJ"/> <token postag="CD"/> <token postag="VBP"/> <token chunk="B-NP-singular"/> </antipattern> <antipattern><!-- #2815 the first four form Greater Athens --> <token>the</token> <token postag="JJ"/> <token postag="CD"/> <token chunk="I-NP-singular" postag="VBP"/> <token chunk="I-NP-singular" regexp="yes">\p{Lu}.*</token> <token chunk="E-NP-singular" postag="NNP"/> </antipattern> <antipattern><!-- Premium #1423 only three left. --> <token postag="RB"/> <token postag="CD"/> <token postag_regexp="yes" postag="JJ|VB[PD]"/> <token postag="SENT_END"/> </antipattern> <antipattern><!-- #3092 makes my skin crawl --> <token chunk="B-VP" postag_regexp="yes" postag="VB.*"/> <token chunk="B-NP-singular" postag="PRP$"/> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> <token chunk="B-VP" postag_regexp="yes" postag="VBP?"/> </antipattern> <antipattern><!-- #3258 let very few get by --> <token chunk="B-VP" postag_regexp="yes" postag="VB.*"/> <token postag="RB"/> <token>few</token><!-- Probably only 'few' as a determiner: www.lexico.com/definition/few --> <token chunk="B-VP" postag_regexp="yes" postag="VBP?"/> <token postag_regexp="yes" postag="RB|IN"/> </antipattern> <antipattern><!-- #3330 A few go to www.lexico.com/definition/few --> <token>a</token> <token>few</token> <token postag_regexp="yes" postag="VBP?"/><!-- chunker error: go/E-NP-singular --> <token postag="TO"/> </antipattern> <antipattern><!-- #3372 am still feeling sick --> <token inflected="yes">be</token> <token postag="RB"/> <token postag="VBG"/> <token postag="JJ"/> </antipattern> <antipattern><!-- #3377 are much more stable --> <token inflected="yes">be</token> <token postag="RB"/> <token>more</token> <token postag="JJ"/> </antipattern> <antipattern><!-- Premium #1564 the media want to know --> <token chunk="B-NP-plural" postag_regexp="yes" postag="DT|PRP\$"/> <token chunk="E-NP-plural" postag_regexp="yes" postag="NNS"/> <token chunk="B-VP" postag_regexp="yes" postag="VB[PD]"/> <token>to</token> </antipattern> <antipattern><!-- Premium #1564 Some state want to go --> <token chunk="B-NP-singular" postag_regexp="yes" postag="DT|PRP\$"/> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> <token chunk="B-VP" postag_regexp="yes" postag="VB[PD]"/> <token>to</token> <token postag_regexp="yes" postag="VBP?"/> </antipattern> <antipattern><!-- #3293 a third are women --> <token postag_regexp="yes" postag="DT|PRP\$"/> <token postag="ORD"/> <token>are</token> <token postag="NNS"/> </antipattern> <antipattern><!-- #3302 no longer call www.lexico.com/definition/no_longer --> <token>no</token> <token>longer</token> <token chunk="B-VP" postag="VBP"/> </antipattern> <antipattern><!-- #3302 even more stable --> <token>even</token> <token regexp="yes">more|less</token> <token chunk="I-ADJP" postag="JJ"/> </antipattern> <antipattern><!-- #3527 What will losing the war mean to us? --> <token postag="MD"/> <token postag="VBG"/> <token postag_regexp="yes" postag="DT|PRP\$"/> <token min="0" max="4" chunk="I-NP-singular"/> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> <token chunk="B-VP" postag="VB"/> <token>to</token> </antipattern> <antipattern><!-- #3276 www.lexico.com/definition/few --> <token>a</token> <token>few</token> <token chunk="B-VP" postag_regexp="yes" postag="VB[PD]?"/> </antipattern> <antipattern><!-- #3565 many more need to be replaced --> <token postag="DT"/> <token postag_regexp="yes" postag="JJ.*"/> <token>need</token> <token>to</token> <token>be</token> <token postag="VBN"/> </antipattern> <antipattern><!-- #3590 a few more wrong --> <token regexp="yes">few|many</token> <token>more</token> </antipattern> <antipattern><!-- #3668 flowers on the counter are --> <token chunk="E-NP-plural" postag="NNS"/> <token postag="IN"/> <token postag="DT"/> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token postag_regexp="yes" postag="VB[PD]"/> <token postag_regexp="yes" postag="SENT_END|PCT|PRP|RB|IN"/> </antipattern> <antipattern><!-- #4814 have been hiding / have purchased --> <token chunk="B-VP" postag="VBP">have</token> <token chunk="I-VP" postag="VBN"/> </antipattern> <antipattern><!-- Chunker error: a few have remained --> <token regexp="yes">few|many</token> <token>have</token> <token chunk="B-VP" postag="VBN" /> </antipattern> <antipattern><!-- His unit saw 187 days of active battle. --> <token postag_regexp="yes" postag="DT|JJ|PRP\$"/> <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*" /> <token postag="VBP" chunk_re=".-VP" /> </antipattern> <antipattern><!-- The animal pass it on to … --> <token postag="PRP\$|DT" postag_regexp="yes" /> <token postag="NN.*" postag_regexp="yes" /> <token postag="VBP" postag_regexp="yes" /> <token regexp="yes">it|them</token> <token postag="IN" /> </antipattern> <antipattern><!-- Would this evening work better? --> <token postag="MD" /> <token inflected="yes" min="0">not</token> <token postag="DT|PRP\$" postag_regexp="yes" /> <token postag="NN.*" postag_regexp="yes" chunk_re="I-NP.*" /> <token postag="VB" postag_regexp="yes" /> </antipattern> <antipattern><!-- How does centralized solar work? --> <token postag="W.*|SENT_START|PCT" postag_regexp="yes" /> <token postag="RB" min="0" /> <token regexp="yes" inflected="yes">do|will|can|should</token> <token min="0">n't</token> <token chunk_re="B-NP.*" /> <token chunk_re="I-NP.*" min="0" /> <token chunk_re="[EI]-NP.*" /> <token postag="VB" /> </antipattern> <antipattern><!-- big time short --> <token>big</token> <token>time</token> <token postag="JJ" /> </antipattern> <pattern> <token postag_regexp="yes" postag="DT|JJ|PRP\$"/> <token postag="JJ.*|VBG" postag_regexp="yes"> <exception postag="RB"/> <exception regexp="yes">trading|training|meeting</exception> <exception regexp="yes">being|one</exception> <exception regexp="yes">animal|woman|head|business|work|power|material|body|mainline|through|mean|frontline|center|centre|state|runtime|size|budget|regulation|turnover|utility|key|assault|time|cavalier</exception> </token> <marker> <and> <token postag="VBP"> <exception>will</exception> <exception>are</exception> <exception>cool</exception> <exception postag_regexp="yes" negate_pos="yes" postag="NN.*|VB.*|MD|JJ"/> </token> <token postag_regexp="yes" postag="NN.*"/> </and> </marker> <token><exception postag="DT|RB?" postag_regexp="yes"/><exception spacebefore="no" regexp="yes">&apostrophe;.*</exception></token><!-- Cannot use postag POS because that is added in POS_ADD after this rule --> </pattern> <disambig action="filter" postag="NN.*"/> <example type="untouched">His friend is now in England.</example> <example type="untouched">The first few are:</example> <example type="untouched">How does centralized solar work?</example> <example type="untouched">The animal pass it on to</example> <example type="untouched">... and all being <marker>hit</marker>, along with the ...</example> <example type="untouched">His party <marker>may</marker> have brought the disease with them from Egypt.</example> <example type="untouched">Its meaning <marker>may</marker>, on occasion, differ a little from the...</example> <example type="untouched">Incorrect grammar. The air get's colder.</example><!-- https://github.com/languagetool-org/languagetool/issues/1395 --> <example type="untouched">Incorrect grammar. The air filter's on the machine are dirty.</example> <example type="untouched">Incorrect grammar. The air filter's operate correctly.</example> <example type="untouched">His unit saw 187 days of active battle.</example> <example type="untouched">Adjective. ... sites may have housed up to 600 individuals in a few <marker>separate</marker> but closely spaced settlement clusters.</example> <example type="untouched">Verb. ... and although a few <marker>separate</marker>, many do not.</example> <example type="untouched">Verb. Most strands remain together, but a few <marker>separate</marker>.</example> <example type="untouched">Verb. Its stable economy together with its education services and level of social safety <marker>make</marker> it attractive for locals and visitors alike.</example><!-- #2433 --> <example type="untouched">Verb. ... that Ian brought to this work <marker>make</marker> it one of the masterpieces of Berkeley scholarship.</example><!-- #2462 --> <example type="untouched">Verb. ... that she brought to this work <marker>make</marker> her the master worker of the genre.</example> <example type="untouched">Verb. ... that she brought to her work <marker>make</marker> the challenge of the genre seem overwhelming.</example> <example type="untouched">Adjective. One of the most <marker>stable</marker> and prosperous of the post-Communist states is the Czech Republic.</example> <example type="untouched">Verb. ... and then at each switch <marker>turn</marker> it on/off until the mobile app says it excluded a device.</example><!-- #2427 --> <example type="untouched">Verb. I can no longer <marker>control</marker> it through Smartthings.</example><!-- #2427 --> <example type="untouched">Verb. I mean like <marker>make</marker> it able to be similar to...</example><!-- #2427 --> <example type="untouched">The angry know it all.</example><!-- #2526 --> <example type="untouched">The poor drink to drown their sorrows.</example><!-- #2526 drink/E-NP-singular --> <example type="untouched">... and usually, the sick hope to become well.</example><!-- #2526 hope/E-NP-singular --> <example type="untouched">... regional units, out of which the first four <marker>form</marker> 'Greater Athens', while the Piraeus...</example><!-- #2556 --> <example type="untouched">... since the first four <marker>form</marker> "a magnificent spectacle."</example> <example type="untouched">Verb: ... and the other two <marker>chase</marker> her.</example><!-- #2652 chase/E-NP-singular --> <example type="untouched">Verb: ... out of which the first four <marker>form</marker> Greater Athens, while the regional unit...</example><!-- #2815 form/I-NP-singular --> <example type="untouched">Verb: ... which occurs occasionally if only three leave.</example><!-- Premium #1423 --> <example type="untouched">This makes my skin crawl.</example><!-- #3092 --> <example type="untouched">His center fielder let very few get by.</example><!-- #3258 --> <example type="untouched">His goalie skills let very few into the goal.</example><!-- #3258 --> <example type="untouched">I am still feeling sick.</example><!-- #3372 --> <example type="untouched">A few go to Brasília.</example><!-- #3330 --> <example type="untouched">A few go to happily Brasília.</example><!-- #3330 --> <example type="untouched">... known collectively as silicones, are much more stable.</example><!-- #3377 --> <example type="untouched">If Scott and you are intent on moving forward, we'll do as you see fit.</example><!-- #3377 --> <example type="untouched">The media want to know about their customers.</example><!-- Premium #1564 --> <example type="untouched">If any professional want to know the new practices of their field...</example><!-- Premium #1564 --> <example type="untouched">Some state want to go slow.</example><!-- Premium #1564 --> <example type="untouched">About a third are women.</example><!-- #3293 --> <example type="untouched">We no longer call it the cockpit.</example><!-- #3302 --> <example type="untouched">... party are typically even more stable, as long as their...</example><!-- #3302 --> <example type="untouched">What will losing the war mean to us?</example><!-- #3527 --> <example type="untouched">What might winning the next war mean to the enemy?</example><!-- #3527 --> <example type="untouched">I told you that a few affect my rules!</example><!-- #3276 --> <example type="untouched">So how many more need to be replaced and do I need both the bottom and top mattresses?</example><!-- #3565 --> <example type="untouched">Some more need to be replaced.</example><!-- #3565 --> <example type="untouched">I got a few more wrong.</example><!-- #3590 --> <example type="untouched">A few more wrong answers are not a problem.</example><!-- #3590 --> <example type="untouched">Some people hurt other people out of fear; a few more wrong people because they are bullies.</example><!-- #3590 wrong/B-NP-plural --> <example type="untouched">I wonder whose these beautiful flowers on the counter are.</example><!-- #3668 are/B-VP --> <example type="untouched">This plant is not nice, but those beautiful flowers on the counter are.</example><!-- #3668 are/B-VP --> <example type="untouched">I wonder why these beautiful flowers on the counter lie askew.</example><!-- #3668 lie/E-NP-singular --> <example type="untouched">These beautiful flowers on the counter show you what you can expect from our floral...</example><!-- #3668 show/E-NP-singular --> <example type="untouched">You can easily get stunning displays, as these beautiful flowers on the counter show.</example><!-- #3668 show/E-NP-singular --> <example type="untouched">Many other have been hiding from the police.</example><!-- #4814 --> <example type="untouched">We all ready have purchased it.</example><!-- #4814 --> <example type="untouched">Many remain curiosities — only a few have remained in use:</example><!-- have/E-NP-singular --> <example type="ambiguous" inputform="nose[nose/NN,nose/VB,nose/VBP]" outputform="nose[nose/NN]">The elephant swings its long <marker>nose</marker>.</example> <example type="ambiguous" inputform="stone[stone/JJ,stone/NN:UN,stone/NNS,stone/VB,stone/VBP]" outputform="stone[stone/NN:UN,stone/NNS]">A rolling <marker>stone</marker> gathers no moss.</example> <example type="ambiguous" inputform="stone[stone/JJ,stone/NN:UN,stone/NNS,stone/VB,stone/VBP]" outputform="stone[stone/NN:UN,stone/NNS]">A rolling <marker>stone</marker> pot damaged my greenhouse.</example><!-- #5196 --> <example type="ambiguous" inputform="make[make/NN:UN,make/VB,make/VBP]" outputform="make[make/NN:UN]">No, I mean like <marker>make</marker> or brand name, in which case no further actions are necessary.</example> <example type="ambiguous" inputform="mind[mind/NN:UN,mind/VB,mind/VBP]" outputform="mind[mind/NN:UN]">There are employees with feelings and a good <marker>mind</marker> to think things through.</example><!-- Premium #1564 counter example --> <!-- Correct: The air filter's dirtier than the oil filter. --> </rule> <rule name="DT|JJ + JJR + JJ/NN -> JJ + CC + JJ" id="DT_JJR_JJ_CC_JJ"><!-- This is an antipattern in DT_JJ_NN_NN --> <pattern> <token postag_regexp="yes" postag="DT|PRP\$"/> <token>most</token> <marker> <token postag="JJ"/> </marker> <token>and</token> <token postag="JJ"/> </pattern> <disambig action="filterall"/> <example type="ambiguous" inputform="stable[stable/JJ,stable/NN,stable/VB,stable/VBP]" outputform="stable[stable/JJ]">One of the most <marker>stable</marker> and prosperous of the post-Communist states is the Czech Republic.</example> </rule> <rule name="JJ + JJ/NN > NN + VB/NN > VB + NOUNPHRASE" id="JJ_NN_VB_NOUNPHRASE"><!-- This is based on the antipattern #2433 in DT_JJ_NN_NN and DT_JJ_NN_JJ --> <antipattern><!-- Premium #1121 future research will no doubt --> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN:UN?"/> <token chunk="B-VP" postag="MD"/> <token>no</token> <token>doubt</token> <token chunk="B-VP" postag="VBP"/> </antipattern> <antipattern><!-- #3601 Left hand draw = --> <token postag="SENT_START"/> <token chunk="B-NP-singular" postag_regexp="yes" postag="JJ|NN(:UN?)?"/> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token>=</token> </antipattern> <pattern> <token chunk="B-NP-singular" postag="JJ"/> <marker> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN:UN?"/> <token chunk="B-VP" postag_regexp="yes" postag="VB[PD]"/> </marker> <token chunk="B-NP-singular"/> </pattern> <disambig action="filterall"/> <example type="untouched">MD not JJ. But we <marker>must</marker> all understand they are a fledgling business...</example> <example type="untouched">MD: It's just one study though, and future research <marker>will</marker> no doubt add nuance to the overall picture.</example> <example type="untouched">Left hand draw = arrow on left side of bow.</example><!-- #3601 --> <example type="ambiguous" inputform="safety[safety/JJ,safety/NN:U,safety/VB,safety/VBP]" outputform="safety[safety/NN:U]">... together with its education services and level of social <marker>safety</marker> make it attractive for locals and visitors alike.</example><!-- #2433 --> <example type="ambiguous" inputform="make[make/NN:UN,make/VB,make/VBP]" outputform="make[make/VBP]">... together with its education services and level of social safety <marker>make</marker> it attractive for locals and visitors alike.</example><!-- #2433 --> <example type="ambiguous" inputform="saw[saw/NN,saw/VB,saw/VBP,see/VBD]" outputform="saw[saw/VBP,see/VBD]">This period of Greek art <marker>saw</marker> a veneration of the human physical form.</example> </rule> <rulegroup name="a few + JJ + NNS" id="a_few_JJ_NNS"> <rule> <pattern> <token>a</token> <token>few</token> <marker> <token postag="NNS"/> </marker> </pattern> <disambig action="filterall"/> </rule> <rule> <pattern> <token>a</token> <token>few</token> <marker> <token postag="JJ"/> <token postag="NNS"/> </marker> </pattern> <disambig action="filterall"/> </rule> <rule> <pattern> <token>a</token> <token>few</token> <marker> <token postag="JJ"/> <token postag="JJ"/> <token postag="NNS"/> </marker> </pattern> <disambig action="filterall"/> </rule> </rulegroup> <rule name="DT|JJ + JJ + end of phrase -> NN" id="DT_JJ_NN"> <antipattern><!-- ... barking outside. https://www.lexico.com/definition/outside --> <token postag="RB"/> <token postag="SENT_END"/> </antipattern> <antipattern><!-- single building left standing --> <token>single</token> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token postag_regexp="yes" postag="VB[DN]"/> <token postag="JJ"/> </antipattern> <antipattern><!-- twelve feet by twenty four --> <token postag="CD"/> <token postag="NNS"/> <token postag="IN"/> <token postag="CD"/> <token postag="CD"/> </antipattern> <antipattern><!-- Premium #999 a mere four. 'a mere + CD' seems to be a special case. --> <token>a</token> <token>mere</token> <token postag="CD"/> </antipattern> <antipattern><!-- #2759 that sound good. --> <token>that</token> <token postag_regexp="yes" postag="VB[PDZ]"/> <token postag="JJ"/> <token postag="SENT_END"/> </antipattern> <antipattern><!-- Premium #1423 only three left. --> <token postag="RB"/> <token postag="CD"/> <token postag_regexp="yes" postag="JJ|VB[PD]"/> <token postag="SENT_END"/> </antipattern> <antipattern><!-- #3256 a few left. www.lexico.com/definition/few --> <token>a</token> <token>few</token> <token postag_regexp="yes" postag="JJ|VB[PD]"/> <token postag="SENT_END"/> </antipattern> <antipattern><!-- #3371 much more reliable. --> <token>much</token> <token>more</token> <token postag="JJ"/> </antipattern> <antipattern><!-- #3372 am still feeling sick --> <token inflected="yes">be</token> <token postag="RB"/> <token postag="VBG"/> <token postag="JJ"/> </antipattern> <antipattern><!-- #3375 --> <token inflected="yes">be</token> <token postag="RB"/> <token postag_regexp="yes" postag="JJR?"/> <token postag="JJ"/> </antipattern> <antipattern> <token>one</token> <token>of</token> <token>the</token> <token postag="JJS" /> <token postag="JJ" /> </antipattern> <antipattern><!-- #3375 becoming more regular --> <token>becoming</token> <token regexp="yes">more|less</token> <token postag="JJ"/> </antipattern> <antipattern><!-- #3590 a few more wrong --> <token>a</token> <token>few</token> <token>more</token> </antipattern> <antipattern><!-- all six --> <token>all</token> <token postag="CD" /> </antipattern> <antipattern> <token regexp="yes">th[eo]se|all|many|few</token> <token postag="VB[GD]" postag_regexp="yes" /> <token postag="IN" /> </antipattern> <antipattern> <token inflected="yes">make</token> <token regexp="yes">th[eo]se|all|many|few</token> <token postag="NNP?S" postag_regexp="yes" /> <token postag="JJ" /> </antipattern> <antipattern><!-- incorrect chunking "How does centralized solar work?"" --> <token postag="SENT_START|PCT|CC|W.*" postag_regexp="yes"> <exception>that</exception> </token> <token regexp="yes" inflected="yes">will|do|can|should|might|may</token> <token chunk="B-NP-singular" /> <token chunk="I-NP-singular" min="0" /> <token chunk="E-NP-singular" postag="VB" /> </antipattern> <pattern> <token postag_regexp="yes" postag="DT|JJ|PRP\$"/> <token postag="JJ.*|VBG" postag_regexp="yes"><exception postag="RB"/><exception regexp="yes">being|one</exception></token> <marker> <unify> <feature id="number"/> <and> <token postag="NN.*" postag_regexp="yes"/> <token postag="JJ.?" postag_regexp="yes"/> </and> <token postag="SENT_END|VB." postag_regexp="yes"><exception postag="NN.*|VBN" postag_regexp="yes"/></token> </unify> </marker> </pattern> <disambig action="unify"/> <example type="ambiguous" inputform="English[English/JJ,English/NNP]" outputform="English[English/NNP]">Excuse my bad <marker>English</marker>.</example> <example type="ambiguous" inputform="quality[quality/JJ,quality/NN:UN]" outputform="quality[quality/NN:UN]">Sorry for the poor <marker>quality</marker>.</example> <example type="untouched">These real English are nice.</example> <example type="untouched">You are just being stupid.</example> <example type="untouched">(2004) Nicaragua: Those Passed By.</example> <example type="untouched">How does centralized solar work?</example> <example type="untouched">Over two years later all six were producing clotting factor.</example> <example type="untouched">Adverb. The dog was still barking <marker>outside</marker>.</example> <example type="untouched">Adjective. ...there won't be a single building left standing.</example> <example type="untouched">This room is twelve feet by twenty four.</example><!-- twenty-four is usually hyphenated, but, 'four' is still CD in this context. --> <example type="untouched">An area of twelve inches by thirty three was covered in an unknown powder.</example> <example type="untouched">Cardinal: Moody's warned it may downgrade 47 companies and raise a mere <marker>four</marker>.</example><!-- Premium #999 --> <example type="untouched">In her research, she found that a mere <marker>twenty</marker> were in the whole of England.</example> <example type="untouched">I think that sound good.</example><!-- #2759 --> <example type="untouched">There are many melodies that sound good.</example><!-- #2759 --> <example type="untouched">Adjective: There are only three left.</example><!-- Premium #1423 --> <example type="untouched">Verb: ... and because only three left.</example><!-- Premium #1423 --> <example type="untouched">Verb: ... which occurs occasionally if only three leave.</example><!-- Premium #1423 --> <example type="untouched">I still have a few left.</example><!-- #3256 --> <example type="untouched">... that were so much more reliable.</example><!-- #3371 --> <example type="untouched">I am still feeling sick.</example><!-- #3372 --> <example type="untouched">... is more elliptical, its apparent magnitude will be far more variable.</example><!-- #3375 --> <example type="untouched">To blame someone else for your mistakes is even more human.</example><!-- #3375 --> <example type="untouched">... their individual experience of the falling rate of pricing is even more dramatic.</example><!-- #3375 --> <example type="untouched">...months in which the effect of market power was even more evident.</example><!-- #3375 --> <example type="untouched">also from the Latin of the Roman Empire is much less certain.</example><!-- #3375 --> <example type="untouched">This is pretty damn funny.</example><!-- #3375 --> <example type="untouched">... substances that are even more toxic.</example><!-- #3375 --> <example type="untouched">... literary figure during her life was even more limited.</example><!-- #3375 --> <example type="untouched">The likelihood of a positive report from the OEB is far less certain.</example><!-- #3375 --> <example type="untouched">Tom is just plum crazy.</example><!-- #3375 --> <example type="untouched">Sami was already full-blown drunk.</example><!-- #3375 --> <example type="untouched">...of his works are progressively becoming more regular.</example><!-- #3375 --> <example type="untouched">I got a few more wrong.</example><!-- #3590 --> </rule> <rule name="those + VBN/NN + not a noun -> VBN" id="DT_plural_VBNNN_VBN"> <pattern> <token>those</token> <marker> <and> <token postag="VBD"/> <token postag="NN(:U?N)?" postag_regexp="yes"/> </and> </marker> <token><exception postag="NN(P)?S" postag_regexp="yes"/></token> </pattern> <disambig action="remove" postag="NNP?(:U?N)?|VB[DP]?"/> <example type="ambiguous" inputform="illustrated[illustrate/VBD,illustrate/VBN,illustrated/NN]" outputform="illustrated[illustrate/VBN]">Those <marker>illustrated</marker> are a prime example.</example> </rule> <rule name="those/these + VBN/NN + are -> NN" id="DT_plural_VBNNN_NN"> <!-- So cases like 'These book are ...' can be detected by the rules: --> <pattern> <token regexp="yes">th[eo]se</token> <marker> <and> <token postag="VB[PN]" postag_regexp="yes"/> <token postag="NN(:U?N)?" postag_regexp="yes"/> </and> </marker> <token>are</token> </pattern> <disambig action="remove" postag="VB[DP]?"/> <example type="ambiguous" inputform="book[book/NN,book/VB,book/VBP]" outputform="book[book/NN]">These <marker>book</marker> are a prime example.</example> </rule> <rule name="those/these + so + VBN/VBD/JJ -> so = JJ" id="DT_plural_so_vbn"> <pattern> <token regexp="yes">th[eo]se</token> <marker> <token postag="JJ">so</token> <token postag="VBN"/> </marker> </pattern> <disambig action="filterall"/> <example type="ambiguous" inputform="so[so/CC,so/JJ,so/NN:U,so/RB]" outputform="so[so/JJ]">It also made him feel hate, sincere hate, for those <marker>so</marker> labeled.</example> </rule> <rule name="JJ_NN -> JJ" id="JJ_NN_JJ"> <antipattern><!-- guesses the number wins --> <token chunk="B-VP" postag_regexp="yes" postag="VB.*"/> <token postag_regexp="yes" postag="DT|PRP\$"/> <token postag_regexp="yes" postag="NN.*"/> <token chunk="B-VP" postag_regexp="yes" postag="VB.*"/> </antipattern> <antipattern><!-- time period three --> <token chunk="B-NP-singular">time</token> <token chunk="I-NP-singular">period</token> <token chunk="E-NP-singular"/><!-- For 'time period three', DT_JJ_NN assigns three/NN] thus I cannot use CD and a general AP --> </antipattern> <antipattern><!-- #2931 Chunker error: wish you a good party guys --> <token skip="-1" postag_regexp="yes" postag="VB.*" inflected="yes">wish</token> <token regexp="yes">an?</token> <token postag_regexp="yes" postag="JJR?"/> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token regexp="yes">boys|chaps|fellows|girls|guys|ladies|lads|peeps|people</token> </antipattern> <antipattern><!-- #2921 Chunker error: a given service increases as --> <token postag_regexp="yes" postag="DT|PRP\$"/> <token postag_regexp="yes" postag="JJR?"/> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token chunk="E-NP-plural" postag_regexp="yes" postag="VB[ZD]"/> <token postag_regexp="yes" postag="IN|RB|WDT|CD|JJ"/> </antipattern> <antipattern><!-- #2921 Chunker error: after an enemy dies are too slow --> <token postag="CC"/> <token postag_regexp="yes" postag="DT|PRP\$"/> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token chunk="E-NP-plural" postag_regexp="yes" postag="VB[ZD]"/> <token chunk="B-VP" postag_regexp="yes" postag="VB[PD]"/> </antipattern> <antipattern><!-- #2952 Chunker error: a blonde woman laughs --> <token chunk="B-NP-plural" regexp="yes">an?</token> <token chunk="I-NP-plural" postag_regexp="yes" postag="JJR?"/> <token chunk="I-NP-plural" postag_regexp="yes" postag="NN(:UN?)?"/> <token postag_regexp="yes" postag="VB[ZD]"/> </antipattern> <antipattern><!-- #3101 a perfect world spreaders don't --> <token chunk="B-NP-plural" regexp="yes">an?</token> <token chunk="I-NP-plural" postag_regexp="yes" postag="JJR?"/> <token chunk="I-NP-plural" postag_regexp="yes" postag="NN(:UN?)?"/> <token chunk="E-NP-plural" postag="NNS"/> <token regexp="yes">&abbreviated_negated_verbs;</token><!-- No chunk information for 'don' --> <token>n't</token> </antipattern> <antipattern><!-- #3101 a perfect world technicians wear --> <token chunk="B-NP-plural" regexp="yes">an?</token> <token chunk="I-NP-plural" postag_regexp="yes" postag="JJR?"/> <token chunk="I-NP-plural" postag_regexp="yes" postag="NN(:UN?)?"/> <token chunk="E-NP-plural" postag="NNS"/> <token chunk="B-VP" postag_regexp="yes" postag="VB[PD]?"/> </antipattern> <antipattern><!-- #3672 flowers on the counter are --> <token chunk="E-NP-plural" postag="NNS"/> <token postag="IN"/> <token postag="DT"/> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token postag_regexp="yes" postag="VB[PD]|MD"/> <token postag_regexp="yes" postag="SENT_END"/> </antipattern> <antipattern> <token regexp="yes">an?</token> <token postag="NNP?|NN:UN?" postag_regexp="yes" /> <token postag="NNP?S" postag_regexp="yes" /> <token regexp="yes">haven?|aren?|weren?</token> </antipattern> <antipattern><!-- You will see what an American looks like. --> <token postag="DT" /> <token postag="NNP" /> <token postag="VBZ" /> <token>like</token> </antipattern> <antipattern><!-- The important thing is not to win, but that the other loses. --> <token>the</token> <token>other</token> <token postag="VBZ" /> </antipattern> <antipattern><!-- Make these sales possible --> <token inflected="yes">make</token> <token regexp="yes">th[eo]se</token> <token postag="NNP?S" postag_regexp="yes" /> <token postag="JJ" /> </antipattern> <antipattern><!-- #4814 many other have been --> <token postag_regexp="yes" postag="P?DT"/> <token postag_regexp="yes" postag="JJ.?"/> <token chunk="B-VP" postag="VBP">have</token> <token chunk="I-VP" postag="VBN"/> </antipattern> <antipattern><!-- Premium #2626 Tom have been --> <token postag_regexp="yes" postag="NNP"/> <token chunk="B-VP" postag="VBP">have</token> <token chunk="I-VP" postag="VBN"/> </antipattern> <antipattern><!-- #4885 Chunker error: Tom swims as --> <token postag="SENT_START"/> <token postag_regexp="yes" postag="NNP"/> <token chunk="E-NP-plural" postag="VBZ"/> <token chunk="B-ADVP" postag="RB"/> </antipattern> <antipattern><!-- #4885 Incorrect grammar: two new offered service have --> <token chunk_re="[BI]-NP-singular" postag="CD"/> <token min="0" max="4" chunk="I-NP-singular"/> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> <token chunk="B-VP" postag_regexp="yes" postag="VB[PD]?"/> </antipattern> <antipattern><!-- A king rules. --> <token regexp="yes">an?</token> <token postag="NN|NN:UN?" postag_regexp="yes" /> <token postag="VBZ" /> </antipattern> <antipattern><!-- You sent me a picture with the head cut off. --> <token postag="DT|PRP\$" postag_regexp="yes" /> <token postag="NN.*" postag_regexp="yes" /> <token chunk_re=".-VP" postag="VB.*" postag_regexp="yes" /> <token postag="IN" postag_regexp="yes"> <exception>by</exception><!-- see example --> </token> </antipattern> <pattern> <marker> <and> <token postag="JJ.?|P?DT|PRP.?" postag_regexp="yes"><!-- #4885 To use chunk_re="[BI]-NP-.*" here, the rule must be re-written. Refer to the 'by' example. --> <exception case_sensitive="yes">US</exception> <exception regexp="yes">woman|king|home|plane|power</exception> </token> <token postag="NN.*" postag_regexp="yes"/> </and> </marker> <token postag="NN.*" postag_regexp="yes"> <exception postag="RB"/> <exception postag="MD"/> <exception postag="IN"/><!--"by" is NN --> <exception>possible</exception> </token> <token postag="SENT_END|VB.|CC" postag_regexp="yes"> <exception postag="NN.*" postag_regexp="yes"/><exception>for</exception> <exception postag="SENT_END" regexp="yes">.*[a-z].*</exception> </token> </pattern> <disambig action="remove" postag="NN.*"/> <example type="ambiguous" inputform="Canadian[Canadian/JJ,Canadian/NNP]" outputform="Canadian[Canadian/JJ]">The <marker>Canadian</marker> Badlands is nice.</example> <example type="ambiguous" inputform="red[red/JJ,red/NN:UN]" outputform="red[red/JJ]">I have a lot of <marker>red</marker> wine.</example> <example type="ambiguous" inputform="period[period/JJ,period/NN]" outputform="period[period/JJ]">This is a splendid collection of fine <marker>period</marker> furniture.</example> <example type="ambiguous" inputform="by[by/IN,by/JJ,by/NN,by/RP]" outputform="by[by/IN,by/JJ,by/RP]">Were the boys see <marker>by</marker> security?</example> <example type="ambiguous" inputform="good[good/JJ,good/NN:U]" outputform="good[good/JJ]">A very <marker>good</marker> knowledge showed that she had studied carefully.</example><!-- #4885 --> <example type="untouched">This is a nice machine.</example> <example type="untouched">A king rules.</example> <example type="untouched">Earlier, at the AGM he said a few other US power producing majors have shown interest.</example> <example type="untouched">The important thing is not to win, but that the other loses.</example> <example type="untouched">Is much powerful and wondrous <marker>magic necessary for</marker> Harry Potter to fly?</example> <example type="untouched">The circus will come to <marker>town</marker> tomorrow.</example> <example type="untouched">Noun. The persons who guessed the <marker>number</marker> won.</example> <example type="untouched">Noun. Whoever correctly guesses the <marker>number</marker> wins the prize.</example> <example type="untouched">Noun. ... will need to start over at time <marker>period</marker> three.</example> <example type="untouched">I wish you a good party guys and don't drink too much.</example><!-- #2931 --> <example type="untouched">... cost of a given service increases as the month goes by.</example><!-- #2921 --> <example type="untouched">... that happen after an enemy dies are too slow to matter.</example><!-- #2921 --> <example type="untouched">A blonde woman laughs and mucks.</example><!-- #2952 --> <example type="untouched">A blonde woman laughs.</example><!-- #2952 --> <example type="untouched">Read Christopher Elliott's "The Travel Tightwad" to get to the bottom of secret surcharges that make those sales possible.</example> <example type="untouched">You will see what an American looks like.</example> <example type="untouched">This makes my skin crawl.</example><!-- #3092 --> <example type="untouched">In a perfect world spreaders don't exist.</example><!-- #3101 --> <example type="untouched">In a perfect world technicians don this equipment for protection.</example><!-- #3101 --> <example type="untouched">In a perfect world technicians wear PPE.</example><!-- #3101 --> <example type="untouched">President Bush noted that the US would do its part by stimulating its economy.</example><!-- #3292 --> <example type="untouched">A few may come</example> <example type="untouched">I wonder whose these beautiful flowers on the counter are.</example><!-- #3672 are/B-VP --> <example type="untouched">This plant is not nice, but those beautiful flowers on the counter are.</example><!-- #3672 are/B-VP --> <example type="untouched">You can easily get stunning displays, as these beautiful flowers on the counter show.</example><!-- #3672 show/E-NP-singular --> <example type="untouched">I have a feeling dogs are so stupid because they trust us humans.</example> <example type="untouched">Your screenshot number 2 is taken directly in MS Word?</example><!-- #3991 --> <example type="untouched">Many other have been hiding from the police.</example><!-- #4814 Incorrect grammar --> <example type="untouched">Tom have been places that I've only read about.</example><!-- Premium #2626 Incorrect grammar --> <example type="untouched">Tom swims as well as Mary does.</example><!-- #4885 swims/E-NP-plural--> <example type="untouched">These two new offered service have been set up for Egan Hub.</example><!-- #4885 Incorrect grammar --> <example type="untouched">A small number of new untested service show how we can increase market share very cheaply.</example><!-- #4885 Incorrect grammar --> </rule> <rule name="required to" id="required_to"> <pattern> <marker> <token postag="VBN">required<exception scope="previous" postag="PRP"/></token> <token postag="TO"/> <token postag="VB"/> </marker> </pattern> <disambig action="filterall"/> <example type="ambiguous" inputform="required[require/VBD,require/VBN]" outputform="required[require/VBN]">The space <marker>required</marker> to store the input numbers is not counted.</example> <example type="untouched">He required to store the input numbers.</example> </rule> <rulegroup name="DT + whatever/NN + end of phrase -> NN" id="DT_NN_SENT_END"> <rule> <antipattern><!-- a ram and a buck are --> <token postag="CC"/> <token/> <token/> <token postag="VB[DP]" postag_regexp="yes"/> </antipattern> <antipattern><!-- were both drunk. --> <token regexp="yes">are|were</token> <token regexp="yes">all|both</token> <token/> <token postag="SENT_END"/> </antipattern> <antipattern><!-- ... do this now. --> <token postag_regexp="yes" postag="VB.*"/> <token postag="DT"/> <token postag="RB"/> <token postag="SENT_END"/> </antipattern> <antipattern><!-- the basic installed software is --> <token postag="DT|PRP\$" postag_regexp="yes"/> <token postag="JJ.?" postag_regexp="yes"/> <token postag="JJ|VBN" postag_regexp="yes"/> <token chunk="E-NP-singular"/> <token postag="VB[DZ]" postag_regexp="yes"/> </antipattern> <antipattern><!-- #2503 we should either say: --> <token postag="MD"/> <token regexp="yes">all|each|either</token> <token chunk="I-VP" postag="VBP?" postag_regexp="yes"/> <token>:</token> </antipattern> <antipattern> <token regexp="yes" inflected="yes">think|hope</token> <token regexp="yes">your|their|its</token><!-- common confused words (its => it's, ...) --> <token postag="JJ.*" postag_regexp="yes" /> <token postag="SENT_END" regexp="yes">\p{P}</token> </antipattern> <antipattern><!-- Premium #1418 are all then entered ... --> <token chunk="B-VP" inflected="yes">be</token> <token chunk="I-VP" postag="DT"/> <token chunk="I-VP" postag="RB"/> <token chunk="I-VP" postag="VBN"/> </antipattern> <antipattern><!-- #3257 many left. --> <token>many</token> <token postag_regexp="yes" postag="JJR?|VBN"/> <token postag="SENT_END"/> </antipattern> <antipattern><!-- #3352 all first produced --> <token postag="DT"/> <token>first</token> <token postag="VBD"/> </antipattern> <antipattern><!-- #3376 sore all over --> <token postag="JJ"/> <token>all</token> <token>over</token> </antipattern> <antipattern><!-- #3326 incorrect grammar: this mean its working? --> <token regexp="yes">this|that</token> <token postag_regexp="yes" postag="VB[PD]"/> <token>its</token> <token postag="VBG"/> <token>?</token> </antipattern> <antipattern><!-- #3326 might using this work? --> <token postag="MD"/> <token postag="VBG"/> <token postag="DT"/> <token postag="VBP"/> <token>?</token> </antipattern> <antipattern><!-- I'm sure that its working great (its vs it's) --> <token>its</token> <token postag="VBG" /> <token postag="SENT_END|JJ|RB" postag_regexp="yes" /> </antipattern> <antipattern><!-- #4024 it'll last longer. --> <token postag="MD"/> <token postag_regexp="yes" postag="VBP?"/> <token postag="JJR"/> <token postag="SENT_END"/> </antipattern> <antipattern><!-- that lay's all over ... --> <token chunk_re=".-VP" postag="VBP" /> <token>'s</token> </antipattern> <antipattern><!-- What does that mean? --> <token regexp="yes">what|which|how|when|where|who</token> <token postag="RB" min="0" /> <token postag="MD|VB[DZ]" postag_regexp="yes" chunk_re=".-VP" /> <token regexp="yes">that|this</token> <token postag="VB" /> <token postag="SENT_END" /> </antipattern> <pattern> <token postag="DT|PRP\$" postag_regexp="yes"> <exception regexp="yes">th[eo]se|all|no|much</exception> </token> <marker> <unify> <feature id="number"/> <and> <token postag="NN.*" postag_regexp="yes"/> <token postag="JJ.?" postag_regexp="yes"/> </and> <token postag="SENT_END|VB." postag_regexp="yes"> <exception postag="NN.*|JJ.?|CD|``|''" postag_regexp="yes"/> </token> </unify> </marker> </pattern> <disambig action="unify"/> <example type="ambiguous" inputform="cleaner[clean/JJR,cleaner/NN]" outputform="cleaner[cleaner/NN]">The bleach is next to the <marker>cleaner</marker>.</example> <example type="untouched">Thank you, this is much cleaner.</example> <example type="untouched">I'm sure that its working great.</example> <example type="untouched">… the heads of a ram and <marker>a buck</marker> are budding forth.</example> <example type="untouched">At the end of the party, they were both drunk.</example> <example type="untouched">My clothes were dirty, but at the end of the wash, they were all cleaner.</example> <example type="untouched">Adverb. We must do this now.</example> <example type="untouched">What does that mean?</example> <example type="untouched">Grammar error. I think its great.</example> <example type="untouched">Adjective. The <marker>basic</marker> installed software is not sufficient. We need the enhanced software.</example> <example type="untouched">Instead, we should either say:</example><!-- #2503 --> <example type="untouched">While they usually are all then entered into ...</example><!-- Premium #1418 --> <example type="untouched">I still have many left.</example><!-- #3257 --> <example type="untouched">There were not many present.</example><!-- #3257 --> <example type="untouched">The financial crisis has left many unemployed.</example><!-- #3257 --> <example type="untouched">There were many wounded.</example><!-- #3257 --> <example type="untouched">Our windows were dirty, but this product is excellent; it has made many cleaner.</example><!-- #3257 --> <example type="untouched">... which were all first produced synthetically.</example><!-- #3352 --> <example type="untouched">I'm sore all over.</example><!-- #3376 --> <example type="untouched">Does this mean its working?</example><!-- #3326 --> <example type="untouched">.... but might using this work?</example><!-- #3326 word/E-NP-singular --> <example type="untouched">Take a picture, it'll last longer.</example><!-- #4024 --> <example type="ambiguous" inputform="work[work/JJ,work/NN:UN,work/VB,work/VBP]" outputform="work[work/NN:UN]">How about we do this <marker>work</marker>?</example> <example type="ambiguous" inputform="business[business/JJ,business/NN:UN]" outputform="business[business/NN:UN]">My <marker>business</marker> is great!</example> </rule> <rule> <pattern> <token postag="DT|PRP\$" postag_regexp="yes"><exception regexp="yes">th[eo]se|no|much</exception></token> <marker> <and> <token postag="NN.*" postag_regexp="yes"/> <token postag="JJ.?" postag_regexp="yes"/> </and> </marker> <and> <token postag="''"/> <token postag="SENT_END"/> </and> </pattern> <disambig action="filter" postag="NN.*"/> <example type="ambiguous" inputform="animal[animal/JJ,animal/NN:UN]" outputform="animal[animal/NN:UN]">"The <marker>animal</marker>"</example> <example type="untouched">"Much better"</example> </rule> </rulegroup> <rule name="plural noun + that/which etc. + plural verb/nn => verb" id="NNS_WDT_VBNNS_VBP"> <antipattern><!-- #2358 that league's 1948 title --> <token postag="WDT"/> <token postag="NN"/> <token>'s</token> </antipattern> <antipattern><!-- #2760 He states that spot sales in --> <token chunk="B-VP" postag="VBZ"/> <token postag="WDT"/> <token chunk="B-NP-plural" postag="NN"/> <token chunk="E-NP-plural" postag="NNS"/> </antipattern> <pattern> <token postag="NNS"> <exception>does</exception><!-- Premium #2117 --> </token> <token postag="WDT"/> <marker> <and> <token postag='VB[PD]' postag_regexp="yes"/> <token postag="NN"/> </and> </marker> </pattern> <disambig action="filter" postag="VB[PD]"/> <example type="untouched">I didn't know that they were happy.</example> <example type="untouched">moved to the BAA and won that league's 1948 title.</example> <example type="untouched">He states that spot sales in the Pacific Northwest...</example><!--- #2760 --> <example type="untouched">The next question is where does that put the cash?</example><!-- Premium #2117, does/E-NP-plural --> <example type="untouched">The next question is where does that put the cash.</example><!-- Premium #2117 --> <example type="ambiguous" inputform="lay[lay/JJ,lay/NN,lay/VB,lay/VBP,lie/VBD]" outputform="lay[lay/VBP,lie/VBD]">Certain frogs that <marker>lay</marker> eggs underground have unpigmented eggs.</example> </rule> <rule name="till (verb) -> till/IN" id="TILL_IN"> <pattern> <marker> <token>till</token> </marker> <token postag_regexp="yes" postag="PRP\$|DT"/> <token><exception regexp="yes">soil|land|fields?</exception></token> </pattern> <disambig postag="IN"/> </rule> <rule name="IN + NN/VBG + DT" id="before_NN_VBG"> <pattern> <token postag="IN"/> <marker> <and> <token postag="NN"/> <token postag="VBG"/> </and> </marker> <token postag_regexp="yes" postag="DT|PRP|IN|JJ.*"/> </pattern> <disambig postag="VBG"/> </rule> <rule name="be + NN/VBG + DT" id="be_NN_VBG"> <pattern> <token inflected="yes">be</token> <marker> <and> <token postag="NN"/> <token postag="VBG"/> </and> </marker> </pattern> <disambig postag="VBG"/> </rule> <rule name="without having (NN/VBG)->VBG" id="without_kk_NN_VBG"> <pattern> <token regexp="yes">before|after|while|from|without</token> <marker> <and> <token postag="NN"/> <token postag="VBG">having</token> </and> </marker> </pattern> <disambig postag="VBG"/> </rule> <rule name="having (NN/VBG) + VBN ->VBG" id="HAVING_VBN"> <pattern> <marker> <and> <token postag="NN"/> <token postag="VBG">having</token> </and> </marker> <token postag="VBN"/> </pattern> <disambig postag="VBG"/> </rule> <rulegroup name="off/in season(NN) -> NN:UN" id="SEASON"> <rule> <pattern> <token regexp="yes">off|in</token> <marker> <token>season</token> </marker> </pattern> <disambig postag="NN:UN"/> </rule> <rule> <pattern> <token>out</token> <token>of</token> <marker> <token>season</token> </marker> </pattern> <disambig postag="NN:UN"/> </rule> </rulegroup> <rulegroup name="coast to coast (NN:UN)" id="COAST_TO_COAST"> <rule> <pattern> <marker> <token>coast</token> </marker> <token>to</token> <token>coast</token> </pattern> <disambig postag="NN:UN"/> </rule> <rule> <pattern> <token>coast</token> <token>to</token> <marker> <token>coast</token> </marker> </pattern> <disambig postag="NN:UN"/> </rule> </rulegroup> <rule name="about + figure -> about (RB)" id="ABOUT_NN_RB"> <pattern> <marker> <token>about</token> </marker> <token regexp="yes">(one\-(third|fourth|fifth|sixth|seventh|eighth|ninth|tenth|sixteenth|hundredth|thousandth|millionth|trillionth|quadrillionth|quintillionth|half))|two\-(thirds)</token> </pattern> <disambig postag="RB"/> </rule> <rulegroup name="face to face" id="FACE_TO_FACE"> <rule> <pattern> <marker> <token>face</token> </marker> <token>to</token> <token>face</token> </pattern> <disambig postag="NN:UN"/> </rule> <rule> <pattern> <token>face</token> <token>to</token> <marker> <token>face</token> </marker> </pattern> <disambig postag="NN:UN"/> </rule> </rulegroup> <rulegroup name="arm in arm" id="ARM_IN_ARM"> <rule> <pattern> <marker> <token>arm</token> </marker> <token>in</token> <token>arm</token> </pattern> <disambig postag="NN:UN"/> </rule> <rule> <pattern> <token>arm</token> <token>in</token> <marker> <token>arm</token> </marker> </pattern> <disambig postag="NN:UN"/> </rule> </rulegroup> <rule name="old hat" id="OLD_HAT"> <pattern> <token>old</token> <marker> <token>hat</token> </marker> </pattern> <disambig postag="NN:UN"/> </rule> <rulegroup name="Figure|Table|Appendix 1 -> NNP" id="figure_1_NNP"> <rule> <antipattern><!-- #2328 if I could figure a --> <token postag="MD"/> <token chunk="I-VP" regexp="yes">figure|table|chapter|part|section|picture|row</token> <token regexp="yes">\d+|[A-Z]</token> </antipattern> <antipattern><!-- #2328 like to figure a --> <token postag_regexp="yes" postag="VB.*"> <exception inflected="yes">refer</exception> </token> <token>to</token> <token chunk="I-VP" regexp="yes">figure|table|chapter|part|section|picture|row</token> <token regexp="yes">\d+|[A-Z]</token> </antipattern> <antipattern><!-- #2328 I picture 3 beautiful --> <token> <exception regexp="yes">[\(\[]</exception> </token> <token chunk="B-VP" regexp="yes">figure|table|chapter|part|section|picture|row</token> <token regexp="yes">\d+|[A-Z]</token> </antipattern> <pattern> <marker> <token regexp="yes">figure|table|appendix|chapter|part|section|picture|lemma|column|row|fraction</token> </marker> <token regexp="yes">\d+([\.\-]\d+)*|[A-Z]</token> </pattern> <disambig postag="NNP"/> <example type="untouched">It would be nice if I could figure a way.</example> <example type="untouched">I would like to figure A way (yes, that's A way; any way is sufficient).</example> <example type="untouched">I picture 3 beautiful trees with golden leaves.</example> <example type="untouched">Carefully part 30 sheets (approximately) from the stack.</example> <example type="ambiguous" inputform="figure[figure/NN,figure/VB,figure/VBP]" outputform="figure[figure/NNP]">Refer to <marker>figure</marker> A for more information.</example><!-- figure/I-VP, a/E-NP-singular. --> <example type="ambiguous" inputform="figure[figure/NN,figure/VB,figure/VBP]" outputform="figure[figure/NNP]">Refer to <marker>figure</marker> a for more information.</example> <example type="ambiguous" inputform="section[section/NN,section/VB,section/VBP]" outputform="section[section/NNP]">... as shown in <marker>section</marker> 33, part 2.</example><!-- 33/I-NP-singular] --> <example type="ambiguous" inputform="TABLE[table/NN,table/VB,table/VBP]" outputform="TABLE[table/NNP]">... and if you look to <marker>TABLE</marker> A.3 you can get more information.</example> <example type="ambiguous" inputform="figure[figure/NN,figure/VB,figure/VBP]" outputform="figure[figure/NNP]">... as necessary (<marker>figure</marker> a).</example> </rule> <rule> <pattern> <marker> <token regexp="yes">fig|chap</token> </marker> <token>.</token> <token regexp="yes">[\d+\p{Lu}]</token> </pattern> <disambig postag="NNP"/> <example type="untouched">This is Figure 1.</example> <example type="ambiguous" inputform="Fig[fig/NN]" outputform="Fig[fig/NNP]">This is <marker>Fig</marker>. 1.</example> </rule> </rulegroup> <rule name="worth + VBG/NN -> VBG" id="WORTH_VBG_NN"> <pattern> <token>worth</token> <marker> <and> <token postag="NN"/> <token postag="VBG"/> </and> </marker> </pattern> <disambig postag="VBG"/> </rule> <rule name="NO/DT/NN/NNP + NN|JJ -> NO/DT" id="IN_NO_DT"> <pattern> <marker> <token>no</token> </marker> <token postag_regexp="yes" postag="NN.*|JJ.*"/> </pattern> <disambig postag="DT"/> </rule> <rule name="PRP + VBZ/NNS -> VBZ" id="PRP_VBZ"> <antipattern><!-- Incorrect grammar: ... has more than one windows. --> <token inflected="yes">have</token> <token regexp="yes">more|less</token> <token>than</token> <token>one</token> <token postag_regexp="yes" postag="NN.*"/> <token postag="SENT_END"/> </antipattern> <antipattern> <token>t</token> <token>he</token> </antipattern> <antipattern><!-- Incorrect grammar: more than one tests is --> <token regexp="yes">more|less</token> <token>than</token> <token>one</token> <token postag_regexp="yes" postag="NN.*" inflected="yes" regexp="yes">fly|test</token><!-- Semantics seems to be important. To prevent errors, specify the words that cannot be verbs. Compare with the 'dreams' example. --> <token inflected="yes" regexp="yes">be|become</token> </antipattern> <antipattern><!-- #3515 there is one dogs --> <token>there</token> <token inflected="yes">be</token> <token>one</token> <token postag_regexp="yes" postag="NNS"/> </antipattern> <antipattern><!-- #3898 IT budgets --> <token chunk="I-NP-plural" case_sensitive="yes">IT</token> <token chunk="E-NP-plural" postag_regexp="yes" postag="NNS"/> </antipattern> <antipattern><!-- It has it advantages (grammar error) --> <token inflected="yes">have</token> <token>it</token> <token postag="NNS" /> </antipattern> <pattern> <token regexp="yes" postag="PRP|WP" postag_regexp="yes">it|he|she|(some)?one|nobody|who</token> <marker> <and> <token postag="VBZ"/> <token postag_regexp="yes" postag="NN.*"/> </and> </marker> </pattern> <disambig postag="VBZ"/> <example type="untouched">He was determined to be someone.</example> <example type="untouched">Incorrect grammar. The front panel has more than one <marker>windows</marker>.</example> <example type="untouched">Incorrect grammar. More than one <marker>tests</marker> is necessary.</example> <example type="untouched">Incorrect grammar. When you are fishing, more than one <marker>flies</marker> is necessary, I think.</example> <example type="untouched">There is one dogs.</example><!-- #3515 --> <example type="untouched">With many IT budgets being frozen or reduced...</example><!-- #3898 --> <example type="untouched">There were several IT teams (your local IT Support as well as...</example><!-- #3898 --> <example type="ambiguous" inputform="trusts[trust/NNS,trust/VBZ]" outputform="trusts[trust/VBZ]">No one <marker>trusts</marker> him any more.</example> <example type="ambiguous" inputform="dreams[dream/NNS,dream/VBZ]" outputform="dreams[dream/VBZ]">It has more options than one <marker>dreams</marker> is necessary.</example><!-- dreams/E-NP-plural thus cannot use the chunker. --> <example type="ambiguous" inputform="samples[sample/NNS,sample/VBZ]" outputform="samples[sample/VBZ]">... and more than one <marker>samples</marker> the data. The results of the analyses are then compared...</example> <example type="ambiguous" inputform="flies[fly/NNS,fly/VBZ]" outputform="flies[fly/VBZ]">I made many model aircraft, and more than one <marker>flies</marker>!</example> </rule> <rule name="PRP + MD/NN -> MD" id="PRP_MD"> <antipattern><!-- #3264 we can based on --> <token regexp="yes">&subject_pronouns;</token> <token postag="MD"/> <token>based</token> <token>on</token> </antipattern> <pattern> <token postag="PRP"><exception postag="PRP$"/></token> <marker> <and> <token postag="MD"> <exception>need</exception><!-- Not always MD: www.collinsdictionary.com/dictionary/english/need --> </token> <token postag_regexp="yes" postag="NN.*"/> </and> </marker> </pattern> <disambig postag="MD"/> <example type="untouched">We need paid family and sick leave.</example> <example type="untouched">... and her will featured regularly in the lawyers' debates.</example> <example type="untouched">We are making the most economical decisions we can based on the bids available.</example><!-- #3264 --> <example type="ambiguous" inputform="might[might/MD,might/NN:U]" outputform="might[might/MD]">... and we <marker>might</marker> do this soon.</example> </rule> <rule name="PDT/DT -> DT" id="PDT_DT"> <pattern> <marker> <and> <token postag="PDT"><exception scope="previous" postag_regexp="yes" postag="JJ|DT"/></token> <token postag="DT"/> </and> </marker> <token><exception postag_regexp="yes" postag="DT|PRP\$"/></token> </pattern> <disambig postag="DT"/> <example type="ambiguous" inputform="All[all/DT,all/JJ,all/PDT,all/PRP]" outputform="All[all/DT]"><marker>All</marker> students are happy.</example> <example type="untouched">All the people.</example> <example type="untouched">Incorrect grammar. …and put <marker>the all</marker> effort on the other tasks.</example> </rule> <rule name="PDT/DT -> PDT" id="PDT_PDT"> <antipattern> <token>this</token> <token postag="PRP\$" postag_regexp="yes" /> </antipattern> <pattern> <marker> <and> <token postag="PDT"/> <token postag="DT"/> </and> </marker> <token postag_regexp="yes" postag="DT|PRP\$"/> </pattern> <disambig postag="PDT"/> <example type="ambiguous" inputform="All[all/DT,all/JJ,all/NN:U,all/PDT,all/PRP]" outputform="All[all/PDT]"><marker>All</marker> the people are happy.</example> <example type="untouched">All students are happy.</example> </rule> <rule name="WDT/WP ->WDT" id="WP_WDT"> <pattern> <marker> <and> <token postag="WP"/> <token postag="WDT"><exception>that</exception></token> </and> </marker> <token postag_regexp="yes" postag="NN(:UN)?"/> </pattern> <disambig postag="WDT"/> <example type="ambiguous" inputform="What[what/UH,what/WDT,what/WP]" outputform="What[what/WDT]"><marker>What</marker> kind of bread is this?</example> <example type="untouched">What are you doing?</example> </rule> <rule name="WDT/WP ->WP" id="WDT_WP"> <pattern> <marker> <and> <token postag="WP"/> <token postag="WDT"><exception>that</exception></token> </and> </marker> <token><exception postag_regexp="yes" postag="NN(:UN)?"/></token> </pattern> <disambig postag="WP"/> <example type="ambiguous" inputform="What[what/UH,what/WDT,what/WP]" outputform="What[what/WP]"><marker>What</marker> are you doing?</example> <example type="untouched">What kind of bread is this?</example> </rule> <rule name="That + NN ->DT" id="DT_WP_WDT_DT"> <pattern> <marker> <and> <token postag="WP"/> <token postag="WDT">that</token> </and> </marker> <token min="0" postag="JJ"/> <token postag_regexp="yes" postag="NN(:UN)?"/> </pattern> <disambig postag="DT"/> <example type="ambiguous" inputform="That[that/DT,that/RP,that/WDT,that/WP]" outputform="That[that/DT]"><marker>That</marker> kind of bread is stale.</example> <example type="untouched">What are you doing?</example> </rule> <rulegroup name="Quotation marks" id="QUOT"> <rule> <pattern> <token postag="SENT_START"/> <marker> <token>"</token> </marker> </pattern> <disambig postag="``"/> <example type="untouched">Example 'a'</example> <example type="untouched">Example "a</example> <example type="ambiguous" inputform=""["/'',"/``]" outputform=""["/``]"><marker>"</marker>A test.</example> </rule> <rule> <pattern> <token><exception regexp="yes">\p{Ps}|\/</exception></token> <marker> <and> <token postag="``" spacebefore="no">"</token> <token postag="''" spacebefore="no">"</token> </and> </marker> </pattern> <disambig postag="''"/> <example type="untouched">Example 'a'</example> <example type="untouched">Example "a</example> <example type="untouched">Example ("a</example> <example type="ambiguous" inputform=""["/'',"/``]" outputform=""["/'']">A "test<marker>"</marker>.</example> </rule> <rule> <pattern> <marker> <and> <token postag="''" spacebefore="yes">"</token> <token postag="``" spacebefore="yes">"</token> </and> </marker> </pattern> <disambig postag="``"/> <example type="untouched">Example 'a'</example> <example type="untouched">Example a"</example> <example type="ambiguous" inputform=""["/'',"/``]" outputform=""["/``]">A <marker>"</marker>test".</example> </rule> <rule> <pattern> <token regexp="yes">\p{Ps}|\/</token> <marker> <and> <token postag="``" spacebefore="no">"</token> <token postag="''" spacebefore="no">"</token> </and> </marker> </pattern> <disambig postag="``"/> <example type="untouched">Example 'a'</example> <example type="untouched">Example "a</example> <example type="untouched">Example a"</example> <example type="ambiguous" inputform=""["/'',"/``]" outputform=""["/``]">A (<marker>"</marker>test".</example> </rule> </rulegroup> <rulegroup name="possessive ending/verb" id="POS_ADD"> <antipattern> <!-- somebody else's hypothesis --> <token regexp="yes">else|\d+</token> <token>'s</token> <token postag="NN.*" postag_regexp="yes"/> </antipattern> <antipattern> <!-- quotation marks --> <token>'</token> <token spacebefore="no" regexp="yes" skip="8">.+</token> <token spacebefore="no">'</token> </antipattern> <antipattern> <!-- quotation marks --> <token>‘</token> <token spacebefore="no" regexp="yes" skip="8">.+</token> <token spacebefore="no">’</token> </antipattern> <rule><!-- probably verb "is": now add to some --> <antipattern> <token regexp="yes">there|that</token> <token spacebefore="no">'s</token> <token>got</token> </antipattern> <antipattern><!-- It's can not be. --> <token>it</token> <token spacebefore="no">'s</token> <token postag="MD"/> <token>not</token> <token>be</token> </antipattern> <antipattern><!-- the S's was --> <token postag_regexp="yes" postag="DT|PRP\$"/> <token regexp="yes">[a-z]</token> <token spacebefore="no">'s</token> <token> <exception postag="RB"/> </token> </antipattern> <antipattern><!-- Standard & Poor's --> <token>Standard</token> <token regexp="yes">&|and</token> <token>Poor</token> <token spacebefore="no">'s</token> </antipattern> <antipattern><!-- where another's begins. --> <token postag="WRB"/> <token chunk="E-NP-singular">another</token> <token spacebefore="no">'s</token> <token postag_regexp="yes" postag="VB[ZD]"/> </antipattern> <antipattern><!-- #3223 A's are good --> <token regexp="yes">\p{L}</token> <token spacebefore="no">'s</token> <token chunk="B-VP" postag_regexp="yes" postag="VB[PD]?"/> </antipattern> <antipattern><!-- #3223 Which a's have many interesting properties? / A's always please me. --> <token regexp="yes">\p{L}</token> <token spacebefore="no">'s</token> <token chunk="I-VP" postag_regexp="yes" postag="VB[PD]?|RB"/> </antipattern> <antipattern><!-- #4048 Reliant's legal dept. [Unknown proper noun] --> <token postag="JJ" regexp="yes">\p{Lu}\p{L}+</token> <token spacebefore="no">'s</token> <token chunk="I-NP-singular" postag_regexp="yes" postag="JJR?|NN(:UN?)?"/> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> </antipattern> <antipattern> <token inflected="yes">be</token> <token regexp="yes">an?|the</token> <token></token> <token>'s</token> </antipattern> <antipattern case_sensitive="yes"><!-- #4567 The AN's official newspaper was --> <token postag="DT" regexp="yes">\p{Lu}?\p{Ll}+</token> <token chunk="E-NP-singular">AN</token> <token>'s</token> <token chunk="B-NP-singular" regexp="yes">\p{Ll}+</token> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> <token chunk="B-VP" postag_regexp="yes" postag="VB[ZD]"/> </antipattern> <antipattern><!-- #4567 a's and b's --> <token>a</token> <token>'s</token> <token postag_regexp="yes" postag="CC|IN"/> <token regexp="yes">\p{L}</token> <token>'s</token> </antipattern> <antipattern> <token case_sensitive="yes" regexp="yes">[A-Z]</token> <token spacebefore="no">'s</token> <token postag="JJS" /> <token postag="NN.*" postag_regexp="yes" /> </antipattern> <pattern> <token> <exception postag_regexp="yes" postag="NN.*|VBP|CD|UNKNOWN|\."/> </token> <marker> <token spacebefore="no">'s</token> </marker> <token><exception postag="SENT_END"/><exception regexp="yes">[,:;]</exception></token> </pattern> <disambig action="replace"><wd lemma="be" pos="VBZ"/></disambig> <example type="untouched">This is Bill's house.</example> <example type="untouched">Let's go!</example> <example type="untouched">Let's see!</example> <example type="untouched">This is a Type A's worst nightmare.</example> <example type="untouched">There's got to be another way.</example> <example type="untouched">That's got to be a good sign.</example> <example type="untouched">Incorrect grammar. It's can not be.</example> <example type="untouched">... written "freind" and one of the S's was the wrong way round.</example> <example type="untouched">Also, all the b's were mixed up.</example> <example type="untouched">All your X's on you letter tell me you love me.</example> <example type="untouched">Moody's and Standard & Poor'<marker>s</marker> have stable outlooks on the country's sovereign rating.</example> <example type="untouched">One person's freedom ends where another's begins.</example> <example type="untouched">A's are good.</example><!-- #3223 --> <example type="untouched">Which a's have many interesting properties?</example><!-- #3223 --> <example type="untouched">A's always please me.</example><!-- #3223 --> <example type="untouched">... had been sent to Reliant's legal dept.</example><!-- #4048 --> <example type="untouched">The AN's official newspaper was Secolo d'Italia.</example><!-- #4567 --> <example type="untouched">... containing an unequal number of a's and b's: This is...</example><!-- #4567 --> <example type="untouched">... all strings with the same number of a's as b's, the nonterminal U generates all...</example><!-- #4567 --> <example type="untouched">... generates all strings with more a's than b's and the nonterminal V generate...</example><!-- #4567 --> <example type="untouched">So far, the main damage has been to Bush's image.</example><!-- #4572 --> <example type="untouched">Have you ever been to Chuck's Diner for brunch?</example><!-- #4572 --> <example type="untouched">I have been to Wade's WIN site free for a week.</example><!-- #4572 --> <example type="untouched">Here's your tracking.</example> <example type="ambiguous" inputform="'s['s/POS,be/VBZ]" outputform="'s[be/VBZ]">There<marker>'s</marker> no milk in the fridge.</example> <example type="ambiguous" inputform="'s['s/POS,be/VBZ]" outputform="'s[be/VBZ]">One person closed the door and another<marker>'s</marker> opened it again.</example> <example type="ambiguous" inputform="'s['s/POS,be/VBZ]" outputform="'s[be/VBZ]">One opportunity closed, but another<marker>'s</marker> opened.</example> <example type="ambiguous" inputform="'s['s/POS,be/VBZ]" outputform="'s[be/VBZ]">Where<marker>'s</marker> Bill?</example> <example type="ambiguous" inputform="'s['s/POS,be/VBZ]" outputform="'s[be/VBZ]">Not good style: If the S<marker>'s</marker> not the correct colour, the advert won't look good.</example> </rule> <!-- remove POS where it doesn't occur after the noun--> <rule name="Remove possessive ending" id="POS_REMOVE"> <!-- probably verb "is":remove --> <antipattern><!-- the S's was --> <token postag_regexp="yes" postag="DT|PRP\$"/> <token regexp="yes">[a-z]</token> <token spacebefore="no">'s</token> <token> <exception postag="RB"/> </token> </antipattern> <antipattern><!-- Standard & Poor's --> <token>Standard</token> <token regexp="yes">&|and</token> <token>Poor</token> <token spacebefore="no">'s</token> </antipattern> <antipattern><!-- #3078 the ball-park's owner --> <token postag_regexp="yes" postag="DT|PRP\$"/> <token postag="JJ"/><!-- 'ball-park' is not a noun. Not correct English, but the s that follows is possessive, not a verb --> <token spacebefore="no">'s</token> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> </antipattern> <antipattern><!-- #3078 your dirty's tests --> <token postag_regexp="yes" postag="DT|PRP\$"/> <token postag="JJ"/><!-- Not correct English, but the s that follows is possessive, not a verb --> <token spacebefore="no">'s</token> <token chunk="E-NP-plural" postag_regexp="yes" postag="NNS"/> </antipattern> <antipattern><!-- #4048 Reliant's legal dept. [Unknown proper noun] --> <token postag="JJ" regexp="yes">\p{Lu}\p{L}+</token> <token spacebefore="no">'s</token> <token chunk="I-NP-singular" postag_regexp="yes" postag="JJR?|NN(:UN?)?"/> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> </antipattern> <antipattern> <!-- enterprise names: Enron Corps.'s biggest division --> <token>.</token> <token>'s</token> </antipattern> <pattern> <token><exception postag_regexp="yes" postag="NN.*|PRP\$|DT|UNKNOWN|CD"/></token> <marker> <token spacebefore="no" postag="POS">'s</token> </marker> </pattern> <disambig action="remove"><wd lemma="'s" pos="POS"/></disambig> <example type="untouched">This is Bill's house.</example> <example type="untouched">This is your's.</example> <example type="untouched">... written "freind" and one of the S's was the wrong way round.</example> <example type="untouched">Moody's and Standard & Poor'<marker>s</marker> have stable outlooks on the country's sovereign rating.</example> <example type="untouched">... you pay a concession fee to the ball-park's owner.</example><!-- #3078 --> <example type="untouched">The dirty's test is correct.</example><!-- #3078 --> <example type="untouched">Are your dirty's tests ready for approval?</example><!-- #3078 --> <example type="untouched">... had been sent to Reliant's legal dept.</example><!-- #4048 --> </rule> <rule name="s = POS with NNS + are/were"> <pattern> <token postag="NN:UN?" postag_regexp="yes"/> <token spacebefore="no">'s</token> <marker> <and> <token postag="JJ"/> <token postag="VBN"/> </and> </marker> <token postag="NNS"/> <token regexp="yes">are|were</token> </pattern> <disambig postag="JJ"/> </rule> <rule name="s = POS with NN + is/was"> <pattern> <token postag="NN:UN?" postag_regexp="yes"/> <token spacebefore="no">'s</token> <marker> <and> <token postag="JJ"/> <token postag="VBN"/> </and> </marker> <token postag="NNP?|NN:.*" postag_regexp="yes"/> <token regexp="yes">is|was</token> </pattern> <disambig postag="JJ"/> </rule> <rule name="s = has"> <antipattern> <!--tomorrow's calloused hands--> <token>'s</token> <token chunk="I-NP-plural"/> </antipattern> <antipattern> <!--the Welsh coal industry's Gilded Age--> <token>'s</token> <token chunk="I-NP-singular"/> </antipattern> <antipattern> <!-- People's United Party --> <token>people</token> <token>'s</token> </antipattern> <pattern> <token postag="NN:UN?" postag_regexp="yes"/> <marker> <token spacebefore="no">'s</token> </marker> <token postag="VBN"/> </pattern> <disambig action="replace"><wd lemma="have" pos="VBZ"/></disambig> </rule> <rule name="s = has"> <pattern> <token postag="PRP$"/> <token postag="NN"/> <marker> <token spacebefore="no">'s</token> </marker> <token postag="VBN"/> </pattern> <disambig action="replace"><wd lemma="have" pos="VBZ"/></disambig> </rule> <rule> <!-- add to Bill's --> <antipattern><!-- #2845 Other CFD's charge a higher fee. --> <token postag_regexp="yes" postag="JJR?"/> <token chunk="E-NP-singular"/> <token>'s</token> <token chunk="E-NP-singular" postag="VB"/> <token postag_regexp="yes" postag="DT|PRP\$"/> </antipattern> <antipattern> <!-- everyone's happy --> <token postag_regexp="yes" postag="WP|PRP"/> <token spacebefore="no">'s</token> <token postag="JJ"><exception>own</exception></token> </antipattern> <antipattern> <!-- #4542 my hair's messed up [hair is] / you mother's brought [mother has] --> <token postag="PRP$"/> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token spacebefore="no">'s</token> <token postag="VBN"/> </antipattern> <antipattern> <!-- #4542 John's had to --> <token postag_regexp="yes" postag="NN(P|:UN?)?"/> <token spacebefore="no">'s</token> <token>had</token> <token>to</token> </antipattern> <antipattern> <!-- #4542 engineer's broken the --> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> <token spacebefore="no">'s</token> <token postag="VBN"/> <token postag="DT"/> </antipattern> <antipattern> <!-- #4542 computer's broken is --> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> <token spacebefore="no">'s</token> <token postag="VBN"/> <token regexp="yes">is|was|are|were</token> </antipattern> <antipattern> <!-- #4542 Incorrect grammar: consists of one's designated as --> <token chunk_re="[BIE]-VP" postag_regexp="yes" postag="VB.*"/> <token>of</token> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> <token spacebefore="no">'s</token> <token postag="VBN"/> <token postag="IN"/> </antipattern> <antipattern> <!-- #4542 Incorrect grammar: Oneok's attorney's approve --> <token chunk="E-NP-singular" postag="NNP"/> <token spacebefore="no">'s</token> <token chunk_re="[IE]-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> <token spacebefore="no">'s</token> <token chunk="B-VP" postag_regexp="yes" postag="VB[PD]"/> </antipattern> <pattern> <token postag_regexp="yes" postag="NN.*"> <exception regexp="yes" case_sensitive="yes">Here|WHO</exception> <exception>why</exception> </token> <marker> <token spacebefore="no">'s<exception inflected="yes">have</exception></token> </marker> <token> <exception postag="IN"/><!-- Not: Bill's unusually large and expensive house. --> </token> </pattern> <disambig action="replace"><wd lemma="'s" pos="POS"/></disambig> <example type="ambiguous" inputform="'s['s/POS,be/VBZ]" outputform="'s['s/POS]">This is Bill<marker>'s</marker> house.</example> <example type="ambiguous" inputform="'s['s/POS,be/VBZ]" outputform="'s['s/POS]">This is Bill<marker>'s</marker> unusually large and expensive house.</example> <example type="ambiguous" inputform="'s['s/POS,be/VBZ]" outputform="'s['s/POS]">It is dominated by the center-left People<marker>'s</marker> United Party.</example> <example type="ambiguous" inputform="'s['s/POS,be/VBZ]" outputform="'s['s/POS]">Anyone on a Major League team<marker>'s</marker> forty man roster.</example> <example type="ambiguous" inputform="'s['s/POS,be/VBZ]" outputform="'s['s/POS]">This sequence consists of one<marker>'s</marker> designated code followed by the daily one-time code.</example> <example type="untouched">Let's go!</example> <example type="untouched">Other CFD's charge a higher fee.</example><!-- #2845 --> <example type="untouched">Although larger company's charge a higher fee, we...</example><!-- #2845 --> <example type="untouched">I'm sure her car's in the garage.</example><!-- #4542 --> <example type="untouched">My hair's messed up this morning.</example><!-- #4542 --> <example type="untouched">Your mother's brought each of you something.</example><!-- #4542 --> <example type="untouched">Why's everyone staring at you?</example> <example type="untouched">I think her car's seen better days.</example><!-- #4542 --> <example type="untouched">Because of the complexity, John's had to work carefully.</example><!-- #4542 --> <example type="untouched">Because of the deadline, the engineer's had to work overtime.</example><!-- #4542 --> <example type="untouched">Because of the deadline, the engineer's had to (unfortunately) work overtime.</example><!-- #4542 --> <example type="untouched">The useless engineer's broken the machine again!</example><!-- #4542 --> <example type="untouched">The reason I think the computer's broken is that the little red light is flashing.</example><!-- #4542 --> <example type="untouched"><!-- Incorrect grammar -->The sequence consists of one's designated as TRUE and...</example><!-- #4542 --> <example type="untouched"><!-- Incorrect grammar -->Steve will fax me a copy of the notice they received if Oneok's attorney<marker>'s</marker> approve.</example><!-- #4542 --> <!-- <example type="untouched">7 reasons why <marker>teacher's</marker> found us top class</example>#4542 This sentence is ambiguous. Possibly incorrect apostrophe, but possibly = ... why teacher [zero-article job role] has found ... --> </rule> <rule> <!-- add to Texas' or Armenians' --> <pattern> <token postag_regexp="yes" postag="NN.*" regexp="yes">.*s<exception scope="previous">'</exception></token> <marker> <token spacebefore="no" regexp="yes">&apostrophe;</token> </marker> </pattern> <disambig action="replace"><wd lemma="'" pos="POS"/></disambig> <example type="untouched">This is Bill's house.</example> <example type="untouched">This is how 'unconscious' knowledge is posited.</example> <example type="untouched">Let's go!</example> <example type="ambiguous" inputform="'[']" outputform="'['/POS]">I hate Texas<marker>'</marker> big cities!</example> </rule> <rule> <!-- Burkes' or Stevenses' : unknown proper names --> <pattern case_sensitive="yes"> <token postag="UNKNOWN|^(?!NN.*?).*" postag_regexp="yes" regexp="yes">\p{Lu}.+s|\p{Lu}+S<exception scope="previous">'</exception></token> <marker> <token spacebefore="no" regexp="yes">&apostrophe;</token> </marker> </pattern> <disambig action="replace"><wd lemma="'" pos="POS"/></disambig> <example type="untouched">This is Bill's house.</example> <example type="untouched">This is how 'unconscious' knowledge is posited.</example> <example type="untouched">Let's go!</example> <example type="ambiguous" inputform="'[']" outputform="'['/POS]">The Geraghtys<marker>'</marker> youngest daughter!</example> <example type="ambiguous" inputform="'[']" outputform="'['/POS]">Burke-rostagno the Richard S. Burkes<marker>'</marker> home in Wayne may be the setting for the wedding.</example> </rule> <rule> <!--A cappella's growth is not limited--> <pattern> <and> <token postag="POS">'s</token> <token postag="VBZ">'s</token> </and> <token chunk="E-NP-singular"/> <token regexp="yes">is|was</token> </pattern> <disambig action="filter" postag="POS"/> </rule> <rule> <!-- enterprise names: Enron Corps.'s biggest division --> <pattern> <token regexp="yes" case_sensitive="yes">[A-Z].*</token> <token>.</token> <marker> <token spacebefore="no" postag="POS">'s</token> </marker> <token postag="N.*" postag_regexp="yes"/> </pattern> <disambig action="filter" postag="POS"/> </rule> <rule> <pattern> <token inflected="yes">be</token> <token regexp="yes">an?|the</token> <token/> <marker> <token spacebefore="no" postag="POS">'s</token> </marker> </pattern> <disambig action="filter" postag="POS"/> </rule> </rulegroup> <rule id="BE_VBGNN_VBG" name="be + vbg/nn => vbg"> <!-- Moved after POS_ADD. It was before BE_BETTER. --> <antipattern><!-- #3444 are hearing aids --> <token regexp="yes">are|were</token> <token chunk="B-NP-plural" postag_regexp="yes" postag="JJ|NN(:UN?)?"/> <token chunk="E-NP-plural" postag="NNS"/> </antipattern> <antipattern><!-- #3444 www.lexico.com/definition/smelling_salts --> <token regexp="yes">they|th[eo]se</token> <token regexp="yes">are|were</token> <token>smelling</token><!-- smelling/I-VP --> <token chunk="E-NP-plural" postag="NNS">salts</token> </antipattern> <antipattern><!-- #3445 LanguageTool is pleasing to use --> <token postag_regexp="yes" postag="NN.*"/> <token regexp="yes">is|was|are|were</token> <token postag="JJ">pleasing</token> <token>to</token> <token chunk="I-VP" postag="VB"/> </antipattern> <antipattern><!-- #3445 This is pleasing to the --> <token postag_regexp="yes" postag="NN.*|DT"/> <token regexp="yes">is|was|are|were</token> <token postag="JJ">pleasing</token> <token>to</token> <token postag_regexp="yes" postag="DT|PRP"/> </antipattern> <antipattern><!-- #3445 www.ldoceonline.com/dictionary/wanting --> <token postag_regexp="yes" postag="NN.*"/> <token regexp="yes">is|was|are|were</token> <token>wanting</token> <token>in</token> </antipattern> <antipattern><!-- #3445 www.ldoceonline.com/dictionary/be-deserving-of-something --> <token inflected="yes">be</token> <token>deserving</token> <token>of</token> </antipattern> <antipattern><!-- #3539 training is training given to --> <token postag_regexp="yes" postag="NN:UN?"/> <token regexp="yes">is|was</token> <token postag="VBG"><match no="0"/></token><!-- Not really VBG --> <token postag="VBN"/> <token>to</token> </antipattern> <antipattern> <token regexp="yes">marketing|hosting|planning|coaching|training|advertising</token> <token postag="NN.*" postag_regexp="yes" chunk_re="[EI]-NP.*" /> </antipattern> <pattern> <token inflected="yes">be<exception>being</exception><exception case_sensitive="yes">AM</exception></token> <marker> <and> <token postag="VBG" regexp="yes">.+in[g']</token> <token postag="NN(:UN?)?" postag_regexp="yes"/> </and> </marker> </pattern> <disambig action="filter" postag="VBG"/> <example type="untouched">He is brave.</example> <example type="untouched">It's emaciating.</example> <example type="untouched">I am marketing manager at Google.</example> <example type="untouched">AM broadcasting (radio broadcasting using amplitude modulation)...</example> <example type="untouched">These are hearing aids.</example><!-- #3444 --> <example type="untouched">They are smelling salts, don't you know?</example><!-- #3444 --> <example type="untouched">LanguageTool is pleasing to use.</example><!-- #3445 --> <example type="untouched">Books are pleasing to read.</example><!-- #3445 --> <example type="untouched">Mandibles are wanting in many of these insects.</example><!-- #3445 --> <example type="untouched">The text is wanting in many of these aspects.</example><!-- #3445 --> <example type="untouched">The Fields of Punishment were for people that had sinned often, but not so much as to be deserving of Tartarus.</example><!-- #3445 --> <example type="untouched">This is pleasing to the gods.</example><!-- #3445 --> <example type="untouched">The book is pleasing to me.</example><!-- #3445 --> <example type="untouched">Your books are pleasing to all of us.</example><!-- #3445 --> <example type="untouched">Military training is training given to soldiers.</example><!-- #3539 --> <example type="ambiguous" inputform="going[go/VBG,going/NN:UN]" outputform="going[go/VBG]">It's <marker>going</marker> to be a killer feature!</example> <!--<example type="ambiguous" inputform="smelling[smell/VBG,smelling/JJ,smelling/NN:UN]" outputform="smelling[smell/VBG]">The perfumery technicians are <marker>smelling</marker> salts.</example>--> <example type="ambiguous" inputform="expecting[expect/VBG,expecting/JJ,expecting/NN:UN]" outputform="expecting[expect/VBG]">... much data which Mike is <marker>expecting</marker> to use.</example> <example type="ambiguous" inputform="pleasing[please/VBG,pleasing/JJ,pleasing/NN:UN]" outputform="pleasing[please/VBG]">That woman is <marker>pleasing</marker> herself without consideration for others.</example> </rule> <rule id="LIKE_IN" name="like as preposition"> <pattern> <token inflected="yes">be</token> <marker> <token>like</token> </marker> <token postag="JJ.*|NN.*|DT|PRP" postag_regexp="yes"/> </pattern> <disambig postag="IN"/> <example type="untouched">Would you like a drink?</example> <example type="ambiguous" inputform="like[like/IN,like/JJ,like/NN,like/VB,like/VBP]" outputform="like[like/IN]">It's <marker>like</marker> a dream.</example> </rule> <!--<rule name="Goin'" id="VBG_IN"> <antipattern> <token spacebefore="no" regexp="yes">['’]</token> <token spacebefore="no">t</token> </antipattern> <antipattern> <token regexp="yes">['‘"“]</token> <token regexp="yes">[a-z]+in</token> <token regexp="yes">['’"”]</token> </antipattern> <antipattern><!-\- laughin' woman -\-> <token regexp="yes">[a-z]+in</token> <token regexp="yes">['’]</token> <token chunk="E-NP-singular"/> </antipattern> <antipattern><!-\- smilin' people -\-> <token regexp="yes">[a-z]+in</token> <token regexp="yes">['’]</token> <token chunk="E-NP-plural"/> </antipattern> <pattern> <marker> <token regexp="yes" postag="UNKNOWN"> [a-z]+in <exception regexp="yes">nothin|darlin|anythin|somethin</exception> </token> </marker> <token spacebefore="no" regexp="yes">['’]</token><!-\- Not &apostrophe; because only text with a correct apostrophe must be tagged. -\-> <token> <exception>s</exception><!-\- #2680 -\-> </token> </pattern><!-\- Cannot use filter NoDisambiguationEnglishPartialPosTagFilter because not all text before 'in' is the base form of the verb, for example 'Puttin'. -\-> <disambig postag="VBG"/> <example type="untouched">I'm in N.Y.</example> <example type="untouched">I am using ‘newrelic-admin’.</example><!-\- #2311 -\-> <example type="untouched">The 'atlas-create-jira-plugin`</example> <example type="untouched">Adding 'Access-Control-Allow-Origin’: ‘*’ to the request header isn’t working for me</example> <example type="untouched">Anderson’s effective batting away of McCain’s right-wing talking points.</example> <example type="untouched">Domain’s</example> <example type="untouched">www.northeastexplorers.in`</example> <example type="untouched">Didin’t had that much</example> <example type="untouched">case 'darwin':</example> <example type="untouched">'mountain'</example> <example type="untouched">I am hopin` that this test works.</example> <example type="untouched">Adjective: That laughin' woman is my boss.</example> <example type="untouched">Adjective: ... and smilin' people are not always truly happy.</example> <example type="untouched">He wanted to help organistaoin’s become more efficient.</example><!-\- #2680 -\-> <example type="ambiguous" inputform="goin[goin]" outputform="goin[goin/VBG]">I'm <marker>goin</marker>’ to fix this rule.</example> <example type="ambiguous" inputform="TESTIN[TESTIN]" outputform="TESTIN[TESTIN/VBG]">WE ARE <marker>TESTIN</marker>' THE SOFTWARE.</example> <example type="ambiguous" inputform="Puttin[Puttin]" outputform="Puttin[Puttin/VBG]"><marker>Puttin</marker>' on the Ritz!</example> <example type="ambiguous" inputform="smilin[smilin]" outputform="smilin[smilin/VBG]">She was actually <marker>smilin</marker>’ all the way to the office.</example> </rule>--> <rulegroup name="All but" id="all_but_rb"> <rule> <pattern> <marker> <token>all</token> </marker> <token regexp="yes">but|right</token> </pattern> <disambig postag="RB"/> <example type="untouched">All the students are happy.</example> <example type="ambiguous" inputform="All[all/DT]" outputform="All[all/RB]"><marker>All</marker> but one!</example> <example type="ambiguous" inputform="All[all/DT]" outputform="All[all/RB]"><marker>All</marker> right!</example> </rule> <rule> <pattern> <token>all</token> <marker> <token>but</token> </marker> </pattern> <disambig postag="RB"/> <example type="untouched">All the students are happy.</example> <example type="ambiguous" inputform="but[but/CC]" outputform="but[but/RB]">All <marker>but</marker> one!</example> </rule> </rulegroup> <rule name="the + adverb/noun + the -> noun" id="THE_RBNN_THE"> <pattern> <token>the</token> <marker> <and> <token postag="RB"/> <token postag_regexp="yes" postag="NN.*"/> </and> </marker> <token>the</token> </pattern> <disambig action="remove"><wd pos="RB"/></disambig> <example type="untouched">The really the interesting thing is this.</example> <example type="ambiguous" inputform="meanwhile[meanwhile/JJ,meanwhile/NN:U,meanwhile/RB]" outputform="meanwhile[meanwhile/JJ,meanwhile/NN:U]">In the <marker>meanwhile</marker> the whole situation changed.</example> </rule> <rule id="PRP_VBNNN_VBN" name="pronoun + vbn/nn->vbn"> <antipattern> <token>one</token> <token>thought</token> <token regexp="yes">that|which|s?he|I|we</token> </antipattern> <pattern> <token postag="PRP"><exception regexp="yes">me|her|its|him|us|them</exception><exception regexp="yes" scope="previous">have|ha[sd]</exception></token> <marker> <and> <token postag="NN.*" postag_regexp="yes"><exception negate_pos="yes" postag_regexp="yes" postag="VB[ND]|NN.*"/></token> <token postag='VBD'/> </and> </marker> </pattern> <disambig postag="VBD"/> <example type="untouched">Pigs know that.</example> <example type="untouched">Have you thought of any good plans?</example> </rule> <rule id="PRP_VBP_AND_VBP" name="verb/noun and verb/noun -> verb and verb"> <pattern> <token regexp="yes">I|you|we|they</token> <marker> <token chunk="B-VP" postag="VBP"/> <token chunk="I-VP" postag="CC" regexp="yes">and|or</token> <token chunk="I-VP" postag="VBP"/> </marker> </pattern> <disambig action="filterall"/> <example type="ambiguous" inputform="tat[tat/NN:U,tat/VB,tat/VBP]" outputform="tat[tat/VBP]">I crochet and <marker>tat</marker> left-handed.</example> </rule> <rule id="PRP_VB_VBP" name="vb->vbp"> <antipattern><!-- Can you explain why? --> <token postag="MD" /> <token postag="PRP" /> <token postag="VB" /> </antipattern> <antipattern><!-- Can't you explain why? --> <token postag="MD" /> <token regexp="yes">&apostrophe;</token> <token>t</token> <token postag="PRP" /> <token postag="VB" /> </antipattern> <antipattern><!-- Do you know why? --> <token regexp="yes">do|does|did</token> <token postag="PRP" /> <token postag="VB" /> </antipattern> <antipattern><!-- Don't you know why? --> <token regexp="yes" inflected="yes">do</token> <token regexp="yes">&apostrophe;</token> <token>t</token> <token postag="PRP" /> <token postag="VB" /> </antipattern> <pattern> <token postag="PRP"><exception regexp="yes">me|her|its|him|us|them</exception></token> <marker> <and> <token postag="VB"><exception negate_pos="yes" postag_regexp="yes" postag="VBP?"/></token> <token postag='VBP'/> </and> </marker> </pattern> <disambig postag="VBP"/> <example type="untouched">Pigs know that.</example> <example type="untouched">Can you explain why?</example> <example type="untouched">Do you know why?</example> <example type="ambiguous" inputform="know[know/VB,know/VBP]" outputform="know[know/VBP]">We <marker>know</marker> that.</example> </rule> <rule id="PRP_NN_VBP" name="vb->vbp"> <antipattern><!-- #2919 allows them room --> <token chunk="B-VP" postag_regexp="yes" postag="VB.*"/> <token regexp="yes">&object_pronouns;</token> <token postag="NN:UN"/> </antipattern> <antipattern> <token>thee</token> <token postag="NN.*" postag_regexp="yes" /> </antipattern> <antipattern><!--She is thee mother --> <token>thee</token> <token postag="JJ.*" postag_regexp="yes" /> <token postag="NN.*" postag_regexp="yes" /> </antipattern> <antipattern><!-- #3900 IT lead for / It floor to --> <token postag="SENT_START"/> <token>It</token> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token postag="IN"/> </antipattern> <antipattern><!-- You can give me doctor's number --> <token chunk_re=".-VP" /> <token regexp="yes">me|it|them|us|you|her|him</token> <token postag="NN:UN" postag_regexp="yes" chunk_re=".-NP.*" /> </antipattern> <antipattern> <token postag="CC|W.*|SENT_START|PCT" postag_regexp="yes" /> <token inflected="yes">be</token> <token postag="PRP" /> <token postag="NN:UN" postag_regexp="yes" /> <token postag="RB" min="0" /> <token postag="VB[GN]" postag_regexp="yes" /> </antipattern> <antipattern><!-- https://en.wikipedia.org/wiki/Comfort_food --> <token>comfort</token> <token>food</token> </antipattern> <antipattern> <token postag="SENT_START|CC|DT|PCT" postag_regexp="yes" /> <token postag="MD" /> <token inflected="yes">not</token> <token postag="PRP" /> <token postag="VB" skip="-1" /> <token>?</token> </antipattern> <antipattern> <token postag="SENT_START|CC|DT|PCT" postag_regexp="yes" /> <token inflected="yes">do</token> <token inflected="yes">not</token> <token postag="PRP" /> <token postag="VB" skip="-1" /> <token>?</token> </antipattern> <antipattern> <token inflected="yes" regexp="yes">do|will|can|should</token> <token postag="PRP" /> <token postag="VB" chunk_re=".-VP" /> </antipattern> <pattern> <token postag="PRP"> <exception postag="RB|PRP\$" postag_regexp="yes"/> <exception>one</exception> <exception scope="previous">to</exception> <exception case_sensitive="yes">US</exception><!-- United States --> </token> <marker> <and> <token postag="NN:UN"/> <token postag="VBP"><exception negate_pos="yes" postag="NN:UN|VBP?" postag_regexp="yes"/></token> </and> </marker> <token><exception postag_regexp="yes" postag="MD|VB.*"/></token> </pattern> <disambig postag="VBP" /> <example type="untouched">Pigs know that.</example> <example type="untouched">He set up several dojo.</example> <example type="untouched">Is it one <marker>flight</marker> or two?</example> <example type="untouched">Incorrect grammar. <marker>You account does</marker> not seem correct.</example> <example type="untouched">Incorrect grammar. <marker>They account must</marker> include the...</example> <example type="untouched">Incorrect grammar. If <marker>you account is</marker> a lie, you can go to prison.</example> <example type="untouched">Incorrect grammar. If <marker>you account stopped</marker> working, tell the IT department.</example> <example type="untouched">Incorrect grammar. I have added that to <marker>me list</marker>.</example> <example type="untouched">Incorrect grammar. She is thee <marker>mother</marker> of them.</example> <example type="untouched">Incorrect grammar. You can give me doctor's number.</example> <example type="untouched">Incorrect grammar. Is you question perhaps related to this one?</example> <example type="untouched">For the US company's reporting.</example> <example type="untouched">Is it comfort food for you?</example> <example type="untouched">Spacing the plants three feet apart allows them room to grow.</example><!-- #2919 --> <example type="untouched">IT lead for PIMS is David Rae.</example><!-- #3900 lead/B-VP --> <example type="untouched">IT floor to be railed between 80% and 120% of FT toll.</example><!-- #3900 --> <example type="untouched">It floor to ceiling lighting is superb.</example><!-- #3900 incorrect grammar --> <example type="ambiguous" inputform="claim[claim/NN:UN,claim/VB,claim/VBP]" outputform="claim[claim/VBP]">Yes, actually we <marker>claim</marker> that this is true.</example> <example type="ambiguous" inputform="conference[conference/NN:UN,conference/VB,conference/VBP]" outputform="conference[conference/VBP]">When you <marker>conference</marker> with the manager…</example><!-- conference/E-NP-singular --> </rule> <rule id="E_NP_NN_VBP" name="noun phrase end -> NN"> <antipattern> <!-- It sound's too good --> <token regexp="yes" case_sensitive="yes">[Ii]t|[Ss]he|[Hh]e</token> <token postag="RB" min="0" /> <token postag="VBP?" postag_regexp="yes"> <exception regexp="yes">cc|let</exception> <exception case_sensitive="yes">Max</exception> </token> <token spacebefore="no">'s</token> </antipattern> <antipattern><!-- Fix for chunker: Only count every ... --> <token postag="SENT_START"/> <token postag="RB"/> <token postag="VB"/> <token postag="DT"/> </antipattern> <antipattern><!-- Incorrect grammar: I wouldnt text you --> <token postag="UNKNOWN" regexp="yes">[a-z]+</token> <token postag="VB.*" postag_regexp="yes" /> <token postag="PRP" /> </antipattern> <antipattern> <token postag="MD" /> <token postag="RB" min="0" /> <token>time</token> <token>out</token> </antipattern> <antipattern><!-- Fix for chunker: steadily you wax ... --> <token regexp="yes">If?|you|we|they</token> <token postag_regexp="yes" postag="VBP?"/> </antipattern> <antipattern> <token>if</token> <token postag="RB"/> <token postag_regexp="yes" postag="VBP?"/> </antipattern> <antipattern><!-- #3274 but some fall in the gutter --> <token regexp="yes">many|some</token> <token postag="VBP"/> <token postag="IN"><exception>of</exception></token> </antipattern> <antipattern><!-- Fix for chunker: did he last talk ... --> <token>did</token> <token regexp="yes">I|you|we|they|he|she|it</token> <token postag="RB"/> <token postag_regexp="yes" postag="VBP?"/> </antipattern> <antipattern><!-- Fix for chunker: passive: were ground --> <token chunk="E-NP-plural"/> <token regexp="yes">are|were</token> <token postag="VBN"/> </antipattern> <antipattern><!-- that rise and fall --> <token>that</token> <token postag_regexp="yes" postag="VBP?"/> <token regexp="yes">and|or</token> <token postag_regexp="yes" postag="VBP?"/> </antipattern> <antipattern><!-- Fix for chunker. Incorrect grammar: the dog bark loudly. --> <token> <exception postag_regexp="yes" postag="VB.*"/> </token> <token postag_regexp="yes" postag="DT|PRP\$"/> <token postag_regexp="yes" postag="NN(:UN?)?|JJR?"/> <token postag="VBP"/> <token postag="RB"/> <token postag="SENT_END"/> </antipattern> <antipattern><!-- Fix for chunker. Line up by height against the wall. --> <token postag="SENT_START"/> <token postag="VB"/> <token postag="RP"/> </antipattern> <antipattern><!-- Fix for chunker. Utah and Colorado form a --> <token postag="NNP"/> <token regexp="yes">and|or</token> <token postag="NNP"/> <token postag="VB"/> <token postag="DT"/> </antipattern> <antipattern><!-- Fix for chunker. regions of chromium form a --> <token postag="NNS"/> <token regexp="yes">of</token> <token postag_regexp="yes" postag="NN.*"/> <token postag="VB"/> <token postag="DT"/> </antipattern> <antipattern><!-- Fix for chunker. in this den love me --> <token postag="DT"/> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token postag="VBP"/> <token postag="PRP"/> </antipattern> <antipattern><!-- Fix for chunker. Can't wait to --> <token postag_regexp="yes" postag="SENT_START|PRP"/> <token postag="MD"/> <token>n't</token> <token postag_regexp="yes" postag="VB|RB"/> </antipattern> <antipattern><!-- Fix for chunker. I can`t power off --> <token postag_regexp="yes" postag="SENT_START|PRP"/> <token postag="MD"/> <token regexp="yes">&apostrophe;</token> <token>t</token> <token postag_regexp="yes" postag="VB|RB"/> </antipattern> <antipattern><!-- Fix for chunker. Won't further address it --> <token postag="SENT_START"/> <token postag="MD"/> <token>n't</token> <token postag_regexp="yes" postag="JJR|RBR"/><!-- I tried this token with min/max in an attempt to use only 1 antipattern for this and for "Can't wait to", but I could not get it to work. --> <token postag_regexp="yes" postag="VB|RB"/> </antipattern> <antipattern><!-- Fix for chunker. use anymore will, --> <token postag_regexp="yes" postag="VB.*"/> <token postag="RB"/> <token postag="MD"/> <token postag="PCT"/> </antipattern> <antipattern><!-- Fix for chunker. Will this actually work...? --> <token postag="MD"/> <token>this</token> <token chunk="I-NP-singular" postag="RB"/> <token skip="-1" chunk="E-NP-singular" postag="VBP"/> <token>?</token> </antipattern> <antipattern><!-- Fix for chunker. Won't this still work...? --> <token postag="MD"/> <token>n't</token> <token>this</token> <token chunk="I-NP-singular" postag="RB"/> <token skip="-1" chunk="E-NP-singular" postag="VBP"/> <token>?</token> </antipattern> <antipattern><!-- #2326 Fix for chunker. It will NOT work here --> <token postag="MD"/> <token case_sensitive="yes" postag="RB">NOT</token><!-- The problem seems to occur only with NOT --> <token skip="-1" chunk="E-NP-singular" postag="NN:UN"> <exception scope="next">?</exception> </token> <token postag="SENT_END"/> </antipattern> <antipattern><!-- #2326 Fix for chunker. stress you WON'T need --> <token postag="MD"/> <token case_sensitive="yes">N'T</token> <token skip="-1" chunk="E-NP-singular" postag="NN:UN"> <exception scope="next">?</exception> </token> <token postag="SENT_END"/> </antipattern> <antipattern><!-- #2328 Fix for chunker. we can reference? --> <token chunk="B-VP" postag="MD"/> <token postag="NN:UN"/> <token postag="SENT_END">?</token> </antipattern> <antipattern><!-- Fix for chunker. to have to work --> <token>to</token> <token>have</token> <token>to</token> <token chunk="E-NP-singular" postag="VBP"/> </antipattern> <antipattern> <token postag="PRP|NNP" postag_regexp="yes" /> <token postag="MD" /> <token regexp="yes" min="0">&apostrophe;</token> <token postag="RB" /> <token chunk="E-NP-singular" postag="VBP"/> </antipattern> <antipattern><!-- #2403 Fix for chunker. Wire it up --> <token chunk="E-NP-singular" postag_regexp="yes" postag="VBP?"/> <token postag="PRP"/> <token postag="RP"/> </antipattern> <antipattern><!-- #2407 make the top of it black --> <token postag_regexp="yes" postag="VB.*" inflected="yes" regexp="yes">make|paint</token><!-- The safe option is to specify the verbs that cause problems. --> <token>the</token> <token postag_regexp="yes" postag="NN.*"/> <token>of</token> <token postag="PRP"/> <token chunk="E-NP-singular" postag_regexp="yes" postag="JJR?"/> </antipattern> <antipattern><!-- #2421 Fix for chunker. You're welcome --> <token postag="PRP"/> <token regexp="yes">'re|'s</token> <token chunk="E-NP-singular" postag_regexp="yes" postag="JJR?"/> </antipattern> <antipattern><!-- "He would sexual assault her" (ADJECTIVE_ADVERB) --> <token postag="NN.*|PRP" postag_regexp="yes" /> <token postag="MD" /> <token postag="JJ" /> <token postag="VBP?" postag_regexp="yes" /> </antipattern> <antipattern><!-- "He sexual assaults her" (ADJECTIVE_ADVERB) --> <token regexp="yes">s?he|it|we|they|you|I</token> <token postag="JJ" /> <token postag="VBZ" /> <token postag="IN|PRP|DT" postag_regexp="yes" /> </antipattern> <antipattern><!-- "He is sexual assaulting her" (ADJECTIVE_ADVERB) --> <token regexp="yes">s?he|it|we|they|you|I</token> <token inflected="yes">be</token> <token postag="JJ" /> <token postag="VBG" /> </antipattern> <antipattern><!-- "(call it macro b)" / "and search it" --> <token regexp="yes">[\(,\[]|and|or|&</token> <token postag="VB.*" postag_regexp="yes" /> <token regexp="yes">it|him|her|them|us|me</token> </antipattern> <antipattern><!-- #2422 He was hope to get it --> <token regexp="yes">&subject_pronouns;</token> <token min="0" max="2" postag="RB"/> <token regexp="yes">are|were|is|was</token> <token postag_regexp="yes" postag="VBP?"/> <token>to</token> <token chunk="I-VP" postag_regexp="yes" postag="VBP?"/> </antipattern> <antipattern><!-- #2422 Incorrect verb form for phrasal verb: www.macmillandictionary.com/dictionary/british/lead-into --> <token chunk="E-NP-singular"/> <token min="0" max="2" postag="RB"/> <token regexp="yes">is|was</token> <token postag_regexp="yes" postag="VBP?">lead</token> <token>into</token> <token chunk="B-NP-singular"> <exception>gold</exception> </token> </antipattern> <antipattern><!-- #2502 we cannot access" --> <token>cannot</token><!-- Seems to occur only with 'cannot', not modals in general. --> <token postag_regexp="yes" postag="VBP?"/> <token spacebefore="no" regexp="yes">['’"”]</token> </antipattern> <antipattern><!-- #2526 the poor drink to --> <token>the</token> <token regexp="yes">&plural_adjectival_nouns;</token> <token postag_regexp="yes" postag="VB[PD]"/> <token postag_regexp="yes" postag="PRP|TO"/> </antipattern> <antipattern><!-- #2522 I did not find a reference for 'play it smart', but I found others: www.lexico.com/definition/play_it_cool --> <token>play</token> <token>it</token> <token>smart</token><!-- The safe option it to add adjectives if they cause a problem. --> </antipattern> <antipattern><!-- #2539 we email and share --> <token regexp="yes">I|you|we|they</token> <token postag_regexp="yes" postag="VB(P|D)?"/><!-- Not chunk: email/B-NP-singular --> <token regexp="yes">and|or</token> <token postag_regexp="yes" postag="VB(P|D)?"/> </antipattern> <antipattern><!-- Incorrect grammar "It sound's good" --> <token regexp="yes">it|s?he</token> <token postag="RB" min="0" /> <token postag="VBP" /> <token>'s</token> </antipattern> <antipattern><!-- #2544 He was talk to [copy from was_is_VB_NN] --> <token regexp="yes">&subject_pronouns;</token> <token min="0" max="2" postag="RB"/> <token regexp="yes">are|is|was</token> <token postag_regexp="yes" postag="VBP?"><!-- Semantics is important here --> <exception regexp="yes">founder|hope|lead</exception> </token> <token postag="IN"/> </antipattern> <antipattern><!-- #2544 He has been talk to [copy from was_is_VB_NN] --> <token regexp="yes">&subject_pronouns;</token> <token min="0" max="2" postag="RB"/> <token regexp="yes">has|have|had</token> <token>been</token> <token postag_regexp="yes" postag="VBP?"/> <token postag="IN"/> </antipattern> <antipattern><!-- #2552 i will ever pledge to --> <token>I</token><!-- Seems to occur only with lower-case I, but the word after the adverb is always a verb. Thus, do not add case_sensitive --> <token postag="MD"/> <token postag="RB"/><!-- Seems to occur only with upper-case adverbs. --> <token postag_regexp="yes" postag="VBP?"/> <token postag="IN"/> </antipattern> <antipattern><!-- #2570 Play it quiet. www.collinsdictionary.com/dictionary/english/play-it --> <token postag="SENT_START"/> <token>Play</token> <token>it</token> <token postag="JJ"/> <token postag="PCT"/> </antipattern> <antipattern><!-- #2584 I will be search for --> <token regexp="yes">&subject_pronouns;</token> <token postag="MD"/> <token>be</token> <token postag="VB"/> <token postag="IN"/> </antipattern> <antipattern><!-- #2584 wish you good health! --> <token inflected="yes">wish</token> <token regexp="yes">&object_pronouns;</token> </antipattern> <antipattern><!-- #2584 you can text --> <token regexp="yes">&subject_pronouns;</token> <token chunk="B-VP" postag="MD"/> <token postag="VB"/> </antipattern> <antipattern><!-- #2584 you better fucking call --> <token regexp="yes">&subject_pronouns;</token> <token>better</token> <token postag="RB"/> <token postag="VB"/> </antipattern> <antipattern><!-- #2584 some call it --> <token regexp="yes">all|many|most|some</token> <token postag_regexp="yes" postag="VB[PD]"/> <token regexp="yes">&object_pronouns;</token> </antipattern> <antipattern><!-- #2661 I do not much care --> <token regexp="yes">I|you|we|they</token> <token regexp="yes">do|did</token> <token inflected="yes">not</token> <token postag="RB"/> <token postag_regexp="yes" postag="VBP?"/> </antipattern> <antipattern><!-- #2671 Miss you winding me up. The sentence is missing a pronoun. Thus, make this antipattern strict to prevent incorrect disambiguation. --> <token postag="SENT_START"/> <token postag="VBP"/> <token regexp="yes">&object_pronouns;</token> <token postag="VBG"/> <token min="0" max="1" postag="RP"/> <token chunk="B-NP-singular"/> </antipattern> <antipattern><!-- #2682 She does not much care for --> <token regexp="yes">he|she|it</token> <token regexp="yes">does|did</token> <token inflected="yes">not</token> <token postag="RB"/> <token chunk="E-NP-singular" postag="VB"/> </antipattern> <antipattern><!-- #2704 You MAY use: --> <token postag_regexp="yes" postag="SENT_START|PCT"/> <token regexp="yes">&object_pronouns;</token> <token postag="MD"/> <token chunk="E-NP-singular" postag="VB"/> <token>:</token><!-- The problem seems to occur only with a colon --> </antipattern> <antipattern><!-- #2684 how to best approach --> <token>how</token> <token>to</token> <token postag="RBS"/> <token chunk="E-NP-singular" postag="VB"/> </antipattern> <antipattern><!-- Premium #1147 Our browser add-on support almost all websites. --> <token chunk="B-NP-singular" postag="PRP$"/> <token chunk="I-NP-singular"/> <token chunk="I-NP-singular"/> <token chunk="E-NP-singular" postag="VB"/> <token postag="RB"/> <token postag="DT"/> <token postag="NNS"/> </antipattern> <antipattern><!-- #2845 Other CFD's charge a higher fee. --> <token postag_regexp="yes" postag="JJR?"/> <token chunk="E-NP-singular"/> <token>'s</token> <token chunk="E-NP-singular" postag="VB"/> <token postag_regexp="yes" postag="DT|PRP\$"/> </antipattern> <antipattern><!-- #2758 I think this look really nice. --> <token postag_regexp="yes" postag="VB.*"/> <token>this</token> <token chunk="E-NP-singular" postag="VB"/> <token min="0" max="1" postag="RB"/> <token postag="JJ"/> </antipattern> <antipattern><!-- #2975 did he print? [includes incorrect grammar: do she print?] --> <token regexp="yes">do|did|does</token> <token regexp="yes">&subject_pronouns;</token> <token chunk="E-NP-singular" postag="VB"/> <token min="0" max="1" postag="RB"/> <token>?</token> </antipattern> <antipattern><!-- #2975 can he print? --> <token postag="MD"/> <token regexp="yes">&subject_pronouns;</token> <token chunk="E-NP-singular" postag="VB"/> <token min="0" max="1" postag="RB"/> <token>?</token> </antipattern> <antipattern><!-- #3121 the signal and characteristic qualities --> <token postag_regexp="yes" postag="DT|PRP\$"/> <token chunk="E-NP-singular" postag="JJ"/> <token regexp="yes">and|or</token> <token chunk="B-NP-plural" postag="JJ"/> <token chunk="E-NP-plural" postag="NNS"/> </antipattern> <antipattern><!-- #3180 a too long, too perilous shoot --> <token postag_regexp="yes" postag="DT|PRP\$"/> <token chunk="I-NP-singular" postag="RB"/> <token chunk="E-NP-singular" postag="JJ"/> <token>,</token> <token chunk="B-NP-singular" postag="RB"/> <token chunk="I-NP-singular" postag="JJ"/> </antipattern> <antipattern><!-- #3207 were both present --> <token inflected="yes">be</token> <token>both</token> <token chunk="E-NP-singular" postag="JJ"/> </antipattern> <antipattern><!-- #3209 had to part --> <token inflected="yes">have</token> <token>to</token> <token chunk="E-NP-singular" postag_regexp="yes" postag="VBP?"/> </antipattern> <antipattern><!-- #3255 but many fall by --> <token postag="CC"/> <token chunk="B-NP-singular" regexp="yes">both|some|many|th[eo]se|most</token> <token chunk="E-NP-singular" postag_regexp="yes" postag="VBP?"/><!-- fall/E-NP-singular --> <token postag="IN"/> </antipattern> <antipattern><!-- #3322 thinking is wrong please let --> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> <token regexp="yes">is|was</token> <token postag_regexp="yes" postag="JJR?"/> <token postag="RB"/> <token postag_regexp="yes" postag="VBP?"/> </antipattern> <antipattern><!-- #3351 much lighter than --> <token>much</token> <token postag="JJR"/> <token>than</token> </antipattern> <antipattern><!-- Could it possible taste like ... --> <token postag="MD" /> <token postag="PRP" /> <token postag="JJ" /> <token postag="VBP?" postag_regexp="yes" /> </antipattern> <antipattern><!-- #3309 How would targeting work? --> <token postag="WRB"/> <token postag="MD"/> <token postag="VBG"/> <token skip="-1" postag_regexp="yes" postag="VBP?"/> <token>?</token> </antipattern> <antipattern><!-- #3309 take your money and issue you a receipt --> <token postag_regexp="yes" postag="VBP?"/> <token>your</token><!-- The incorrect tagging seems to occur only with your/you --> <token chunk="I-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> <token chunk="I-NP-singular">and</token> <token chunk="E-NP-singular" postag_regexp="yes" postag="VBP?"/> <token>you</token> </antipattern> <antipattern><!-- Its set to English (incorrect grammar) --> <token postag="CC|SENT_START|PCT" postag_regexp="yes" /> <token>its</token> <token postag="VB[NG]" postag_regexp="yes" /> <token postag="IN|TO" postag_regexp="yes" /> </antipattern> <antipattern><!-- #3334 You electronically sign: --> <token regexp="yes">I|you|we|they</token> <token chunk="B-NP-singular" postag_regexp="yes" postag="RB"/> <token chunk="E-NP-singular" postag_regexp="yes" postag="VBP?"/> <token>:</token> </antipattern> <antipattern><!-- #3354 were all back at --> <token regexp="yes">are|were</token> <token>all</token> <token chunk="E-NP-singular" postag="RB"/> <token postag="IN"/> </antipattern> <antipattern><!-- #3354 might using this work? --> <token postag="MD"/> <token postag="VBG"/> <token postag="DT"/> <token chunk="E-NP-singular" postag_regexp="yes" postag="VBP?"/> <token>?</token> </antipattern> <antipattern><!-- #3524 groups for the environment and food safety question the --> <token chunk="E-NP-plural" postag="NNS"/> <token postag="IN"/> <token chunk="B-NP-singular" postag_regexp="yes" postag="DT|PRP\$"/> <token chunk="I-NP-singular"/><!-- MFU: I cannot make this work with min/max here --> <token chunk="I-NP-singular">and</token> <token min="1" max="3" chunk="I-NP-singular"/> <token chunk="E-NP-singular" postag_regexp="yes" postag="VBP?"/> <token postag_regexp="yes" postag="DT|PRP\$"/> </antipattern> <antipattern><!-- #3565 many more need to be replaced --> <token postag="DT"/> <token postag_regexp="yes" postag="JJ.*"/> <token>need</token> <token>to</token> <token>be</token> <token postag="VBN"/> </antipattern> <antipattern><!-- But many just work --> <token regexp="yes">many|few|several</token> <token postag="RB" /> <token postag="VBP" /> </antipattern> <antipattern><!-- #3574 many start earlier or --> <token regexp="yes">many|few|several</token> <token postag_regexp="yes" postag="VBP?"/> <token postag_regexp="yes" postag="JJR|IN|DT"/> </antipattern> <antipattern><!-- We further wish to ... --> <token postag="PRP" /> <token>further</token> <token postag="VBP" /> </antipattern> <antipattern><!-- "Please share you inputs" (needed for YOUR_YOU_2) --> <token>please</token> <token postag="VBP" /> </antipattern> <antipattern><!-- I have the also yellow, but pale yellow with a grey tip --> <token>the</token> <token postag="RB" /> <token postag="JJ" /> <token>but</token> <token postag="JJ" /> </antipattern> <antipattern><!-- I got the also yellow, but pale yellow with a grey tip --> <token>the</token> <token postag="RB" /> <token postag="JJ" /> <token>,</token> <token>but</token> <token postag="JJ" /> </antipattern> <antipattern> <token case_sensitive="yes">i</token><!-- lowercase "i" causes incorrect chunking --> <token postag="MD" /> <token postag="VB" /> </antipattern> <antipattern><!-- confusion of "ether/either": You can ether type in ... --> <token postag="MD" /> <token>ether</token> <token postag="VB" /> </antipattern> <antipattern><!-- they will eventually revolt and ... --> <token postag="NNP|PRP" postag_regexp="yes" /> <token postag="MD" /> <token postag="RB" /> <token postag="VBP" /> </antipattern> <antipattern> <token postag="MD" /> <token>be</token> <token postag="VB" /> <token postag="PCT|CC|IN" postag_regexp="yes" /> </antipattern> <antipattern> <token postag="MD" /> <token regexp="yes">&apostrophe;</token> <token>t</token> <token>be</token> <token postag="VB" /> <token postag="PCT|CC|IN" postag_regexp="yes" /> </antipattern> <antipattern> <token inflected="yes">be</token> <token>wrong</token> </antipattern> <antipattern> <token>many</token> <token postag="VBP" /> <token postag="UNKNOWN|NNP" postag_regexp="yes" /> <token>'s</token> </antipattern> <antipattern> <token>many</token> <token postag="VBP" /> <token regexp="yes">quite|,</token> </antipattern> <antipattern><!-- A few buzz at the highest levels in certain fixtures. --> <token regexp="yes">few|many</token> <token postag="VBP" /> <token postag="IN" /> <token chunk_re="B-NP.*" /> </antipattern> <antipattern> <token regexp="yes" inflected="yes">want|like|love|try|need|have|hate</token> <token>to</token> <token postag="VBP" /> </antipattern> <antipattern> <token regexp="yes" inflected="yes">want|like|love|try|need|have|hate</token> <token>to</token> <token postag="RB" /> <token postag="VBP" /> </antipattern> <antipattern><!-- I will try to only focus on my health. --> <token regexp="yes" inflected="yes">want|like|love|try|need|have|hate</token> <token>to</token> <token regexp="yes">more|less|f[au]rther</token> <token postag="VBP" /> </antipattern> <antipattern> <token>pardon</token> <token>me</token> </antipattern> <antipattern><!-- Something you absolutely cannot control! --> <token regexp="yes">we|they|you|s?he|I|it</token> <token postag="RB" /> <token postag="MD" /> <token postag="VBP" /> </antipattern> <antipattern><!-- This also makes my routines not function for that light. --> <token inflected="yes">make</token> <token chunk_re="B-NP.*" /> <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*" /> <token>not</token> <token postag="VBP" /> </antipattern> <antipattern><!-- A way to make animations not show would be nice. --> <token inflected="yes">make</token> <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*" /> <token>not</token> <token postag="VBP" /> </antipattern> <antipattern><!-- You sure look exhausted --> <token regexp="yes">s?he|you|they|I|we|it</token> <token>sure</token> <token postag="VB.*" postag_regexp="yes" /> <token postag="IN|RB.*|JJ.*" postag_regexp="yes" /> </antipattern> <antipattern> <token chunk="B-SBAR" /> <token postag="NN.*|DT|PRP\$|JJ.*|CD" postag_regexp="yes" chunk_re=".-NP.*" /> <token postag="NN.*" postag_regexp="yes" chunk_re=".-NP.*" /> <token postag="VBP" /> <token postag="JJ" chunk="B-ADJP" /> <token>than</token> <token>that</token> </antipattern> <antipattern><!-- The text can't be check --> <token>be</token> <token>check</token> </antipattern> <antipattern><!-- Do you suppose they don't all talk about you? --> <token inflected="yes">do</token> <token inflected="yes">not</token> <token regexp="yes">all|much</token> <token postag="VB" /> </antipattern> <antipattern><!-- Who does Jonas wish could be his grandpa? --> <token postag="SENT_START|PCT|CC" postag_regexp="yes" /> <token postag="W.*" postag_regexp="yes" regexp="yes">[wh].*</token> <token inflected="yes">do</token> <token postag="NNP" /> <token postag="VB" /> <token postag="MD" /> <token postag="VB" /> </antipattern> <antipattern> <token>let</token> <token>'s</token> <token postag="VB" /> </antipattern> <antipattern> <token postag="MD"> <exception>need</exception> </token> <token postag="VB" /> <token postag="PRP\$|DT" postag_regexp="yes" /> </antipattern> <antipattern><!-- He sound stressed as normal --> <token regexp="yes">s?he</token> <token postag="VBP" /> </antipattern> <antipattern> <token regexp="yes">this|that</token> <token regexp="yes">will|can</token> </antipattern> <antipattern><!-- He was support by ... --> <token postag="NNP|PRP_S3.*" postag_regexp="yes" chunk_re="E-NP.*" /> <token regexp="yes">was|is|'s</token> <token postag="VB" /> <token postag="IN" chunk="B-PP"> <exception>of</exception> </token> </antipattern> <antipattern><!-- It is refund to ... --> <token postag="NNP|PRP_S3.*" postag_regexp="yes" chunk_re="E-NP.*" /> <token regexp="yes">was|is|'s</token> <token postag="VB" /> <token case_sensitive="yes" regexp="yes">[Tt]o</token> </antipattern> <antipattern><!-- You were support by ... --> <token postag="NNPS|PRP_S2.*" postag_regexp="yes" chunk_re="E-NP.*" /> <token regexp="yes">were|are|'re</token> <token postag="VB" /> <token postag="IN" chunk="B-PP"> <exception>of</exception> </token> </antipattern> <antipattern><!-- You were refund to ... --> <token postag="NNPS|PRP_S2.*" postag_regexp="yes" chunk_re="E-NP.*" /> <token regexp="yes">were|are|'re</token> <token postag="VB" /> <token case_sensitive="yes" regexp="yes">[Tt]o</token> </antipattern> <antipattern><!-- I am support by ... --> <token>I</token> <token regexp="yes">am|'m|was|were</token> <token postag="VB" /> <token postag="IN" chunk="B-PP"> <exception>of</exception> </token> </antipattern> <antipattern><!-- I was refund to ... --> <token>I</token> <token regexp="yes">am|'m|was|were</token> <token postag="VB" /> <token case_sensitive="yes" regexp="yes">[Tt]o</token> </antipattern> <antipattern> <token regexp="yes">many|few|several|some</token> <token postag="VB" /> <token postag="VBG" chunk_re=".-VP" /> </antipattern> <antipattern> <token postag="PRP_S.*" postag_regexp="yes" /> <token postag="MD" /> <token postag="VB" /> </antipattern> <antipattern> <token postag="SENT_START" /> <token postag="VB" /> <token regexp="yes" case_sensitive="yes">[Ii]t|[Mm]e|[Tt]hem|[Hh]im|[Uu]s|[Hh]er</token> </antipattern> <antipattern> <token>who</token> <token>to</token> <token regexp="yes">blame|call|talk</token> </antipattern> <antipattern><!-- Mennad shit on the side of the freeway / in his car. --> <token postag="NNP" /> <token>shit</token><!-- should be "shits" or "shat" --> <token regexp="yes">[io]n</token> </antipattern> <antipattern><!-- drink it all --> <token postag="VB" /> <token regexp="yes">it|them</token> <token>all</token> </antipattern> <antipattern><!-- Does he fucking care? --> <token inflected="yes" regexp="yes">do|will|should|can|let</token> <token chunk_re="B-NP.*" min="0" /> <token chunk_re="[IE]-NP.*" /> <token postag="VBP?" postag_regexp="yes" chunk="E-NP-singular" /> </antipattern> <antipattern><!-- Can the new team change … --> <token inflected="yes" regexp="yes">do|will|should|can|let</token> <token chunk_re="B-NP.*" /> <token chunk_re="I-NP.*" /> <token chunk_re="[IE]-NP.*" /> <token postag="VBP?" postag_regexp="yes" chunk="E-NP-singular" /> </antipattern> <antipattern> <token postag="PRP_S.*" postag_regexp="yes" /> <token regexp="yes">fuckin[g']?|freakin[g']?|effin[g']?</token> <token postag="VBP" postag_regexp="yes" /> </antipattern> <antipattern> <token postag="NNP" /> <token postag="VBP" chunk="E-NP-singular" /> <token regexp="yes">you|it</token> </antipattern> <antipattern> <token inflected="yes">make</token> <token>it</token> <token>work</token> </antipattern> <antipattern> <token> need <exception postag="DT|PRP\S$|JJR" postag_regexp="yes" scope="previous" /> </token> <token>to</token> <token postag="RB" min="0" /> <token postag="VB" /> </antipattern> <antipattern><!-- incorrect chunking --> <token>to</token> <token regexp="yes">both|all</token> <token postag="VB" chunk="E-NP-singular" /> <token postag="RP" /> </antipattern> <antipattern> <token>how</token> <token>many</token> <token postag="VBP" chunk="E-NP-singular" /> <token regexp="yes">and|n?or</token> <token postag="VBP" chunk_re=".-VP" /> <token postag="P?DT|PRP.*" postag_regexp="yes" /> </antipattern> <antipattern><!-- incorrect chunking --> <token>cannot</token> <token postag="VB" chunk="E-NP-singular" /> </antipattern> <antipattern><!-- incorrect chunking --> <token chunk_re="E-NP.*" postag="NNP" /> <token postag="MD"> <exception>need</exception> </token> <token postag="VB" chunk="E-NP-singular" /> </antipattern> <antipattern><!-- incorrect chunking --> <token chunk_re="E-NP.*" postag="NN.*" postag_regexp="yes" /> <token postag="MD"> <exception>need</exception> </token> <token postag="VB" chunk="E-NP-singular" /> <token postag="RB" chunk="B-ADVP" /> <token postag="IN" chunk="B-PP" /> </antipattern> <antipattern><!-- incorrect chunking --> <token chunk_re="E-NP.*" postag="P?DT" postag_regexp="yes" /> <token postag="MD"> <exception>need</exception> </token> <token postag="VB" chunk="E-NP-singular" /> </antipattern> <antipattern> <token>barley</token><!-- commonly confused with "barely" --> <token postag="VB.*" postag_regexp="yes" chunk="E-NP-singular" /> </antipattern> <antipattern> <token postag="NNP" /> <token regexp="yes">wait|look|search</token> </antipattern> <antipattern> <token postag="NNP" /> <token>work</token> <token regexp="yes">with|for|at</token> </antipattern> <antipattern><!-- We can't just fucking drive down the road playing I Spy or some shit ... --> <token postag="MD" /> <token postag="RB" /> <token postag="RB" /> <token regexp="yes">fuckin['g]</token> <token postag="VB" chunk="E-NP-singular" /> </antipattern> <antipattern><!-- We can't just fucking drive down the road playing I Spy or some shit ... --> <token postag="MD" /> <token postag="RB" /> <token regexp="yes">fuckin['g]</token> <token postag="VB" chunk="E-NP-singular" /> </antipattern> <antipattern> <token postag="PRP_S.*" postag_regexp="yes" /> <token postag="RB" /> <token postag="VBP" /> </antipattern> <antipattern> <token postag="W.*|SENT_START|PCT" postag_regexp="yes" /> <token postag="RB" min="0" /> <token postag="MD" /> <token postag="RB" min="0" /> <token postag="VBG|NN:UN?" postag_regexp="yes" /> <token postag="IN" /> <token chunk_re="B-NP.*" /> <token chunk_re="E-NP.*" postag="VB" /> </antipattern> <pattern> <marker> <and> <token postag="NN:UN"><!-- 2020-02-04 MFU: Should this be "NN:UN?" ? --> <exception scope="previous" postag="NNP?S|CD" postag_regexp="yes"/> <exception scope="previous" regexp="yes">we(d|re)|th[oe]se|that|are</exception> <exception scope="previous" inflected="yes">have</exception> <exception>wrong</exception> </token> <token chunk="E-NP-singular"/> <token postag="VBP"> <exception regexp="yes">find|resend</exception> </token> </and> </marker> <token> <exception regexp="yes">\.|…</exception> <exception>that</exception> </token> </pattern> <disambig postag="NN:UN"/> <example type="untouched">They disputed a claim.</example> <example type="untouched">Does he fucking care?</example> <example type="untouched">Jess text you asking if it ...</example> <example type="untouched">What made it work was the translation of supreme authority from the popes to the council.</example> <example type="untouched">Can the new assistant contact you regarding the studs</example> <example type="untouched">Loving to work is the key to happiness.</example> <example type="untouched">Love to party!</example> <example type="untouched">You sure look exhausted.</example> <example type="untouched">Do you suppose they don't all talk about you?</example> <example type="untouched">Something you absolutely cannot control!</example> <example type="untouched">I want to age gracefully.</example> <example type="untouched">For a person who's wrong frequently, it's nice to be right.</example> <example type="untouched">Many play, but only one will win.</example> <example type="untouched">This will bright my day.</example> <example type="untouched">Lola wait!</example> <example type="untouched">They either work for the administrator or have been let go by the administrator.</example> <example type="untouched">WE NEVER CHARGE A FEE</example> <example type="untouched">Ms. Tanaka can type, can't she?</example> <example type="untouched">Also if you have made any other significant changes to your application that may conflict with the agent, it would be great to know.</example> <example type="untouched">Many claim that the behavior is in the past.</example> <example type="untouched">Doubled consonants count as two consonants.</example> <example type="untouched">The Beatles play to nearly 60,000 fans at Shea Stadium.</example> <example type="untouched">Wed love to hear this!</example> <example type="untouched">Who does Jonas wish could be his grandpa?</example> <example type="untouched">This also makes my routines not function for that light.</example> <example type="untouched">A way to make animations not show would be nice.</example> <example type="untouched">Many look quite a bit like American campaign logos.</example> <example type="untouched">When the text can't be check because it is too short.</example><!-- needed to detect "check" as wrong by BEEN_PART_AGREEMENT --> <example type="untouched">He sexual assault her.</example> <example type="untouched">However, many support putting these 2 arguments …</example> <example type="untouched">Many doubt OPEC's ability to maintain its modest level.</example> <example type="untouched">Many doubt his ability to maintain its modest level.</example> <example type="untouched">He is sexual assaulting her.</example> <example type="untouched">So within macro A, i trigger another macro by keystroke (call it macro B) and I want to pause until macro B is finished before proceeding.</example> <example type="untouched">Get the code read and search it online.</example> <example type="untouched">Nah, call it morning breath.</example> <example type="untouched">I will try to only focus on my health.</example> <example type="untouched">He would sexual assault her.</example> <example type="untouched">They will eventually revolt and</example> <example type="untouched">Here: Customer cannot access his</example> <example type="untouched">Kay He sound stressed as usual.</example><!-- verb agreement error --> <example type="untouched">...and angles that <marker>share</marker> a common vertex...</example> <example type="untouched">I have <marker>notice</marker> she doesn't like me.</example><!-- Possibly a noun (=somebody has told me (that)), but possibly incorrect verb form (should be 'noticed') --> <example type="untouched">Only <marker>count</marker> every 10th item when you do the test.</example> <example type="untouched">Like the moon you change; steadily you <marker>wax</marker> and then wane again.</example> <example type="untouched">Neurons there show activity levels that rise and <marker>fall</marker> with a period of about 24 hours.</example> <example type="untouched">If all 5 <marker>call</marker> at 10:00, we will be busy.</example> <example type="untouched">When did he last <marker>talk</marker> to them?</example> <example type="untouched">Incorrect grammar. We are drive to London.</example> <example type="untouched">If not set, it will use the default.</example> <example type="untouched">Initially the rails <marker>were ground</marker> on a yearly basis or after ...</example> <example type="untouched">Incorrect grammar. I am irritated when the dog <marker>bark</marker> loudly.</example> <example type="untouched"><marker>Line up</marker> by height against the wall, please.</example> <example type="untouched">Verb. Areas of southern Nevada, Utah and Colorado <marker>form</marker> a loose northern boundary, while the southern ...</example> <example type="untouched">Verb. Darker (denser) regions of chromium <marker>form</marker> a band at right angles to the equator.</example> <example type="untouched">Incorrect grammar. The creature in this den <marker>love</marker> me.</example> <example type="untouched">Can’t <marker>wait</marker> to get your update.</example><!-- Incomplete sentence, but a verb in this context. --> <example type="untouched">Can’t <marker>control</marker> with switches.</example><!-- Incomplete sentence, but a verb in this context. --> <example type="untouched">Won’t <marker>start</marker>, but turns over.</example><!-- Incomplete sentence, but a verb in this context. --> <example type="untouched">Won’t further <marker>address</marker> it.</example><!-- Incomplete sentence, but a verb in this context. --> <example type="untouched">Those who send in old junk they don't use anymore <marker>will</marker>, without exception, receive a present.</example> <example type="untouched">Will this actually <marker>work</marker> when the sun shines?</example> <example type="untouched">Won't this still <marker>work</marker> on Sunday?</example> <example type="untouched">It will NOT <marker>work</marker> in a normal environment.</example><!-- #2326 --> <example type="untouched">IT WILL NOT <marker>WORK</marker> HERE.</example> <example type="untouched">It will ACTUALLY <marker>work</marker> here.</example> <example type="untouched">... you WON'T <marker>need</marker> at that point.</example><!-- #2326 --> <example type="untouched">Do you have contact info or a case number we can <marker>reference</marker>?</example><!-- #2328 --> <example type="untouched">I can`t <marker>power</marker> off or on or dimming it.</example><!-- #2328 --> <example type="untouched">Tell Tom he's going <marker>to have to work</marker> late today.</example> <example type="untouched">...the government which almost forces people <marker>to have to work</marker> for the larger, more corrupt businesses.</example> <example type="untouched">We can either order in or I would love to cook anything you would like.</example> <example type="untouched">That said, I would gladly revolt against corporate control.</example> <example type="untouched">I will either put it in the mail to you today, or if I do end up making it to the states, I will mail it from there.</example> <example type="untouched">Wire it up using jumper wires.</example><!-- #2403 --> <example type="untouched">Please wire it up using jumper wires.</example><!-- #2403 --> <example type="untouched">We accept the risks; wire us up after you do the safety tests.</example><!-- #2403 --> <example type="untouched">Adjective: I want to make the analysis of it <marker>concrete</marker> and put an end to the discussion.</example><!-- #2407 Compare: I want to make the analysis of it unambiguous and put... --> <example type="untouched">Noun: He wants to make the top of it <marker>concrete</marker> and put a flag pole on it.</example><!-- #2407 --> <example type="untouched">Ambiguous: I'm getting ready to paint the top of it <marker>black</marker> and put a rose decal on it.</example><!-- #2407 --> <example type="untouched">You're welcome, Tina.</example><!-- #2421 --> <example type="untouched">It's welcome.</example><!-- #2421 --> <example type="untouched">But many just work</example><!-- #2421 --> <example type="untouched">I had to unpair it and re-pair it and it work…</example> <example type="untouched">Incorrect grammar: He was hope to get it done.</example><!-- #2422 hope/E-NP-singular --> <example type="untouched">Incorrect grammar: I actually was hope to make more changes to the rule.</example> <example type="untouched">Incorrect grammar. ... and this was lead into the ...</example><!-- #2422 --> <example type="untouched">"There are some Instruments we cannot access"</example><!-- #2502 --> <example type="untouched">The poor drink to drown their sorrows.</example><!-- #2528 --> <example type="untouched">... and usually, the sick hope to become well.</example><!-- #2528 --> <example type="untouched">Play it smart.</example><!-- #2522 --> <example type="untouched">Play it cool.</example> <example type="untouched">Use It Act.</example> <example type="untouched">How will sharing of tech work?</example> <example type="untouched">We further wish to do it again.</example> <example type="untouched">Currently we email and share the stuff.</example><!-- #2539 --> <example type="untouched">Incorrect grammar: It sound's good.</example><!-- needed for VERB_APOSTROPHE_S --> <example type="untouched">Incorrect grammar: He has been talk to me.</example><!-- #2544 --> <example type="untouched">Incorrect grammar: He actually has been talk to the manager.</example><!-- #2544 --> <example type="untouched">Incorrect grammar: He was talk to me.</example><!-- #2544 --> <example type="untouched">Incorrect grammar: If she sneakily is talk about my secrets...</example><!-- #2544 --> <example type="untouched">Incorrect grammar: ... and it was talk about in the media.</example><!-- #2544 --> <example type="untouched">Incorrect grammar: I wouldnt text you sorry</example> <example type="untouched">Incorrect grammar: Could it possible taste like milk?</example><!-- caught by ADJECTIVE_ADVERB --> <example type="untouched">The person i will EVER pledge to is my friend.</example><!-- #2552 --> <example type="untouched">The person i should ALWAYS pledge with is my friend.</example><!-- #2552 --> <example type="untouched">Play it quiet.</example><!-- #2570 --> <example type="untouched">The e-mail was resend.</example><!-- #2570 --> <example type="untouched">Play it quiet, brother.</example><!-- #2570 --> <example type="untouched">Incorrect grammar: I will be search for you.</example><!-- #2584 --> <example type="untouched">Peter, wish you good health!</example><!-- #2584 --> <example type="untouched">Something that you can text on</example><!-- #2584 --> <example type="untouched">Seriously, you better fucking call me.</example><!-- #2584 --> <example type="untouched">But some call it surfing, while others ...</example><!-- #2584 --> <example type="untouched">But you know some call it surfing, while others ...</example><!-- #2584 --> <example type="untouched">I do not much care for this kind of drink.</example><!-- #2661 --> <example type="untouched">Miss you winding me up.</example><!-- #2671 --> <example type="untouched">Miss her winding up the grandfather clock every morning.</example><!-- #2671 --> <example type="untouched">She does not much care for this kind of drink.</example><!-- #2682 --> <example type="untouched">You MAY use:</example><!-- #2704 --> <example type="untouched">If you prefer, you CAN use:</example><!-- #2704 --> <example type="untouched">Learn how to best approach the crisis.</example><!-- #2684 --> <example type="untouched">Our browser add-on support almost all websites.</example><!-- Premium #1147 --> <example type="untouched">Other CFD's charge a higher fee.</example><!-- #2845 --> <example type="untouched">Although larger company's charge a higher fee, we...</example><!-- #2845 --> <example type="untouched">I think this look really nice.</example><!-- #2758 --> <example type="untouched">I think this look nice</example><!-- #2758 --> <example type="untouched">Do you think this look nice?</example><!-- #2758 --> <example type="untouched">What did he print?</example><!-- #2975 --> <example type="untouched">What (in your opinion) can he print?</example><!-- #2975 --> <example type="untouched">Inhumanity is one of the signal and characteristic qualities of humanity.</example><!-- #3121 --> <example type="untouched">... breaks with a too long, too perilous shoot.</example><!-- #3180 --> <example type="untouched">The poet and novelist were both present at the meeting.</example><!-- #3207 --> <example type="untouched">I had to part with my competent secretary.</example><!-- #3209 --> <example type="untouched">The only thing we have to fear is fear itself.</example><!-- #3209 --> <example type="untouched">Tom will have to work tomorrow.</example><!-- #3209 --> <example type="untouched">I've never had to work very hard.</example><!-- #3209 --> <example type="untouched">I hate having to part with you for a whole week.</example><!-- #3209 --> <example type="untouched">The best ones succeed, but many fall by the wayside.</example><!-- #3255 --> <example type="untouched">There are a lot of people and many work in the health department.</example><!-- #3270 --> <example type="untouched">If my thinking is wrong please let me know.</example><!-- #3322 --> <example type="untouched">...the electrons, which are much lighter than ions and move faster.</example><!-- #3351 --> <example type="untouched">How would targeting work?</example><!-- #3309 --> <example type="untouched">Why might targeting work with this example?</example><!-- #3309 --> <example type="untouched">That person will take your money and issue you a receipt.</example><!-- #3309 --> <example type="untouched">I can take her money and issue you a receipt, if that is convenient.</example><!-- #3309 --> <example type="untouched">Incorrect grammar: Its set to British.</example> <example type="untouched">You electronically sign:</example><!-- #3334 --> <example type="untouched">4) You digitally sign:</example><!-- #3334 --> <example type="untouched">... and Moss Landing #6 (739 MW) were all back at full...</example><!-- #3354 --> <example type="untouched">... but might using this work?</example><!-- #3354 --> <example type="untouched">But activist groups for the environment and food safety question the product’s safety.</example><!-- #3524 --> <example type="untouched">So how many more need to be replaced and do I need both the bottom and top mattresses?</example><!-- #3565 --> <example type="untouched">But many start earlier or leave later.</example><!-- #3574 --> <example type="untouched">I understand that many charge the same fee.</example> <example type="untouched">Did you know that many start earlier and leave later?</example><!-- #3574 --> <example type="untouched">Incorrect grammar (ether/either): You can ether type in the address bar or click on a bookmark.</example> <example type="untouched">It's shameful; few start at the right times and then they go home early.</example><!-- #3574 --> <example type="untouched">At Tatoeba, it is more important that a translation sound natural than that it be strictly faithful to the original.</example> <example type="untouched">I was support by my colleague.</example> <!-- ambiguos #2682 --> <example type="untouched">Does not much <marker>care</marker> for the patient also cost much money?</example> <!-- Refer to the counter example <example type="untouched">If any professional want to know the new practices of their field...</example>Premium #1564 --> <example type="ambiguous" inputform="claim[claim/NN:UN,claim/VB,claim/VBP]" outputform="claim[claim/NN:UN]">Morroco's disputed <marker>claim</marker> to portions of Algeria.</example> <example type="ambiguous" inputform="bark[bark/NN:UN,bark/VB,bark/VBP]" outputform="bark[bark/NN:UN]">Remove the old <marker>bark</marker> carefully.</example> <example type="ambiguous" inputform="work[work/JJ,work/NN:UN,work/VB,work/VBP]" outputform="work[work/NN:UN]">Does this <marker>work</marker> contain any errors?</example> <example type="ambiguous" inputform="work[work/JJ,work/NN:UN,work/VB,work/VBP]" outputform="work[work/NN:UN]">But will NOT <marker>work</marker> of any type help you to forget your troubles?</example><!-- #2326 Unusual capitalization of NOT. --> <example type="ambiguous" inputform="WORK[work/JJ,work/NN:UN,work/VB,work/VBP]" outputform="WORK[work/NN:UN]">BUT, WON'T <marker>WORK</marker> ON YOUR PART AFFECT THE COMPLETION TIME?</example> <example type="ambiguous" inputform="reference[reference/NN:UN,reference/VB,reference/VBP]" outputform="reference[reference/NN:UN]">The document does not show the can reference. Do you know the can <marker>reference</marker>?</example><!-- A 'can reference' is a possible technical term. --> <example type="ambiguous" inputform="order[order/NN:UN,order/UH,order/VB,order/VBP]" outputform="order[order/NN:UN]"> ... after he was given a court <marker>order</marker> to lend money to an incompetent applicant.</example><!-- Premium #1564 counter example --> <example type="ambiguous" inputform="question[question/NN:UN,question/VB,question/VBP]" outputform="question[question/NN:UN]">But activist groups for the health and food safety <marker>question</marker> are likely to disagree.</example><!-- 3524 --> <example type="ambiguous" inputform="need[need/MD,need/NN:UN,need/VB,need/VBP]" outputform="need[need/NN:UN]">There is more <marker>need</marker> to be mindful of disambiguation problems.</example><!-- #3565 --> <example type="ambiguous" inputform="start[start/NN:UN,start/VB,start/VBP]" outputform="start[start/NN:UN]">My <marker>start</marker> earlier in the day suits me well.</example><!-- #3574 --> </rule> <rule id="E_NP_VBP" name="noun/verb after a plural NP -> verb"> <antipattern><!-- Fix for chunker: staves off hunger --> <token postag="VBZ"/> <token postag="RP"/> <token postag="NN(:UN)?" postag_regexp="yes"/> </antipattern> <antipattern><!-- Fix for chunker: the reasons stress damaged the --> <token postag="DT|PRP\$" postag_regexp="yes"/> <token postag="NNS"/> <token postag="NN(:UN)?" postag_regexp="yes"/> <token postag="VBD"/> <token postag="DT|PRP\$" postag_regexp="yes"/> </antipattern> <antipattern><!-- #2540: - Police officer's active work: --> <token chunk="E-NP-plural"/> <token chunk="E-NP-singular"/> <token>'s</token> <token chunk="I-NP-singular" postag_regexp="yes" postag="JJR?"/> </antipattern> <antipattern><!-- #2923 Fix for chunker: A martial arts strike --> <token regexp="yes">an?</token> <token postag_regexp="yes" postag="JJR?"/> <token chunk="E-NP-plural"/> <token postag="NN(:UN)?" postag_regexp="yes"/> </antipattern> <antipattern><!-- #2923 makes advancements too fast --> <token chunk="B-VP" postag_regexp="yes" postag="VB.*"> <exception postag="MD"/><!-- will pigs always fly --> </token> <token chunk="E-NP-plural"/> <token postag="RB"/> <token postag="JJ"/> </antipattern> <antipattern><!-- #2923 was 15 minutes too long --> <token chunk="B-VP" postag_regexp="yes" inflected="yes">be</token> <token chunk="B-NP-plural" postag="CD"/> <token chunk="E-NP-plural"/> <token postag="RB"/> <token postag="JJ"/> </antipattern> <antipattern><!-- #2923 was it 15 minutes too long... ? --> <token chunk="B-VP" postag_regexp="yes" inflected="yes">be</token> <token regexp="yes">&object_pronouns;</token> <token chunk="B-NP-plural" postag="CD"/> <token chunk="E-NP-plural"/> <token postag="RB"/> <token skip="-1" postag="JJ"/> <token>?</token> </antipattern> <antipattern><!-- #3251 new features can handled by --> <token postag_regexp="yes" postag="JJ|DT"/> <token chunk="E-NP-plural"/> <token chunk="B-VP" postag="MD"/> <token chunk="I-VP" postag_regexp="yes" postag="VB[DN]"/> <token postag_regexp="yes" postag="IN|RB"/> </antipattern> <antipattern><!-- a 30 feet rise --> <token regexp="yes">an?</token> <token postag="CD" /> <token postag="NNS" chunk="E-NP-plural" /> <token postag="NN|NN:UN?" postag_regexp="yes" /> </antipattern> <antipattern><!-- a persons look is ... --> <token regexp="yes">one|an?</token> <token postag="NNS" /> <token postag="NN|NN:UN?" postag_regexp="yes" /> </antipattern> <antipattern><!-- at the end of the chain of actions can we expect the --> <token regexp="yes">can|will</token> <token postag="NN.*|PRP" postag_regexp="yes" /> <token postag="VB" /> </antipattern> <antipattern><!-- .. and there is an auto parts store close by call them ask if they test charging systems. --> <token regexp="yes" chunk_re="B-NP.*">an?|another|one</token> <token regexp="yes" postag="NN.*|JJ.*" postag_regexp="yes" chunk_re="I-NP.*" /> <token regexp="yes" postag="NNP?S" postag_regexp="yes" chunk_re="E-NP.*" /> <token postag="NN(:UN)?" postag_regexp="yes" /> </antipattern> <antipattern> <token>how</token> <token regexp="yes">many|much</token> <token postag="NNS" /> <token regexp="yes">can|will</token> <token postag="PRP|NNP" postag_regexp="yes" /> <token postag="VB.*" postag_regexp="yes" /> </antipattern> <antipattern> <token regexp="yes">every|each</token> <token postag="JJ.*" postag_regexp="yes" min="0" /> <token postag="NNS" regexp="yes">.+s</token> <token postag="NN|NN:UN?" postag_regexp="yes" /> </antipattern> <antipattern><!-- hires so many people so fast --> <token chunk="E-NP-plural"/> <token regexp="yes">so|too</token> <token postag="JJ" /> </antipattern> <antipattern><!-- Are your hands clean? --> <token postag="CC|PCT|SENT_START|W.*" postag_regexp="yes" /> <token inflected="yes">be</token> <token postag="DT|PRP\$" postag_regexp="yes" min="0" /> <token chunk_re="E-NP.*" /> <token postag="RB" min="0" /> <token postag="JJ|VBG" postag_regexp="yes" /> </antipattern> <antipattern><!-- Aren't your hands clean? --> <token postag="CC|PCT|SENT_START|W.*" postag_regexp="yes" /> <token inflected="yes">be</token> <token>n't</token> <token postag="DT|PRP\$" postag_regexp="yes" min="0" /> <token chunk_re="E-NP.*" /> <token postag="RB" min="0" /> <token postag="JJ|VBG" postag_regexp="yes" /> </antipattern> <antipattern><!-- What isn't Synthetics monitor doing differently? --> <token postag="CC|PCT|SENT_START|W.*" postag_regexp="yes" /> <token inflected="yes">be</token> <token>n't</token> <token postag="DT|PRP\$" postag_regexp="yes" min="0" /> <token chunk_re="E-NP.*" /> <token postag="NN.*" postag_regexp="yes" chunk="B-VP" /><!-- incorrect chunk --> <token postag="VBG" postag_regexp="yes" chunk_re=".-VP" /> </antipattern> <antipattern><!-- What isn't Synthetics monitor doing differently? --> <token postag="CC|PCT|SENT_START|W.*" postag_regexp="yes" /> <token inflected="yes">be</token> <token postag="DT|PRP\$" postag_regexp="yes" min="0" /> <token chunk_re="E-NP.*" /> <token postag="NN.*" postag_regexp="yes" chunk="B-VP" /><!-- incorrect chunk --> <token postag="VBG" postag_regexp="yes" chunk_re=".-VP" /> </antipattern> <antipattern><!-- Much weather derivatives use is occurring in the natural gas markets. --> <token postag="NNS" chunk="E-NP-plural"/> <token postag="NN(:UN)?" postag_regexp="yes" chunk_re=".-VP" /><!-- incorrect chunking --> <token postag="VB[DZ]" postag_regexp="yes" chunk_re=".-VP" /> </antipattern> <antipattern><!-- let the police know about this --> <token>let</token> <token chunk_re="B-NP.*" min="0" /> <token chunk_re="E-NP.*" /> <token postag="VB" /> </antipattern> <pattern> <and> <token chunk="E-NP-plural"/> <token postag="NNS"/><!-- Fix for 'My young son' --> </and> <token min="0" max="1" postag="RB"> <exception regexp="yes">about|please</exception> <exception postag="IN" /> </token> <marker> <and> <token postag="VBP"> <exception postag="VBD|MD" postag_regexp="yes" /> <exception postag="IN"/> </token> <token postag="NN(:UN)?" postag_regexp="yes"> <exception regexp="yes">people|company|dry|shy|clean</exception> </token> </and> </marker> </pattern> <disambig postag="VBP"/> <example type="untouched">The application form</example> <example type="ambiguous" inputform="form[form/NN:UN,form/VB,form/VBP]" outputform="form[form/VBP]">The leaves <marker>form</marker> a rosette.</example> <example type="ambiguous" inputform="form[form/NN:UN,form/VB,form/VBP]" outputform="form[form/VBP]">Approximately 15 leaves actually <marker>form</marker> a rosette.</example><!-- #2923 --> <example type="ambiguous" inputform="fly[fly/JJ,fly/NN,fly/VB,fly/VBP]" outputform="fly[fly/VBP]">Mummy, but will pigs always <marker>fly</marker> when I can't see them?</example> <example type="ambiguous" inputform="strike[strike/NN,strike/VB,strike/VBP]" outputform="strike[strike/VBP]">The angry workers <marker>strike</marker>.</example><!-- #2923 --> <example type="untouched">So Rand fell into a severe depression.</example> <example type="untouched">...was assigned to duty in northern Virginia while the Army of the Potomac conducted the Peninsula.</example> <example type="untouched">My young son <marker>can</marker> neither read nor write yet. [Chunker gives E-NP-plural to 'son'. 'Can' is MD not VBP.]</example> <example type="untouched">... has written songs about <marker>love</marker> and sex with women and men.</example> <example type="untouched">... for bears and mainly staves off <marker>hunger</marker> and starvation until more nutritious food is... [Chunker gives E-NP-plural to 'staves'.]</example> <example type="untouched">Noun. ... is thought to be one of the reasons <marker>stress</marker> damaged the stomach's mucous membrane. [Chunker gives B-VB to 'stress'.]</example> <example type="untouched">- Police officer's active work:</example><!-- #2540 --> <example type="untouched">A martial arts strike.</example><!-- #2923 --> <example type="untouched">CES schedulers please note that you do not have to save copy of this file.</example><!-- #2923 --> <example type="untouched">The results in father's behavior.</example> <example type="untouched">An angry workers strike.</example><!-- #2923 Incorrect grammar, missing possessive apostrophe before the noun 'strike'. --> <example type="untouched">You would need a simple mains relay such as...</example><!-- #2923 --> <example type="untouched">My biggest concern with smart switches is that technology makes advancements too fast.</example><!-- #2923 --> <example type="untouched">The benefit is that that method makes improvements incredibly fast.</example><!-- #2923 --> <example type="untouched">It was 15 minutes too long.</example><!-- #2923 --> <example type="untouched">... and that it hires so many people so fast that ...</example> <example type="untouched">Insights event pricing is still dependent on each customers use case.</example><!-- missing possessive apostrophe --> <example type="untouched">Was it 15 minutes too long when you did it?</example><!-- #2923 --> <example type="untouched">Bugs and new features can handled by the LT-team directly.</example><!-- #3251 --> <example type="untouched">New features can handled by the team directly.</example><!-- #3251 --> <example type="untouched">These problems can happened occasionally.</example><!-- #3251 --> <example type="untouched">It is estimated that by 2050, a 3 feet rise in sea levels will inundate some 20 percent of the land and displace more than 30 million people.</example> <example type="untouched">... has become a 68 matches grind with a 38% loss rate ...</example> <example type="untouched">This is not a five minutes task to solve.</example> <example type="untouched">Are my clothes already dry?</example> <example type="untouched">Why are some people shy?</example> <example type="untouched">What is Synthetics monitor doing differently?</example> <example type="untouched">Are your hands clean?</example> <example type="untouched">Much weather derivatives use is occurring in the natural gas markets.</example> <example type="untouched">Which options can I instrumentalize to pay?</example> <example type="untouched">Which options can our customers instrumentalize to pay?</example> <example type="untouched">.. and there is an auto parts store close by call them ask if they test charging systems.</example> <example type="untouched">Your best bet is a VW parts counter that might have a diagram for what you want.</example> <example type="untouched">Only at the very end of the chain of actions can we expect the outcome to change.</example> </rule> <rule id="DONT_MOTHERS_KISS" name="don't mothers kiss"> <pattern> <token postag="SENT_START"/> <token regexp="yes">ca|could|do|did|may|might|must|need|ought|sha|should|wo|would</token> <token regexp="yes">not|n't</token> <marker> <and> <token postag="NNS"/> <token postag="VBZ"/> </and> </marker> <token postag="VBP"/> </pattern> <disambig action="filter" postag="NNS"/> </rule> <rulegroup id="VBP_VBZ_NNS" name="VBZ/NN->VBZ"> <rule> <pattern> <token postag="VBP?" postag_regexp="yes"><exception regexp="yes">are|were</exception></token> <marker> <and> <token postag="VBZ"/> <token postag="NN(:UN?)?" postag_regexp="yes"> <exception postag="NNS"/> </token> </and> </marker> </pattern> <disambig postag="VBZ"/> <example type="untouched">He comes from another city.</example> <example type="untouched">In music, a <marker>comes</marker> is the answer to the first subject (dux) in a fugue. [Shorter OED, 1985.]</example> <example type="untouched">Are <marker>whales</marker> smarter than we are?</example> <example type="untouched">Although they are often considered to be <marker>weeds</marker> in gardens, this viewpoint is not always...</example> <example type="untouched">Does she still wear <marker>weeds</marker>?</example> <example type="ambiguous" inputform="comes[come/VBZ,comes/NN]" outputform="comes[come/VBZ]">What we know <marker>comes</marker> from a book.</example> </rule> </rulegroup> <rule name="Modal verb + plural noun/vbz + plural verb => NNS" id="MD_NNSVBZ_NNS"> <antipattern><!-- "needs" used as an adverb https://www.lexico.com/definition/needs --> <token>must</token> <token>needs</token> </antipattern> <pattern> <token postag="MD"/> <marker> <and> <token postag="NNS"/> <token postag="VBZ"/> </and> </marker> <token min="0" max="1" postag="RB"/> <token postag="VBP?" postag_regexp="yes"> <exception negate_pos="yes" postag_regexp="yes" postag="VBP?"/> </token> </pattern> <disambig postag="NNS"/> <example type="untouched">They should pass the waters.</example> <example type="untouched">If it must needs be.</example> <example type="ambiguous" inputform="taxis[taxi/NNS,taxi/VBZ,taxis/NN]" outputform="taxis[taxi/NNS]">Would <marker>taxis</marker> be cheaper?</example> <example type="ambiguous" inputform="troops[troop/NNS,troop/VBZ]" outputform="troops[troop/NNS]">Confederate commanders would need it should <marker>troops</marker> pass that way in retreat.</example> <example type="ambiguous" inputform="pigs[pig/NNS,pig/VBZ]" outputform="pigs[pig/NNS]">… but might <marker>pigs</marker> fly?</example> <example type="ambiguous" inputform="pigs[pig/NNS,pig/VBZ]" outputform="pigs[pig/NNS]">Will <marker>pigs</marker> ever have wings?</example> </rule> <!-- This is a special cascade, do not change the order of these rules! --> <rulegroup id="POS_ADD2" name="Else's -> POS"> <rule> <pattern> <token regexp="yes">else|\d+</token> <marker> <token>'s</token> </marker> <token postag="NN.*" postag_regexp="yes"/> </pattern> <disambig action="replace"><wd pos="POS" lemma="'s"/></disambig> <example type="untouched">His books are nice.</example> <example type="ambiguous" inputform="'s['s/POS,be/VBZ]" outputform="'s['s/POS]" >Somebody else<marker>'s</marker> hypothesis needs to be tested.</example> <example type="ambiguous" inputform="'s['s/POS,be/VBZ]" outputform="'s['s/POS]" >Apollo 11<marker>'s</marker> flight needs to be tested.</example> </rule> <rule> <pattern> <token postag="UNKNOWN" regexp="yes">\p{Lu}.+</token> <marker> <token>'s</token> </marker> <token postag="NN.*" postag_regexp="yes"/> </pattern> <disambig action="replace"><wd pos="POS" lemma="'s"></wd></disambig> <example type="untouched">His books are nice.</example> <example type="ambiguous" inputform="'s['s/POS,be/VBZ]" outputform="'s['s/POS]" >WD-2<marker>'s</marker> hypothesis needs to be tested.</example> </rule > <!-- <rule id="ONES_POS" name="One's -> POS"> <pattern> <token postag_regexp="yes" postag="NN|JJ|CD|UNKNOWN"/> <marker> <token>'s</token> </marker> <token postag="NN.*" postag_regexp="yes"/> </pattern> <disambig postag="POS"/> <example type="untouched">His books are nice.</example> <example type="ambiguous" inputform="'s['s/POS,be/VBZ]" outputform="'s['s/POS]" >One<marker>'s</marker> hypothesis needs to be tested.</example> </rule>--> </rulegroup> <rule id="HELP-VB-DT" name="help + verb/noun + determiner"> <pattern> <token inflected="yes">help</token> <marker> <and> <token postag="VB"/> <token postag="NN(:UN?)?" postag_regexp="yes"/> </and> </marker> <token postag="DT"/> </pattern> <disambig postag="VB"/> <example type="ambiguous" inputform="train[train/NN,train/VB,train/VBP]" outputform="train[train/VB]">Our army helped <marker>train</marker> the Armenian soldiers.</example> </rule> <rule id="CD_AD" name="24 AD"> <pattern case_sensitive="yes"> <token postag="CD"/> <marker> <token>AD</token> </marker> </pattern> <disambig postag="NNP"/> <example type="untouched">1 ad for you</example> <example type="ambiguous" inputform="AD[AD/NNP,ad/NN]" outputform="AD[AD/NNP]">24 <marker>AD</marker> is a memorable date.</example> </rule> <rule id="NNP_CIUDAD_DE" name="NNP for Spanish names containing 'de'"> <pattern case_sensitive="yes"> <marker> <token regexp="yes">&hispanic_nnp;</token> <token>de</token> <token regexp="yes" min="0">[Ll]a</token> <token regexp="yes">[A-Z].+</token> </marker> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule id="NNP_CIUDAD_DEL" name="NNP for Spanish geo names containing 'del'"> <pattern case_sensitive="yes"> <marker> <token regexp="yes">&hispanic_nnp;</token> <token>del</token> <token regexp="yes">[A-Z].+</token> </marker> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule id="ALEXANDER_THE_GREAT" name="NNP for 'Alexander the Great'"> <pattern case_sensitive="yes"> <marker> <token>Alexander</token> <token regexp="yes">[Tt]he</token> <token>Great</token> </marker> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule id="PLAY_STORE" name="NNP for 'Play Store'"> <pattern> <marker> <token>Play</token> <token>Store</token> </marker> </pattern> <disambig action="add"><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule id="NNP_DE_LA" name="NNP for Hispanic city names containing 'de la'"> <pattern> <marker> <token postag="NNP|UNKNOWN" postag_regexp="yes" regexp="yes" case_sensitive="yes">[A-Z].+</token> <token>de</token> <token regexp="yes">los|las?</token> <token postag="NNP|UNKNOWN" postag_regexp="yes" regexp="yes" case_sensitive="yes">[A-Z].+</token> </marker> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule id="NNP_OCCUPY_MOVEMENT" name="NNP for 'Occupy movement'"> <pattern> <token>occupy</token> <token>movement</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule id="NNP_S_AND_P_500" name="NNP for 'S&P 500'"> <pattern> <token regexp="yes">S&P|Fortune</token> <token>500</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule id="BLINK_182" name="NNP for 'Blink 182'"> <pattern> <token>Blink</token> <token>182</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule id="TAIPEI_101" name="NNP for 'Taipei 101'"> <pattern> <token>Taipei</token> <token>101</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule id="RED_BULL" name="NNP for 'Red Bull'"> <pattern case_sensitive="yes"> <token>Red</token> <token>Bull</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule id="BOOKING_COM" name="NNP for 'Booking.com'"> <pattern> <token>booking</token> <token spacebefore="no">.</token> <token spacebefore="no">com</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule id="FORMULA_ONE" name="NNP for 'Formula One'"> <pattern> <token>Formula</token> <token regexp="yes">One|1</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule id="DISNEY_PLUS" name="NNP for 'Disney+'"> <pattern> <token>Disney</token> <token regexp="yes">Plus|\+</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule id="NNP_LEARN_D_ASTRONOMER" name="NNP for 'Learn’d Astronomer'"> <pattern case_sensitive="yes"> <token>Learn</token> <token regexp="yes">&apostrophe;</token> <token>d</token> <token>Astronomer</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule id="NNP_HAGIA_SOPHIA" name="NNP for 'Hagia Sophia'"> <pattern> <token>Hagia</token> <token>Sophia</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule id="NNP_SOX" name="NNP for 'White/Red Sox'"> <!-- Baseball Teams --> <pattern> <token regexp="yes">White|Red</token> <token>Sox</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule id="CAME_FROM" name="came -> vbd"> <pattern> <marker><token>came</token></marker> <token>from</token> </pattern> <disambig postag="VBD" /> </rule> <rule id="SAW_PRP" name='saw him'> <pattern> <marker><token>saw</token></marker> <token postag="PRP"/> </pattern> <disambig postag="VBD"/> <example type="ambiguous" inputform="saw[saw/NN,saw/VB,saw/VBP,see/VBD]" outputform="saw[see/VBD]">The years 1812 and 1813 <marker>saw</marker> him in Germany and France again</example> </rule> <!-- Proper nouns as a prerequisite for the poor man's entity recognizer. Refer also to the proper nouns just before the rulegroup IGNORE_SPELLING_OF_NNP. --> <rule id="MOS_TECHNOLOGY" name="MOS Technology"> <pattern case_sensitive="yes"> <token>MOS</token> <token>Technology</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/></disambig> <example type="untouched">MOS technology is used to...</example> <example type="ambiguous" inputform="MOS[MOS]" outputform="MOS[MOS/NNP]"><marker>MOS</marker> Technology was formed in 1969 (https://en.wikipedia.org/wiki/MOS_Technology_6502).</example> </rule> <rule id="MOS_6502" name="MOS 6502"> <pattern case_sensitive="yes"> <marker> <token>MOS</token> </marker> <token>6502</token> </pattern> <disambig action="add"><wd pos="NNP"/></disambig><!-- Add 'NNP' only to 'MOS'. The entity recogniser will add 'NNP' to '6502' --> <example type="ambiguous" inputform="MOS[MOS]" outputform="MOS[MOS/NNP]">Figure 1 shows a <marker>MOS</marker> 6502 processor in a DIP-40 plastic package.</example> </rule> <!-- poor man's entity recognizer to recognize numbers contained in proper names --> <rule id="NNP_CD" name="Apollo 11"> <pattern> <token postag="NNP"> <exception regexp="yes">&months;|&abbrevMonths;</exception> <exception case_sensitive="yes">For</exception><!-- "For" is NNP (maybe a surname?) --> </token> <marker><token postag="CD" regexp="yes">\d+</token></marker> </pattern> <disambig action="add"><wd pos="NNP"/></disambig> <example type="untouched">Apollo is beautiful.</example> <example type="untouched">The problem occurred on November 33 of the year after.</example><!-- Premium #1187 --> <example type="untouched">The problem started in January 4 years ago.</example> <example type="untouched">For three nights.</example> <example type="untouched">In three nights.</example> <example type="ambiguous" inputform="12[12/CD]" outputform="12[12/CD,12/NNP]">Apollo <marker>12</marker> was beautiful.</example> </rule> <rule id="VBN_VBD" name="Past Participle"> <antipattern><!-- If an adverb is an intensifier, then the VBN word is probably an adjective. https://learnenglish.britishcouncil.org/english-grammar/intensifiers --> <token inflected="yes">be</token> <token min="0" max="1">not</token> <token regexp="yes">absolutely|amazingly|completely|exceptionally|incredibly|particularly|quite|really|remarkably|totally|unusually|utterly|very</token><!-- Common intensifiers --> <token postag="JJ"/> </antipattern> <antipattern><!-- Incorrect grammar: was it's cost --> <token inflected="yes" regexp="yes">be|have</token> <token>it</token> <token spacebefore="no">'s</token> <token postag_regexp="yes" postag="NN.*"/> </antipattern> <antipattern><!-- drank. Not the standard past participle. Only AmE: www.merriam-webster.com/dictionary/drink --> <token inflected="yes" regexp="yes">be|have</token> <token>drank</token> </antipattern> <antipattern><!-- #3220 have questions please let me --> <token inflected="yes" regexp="yes">be|have</token> <token postag="NNS"/> <token postag="RB"/> <token postag_regexp="yes" postag="VBP?"/> </antipattern> <antipattern><!-- ma'am I got ... --> <token /> <token regexp="yes">&apostrophe;</token> <token spacebefore="no">am</token> </antipattern> <antipattern><!-- #3322 thinking is wrong please let --> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> <token regexp="yes">is|was</token> <token postag_regexp="yes" postag="JJR?"/> <token postag="RB"/> <token postag_regexp="yes" postag="VBP?"/> </antipattern> <antipattern><!-- #3322 should be present definitely let --> <token postag_regexp="yes" postag="MD|RB"/> <token>be</token> <token postag_regexp="yes" postag="JJR?"/> <token postag="RB"/> <token postag_regexp="yes" postag="VBP?"/> </antipattern> <antipattern><!-- #3322 'this' as a pronoun: www.lexico.com/definition/this --> <token>this</token> <token regexp="yes">is|was|be</token> <token postag_regexp="yes" postag="JJR?"/> <token postag="RB"/> <token postag_regexp="yes" postag="VBP?"/> </antipattern> <antipattern><!-- #3322 'none' and 'either' as pronouns: www.lexico.com/definition/none --> <token inflected="yes" regexp="yes">be|have</token> <token regexp="yes">either|none</token> <token postag="RB"/> <token postag_regexp="yes" postag="VBP?"/> </antipattern> <antipattern><!-- #3322 have time please let --> <token inflected="yes">have</token> <token postag_regexp="yes" postag="NN(:UN?)?"/><!-- chunker error: has merit/I-VP please let me --> <token postag="RB"/> <token postag_regexp="yes" postag="VBP?"/> </antipattern> <antipattern><!-- #3364 are must not let let --> <token inflected="yes" regexp="yes">be|have</token> <token postag="MD"/> <token postag="RB"/> <token postag_regexp="yes" postag="VBP?"/> </antipattern> <antipattern><!-- #3329 had something you wanted to --> <token inflected="yes" regexp="yes">be|have</token> <token postag_regexp="yes" postag="NN:UN?"/> <token regexp="yes">&subject_pronouns;</token> <token postag="VBD"/> <token postag_regexp="yes" postag="TO|IN"/> </antipattern> <antipattern> <token inflected="yes">be</token> <token>bit</token> <token postag="JJ.*" postag_regexp="yes" /> </antipattern> <antipattern><!-- When Burnet was ashore he hastened to William --> <token inflected="yes" regexp="yes">be|have</token> <token postag="JJ.*" postag_regexp="yes" /> <token postag="PRP|NNP" postag_regexp="yes" /> <token postag="VBD" /> </antipattern> <antipattern><!-- Mary had everything she wanted. --> <token inflected="yes" regexp="yes">be|have</token> <token postag="PRP" /> <token postag="PRP" /> </antipattern> <antipattern><!-- Mary had everything she wanted. --> <token inflected="yes" regexp="yes">be|have</token> <token postag="NN.*" postag_regexp="yes" /> <token postag="PRP" /> <token postag="VBD"/> </antipattern> <antipattern><!-- She's not the woman she was before she got married. / It didn’t work, that’s why it got removed. --> <token inflected="yes" regexp="yes">be|have</token> <token postag="IN|CC|W.*" postag_regexp="yes" /> <token postag="PRP" /> <token postag="VBD"/> </antipattern> <antipattern><!-- If you are not on this list and should be please let me know. --> <token inflected="yes" regexp="yes">be|have</token> <token>please</token> <token postag="VB" /> </antipattern> <antipattern> <token inflected="yes" regexp="yes">be|have</token> <token postag="NN.*" postag_regexp="yes" /> <token postag="PRP|NN.*" postag_regexp="yes" /> <token postag="VBD" /> </antipattern> <antipattern><!-- It was there he discovered the mighty outflow river --> <token inflected="yes" regexp="yes">be|have</token> <token postag="RB.*" postag_regexp="yes" /> <token postag="PRP|NN.*" postag_regexp="yes" /> <token postag="VBD" /> </antipattern> <antipattern> <token><exception postag="DT|JJ.*|PRP\$" postag_regexp="yes"/></token> <token postag="NN(:UN)?" postag_regexp="yes"><exception postag="VB"/></token> <token>'s</token> <token postag="VB[DP]" postag_regexp="yes"><exception postag="NN.*|JJ.*" postag_regexp="yes"/><exception>got</exception></token> </antipattern> <antipattern> <!-- TODO: generalize --> <token>get</token> <token>'s</token> <token>used</token> </antipattern> <antipattern><!-- The problem is they never asked --> <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*" /> <token regexp="yes">is|was</token> <token regexp="yes">they|we|I|you</token> <token postag="RB" min="0" /> <token postag="VBN" /> </antipattern> <antipattern><!-- If it is next please let me know --> <token inflected="yes" regexp="yes">be|have</token> <token postag="PRP|NN.*|RB" postag_regexp="yes" /> <token>please</token> <token postag="VB" /> </antipattern> <antipattern><!-- the man believed to be Hood got out and began shooting --> <token regexp="yes">be|been</token> <token postag="NN.*" postag_regexp="yes" chunk_re=".-NP.*" /> <token postag="VBD" /> </antipattern> <pattern> <token inflected="yes" regexp="yes"> be|have <exception>'d</exception> </token> <token min="0" max="2" postag="PRP|NN.*|RB" postag_regexp="yes" /> <marker> <and> <token postag="VBD"/> <token postag="VBN"> <exception regexp='yes'>crowded|tired|forced</exception> </token> </and> </marker> </pattern> <disambig postag="VBN"/> <example type="untouched">He has a car.</example> <example type="untouched">He is quite <marker>confused</marker> to be in this situation.</example> <example type="untouched">If it is next please let me know.</example> <example type="untouched">Why’d you shut Randy down?</example> <example type="untouched">the man believed to be Hood got out and began shooting</example> <example type="untouched">She was not very <marker>pleased</marker> about the result.</example> <example type="untouched">Incorrect grammar. The primary problem was <marker>it's cost</marker>.</example> <example type="untouched">Incorrect grammar. ... and have <marker>it's cost calculations</marker> been...?</example> <example type="untouched">Informal/non-standard. He had <marker>drank</marker> that too quickly.</example> <example type="untouched">If you have questions please let me know.</example><!-- #3220 --> <example type="untouched">If there are problems please put the manager in the loop.</example><!-- #3220 --> <example type="untouched">If there are problems immediately put me in touch with the manager.</example><!-- #3220 --> <example type="untouched">If you were having ideas quickly set all of them aside.</example><!-- #3220 --> <example type="untouched">If my thinking is wrong please let me know.</example><!-- #3322 --> <example type="untouched">Given that the information is wrong immediately put a flag on the data.</example><!-- #3322 --> <example type="untouched">If any of you feel that others should be present definitely let me know.</example><!-- #3322 --> <example type="untouched">Assuming others should actually be present certainly let them know about the meeting.</example><!-- #3322 --> <example type="untouched">If there are none please let us know also and we will prepare the final document for execution.</example><!-- #3322 --> <example type="untouched">If this is true please put it on my schedule.</example><!-- #3322 --> <example type="untouched">If you no longer have DSL or Cable service or You do not have either please let us know.</example><!-- #3322 --> <example type="untouched">If you have time please let me know if you know of anything.</example><!-- #3322 --> <example type="untouched">... if my strategic concept has merit please let me know.</example><!-- #3322 --> <example type="untouched">I was bit confused.</example> <example type="untouched">The only problem is they never asked me if I was planning on going over.</example> <example type="untouched">Because your proposed strategic concept has merit please let all members of the team know.</example><!-- #3322 --> <example type="untouched">The questions about who the fat technicians really are must not let us become distracted from the...</example><!-- #3364 --> <example type="untouched">Information about who these people were can invariably let us imagine their lives.</example><!-- #3364 --> <example type="untouched">Tom said you had something you wanted to tell me.</example><!-- #3329 --> <example type="untouched">Are you sure this is something you wanted to tell me?</example><!-- #3329 --> <example type="untouched">That was wine I wanted for the cooking.</example><!-- #3329 --> <example type="untouched">I’m glad it got figured out.</example> <example type="untouched">I’m glad it worked.</example> <example type="untouched">Mary had everything she wanted.</example> <example type="untouched">He had everything he needed.</example> <example type="untouched">It didn’t work, that’s why it got removed.</example> <example type="untouched">I’m sure it happened like she said.</example> <example type="untouched">He could have anything he wanted.</example> <example type="untouched">She's not the woman she was before she got married.</example> <example type="untouched">But still it’s strange it happened.</example> <example type="untouched">Incorrect grammar: Which of the books have not you read yet?</example> <example type="untouched">It was there he discovered the mighty outflow river</example> <example type="untouched">If you are not on this list and should be please let me know.</example> <example type="untouched">When Burnet was ashore he hastened to William and eagerly enquired what William now intended to do.</example> <example type="untouched">Timothy only found out who his sponsor had been after he graduated from the program at 17</example> <!-- <example type="untouched">She was <marker>pleased</marker> with her new car.</example> Adjective. Compare with the 'considered' example. Refer to https://en.wikipedia.org/wiki/English_passive_voice#Stative_and_adjectival_uses --> <example type="ambiguous" inputform="made[make/VBD,make/VBN]" outputform="made[make/VBN]">He has <marker>made</marker> a mistake.</example> <example type="ambiguous" outputform="liked[like/VBN]" inputform="liked[like/VBD,like/VBN]">Have you <marker>liked</marker> Dutch jazz music?</example> <example type="ambiguous" inputform="considered[consider/VBD,consider/VBN,considered/JJ]" outputform="considered[consider/VBN]">... forming the negative hydride ion, and is very occasionally <marker>considered</marker> to be a halogen on that basis.</example> <example type="untouched">Ma'am I got the wrong one.</example> </rule> <rule id="VBD_VBN" name="Past"> <antipattern><!-- the basic installed software is --> <token postag="DT|PRP\$" postag_regexp="yes"/> <token postag="JJ.?" postag_regexp="yes"/> <token postag="JJ|VBN" postag_regexp="yes"/> <token chunk="E-NP-singular"/> <token postag="VB[DZ]" postag_regexp="yes"/> </antipattern> <antipattern><!-- His proposed plan to remove --> <token postag="DT|PRP\$" postag_regexp="yes"/> <token postag="JJ.?" postag_regexp="yes"/> <token postag="NN(:UN?)?" postag_regexp="yes"/><!-- Cannot use chunk: plan/E-NP-plural --> <token>to</token> </antipattern> <antipattern><!-- #3349 Also featured were --> <token postag="RB"/> <token postag="VBN"/> <token regexp="yes">are|were</token> </antipattern> <antipattern><!-- #3263 can elected officials rage...? --> <token postag="MD"/> <token postag="VBN"/> <token postag="NNS"/> <token skip="-1" postag_regexp="yes" postag="VB|RB"/> <token>?</token> </antipattern> <antipattern><!-- #3387 Please forward executed version --> <token>Please</token> <token postag_regexp="yes" postag="VBP?"/> <token postag="VBN"/> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> </antipattern> <antipattern><!-- this needs specialized people --> <token regexp="yes">that|this</token> <token postag="VBZ" /> <token postag="JJ" /> </antipattern> <antipattern> <token>one</token> <token>thought</token> <token regexp="yes" min="0">that|which</token> <token postag="PRP_S.*|DT|NNP" postag_regexp="yes" /> </antipattern> <pattern> <token postag="SENT_START" skip="-1"><exception scope="next" inflected="yes" regexp="yes">be|have</exception></token> <token postag_regexp="yes" postag="PRP|NN.*"/> <marker> <and> <token postag="VBD"><exception postag="VB"/></token> <token postag="VBN"/> </and> </marker> </pattern> <disambig postag="VBD"/> <example type="ambiguous" inputform="had[have/VBD,have/VBN]" outputform="had[have/VBD]">He <marker>had</marker> a car.</example> <example type="ambiguous" inputform="featured[feature/VBD,feature/VBN,featured/JJ]" outputform="featured[feature/VBD]">The videos <marker>featured</marker> many excellent examples of...</example> <example type="untouched">He has made a mistake.</example> <example type="untouched">Past participle adjective. The basic <marker>installed</marker> software is not sufficient.</example> <example type="untouched">His proposed plan to remove the...</example> <example type="untouched">Also featured were two music videos ("Long...</example><!-- #3349 --> <example type="untouched">How can elected officials rage about deficits?</example><!-- #3263 --> <example type="untouched">Will elected officials actually do anything about the problem?</example><!-- #3263 --> <example type="untouched">Please forward executed version.</example><!-- #3387 --> <example type="untouched">This needs specialized people.</example> </rule> <rule id="JJ_VB" name="companies: verb to noun if preceded by adj"> <pattern> <token postag="JJ.*" postag_regexp="yes"/> <marker> <and> <token>companies</token> <token postag="VBZ"/> <token postag="NNP?S" postag_regexp="yes"/> </and> </marker> </pattern> <disambig action="remove" postag="VBZ"/> <example type="untouched">I hope a fair wind <marker>companies</marker> the ship until it returns to these shores.</example> <example type="ambiguous" inputform="companies[company/NNS,company/VBZ]" outputform="companies[company/NNS]">There were better <marker>companies</marker> than these.</example> </rule> <rule id="VB_NNPRP_PRP" name="mine as PRP$"> <pattern> <token regexp="yes" postag="VB[ZPG]?" postag_regexp="yes" inflected="yes">be|have</token> <marker> <and> <token postag="NN"/> <token postag="PRP$"/> </and> </marker> </pattern> <disambig postag="PRP$"/> <example type="untouched">It's a coal mine.</example> <example type="ambiguous" inputform="mine[I/PRP$_P1S,mine/NN,mine/PRP$,mine/VB,mine/VBP]" outputform="mine[mine/PRP$]">It's <marker>mine</marker>.</example> </rule> <rule id="VBP_NN_VBZ" name="company -> noun"> <antipattern> <token regexp="yes">you|we|they</token> <token>are</token> <token postag="VB[ZP]?" postag_regexp="yes"/> <token postag="IN"/> </antipattern> <antipattern><!-- #2657 I will be search for --> <token regexp="yes">&subject_pronouns;</token> <token postag="MD"/> <token>be</token> <token postag="VB"/> <token postag="IN"/> </antipattern> <antipattern><!-- It is need for review --> <token regexp="yes">&subject_pronouns;</token> <token inflected="yes">be</token> <token postag="VB"/> <token postag="IN|TO" postag_regexp="yes" /> </antipattern> <antipattern><!-- It is need for review --> <token regexp="yes">&subject_pronouns;</token> <token regexp="yes">&apostrophe;</token> <token inflected="yes">be</token> <token postag="VB"/> <token postag="IN|TO" postag_regexp="yes" /> </antipattern> <antipattern> <token regexp="yes">s?he|it</token> <token>'s</token> <token postag="VBZ" chunk_re=".-VP" /> </antipattern> <antipattern><!-- I'd like to be refund --> <token regexp="yes" inflected="yes">like|want|have|try</token> <token>to</token> <token>be</token> <token postag="VB" /> <token postag="IN|PCT|DT|PRP\$" postag_regexp="yes" /> </antipattern> <antipattern><!-- incorrect grammar: "It's works without problems" --> <token regexp="yes">it|that</token> <token regexp="yes">'s|is</token><!-- TODO add 'was' --> <token postag="VBZ"> <exception regexp="yes">companies|friends|actions|guts|eggs|eyes|buddies|twins|guys|fruits|beans|horses|headquarters|bruises|wives</exception> </token> <token postag="RB" min="0" /> <token postag="IN|PRP\$|DT" postag_regexp="yes" chunk_re=".-(NP.*|PP)" /><!-- TODO add 'PCT' --> </antipattern> <antipattern><!-- incorrect grammar: "It's works without problems" --> <token regexp="yes">s?he|it</token> <token>'s</token> <token postag="VBZ" regexp="yes"> <!-- verbs that are also plural nouns but more likely used as verbs --> works|goes|moves|puts|needs|gets|comes|uses|gives|makes|sees|watches|approaches|tries|wants|says|mentions|knows|hopes|gives|looks|finds|tells|means|turns|leaves|feels|asks|attempts|keeps|follows|helps|runs|reads|plays|pays </token> <token postag="RB" min="0" /> <token postag="IN|PRP\$|DT" postag_regexp="yes" chunk_re=".-(NP.*|PP)" /><!-- TODO add 'PCT' --> </antipattern> <antipattern><!-- incorrect grammar: "It's works without problems" --> <token regexp="yes">s?he</token> <token>is</token><!-- TODO add 'was' --> <token postag="VBZ"> <exception regexp="yes">companies|friends|actions|guts|eggs|eyes|buddies|twins|guys||fruits|beans|horses|headquarters|bruises|wives</exception> </token> <token postag="RB" min="0" /> <token postag="IN|PRP\$|DT" postag_regexp="yes" chunk_re=".-(NP.*|PP)" /><!-- TODO add 'PCT' --> </antipattern> <antipattern> <token>that</token> <token>'s</token> <token>what</token> <token>'s</token> <token postag="VB[ZD]" postag_regexp="yes" /> </antipattern> <antipattern><!-- The dog has bark at me --> <token inflected="yes" regexp="yes">have|be</token> <token regexp="yes">forward|bark|yell|build|change|open|notice|use|view|check|purchase|search|wire|gain|finish|wait|leave|talk|order|drill|find|think|ride|turn|say|get|go|show|kill|ask|play|launch|mention|tell</token> <token postag="IN|TO|P?DT|PRP\$|PCT" postag_regexp="yes" /> </antipattern> <antipattern><!-- I have contact my lawyer --> <token inflected="yes" regexp="yes">have|be</token> <token>contact</token> <token postag="P?DT|PRP.*" postag_regexp="yes" /> </antipattern> <antipattern> <token regexp="yes" postag="VB[ZPG]?" postag_regexp="yes" inflected="yes">be|have</token> <token chunk_re=".-VP" postag="VB[ZP]?" postag_regexp="yes" /> <token postag="P?DT|PRP\$" postag_regexp="yes" /> </antipattern> <pattern> <token regexp="yes" postag="VB[ZPG]?" postag_regexp="yes" inflected="yes">be|have</token> <marker> <and> <token postag="NN.*" postag_regexp="yes"> <exception postag="NN|JJ.*" postag_regexp="yes"/> <exception scope="next" postag="DT|RB" postag_regexp="yes"/> <exception case_sensitive="yes">BE</exception> <exception regexp="yes">barks?|goes|tells|says|finds|thinks|gets|make</exception> </token> <token postag="VB[ZP]?" postag_regexp="yes"/> </and> <token><exception postag_regexp="yes" postag="NNP|PRP"/></token> </marker> </pattern> <disambig action="remove" postag="VB.*"/> <example type="untouched">It's still valid.</example> <example type="untouched">Incorrect grammar. People have make many types of mistakes with verb agreement.</example> <example type="untouched">Incorrect grammar. It is need for review.</example> <example type="untouched">Incorrect grammar. It's need for review.</example> <example type="untouched">Incorrect grammar. It's goes there.</example> <example type="untouched">Incorrect grammar. I'm regret my susbcription already.</example> <example type="untouched">Incorrect grammar. The dog has bark at me.</example> <example type="untouched">Incorrect grammar. I have contact my lawyer</example> <example type="untouched">Incorrect grammar. It's works without problems.</example> <example type="untouched">Incorrect grammar. The technician has <marker>make</marker> about 20 errors this year.</example> <example type="untouched">I have <marker>notice</marker> LanguageTool doesn't find all errors.</example><!-- Possibly a noun (=somebody has told me (that)), but possibly incorrect verb form (should be 'noticed') --> <example type="untouched">Incorrect grammar. I have <marker>start</marker> he tomorrow.</example> <example type="untouched">Incorrect grammar. They are build from wood.</example> <example type="untouched">Incorrect grammar. We are drive to London.</example> <example type="untouched">Incorrect grammar: I will be search for you.</example><!-- #2657 --> <example type="untouched">Incorrect grammar: I would like to be refund.</example><!-- #2657 --> <example type="ambiguous" inputform="companies[company/NNS,company/VBZ]" outputform="companies[company/NNS]">They have <marker>companies</marker>.</example> </rule> <rule id="VBP_NN_VBZ_NN" name="have palm trees - palm is a noun"> <antipattern> <token>let</token> <token>'s</token> </antipattern> <antipattern> <token regexp="yes" postag="VB[ZPG]?" postag_regexp="yes" inflected="yes">be|have</token> <token postag="VBP" postag_regexp="yes" chunk_re=".-VP" /> <token postag="NN.*" postag_regexp="yes" /> </antipattern> <pattern> <token regexp="yes" postag="VB[ZPG]?" postag_regexp="yes" inflected="yes">be|have</token> <marker> <and> <token postag="NN.*" postag_regexp="yes"><exception postag="JJ.*" postag_regexp="yes"/></token> <token postag="VB[ZP]?" postag_regexp="yes"><exception postag="VBN"/></token> </and> <token postag="NN.*" postag_regexp="yes"><exception>by</exception><exception postag="NNP"/></token> </marker> </pattern> <disambig action="remove" postag="VB.*"/> <example type="untouched">The advert for bicycles is to <marker>be run</marker> in local newspapers from March to August.</example> <example type="untouched">Incorrect grammar: I'm <marker>find</marker> macro focus stacking hard.</example> <example type="untouched">I have <marker>notice</marker> LanguageTool doesn't find all errors.</example><!-- Possibly a noun (=somebody has told me (that)), but possibly incorrect verb form (should be 'noticed') --> <!-- done by VBP_NN_VBZ <example type="ambiguous" inputform="weeds[weed/NNS,weed/VBZ]" outputform="weeds[weed/NNS]">Although they are often considered to be <marker>weeds</marker> in gardens, this viewpoint is not always...</example>--> </rule> <rule name="saw as a verb" id="PRP_SAW"> <pattern> <token postag="PRP"/> <marker><token>saw</token></marker> </pattern> <disambig postag="VBD"/> <example type="untouched">I used my saw.</example> <example type="ambiguous" inputform="saw[saw/NN,saw/VB,saw/VBP,see/VBD]" outputform="saw[see/VBD]">This is what he <marker>saw</marker>.</example> </rule> <rule id="PAY_TAXES" name="taxes as noun"> <pattern> <token skip="2" inflected="yes">pay</token> <marker><token>taxes</token></marker> </pattern> <disambig action="replace"><wd pos="NNS" lemma="tax"/></disambig> <example type="untouched">Taxes are important.</example> <example type="ambiguous" inputform="taxes[tax/NNS,tax/VBZ,taxis/NNS]" outputform="taxes[tax/NNS]">Pay your <marker>taxes</marker>.</example> </rule> <rule id="DT_WAY" name="a/the + way => noun"> <pattern> <token postag="DT"/> <marker><token>way</token></marker> </pattern> <disambig postag="NN:UN"/> <example type="untouched">It's way too much.</example> <example type="ambiguous" inputform="way[way/NN:UN,way/RB]" outputform="way[way/NN:UN]">There is a <marker>way</marker>.</example> </rule> <rule id="RBNN_RB" name="adv/noun + verb -> adv"> <antipattern><!-- This set back is annoying --> <token postag="DT"/> <token postag_regexp="yes" postag="NN.*"/> <token postag="RB"/> <token postag="VBZ"/> </antipattern> <antipattern><!-- #2223 It's not good, so don't buy it --> <token postag="CC"/> <token postag="VBP"/> <token>n't</token> <token postag_regexp="yes" postag="VBP?"/> </antipattern> <antipattern><!-- its home games --> <token postag="PRP$"/> <token chunk="I-NP-plural" postag_regexp="yes" postag="JJR?|NN.*"/> </antipattern> <antipattern><!-- Premium #1006 one's home is --> <token postag="POS">'s</token> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token regexp="yes">is|was</token> </antipattern> <antipattern><!-- #2662 once running it --> <token postag="CC"/> <token postag="VBG"/> <token regexp="yes">&subject_pronouns;</token> </antipattern> <antipattern><!-- #3321 have little snow --> <token postag_regexp="yes" postag="VB.*"/> <token chunk="B-NP-singular" postag="JJ"/> </antipattern> <antipattern><!-- #3321 do little training sessions --> <token postag_regexp="yes" postag="VB.*"/> <token chunk="B-NP-plural" postag="JJ"/> </antipattern> <antipattern><!-- Ok so can i put this in a lamp rather than a ceiling light? --> <token postag="RB">so</token> <token postag="MD" /> <token regexp="yes">i|we|they|s?he|you|it</token> </antipattern> <antipattern> <token>so</token> <token>please</token> <token postag="VB" /> </antipattern> <antipattern> <token>so</token> <token regexp="yes">thanks?</token> </antipattern> <antipattern> <token>so</token> <token inflected="yes" regexp="yes">be|do|have</token> <token regexp="yes">that|this|they|we|s?he|it|you|I|(any|some|every|no)(thing|body|one)</token> </antipattern> <antipattern> <token>so</token> <token inflected="yes" regexp="yes">be|do|have</token> <token>n't</token> <token regexp="yes">that|this|they|we|s?he|it|you|I|(any|some|every|no)(thing|body|one)</token> </antipattern> <antipattern><!-- #4918 north tunnel [adjective in a noun phrase] --> <token chunk_re=".-NP-singular" postag="JJ"/> <token chunk_re=".-NP-singular"/> </antipattern> <pattern> <marker> <and> <token postag="RB"> <exception regexp="yes">supply|way|east|north|south|west|above</exception> <exception postag="IN" /> <exception scope="previous" postag="DT"/> <exception scope="previous">the</exception><!-- matcing misspelled "THe" (which is not DT) --> </token> <token postag_regexp="yes" postag="NN:UN?"/> </and> </marker> <token postag_regexp="yes" postag="VB.?"> <exception postag="IN" /> </token> </pattern> <disambig postag="RB"/> <example type="untouched">It took them forever.</example> <example type="untouched">It worked for me though so thank you!</example> <example type="untouched">We <marker>supply</marker> parts to the auto manufacturer.[Adverb variant of 'supplely': https://www.lexico.com/definition/supplely]</example> <example type="untouched">Incorrect. Should be 'setback', but 'back' is not an adverb in this context. This set <marker>back</marker> is annoying.</example> <example type="untouched">It's not good, <marker>so</marker> don't buy it.</example><!-- #2223 --> <example type="untouched">Adjective: The national team plays its <marker>home</marker> games at the Ghazi Stadium in Kabul.</example> <example type="untouched">Noun: ... the only state in which possession of one ounce or less of marijuana in one's <marker>home</marker> is completely legal under state law.</example><!-- Premium #1006 --> <example type="untouched">Conjunction: It starts slowly - <marker>once</marker> running it's difficult to stop. </example><!-- #2662 --> <example type="untouched">We will have little snow this winter.</example><!-- #3321 --> <example type="untouched">They expected little snow over Christmas.</example><!-- #3321 --> <example type="untouched">I will do little training sessions.</example><!-- #3321 --> <example type="untouched">Ok so can i put this in a lamp rather than a ceiling light?</example> <example type="untouched">It’s been a day so are you still not seeing any data?</example> <example type="untouched">It’s been a day so aren't you still seeing data?</example> <example type="untouched">...a major leak in the Interstate 93 north tunnel forced the closure of the tunnel while ...</example><!-- #4918 --> <example type="ambiguous" inputform="forever[forever/NN:U,forever/RB]" outputform="forever[forever/RB]">You're <marker>forever</marker> making mistakes.</example> </rule> <rule name="as" id="AS_ADVERB"> <antipattern><!-- #3143 as we speak --> <token>as</token> <token regexp="yes">I|you|we|they</token> <token postag_regexp="yes" postag="MD|VB[PD]"/> </antipattern> <antipattern><!-- #3143 as he tells --> <token>as</token> <token regexp="yes">s?he|it</token> <token postag_regexp="yes" postag="MD|VB[ZD]"/> </antipattern> <antipattern><!-- I think past negotiations have not gone as well as you or I would have liked. --> <token>as</token> <token postag="PRP" /> <token regexp="yes">and|&|or</token> <token postag="PRP|NNP" postag_regexp="yes" /> <token postag_regexp="yes" postag="MD|VB[PD]"/> </antipattern> <antipattern> <token>its</token> <token postag="VBG" /> <token>as</token> </antipattern> <antipattern> <token>its</token> <token postag="RB" /> <token postag="VBG" /> <token>as</token> </antipattern> <antipattern> <token inflected="yes">be</token> <token postag="VBG" /> <token>as</token> </antipattern> <antipattern> <token inflected="yes">be</token> <token postag="RB" /> <token postag="VBG" /> <token>as</token> </antipattern> <pattern> <token postag="JJ" chunk_re=".-AD[VJ]P"> <exception regexp="yes">same|though</exception> <exception postag="VBG" /> </token> <marker> <token case_sensitive="yes" regexp="yes">[Aa]s</token> </marker> </pattern> <disambig postag="RB"/> <example type="untouched">They are wed as gods.</example> <example type="untouched">It's working as expected.</example> <example type="untouched">Incorrect grammar: Its working as expected.</example> <example type="untouched">... someone, somewhere, is sending an e-mail as we speak.</example><!-- #3143 --> <example type="untouched">He is not such a fool as you assumed him to be.</example><!-- #3143 --> <example type="untouched">It is fantastic as he tells me constantly.</example><!-- #3143 --> <example type="untouched">Same as you I noticed it was registering presses.</example><!-- #3143 --> <example type="untouched">I think past negotiations have not gone as well as you or I would have liked.</example><!-- #3143 --> <example type="ambiguous" inputform="as[as/CC,as/IN,as/RB]" outputform="as[as/RB]">He is as tall <marker>as</marker> my friend.</example> </rule> <rule name="as" id="AS_ADVERB_2"> <pattern> <marker> <token>as</token> </marker> <token postag="JJ"/> <token>as</token> </pattern> <disambig postag="RB"/> <example type="untouched">They are wed as gods.</example> <example type="ambiguous" inputform="as[as/CC,as/IN,as/RB]" outputform="as[as/RB]">He is <marker>as</marker> tall as my friend.</example> </rule> <rule name="as" id="AS_NOT_ADVERB"> <pattern> <token><exception postag="JJ"/></token> <marker> <token>as</token> </marker> <token><exception postag="JJ"/></token> </pattern> <disambig action="filter" postag="CC|IN"/> <example type="untouched">He is as tall as my friend.</example> <example type="ambiguous" inputform="as[as/CC,as/IN,as/RB]" outputform="as[as/CC,as/IN]">They are wed <marker>as</marker> gods.</example> </rule> <rule name="better than" id="BETTER_THAN"> <pattern> <marker><token postag="..R" postag_regexp="yes"/></marker> <token>than</token> </pattern> <disambig action="filter" postag="..R"/> <example type="untouched">This year's profits should better last year's by a wide margin.</example> <example type="ambiguous" inputform="better[better/NN,better/VB,better/VBP,good/JJR,well/JJR,well/RBR]" outputform="better[good/JJR,well/JJR,well/RBR]">She likes Hiroshima <marker>better</marker> than any other city.</example> </rule> <rule id="PRPPOSS_VB_NN" name="Possessive pronoun + verb/noun =>noun"> <antipattern><!-- #2506 --> <token>her</token> <token>have</token> <token chunk="B-VP" postag_regexp="yes" postag="VB[PZD]"/> </antipattern> <antipattern><!-- #2520 --> <token>her</token> <token chunk="B-VP" postag_regexp="yes" postag="VB[PZD]"/> </antipattern> <antipattern><!-- #2605 had her make [https://dictionary.cambridge.org/grammar/british-grammar/have-something-done] --> <token chunk="B-VP" inflected="yes">have</token> <token>her</token> <token postag="VBP"/> </antipattern> <antipattern><!-- Its set to English (incorrect grammar) --> <token postag="CC|SENT_START|PCT" postag_regexp="yes" /> <token regexp="yes">its|your</token> <token postag="VB.*" postag_regexp="yes" /> <token postag="IN|TO" postag_regexp="yes" /> </antipattern> <antipattern><!-- I think its set to English (incorrect grammar) --> <token inflected="yes" regexp="yes">think|hope|doubt|assume</token> <token regexp="yes">its|your</token> <token postag="VB.*" postag_regexp="yes" /> <token postag="IN|TO" postag_regexp="yes" /> </antipattern> <antipattern><!-- I think its set to English (incorrect grammar) --> <token regexp="yes">its|your</token> <token>still</token> <token postag="VB.*" postag_regexp="yes" /> </antipattern> <pattern> <token postag="PRP$"> <exception>mine</exception> </token> <marker> <and> <token postag="NN.*" postag_regexp="yes"/> <token postag="VB[PZ]?|MD" postag_regexp="yes"/> </and> </marker> </pattern> <disambig action="filter" postag="NN.*|JJ.*"/> <example type="untouched">I do what I want to.</example> <example type="untouched">Grandy was really letting her have it tonight.</example><!-- #2506 --> <example type="untouched">Well, Mom, you can let her have it tonight.</example><!-- #2506 --> <example type="untouched">She said that what Rafe and her have is more than what Kate will ever have with ...</example><!-- #2506 have/E-NP-singular --> <example type="untouched">The only option she and others like her have is to leave.</example><!-- #2506 --> <example type="untouched">The very fact that you suddenly thought about her <marker>makes</marker> it obvious that you like her.</example><!-- #2520 --> <example type="untouched">Awesome, had her <marker>make</marker> it bigger for the hood.</example><!-- #2605 --> <example type="untouched">He, that is, the manager, had her <marker>make</marker> it bigger for the test.</example><!-- #2605 --> <example type="untouched">Incorrect grammar: I do think its still overvalued without a definite weather forecast</example> <example type="untouched">Incorrect grammar: Its set to British.</example> <example type="untouched">A friend of mine calls it.</example> <example type="ambiguous" inputform="minds[mind/NNS,mind/VBZ]" outputform="minds[mind/NNS]">They should make up their <marker>minds</marker>!</example> <example type="ambiguous" inputform="will[will/MD,will/NN:UN,will/VB,will/VBP]" outputform="will[will/NN:UN]">Don't do anything against my <marker>will</marker>.</example> <example type="ambiguous" inputform="books[book/NNS,book/VBZ]" outputform="books[book/NNS]">Her <marker>books</marker>, which are delightful, are some of my favourites.</example><!-- #2506 --> <example type="ambiguous" inputform="have[have/NN,have/VB,have/VBP]" outputform="have[have/NN]">Incorrect grammar, but can parse as a verb: ... which either Jane or her <marker>have</marker>.</example><!-- #2506 --> <!-- Was correctly disambiguated before the change for #2506. I tried to make APs such that this sentence is correctly disambiguated, but it became too complex <example type="ambiguous" inputform="have[have/NN,have/VB,have/VBP]" outputform="have[have/NN]">Her need is not the same as her <marker>have</marker> (or her want).</example> have/B-VP --> </rule> <rule id="PRPPOSS_VB_NN_VBZ" name="Possessive pronoun + verb/noun + verb sing/modal => noun"> <antipattern><!-- #2426 that what your selling is worth buying --> <token postag_regexp="yes" postag="SENT_START|WDT"/> <token>what</token> <token postag="PRP$"/> <token postag="VBG"/> <token>is</token> <token>worth</token><!-- 'worth+VBG' seems a special case: www.lexico.com/definition/worth, 2.1 --> <token postag="VBG"/> </antipattern> <pattern> <token postag="PRP$"/> <marker> <and> <token postag="NN.*" postag_regexp="yes"/> <token postag="VBG"/> </and> </marker> <token postag_regexp="yes" postag="VBZ|MD" /> </pattern> <disambig action="filter" postag="NN.*"/> <example type="untouched">I do what I want to.</example> <!-- <example type="untouched">Make sure that your <marker>watering can</marker> does not have a hole.</example> --> <example type="untouched">Incorrect grammar: They need some unbiased proof that what your <marker>selling</marker> is worth buying.</example> <example type="ambiguous" inputform="singing[sing/VBG,singe/VBG,singing/JJ,singing/NN:U]" outputform="singing[singing/NN:U]">Your <marker>singing</marker> puts professional singers to shame.</example> <example type="ambiguous" inputform="singing[sing/VBG,singe/VBG,singing/JJ,singing/NN:U]" outputform="singing[singing/NN:U]">Her <marker>singing</marker> can shatter glasses!</example> <example type="ambiguous" inputform="dreaming[dream/VBG,dreaming/NN:UN]" outputform="dreaming[dreaming/NN:UN]">Your <marker>dreaming</marker> will not change the world. Do something!</example> <example type="ambiguous" inputform="fighting[fight/VBG,fighting/NN:U]" outputform="fighting[fighting/NN:U]">... and their <marker>fighting</marker> won't change the situation.</example> <example type="ambiguous" inputform="selling[sell/VBG,selling/NN:U]" outputform="selling[selling/NN:U]">What your <marker>selling</marker> shows is that you have no real interest; you sold only 3 items this week.</example><!-- #2426 --> <example type="ambiguous" inputform="selling[sell/VBG,selling/NN:U]" outputform="selling[selling/NN:U]">Not impressed! What your <marker>selling</marker> is is simply reading from a script.</example><!-- #2426 Better with a comma after the first 'is'. --> <example type="ambiguous" inputform="selling[sell/VBG,selling/NN:U]" outputform="selling[selling/NN:U]">... but your <marker>selling</marker> can teach others a thing or two; you're excellent.</example><!-- #2426 --> <example type="ambiguous" inputform="selling[sell/VBG,selling/NN:U]" outputform="selling[selling/NN:U]">You want a raise? Tell me what your <marker>selling</marker> is worth!</example><!-- #2426 --> </rule> <rule id="PRPPOSS_VBG_JJ_NN" name="Possessive pronoun + verb/adjective + noun sing => adjective"> <antipattern><!-- #3291 its beginning in --> <token postag="PRP$"/> <token chunk="E-NP-singular" postag="NN(:UN?)?" postag_regexp="yes"/> <token postag="IN"/> </antipattern> <antipattern><!-- #3291 its working fine now. --> <token>its</token> <token chunk="I-NP-singular" postag="VBG"/> <token chunk="E-NP-singular" postag="RB"/> <token postag_regexp="yes" postag="SENT_END|RB"/> </antipattern> <pattern> <token postag="PRP$"/> <marker> <and> <token postag="JJ"/> <token postag="VBG" postag_regexp="yes"/> </and> </marker> <token postag="NN"/> </pattern> <disambig postag="JJ"/> <example type="untouched">I do what I want to.</example> <example type="untouched">Since its beginning in 1970, WalkAmerica has raised more than $1 billion.</example><!-- #3291 --> <example type="untouched">The magazine conducts its ranking by surveying the salaries of MBAs who graduated in 1996.</example><!-- #3291 --> <example type="untouched">You will have guessed its meaning by the end of the chapter.</example><!-- #3291 --> <example type="untouched">... can be found at Disneyland Paris since its opening in 1992, under the name Casey's Corner.</example><!-- #3291 --> <example type="untouched">I can confirm that its working fine now.</example><!-- #3325 --> <example type="untouched">I'm sure that its working fine.</example><!-- #3325 --> <example type="ambiguous" inputform="loving[love/VBG,loving/JJ,loving/NN:UN]" outputform="loving[loving/JJ]">Your <marker>loving</marker> friend</example> </rule> <rule id="PRPPOSS_JJ_NN" name="Possessive pronoun + adj/noun =>noun"> <antipattern><!-- its home games --> <token postag="PRP$"/> <token chunk="I-NP-plural" postag="JJ"/> <token chunk="E-NP-plural" postag="NNS"/> </antipattern> <antipattern><!-- Chunker error: His last view --> <token postag="PRP$">his</token> <token chunk="I-NP-plural" postag="JJ"/> <token chunk="E-NP-plural" postag_regexp="yes" postag="NN(:UN?)?"/> </antipattern> <antipattern><!-- #2441 our great team --> <token postag="PRP$"/> <token chunk="I-NP-singular" postag="JJ"/> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> </antipattern> <antipattern><!-- #3037 our economic best interest --> <token postag="PRP$"/> <token chunk="I-NP-singular" postag="JJ"/> <token chunk="I-NP-singular" postag="JJS"/> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> </antipattern> <antipattern> <token regexp="yes">its|your</token> <token postag="VBG" postag_regexp="yes" /> <token postag="IN|DT|PCT" postag_regexp="yes" /> </antipattern> <antipattern> <token regexp="yes">its|your</token> <token postag="RB" /> <token postag="JJ" postag_regexp="yes" /> </antipattern> <pattern> <token postag="PRP$"/> <marker> <and> <token postag="NN.*" postag_regexp="yes"/> <token postag="JJ" postag_regexp="yes"><exception postag="CD"/></token> </and> </marker> <token postag="VB.*" postag_regexp="yes" chunk_re=".-VP" /> </pattern> <disambig action="filter" postag="NN.*"/> <example type="untouched">I do what I want to.</example> <example type="untouched">Your two best boys.</example> <example type="untouched">Incorrect grammar: Its working like a charm.</example> <example type="untouched">His last film The Sacrifice was produced in Sweden in 1986.</example> <example type="untouched">Adjective: The national team plays its <marker>home</marker> games at the Ghazi Stadium in Kabul.</example> <example type="untouched">His last view of the land he had inhabited was by moonlight...</example><!-- Chunker error: view/E-NP-plural --> <example type="untouched">I really like our great team</example><!-- #2441 --> <example type="untouched">It is in our economic best interest.</example><!-- #3037 --> <example type="untouched">Incorrect grammar: I do think its still overvalued without a definite weather forecast</example> <example type="ambiguous" inputform="business[business/JJ,business/NN:UN]" outputform="business[business/NN:UN]">I hope my <marker>business</marker> takes its next steps soon.</example> </rule> <rule id="VBZNNS_DT_NN" name="verb singular/noun + det + noun => verb"> <antipattern><!-- https://www.lexico.com/definition/with_one's_head_in_the_clouds--> <token>head</token> <token>in</token> <token>the</token> <token>clouds</token> </antipattern> <antipattern><!-- Living costs this month are --> <token postag="VBG"/> <token postag="NNS"/> <token postag="DT"/> <token postag="NN(:UN?)?" postag_regexp="yes"/> <token postag_regexp="yes" postag="VB[PD]"/> </antipattern> <antipattern><!-- do dreams last forever?--> <token regexp="yes">do|did</token> <token postag="NNS"/> <token skip="-1" postag="VB"/> <token>?</token> </antipattern> <antipattern><!-- We have cards the other wants NN--> <token inflected="yes">have</token> <token postag="NNS" /> <token>the</token> <token postag="NN.*" postag_regexp="yes" /> <token postag="VB.*" postag_regexp="yes" /> </antipattern> <antipattern><!-- We have cards the other wants NN--> <token inflected="yes">have</token> <token postag="JJR?" postag_regexp="yes" /> <token postag="NNS" /> <token>the</token> <token postag="NN.*" postag_regexp="yes" /> <token postag="VB.*" postag_regexp="yes" /> </antipattern> <antipattern><!-- #2879 eat out several times a week --> <token chunk="I-VP" postag_regexp="yes" postag="VBG?"/> <token postag="RB"/> <token postag="JJ"/> <token postag="NNS"/> <token postag="DT"/> </antipattern> <antipattern><!-- Premium #1350 --> <token regexp="yes">are|were|being</token> <token chunk="E-NP-plural" postag="NNS"/> </antipattern> <antipattern><!-- #3047 the woods all --> <token postag_regexp="yes" postag="DT|PRP\$"/> <token chunk="E-NP-plural" postag="NNS"/> </antipattern> <antipattern><!-- #3088 Tom does exercises every --> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(P|:UN?)?|PRP"/> <token>does</token> <token chunk="E-NP-plural" postag="NNS"/> <token regexp="yes">each|every</token> </antipattern> <antipattern><!-- #3088 five samples every --> <token postag="CD"/> <token chunk="E-NP-plural" postag="NNS"/> <token regexp="yes">each|every</token> </antipattern> <antipattern><!-- #3320 We can have changes every day. --> <token inflected="yes" regexp="yes">have|do</token> <token postag="NNS" /> <token regexp="yes">every|each</token> <token postag="NN.*" postag_regexp="yes" /> </antipattern> <antipattern><!-- #3320 We can have new changes every day. --> <token inflected="yes" regexp="yes">have|do</token> <token postag="JJ.*" postag_regexp="yes" /> <token postag="NNS" /> <token regexp="yes">every|each</token> </antipattern> <antipattern><!-- #3320 We can have changes all over the world. --> <token inflected="yes" regexp="yes">have|do</token> <token postag="NNS" /> <token>all</token> <token postag="IN" /> </antipattern> <antipattern><!-- #3320 We can have new changes all over the world. --> <token inflected="yes" regexp="yes">have|do</token> <token postag="JJ.*" postag_regexp="yes" /> <token postag="NNS" /> <token>all</token> <token postag="IN" /> </antipattern> <antipattern><!-- #3320 He had a lot of bruises all over his body --> <token regexp="yes">plenty|lots?|bunch|number|tons?|hundreds?|couple</token> <token>of</token> <token postag="NNS" /> </antipattern> <antipattern><!-- #3320 He had a lot of severe bruises all over his body --> <token regexp="yes">plenty|lots?|bunch|number|tons?|hundreds?|couple</token> <token>of</token> <token postag="JJ.*" postag_regexp="yes" /> <token postag="NNS" /> </antipattern> <antipattern><!-- #3346 are having classes this week --> <token chunk="I-VP" postag="VBG"/> <token chunk="E-NP-plural" postag="NNS"/> <token postag="DT"/> <token regexp="yes">second|minute|hour|morning|afternoon|evening|night|day|week|month|year|decade|century</token> </antipattern> <antipattern><!-- #3346 have classes this week --> <token chunk="B-VP" postag_regexp="yes" postag="VB.*"/> <token chunk="E-NP-plural" postag="NNS"/> <token postag="DT"/> <token regexp="yes">second|minute|hour|morning|afternoon|evening|night|day|week|month|year|decade|century</token> </antipattern> <antipattern><!-- Premium #1795 Between these two classes a --> <token postag="IN"/> <token postag="DT"/> <token postag="CD"/> <token chunk="E-NP-plural" postag="NNS"/> </antipattern> <antipattern><!-- The dates the doctor had time --> <token postag="DT|PRP\$" postag_regexp="yes" /> <token postag="JJ.*" postag_regexp="yes" min="0" /> <token postag="NNS" /> <token postag="DT" /> </antipattern> <antipattern> <token postag="DT|PRP\$" postag_regexp="yes" /> <token postag="CD" /> <token postag="NNS" chunk_re="E-NP.*" /> </antipattern> <antipattern> <token postag="DT|PRP\$" postag_regexp="yes" /> <token chunk_re="E-NP.*" postag="NN|NN:UN?" postag_regexp="yes" /> <token postag="NNS" /> <token postag="DT" /> <token chunk_re=".-NP.*" postag="NN(:UN?)?" postag_regexp="yes" /> <token chunk_re="E-NP.*" min="0" /> <token postag="RB" min="0" /> <token postag="MD|VB.*" postag_regexp="yes" chunk_re=".-VP" /> </antipattern> <pattern> <marker> <and> <token postag="NNS"> <exception scope="previous" regexp="yes">is|was</exception> <exception postag_regexp="yes" postag="NNPS?"/> </token> <token postag="VBZ" /> </and> </marker> <token postag="DT"><exception>that</exception></token> <token postag="NN(:UN?)?" postag_regexp="yes"><exception postag_regexp="yes" postag="VB.*"/></token> </pattern> <disambig postag="VBZ"/> <example type="untouched">This is work.</example> <example type="untouched">On a number of occasions the thing happens..</example> <example type="untouched">It has an advantage compared to objects that make something.</example> <example type="untouched">A letter outlining the changes (and reference that it is for just these two invoices an amendment) should be sufficient.</example> <example type="untouched">For more than one year there was <marker>updates</marker> every day.</example><!-- Refer to grammar THERE_WAS_MANY. --> <example type="untouched">... and there was <marker>weeds</marker> all round the grave.</example> <example type="untouched">Is <marker>marks</marker> all over the window your idea of cleaning?</example> <example type="untouched">The <marker>voices</marker> all die down slowly.</example> <example type="untouched">...of black pants with purple jersey made the <marker>Ravens</marker> the first NFL team to wear dark colors.</example> <example type="untouched">Gordon had his head in the <marker>clouds</marker> all week.</example> <example type="untouched"><marker>Living costs</marker> this month are lower than those of last month.</example> <example type="untouched">... and rising <marker>costs</marker> caused problems for many people.</example> <example type="untouched">... and the increasing <marker>costs</marker> each month are likely to cause more problems.</example> <example type="untouched">... and do <marker>dreams</marker> last forever?</example> <example type="untouched">We have <marker>cards</marker> the other wants</example> <example type="untouched">Just do what you need to do with your vehicle and if you have <marker>questions</marker> the dealer is the best place to start.</example> <example type="untouched">Let me know if you have nice <marker>flavors</marker> the script is smart enough to detect.</example> <example type="untouched">I used to eat out several <marker>times</marker> a week.</example><!-- #2879 --> <example type="untouched">In those days, we were dining out several <marker>times</marker> each month.</example><!-- #2879 --> <example type="untouched">There are puddles all over the street.</example><!-- Premium #1350 --> <example type="untouched">... and there unfortunately being puddles all over the street, we became very wet.</example><!-- Premium #1350 --> <example type="untouched">He lives in the woods all by himself.</example><!-- #3047 --> <example type="untouched">Tom does exercises every day.</example><!-- #3088 --> <example type="untouched">They do the tests 4 times each year.</example><!-- #3113 --> <example type="untouched">They gave the customers five samples every year.</example><!-- #3113 --> <example type="untouched">I wasn't careful, and now I have sunburns all over me.</example><!-- #3320 --> <example type="untouched">He had bruises all over after the fight.</example><!-- #3320 --> <example type="untouched">He had a lot of bruises all over after the fight.</example><!-- #3320 --> <example type="untouched">Tom has friends all over the world.</example><!-- #3320 --> <example type="untouched">I do crunches every day.</example><!-- #3320 --> <example type="untouched">We can have changes every week.</example><!-- #3320 --> <example type="untouched">We are having classes this week.</example><!-- #3346 --> <example type="untouched">We have classes this week.</example><!-- #3346 --> <example type="untouched">We are taking classes this week, aren't we?</example><!-- #3346 --> <example type="untouched">The technicians are giving lectures next month at the university.</example><!-- #3346 --> <example type="untouched">The careless technicians were testing samples the night that the explosion occurred.</example><!-- #3346 --> <example type="untouched">I had classes the week my cat died.</example><!-- #3346 --> <example type="untouched">She has tests a month from now.</example><!-- #3346 --> <example type="untouched">It appears that this special character confuses the language detection because without these HTML tags the language is correctly identified.</example> <example type="untouched">Between these two classes a struggle must go on until...</example><!-- Premium #1795 --> <example type="ambiguous" inputform="causes[cause/NNS,cause/VBZ]" outputform="causes[cause/VBZ]">Hard work <marker>causes</marker> an event.</example> </rule> <rule id="VBZNNS_NNS" name="verb singular/noun + noun plural or uncountable => verb"> <antipattern><!-- arts and crafts industry/industries --> <token postag="NNS"/> <token>and</token> <token postag="NNS"/> <token postag_regexp="yes" postag="NN(S|:UN?)"/> </antipattern> <antipattern><!-- are these rule changes --> <token regexp="yes">are|were</token> <token postag_regexp="yes" postag="DT|PRP\$"/> <token postag_regexp="yes" postag="NN(:UN?)?|JJ"/> <token postag="NNS"/> </antipattern> <antipattern><!-- Sports prototypes, --> <token postag="SENT_START"/> <token postag="NNS"/> <token postag="NNS"/> <token postag="PCT"/> </antipattern> <antipattern><!-- Premium #961 computer games tomorrow --> <token chunk="B-NP-plural" postag_regexp="yes" postag="NN(:UN?)?|JJR?"/> <token chunk="E-NP-plural" postag="NNS"/> <token postag="RB"/> </antipattern> <antipattern><!-- chunker fix: more computer games tomorrow --> <token chunk="B-NP-singular" postag="JJR"/> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token chunk="I-NP-singular" postag="NNS"/> <token chunk="E-NP-singular" postag="RB"/> </antipattern> <antipattern><!-- #2536 marketing to kids gets --> <token postag="VBG"/> <token>to</token> <token chunk="E-NP-plural" postag="NNS"/> <token postag_regexp="yes" postag="VB[ZD]"/> </antipattern> <antipattern><!-- #3356 the needs assessment --> <token postag="DT|PRP\$" postag_regexp="yes" /> <token chunk_re="I-NP-.*" min="0" /> <token chunk_re="I-NP-.*" postag="NNS"/> <token chunk_re="E-NP-.*" postag_regexp="yes" postag="NN.*"/> </antipattern> <antipattern><!-- ... and how it can increase when several other related factors stays constant. --> <token postag="NNS" chunk_re="E-NP-plural" /> <token postag="VB.*" postag_regexp="yes" chunk_re=".-VP" /> </antipattern> <antipattern><!-- ... and whether one of the expense contracts needs to be amended for this transaction. --> <token postag="NNS" /> <token>needs</token> <token postag="TO|PRP\$|DT" postag_regexp="yes" /> </antipattern> <antipattern> <token>singles</token> <token>titles</token> </antipattern> <pattern> <marker> <and> <token postag="NNS"><exception postag="NNPS?" postag_regexp="yes"/></token> <token postag="VBZ"> <exception regexp="yes">people|companies|soldiers|dinners</exception> </token> </and> </marker> <token postag="NN(S|:UN?)" postag_regexp="yes"> <exception postag="IN|VBG?|JJ" postag_regexp="yes"/> <exception regexp="yes">[gd]oes</exception> </token> </pattern> <disambig postag="VBZ"/> <example type="untouched">This is work.</example> <example type="untouched">...is placed on top of the opening to support the <marker>bricks</marker> above.</example> <example type="untouched">How many jelly beans does it take?</example> <example type="untouched">Agassi was the first man to win four Australian Open singles titles.</example> <example type="untouched">... in the form of a buy and sell system with the <marker>tags</marker> taking the place of the more traditional...</example> <example type="untouched">... with Paul Jones and the <marker>Blues Society</marker> of Italian bluesman Guido...</example> <example type="untouched">... with DJ Hurricane to the <marker>AIDS benefit album</marker> 'No Alternative'.</example> <example type="untouched">The <marker>Gates family</marker> regularly went to services at...</example> <example type="untouched">In days past some used to color the <marker>eggs</marker> red, so as to show the kind of death by...</example> <example type="untouched">... because otherwise an <marker>arms race</marker> in this new technology would ...</example> <example type="untouched">These days more young <marker>husbands</marker> help their wives with housework.</example> <example type="untouched">There is also an <marker>arts and crafts industry</marker> that produces...</example> <example type="untouched">... if <marker>arts and crafts industries</marker> are thriving in that part of the country.</example> <example type="untouched">Are these <marker>rule changes</marker> something we can add to our code base?</example> <example type="untouched">Were your recent <marker>changes</marker> anything more than what was on your task list?</example> <example type="untouched"><marker>Sports prototypes</marker>, unlike GT cars, do not rely on a...</example> <example type="untouched">I played computer games yesterday.</example><!-- Premium #961 --> <example type="untouched">I will play more computer games tomorrow.</example> <example type="untouched">We could agree to enter into a Consulting Services Agreement with Kevin.</example> <example type="untouched">Sami had an extensive arms collection.</example> <example type="untouched">ENA provides certain administrative services to LVC II pursuant to an Administrative Services Agreement.</example> <example type="untouched">Marketing to Kids Gets More Savvy with New Technologies.</example><!-- #2536 --> <example type="untouched">Here is the draft of the needs assessment for global standards.</example><!-- #3356 --> <example type="untouched">Yet now the very spirit of the times demands great, courageous purity.</example><!-- #3355 --> <example type="untouched">Incorrect grammar: ... and how it can increase when several other related factors stays constant.</example> <example type="untouched">... and whether one of the expense contracts needs to be amended for this transaction.</example> <example type="ambiguous" inputform="causes[cause/NNS,cause/VBZ]" outputform="causes[cause/VBZ]">Hard work <marker>causes</marker> fitness.</example> <example type="ambiguous" inputform="causes[cause/NNS,cause/VBZ]" outputform="causes[cause/VBZ]">Hard work <marker>causes</marker> tomorrow's calloused hands!</example> <example type="ambiguous" inputform="needs[need/NNS,need/VBZ,needs/RB]" outputform="needs[need/VBZ]">... do it first, because A <marker>needs</marker> assessment sooner than B does.</example> </rule> <rule id="DT_VBZ_NNU_IN" name="determiner + noun/verb => verb + noun + preposition"><!-- #2436 --> <pattern> <token postag="DT"/> <marker> <and> <token chunk="B-VP" postag="VBZ"/> <token postag="NNS"/> </and> </marker> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN:UN?"/> <token postag="IN"/> </pattern> <disambig postag="VBZ"/> <example type="ambiguous" inputform="makes[make/NNS,make/VBZ]" outputform="makes[make/VBZ]">This <marker>makes</marker> access to the machine easier.</example> </rule> <rule id="JJ_VBZ_NNS" name="Adjective + verb singular/plural noun => noun"> <antipattern><!-- The reinforcement spar makes it stronger and ... --> <token postag="NN"/> <token chunk="B-VP" postag="VBZ"/> </antipattern> <antipattern><!-- This component parts the wires. parts/E-NP-plural --> <token postag_regexp="yes" postag="DT|PRP\$"/> <token postag="NN"/> <token postag="VBZ"/> <token postag_regexp="yes" postag="DT|PRP\$"/> </antipattern> <antipattern><!-- What makes you happy makes me --> <token postag="WP"/> <token postag_regexp="yes" postag="VB[DZ]"/> <token postag_regexp="yes" postag="PRP|NNP"/> <token postag_regexp="yes" postag="JJR?"/> <token postag="VBZ"/> <token postag_regexp="yes" postag="PRP|NNP"/> </antipattern> <antipattern><!-- #2405 the community sees it as --> <token postag="DT"/> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token postag="VBZ"/> <token regexp="yes">&object_pronouns;</token> <token postag_regexp="yes" postag="CC|IN"/> </antipattern> <antipattern><!-- #2431 makes it harder --> <token chunk="B-VP" postag="VBZ"/> <token regexp="yes">&object_pronouns;</token> <token postag_regexp="yes" postag="JJR?"/> </antipattern> <antipattern><!-- #2431 www.lexico.com/definition/more_or_less --> <token>more</token> <token>or</token> <token>less</token> <token postag="VBZ"/> </antipattern> <antipattern><!-- #2427 Before the game starts she is --> <token postag="DT"/> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token chunk="B-VP" postag="VBZ"/> <token regexp="yes">&subject_pronouns;</token> <token chunk="B-VP" postag_regexp="yes" postag="VB.*"/> </antipattern> <antipattern><!-- #2427 This all makes it --> <token postag="PDT"/> <token postag="DT"/> <token chunk="B-VP" postag="VBZ"/> <token regexp="yes">&object_pronouns;</token> </antipattern> <antipattern><!-- #3296 the game pushes you --> <token postag="DT"/> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> <token chunk="B-VP" postag_regexp="yes" postag="VB[ZD]"/> <token regexp="yes">&object_pronouns;</token> </antipattern> <antipattern><!-- #3296 in return offers you a www.lexico.com/definition/in_return--> <token>in</token> <token>return</token> <token postag_regexp="yes" postag="VB[ZD]"/><!-- offers/E-NP-plural --> <token regexp="yes">&object_pronouns;</token> <token postag="DT"/> </antipattern> <antipattern><!-- #3272 a number variable reaches 4 --> <token postag_regexp="yes" postag="DT|PRP\$"/> <token chunk="I-NP-plural" postag_regexp="yes" postag="JJ|NN(:UN?)?"/> <token chunk="I-NP-plural" postag_regexp="yes" postag="NN(:UN?)?"/> <token postag="VBZ"/><!-- reaches/I-NP-plural --> <token postag="CD"/> </antipattern> <antipattern><!-- #3515 there is one dogs --> <token>there</token> <token inflected="yes">be</token> <token>one</token> <token postag_regexp="yes" postag="NNS"/> </antipattern> <antipattern><!-- The road curves to the side --> <token regexp="yes">the|an?</token> <token postag="NN|NN:UN?" postag_regexp="yes" /> <token postag="VBZ" chunk="B-VP" /> <token postag="TO|IN" postag_regexp="yes" /> </antipattern> <antipattern><!-- #3915 a new headquarters that --> <token regexp="yes">the|an?</token> <token chunk="I-NP-plural" postag="JJ"/> <token chunk="E-NP-plural" postag_regexp="yes" postag="NN(:UN?)?"/> <token postag_regexp="yes" postag="DT|TO|IN|PCT|SENT_END"/> </antipattern> <antipattern><!-- That all sounds reasonable --> <token regexp="yes">this|that|it</token> <token postag="JJ">all</token> <token postag="VBZ" /> <token postag="JJ|PCT" postag_regexp="yes" /> </antipattern> <antipattern><!-- that the other loses --> <token>the</token> <token postag="JJ">other</token> <token postag="VBZ" /> </antipattern> <antipattern> <token regexp="yes">ok(ay)?</token> <token>thanks</token> </antipattern> <antipattern> <token postag="NN.*" postag_regexp="yes" regexp="yes" case_sensitive="yes">[A-Z].*</token> <token regexp="yes">reports|mentions|states</token> <token>,</token> <token regexp="yes">"|”|“|'|‘|’</token> </antipattern> <antipattern><!-- Bashir's future remains uncertain as ever --> <token chunk_re="E-NP.*" postag="JJ" /> <token chunk_re=".-VP" postag="VBZ" /> </antipattern> <antipattern> <token regexp="yes">an?</token> <token postag="NN|NN:UN?" postag_regexp="yes" /> <token postag="VBZ" /> </antipattern> <antipattern><!-- .... when the Sovereign grants letters --> <token postag="DT|PRP\$" postag_regexp="yes" /> <token postag="NN|NN:UN?" postag_regexp="yes" /> <token postag="VBZ" /> <token postag="NNS|NN:UN?" postag_regexp="yes" chunk_re=".-NP.*" /> </antipattern> <antipattern><!-- The public demands answers --> <token postag="SENT_START" postag_regexp="yes" /> <token postag="DT|PRP\$" postag_regexp="yes" /> <token postag="NN|NN:UN?" postag_regexp="yes" /> <token postag="VBZ" /> </antipattern> <antipattern><!-- The public demands answers --> <token postag="NN|NN:UN?" postag_regexp="yes" /> <token>demands</token> </antipattern> <pattern> <token postag="JJ"> <exception scope="previous" regexp="yes">s?he|it</exception> <exception postag_regexp="yes" postag="RB|NNP|ORD|UH"/> <exception scope="previous" postag="JJ.*" postag_regexp="yes"/> <exception regexp="yes">body|woman|summer|work</exception> </token> <marker> <and> <token postag="VBZ"><exception regexp="yes">is|does|says|responds</exception></token> <token postag="NNS"> <exception postag_regexp="yes" postag="NNPS?"/><!-- #2393 --> </token> </and> </marker> <token> <exception postag="RB"/> </token> </pattern> <disambig postag="NNS"/> <example type="untouched">I enjoy running.</example> <example type="untouched">Okay thanks.</example> <example type="untouched">Bashir's future remains uncertain as ever.</example> <example type="untouched">"leave our people alone," the militant says.</example> <example type="untouched">RCR Wireless reports, "All three devices require a data package"</example> <example type="untouched">Hard work causes fitness and vice versa.</example> <example type="untouched">This occurs when the core of a massive star exhausts its nuclear fuel.</example> <example type="untouched">Tom wishes that were true.</example> <example type="untouched">The public demands answers.</example> <example type="untouched">That all sounds reasonable.</example> <example type="untouched">In fact, on several occasions, he suggested that capping energy prices might result in even more blackouts as summer approaches.</example> <example type="untouched">The life of an ant starts from an egg.</example> <example type="untouched">Verb. This component<marker>parts</marker> the wires automatically.</example> <example type="untouched">Verb. The reinforcement spar <marker>makes</marker> it stronger and less prone to deformation.</example> <example type="untouched">Verb. What makes you happy <marker>makes</marker> me happy.</example> <example type="untouched">Proper noun. He did it via standard <marker>Windows</marker> deployment tools.</example><!-- #2393 --> <example type="untouched">Proper noun. THEY DID IT WITH THE STANDARD <marker>WINDOWS</marker> SOFTWARE.</example> <example type="untouched">Noun: Otherwise, the <marker>community</marker> sees it as trolling, regardless of the intent.</example><!-- #2405 --> <example type="untouched">Not providing a clear indication of which documentation you are consulting makes it harder for us to get on the same page as you.</example><!-- #2431 --> <example type="untouched">Being 16+ years old makes it worse.</example><!-- #2431 --> <example type="untouched">That it clears up after driving makes it difficult.</example><!-- #2431 --> <example type="untouched">Saint Gregory's narrative makes it impossible to suppose him younger than 20 at the time.</example><!-- #2431 --> <example type="untouched">Furthermore, the complexity of the medium makes it difficult to write a useful boot program in one sector.</example><!-- #2431 --> <example type="untouched">It more or less looks like it's ready.</example><!-- #2431 --> <example type="untouched">Verb: Before the game <marker>starts</marker> she is unable to read all instructions.</example><!-- #2427 --> <example type="untouched">This all <marker>makes</marker> it a more convenient number system.</example><!-- #2523 --> <example type="untouched">If the game pushes you the wrong notification then you are out of it.</example><!-- #3296 --> <example type="untouched">... and in return offers you a double chance of Runic Traitstones, and a...</example><!-- #3296 --> <example type="untouched">Loop until a number variable reaches 4.</example><!-- #3272 --> <example type="untouched">I like her examples; I think the third shows that we must be careful.</example><!-- #3407 --> <example type="untouched">I think the third shows that we attended was the best.</example><!-- #3407. Incorrect grammar. --> <example type="untouched">There is one dogs.</example><!-- #3515 --> <example type="untouched">An elder woman points to the boy.</example> <example type="untouched">The road curves to the side.</example> <example type="untouched">(b) limited, as when the Sovereign grants letters of denization to an alien</example> <example type="untouched">... until the individual gains entry to a spiritual realm or Otherworld.</example> <example type="untouched">The public demands answers.</example> <example type="untouched">The company is going to occupy a new headquarters that will reflect Enron's emphasis on energy efficiency.</example><!-- #3915 --> <example type="ambiguous" inputform="forces[force/NNS,force/VBZ]" outputform="forces[force/NNS]">I like military <marker>forces</marker>.</example> <example type="ambiguous" inputform="FORCES[force/NNS,force/VBZ]" outputform="FORCES[force/NNS]">THEY WANT MILITARY <marker>FORCES</marker>, I THINK.</example> <example type="ambiguous" inputform="parks[park/NNS,park/VBZ]" outputform="parks[park/NNS]">If the game <marker>parks</marker> you both visit have the same facilities, it will be difficult to judge the winner of this competition.</example><!-- #3296 --> <example type="ambiguous" inputform="offers[offer/NNS,offer/VBZ]" outputform="offers[offer/NNS]">... and in return <marker>offers</marker> you can suggest a deal that you would be happy with.</example><!-- #3296 --> </rule> <rule id="DT_VBZNNS_NNS" name="Plural determiners + noun plur/vb sg => noun plur"> <antipattern><!-- #2427 --> <token regexp="yes">both|some|many|th[eo]se|most</token> <token chunk="B-VP" postag="VBZ"/> <token chunk="E-NP-singular" regexp="yes">&object_pronouns;</token> </antipattern> <antipattern><!-- Who most benefits from this? --> <token>who</token> <token>most</token> <token postag="VBZ" /> </antipattern> <pattern> <token regexp="yes">both|some|fewer|many|whose|th[eo]se|most</token> <marker> <and> <token postag="VBZ"><exception regexp="yes">is|does</exception></token> <token postag="NNS"/> </and> </marker> </pattern> <disambig postag="NNS"/> <example type="ambiguous" inputform="hands[hand/NNS,hand/VBZ]" outputform="hands[hand/NNS]">It depends whose <marker>hands</marker> it's in.</example> <example type="untouched">He hands it over.</example> <example type="untouched">Too many makes it clunky?</example><!-- #2427 --> <example type="untouched">Who most benefits from this?</example><!-- #2427 --> <example type="untouched">... and her attitude towards both makes her into a demon, according to the press.</example> </rule> <rule id="NN_CC_NN" name="nouns in coordination"> <antipattern><!-- #2252 someone they know and Ralph admires --> <token regexp="yes">I|you|we|they</token> <token chunk="B-VP" postag="VB[PD]" postag_regexp="yes"/> <token postag="CC"/> <token postag="NNP"/> <token postag="VB[ZD]" postag_regexp="yes"/><!-- Not chunk: admires/E-NP-singular --> </antipattern> <antipattern><!-- #2343 the way you are --> <token regexp="yes">I|you|we|they</token> <token chunk="B-VP" postag_regexp="yes" postag="VBP?"/> <token postag="CC"/> </antipattern> <antipattern><!-- #2386 They could maybe go --> <token regexp="yes">I|you|we|they|s?he|it</token> <token chunk="B-VP" postag="MD"/> <token postag="RB"/> <token postag="VBP?" postag_regexp="yes"/> <token postag="CC"/> </antipattern> <antipattern><!-- #2501 I can't restart or logoff --> <token regexp="yes">I|you|we|they|s?he|it</token> <token postag="MD"/> <token>n't</token> <token postag="VBP?" postag_regexp="yes"/> </antipattern> <antipattern><!-- #2539 we email and share. Refer to PRP_VB_CC_VB --> <token regexp="yes">I|you|we|they</token> <token postag_regexp="yes" postag="VB(P|D)?"/><!-- Not chunk: email/B-NP-singular --> <token regexp="yes">and|or</token> <token postag_regexp="yes" postag="VB(P|D)?"/> </antipattern> <antipattern><!-- #2723 can't rest and something --> <token postag="MD"/> <token>n't</token> <token postag_regexp="yes" postag="VBP?"/> </antipattern> <antipattern><!-- #3571 didn't she scream or --> <token>n't</token> <token regexp="yes">&subject_pronouns;</token> <token postag_regexp="yes" postag="VBP?"/> </antipattern> <antipattern><!-- #3571 does he know or --> <token inflected="yes">do</token> <token regexp="yes">&subject_pronouns;</token> <token chunk_re="[BI]-VP" postag_regexp="yes" postag="VBP?"/> </antipattern> <antipattern><!-- --> <token regexp="yes">an?</token> <token postag="NNP?|NN:UN" postag_regexp="yes" /> <token postag="VBZ" /> <token postag="CC" /> </antipattern> <antipattern> <token inflected="yes" regexp="yes">have|try|love|like|hate|want|need|use</token> <token>to</token> <token postag="VB" /> <token postag="CC" /> </antipattern> <antipattern><!-- ... I'd ever read or movie ...--> <token>'d</token> <token postag="RB" /> <token postag="VB|VBN" postag_regexp="yes" /> </antipattern> <antipattern><!-- ... I'd ever read or movie ...--> <token>'d</token> <token postag="VB|VBN" postag_regexp="yes" /> </antipattern> <antipattern> <token postag="MD|TO" postag_regexp="yes" /> <token postag="RB" min="0" /> <token postag="VB" chunk_re=".-VP" /> <token regexp="yes" postag="CC">and|or|as</token> </antipattern> <antipattern> <token postag="NNP" /> <token postag="VBZ" /> <token regexp="yes">and|or</token> <token postag="NNP" /> </antipattern> <pattern> <marker> <token postag="NN.*" postag_regexp="yes"><exception postag_regexp="yes" postag="RBR?|JJ|CD"/></token> </marker> <token postag="CC" regexp="yes">and|or|as<exception negate_pos="yes" postag="CC"/></token><!-- #2328. To prevent FP, use only CC that can coordinate 2 nouns. --> <token postag="NN.*" postag_regexp="yes"><exception negate_pos="yes" postag="NN.*" postag_regexp="yes"/></token> </pattern> <disambig action="filter" postag="NN.*"/> <example type="untouched">Tickets are selling fast and space is limited.</example> <example type="untouched">Adjective: ... because it's <marker>free</marker> and support is not provided.</example> <example type="untouched">Adjective: I would like having this with you <marker>sooner</marker> but discussions...</example><!-- #1803 --> <example type="untouched">Verb: I saw someone they <marker>know</marker> and Ralph admires.</example><!-- #2252 --> <example type="untouched">I couldn't <marker>vote</marker> because nothing applied to me.</example><!-- #2328 --> <example type="untouched">I have a mandolin lesson at 11am on Saturday, which I can't <marker>miss</marker> because Tom is teaching me less these days.</example><!-- #2328 --> <example type="untouched">We will not <marker>know</marker> whether individuals have state filing obligations without seeing their detailed tax information.</example><!-- #2328 --> <example type="untouched">Astronomers who <marker>serve</marker> as faculty spend much of their time...</example> <example type="untouched">... that depicted the will itself without it <marker>appearing</marker> as subject to the Principle of ...</example> <example type="untouched">...myocarditis, however it can also <marker>manifests</marker> as Adams–Stokes syndrome which...</example> <example type="untouched">The concept of <marker>books</marker> as data has not been fully explored.</example><!-- 'books' is not identified as a noun, but it was not identified as a noun before the 2328 change. --> <example type="untouched">I love the way you <marker>are</marker> and friends should honor that.</example><!-- #2343 --> <example type="untouched">I love the way you <marker>are</marker> and time will tell whether we...</example><!-- #2343 --> <example type="untouched">We will be lost when they <marker>die</marker> and computers take over the world.</example><!-- #2343 --> <example type="untouched">They could maybe go and hangout.</example><!-- #2386 --> <example type="untouched">Elsa cries and Anna comes to me</example> <example type="untouched">She might possibly go and hangout.</example><!-- #2386 --> <example type="untouched">Are there specific lock models where some commands would function and others wouldn't?</example> <example type="untouched">I can't restart or logoff.</example><!-- #2501 --> <example type="untouched">Currently we email and share the stuff.</example><!-- #2539 --> <example type="untouched">They always can't rest and something is waiting for them.</example><!-- #2723 --> <example type="untouched">Why didn't she scream or anything?</example><!-- #3571 --> <example type="untouched">But didn't he scream or anything.</example><!-- #3571. Missing question mark. --> <example type="untouched">Why wouldn't she scream or anything?</example><!-- #3571 --> <example type="untouched">How does he know or Tom?</example><!-- #3571 know/B-VP --> <example type="untouched">I know you told some of them, but does he know or Tom?</example><!-- #3571 know/I-VP --> <example type="untouched">If a fuse blows or breaker trips, it is often a warning that the circuit is overloaded.</example><!-- #3699 --> <example type="untouched">I will post when a dosage changes or something is added or dropped.</example><!-- #3699 --> <example type="ambiguous" inputform="man[man/NN:UN,man/VB,man/VBP]" outputform="man[man/NN:UN]">They are now <marker>man</marker> and wife duly married.</example> <example type="ambiguous" inputform="husband[husband/NN,husband/VB,husband/VBP]" outputform="husband[husband/NN]">They were <marker>husband</marker> and wife.</example> <example type="ambiguous" inputform="bosses[boss/NNS,boss/VBZ]" outputform="bosses[boss/NNS]">I know that <marker>bosses</marker> or workers can do these tasks.</example> <example type="ambiguous" inputform="man[man/NN:UN,man/VB,man/VBP]" outputform="man[man/NN:UN]">Does that <marker>man</marker> or Tom know about these problems?</example><!-- #3571 --> </rule> <rule id="PRP_VB_CC_VB" name="verbs in conjunction"><!-- This is an AP in NN_CC_NN --> <pattern> <token regexp="yes">I|you|we|they</token> <marker> <token postag="VBP"/><!-- Not chunk: email/B-NP-singular --> <token postag="CC" regexp="yes">and|or</token> <token postag="VBP"/> </marker> <token> <exception postag_regexp="yes" postag="VB.*|RB"/> </token> </pattern> <disambig action="filterall"/> <example type="untouched">I thought I'd already told you oil and water don't mix.</example> <example type="untouched">Who told you oil and water actually mixes well?</example> <example type="untouched">... as he said to Jane and I milk and honey is the food of the gods.</example> <example type="ambiguous" inputform="email[email/NN:U,email/VB,email/VBP]" outputform="email[email/VBP]">Currently we <marker>email</marker> and share the stuff.</example><!-- #2539--> </rule> <rule id="PRP_MD_RB_VB" name="pronoun + modal + adverb + noun/verb > verb"><!-- #2396 --> <antipattern> <token>as</token> <token>well</token> </antipattern> <pattern> <token regexp="yes">I|you|we|they|s?he|it</token> <token chunk="B-VP" postag="MD"/> <token postag="RB"/> <marker> <token postag="VBP?" postag_regexp="yes"/> </marker> </pattern> <disambig postag="VB"/> <example type="ambiguous" inputform="go[go/NN,go/VB,go/VBP]" outputform="go[go/VB]">They could maybe <marker>go</marker> and hang out.</example> <example type="ambiguous" inputform="try[try/NN,try/VB,try/VBP]" outputform="try[try/VB]">She might possibly <marker>try</marker> to do it.</example> <example type="untouched">I could as well go there.</example> </rule> <rule id="PREPOSITIONAL_DT_VBZNNS_NNS" name="Prepositional quantifiers + noun plur/vb sg = >noun plur"> <pattern> <token regexp="yes">group|deal|lots?|tons|plenty|litres</token> <token>of</token> <marker> <and> <token postag="VBZ"><exception regexp="yes">is|does</exception></token> <token postag="NNS"/> </and> </marker> </pattern> <disambig postag="NNS"/> <example type="ambiguous" inputform="hands[hand/NNS,hand/VBZ]" outputform="hands[hand/NNS]">They cut a lot of <marker>hands</marker>.</example> <example type="untouched">He hands it over.</example> </rule> <rule id="MOST_VBP" name="most + verb in plural"> <pattern> <marker><token>most</token></marker> <token postag="VBP"/> </pattern> <disambig postag="JJS"/> <example type="untouched">Most of his writing is rubbish.</example> <example type="ambiguous" inputform="Most[Most/NNP,most/NN:U,much/JJS,much/RBS]" outputform="Most[much/JJS]"><marker>Most</marker> are around 40-50 μm in diameter.</example> </rule> <rule id="LESS" name="less as connective (revenues less expenses)"> <pattern> <token postag="NN.*" postag_regexp="yes"><exception postag="NN.*" negate_pos="yes" postag_regexp="yes"/></token> <token postag="CC">less</token> <token postag="NNS"><exception postag="JJ"/></token> </pattern> <disambig action="filterall"/> <example type="ambiguous" inputform="less[less/CC,less/JJ,little/JJR,little/RBR]" outputform="less[less/CC]">This is defined as indirect taxes <marker>less</marker> subsidies.</example> <example type="untouched">These batteries have less power.</example> </rule> <rule id="UP_TO" name="up to - not a noun"> <pattern> <marker><token>up</token></marker> <token>to</token> </pattern> <disambig postag="IN"/> <example type="untouched">We all have ups and downs.</example> <example type="ambiguous" inputform="up[up/IN,up/JJ,up/NN,up/RB,up/RP,up/VB,up/VBP]" outputform="up[up/IN]">What you're <marker>up</marker> to?</example> </rule> <rule id="RIGHT_RB" name="right + away/now => RB"><!-- do not move after VERB_IT_JJ, as right may be JJ then --> <antipattern><!-- #3657 your right now --> <token postag="PRP$"/> <token chunk="E-NP-singular">right</token> </antipattern> <pattern> <marker> <token>right</token> </marker> <token regexp="yes">away|now|before|after|back|here</token> </pattern> <disambig postag="RB"/> <example type="untouched">You are right.</example> <example type="untouched">Your right now is to take legal action, if you ....</example> <example type="ambiguous" inputform="right[right/JJ,right/NN:UN,right/RB,right/UH,right/VB,right/VBP]" outputform="right[right/RB]">Do it <marker>right</marker> now!</example> </rule> <rule id="SENT_START_IS_JJ" name="Is/was + it + verb/JJ =>JJ"> <pattern> <token postag="SENT_START"/> <token regexp="yes">is|was</token> <token>it</token> <marker> <and> <token postag="JJ.?" postag_regexp="yes"/> <token postag="VBP?" postag_regexp="yes"/> </and> </marker> </pattern> <disambig action="filter" postag="JJ.?"/> <example type="untouched">Is it Monday?</example> <example type="ambiguous" inputform="true[true/JJ,true/NN,true/VB,true/VBP]" outputform="true[true/JJ]">Is it <marker>true</marker>?</example> </rule> <rule id="VERB_IT_JJ" name="make/get/do + it + verb/JJ => JJ"> <antipattern> <token regexp="yes">do(es)?|did</token> <token skip="-1">it</token> <token>?</token> </antipattern> <antipattern><!-- Missing question mark: does it work. --> <token regexp="yes">does|did</token> <token>it</token> <token min="0" max="2" postag="RB"/> <token>work</token> </antipattern> <antipattern><!-- deem it work --> <token regexp="yes" inflected="yes">think|consider|deem|believe</token> <token>it</token> <token>work</token><!-- This rule is semantic. Cannot use only postags. Adjective: We consider it wrong. Noun: We consider it work. --> </antipattern> <antipattern><!-- make it work --> <token regexp="yes" inflected="yes">make|see</token> <token>it</token> <token postag_regexp="yes" postag="VBP?"/> </antipattern> <pattern> <token regexp="yes" inflected="yes">do|find|make|get|think|like|see|consider|deem|play|believe|keep|paint|give|leave|pound</token> <token>it</token> <marker> <and> <token postag="JJ.?" postag_regexp="yes"><exception postag_regexp="yes" postag="RBR?"/></token> <token postag="VBP?" postag_regexp="yes"/> </and> </marker> </pattern> <disambig action="filter" postag="JJ.?"/> <example type="untouched">Make yourself at home.</example> <example type="untouched">Join in, try it out, do it <marker>better</marker>!</example> <example type="untouched">You can do it <marker>better</marker> if you prioritize your work.</example> <example type="untouched">Does it <marker>work</marker> correctly?</example> <example type="untouched">And did it <marker>open</marker> when you tried yesterday?</example> <example type="untouched">But do it <marker>work</marker> correctly? [Incorrect grammar.]</example> <example type="untouched">But does it work.</example><!-- Missing question mark. But not an adjective. --> <example type="untouched">Let's keep it simple.</example> <example type="untouched">They deem it <marker>work</marker>, although we think of it as play.</example> <example type="untouched">Give yourself a bonus point if you made it <marker>work</marker> correctly.</example> <example type="untouched">Such a beautiful flower; she saw it <marker>open</marker> its petals in the sunshine.</example> <example type="untouched">When you make toast, make it <marker>brown</marker> slowly.</example><!-- brown/VBP,B-ADJP. Ambiguous: Verb: brown it slowly; adjective: slowly make it a brown colour. --> <example type="ambiguous" inputform="wrong[wrong/JJ,wrong/NN:UN,wrong/VB,wrong/VBP]" outputform="wrong[wrong/JJ]">We thought it <marker>wrong</marker> to leave her alone.</example> <example type="ambiguous" inputform="wrong[wrong/JJ,wrong/NN:UN,wrong/VB,wrong/VBP]" outputform="wrong[wrong/JJ]">... nevertheless, we believed it <marker>wrong</marker>.</example> <example type="ambiguous" inputform="clean[clean/JJ,clean/NN,clean/VB,clean/VBP]" outputform="clean[clean/JJ]">Let's keep it <marker>clean</marker>.</example> <example type="ambiguous" inputform="free[free/JJ,free/NN,free/VB,free/VBP]" outputform="free[free/JJ]">Can you help me by doing it <marker>free</marker>? (I have no money whatsoever.)</example> <example type="ambiguous" inputform="brown[brown/JJ,brown/NN,brown/NN:U,brown/VB,brown/VBP]" outputform="brown[brown/JJ]">Please paint it <marker>brown</marker>, not black.</example> </rule> <rule id="VERB_XX_BETTER_RBR" name='know/stand + xx + better => RBR'> <pattern> <token skip="3" regexp="yes" inflected="yes">know|stand</token> <marker> <token>better</token> </marker> </pattern> <disambig postag="RBR"/> <example type="untouched">We need to better the lot of the suburban commuter.</example> <example type="ambiguous" inputform="better[better/NN,better/VB,better/VBP,good/JJR,well/JJR,well/RBR]" outputform="better[well/RBR]">Later, you shall know it <marker>better</marker>.</example> </rule> <rule id="BY_VBG" name="by + vbg → vbg"> <pattern> <token>by<exception scope="previous" regexp="yes">'ll|will|shall</exception></token> <marker> <token postag="VBG"/> </marker> </pattern> <disambig postag="VBG"/> <example type="untouched">It should be safe by then.</example> <example type="ambiguous" inputform="playing[play/VBG,playing/JJ,playing/NN:UN]" outputform="playing[play/VBG]">For now they are having fun and learning all they can by <marker>playing</marker> with neighbors and friends.</example> <example type="untouched">I'll by flying.</example> </rule> <rule id="FREE_OF_CHARGE" name="free of charge"> <pattern> <marker><token>free</token></marker> <token>of</token> <token>charge</token> </pattern> <disambig postag="JJ"/> <example type="untouched">Free yourself!</example> <example type="ambiguous" inputform="free[free/JJ,free/NN,free/VB,free/VBP]" outputform="free[free/JJ]">This is <marker>free</marker> of charge.</example> </rule> <rule id="EVEN_VB" name="even as a verb"> <pattern> <marker><token>even</token></marker> <token regexp="yes">out|up</token> </pattern> <disambig action="filter" postag="VB.*"/> <example type="untouched">Even if you're right, we need to do this.</example> <example type="ambiguous" inputform="even[even/JJ,even/NN,even/RB,even/VB,even/VBP]" outputform="even[even/VB,even/VBP]">Even if you're right, we need to <marker>even</marker> out accounts.</example> </rule> <rulegroup id="EVEN_RB" name="even as RB"> <rule> <pattern> <token regexp="yes" inflected="yes">get|break</token> <marker><token>even</token></marker> </pattern> <disambig postag="RB"/> <example type="untouched">Even if you're right, we need to do this.</example> <example type="ambiguous" inputform="even[even/JJ,even/NN,even/RB,even/VB,even/VBP]" outputform="even[even/RB]">Even if you're right, he wants to get <marker>even</marker> for the insult.</example> </rule> <rule> <pattern> <marker><token>even</token></marker> <token>to</token> <token>death</token> </pattern> <disambig postag="RB"/> </rule> <rule> <pattern> <marker><token>even<exception scope="previous" regexp="yes">an?|the</exception></token></marker> <token postag="VB.*" postag_regexp="yes"/> </pattern> <disambig postag="RB"/> <example type="untouched">Even if you're right, we need to do this.</example> <example type="ambiguous" inputform="even[even/JJ,even/NN,even/RB,even/VB,even/VBP]" outputform="even[even/RB]">It <marker>even</marker> made an appearance at the Woodstock Music Festival.</example> </rule> <rule> <pattern> <marker><token>even</token></marker> <token regexp="yes">if|at|for</token> </pattern> <disambig postag="RB"/> <example type="ambiguous" inputform="Even[Even/NNP,even/JJ,even/NN,even/RB,even/VB,even/VBP]" outputform="Even[even/RB]"><marker>Even</marker> if you're right, we need to do this.</example> <example type="untouched">It <marker>even</marker> made an appearance at the Woodstock Music Festival.</example> </rule> </rulegroup> <rule id="LONG_AGO" name="long as JJ"> <pattern> <marker><token skip="1">long</token></marker> <token>ago<exception scope="previous" regexp="yes" negate="yes">long|time</exception></token> </pattern> <disambig postag="JJ"/> <example type="untouched">I long for you.</example> <example type="ambiguous" inputform="long[long/JJ,long/NN:UN,long/VB,long/VBP]" outputform="long[long/JJ]">You should have completed it <marker>long</marker> ago.</example> <example type="ambiguous" inputform="long[long/JJ,long/NN:UN,long/VB,long/VBP]" outputform="long[long/JJ]">You should have completed it <marker>long</marker> time ago.</example> </rule> <rule id="LIVE_IN_NNP" name="live as RB"> <pattern> <token regexp="yes" inflected="yes" skip="3">perform|show|have</token> <marker> <token>live<exception scope="previous">to</exception></token> </marker> <token regexp="yes">in|at</token> <token postag="NNP"/> </pattern> <disambig postag="RB"/> <example type="untouched">I can live in Stockholm.</example> <example type="untouched">Tom has decided to <marker>live</marker> in Boston for the rest of his life.</example> <example type="ambiguous" inputform="live[live/JJ,live/RB,live/VB,live/VBP]" outputform="live[live/RB]">He performed it <marker>live</marker> in Stockholm.</example> </rule> <rule id="STILL_RB" name="still/further/long + verb = rb"> <antipattern><!-- The disadvantage to being long is that --> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token postag="IN"/> <token regexp="yes" case_sensitive="yes">being|BEING</token><!-- This is to prevent FN for 'still' after 'Introduction to Being'. --> <token regexp="yes">still|long</token> <token regexp="yes">(is|was)n?</token> </antipattern> <antipattern> <token>too</token> <token>long</token> <token>to</token> </antipattern> <antipattern><!-- "long form"--> <token>long</token> <token postag="NN.*" postag_regexp="yes" chunk_re=".-NP.*" /> </antipattern> <pattern> <marker> <and> <token regexp="yes"> still|further|long <exception scope="previous" postag="DT|PRP\$" postag_regexp="yes" /> </token> <token postag="NN.*|VB.*" postag_regexp="yes"/> </and> </marker> <token postag="VB.*|IN" postag_regexp="yes"/> </pattern> <disambig postag="RB"/> <example type="untouched">Still, I need to do a lot of things.</example> <example type="untouched">The risk/reward to being long is not so great.</example> <example type="untouched">An advantage of being long was that the lever...</example> <example type="untouched">An introduction to being still wasn't given by Jones in his lecture on meditation.</example><!-- Ambiguous. Can parse 'still' as an adjective or as an adverb. --> <example type="untouched">… at least as it exists in its old, long form.</example> <example type="ambiguous" inputform="still[still/JJ,still/NN,still/RB,still/VB,still/VBP]" outputform="still[still/RB]">Much of the diet involved the use of peppers, as it <marker>still</marker> does today.</example> <example type="ambiguous" inputform="still[still/JJ,still/NN,still/RB,still/VB,still/VBP]" outputform="still[still/RB]">... and her book Introduction to Being <marker>still</marker> was not correct, despite the best efforts of the proofreader.</example> </rule> <rule id="DT_RBJJ_NN_JJ" name="a + rb/jj + nn => jj"> <pattern> <token inflected="yes" regexp="yes">a|the</token> <marker> <and> <token postag="RB.?" postag_regexp="yes"/> <token postag="JJ.?" postag_regexp="yes"> <exception>home</exception> </token> </and> </marker> <token postag="NN.*" postag_regexp="yes"/> </pattern> <disambig action="filter" postag="JJ.?"/> <example type="untouched">It still expands.</example> <example type="untouched">In comparison, a home averages about 600 therms.</example> <example type="ambiguous" inputform="further[far/JJR,further/RB,further/VB,further/VBP]" outputform="further[far/JJR]">It was after a <marker>further</marker> investigation.</example> </rule> <rule id="BEST_RBS" name="best + verb = rb"> <!-- a bit more greedy --> <antipattern><!-- needed for HE_THE[3] to work --> <token regexp="yes">int|fort</token> <token>he</token> <token postag="JJ.*" postag_regexp="yes" /> </antipattern> <antipattern> <token>best</token> <token regexp="yes">friends?</token> </antipattern> <antipattern> <token>best</token> <token postag="NN.*" postag_regexp="yes" /> <token postag="MD|VB.*" postag_regexp="yes" chunk_re=".-VP" /> </antipattern> <pattern> <marker> <and> <token postag="RBS"/> <token postag="VB.*|NN.*" postag_regexp="yes"/> </and> </marker> <token postag="VB.*" postag_regexp="yes" /> </pattern> <disambig postag="RBS"/> <example type="untouched">Still, I need to do a lot of things.</example> <example type="untouched">My best friends' dogs are coming.</example> <example type="ambiguous" inputform="best[best/NN:U,best/VB,best/VBP,good/JJS,well/JJS,well/RBS]" outputform="best[well/RBS]">This <marker>best</marker> exhibits the features of the snake oil.</example> </rule> <rulegroup id='STEP_BY_STEP' name="Phrases of the form similar to: step by step"> <rule> <pattern> <marker><token postag="NN" regexp="yes">step|bit|year|month|week|day|hour|minute|second</token> <token>by</token> <token postag="NN"><match no="0"/></token> </marker> </pattern> <disambig action="filterall"/> <example type="untouched">These are the steps you need to make.</example> <example type="ambiguous" inputform="step[step/NN,step/VB,step/VBP]" outputform="step[step/NN]">Study it <marker>step</marker> by step.</example> <example type="ambiguous" inputform="step[step/NN,step/VB,step/VBP]" outputform="step[step/NN]">Study it step by <marker>step</marker>.</example> </rule> </rulegroup> <rule id="FURTHER_FAR" name="further as adjective"> <pattern> <marker><token>further</token></marker> <token postag_regexp="yes" postag="JJ.*|NN.*"><exception postag="VB.*" postag_regexp="yes"/></token> </pattern> <disambig postag="JJR"/> <example type="ambiguous" inputform="Further[far/JJR,further/RB,further/VB,further/VBP]" outputform="Further[far/JJR]"><marker>Further</marker> Spanish attacks led by Hugo of Moncada in 1519 were harsh.</example> </rule> <rule id="HOME_RB" name="home as adverb"> <!-- different taggers see 'home' differently here --> <pattern> <token>it</token> <marker> <token>home</token> </marker> </pattern> <disambig postag="RB"/> <example type="untouched">Home, sweet home!</example> <example type="ambiguous" inputform="home[home/JJ,home/NN:UN,home/RB,home/VB,home/VBP]" outputform="home[home/RB]">Maisha had brought it <marker>home</marker>.</example> </rule> <rule id="SORT_OF" name="sort + of => not a verb"> <pattern> <marker><token>sort</token></marker> <token>of</token> </pattern> <disambig postag="NN"/> <example type="untouched">I sort the entries in the dictionary.</example> <example type="ambiguous" inputform="sort[sort/VBP]" outputform="sort[sort/NN]">But he <marker>sort</marker> of acted like he didn't care.</example> </rule> <rule id="I_PRP_NNP" name="I. as an abbreviation"> <pattern case_sensitive="yes"> <token regexp="yes">[Tt]he|[Aa]n</token> <marker><token>I</token></marker> <token>.</token> </pattern> <disambig postag="NNP"/> <example type="untouched">I am glad!</example> <example type="ambiguous" inputform="I[I/PRP,I/PRP_S1S]" outputform="I[I/NNP]">The <marker>I</marker>. A. P. A. is a reflection of the problems.</example> </rule> <rule id="I_CHING" name="I Ching"> <pattern case_sensitive="yes"> <token>I</token> <token>Ching</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/></disambig> <example type="untouched">I am glad!</example> <example type="ambiguous" inputform="I[I/PRP,I/PRP_S1S]" outputform="I[I/NNP]">But a tossing of coins, with perhaps the added safeguard of reference to the oracles of the <marker>I</marker> Ching, the Chinese Book Of Changes, dictates the handling of the chosen materials.</example> </rule> <rule name="You guys =>NNS" id="YOU_GUYS"> <pattern> <token>you</token> <marker> <and> <token postag="NNS" regexp="yes">guys|doctors|bitches</token> <token postag="VBZ"/> </and> </marker> </pattern> <disambig postag="NNS"/> <example type="untouched">You are fine.</example> <example type="ambiguous" inputform="guys[guy/NNS,guy/VBZ]" outputform="guys[guy/NNS]">You <marker>guys</marker> remember that.</example> </rule> <rulegroup id="FOR_CC" name="for + he/she/we/I + vbz/vbd > connective"> <rule> <pattern> <token postag_regexp="yes" postag="SENT_START|[,:;]"/> <marker><token>for</token></marker> <token regexp="yes">he|she</token> <token postag="VB[ZD]" postag_regexp="yes"/> </pattern> <disambig postag="CC"/> <example type="untouched">It was a gift for he.</example> <example type="ambiguous" inputform="for[for/CC,for/IN,for/RP]" outputform="for[for/CC]">It is nice, <marker>for</marker> he does a lot of nice things.</example> </rule> <rule> <pattern> <token postag_regexp="yes" postag="SENT_START|[,:;]"/> <marker><token>for</token></marker> <token regexp="yes">I|we|they</token> <token postag="VB[PD]" postag_regexp="yes"/> </pattern> <disambig postag="CC"/> <example type="untouched">It was a gift for he.</example> <example type="ambiguous" inputform="for[for/CC,for/IN,for/RP]" outputform="for[for/CC]">It is nice, <marker>for</marker> they do a lot of nice things.</example> </rule> </rulegroup> <rule name="Do washing" id="DID_WASHING"> <pattern> <token inflected="yes">do</token> <marker><token>washing</token></marker> </pattern> <disambig postag="NN:U"/> <example type="untouched">I like washing dishes.</example> <example type="ambiguous" inputform="washing[wash/VBG,washing/NN:U]" outputform="washing[washing/NN:U]">They did <marker>washing</marker>.</example> </rule> <rule name="orders > noun" id="ORDERS_NN"> <pattern> <token regexp="yes" inflected="yes">give|take|stand|follow|place|make|receive|issue|obey|have|be|purchase|bark|get|disobey|accept|limit|cancel|await|deliver|pass</token> <marker><token>orders</token></marker> </pattern> <disambig postag="NNS"/> <example type="untouched">These are my orders.</example> <example type="ambiguous" inputform="orders[order/NNS,order/VBZ]" outputform="orders[order/NNS]">You cannot disobey <marker>orders</marker>!</example> </rule> <rule id="IN_TRAINING" name="preposition + training =>noun"> <pattern> <token postag="IN"/> <marker> <token>training</token> </marker> </pattern> <disambig postag="NN:U"/> <example type="untouched">I'm training now.</example> <example type="ambiguous" inputform="training[train/VBG,training/NN:U]" outputform="training[training/NN:U]">We need to to pay for <marker>training</marker> to meet national skilled manpower needs.</example> </rule> <rule id="NNJJ_NN_JJ" name="noun/adj + noun => adj + noun"> <antipattern> <token postag="MD"/> <token>have</token> </antipattern> <antipattern><!-- This component parts the wires --> <token postag_regexp="yes" postag="DT|PRP\$"/> <token postag="NN"/> <token postag="VBZ"/> <token postag_regexp="yes" postag="DT|PRP\$"/> </antipattern> <antipattern><!-- #2069. a good chance things will not become worse. --> <token postag="DT"/> <token postag="JJ"/> <token postag_regexp="yes" postag="NN:UN?"/> <token postag="NNS"/> <token postag="MD"/> </antipattern> <antipattern><!-- time period three --> <token chunk="B-NP-singular">time</token> <token chunk="I-NP-singular">period</token> <token chunk="E-NP-singular"/><!-- For 'time period three', DT_JJ_NN assigns three/NN] thus I cannot use CD and a general AP --> </antipattern> <antipattern><!-- #2405 the community sees it as --> <token postag="DT"/> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token postag="VBZ"/> <token regexp="yes">me|you|him|her|it|us|them|one</token> <token postag_regexp="yes" postag="CC|IN"/> </antipattern> <antipattern><!-- #2427 Before the game starts she is --> <token postag="DT"/> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token chunk="B-VP" postag="VBZ"/> <token regexp="yes">&subject_pronouns;</token> <token chunk="B-VP" postag_regexp="yes" postag="VB.*"/> </antipattern> <antipattern><!-- #2427 The work makes it possible --> <token postag="DT"/> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token chunk="B-VP" postag="VBZ"/> <token regexp="yes">&subject_pronouns;</token> <token postag_regexp="yes" postag="JJR?"/> </antipattern> <antipattern><!-- #2926 Chunker error --> <token postag_regexp="yes" postag="DT|PRP\$"/> <token postag_regexp="yes" postag="JJR?"/> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token chunk="E-NP-plural" postag_regexp="yes" postag="VB[ZD]"/> <token postag_regexp="yes" postag="IN|RB|WDT|CD|JJ"/> </antipattern> <antipattern><!-- #2926 Chunker error: a particular service restarts X times --> <token postag_regexp="yes" postag="DT|PRP\$"/> <token postag_regexp="yes" postag="JJR?"/> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token chunk="E-NP-plural" postag_regexp="yes" postag="VB[ZD]"/> <token case_sensitive="yes" regexp="yes">[A-Z]</token> </antipattern> <antipattern><!-- cards the other wants. MFU 2020-05-14 'other' is a pronoun, but it is not a personal pronoun (PRP) by the definition on www.lexico.com/definition/other. --> <token chunk="E-NP-plural" postag="NNS"/> <token>the</token> <token>other</token> <token chunk="E-NP-plural" postag_regexp="yes" postag="VB[ZD]"/> <token postag="PCT"/> </antipattern> <antipattern><!-- #2931 Chunker error: wish you a good party guys --> <token skip="-1" postag_regexp="yes" postag="VB.*" inflected="yes">wish</token> <token regexp="yes">an?</token> <token postag_regexp="yes" postag="JJR?"/> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token regexp="yes">boys|chaps|fellows|girls|guys|ladies|lads|peeps|people</token> </antipattern> <antipattern><!-- #2952 Chunker error: a blonde woman laughs --> <token chunk="B-NP-plural" regexp="yes">an?</token> <token chunk="I-NP-plural" postag_regexp="yes" postag="JJR?"/> <token chunk="I-NP-plural" postag_regexp="yes" postag="NN(:UN?)?"/> <token postag_regexp="yes" postag="VB[ZD]"/> </antipattern> <antipattern><!-- #3101 a perfect world spreaders don't --> <token chunk="B-NP-plural" regexp="yes">an?</token> <token chunk="I-NP-plural" postag_regexp="yes" postag="JJR?"/> <token chunk="I-NP-plural" postag_regexp="yes" postag="NN(:UN?)?"/> <token chunk="E-NP-plural" postag="NNS"/> <token regexp="yes">&abbreviated_negated_verbs;</token><!-- No chunk information for 'don' --> <token>n't</token> </antipattern> <antipattern><!-- #3101 a perfect world technicians wear --> <token chunk="B-NP-plural" regexp="yes">an?</token> <token chunk="I-NP-plural" postag_regexp="yes" postag="JJR?"/> <token chunk="I-NP-plural" postag_regexp="yes" postag="NN(:UN?)?"/> <token chunk="E-NP-plural" postag="NNS"/> <token chunk="B-VP" postag_regexp="yes" postag="VB[PD]?"/> </antipattern> <antipattern><!-- #3282 its business by raising --> <token chunk="B-NP-singular" postag="PRP$"/> <token chunk="E-NP-singular" postag_regexp="yes" postag="NN(:UN?)?"/> <token postag_regexp="yes" postag="IN"/> <token chunk="B-VP" postag="VBG"/> </antipattern> <antipattern><!-- #3330 A few go to www.lexico.com/definition/few --> <token>a</token> <token>few</token> <token postag_regexp="yes" postag="VBP?"/><!-- chunker error: go/E-NP-singular --> <token postag_regexp="yes" postag="TO|RB"/> </antipattern> <antipattern><!-- #3272 a convertible years ago --> <token postag_regexp="yes" postag="DT|PRP\$"/> <token postag_regexp="yes" postag="NN.*"/> <token postag="NNS" regexp="yes">seconds|minutes|hours|days|weeks|months|years|decades|centuries</token> <token regexp="yes">ago|after|before</token> </antipattern> <antipattern><!-- Premium #1564 the media want to know --> <token chunk="B-NP-plural" postag_regexp="yes" postag="DT|PRP\$"/> <token chunk="E-NP-plural" postag_regexp="yes" postag="NNS"/> <token chunk="B-VP" postag_regexp="yes" postag="VB[PD]"/> <token>to</token> </antipattern> <antipattern><!-- #3455 incorrect grammar: , some other tell that --> <token postag_regexp="yes" postag="PCT|CC"/> <token chunk="B-NP-singular" postag="DT"/> <token chunk="E-NP-singular">other</token><!-- 'other' as pronoun: www.lexico.com/definition/other --> <token chunk="B-VP" postag_regexp="yes" postag="VB[PD]?"/> <token>that</token> </antipattern> <antipattern><!-- #3672 flowers on the counter are --> <token chunk="E-NP-plural" postag="NNS"/> <token postag="IN"/> <token postag="DT"/> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token postag_regexp="yes" postag="VB[PD]|MD"/> <token postag_regexp="yes" postag="SENT_END|PCT|PRP|RB"/> </antipattern> <antipattern><!-- An elder woman points to the boy. --> <token regexp="yes">an?</token> <token postag="JJ.?" postag_regexp="yes" /> <token postag="NNP?|NN:UN?" postag_regexp="yes" /> <token postag="VBZ|MD" postag_regexp="yes" /> </antipattern> <antipattern><!-- Giving a person antibiotics will ... --> <token regexp="yes">an?</token> <token postag="NNP?|NN:UN?" postag_regexp="yes" /> <token postag="NNP?S" postag_regexp="yes" /> </antipattern> <antipattern><!-- The road curves to the side --> <token>the</token> <token postag_regexp="yes" postag="NN(:UN?)?"/> <token postag="VBZ" /> <token postag_regexp="yes" postag="TO|IN"/> </antipattern> <antipattern> <token>a</token> <token>few</token> <token postag="VB" chunk_re=".*NP-singular" /> </antipattern> <antipattern><!-- We have cards the other wants. --> <token>the</token> <token>other</token> <token regexp="yes">wants|needs</token> </antipattern> <antipattern><!-- We have cards the other wants. --> <token>the</token> <token>other</token> <token postag="VBZ" /> </antipattern> <antipattern><!-- #4814 many other have been --> <token postag_regexp="yes" postag="P?DT"/> <token postag_regexp="yes" postag="JJ.?"/> <token chunk="B-VP" postag="VBP">have</token> <token chunk="I-VP" postag="VBN"/> </antipattern> <antipattern><!-- Bashir's future remains uncertain as ever. / His unit saw 187 days of active battle. --> <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP-.*" /> <token postag="VB[DZ]" postag_regexp="yes" chunk_re=".-VP" /> </antipattern> <antipattern> <token postag="DT|PRP\$" postag_regexp="yes" /> <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP.*" /> <token postag="VB.*" postag_regexp="yes" chunk_re=".-VP" /> </antipattern> <antipattern><!-- The animal pass it on to --> <token>the</token> <token postag="NN.*" postag_regexp="yes" /> <token postag="VB[DZP]?" postag_regexp="yes" /> <token>it</token> <token postag="IN|TO" postag_regexp="yes" /> </antipattern> <pattern> <marker> <and> <token postag="JJ.?" postag_regexp="yes"> <exception postag="JJ.?|NN.*" negate_pos="yes" postag_regexp="yes"/> <exception regexp="yes">mainline|team|through|body|mean|work|animal|head|material|frontline|center|centre|business|state|runtime|size|power|budget|regulation|woman|turnover|utility|key|assault</exception> </token> <token postag="NN.*" postag_regexp="yes"> <exception regexp="yes">\p{Lu}\p{Ll}+</exception> </token> </and> </marker> <token postag="NN.*" postag_regexp="yes"> <exception postag="RB"/> <exception postag="PRP.*|CC|IN|DT" postag_regexp="yes"/> </token> <token><exception postag="NN.*" postag_regexp="yes"/><exception>for</exception></token> </pattern> <disambig action="filter" postag="JJ.?"/> <example type="ambiguous" inputform="usual[usual/JJ,usual/NN:U]" outputform="usual[usual/JJ]">My <marker>usual</marker> advice to people is just...</example> <example type="ambiguous" inputform="superior[superior/JJ,superior/NN]" outputform="superior[superior/JJ]">The hierarchical <marker>superior</marker> tests, are as the name suggests, better than the regular tests.</example> <!-- <example type="ambiguous" inputform="other[other/JJ,other/NN]" outputform="other[other/JJ]">I think the <marker>other</marker> tell that we saw was not as impressive as Mount Megiddo.</example> --> <example type="ambiguous" inputform="professional[professional/JJ,professional/NN]" outputform="professional[professional/JJ]">I know that if the <marker>professional</marker> want to enhance our reputation is not controlled, some professionals lose their moral compass.</example><!-- Premium #1564 --> <example type="ambiguous" inputform="professional[professional/JJ,professional/NN]" outputform="professional[professional/JJ]">If a <marker>professional</marker> want to know the truth is not controlled, we can lose our moral compass.</example><!-- Premium #1564 --> <example type="untouched">This is a nice machine.</example> <example type="untouched">A few catch all.</example> <example type="untouched">The animal pass it on to…</example> <example type="untouched">His unit saw 187 days of active battle.</example> <example type="untouched">Mr. B. Lowery, First of all, you sent me a picture with the head cut off.</example> <example type="untouched">This will provide an opportunity to see your work pay off.</example> <example type="untouched">Bashir's future remains uncertain as ever.</example> <!-- <example type="untouched">Here the road curves to the right.</example> --> <example type="untouched">Is much powerful and wondrous <marker>magic necessary for</marker> Harry Potter to fly?</example> <example type="untouched">The circus will come to <marker>town</marker> tomorrow.</example> <example type="untouched">His <marker>party</marker> may have brought the disease with them from Egypt.</example> <example type="untouched">This <marker>component</marker> parts the wires automatically.</example> <example type="untouched">Noun. We have a good <marker>chance</marker> things will not become worse.</example><!-- #2069 --> <example type="untouched">Noun. ... will need to start over at time <marker>period</marker> three.</example> <example type="untouched">Noun: Otherwise, the <marker>community</marker> sees it as trolling, regardless of the intent.</example><!-- #2405 --> <example type="untouched">Noun: Also, this <marker>group</marker> sees them on many occasions.</example><!-- #2405 --> <example type="untouched">Noun: Before the <marker>game</marker> starts she is unable to read all instructions.</example><!-- #2427 --> <example type="untouched">Noun: The <marker>work</marker> makes it possible.</example><!-- #2427 --> <example type="untouched">A large current flows through the air...</example><!-- #2926 --> <example type="untouched">... if a forward pass crosses into the neutral zones.</example><!-- #2926 --> <example type="untouched">I wish you a good party guys and don't drink too much.</example><!-- #2926, #2931 --> <example type="untouched">Considering that a new clutch costs nearly as much...</example><!-- #2926 --> <example type="untouched">... on a table while a pretty blonde looks at your ass?</example><!-- #2926 --> <example type="untouched">The same application running on a bare metal works without any issue.</example><!-- #2926 --> <example type="untouched">A good academic likes to be precise.</example><!-- #2926 --> <example type="untouched">In which a young woman imagines that she is being ...</example><!-- #2926 --> <example type="untouched">Maybe a random dwarf gains 2 mana on brown gems.</example><!-- #2926 --> <example type="untouched">A full team deals 5 dmg/turn!</example><!-- #2926 --> <example type="untouched">An electric motor uses electrical energy to produce mechanical energy.</example><!-- #2926 --> <example type="untouched">The five days’ time required to start a new business ranks 29th.</example><!-- #2926 --> <example type="untouched">... if a particular service restarts X times in Y minutes.</example><!-- #2926 --> <example type="untouched">We have cards the other wants.</example> <example type="untouched">A blonde woman laughs and mucks.</example><!-- #2952 --> <example type="untouched">A blonde woman laughs.</example><!-- #2952 --> <example type="untouched">In a perfect world spreaders don't exist.</example><!-- #3101 --> <example type="untouched">In a perfect world technicians don this equipment for protection.</example><!-- #3101 --> <example type="untouched">In a perfect world technicians wear PPE.</example><!-- #3101 --> <example type="untouched">Enron APACHE's ability to shape policies relating to its business by raising the profile...</example><!-- #3282 --> <example type="untouched">A few go to Brasília.</example><!-- #3330 --> <example type="untouched">A few go to happily Brasília.</example><!-- #3330 --> <example type="untouched">I once had someone break into a convertible years ago.</example><!-- #3272 --> <example type="untouched">I thought about buying her convertible days before this coronavirus crisis started.</example><!-- #3272 --> <example type="untouched">The media want to know about their customers.</example><!-- Premium #1564 --> <example type="untouched">Some people say that he died of hunger, some other tell that he still wanders.</example><!-- #3455 --> <example type="untouched">Some people say that he died of hunger and some other say that he still wanders.</example><!-- #3455 --> <example type="untouched">I wonder whose these beautiful flowers on the counter are.</example><!-- #3672 are/B-VP --> <example type="untouched">This plant is not nice, but those beautiful flowers on the counter are.</example><!-- #3672 are/B-VP --> <example type="untouched">You can easily get stunning displays, as these beautiful flowers on the counter show.</example><!-- #3672 show/E-NP-singular --> <example type="untouched">I wonder why these beautiful flowers on the counter lie askew.</example><!-- #3672 lie/E-NP-singular --> <example type="untouched">These beautiful flowers on the counter show you what you can expect from our floral service.</example><!-- #3672 show/E-NP-singular --> <!-- <example type="untouched">If any professional want to know the new practices of their field it is only a click away.</example>Premium #1564, incorrect grammar. MFU 2020-08-31 I do not know how to make a general antipattern for this sentence. --> <example type="untouched">An elder woman points to the boy.</example> <example type="untouched">Giving a patient antibiotics will make him feel better.</example> <example type="untouched">Many other have been hiding from the police.</example><!-- #4814 Incorrect grammar --> </rule> <rule id="DT_JJ_NNJJ_NN_VB_APOSTROPHE" name="determiner + adj + noun/adj + noun + verbn't => noun"><!-- #3108 --> <pattern><!-- based on an AP in NNJJ_NN_JJ --> <token chunk="B-NP-plural" postag="DT"/> <token chunk="I-NP-plural" postag_regexp="yes" postag="JJR?"/> <marker> <and> <token postag_regexp="yes" postag="JJR?"/> <token chunk="I-NP-plural" postag_regexp="yes" postag="NN(:UN?)?"/> </and> </marker> <token chunk="E-NP-plural" postag="NNS"/> <token regexp="yes">&abbreviated_negated_verbs;</token> <token>n't</token> </pattern> <disambig action="filter" postag="NN.*"/> <example type="ambiguous" inputform="world[world/JJ,world/NN:UN]" outputform="world[world/NN:UN]">In a perfect <marker>world</marker> spreaders don't exist.</example> <example type="untouched">In a perfect world technicians don this equipment for protection.</example> </rule> <rule id="DT_JJ_NNJJ_NN_VB" name="determiner + adj + noun/adj + noun + verb => noun"><!-- #3108 --> <pattern><!-- based on an AP in NNJJ_NN_JJ --> <token chunk="B-NP-plural" postag="DT"/> <token chunk="I-NP-plural" postag_regexp="yes" postag="JJR?"/> <marker> <and> <token postag_regexp="yes" postag="JJR?"/> <token chunk="I-NP-plural" postag_regexp="yes" postag="NN(:UN?)?"/> </and> </marker> <token chunk="E-NP-plural" postag="NNS"/> <token chunk="B-VP" postag_regexp="yes" postag="VB[PD]?"/> </pattern> <disambig action="filter" postag="NN.*"/> <example type="ambiguous" inputform="world[world/JJ,world/NN:UN]" outputform="world[world/NN:UN]">In a perfect <marker>world</marker> technicians don this equipment.</example> <example type="ambiguous" inputform="world[world/JJ,world/NN:UN]" outputform="world[world/NN:UN]">In a perfect <marker>world</marker> technicians wear PPE.</example> <example type="untouched">In a perfect <marker>world</marker> spreaders don't exist.</example> </rule> <rule id="BENEATH_NOTICE" name="beneath notice"> <pattern> <token postag="IN">beneath</token> <token postag="NN:UN">notice</token> </pattern> <disambig action="filterall"/> </rule> <rule id="WATER_SOLUBLE" name="water soluble"> <pattern> <token postag="NN:U">water</token> <token postag="JJ">soluble</token> </pattern> <disambig action="filterall"/> </rule> <rule id="TO_VB_OR_VB" name="to + noun/verb > verb + and/or + noun/verb > verb"> <antipattern><!-- singular noun phrase --> <token postag="TO"/> <token chunk="B-NP-singular" postag_regexp="yes" postag="NN:UN?"/> <token chunk="I-NP-singular" postag="CC" regexp="yes">and|or</token> <token postag_regexp="yes" postag="NN:UN?"/><!-- Do not use E-NP-singular, because this token is not necessarily the end of a noun phrase. --> </antipattern> <antipattern><!-- plural noun phrase --> <token postag="TO"/> <token chunk="B-NP-plural" postag_regexp="yes" postag="NN:UN?"/> </antipattern> <antipattern><!-- #2473 open and account at --> <token postag="CC" regexp="yes">and|or</token> <token postag_regexp="yes" postag="NN:UN?"/> <token postag="IN"/> </antipattern> <pattern> <token postag="TO"/> <marker> <token postag_regexp="yes" postag="VBP?"/> <token postag="CC" regexp="yes">and|or</token> <token postag_regexp="yes" postag="VBP?"/> </marker> </pattern> <disambig action="filterall"/> <example type="untouched">... and is applicable to oil or sludge.</example> <example type="untouched">... and is applicable to sludge or water in such conditions.</example> <example type="untouched">... and is applicable to milk and water (as shown on page 3).</example> <example type="untouched">This did not apply to oil and slurry seal because the...</example> <example type="untouched">This did not apply to oil or water glass because the...</example> <example type="untouched">This does not apply to oil and water mixtures because the...</example> <example type="untouched">This test is not applicable to blue or black oil, except on Mondays.</example> <example type="untouched">So feel free to open and account at languagetoolplus.com.</example><!-- #2473 --> <example type="ambiguous" inputform="abstract[abstract/JJ,abstract/NN,abstract/VB,abstract/VBP]" outputform="abstract[abstract/VB,abstract/VBP]">... making its purpose difficult to <marker>abstract</marker> or quantify to any single concept.</example><!-- abstract/E-NP-singular, thus do not use the chunker in the pattern. --> <example type="ambiguous" inputform="control[control/NN:UN,control/VB,control/VBP]" outputform="control[control/VB,control/VBP]">It is not easy to check and <marker>control</marker> these decisions.</example> <example type="ambiguous" inputform="abstract[abstract/JJ,abstract/NN,abstract/VB,abstract/VBP]" outputform="abstract[abstract/VB,abstract/VBP]">Although to summarize and <marker>abstract</marker> the information is not easy...</example> <example type="ambiguous" inputform="blue[blue/JJ,blue/NN:UN,blue/VB,blue/VBP]" outputform="blue[blue/VB,blue/VBP]">If you want to blacken or <marker>blue</marker> the metal, you must...</example><!-- black/B-NP-singular. Cannot do a test with 'black', thus use 'blacken' --> </rule> <rule id="VBN_TO_VB_IN" name="past participle + to + noun/verb > verb + preposition"> <antipattern><!-- committed to Water at --> <token postag="TO"/> <token chunk="E-NP-singular" regexp="yes">\p{Lu}\p{L}+</token> </antipattern> <pattern> <token postag="VBN"/> <token postag="TO"/> <marker> <token postag="VB"> <exception postag_regexp="yes" postag="NNPS?"/> </token> </marker> <token postag_regexp="yes" postag="IN|CC"/> </pattern> <disambig action="filterall"/> <example type="untouched">A three-man committee has recommended to Commission Chairman Charles O. Emmerich...</example> <example type="untouched">We have suggested to Peter on many occasions to do more tests.</example> <example type="untouched">They were committed to Water at this time in their fast.</example> <example type="ambiguous" inputform="flood[flood/JJ,flood/NN,flood/VB,flood/VBP]" outputform="flood[flood/VB]">The banks were said to <marker>flood</marker> when Aquarius put his jar into the river.</example><!-- flood/E-NP-singular, thus do not use the chunker in the pattern. --> <example type="ambiguous" inputform="sleep[sleep/NN:U,sleep/VB,sleep/VBP]" outputform="sleep[sleep/VB]">You are generally expected to <marker>sleep</marker> at night.</example> <example type="ambiguous" inputform="dream[dream/NN,dream/VB,dream/VBP]" outputform="dream[dream/VB]">Sheep are often erroneously believed to <marker>dream</marker> when they graze in the fields.</example> </rule> <rule name="Proper noun: All Blacks" id="ALL_BLACKS"><!-- www.lexico.com/en/definition/all_blacks--> <pattern case_sensitive="yes"> <token>All</token> <token>Blacks</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule name="Proper noun: Alpha Centauri" id="ALPHA_CENTAURI"> <pattern case_sensitive="yes"> <token>Alpha</token> <token>Centauri</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule name="Proper noun: Charlie Hebdo" id="CHARLIE_HEBDO"><!-- https://en.wikipedia.org/wiki/Charlie_Hebdo --> <pattern case_sensitive="yes"> <token>Charlie</token> <token>Hebdo</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule name="Proper noun: Christ lag in Todesbanden" id="CHRIST_LAG_IN_TODESBANDEN"><!-- https://en.wikipedia.org/wiki/Christ_lag_in_Todesbanden --> <pattern case_sensitive="yes"> <token>Christ</token> <token>lag</token> <token>in</token> <token>Todesbanden</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule name="Proper noun: Kew Gardens" id="KEW_GARDENS"><!-- https://en.wikipedia.org/wiki/Kew_Gardens --> <pattern case_sensitive="yes"> <token>Kew</token> <token>Gardens</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule name="Proper noun: Conference of Specialised Ministers" id="CONFERENCE_OF_SPECIALISED_MINISTERS"><!-- www.coe.int/en/web/cm/iguide-chapter6. Used as a test in en-GB OXFORD_SPELLING_Z_NOT_S --> <pattern case_sensitive="yes"> <token>Conference</token> <token>of</token> <token>Specialised</token> <token>Ministers</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule name="Proper noun: Palme d'Or" id="PALME_D_OR"><!-- www.festival-cannes.com/en/69-editions/palme/a-brief-history-of-the-palme-d-or--> <pattern case_sensitive="yes"> <token>Palme</token> <token>d</token> <token spacebefore="no" regexp="yes">&apostrophe;</token> <token spacebefore="no" regexp="yes">[Oo]r</token><!-- Both are on the reference website --> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule name="Proper noun: I Corps" id="I_CORPS"><!-- https://en.wikipedia.org/wiki/I_Corps--> <pattern case_sensitive="yes"> <token>I</token> <token>Corps</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule name="Proper noun (surname): O'x" id="SURNAME_O_X"> <pattern case_sensitive="yes"> <token>O</token> <token spacebefore="no" regexp="yes">&apostrophe;</token> <token spacebefore="no" regexp="yes">Hair|to-add-as-necessary</token><!-- https://en.wikipedia.org/wiki/O%27Hair --> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule name="Proper noun: O Tanenbaum" id="O_TANENBAUM"> <pattern case_sensitive="yes"> <token>O</token> <token>Tannenbaum</token><!-- https://en.wikipedia.org/wiki/O_Tannenbaum --> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule name="Proper noun: Qur'an/Ma'an" id="QUR_AN"><!-- www.lexico.com/en/definition/koran --> <pattern case_sensitive="yes"> <token regexp="yes">Qur|Ma</token> <token spacebefore="no" regexp="yes">&apostrophe;</token> <token spacebefore="no">an</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rulegroup name="Proper noun: the Ashes / an Ashes series " id="THE_ASHES"><!-- https://en.wikipedia.org/wiki/The_Ashes --> <rule> <pattern> <marker> <token>the</token> <token case_sensitive="yes">Ashes</token> </marker> <token regexp="yes">legend|series|urn</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/></disambig> <example type="untouched">... and the ashes urn was broken.</example> <example type="untouched">Step 3. The Ashes Are Put Into A Container</example> </rule> <rule> <pattern> <token>an</token> <marker> <token case_sensitive="yes">Ashes</token> </marker> <token>series</token> </pattern> <disambig action="replace"><wd pos="NNP"/></disambig> </rule> <rule> <pattern> <token>the</token> <token postag="JJ"/><!-- min/max does not work. Make 2 rules. --> <marker> <token skip="-1" case_sensitive="yes">Ashes</token> </marker> <token regexp="yes">Australia|England|cricket|match|series</token> </pattern> <disambig action="replace"><wd pos="NNP"/></disambig> <example type="ambiguous" inputform="Ashes[ash/NNS]" outputform="Ashes[Ashes/NNP]">The upcoming <marker>Ashes</marker> series in 2013 will be held in England.</example> <example type="untouched">... known as the <marker>Ashes</marker> is a Test cricket series played between England and Australia.</example> </rule> <rule> <pattern> <token>the</token> <marker> <token skip="-1" case_sensitive="yes">Ashes</token> </marker> <token regexp="yes">Australia|England|cricket|match|series</token> </pattern> <disambig action="replace"><wd pos="NNP"/></disambig> <example type="ambiguous" inputform="Ashes[ash/NNS]" outputform="Ashes[Ashes/NNP]">... known as the <marker>Ashes</marker> is a Test cricket series played between England and Australia.</example> </rule> </rulegroup> <rule name="Proper noun: The Monkees" id="THE_MONKEES"><!-- https://en.wikipedia.org/wiki/The_Monkees_(TV_series) --> <pattern case_sensitive="yes"> <token regexp="yes">[Tt]he</token> <token>Monkees</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rulegroup name="Proper noun: plc" id="PLC"> <rule> <pattern> <token case_sensitive="yes" regexp="yes"> [A-Z].* </token> <marker> <token>plc</token> </marker> </pattern> <disambig action="add"><wd pos="NNP"/></disambig> </rule> <rule> <pattern> <token postag="NNP" /> <marker> <token>plc</token> </marker> </pattern> <disambig action="add"><wd pos="NNP"/></disambig> </rule> </rulegroup> <rule name="Proper noun: Encyclopædia X" id="ENCYCLOPÆDIA_X"><!-- The correct spelling uses a ligature: https://corporate.britannica.com/contact/; www.iranicaonline.org.--> <pattern case_sensitive="yes"> <token>Encyclopædia</token> <token regexp="yes">Britannica|Iranica</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule name="Proper noun: S&P 500" id="S_AND_P_500"><!-- The correct spelling uses a ligature: https://corporate.britannica.com/contact/; www.iranicaonline.org.--> <pattern case_sensitive="yes"> <token>S</token> <token regexp="yes">&</token> <token>P</token> <token>500</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule name="Proper noun: U.S. Highway 101" id="US_HIGHWAY_101"><!-- #2077, https://en.wikipedia.org/wiki/U.S._Route_101 --> <pattern case_sensitive="yes"> <token>U</token> <token spacebefore="no">.</token> <token spacebefore="no">S</token> <token spacebefore="no">.</token> <token regexp="yes">Route|Highway</token> <token>101</token><!-- Possibly use postag CD. The safe option is to add the known correct numbers --> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule name="NN: Enter Key" id="ENTER_KEY"> <pattern> <marker> <token>enter</token> <token>key</token> </marker> </pattern> <disambig action="add"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule name="NN:U: social distancing" id="SOCIAL_DISTANCING"> <pattern> <marker> <token>social</token> <token>distancing</token> </marker> </pattern> <disambig action="add"><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule name="NN: ma'am" id="MA_AM"> <pattern> <marker> <token>ma</token> <token regexp="yes" spacebefore="no">['’]</token> <token spacebefore="no">am</token> </marker> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule name="NNS: Enter Keys" id="ENTER_KEYS"> <pattern> <marker> <token>enter</token> <token>keys</token> </marker> </pattern> <disambig action="add"><wd pos="NN"/><wd pos="NNS"/></disambig> </rule> <rule name="NN: aspartic acid" id="POS_ASPARTIC_ACID"> <pattern> <marker> <token>aspartic</token> <token>acid</token> </marker> </pattern> <disambig action="add"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule name="NN: aspartic acid" id="SPELLING_ASPARTIC_ACID"> <pattern> <marker> <token>aspartic</token> <token>acid</token> </marker> </pattern> <disambig action="ignore_spelling"/> </rule> <rulegroup name="Noun: cram school" id="POS_CRAM_SCHOOL"><!-- www.lexico.com/definition/cram_school --> <rule> <pattern> <marker> <token chunk="I-NP-singular">cram</token> <token chunk="E-NP-singular">school</token> </marker> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> <example type="untouched">How many times have I told you not to cram school bags with dead frogs?</example> <example type="ambiguous" inputform="cram[cram/VB,cram/VBP]" outputform="cram[cram/NN]">He studies at a <marker>cram</marker> school.</example> </rule> <rule> <pattern> <marker> <token>cram</token> <token chunk="E-NP-plural">schools</token> </marker> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> <example type="ambiguous" inputform="cram[cram/VB,cram/VBP]" outputform="cram[cram/NNS]">These <marker>cram</marker> schools are terrible.</example> </rule> </rulegroup> <rule name="KETO" id="SPELLING_KETO"> <pattern> <marker> <token>keto</token> <token regexp="yes">acids?|diets?</token> </marker> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="KUNG_FU" id="KUNG_FU"> <pattern> <marker> <token>kung</token> <token>fu</token> </marker> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="CARTE_BLANCHE" id="SPELLING_CARTE_BLANCHE"> <pattern> <marker> <token>carte</token> <token>blanche</token> </marker> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="IN_VIVO" id="SPELLING_IN_VIVO"> <pattern> <marker> <token>in</token> <token>vivo</token> </marker> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="CARTE_DE_VISITE" id="SPELLING_CARTE_DE_VISITE"> <pattern> <marker> <token regexp="yes">cartes?</token> <token>de</token> <token>visite</token> </marker> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="NNP with trademark symbols" id="PROPER_NOUNS_WITH_TRADEMARK_SYMBOLS"> <pattern> <token regexp="yes">([a-z]+)[™®]</token><!-- The case is not important. Some trade names have non-standard typography. Some start with a lower-case letter. NoDisambiguationEnglishPartialPosTagFilter is necessary to prevent LT ignoring typographic errors such as Yarhoo®. The rule causes false negatives with NNPs that are not legally permitted to use the ® symbol, but that is a relatively unlikely problem. (Nobody is likely to write Michael® unless they mean it.) --> </pattern> <filter class="org.languagetool.rules.en.NoDisambiguationEnglishPartialPosTagFilter" args="no:1 regexp:([a-zA-Z]+)[™®] postag_regexp:NNP"/><!-- The filter is case-sensitive --> <disambig action="ignore_spelling"/> </rule> <rule name="Ignore spelling of url protocols" id="URI_PROTOCOL"> <pattern><!-- chrome://, ftp://, file:// --> <token regexp="yes">[a-z\-]+</token> <token spacebefore="no">:</token> <token spacebefore="no">/</token> <token spacebefore="no">/</token> <token spacebefore="no" min="0">/</token> <token spacebefore="no" regexp="yes">[a-z0-9\-]+</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="Ignore spelling of superscripted units of measure" id="IGNORE_SPELLING_OF_SUPERSCRIPTED_UNITS"><!-- Refer to http://physics.nist.gov/cuu/Units/units.html --> <pattern case_sensitive="yes"> <token regexp="yes">(Y|Z|E|P|T|G|M|k|h|da|d|c|m|µ|n|p|f|a|z|y)?(m|g|s|A|K|mol|cd|rad|sr|Hz|N|Pa|J|W|C|V|F|Ω|Sv?|Wb|T|H|l[mx]|Bq|Gy|kat|min|h|d|L|t|Np|B|eV|ua?)(⁻)?(¹|²|³)</token><!-- 'ft' and 'yd' are not SI units, but the rule ignores the spelling of the correct English units of measure 'ft²' and 'yd³'. --> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="ignore spelling of 'cron job'" id="IGNORE_SPELLING_OF_CRON_JOB"> <!-- https://www.lexico.com/definition/cron --> <pattern> <token>cron</token> <token regexp="yes">jobs?</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="ignore spelling of 'amazon ant'" id="IGNORE_SPELLING_OF_AMAZON_ANT"> <!-- https://www.lexico.com/definition/amazon_ant --> <pattern> <token>amazon</token> <token regexp="yes">ants?</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="ignore spelling of 'Grand Prix'" id="IGNORE_SPELLING_OF_GRAND_PRIX"> <!-- https://www.merriam-webster.com/dictionary/Grands%20Prix --> <pattern> <token regexp="yes">grands?</token> <token>prix</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="IGNORE_SPELLING_OF_VAN_DE" name="Ignore spelling of 'van de'"> <pattern case_sensitive="yes"> <marker> <token>van</token> <token regexp="yes">de[nr]?</token> </marker> <token regexp="yes">[A-Z].+</token> </pattern> <disambig action="ignore_spelling"></disambig> </rule> <rule id="IGNORE_SPELLING_OF_VON" name="Ignore spelling of 'von'"> <pattern case_sensitive="yes"> <token postag="NNP|UNKNOWN" postag_regexp="yes" regexp="yes">[A-Z].+</token> <marker> <token>von</token> </marker> <token postag="NNP|UNKNOWN" postag_regexp="yes" regexp="yes">[A-Z].+</token> </pattern> <disambig action="ignore_spelling"></disambig> </rule> <rule id="IGNORE_SPELLING_OF_CIUDAD_DE" name="Ignore spelling of Hispanic names containing 'de'"> <pattern case_sensitive="yes"> <marker> <token regexp="yes">&hispanic_nnp;</token> <token>de</token> <token regexp="yes" min="0">[Ll]a|[Ll][eoa]s</token> </marker> <token regexp="yes">[A-Z].+</token> </pattern> <disambig action="ignore_spelling"></disambig> </rule> <rule id="IGNORE_SPELLING_OF_CIUDAD" name="Ignore spelling of Hispanic names containing 'del'"> <pattern case_sensitive="yes"> <marker> <token regexp="yes">&hispanic_nnp;</token> <token regexp="yes">[Dd]el</token> </marker> <token regexp="yes">[A-Z].+</token> </pattern> <disambig action="ignore_spelling"></disambig> </rule> <rulegroup id="IGNORE_SPELLING_OF_DE" name="Ignore spelling of names containing 'de'"> <rule> <pattern case_sensitive="yes"> <token postag="NN.*|UNKNOWN" postag_regexp="yes" regexp="yes">[A-Z].+</token> <marker> <token regexp="yes">[Dd]e</token> <token regexp="yes" min="0">[Ll]as?|[Ll]os</token> </marker> <token postag="NNP|UNKNOWN" postag_regexp="yes" regexp="yes">[A-Z].+</token> </pattern> <disambig action="ignore_spelling"></disambig> </rule> <rule> <pattern case_sensitive="yes"> <marker> <token>De</token> </marker> <token postag="NNP|UNKNOWN" postag_regexp="yes" regexp="yes">[A-Z].+</token> </pattern> <disambig action="ignore_spelling"></disambig> </rule> </rulegroup> <rule id="IGNORE_SPELLING_OF_Y_DE" name="Ignore spelling of names containing 'y de'"> <pattern case_sensitive="yes"> <token postag="NN.*|UNKNOWN" postag_regexp="yes" regexp="yes">[A-Z].+</token> <marker> <token>y</token> <token>de</token> </marker> <token postag="NNP|UNKNOWN" postag_regexp="yes" regexp="yes">[A-Z].+</token> </pattern> <disambig action="ignore_spelling"></disambig> </rule> <rule id="IGNORE_SPELLING_OF_DEL" name="Ignore spelling of names containing 'del/du/di'"> <pattern case_sensitive="yes"> <token postag="NN.*|UNKNOWN" postag_regexp="yes" regexp="yes">[A-Z].+</token> <marker> <token regexp="yes">[Dd]el|du|di</token> </marker> <token postag="NNP|UNKNOWN" postag_regexp="yes" regexp="yes">[A-Z].+</token> </pattern> <disambig action="ignore_spelling"></disambig> </rule> <rule id="IGNORE_SPELLING_OF_MR_DE" name="Ignore spelling of names containing 'de'"> <pattern case_sensitive="yes"> <token regexp="yes">Mrs?|Miss|Dr</token> <token min="0">.</token> <marker> <token regexp="yes">[Dd]e</token> <token regexp="yes" min="0">[Ll]as?|[Ll]os</token> </marker> <token postag="NNP|UNKNOWN" postag_regexp="yes" regexp="yes">[A-Z].+</token> </pattern> <disambig action="ignore_spelling"></disambig> </rule> <rule id="IGNORE_SPELLING_OF_MR_DEL" name="Ignore spelling of names containing 'del'"> <pattern case_sensitive="yes"> <token regexp="yes">Mrs?|Miss</token> <token min="0">.</token> <marker> <token regexp="yes">[Dd]el</token> </marker> <token postag="NNP|UNKNOWN" postag_regexp="yes" regexp="yes">[A-Z].+</token> </pattern> <disambig action="ignore_spelling"></disambig> </rule> <rule id="MODUS" name="Ignore spelling of 'modus'"> <pattern> <token regexp="yes">modus|modi</token> <token regexp="yes">operandi|vivendi</token> </pattern> <disambig action="ignore_spelling"></disambig> </rule> <rule id="IGNORE_SPELLING_OF_EAU_DE" name="Ignore spelling of 'eau de'"> <pattern> <marker> <token regexp="yes">eaux?</token> <token>de</token> <token regexp="yes">toilettes?|parfums?|javel|javelle|nile|colognes?</token> </marker> </pattern> <disambig action="ignore_spelling"></disambig> </rule> <rule name="Ignore spelling of 'Notre Dame'" id="IGNORE_SPELLING_OF_NOTRE_DAME"> <pattern case_sensitive="yes"> <token>Notre</token> <token>Dame</token> </pattern> <disambig action="ignore_spelling"></disambig> </rule> <rulegroup name="Ignore spelling of file extensions" id="IGNORE_SPELLING_OF_FILE_EXTENSIONS"> <rule> <pattern> <marker> <!-- this needs to be in sync with FILE_EXTENSIONS_CASE --> <token regexp="yes" case_sensitive="yes">pdf|jpe?g|gif|png|svg|docx|xlsx?|pptx?|html|php|s?css|jsx?|heif|mpe?g|exe|dmg|xml</token> </marker> </pattern> <disambig action="ignore_spelling"/> </rule> </rulegroup> <rule name="Proper noun: Ho Chi Minh" id="HO_CHI_MINH"><!-- www.lexico.com/en/definition/ho_chi_minh --> <pattern case_sensitive="yes"> <token>Ho</token> <token>Chi</token> <token>Minh</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rulegroup name="Adverbial phrases/locutions" id="ADVERBIAL_PHRASES"> <!-- Created by Tiago F. Santos, 2018-11-13 --> <rule> <pattern> <token>very</token> <token regexp='yes' postag="RB"> (.+)ly <exception>family</exception> </token> </pattern> <disambig action="replace"><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule name="Number of times" id="NUMBER_TIMES"><!-- #3111 I did not find a good reference for adverbials of number --> <antipattern><!-- www.lexico.com/definition/out_of --> <token postag="CD"/> <token>times</token> <token>out</token> <token>of</token> </antipattern> <antipattern><!-- 3 times are / five times is --> <token postag="CD"/> <token>times</token> <token chunk="B-VP" postag_regexp="yes" postag="VB.*"/> </antipattern> <antipattern><!-- the 3 times (as shown --> <token postag_regexp="yes" postag="DT|PRP\$"/> <token postag="CD"/> <token>times</token> </antipattern> <antipattern><!-- Five times four is --> <token postag="CD"/> <token>times</token> <token postag="CD"/> </antipattern> <pattern> <marker> <token postag="CD"/> <token>times</token> </marker> </pattern> <disambig action="replace"><wd pos="RB"/><wd pos="RB"/></disambig> <example type="ambiguous" inputform="times[time/NNS]" outputform="times[times/RB]">They did it three <marker>times</marker>.</example> <example type="ambiguous" inputform="times[time/NNS,time/VBZ]" outputform="times[times/RB]">They do the tests 4 <marker>times</marker> each year.</example> <example type="ambiguous" inputform="times[time/NNS,time/VBZ]" outputform="times[times/RB]">Per head of population, there is five <marker>times</marker> as much venture capital available in...</example><!-- #3118 --> <example type="ambiguous" inputform="times[time/NNS]" outputform="times[times/RB]">You're ten <marker>times</marker> heavier than I am.</example><!-- #3119 --> <example type="ambiguous" inputform="times[time/NNS,time/VBZ]" outputform="times[times/RB]">They did it four <marker>times</marker> as quickly as the other team.</example> <example type="ambiguous" inputform="times[time/NNS,time/VBZ]" outputform="times[times/RB]">They did it six <marker>times</marker> as a test.</example><!-- Is this an adverbial of number? --> <example type="untouched">They are the best option 9 times out of ten.</example><!-- #3111 --> <example type="untouched">If the 3 times are all the same, stop the test.</example><!-- #3111 --> <example type="untouched">If the 3 times (as shown in the Test Time column) are the same, stop the test.</example><!-- #3111 --> <example type="untouched">Five times is not sufficient; do more testing.</example><!-- #3111 --> <example type="untouched">Five times four is twenty.</example> <example type="untouched">Doing the test ten times gives us sufficient data.</example> </rule> </rulegroup> <rule id="THE_BLESSED" name="the blessed"><!-- www.lexico.com/en/definition/blessed --> <pattern> <token>the</token> <marker> <token>blessed</token> </marker> <token chunk="B-VP" postag_regexp="yes" postag="VB[PD]?"/> </pattern> <disambig action="replace"><wd pos="NNS"/></disambig> <example type="untouched">Oh, the <marker>blessed</marker> fool really annoys me.</example> <example type="ambiguous" inputform="blessed[bless/VBD,bless/VBN,blessed/JJ,blessed/NN]" outputform="blessed[blessed/NNS]">He also states that the <marker>blessed</marker> are called in Greek...</example> </rule> <rulegroup id="FOREIGN_TERMS_FRENCH" name="French terms used in English"> <!-- MFU verified with www.lexico.com and/or www.merriam-webster.com unless otherwise noted. --> <rule id="À_DEUX" name="à deux"> <pattern> <token>à</token> <token>deux</token> </pattern> <disambig action="replace"><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="À_HUIS_CLOS" name="à huis clos"> <pattern> <token>à</token> <token>huis</token> <token>clos</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/><wd pos="FW"/></disambig> </rule> <rule id="À_LA_CARTE" name="à la carte"> <pattern> <token>à</token> <token>la</token> <token>carte</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="AMOUR_PROPRE" name="amour propre"> <pattern> <token>amour</token> <token>propre</token> </pattern> <disambig action="replace"><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule id="AU_ADJECTIVE" name="au + ADJECTIVE"> <pattern> <token>au</token> <token regexp="yes">beurre|courant|fait|gratin|jus|naturel</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="AU_CONTRAIRE" name="au contraire"> <pattern> <token>au</token> <token>contraire</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/></disambig> </rule> <rule id="AU_FOND" name="au fond"> <pattern> <token>au</token> <token>fond</token> </pattern> <disambig action="replace"><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="AUTREFOIS_ACQUIT" name="autrefois acquit/convict"> <pattern> <token>autrefois</token> <token regexp="yes">acquit|convict</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/></disambig> </rule> <rule id="AVANT_GARDE_JJ" name="avant-garde"> <pattern> <token>avant-garde</token> </pattern> <disambig action="replace"><wd pos="JJ"/></disambig> </rule> <rule id="AVANT_GARDE_NN" name="avant-garde"> <pattern> <token>avant-garde</token> </pattern> <disambig action="add"><wd pos="NN:U"/></disambig> </rule> <rule id="BEAU_NOUN_SINGULAR" name="beau + NOUN SINGULAR"> <pattern> <token>beau</token> <token regexp="yes">geste|idéal</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="BEAUX_NOUN_PLURAL" name="beaux + NOUN PLURAL"> <pattern> <token>beaux</token> <token regexp="yes">arts|gestes|idéals</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="BEAU_MONDE" name="beau monde"> <pattern> <token>beau</token> <token>monde</token> </pattern> <disambig action="replace"><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule id="BELLES-LETTRES" name="belles-lettres"> <pattern> <token>belles-lettres</token> </pattern> <disambig action="replace"><wd pos="NNS"/></disambig> </rule> <rule id="BÊTE_NOIRE" name="bête noire"> <pattern> <token>bête</token> <token>noire</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="BÊTES_NOIRES" name="bêtes noires"> <pattern> <token>bêtes</token> <token>noires</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="BILLET-DOUX" name="billet-doux"> <pattern> <token>billet-doux</token> </pattern> <disambig action="replace"><wd pos="NN"/></disambig> </rule> <rule id="BILLETS-DOUX" name="billets-doux"> <pattern> <token>billets-doux</token> </pattern> <disambig action="replace"><wd pos="NNS"/></disambig> </rule> <rule id="BON_APPÉTIT" name="bon appétit"> <pattern> <token>bon</token> <token>appétit</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/></disambig> </rule> <rule id="BON_NOUN_SINGULAR" name="bon + NOUN SINGULAR"> <pattern> <token>bon</token> <token regexp="yes">mot|vivant</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="BONS_NOUN_PLURAL" name="bons + NOUN PLURAL"> <pattern> <token regexp="yes">bons?</token> <token regexp="yes">mots|vivants</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="BON_VOYAGE" name="bon voyage"> <pattern> <token>bon</token> <token>voyage</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/></disambig> </rule> <rule id="CARTE_BLANCHE" name="carte blanche"> <pattern> <token>carte</token> <token>blanche</token> </pattern> <disambig action="replace"><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule id="CAUSE_CÉLÈBRE" name="cause célèbre"> <pattern> <token>cause</token> <token>célèbre</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="CAUSES_CÉLÈBRES" name="causes célèbres"> <pattern> <token>causes</token> <token>célèbres</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="CHACUN_À_SON_GOUT" name="chacun à son gout"> <pattern> <token>chacun</token> <token>à</token> <token>son</token> <token>gout</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/><wd pos="FW"/><wd pos="FW"/></disambig> </rule> <rule id="CHEF_D_ŒUVRE" name="chef-d'œuvre"> <pattern> <token>chef-d</token> <token spacebefore="no" regexp="yes">&apostrophe;</token> <token spacebefore="no">œuvre</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="CHEFS_D_ŒUVRE" name="chefs-d'œuvre"> <pattern> <token>chefs-d</token> <token spacebefore="no" regexp="yes">&apostrophe;</token> <token spacebefore="no">œuvre</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="CHERCHEZ_LA_FEMME" name="cherchez la femme"> <pattern> <token>cherchez</token> <token>la</token> <token>femme</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/><wd pos="FW"/></disambig> </rule> <rule id="COMME_CI_COMME_ÇA_JJ" name="comme ci, comme ça"> <pattern> <token>comme</token> <token>ci</token> <token>,</token> <token>comme</token> <token>ça</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/><wd pos="JJ"/><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="COMME_CI_COMME_ÇA_RB" name="comme ci, comme ça"> <pattern> <token>comme</token> <token>ci</token> <token>,</token> <token>comme</token> <token>ça</token> </pattern> <disambig action="add"><wd pos="RB"/><wd pos="RB"/><wd pos="RB"/><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="COMME_IL_FAUT" name="comme il faut"> <pattern> <token>comme</token> <token>il</token> <token>faut</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="CORDON_BLEU" name="cordon bleu"><!-- www.lexico.com/en/definition/cordon_bleu also has noun, but that is not usual: He is a cordon bleu. --> <pattern> <token>cordon</token> <token>bleu</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="CORDON_SANITAIRE" name="cordon sanitaire"> <pattern> <token>cordon</token> <token>sanitaire</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="CORDONS_SANITAIRES" name="cordons sanitaires"> <pattern> <token>cordons</token> <token>sanitaires</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="COUP_D_ÉTAT" name="coup d'état"> <pattern> <token>coup</token> <token spacebefore="no" regexp="yes">&apostrophe;</token> <token spacebefore="no">état</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="COUPS_D_ÉTAT" name="coups d'état"> <pattern> <token>coups</token> <token spacebefore="no" regexp="yes">&apostrophe;</token> <token spacebefore="no">état</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="COUP_DE_FOUDRE" name="coup de foudre"> <pattern> <token>coup</token> <token>de</token> <token regexp="yes">foudre|grâce|main</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="COUPS_DE_FOUDRE" name="coups de foudre"> <pattern> <token>coups</token> <token>de</token> <token regexp="yes">foudre|grâce|main</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="CRI_DE_CŒUR" name="cri de cœur"> <pattern> <token>cri</token> <token>de</token> <token regexp="yes">cœur|coeur</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="CRIS_DE_CŒUR" name="cris de cœur"> <pattern> <token>cris</token> <token>de</token> <token regexp="yes">cœur|coeur</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="DE_NOS_JOURS" name="de nos jours"> <pattern> <token>de</token> <token>nos</token> <token>jours</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="DE_RIGUEUR" name="de rigueur"> <pattern> <token>de</token> <token regexp="yes">rigueur|trop</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="DÉJÀ_VU" name="déjà vu"> <pattern> <token>déjà</token> <token>vu</token> </pattern> <disambig action="replace"><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule id="DERNIER_CRI" name="dernier cri"> <pattern> <token>dernier</token> <token>cri</token> </pattern> <disambig action="replace"><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule id="DOUBLE_ENTENDRE" name="double entendre"> <pattern> <token>double</token> <token>entendre</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="DOUBLE_ENTENDRES" name="double entendres"> <pattern> <token>double</token> <token>entendres</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <!-- <rule id="DROIT_DU_SEIGNEUR" name="droit du seigneur"> <pattern> <token></token> <token></token> </pattern> <disambig action="replace"><wd pos=""/><wd pos=""/></disambig> </rule> --> <rule id="DU_JOUR" name="du jour"> <pattern> <token>du</token> <token>jour</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="EMBARRAS_DE_RICHESSE" name="embarras de richesse"> <pattern> <token regexp="yes">embarr?as</token> <token>de</token> <token>richesse</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="EMBARRAS_DE_RICHESSES" name="embarras de richesses"> <pattern> <token regexp="yes">embarr?as</token> <token>de</token> <token>richesses</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="ÉMINENCE_GRISE" name="éminence grise"> <pattern> <token>éminence</token> <token>grise</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="ÉMINENCES_GRISES" name="éminences grises"> <pattern> <token>éminences</token> <token>grises</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="EN_ADVERB" name="en + ADVERB"> <pattern> <token>en</token> <token regexp="yes">famille|masse|passant</token> </pattern> <disambig action="replace"><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="ENFANT_TERRIBLE" name="enfant terrible"> <pattern> <token>enfant</token> <token>terrible</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="ENFANTS_TERRIBLES" name="enfants terribles"> <pattern> <token>enfants</token> <token>terribles</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="ENTENTE_CORDIALE" name="entente cordiale"> <pattern> <token>entente</token> <token>cordiale</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="ENTRE_NOUS" name="entre nous"> <pattern> <token>entre</token> <token>nous</token> </pattern> <disambig action="replace"><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="ESPRIT_DE_CORPS" name="esprit de corps"> <pattern> <token>esprit</token> <token>de</token> <token>corps</token> </pattern> <disambig action="replace"><wd pos="NN:U"/><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule id="FAIT_ACCOMPLI" name="fait accompli"> <pattern> <token>fait</token> <token>accompli</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="FAITS_ACCOMPLIS" name="faits accomplis"> <pattern> <token>faits</token> <token>accomplis</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="FAUTE_DE_MIEUX" name="faute de mieux"> <pattern> <token>faute</token> <token>de</token> <token>mieux</token> </pattern> <disambig action="replace"><wd pos="RB"/><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="FAUX_PAS" name="faux pas"> <pattern> <token>faux</token> <token>pas</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="FEMME_FATALE" name="femme fatale"> <pattern> <token>femme</token> <token>fatale</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="FEMMES_FATALES" name="femmes fatales"> <pattern> <token>femmes</token> <token>fatales</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="FÊTE_CHAMPÊTRE" name="fête champêtre"> <pattern> <token>fête</token> <token>champêtre</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="FÊTES_CHAMPÊTRES" name="fêtes champêtres"> <pattern> <token>fêtes</token> <token>champêtres</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <!--<rule id="FIN_DE_SIÈCLE" name="fin de siècle"> <pattern> <token>fin</token> <token>de</token> <token>siècle</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/></disambig> </rule>--> <rule id="FOLIE_DE_GRANDEUR" name="folie de grandeur"> <pattern> <token>folie</token> <token>de</token> <token>grandeur</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="FORCE_DE_FRAPPE" name="force de frappe"> <pattern> <token>force</token> <token>de</token> <token>frappe</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="FORCE_MAJEURE" name="force majeure"> <pattern> <token>force</token> <token>majeure</token> </pattern> <disambig action="replace"><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule id="GRAND_MAL" name="grand mal"> <pattern> <token>grand</token> <token>mal</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="GRANDE_DAME" name="grande dame"> <pattern> <token>grande</token> <token>dame</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="GRANDES_DAMES" name="grandes dames"> <pattern> <token>grandes</token> <token>dames</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="HAUT_MONDE" name="haut monde"> <pattern> <token>haut</token> <token>monde</token> </pattern> <disambig action="replace"><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule id="HAUTE_NOUN" name="haute + NOUN"> <pattern> <token>haute</token> <token regexp="yes">couture|cuisine</token> </pattern> <disambig action="replace"><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule id="HORS_D_OEUVRE" name="hors d'oeuvre"> <pattern> <token>hors</token> <token>d</token> <token spacebefore="no" regexp="yes">&apostrophe;</token> <token spacebefore="no">oeuvre</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="HORS_D_OEUVRES" name="hors d'oeuvres"> <pattern> <token>hors</token> <token>d</token> <token spacebefore="no" regexp="yes">&apostrophe;</token> <token spacebefore="no">oeuvres</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="HORS_DE_COMBAT" name="hors de combat"> <pattern> <token>hors</token> <token>de</token> <token>combat</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="IDÉE_FIXE" name="idée fixe"> <pattern> <token>idée</token> <token>fixe</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="IDÉES_FIXES" name="idées fixes"> <pattern> <token>idées</token> <token>fixes</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="JE_NE_SAIS_QUOI" name="je ne sais quoi"> <pattern> <token>je</token> <token>ne</token> <token>sais</token> <token>qua</token> </pattern> <disambig action="replace"><wd pos="NN:U"/><wd pos="NN:U"/><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <!--<rule id="JEU_D_ESPRIT" name="jeu d'esprit"> <pattern> <token>jeu</token> <token>d</token> <token spacebefore="no" regexp="yes">&apostrophe;</token> <token spacebefore="no">esprit</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="JEUX_D_ESPRITS" name="jeux d'esprits"> <pattern> <token>jeux</token> <token>d</token> <token spacebefore="no" regexp="yes">&apostrophe;</token> <token spacebefore="no">esprit</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule>--> <rule id="JEUNESSE_DORÉE" name="jeunesse dorée"> <pattern> <token>jeunesse</token> <token>dorée</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="JOIE_DE_VIVRE" name="joie de vivre"> <pattern> <token>joie</token> <token>de</token> <token>vivre</token> </pattern> <disambig action="replace"><wd pos="NN:U"/><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule id="LAISSEZ_FAIRE_JJ" name="laissez faire (adjective)"> <pattern> <token>laissez</token> <token>faire</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="LAISSEZ_FAIRE_NNU" name="laissez faire (noun)"> <pattern> <token>laissez</token> <token>faire</token> </pattern> <disambig action="add"><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule id="MISE_EN_SCÈNE" name="mise en scène"> <pattern> <token>mise</token> <token>en</token> <token>scène</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="MOT_JUSTE" name="mot juste"> <pattern> <token>mot</token> <token>juste</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="MOTS_JUSTES" name="mots justes"> <pattern> <token>mots</token> <token>justes</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="NOBLESSE_OBLIGE" name="noblesse oblige"> <pattern> <token>noblesse</token> <token>oblige</token> </pattern> <disambig action="replace"><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule id="NOM_DE_NOUN" name="nom de + NOUN"> <pattern> <token>nom</token> <token>de</token> <token regexp="yes">guerre|plume</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="NOMS_DE_NOUN" name="noms de + NOUN PLURAL"> <pattern> <token>noms</token> <token>de</token> <token regexp="yes">guerre|plume</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="NOUVEAU_RICHE" name="nouveau riche"> <pattern> <token>nouveau</token> <token>riche</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="NOUVEAUX_RICHES" name="nouveaux riches"> <pattern> <token>nouveaux</token> <token>riches</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="OBJET_D_ART" name="objet d'art"> <pattern> <token>objet</token> <token>d</token> <token spacebefore="no" regexp="yes">&apostrophe;</token> <token spacebefore="no">art</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="OBJETS_D_ART" name="objet d'art"> <pattern> <token>objets</token> <token>d</token> <token spacebefore="no" regexp="yes">&apostrophe;</token> <token spacebefore="no">art</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="ON_DIT" name="on dit"> <pattern> <token>on</token> <token>dit</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="ON_DITS" name="on dits"> <pattern> <token>on</token> <token>dits</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="PAR_EXCELLENCE" name="par excellence"> <pattern> <token>par</token> <token>excellence</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="PARTI_PRIS" name="parti pris"> <pattern> <token>parti</token> <token>pris</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="PARTIS_PRIS" name="partis pris"> <pattern> <token>partis</token> <token>pris</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="PIÈCE_DE_RÉSISTANCE" name="pièce de résistance"> <pattern> <token>pièce</token> <token>de</token> <token>résistance</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="PIÈCES_DE_RÉSISTANCE" name="pièces de résistance"> <pattern> <token>pièces</token> <token>de</token> <token>résistance</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="PIS_ALLER" name="pis aller"> <pattern> <token>pis</token> <token>aller</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="PLAT_DU_JOUR" name="plat du jour"> <pattern> <token>plat</token> <token>du</token> <token>jour</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="PLATS_DU_JOUR" name="plats du jour"> <pattern> <token>plats</token> <token>du</token> <token>jour</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="PLUS_ÇA_CHANGE" name="plus ça change"> <pattern> <token>plus</token> <token>ça</token> <token>change</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/><wd pos="FW"/></disambig> </rule> <rule id="RAISON_D_ÊTRE" name="raison d'être"> <pattern> <token>raison</token> <token>d</token> <token spacebefore="no" regexp="yes">&apostrophe;</token> <token spacebefore="no">être</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="ROMAN_À_CLEF" name="roman à clef"> <pattern> <token>roman</token> <token>à</token> <token>clef</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="ROMANS_À_CLEF" name="roman à clef"> <pattern> <token>romans</token> <token>à</token> <token>clef</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="SANS_SOUCI" name="sans souci"> <pattern> <token>sans</token> <token>souci</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/></disambig> </rule> <rule id="SAVOIR_FAIRE" name="savoir faire"> <pattern> <token>savoir</token> <token>faire</token> </pattern> <disambig action="replace"><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule id="TABLE_D_HÔTE_ADJECTIVE" name="table d'hôte (adjective)"> <pattern> <token>table</token> <token>d</token> <token spacebefore="no" regexp="yes">&apostrophe;</token> <token spacebefore="no">hôte</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="TABLE_D_HÔTE_NOUN" name="table d'hôte (noun)"> <pattern> <token>table</token> <token>d</token> <token spacebefore="no" regexp="yes">&apostrophe;</token> <token spacebefore="no">hôte</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="TABLES_D_HÔTE_NOUN" name="tables d'hôte (noun)"> <pattern> <token>table</token> <token>d</token> <token spacebefore="no" regexp="yes">&apostrophe;</token> <token spacebefore="no">hôte</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="TANT_MIEUX" name="tant mieux/pis"> <pattern> <token>tant</token> <token regexp="yes">mieux|pus</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/></disambig> </rule> <rule id="TOUR_DE_FORCE" name="tour de force"> <pattern> <token>tour</token> <token>de</token> <token>force</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="TOURS_DE_FORCE" name="tours de force"> <pattern> <token>tours</token> <token>de</token> <token>force</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="TOUT_DE_SUITE" name="tout de suite"> <pattern> <token>tout</token> <token>de</token> <token>suite</token> </pattern> <disambig action="replace"><wd pos="RB"/><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="TOUT_LE_MONDE" name="tout le monde"> <pattern> <token>tout</token> <token>le</token> <token>monde</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/></disambig> </rule> </rulegroup> <rulegroup id="FOREIGN_TERMS_GREEK" name="Greek terms used in English"> <rule id="HOI_POLLOI" name="hoi polloi"><!-- https://www.lexico.com/definition/hoi_polloi --> <pattern> <token>hoi</token> <token>polloi</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> </rulegroup> <rulegroup id="FOREIGN_TERM_ITALIAN" name="Italian terms used in English"> <!-- MFU verified with www.lexico.com and/or www.merriam-webster.com unless otherwise noted. --> <rule id="A_CAPPELLA_ADJECTIVE" name="a cappella (adjective)"> <pattern> <token>a</token> <token>cappella</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="A_CAPPELLA_ADVERB" name="a cappella (adverb)"> <pattern> <token>a</token> <token>cappella</token> </pattern> <disambig action="add"><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="IN_VITRO_ADJECTIVE" name="in vitro (adjective)"> <pattern> <token>in</token> <token>vitro</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="IN_VITRO_ADVERB" name="in vitro (adverb)"> <pattern> <token>in</token> <token>vitro</token> </pattern> <disambig action="add"><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="AL_DENTE" name="al dente"> <pattern> <token>al</token> <token>dente</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="AL_DENTE_ADVERB" name="al dente (adverb)"> <pattern> <token>al</token> <token>dente</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="DOLCE_FAR_NIENTE" name="dolce far niente"> <pattern> <token>dolce</token> <token>far</token> <token>niente</token> </pattern> <disambig action="replace"><wd pos="NN:U"/><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule id="DOLCE_VITA" name="dolce vita"> <pattern> <token>dolce</token> <token>vita</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="FATA_MORGANA" name="fata morgana"> <pattern> <token>fata</token> <token>morgana</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="LINGUA_FRANCA" name="lingua franca"> <pattern> <token>lingua</token> <token>franca</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="LINGUA_FRANCAS" name="lingua francas"> <pattern> <token>lingua</token> <token>francas</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="SOTTO_VOCE_ADJECTIVE" name="sotto voce (adjective)"> <pattern> <token>sotto</token> <token>voce</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="SOTTO_VOCE_ADVERB" name="sotto voce (adverb)"> <pattern> <token>sotto</token> <token>voce</token> </pattern> <disambig action="replace"><wd pos="RB"/><wd pos="RB"/></disambig> </rule> </rulegroup> <rulegroup id="FOREIGN_TERM_LATIN" name="Latin terms used in English"> <!-- MFU verified with www.lexico.com, www.merriam-webster.com, or www.collinsdictionary.com unless otherwise noted. --> <rule id="ACTUS_REUS" name="actus reus"> <pattern> <token>actus</token> <token>reus</token> </pattern> <disambig action="replace"><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule id="AB_INITIO_ADJECTIVE" name="ab initio (adjective)"> <pattern> <token>ab</token> <token>initio</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="AB_INITIO_ADVERB" name="ab initio (adverb)"> <pattern> <token>ab</token> <token>initio</token> </pattern> <disambig action="add"><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="AD_ADJECTIVE" name="ad + ADJECTIVE"> <pattern> <token>ad</token> <token regexp="yes">absurdum|hoc|interim</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="AD_ADVERB" name="ad + ADVERB"> <pattern> <token>ad</token> <token regexp="yes">absurdum|hoc|interim|lib|nauseam|infinitum</token><!-- Not the same as AD_ADJECTIVE --> </pattern> <disambig action="add"><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="ALMA_MATER" name="alma mater"> <pattern> <token>alma</token> <token>mater</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="ALMA_MATERS" name="alma maters"> <pattern> <token>alma</token> <token>maters</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="ALTER_EGO" name="alter ego"> <pattern> <token>alter</token> <token>ego</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="ALTER_EGOS" name="alter egos"> <pattern> <token>alter</token> <token>egos</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="AMICUS_CURIAE" name="amicus curiae"> <pattern> <token>amicus</token> <token>curiae</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="AMICI_CURIAE" name="amici curiae"> <pattern> <token>amici</token> <token>curiae</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="ANNUS_MIRABILIS" name="annus mirabilis"> <pattern> <token>annus</token> <token>mirabilis</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="ANNI_MIRABILISE" name="anni mirabiles"> <pattern> <token>anni</token> <token>mirabiles</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="ARS_GRATIA_ARTIS" name="ars gratia artis"> <pattern> <token>ars</token> <token>gratia</token> <token>artis</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/><wd pos="FW"/></disambig> </rule> <rule id="AUDI_ALTERAM_PARTEM" name="audi alteram partem"> <pattern> <token>audi</token> <token>alteram</token> <token>partem</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/><wd pos="FW"/></disambig> </rule> <rule id="BONA_FIDE_ADJECTIVE" name="bona fide (adjective)"> <pattern> <token>bona</token> <token>fide</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="BONA_FIDE_ADVERB" name="bona fide (adverb)"> <pattern> <token>bona</token> <token>fide</token> </pattern> <disambig action="add"><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="BONA_FIDES" name="bona fides"> <pattern> <token>bona</token> <token>fides</token> </pattern> <disambig action="replace"><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule id="CARPE_DIEM" name="carpe diem/noctem"> <pattern> <token>carpe</token> <token regexp="yes">diem|noctem</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/></disambig> </rule> <rule id="CASUS_BELLI" name="casus belli"> <pattern> <token>casus</token> <token>belli</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="COMPOS_MENTIS" name="compos mentis"> <pattern> <token>compos</token> <token>mentis</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="CONSENSUS_AD_IDEM" name="consensus ad idem"><!-- www.ldoceonline.com/dictionary/consensus-ad-idem --> <pattern> <token>consensus</token> <token>ad</token> <token>idem</token> </pattern> <disambig action="replace"><wd pos="NN:U"/><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule id="CORPUS_DELICTI" name="corpus delicti"> <pattern> <token>corpus</token> <token>delicti</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="CORPORA_DELICTI" name="corpora delicti"> <pattern> <token>corpora</token> <token>delicti</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="CUI_BONO" name="cui bono"> <pattern> <token>cui</token> <token>bono</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/></disambig> </rule> <rule id="CURRICULUM_VITAE" name="curriculum vitae"> <pattern> <token>curriculum</token> <token>vitae</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="DE_ADJECTIVE" name="de + ADJECTIVE"> <pattern> <token>de</token> <token regexp="yes">facto|jure|minimis</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="DE_ADVERB" name="de + ADVERB"> <pattern> <token>de</token> <token regexp="yes">facto|jure</token><!-- Not the same as DE_ADJECTIVE --> </pattern> <disambig action="add"><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="DE_PROFUNDIS" name="de profundis"> <pattern> <token>de</token> <token>profundis</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/></disambig> </rule> <rule id="DEI_GRATIA" name="Dei gratia"> <pattern> <token case_sensitive="yes">Dei</token> <token>gratia</token> </pattern> <disambig action="replace"><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="DEO_GRATIAS" name="Deo gratias"> <pattern> <token case_sensitive="yes">Deo</token> <token>gratias</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/></disambig> </rule> <rule id="DEO_VOLENTE" name="Deo volente"> <pattern> <token case_sensitive="yes">Deo</token> <token>volente</token> </pattern> <disambig action="replace"><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="DEUS_EX_MACHINA" name="deus ex machina"> <pattern> <token>deus</token> <token>ex</token> <token>machina</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/><wd pos="FW"/></disambig> </rule> <rule id="DOLI_CAPAX" name="doli capax/incapax"> <pattern> <token>doli</token> <token regexp="yes">(in)?capax</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="DRAMATIS_PERSONAE" name="dramatis personae"> <pattern> <token>dramatis</token> <token>personae</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="ECCE_HOMO" name="ecce homo"> <pattern> <token>ecce</token> <token>homo</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/></disambig> </rule> <rule id="EJUSDEM_GENERIS_ADJECTIVE" name="ejusdem generis (adjective)"> <pattern> <token>ejusdem</token> <token>generis</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="EJUSDEM_GENERIS_ADVERB" name="ejusdem generis (adverb)"> <pattern> <token>ejusdem</token> <token>generis</token> </pattern> <disambig action="add"><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="EX_ADJECTIVE" name="ex + ADJECTIVE"> <pattern> <token>ex</token> <token regexp="yes">cathedra|gratia|officio|parte</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="EX_ADVERB" name="ex + ADVERB"> <pattern> <token>ex</token> <token regexp="yes">cathedra|gratia|officio|parte</token> </pattern> <disambig action="add"><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="EX_POST_FACTO_ADJECTIVE" name="ex post facto (adjective)"> <pattern> <token>ex</token> <token>post</token> <token>facto</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="EX_POST_FACTO_ADVERB" name="ex post facto (adverb)"> <pattern> <token>ex</token> <token>post</token> <token>facto</token> </pattern> <disambig action="add"><wd pos="RB"/><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="HABEAS_CORPUS" name="habeas corpus"> <pattern> <token>habeas</token> <token>corpus</token> </pattern> <disambig action="replace"><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule id="IN_ADJECTIVE" name="in + ADJECTIVE"> <pattern> <token>in</token> <token regexp="yes">personam|rem|situ</token><!-- Not the same as IN_ADVERB --> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="IN_ADVERB" name="in + ADVERB"> <pattern> <token>in</token> <token regexp="yes">absentia|extremis|personam|rem|situ|toto</token> </pattern> <disambig action="replace"><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="IN_FLAGRANTE_DELICTO" name="in flagrante delicto"> <pattern> <token>in</token> <token>flagrante</token> <token>delicto</token> </pattern> <disambig action="replace"><wd pos="RB"/><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="IN_LOCO_PARENTIS_ADJECTIVE" name="in loco parentis (adjective)"> <pattern> <token>in</token> <token>loco</token> <token>parentis</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="IN_LOCO_PARENTIS_ADVERB" name="in loco parentis (adverb)"> <pattern> <token>in</token> <token>loco</token> <token>parentis</token> </pattern> <disambig action="replace"><wd pos="RB"/><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="IN_MEDIAS_RES" name="in medias res"> <pattern> <token>in</token> <token>media</token> <token>res</token> </pattern> <disambig action="replace"><wd pos="RB"/><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="IN_MEMORIAM" name="in memoriam"> <pattern> <token>in</token> <token>memoriam</token> </pattern> <disambig action="replace"><wd pos="IN"/><wd pos="IN"/></disambig> </rule> <rule id="IN_PROPRIA_PERSONA" name="in propria persona"> <pattern> <token>in</token> <token>propria</token> <token>persona</token> </pattern> <disambig action="replace"><wd pos="RB"/><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="IN_VINO_VERITAS" name="in vino veritas"> <pattern> <token>in</token> <token>vino</token> <token>veritas</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/><wd pos="FW"/></disambig> </rule> <rule id="INTER_ADVERB" name="inter + ADVERB"> <pattern> <token>inter</token> <token regexp="yes">alia|vivos</token> </pattern> <disambig action="replace"><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="INTER_VIVOS" name="inter vivos"> <pattern> <token>inter</token> <token>vivos</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="INTRA_VIRES" name="intra vires"> <pattern> <token>intra</token> <token>vires</token> </pattern> <disambig action="replace"><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="IPSO_FACTO" name="ipso facto"> <pattern> <token>ipso</token> <token>facto</token> </pattern> <disambig action="replace"><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="LOCUM_TENENS" name="locum tenens"> <pattern> <token>locum</token> <token>tenens</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="LOCUM_TENENTES" name="locum tenentes"> <pattern> <token>locum</token> <token>tenentes</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="LOCUS_NOUN" name="locus + NOUN"> <pattern> <token>locus</token> <token regexp="yes">classicus|standi</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="LOCI_NOUN" name="loci + NOUN"> <pattern> <token>loci</token> <token regexp="yes">classicus|standi</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="MAGNUM_OPUS" name="magnum opus"> <pattern> <token>magnum</token> <token>opus</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="MAGNUM_OPUSES" name="magnum opuses"> <pattern> <token>magnum</token> <token>opuses</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="MAGNA_OPERA" name="magna opera"> <pattern> <token>magna</token> <token>opera</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="MEA_CULPA" name="mea culpa"> <pattern> <token>mea</token> <token>culpa</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/></disambig> </rule> <rule id="MEMENTO_MORI" name="memento mori"> <pattern> <token>memento</token> <token>mori</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <!-- The mens rea names are John and Peter. [Not found by LT] <rule id="MENS_REA" name="mens rea"> <pattern> <token>mens</token> <token>rea</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> --> <rule id="MODUS_NOUN" name="modus + NOUN"> <pattern> <token>modus</token> <token regexp="yes">operandi|vivendi</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="MODI_NOUN" name="modi + NOUN"> <pattern> <token>modi</token> <token regexp="yes">operandi|vivendi</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="NE_PLUS_ULTRA" name="ne plus ultra"> <pattern> <token>ne</token> <token>plus</token> <token>ultra</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="NIL_DESPERANDUM" name="nil desperandum"> <pattern> <token>nil</token> <token>desperandum</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/></disambig> </rule> <rule id="NOLENS_VOLENS" name="nolens volens"> <pattern> <token>nolens</token> <token>volens</token> </pattern> <disambig action="replace"><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="NOLLE_PROSEQUI" name="nolle prosequi"> <pattern> <token>nolle</token> <token>prosequi</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="NON_SEQUITUR" name="non sequitur"> <pattern> <token>non</token> <token>sequitur</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="NON_SEQUITURS" name="non sequiturs"> <pattern> <token>non</token> <token>sequiturs</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="NOSCITUR_A_SOCIIS" name="noscitur a sociis"> <pattern> <token>noscitur</token> <token>a</token> <token>sociis</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="NOTA_BENE" name="nota bene"> <pattern> <token>nota</token> <token>bene</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/></disambig> </rule> <rule id="OBITER_DICTUM" name="obiter dictum"> <pattern> <token>obiter</token> <token>dictum</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="OBITER_DICTA" name="obiter dicta"> <pattern> <token>obiter</token> <token>dicta</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="ONUS_PROBANDI" name="onus probandi"> <pattern> <token>onus</token> <token>probandi</token> </pattern> <disambig action="replace"><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule id="PARENS_PATRIAE" name="parens patriae"> <pattern> <token>parens</token> <token>patriae</token> </pattern> <disambig action="replace"><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule id="PER_ADJECTIVE" name="per + ADJECTIVE"> <pattern> <token>per</token> <token regexp="yes">capita|incuriam</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="PER_ADVERB" name="per + ADVERB"> <pattern> <token>per</token> <token regexp="yes">annum|capita|incuriam|se</token><!-- Not the same as PER_ADJECTIVE --> </pattern> <disambig action="add"><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="PERSONA_NON_GRATA" name="persona non grata"> <pattern> <token>persona</token> <token>non</token> <token>grata</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="PERSONAE_NON_GRATAE" name="personae non gratae"> <pattern> <token>personae</token> <token>non</token> <token>gratae</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="PRIMA_DONNA" name="prima donna"> <pattern> <token>prima</token> <token>donna</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="PRIMA_DONNAS" name="prima donnas"> <pattern> <token>prima</token> <token>donnas</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="PRIMA_FACIE_ADJECTIVE" name="prima facie (adjective)"> <pattern> <token>prima</token> <token>facie</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="PRIMA_FACIE_ADVERB" name="prima facie (adverb)"> <pattern> <token>prima</token> <token>facie</token> </pattern> <disambig action="add"><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="PRIMUS_INTER_PARES" name="primus inter pares"> <pattern> <token>primus</token> <token>inter</token> <token>pares</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="PRO_ADJECTIVE" name="pro + ADJECTIVE"> <pattern> <token>pro</token> <token regexp="yes">bono|forma|rata|tem|tempore</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="PRO_ADVERB" name="pro + ADVERB"> <pattern> <token>pro</token> <token regexp="yes">bono|forma|rata|tem|tempore</token> </pattern> <disambig action="add"><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="PRO_SPELLING" name="pro + ADJECTIVE"> <pattern> <token>pro</token> <token regexp="yes">bono|forma|rata|tem|tempore</token> </pattern> <disambig action="ignore_spelling" /> </rule> <rule id="PROXIME_ACCESSIT" name="proxime accessit"> <pattern> <token>proxime</token> <token>accessit</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="QUANTUM_MERUIT" name="quantum meruit"> <pattern> <token>quantum</token> <token>meruit</token> </pattern> <disambig action="replace"><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule id="QUOD_ERAT_DEMONSTRANDUM" name="quod erat demonstrandum"> <pattern> <token>quad</token> <token>erat</token> <token>demonstrandum</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/><wd pos="FW"/></disambig> </rule> <rule id="RATIO_DECIDENDI" name="ratio decidendi"> <pattern> <token>ratio</token> <token>decidendi</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="RATIONES_DECIDENDI" name="rationes decidendi"> <pattern> <token>rationes</token> <token>decidendi</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="REDUCTIO_AD_ABSURDUM" name="reductio ad absurdum"> <pattern> <token>reductio</token> <token>ad</token> <token>absurdum</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="RES_IPSA_LOQUITUR" name="res ipsa loquitur"> <pattern> <token>res</token> <token>ipsa</token> <token regexp="yes">loquit[ou]r</token><!-- loquitor=AmE variant --> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="RES_JUDICATA" name="res judicata"> <pattern> <token>res</token> <token>judicata</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="RES_JUDICATAE" name="res judicatae"> <pattern> <token>res</token> <token>judicatae</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="RESTITUTIO_IN_INTEGRUM" name="restitutio in integrum"> <pattern> <token>restitutio</token> <token regexp="yes">ad|in</token> <token>integrum</token> </pattern> <disambig action="replace"><wd pos="NN:U"/><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule id="SIC_TRANSIT_GLORIA_MUNDI" name="sic transit gloria mundi"> <pattern> <token>sic</token> <token>transit</token> <token>gloria</token> <token>mundi</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/><wd pos="FW"/><wd pos="FW"/></disambig> </rule> <rule id="SINE_DIE" name="sine die"> <pattern> <token>sine</token> <token>die</token> </pattern> <disambig action="replace"><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="SINE_QUA_NON" name="sine qua non"> <pattern> <token>sine</token> <token>qua</token> <token>non</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="SINE_QUA_NONS" name="sine qua nons"> <pattern> <token>sine</token> <token>qua</token> <token>nons</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="STARE_DECISIS" name="stare decisis"> <pattern> <token>stare</token> <token>decisis</token> </pattern> <disambig action="replace"><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule id="STATUS_QUO" name="status quo"> <antipattern case_sensitive="yes"><!-- www.statusquo.co.uk --> <token>Status</token> <token>Quo</token> </antipattern> <pattern> <token>status</token> <token>quo</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> <example type="untouched">I think that Status Quo was one of the best bands I listened to.</example> <example type="ambiguous" inputform="quo[quo]" outputform="quo[quo/NN]">I think that the status <marker>quo</marker> is not satisfactory.</example> </rule> <rule id="SUB_ADJECTIVE" name="sub + ADJECTIVE"> <pattern> <token>sub</token> <token regexp="yes">judice|rosa</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="SUB_ADVERB" name="sub + ADVERB"> <pattern> <token>sub</token> <token regexp="yes">judice|rosa</token> </pattern> <disambig action="add"><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="SUI_GENERIS" name="sui generis"> <pattern> <token>sui</token> <token>generis</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="TEMPUS_FUGIT" name="tempus fugit"> <pattern> <token>tempus</token> <token>fugit</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/></disambig> </rule> <rule id="TERRA_NOUN" name="terra + NOUN"> <pattern> <token>terra</token> <token regexp="yes">firma|incognita|nullius</token> </pattern> <disambig action="replace"><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule id="TERRAE_INCOGNITAE" name="terrae incognitae"> <pattern> <token>terrae</token> <token>incognitae</token> </pattern> <disambig action="replace"><wd pos="NNS"/><wd pos="NNS"/></disambig> </rule> <rule id="ULTRA_VIRES_ADJECTIVE" name="ultra vires (adjective)"> <pattern> <token>ultra</token> <token>vires</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="ULTRA_VIRES_ADVERB" name="ultra vires (adverb)"> <pattern> <token>ultra</token> <token>vires</token> </pattern> <disambig action="add"><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="VENI_VIDI_VICI" name="veni, vidi, vici"> <pattern> <token>veni</token> <token>,</token> <token>vidi</token> <token>,</token> <token>vici</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/><wd pos="FW"/><wd pos="FW"/><wd pos="FW"/></disambig> </rule> <!-- ... and via media such as radio and television. <rule id="VIA_MEDIA" name="via media"> = compromise <pattern> <token>via</token> <token>media</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> --> <rule id="VICTOR_LUDORUM" name="victor ludorum"> <pattern> <token>victor</token> <token>ludorum</token> </pattern> <disambig action="replace"><wd pos="NN"/><wd pos="NN"/></disambig> </rule> <rule id="VIRGO_INTACTA" name="virgo intacta"> <pattern> <token>virgo</token> <token>intacta</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/></disambig> </rule> <rule id="VIVA_VOCE_ADJECTIVE" name="viva voce (adjective)"> <pattern> <token>viva</token> <token>voce</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="VIVA_VOCE_ADVERB" name="viva voce (adverb)"> <pattern> <token>viva</token> <token>voce</token> </pattern> <disambig action="add"><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="VIVA_VOCE_NOUN" name="viva voce (noun)"> <pattern> <token>viva</token> <token>voce</token> </pattern> <disambig action="add"><wd pos="NN:U"/><wd pos="NN:U"/></disambig> </rule> <rule id="VOLENTI_NON_FIT_INJURIA" name="volenti non fit injuria"> <pattern> <token>volenti</token> <token>non</token> <token>fit</token> <token>injuria</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/><wd pos="FW"/><wd pos="FW"/></disambig> </rule> <rule id="VOX_POPULI" name="vox populi"> <pattern> <token>vox</token> <token>populi</token> </pattern> <disambig action="replace"><wd pos="FW"/><wd pos="FW"/></disambig> </rule> </rulegroup> <rulegroup id="FOREIGN_TERM_SPANISH" name="Spanish terms used in English"> <rule id="MANO_A_MANO_ADJECTIVE" name="mano a mano (adjective)"> <pattern> <token>mano</token> <token>a</token> <token>mano</token> </pattern> <disambig action="replace"><wd pos="JJ"/><wd pos="JJ"/><wd pos="JJ"/></disambig> </rule> <rule id="MANO_A_MANO_ADVERB" name="mano a mano (adverb)"> <pattern> <token>mano</token> <token>a</token> <token>mano</token> </pattern> <disambig action="add"><wd pos="RB"/><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule id="POR_FAVOR" name="Ignore spelling of 'por favor'"> <pattern> <token>por</token> <token>favor</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="DE_LOS" name="Ignore spelling of 'los'/'las' in proper nouns"> <pattern> <token regexp="yes" case_sensitive="yes">[A-Z][a-z]*</token> <token min="0" regexp="yes">de|y</token> <marker> <token regexp="yes" case_sensitive="yes">l[ao]s</token> </marker> <token regexp="yes" case_sensitive="yes">[A-Z][a-z]*</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="POR_LA" name="Ignore spelling of 'por' in NEs"> <pattern> <token regexp="yes" case_sensitive="yes">[A-Z][a-z]*</token> <marker> <token>por</token> <token regexp="yes">el|los|las?</token> </marker> <token regexp="yes" case_sensitive="yes">[A-Z][a-z]*</token> </pattern> <disambig action="ignore_spelling"/> </rule> </rulegroup> <rulegroup id="FOREIGN_TERM_ARABIC" name="Ignore spelling of 'al' in proper nouns"> <rule id="AL" name="Abdullah al (ignore spelling) Sharbi"> <pattern> <token regexp="yes" case_sensitive="yes">[A-Z][a-z]*</token> <marker> <token regexp="yes">[ae]l</token> </marker> <token regexp="yes" case_sensitive="yes">[A-Z][a-z]*</token> </pattern> <disambig action="ignore_spelling"/> </rule> </rulegroup> <rulegroup id="SENTENCE_ADVERBIALS" name="Adverbial phrases at the start of a sentence"><!-- #2213 --> <rule id="PHRASES_1_WORD" name="1-word phrases"> <pattern> <token postag="SENT_START"/> <marker> <token case_sensitive="yes" regexp="yes">But|However|Initially|Moreover|Nevertheless|Really</token> <token>,</token> </marker> </pattern> <disambig action="add"><wd pos="RB_SENT"/><wd pos="RB_SENT"/></disambig> </rule> <rule id="PHRASE_WHENEVER_POSSIBLE" name="Whenever possible"> <pattern> <token postag="SENT_START"/> <marker> <token case_sensitive="yes">Whenever</token> <token>possible</token> <token>,</token> </marker> </pattern> <disambig action="add"><wd pos="RB_SENT"/><wd pos="RB_SENT"/><wd pos="RB_SENT"/></disambig> </rule> <rule id="PHRASE_FIRST_OF_ALL" name="First of all"> <pattern> <token postag="SENT_START"/> <marker> <token case_sensitive="yes">First</token> <token>of</token> <token>all</token> <token>,</token> </marker> </pattern> <disambig action="add"><wd pos="RB_SENT"/><wd pos="RB_SENT"/><wd pos="RB_SENT"/><wd pos="RB_SENT"/></disambig> </rule> <rule id="PHRASE_ON_THE_OTHER_HAND" name="On the other hand"> <pattern> <token postag="SENT_START"/> <marker> <token case_sensitive="yes">On</token> <token>the</token> <token>other</token> <token>hand</token> <token>,</token> </marker> </pattern> <disambig action="add"><wd pos="RB_SENT"/><wd pos="RB_SENT"/><wd pos="RB_SENT"/><wd pos="RB_SENT"/><wd pos="RB_SENT"/></disambig> </rule> <rule id="PLAY_CATCH" name="Play catch (NN:UN)"> <!-- https://en.wiktionary.org/wiki/catch#Noun --> <pattern> <token inflected="yes">play</token> <marker> <token>catch</token> </marker> </pattern> <disambig action="add"><wd pos="NN:UN"/></disambig> </rule> </rulegroup> <rule id="REMOVE_PRP_IN_ITALIAN_DOMAINS" name="www.google.it ('it' is no PRP)"> <pattern> <token regexp="yes">[a-z0-9\-]+</token> <token spacebefore="no">.</token> <marker> <token case_sensitive="yes" spacebefore="no">it</token> </marker> </pattern> <disambig action="remove" postag="PRP" /> </rule> <rule name="Magna cum laude" id="MAGNA_CUM_LAUDE"> <pattern> <token regexp="yes" min="0">magna|summa</token> <token>cum</token> <token>laude</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="steak tartare" id="STEAK_TARTARE"> <pattern> <token regexp="yes">steak|salmon</token> <token>tartare</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="tartare sauce" id="TARTARE_SAUCE"> <pattern> <token regexp="yes">tartare?</token> <token regexp="yes">sauces?</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="boeuf bourguignon" id="BOEUF_BOURGUIGNON"> <pattern> <token regexp="yes">boeuf|beef</token> <token>bourguignon</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="concours d'elegance" id="CONCOURS_D_ELEGANCE"> <pattern> <token>concours</token> <token>d</token> <token regexp="yes" spacebefore="no">&apostrophe;</token> <token spacebefore="no">elegance</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="Escherichia coli" id="ESCHERICHIA_COLI"> <pattern case_sensitive="yes"> <token>Escherichia</token> <token regexp="yes">[Cc]oli</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="mea culpa" id="MEA_CULPA_SPELLING"> <pattern> <token>mea</token> <token regexp="yes">culpas?</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rulegroup name="jus" id="JUS"> <!-- https://www.merriam-webster.com/dictionary/jus --> <rule> <pattern> <token>au</token> <token>jus</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>jus</token> <token>in</token> <token>personam</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token regexp="yes">[ij]us</token> <token regexp="yes">gentium|sanguinis|soli|divinum|abutendi|aedilium|aedilicium|albanagii|angariae|canonicum|civile|commercii|commune|conubii|connubii|deliberandi|ecclesiasticum|edicendi|fruendi|honorarium</token> </pattern> <disambig action="ignore_spelling"/> </rule> </rulegroup> <rule name="Per capita" id="PER_CAPITA"> <pattern> <token>per</token> <token regexp="yes">annum|capita|centum|diem|incuriam|se|accidens</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="PIGMENTOSA" id="PIGMENTOSA"> <pattern> <token regexp="yes">retinitis|urticaria|prurigo|dermatopathia|purpura|stratum</token> <token>pigmentosa</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="Habeas Corpus" id="HABEAS_CORPUS_SPELLING"> <pattern> <token>habeas</token> <token>corpus</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="Ignore Latin phrases with 'ad'" id="IGNORE_LATIN_AD"> <pattern case_sensitive="yes"> <token>ad</token> <token regexp="yes">absurdum|hoc|hominem|infinitum|interim|nauseam</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="Ignore phrases with 'de'" id="IGNORE_DE"> <pattern case_sensitive="yes"> <token>de</token> <token regexp="yes">facto|[ji]ure|minimis|profundis|rigueur|trop</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="Ignore phrases with 'ipso'" id="IGNORE_IPSO"> <pattern case_sensitive="yes"> <token>ipso</token> <token>facto</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="Ignore 'noblesse oblige'" id="IGNORE_NOBLESSE_OBLIGE"> <pattern case_sensitive="yes"> <token>noblesse</token> <token>oblige</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="US_DOLLAR" name="Ignore 'US$'"> <pattern><!-- See https://en.wikipedia.org/wiki/United_States_dollar --> <token case_sensitive="yes">US$</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rulegroup id="VAS_DEFERENS" name="Ignore 'vas deferens'"> <!-- https://www.merriam-webster.com/dictionary/deferens --> <rule> <pattern> <token>vasa</token> <token>deferentia</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>vas</token> <token>deferens</token> </pattern> <disambig action="ignore_spelling"/> </rule> </rulegroup> <rulegroup name="VON_DER_LEYEN" id="VON_DER_LEYEN"> <rule> <pattern case_sensitive="yes"> <token postag="SENT_START" /> <marker> <token>Von</token> <token>der</token> <token regexp="yes">Leyens?</token> </marker> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern case_sensitive="yes"> <marker> <token>von</token> <token>der</token> <token regexp="yes">Leyens?</token> </marker> </pattern> <disambig action="ignore_spelling"/> </rule> </rulegroup> <rule name="cc'mon spelling" id="C_MON_SPELLING"> <pattern> <token>c</token> <token regexp="yes" spacebefore="no">&apostrophe;</token> <token spacebefore="no">mon</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="macula lutea" id="MACULA_LUTEA"> <pattern> <token>macula</token> <token regexp="yes">luteae?</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="carpe diem" id="CARPE_DIEM_SPELLING"> <pattern> <token>carpe</token> <token regexp="yes">diems?|noctem</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="clary sage" id="CLARY_SAGE"> <pattern> <token>clary</token> <token>sage</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="aurora borealis" id="AURORA_BOREALIS"> <!-- https://www.merriam-webster.com/dictionary/borealis --> <pattern> <token regexp="yes">aurora|Coronae?</token> <token>borealis</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="corpus callosum" id="CORPUS_CALLOSUM"> <!-- https://www.merriam-webster.com/dictionary/callosum --> <pattern> <token>corpus</token> <token>callosum</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="corpora callosa" id="CORPORA_CALLOSA"> <!-- https://www.merriam-webster.com/dictionary/callosum --> <pattern> <token>corpora</token> <token>callosa</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="art deco" id="ART_DECO"> <!-- https://www.merriam-webster.com/dictionary/art%20deco --> <pattern> <token>art</token> <token>deco</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="spongiform encephalopathy" id="SPONGIFORM"> <!-- https://www.lexico.com/definition/spongiform_encephalopathy --> <pattern> <token>spongiform</token> <token regexp="yes">encephalopath(y|ies)?</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="camino real" id="CAMINO_REAL"> <!-- https://www.merriam-webster.com/dictionary/camino --> <pattern> <token>camino</token> <token regexp="yes">real(e?s)?</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="mumbo jumbo" id="MUMBO_JUMBO"> <!-- https://www.lexico.com/definition/mumbo_jumbo --> <pattern> <token>mumbo</token> <token>jumbo</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="names with 'de'" id="DE_NAMES"> <pattern> <token>de</token> <token case_sensitive="yes" regexp="yes">Blasio|Maupassant|Niro</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="names with 'lil'" id="LIL_NAMES"><!-- mostly rapper names --> <pattern case_sensitive="yes"> <token>Lil</token> <token spacebefore="no" regexp="yes" min="0">&apostrophe;</token> <token regexp="yes">[A-Z].+</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="names with 'Grupo'" id="GRUPO_NAMES"><!-- Names with "Grupo" --> <pattern case_sensitive="yes"> <token>Grupo</token> <token regexp="yes" postag="UNKNOWN|NN.*" postag_regexp="yes">[A-Z].*</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="the dos and don'ts" id="DOS_AND_DONTS"> <!-- https://www.merriam-webster.com/dictionary/dos%20and%20dont --> <pattern> <token>dos</token> <token regexp="yes">and|&|/</token> <token>don</token> <token regexp="yes" spacebefore="no">&apostrophe;</token> <token spacebefore="no">ts</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="ribonucleic acid" id="ACID"> <pattern><!-- https://www.lexico.com/definition/ribonucleic_acid--> <token regexp="yes">ribonucleic|glutamic</token> <token regexp="yes">acids?</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="^^" id="IGNORE_SPELLING_OF_MULTIPLE_CIRCUMFLEX"> <pattern> <token regexp="yes">\^+</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="blastic crisis" id="IGNORE_SPELLING_OF_BLASTIC_CRISIS"> <!-- https://www.merriam-webster.com/medical/blastic%20crisis --> <pattern> <token>blastic</token> <token regexp="yes">cris[ei]s</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="haversian canal" id="IGNORE_SPELLING_OF_HAVERSIAN"> <!-- https://www.merriam-webster.com/dictionary/haversian --> <pattern> <token>haversian</token> <token regexp="yes">(canal|system)s?</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="fata morgana" id="FATA_MORGANA_IGNORE_SPELLING"> <!-- https://www.merriam-webster.com/dictionary/fata%20morgana --> <pattern> <token>fata</token> <token regexp="yes">morganas?</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="inter se" id="INTER_SE_IGNORE_SPELLING"> <!-- https://www.merriam-webster.com/dictionary/inter%20se --> <pattern> <token>inter</token> <token>se</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="Bon Voyage" id="IGNORE_SPELLING_OF_BON_VOYAGE"> <!-- https://www.merriam-webster.com/dictionary/haversian --> <pattern> <token>bon</token> <token regexp="yes">appétit|mots?|vivants?|voyage</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule name="De'Longhi" id="DELONGHI"> <pattern case_sensitive="yes"> <token>De</token> <token regexp="yes" spacebefore="no">['’]</token> <token spacebefore="no">Longhi</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="BUENOS_DIAS" name="buenos días"> <!-- https://www.merriam-webster.com/dictionary/buenos%20d%C3%ADas --> <pattern> <token>buenos</token> <token>días</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="URBI_ET_ORBI" name="urbi et orbi"> <!-- https://www.merriam-webster.com/dictionary/urbi%20et%20orbi --> <pattern> <token>urbi</token> <token>et</token> <token>orbi</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="SUPEROXIDE_DISMUTASE" name="superoxide dismutase"> <!-- https://www.merriam-webster.com/dictionary/superoxide%20dismutase --> <pattern> <token>superoxide</token> <token>dismutase</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="GRANDE_ECOLE" name="grande école"> <!-- https://www.merriam-webster.com/dictionary/grande --> <pattern> <token>grande</token> <token regexp="yes">école|champagne|écaille|passion|dame|tenue</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="FALLOPIAN_TUBE" name="fallopian tube"> <!-- https://www.merriam-webster.com/dictionary/fallopian%20tube --> <pattern> <token>fallopian</token> <token regexp="yes">tubes?</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="TILDE_SPELLING" name="Ignore spelling of '~'"> <pattern> <token regexp="yes">[~►◄%]+</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="TLDR_SPELLING" name="Ignore spelling of 'tl;dr'"> <pattern> <token>tl</token> <token spacebefore="no">;</token> <token spacebefore="no">dr</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="DÉJÀ_VU_SPELLING" name="Ignore spelling of 'déjà vu'"> <pattern> <token>déjà</token> <token>vu</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="PERSONA_NON_GRATA_SPELLING" name="Ignore spelling of 'persona non grata'"> <pattern> <token>persona</token> <token>non</token> <token>grata</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="PAPUA_NEW_GUINEA" name="Ignore spelling of 'Papua New Guinea'"> <pattern case_sensitive="yes"> <token>Papua</token> <token>New</token> <token regexp="yes">Guinea|Guineans?</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="STOCK_SYMBOLS_SPELLING" name="Ignore spelling of stock symbols"> <pattern> <token regexp="yes" case_sensitive="yes">\$[A-Z]{2,5}</token> </pattern> <disambig action="ignore_spelling" /> </rule> <rule id="STOCK_SYMBOLS_NNP" name="NNP for stock symbols"> <pattern> <token regexp="yes" case_sensitive="yes">\$[A-Z]{2,5}</token> </pattern> <disambig postag="NNP" /> </rule> <rulegroup id="ADVERB_E_EN" name="Adverb: e'en"><!-- www.lexico.com/definition/e'en --><!-- Cannot add a word that contains a quote in multiwords.txt. --> <rule><!-- POS --> <pattern> <marker> <token>e</token> <token spacebefore="no" regexp="yes">['’]</token> <token spacebefore="no">en</token> </marker> </pattern> <disambig action="replace"><wd pos="RB"/><wd pos="RB"/><wd pos="RB"/></disambig> </rule> <rule><!-- Spelling --> <pattern> <marker> <token>e</token> <token spacebefore="no" regexp="yes">['’]</token> <token spacebefore="no">en</token> </marker> </pattern> <disambig action="ignore_spelling"></disambig> </rule> </rulegroup> <rulegroup id="PROPER_NOUN_HALLOWE_EN" name="Proper noun: Hallowe'en"><!-- www.lexico.com/definition/halloween --> <rule><!-- POS --> <pattern> <marker> <token case_sensitive="yes">Hallowe</token> <token spacebefore="no" regexp="yes">['’]</token> <token spacebefore="no">en</token> </marker> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule><!-- Spelling --> <pattern> <marker> <token case_sensitive="yes">Hallowe</token> <token spacebefore="no" regexp="yes">['’]</token> <token spacebefore="no">en</token> </marker> </pattern> <disambig action="ignore_spelling"></disambig> </rule> </rulegroup> <rulegroup id="HE_D" name="MD for 'd'"> <rule> <pattern> <token regexp="yes">s?he|it|you|we|they|I|[wt]hat|who</token> <marker> <token spacebefore="no">'d</token> </marker> <token regexp="yes" chunk_re=".-VP">be|have|do|like|love|prefer|recommend|go|make|get|say|answer|suggest|look|try|know|think|believe|take|use|want|find|give|tell|ask|need|feel|become|come|appreciate|consider</token> </pattern> <disambig action="replace"><wd lemma="will" pos="MD" /></disambig> <example type="ambiguous" inputform="'d[have/VBD,will/MD]" outputform="'d[will/MD]">I<marker>'d</marker> like to know if that works.</example> <example type="untouched">I'd done that.</example> <example type="untouched">He'd work to do.</example> </rule> <rule> <pattern> <token regexp="yes">s?he|it|you|we|they|I|[wt]hat|who</token> <marker> <token spacebefore="no">'d</token> </marker> <token postag="RB"> <exception postag="CC|IN|EX" postag_regexp="yes" /> </token> <token regexp="yes" chunk_re=".-VP">be|have|do|like|love|prefer|recommend|go|make|get|say|answer|suggest|look|try|know|think|believe|take|use|want|find|give|tell|ask|need|feel|become|come|appreciate|consider</token> </pattern> <disambig action="replace"><wd lemma="will" pos="MD" /></disambig> <example type="ambiguous" inputform="'d[have/VBD,will/MD]" outputform="'d[will/MD]">I<marker>'d</marker> rather like to know if that works.</example> <example type="untouched">I'd really done that.</example> </rule> <rule> <pattern> <token regexp="yes">s?he|it|you|we|they|I|[wt]hat|who</token> <marker> <token spacebefore="no">'d</token> </marker> <token regexp="yes">been|gone|done</token> </pattern> <disambig action="replace"><wd lemma="have" pos="VBD" /></disambig> <example type="ambiguous" inputform="'d[have/VBD,will/MD]" outputform="'d[have/VBD]">I<marker>'d</marker> done that already.</example> <example type="untouched">I'd do that.</example> </rule> <rule> <pattern> <token regexp="yes">s?he|it|you|we|they|I|[wt]hat|who</token> <marker> <token spacebefore="no">'d</token> </marker> <token postag="RB"> <exception postag="CC|IN" postag_regexp="yes" /> </token> <token regexp="yes">been|gone|done</token> </pattern> <disambig action="replace"><wd lemma="have" pos="VBD" /></disambig> <example type="ambiguous" inputform="'d[have/VBD,will/MD]" outputform="'d[have/VBD]">I<marker>'d</marker> really done that already.</example> <example type="untouched">I'd really do that.</example> </rule> </rulegroup> <rule id="ON_BENDED_KNEES_SPELLING" name="Ignore spelling of 'on bended knees'"> <!-- https://www.lexico.com/definition/on_bended_knee --> <pattern> <token>bended</token><!-- normally "bent" --> <token regexp="yes">knees?</token> </pattern> <disambig action="ignore_spelling" /> </rule> <rule id="W_VE" name="VBP for 'where've'"> <pattern> <token postag="W.+" postag_regexp="yes" /> <marker> <token spacebefore="no">'ve</token> </marker> </pattern> <disambig action="replace"><wd lemma="have" pos="VBP" /></disambig> <example type="ambiguous" inputform="'ve[have/VB,have/VBP]" outputform="'ve[have/VBP]">Where<marker>'ve</marker> you been?</example> </rule> <rule id="LETTER_AMP_LETTER_SPELLING" name="Ignore spelling of 'A&B'"> <pattern case_sensitive="yes"> <token regexp="yes">[A-Z]{1,2}&[A-Z]{1,2}</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="SECTION_SIGN_LETTER_SPELLING" name="Ignore spelling of '§ + uppercase letter'"> <pattern case_sensitive="yes"> <token regexp="yes">§[A-Z]</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="AD_HOMINEM_SPELLING" name="Ignore spelling of 'ad hominem'"> <pattern> <token>ad</token> <token>hominem</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="SALUT_SENT_START_SPELLING" name="Ignore spelling of 'Salut' at SENT_START"> <pattern> <token postag="SENT_START" /> <marker> <token>Salut</token> </marker> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="TWITTER_USERNAME_NNP" name="NNP for '@realDonalTrump'"> <pattern> <token regexp="yes">@[a-z0-9]+</token> </pattern> <disambig postag="NNP" /> </rule> <rule id="ABOUT_TURN" name="About Turn (NN)"> <pattern> <marker> <token>about</token> </marker> <token regexp="yes">turns?</token> </pattern> <disambig action="add"><wd pos="NN"/></disambig> </rule> <rulegroup id="DIRECTLY_RB" name="directly (RB)"> <!-- Remove CC from directly/now --> <rule><!-- She directly goes to bed --> <pattern> <token postag="PRP|NNP" postag_regexp="yes" /> <marker> <token regexp="yes">directly|now</token> </marker> <token postag="VB.*|MD" postag_regexp="yes" /> </pattern> <disambig action="remove"><wd pos="CC"/></disambig> </rule> <rule><!-- I would directly go to bed --> <pattern> <token postag="MD" /> <marker> <token regexp="yes">directly|now</token> </marker> <token postag="VB" /> </pattern> <disambig action="remove"><wd pos="CC"/></disambig> <example type="ambiguous" inputform="directly[directly/CC,directly/RB]" outputform="directly[directly/RB]">I would <marker>directly</marker> go to bed.</example> </rule> <rule> <pattern> <token regexp="yes">&apostrophe;</token> <token spacebefore="no">t</token> <marker> <token regexp="yes">directly|now</token> </marker> <token postag="VB" /> </pattern> <disambig action="remove"><wd pos="CC"/></disambig> </rule> <rule> <pattern> <token regexp="yes" inflected="yes">do|have|be|will|should|shall|can|must</token> <token>not</token> <marker> <token regexp="yes">directly|now</token> </marker> <token postag="VB.*" postag_regexp="yes" chunk_re=".-VP" /> </pattern> <disambig action="remove"><wd pos="CC"/></disambig> </rule> <rule> <pattern> <marker> <token regexp="yes">directly|now</token> </marker> <token postag="SENT_END" regexp="yes">\p{P}</token> </pattern> <disambig action="remove"><wd pos="CC"/></disambig> </rule> </rulegroup> <rule id="ET_AL" name="ignore spelling of 'et al.'"> <pattern> <token>et</token> <token>al</token> <token spacebefore="no">.</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rulegroup id="A_BUMMER_NN" name="a bummer (NN)"> <rule> <pattern> <token>a</token> <marker> <token>bummer</token> </marker> <token postag="PCT|TO|IN|CC|DT|PRP.*|MD" postag_regexp="yes" /> </pattern> <disambig action="remove"><wd pos="JJR"/></disambig> </rule> <rule> <pattern> <token regexp="yes">an?</token> <token postag="JJ.*" postag_regexp="yes" /> <marker> <token>bummer</token> </marker> <token postag="PCT|TO|IN|CC|DT|PRP.*|MD" postag_regexp="yes" /> </pattern> <disambig action="remove"><wd pos="JJR"/></disambig> </rule> </rulegroup> <rulegroup id="VERY_RB" name="Remove JJ from 'very'"> <rule> <antipattern> <token postag="DT" /> <token>very</token> </antipattern> <pattern> <marker> <token>very</token> </marker> <token postag="JJ"> <exception postag="NN.*" postag_regexp="yes" /> </token> </pattern> <disambig action="remove"><wd pos="JJ"/></disambig> </rule> <rule> <antipattern> <token postag="DT" /> <token>very</token> </antipattern> <pattern> <marker> <token chunk_re="[BI]-NP-.*">very</token> </marker> <token postag="JJ" chunk_re="I-NP-.*" /> <token postag="NN.*" postag_regexp="yes" chunk_re="E-NP-.*"> <exception postag="NN.*" postag_regexp="yes" /> </token> </pattern> <disambig action="remove"><wd pos="JJ"/></disambig> </rule> <rule> <pattern> <token inflected="yes" regexp="yes">be|look|seem</token> <marker> <token chunk="B-ADJP">very</token> </marker> <token postag="JJ" chunk="I-ADJP" /> </pattern> <disambig action="remove"><wd pos="JJ"/></disambig> </rule> <rule> <pattern> <marker> <token>very</token> </marker> <token regexp="yes">much|cool|awesome|kind|bad|nice|handsome|pretty|gorgeous|important|good|great|easy|small|big|large|huge|hard|soft|busy|simple|beautiful|essential|common|helpful|quiet|true|wrong|delicious</token> </pattern> <disambig action="remove"><wd pos="JJ"/></disambig> </rule> </rulegroup> <rule id="MAJORITY_NN" name="Remove JJ from 'majority'"> <pattern> <marker> <token>majority</token> </marker> <token>of</token> </pattern> <disambig action="remove"><wd pos="JJ"/></disambig> </rule> <rulegroup id="VERY_WELL" name="Remove VB from 'well' in 'very well"> <rule> <pattern> <token>very</token> <marker> <token>well</token> </marker> </pattern> <disambig action="remove"><wd pos="VB"/></disambig> </rule> <rule> <pattern> <token>very</token> <marker> <token>well</token> </marker> </pattern> <disambig action="remove"><wd pos="VBP"/></disambig> </rule> </rulegroup> <rulegroup id="PLEASE_RB" name="Remove VB from 'please'"> <rule> <pattern> <token postag="SENT_START|PCT|CC" postag_regexp="yes" /> <marker> <token chunk="B-VP">please</token> </marker> <token postag="VB" chunk="I-VP" /> </pattern> <disambig action="filter" postag="RB"/> <example type="ambiguous" inputform="Please[please/RB,please/VB,please/VBP]" outputform="Please[please/RB]"><marker>Please</marker> do this.</example> <example type="untouched">They please her.</example> </rule> <rule> <pattern> <token postag="SENT_START|PCT|CC" postag_regexp="yes" /> <marker> <token>please</token> </marker> <token>don</token> <token regexp="yes">&apostrophe;</token> <token>t</token> </pattern> <disambig action="filter" postag="RB"/> </rule> <rule> <pattern> <token postag="MD" /> <token regexp="yes">you|they|s?he|it|we|I</token> <marker> <token chunk="B-VP">please</token> </marker> <token postag="VB" chunk="I-VP" /> </pattern> <disambig action="filter" postag="RB"/> <example type="ambiguous" inputform="please[please/RB,please/VB,please/VBP]" outputform="please[please/RB]">Could you <marker>please</marker> take care of this?</example> <example type="untouched">You please her.</example> </rule> </rulegroup> <rulegroup id="AS_WELL_RB" name="Set only RB on 'well'"> <rule> <pattern> <token postag="PRP|MD" postag_regexp="yes" /> <token>as</token> <marker> <token>well</token> </marker> <token postag="VB.*" postag_regexp="yes" chunk="I-VP" /> </pattern> <disambig action="filter" postag="RB"/> <example type="ambiguous" inputform="well[well/JJ,well/NN,well/RB,well/UH,well/VB,well/VBP]" outputform="well[well/RB]">I could as <marker>well</marker> go there.</example> </rule> </rulegroup> <rulegroup id="NEEDS_RB" name="Remove RB from 'needs'"> <rule> <antipattern> <token>must</token> <token>needs</token> </antipattern> <antipattern> <token>needs</token> <token>must</token> </antipattern> <antipattern> <token regexp="yes">when|if</token> <token>needs</token> <token postag="VB" /> </antipattern> <antipattern> <token regexp="yes">when|if</token> <token postag="RB" /> <token>needs</token> <token postag="VB" /> </antipattern> <pattern> <marker> <token>needs</token> </marker> </pattern> <disambig action="remove"><wd pos="RB"/></disambig> </rule> </rulegroup> <rulegroup id="ARE_NN" name="Remove NN from 'are'"> <rule> <antipattern> <token regexp="yes">an?|the</token> <token>are</token> </antipattern> <antipattern> <token regexp="yes">an?|the</token> <token postag="JJ.*" postag_regexp="yes" /> <token>are</token> </antipattern> <antipattern> <token postag="CD|TO|UNKNOWN" postag_regexp="yes" /> <token>are</token> </antipattern> <pattern> <marker> <token>are</token> </marker> </pattern> <disambig action="remove"><wd pos="NN"/></disambig> </rule> </rulegroup> <rulegroup id="FORWARD_RB" name="RB on 'forward'"> <rule> <antipattern> <token postag="PCT" /> <token>forward</token> </antipattern> <antipattern> <token postag="MD|TO" postag_regexp="yes" /> <token>forward</token> </antipattern> <antipattern> <token>please</token> <token>forward</token> </antipattern> <pattern> <token regexp="yes" inflected="yes" skip="3">pay|move|take|carry|look|put|drive|bring|push</token> <marker> <token postag="VB">forward</token> </marker> </pattern> <disambig postag="RB"/> <example type="untouched">She was a rude, forward child.</example> <example type="untouched">If this looks ok, forward it on to Mike Grigsby.</example> <example type="ambiguous" inputform="forward[forward/JJ,forward/NN,forward/RB,forward/VB,forward/VBP]" outputform="forward[forward/RB]">Push it <marker>forward</marker>!</example> </rule> <rule> <pattern> <token regexp="yes">lets|please</token> <marker> <token>forward</token> </marker> <token chunk_re=".-NP.*" /> </pattern> <disambig action="filter" postag="VB.*"/> </rule> <rule> <pattern> <token postag="VB.*" postag_regexp="yes" chunk_re=".-VP" /> <token>to</token> <marker> <token>forward</token> </marker> <token chunk_re=".-NP.*" /> </pattern> <disambig action="filter" postag="VB.*"/> </rule> <rule> <antipattern> <token chunk_re=".-VP" /> <token regexp="yes">you|it|(any|every|no|some)(one|body)</token> <token>forward</token> </antipattern> <antipattern> <token postag="IN" /> <token regexp="yes">you|it|(any|every|no|some)(one|body)</token> <token>forward</token> </antipattern> <pattern> <token regexp="yes">I|you|they|we|s?he|it|(any|every|no|some)(one|body)</token> <marker> <token>forward</token> </marker> <token chunk_re=".-NP.*" /> </pattern> <disambig action="filter" postag="VB.*"/> <example type="untouched">I pushed you forward a lot.</example> </rule> <rule> <antipattern> <token chunk_re=".-VP" /> <token regexp="yes">you|it|(any|every|no|some)(one|body)</token> <token postag="RB" /> <token>forward</token> </antipattern> <antipattern> <token postag="IN" /> <token regexp="yes">you|it|(any|every|no|some)(one|body)</token> <token postag="RB" /> <token>forward</token> </antipattern> <pattern> <token regexp="yes">I|you|they|we|s?he|it|(any|every|no|some)(one|body)</token> <token postag="RB" /> <marker> <token>forward</token> </marker> <token chunk_re=".-NP.*" /> </pattern> <disambig action="filter" postag="VB.*"/> </rule> <rule> <pattern> <token postag="MD" /> <marker> <token>forward</token> </marker> <token chunk_re=".-NP.*" /> </pattern> <disambig action="filter" postag="VB.*"/> </rule> <rule> <pattern> <token postag="MD" /> <token postag="RB" /> <marker> <token>forward</token> </marker> <token chunk_re=".-NP.*" /> </pattern> <disambig action="filter" postag="VB.*"/> </rule> <rule> <pattern> <token postag="MD" /> <token regexp="yes">&apostrophe;</token> <token>t</token> <marker> <token>forward</token> </marker> <token chunk_re=".-NP.*" /> </pattern> <disambig action="filter" postag="VB.*"/> </rule> </rulegroup> <rule id="ORDER_UH" name="UH on 'order'"> <!-- neither webster, wiktionary nor oxford lists "order" as interjection --> <antipattern><!-- "Order!"--> <token regexp="yes">\p{P}</token> <token>order</token> </antipattern> <antipattern><!-- "Order!"--> <token>order</token> <token regexp="yes">\p{P}</token> </antipattern> <pattern> <marker> <token>order</token> </marker> </pattern> <disambig action="remove"><wd pos="UH"/></disambig> </rule> <rule id="IN_PERPETUUM" name="ignore spelling of 'in perpetuum'"> <pattern> <token>in</token> <token>perpetuum</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="DEPARTEMENT_OF_XXX" name="ignore spelling of 'Département of XXX'"> <pattern> <token case_sensitive="yes">Département</token> <token regexp="yes">d[eu]|of</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="CD_AU" name="ignore spelling of '5 au'"> <pattern> <token regexp="yes">\d+</token> <token>au</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="DIFFERENTLY_ABLED" name="ignore spelling of 'differently abled'"> <pattern> <token>differently</token> <token>abled</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rulegroup id="CAN_MD" name="can -> MD"> <rule> <pattern> <token postag="CC|SENT_START|PCT" postag_regexp="yes" /> <marker> <token regexp="yes">can|will</token> </marker> <token regexp="yes">I|you|we|they|it|s?he|(every|some|any)(body|one|thing)</token> <token postag="VB" chunk="B-VP" /> </pattern> <disambig action="filter" postag="MD" /> </rule> <rule> <pattern> <token postag="CC|SENT_START|PCT" postag_regexp="yes" /> <marker> <token regexp="yes">can|will</token> </marker> <token regexp="yes">I|you|we|they|it|s?he|(every|some|any)(body|one|thing)</token> <token postag="RB" chunk="B-ADVP" /> <token postag="VB" chunk="B-VP" /> </pattern> <disambig action="filter" postag="MD" /> </rule> </rulegroup> <rule id="THE_TIMES_NNP" name="The Times -> NNP"> <pattern> <token>The</token> <marker> <token case_sensitive="yes">Times</token> </marker> </pattern> <disambig action="add"><wd pos="NNP"/></disambig> </rule> <rulegroup id="NEED_VB" name="'need' as verb"> <rule> <pattern> <marker> <token>need</token> </marker> <token>to</token> <token postag="VB" /> </pattern> <disambig action="remove"><wd pos="MD"/></disambig> </rule> <rule> <pattern> <marker> <token>need</token> </marker> <token>to</token> <token postag="RB" min="0" /> <token postag="VB" /> </pattern> <disambig action="remove"><wd pos="MD"/></disambig> </rule> <rule><!-- "need/needs to be" (only verb) --> <antipattern> <token postag="PRP\$|DT" postag_regexp="yes" /> <token postag="JJ.*" postag_regexp="yes" min="0" /> <token regexp="yes">needs?</token> </antipattern> <pattern> <token chunk_re="E-NP.*" /> <token postag="RB" chunk="B-ADVP" min="0" /> <marker> <token regexp="yes" chunk="B-VP">needs?</token> </marker> <token>to</token> <token postag="RB" min="0" /> <token postag="VB" chunk_re=".-VP" /> </pattern> <disambig action="filter" postag="VB.*" /> </rule> </rulegroup> <rule id="NEED_MD" name="needn't is MD"> <pattern> <marker> <token>need</token> </marker> <token>n't</token> </pattern> <disambig action="filter" postag="MD" /> </rule> <rulegroup id="WANT_VB" name="'want' as verb"> <rule><!-- "want/wants to be" (only verb) --> <antipattern> <token postag="PRP\$|DT" postag_regexp="yes" /> <token postag="JJ.*" postag_regexp="yes" min="0" /> <token regexp="yes">wants?</token> </antipattern> <pattern> <token chunk_re="E-NP.*" /> <token postag="RB" chunk="B-ADVP" min="0" /> <marker> <token regexp="yes" chunk="B-VP">wants?</token> </marker> <token>to</token> <token postag="RB" min="0" /> <token postag="VB" chunk_re=".-VP" /> </pattern> <disambig action="filter" postag="VB.*" /> </rule> </rulegroup> <rulegroup id="TRY_VB" name="'try' as verb"> <rule><!-- "try/tries to be" (only verb) --> <antipattern> <token postag="PRP\$|DT" postag_regexp="yes" /> <token postag="JJ.*" postag_regexp="yes" min="0" /> <token regexp="yes">try|tries</token> </antipattern> <pattern> <token chunk_re="E-NP.*" /> <token postag="RB" chunk="B-ADVP" min="0" /> <marker> <token regexp="yes" chunk="B-VP">try|tries</token> </marker> <token>to</token> <token postag="RB" min="0" /> <token postag="VB" chunk_re=".-VP" /> </pattern> <disambig action="filter" postag="VB.*" /> </rule> </rulegroup> <rulegroup id="HOPE_VB" name="'hope' as verb"> <antipattern> <token postag="PRP\$|DT" postag_regexp="yes" /> <token postag="JJ.*" postag_regexp="yes" min="0" /> <token regexp="yes">hopes?</token> </antipattern> <antipattern> <token>high</token> <token>hopes</token> </antipattern> <rule><!-- "hope/hopes to be" (only verb) --> <pattern> <token chunk_re="E-NP.*" /> <token postag="RB" chunk="B-ADVP" min="0" /> <marker> <token regexp="yes" chunk="B-VP">hopes?</token> </marker> <token>to</token> <token postag="RB" min="0" /> <token postag="VB" chunk_re=".-VP" /> </pattern> <disambig action="filter" postag="VB.*" /> </rule> <rule><!-- "hope/hopes that they will ... " (only verb) --> <pattern> <token chunk_re="E-NP.*" /> <token postag="RB" chunk="B-ADVP" min="0" /> <marker> <token regexp="yes" chunk="B-VP">hopes?</token> </marker> <token>that</token> <token chunk_re="B-NP.*" min="0" /> <token chunk_re="E-NP.*" /> <token postag="RB" min="0" /> <token chunk_re=".-VP" /> </pattern> <disambig action="filter" postag="VB.*" /> </rule> </rulegroup> <rule id="WILL_I_AM" name="Will.I.am (musician name)"> <pattern> <token>will</token> <token>.</token> <token>i</token> <token>.</token> <token>am</token> </pattern> <disambig action="replace"><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/><wd pos="NNP"/></disambig> </rule> <rule id="HOW_JJ_MD_NN" name="how high can birds fly (birds -> NNS)"> <pattern> <token regexp="yes">how|what|which|who</token> <token postag="RB|JJ" postag_regexp="yes" /> <token postag="MD" /> <marker> <and> <token chunk="E-NP-plural" postag="NNP?S" postag_regexp="yes" /> <token postag="VBZ" /> </and> </marker> <token postag="VBP?" postag_regexp="yes" chunk="B-VP"> <exception>are</exception> </token> </pattern> <disambig action="filter" postag="NN.*" /> <example type="ambiguous" inputform="birds[bird/NNS,bird/VBZ]" outputform="birds[bird/NNS]">How high can <marker>birds</marker> fly?</example> <example type="ambiguous" inputform="masks[mask/NNS,mask/VBZ]" outputform="masks[mask/NNS]">Just how well can <marker>masks</marker> block the, even smaller than pollen, yellow sand dust?</example> <example type="untouched">How good can his become?</example> </rule> <rulegroup id="LIVE_VB" name="VB on 'live'"> <antipattern><!-- He perfomed it live in … --> <token postag="VB.*|IN|UNKNOWN" postag_regexp="yes" /> <token postag="PRP" /> <token>live</token> </antipattern> <rule> <pattern> <token postag="PRP|MD|TO" postag_regexp="yes" /> <marker> <token chunk_re=".-VP">live</token> </marker> <token postag="IN|DT" postag_regexp="yes" /> </pattern> <disambig action="remove" postag="RB"/> </rule> <rule> <pattern> <token postag="PRP|MD|TO" postag_regexp="yes" /> <token postag="RB" chunk_re=".-VP|B-ADVP" /> <marker> <token chunk_re=".-VP">live</token> </marker> <token postag="IN|DT" postag_regexp="yes" /> </pattern> <disambig action="remove" postag="RB"/> </rule> </rulegroup> <rulegroup id="SUPPLY_VB" name="VB on 'supply'"> <rule> <pattern> <token postag="PRP|MD|TO" postag_regexp="yes" /> <marker> <token chunk_re=".-VP">supply</token> </marker> <token postag="IN|DT|PRP\$" postag_regexp="yes" /> </pattern> <disambig action="remove" postag="RB"/> </rule> <rule> <pattern> <token postag="PRP|MD|TO" postag_regexp="yes" /> <token postag="RB" chunk_re=".-VP|B-ADVP" /> <marker> <token chunk_re=".-VP">supply</token> </marker> <token postag="IN|DT|PRP\$" postag_regexp="yes" /> </pattern> <disambig action="remove" postag="RB"/> </rule> <rule> <pattern> <token postag="PRP|MD|TO" postag_regexp="yes" /> <token postag="RB" chunk_re=".-VP|B-ADVP" min="0" /> <marker> <token chunk_re=".-VP">supply</token> </marker> <token chunk_re="[BE]-NP.*" /> </pattern> <disambig action="remove" postag="RB"/> </rule> </rulegroup> <rule id="A_PRIORI_SPELLING" name="ignore spelling of 'a priori'"> <pattern> <token>a</token> <token>priori</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="A_POSTERIORI_SPELLING" name="ignore spelling of 'a posteriori'"> <pattern> <token>a</token> <token>posteriori</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="A_M_REMOVE_DT" name="remove 'DT' from 'A.M.'"> <pattern> <marker> <token>A</token> </marker> <token spacebefore="no">.</token> <token spacebefore="no" regexp="yes">[A-Z]</token> </pattern> <disambig action="remove" postag="DT"/> </rule> <rule id="DOES_REMOVE_NNS" name="remove 'NNS' from 'does'"> <pattern> <token>how</token> <token>much</token> <marker> <token>does</token> </marker> <token postag="PRP|NNP|UNKNOWN|NN:UN?" postag_regexp="yes" /> <token postag="VB" /> </pattern> <disambig action="remove" postag="NNS"/> </rule> <rule id="HIS_REMOVE_NNS" name="remove 'NNS' from 'his'"> <pattern> <marker> <token chunk_re="B-NP.*">his</token> </marker> <token chunk_re="[EI]-NP.*" postag="JJ.*|CD|NN.*" postag_regexp="yes" /> </pattern> <disambig action="remove" postag="NNS"/> </rule> <rulegroup id="HAVE_NN" name="remove 'NN' from 'have'"> <rule> <pattern> <token postag="PRP_S.*" postag_regexp="yes" /> <token postag="RB" min="0"> <exception postag="IN|EX" postag_regexp="yes" /> </token> <token postag="MD" /> <marker> <token>have</token> </marker> <token postag="RB" min="0"> <exception postag="IN|EX" postag_regexp="yes" /> </token> <token postag="VBN" chunk_re=".-VP" /> </pattern> <disambig action="remove" postag="NN"/> </rule> <rule> <pattern> <token postag="PRP_S.*" postag_regexp="yes" /> <token postag="RB" min="0"> <exception postag="IN|EX" postag_regexp="yes" /> </token> <marker> <token>have</token> </marker> <token postag="RB" min="0"> <exception postag="IN|EX" postag_regexp="yes" /> </token> <token postag="VBN" chunk_re=".-VP" /> </pattern> <disambig action="remove" postag="NN"/> </rule> <rule><!-- "have to be" (only verb) --> <antipattern> <token postag="PRP\$|DT" postag_regexp="yes" /> <token postag="JJ.*" postag_regexp="yes" min="0" /> <token regexp="yes">have</token> </antipattern> <antipattern><!-- a must have --> <token>must</token> <token regexp="yes">have</token> </antipattern> <pattern> <token chunk_re="E-NP.*" /> <token postag="RB" min="0" /> <marker> <token chunk="B-VP">have</token> </marker> <token>to</token> <token postag="RB" min="0" /> <token postag="VB" chunk_re=".-VP" /> </pattern> <disambig action="filter" postag="VB.*" /> </rule> <rule> <pattern> <token chunk_re="E-NP.*" /> <token postag="RB" min="0" /> <marker> <token chunk="B-VP">have</token> </marker> <token postag="RB" min="0" /> <token postag="VBN" /> </pattern> <disambig action="filter" postag="VB.*" /> </rule> <rule> <pattern> <token chunk_re="E-NP.*" /> <token postag="RB" min="0" /> <marker> <token chunk="B-VP">have</token> </marker> <token postag="JJ" min="0" chunk_re="B-NP.*" /> <token postag="NN:UN?|NNS" postag_regexp="yes" chunk_re="E-NP.*" /> </pattern> <disambig action="filter" postag="VB.*" /> </rule> </rulegroup> <rulegroup id="SPELLING_DE_AND_ET" name="ignore spelling of 'de/et/el/un' in Spanish names/expressions"> <rule> <pattern> <marker> <token case_sensitive="yes" regexp="yes">[Dd]el?|[Ee]t|[Ee]l|[Uu]n</token> </marker> <token postag="UNKNOWN|NN.*" postag_regexp="yes" regexp="yes">.*[a-z].*</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token postag="UNKNOWN|NN.*" postag_regexp="yes" regexp="yes">.*[a-z].*</token> <marker> <token case_sensitive="yes" regexp="yes">[Dd]el?|[Ee]t</token> </marker> </pattern> <disambig action="ignore_spelling"/> </rule> </rulegroup> <rule id="DE_FACTO" name="ignore spelling of 'de facto'"> <pattern case_sensitive="yes"> <token regexp="yes">[Dd]e|DE</token> <token regexp="yes">[Ff]acto|FACTO</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rulegroup id="IGNORE_SPELLING_MULTIWORDS" name="ignore spelling multiwords"> <rule> <pattern> <token>a</token> <token>cappella</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>a</token> <token>fortiori</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>a</token> <token>posteriori</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>a</token> <token>priori</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>ab</token> <token>initio</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>al</token> <token>dente</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>al</token> <token>fresco</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>bona</token> <token>fide</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>bona</token> <token>fides</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>cc</token> <token>'d'</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>cordon</token> <token>bleu</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token regexp="yes">pm|rsvp|dm</token> <token>'d</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>ejusdem</token> <token>generis</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>ex</token> <token>cathedra</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>ex</token> <token>gratia</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>ex</token> <token>officio</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>ex</token> <token>parte</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>ex</token> <token>post</token> <token>facto</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>fin</token> <token>de</token> <token>siècle</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>jeu</token> <token>d</token> <token>'</token> <token>esprit</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>grand</token> <token>mal</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>in</token> <token>loco</token> <token>parentis</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>in</token> <token>memoriam</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>in</token> <token>situ</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>in</token> <token>vitro</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>inter</token> <token>vivos</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>mano</token> <token>a</token> <token>mano</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>memento</token> <token>mori</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token regexp="yes">partis?</token> <token>pris</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>prima</token> <token>facie</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>rosehip</token> <token>tea</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>salade</token> <token>niçoise</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>sotto</token> <token>voce</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>sub</token> <token>rosa</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>summa</token> <token>cum</token> <token>laude</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>ultra</token> <token>vires</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token>viva</token> <token>voce</token> </pattern> <disambig action="ignore_spelling"/> </rule> </rulegroup> <rule id="PRE_AND_POST_SPELLING" name="ignore spelling of 'pre- and post-Corona'"> <pattern> <marker> <token case_sensitive="yes" regexp="yes">pre|PRE|Pre</token> <token spacebefore="no">-</token> </marker> <token regexp="yes">and|n?or|&</token> <token regexp="yes">post-.+</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="SECOND_LARGEST_JJS" name="add JJS to 'second-largest'"> <pattern> <token regexp="yes">(second|third|fourth|fifth|sixth|seventh|eighth|ninth|tenth)-(largest|most|biggest|worst|best|lowest|highest|latest|longest|wealthiest|busiest|tallest|smallest|weakest|strongest|oldest|newest|greatest|poorest|deadliest|richest|least)</token> </pattern> <disambig action="add" postag="JJS"/> </rule> <rule id="IGNORE_SPELLING_OF_REAIS_SYMBOL" name="ignore spelling of 'R$'"> <pattern> <marker> <token case_sensitive="yes">R$</token> </marker> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="IGNORE_SPELLING_OF_SUPERSCRIPT_NUMBERS" name="ignore spelling of 'mc²'"> <pattern> <marker> <token regexp="yes">([a-z]|mc|mi|[dkm]m|sp)[²³]</token> </marker> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="IGNORE_SPELLING_OF_WORDS_WITH_UNDERSCORE_OR_AT" name="ignore spelling of things like REMOTE_USER and name@company"> <pattern> <marker> <token regexp="yes">[\p{L}\p{Nd}_\-.]+[@_][\p{L}\p{Nd}_\-.]+</token> </marker> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="IGNORE_SPELLING_OF_THOU_WAST" name="ignore spelling of archaic 'thou wast'"> <pattern case_sensitive="yes"> <marker> <token regexp="yes">[Tt]hou|THOU</token> <token regexp="yes">[Ww]ast|WAST</token> </marker> </pattern> <disambig action="ignore_spelling"/> </rule> <rulegroup id="NO_LONGER" name="'RB' for 'no longer'"> <rule> <pattern> <token postag="MD" /> <marker> <token>no</token> <token>longer</token> </marker> <token postag="VB" chunk_re=".-VP" /> </pattern> <disambig action="replace"><wd lemma="no" pos="RB"/><wd lemma="longer" pos="RB"/></disambig> </rule> <rule> <pattern> <token inflected="yes">have</token> <marker> <token>no</token> <token>longer</token> </marker> <token postag="VBN" chunk_re=".-VP" /> </pattern> <disambig action="replace"><wd lemma="no" pos="RB"/><wd lemma="longer" pos="RB"/></disambig> </rule> <rule> <pattern> <token inflected="yes">be</token> <marker> <token>no</token> <token>longer</token> </marker> <token postag="VB[GN]" postag_regexp="yes" chunk_re=".-VP" /> </pattern> <disambig action="replace"><wd lemma="no" pos="RB"/><wd lemma="longer" pos="RB"/></disambig> </rule> <rule> <pattern> <token postag="PRP_S.*" postag_regexp="yes" /> <marker> <token>no</token> <token>longer</token> </marker> <token postag="VB[ZDP]|MD" postag_regexp="yes" chunk_re=".-VP" /> </pattern> <disambig action="replace"><wd lemma="no" pos="RB"/><wd lemma="longer" pos="RB"/></disambig> </rule> <rule> <pattern> <token postag="NNP" chunk_re="E-NP.*" /> <marker> <token>no</token> <token>longer</token> </marker> <token postag="VB[ZD]|MD" postag_regexp="yes" chunk_re=".-VP" /> </pattern> <disambig action="replace"><wd lemma="no" pos="RB"/><wd lemma="longer" pos="RB"/></disambig> </rule> <rule> <pattern> <token postag="NNPS" chunk_re="E-NP.*" /> <marker> <token>no</token> <token>longer</token> </marker> <token postag="VB[PD]|MD" postag_regexp="yes" chunk_re=".-VP" /> </pattern> <disambig action="replace"><wd lemma="no" pos="RB"/><wd lemma="longer" pos="RB"/></disambig> </rule> <rule> <pattern> <token inflected="yes">be</token> <marker> <token chunk_re=".-ADVP">no</token> <token chunk_re=".-ADVP">longer</token> </marker> <token postag="JJR?" postag_regexp="yes" chunk_re=".-ADJP" /> </pattern> <disambig action="replace"><wd lemma="no" pos="RB"/><wd lemma="longer" pos="RB"/></disambig> </rule> </rulegroup> <rulegroup id="WHY_S" name="Add VBZ to 'why's'"> <rule><!-- Why's he happy? --> <pattern> <token>why</token> <marker> <token spacebefore="no">'s</token> </marker> <token regexp="yes">s?he|it|they|you|I|we</token> </pattern> <disambig action="replace"><wd lemma="be" pos="VBZ"/></disambig> </rule> <rule><!-- Why's the car driving so fast? --> <pattern> <token>why</token> <marker> <token spacebefore="no">'s</token> </marker> <token postag="PRP\$|DT" postag_regexp="yes" chunk_re="B-NP.*" /> <token postag_regexp="yes" chunk_re="[EI]-NP.*" /> </pattern> <disambig action="replace"><wd lemma="be" pos="VBZ"/></disambig> </rule> <rule><!-- Why's Peter so happy? --> <pattern> <token>why</token> <marker> <token spacebefore="no">'s</token> </marker> <token postag="NNP" chunk_re="[BE]-NP.*" /> </pattern> <disambig action="replace"><wd lemma="be" pos="VBZ"/></disambig> </rule> </rulegroup> <rulegroup id="REMOVE_POS_FROM_FILE_NAMES" name="Remove POS from file names"> <rule> <pattern> <marker> <token regexp="yes">.*[a-z0-9].*</token> </marker> <token spacebefore="no">.</token> <token spacebefore="no" regexp="yes">&filename_extensions;</token> </pattern> <disambig action="remove" postag="VB.*"/> <example type="ambiguous" inputform="index[index/NN,index/VB,index/VBP]" outputform="index[index/NN]">I have <marker>index</marker>.php modifications.</example> </rule> </rulegroup> <rulegroup id="IGNORE_SPELLING_OF_ABBREVIATIONS" name="Ignore spelling of some uppercase abbreviations"> <rule><!-- lowercase word + abbreviation with no vowels --> <pattern case_sensitive="yes"> <token regexp="yes">.*[a-z0-9].*</token> <token min="0" regexp="yes">[\)\(,\/:]</token> <marker> <token regexp="yes">[BCDFGHJKLMNPQRSTVWXZ]{3,6}s?</token> </marker> </pattern> <disambig action="ignore_spelling"/> </rule> <rule><!-- abbreviation with no vowels + word --> <pattern case_sensitive="yes"> <marker> <token regexp="yes">[BCDFGHJKLMNPQRSTVWXZ]{3,6}s?</token> </marker> <token min="0" regexp="yes">[\)\(,\/:]</token> <token regexp="yes">.*[a-z0-9].*</token> </pattern> <disambig action="ignore_spelling"/> </rule> </rulegroup> <rule id="UN_HAPPY" name="ignore spelling of (un)happy"> <pattern> <token>(</token> <marker> <token case_sensitive="yes" regexp="yes">un|dis</token> </marker> <token>)</token> <token postag="JJ|VB.*" postag_regexp="yes" spacebefore="no" /> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="PLAY_ING" name="ignore spelling of play(ing)"> <pattern> <token postag="VB" /> <token>(</token> <marker> <token case_sensitive="yes" regexp="yes">ing|ed</token> </marker> <token>)</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="STEALTH_ISH" name="ignore spelling of stealth(ish)"> <pattern> <token>(</token> <marker> <token case_sensitive="yes" skip="-1">ish</token> </marker> <token>)</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="UNIVERSITE_DE_X" name="ignore spelling of 'Université de'"> <pattern case_sensitive="yes"> <token>Université</token> <token postag="UNKNOWN" min="0" /> <token regexp="yes">[Dd]e</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="UNIVERSIDAD_DE_X" name="ignore spelling of 'Universidad de'"> <pattern case_sensitive="yes"> <token>Universidad</token> <token postag="UNKNOWN" min="0" /> <token regexp="yes">[Dd]el?</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="NUMBER_PERIOD_A" name="remove 'DT' from '3.a'"> <pattern> <token regexp="yes">\d+</token> <token spacebefore="no">.</token> <marker> <token spacebefore="no">a</token> </marker> </pattern> <disambig action="remove" postag="DT"/> </rule> <rule id="MOST_NO_NOUN" name="remove 'NN' from 'most'"> <pattern> <marker> <token>most</token> </marker> <token>likely</token> </pattern> <disambig action="remove" postag="NN.*" /> </rule> <rulegroup id="GERMAN_STREET_NAMES" name="ignore spelling of German street names"> <rule> <pattern case_sensitive="yes"> <token regexp="yes">[A-ZÄÖÜ][a-zäöüß]+</token> <token>Str</token> <token spacebefore="no">.</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern case_sensitive="yes"> <token regexp="yes">[A-ZÄÖÜ][a-zäöüß]+</token> <token regexp="yes">(Straße|Allee|Weg|Chaussee|Twiete|Brücke|Platz)</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern case_sensitive="yes"> <token regexp="yes">[A-ZÄÖÜ][a-zäöüß]+-(Straße|Allee|Weg|Chaussee|Twiete|Brücke|Platz)</token> </pattern> <disambig action="ignore_spelling"/> </rule> </rulegroup> <rulegroup id="MICHAELS_IGNORE_SPELLING" name="ignore spelling of 'Michaels'"> <!-- popular surname --> <rule> <pattern> <token postag="NNP|UNKNOWN" postag_regexp="yes" case_sensitive="yes" regexp="yes">[A-Z].+</token> <marker> <token case_sensitive="yes" regexp="yes">Michaels|MICHAELS</token> </marker> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token case_sensitive="yes" regexp="yes">[A-Z]|[Mm]rs?|[Dd]r|[Tt]he</token> <token min="0">.</token> <marker> <token case_sensitive="yes" regexp="yes">Michaels|MICHAELS</token> </marker> </pattern> <disambig action="ignore_spelling"/> </rule> </rulegroup> <rule id="ON_FLEEK" name="on fleek"> <!-- https://www.merriam-webster.com/dictionary/on%20fleek--> <pattern> <token>on</token> <marker> <token case_sensitive="yes" regexp="yes">[Ff]leek|FLEEK</token> </marker> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="AHHH" name="ignore spelling of long interjections (ahhhhh)"> <pattern> <token case_sensitive="yes" regexp="yes">[AaOo]h{1,20}|[OA]H{1,20}</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="RETD" name="ignore spelling of 'retd.'"> <pattern> <token case_sensitive="yes" regexp="yes">[Rr]etd</token> <token spacebefore="no">.</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="CA" name="ignore spelling of 'ca.'"> <pattern> <token case_sensitive="yes" regexp="yes">ca|CA|Ca</token> <token spacebefore="no">.</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="FAST_FOOD" name="'fast' no verb in 'fast food'"> <pattern> <token postag="DT|PRP\$|JJ.*" postag_regexp="yes" chunk_re=".-NP.*" /> <marker> <token>fast</token> </marker> <token>food</token> </pattern> <disambig action="remove" postag="VB.*" /> </rule> <rule id="WHEREABOUTS_NO_ADVERB" name="'whereabouts' no adverb"> <pattern> <token regexp="yes">his|my|y?our|their|the|th[oe]se|some|many|few|any|plenty|its</token> <token postag="JJ.*" postag_regexp="yes" chunk_re="I-NP.*" min="0" /> <marker> <token>whereabouts</token> </marker> </pattern> <disambig action="remove" postag="W.*" /> </rule> <rule id="ING" name="ignore spelling of 'go(ing)'"> <pattern> <token regexp="yes">\(|/</token> <marker> <token regexp="yes">ing|ed</token> </marker> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="LEAF_NO_VERB" name="leaf no verb in 'leaf green'"> <pattern> <marker> <token chunk_re=".-NP.*">leaf</token> </marker> <token>green</token> </pattern> <disambig action="remove" postag="VB.*" /> </rule> <rule id="NO_NO_DT" name="'no' is not DT"> <pattern> <marker> <token>no</token> </marker> <token spacebefore="no">.</token> <token regexp="yes">\d+</token> </pattern> <disambig action="remove" postag="DT.*" /> </rule> <rulegroup id="COMES_NO_NN" name="'comes' is not NN"> <rule> <antipattern> <token postag="P?DT|PRP\$" postag_regexp="yes" /> <token>comes</token> </antipattern> <pattern> <marker> <token>comes</token> </marker> <token regexp="yes">from|by|to|into|(down|up)stairs</token> </pattern> <disambig action="remove" postag="NN" /> </rule> <rule> <pattern> <token chunk="E-NP-singular" /> <token postag="RB" min="0" /> <marker> <token>comes</token> </marker> </pattern> <disambig action="remove" postag="NN" /> </rule> </rulegroup> <rule id="AGO_NO_ADJECTIVE" name="'ago' no adjective"> <pattern> <token regexp="yes">seconds|minutes|hours|days|weeks|months|years|decades|moments|time</token> <marker> <token>ago</token> </marker> </pattern> <disambig action="remove" postag="JJ" /> </rule> <rule id="PATERNITY_LEAVE_NO_VB" name="'leave' no verb in 'paternity leave'"> <antipattern> <token>leave</token> <token>out</token> </antipattern> <pattern> <token regexp="yes">paternity|parental|sick</token> <marker> <token>leave</token> </marker> </pattern> <disambig action="remove" postag="VB.*" /> </rule> <rulegroup id="MIGHT_MD" name="'might' only MD"> <rule> <pattern> <marker> <token regexp="yes">might|may</token> </marker> <token>be</token> <token postag="RB" min="0" /> <token postag="JJ.*|VBN" postag_regexp="yes" /> </pattern> <disambig action="filter" postag="MD" /> </rule> <rule> <pattern> <marker> <token regexp="yes">might|may</token> </marker> <token>as</token> <token>well</token> <token>be</token> <token postag="RB" min="0" /> <token postag="JJ.*|VBN" postag_regexp="yes" /> </pattern> <disambig action="filter" postag="MD" /> </rule> <rule> <pattern> <token chunk_re="E-NP.*" /> <marker> <token regexp="yes">might|may</token> </marker> <token postag="VB" chunk_re=".-VP" /> </pattern> <disambig action="filter" postag="MD" /> </rule> <rule> <pattern> <marker> <token regexp="yes">might|may</token> </marker> <token>not</token> <token postag="RB" min="0" /> <token postag="VB" chunk_re=".-VP" /> </pattern> <disambig action="filter" postag="MD" /> </rule> </rulegroup> <rule id="A_NOTHER" name="a(nother)"><!-- there's a(nother) thing coming --> <pattern> <token>a</token> <token spacebefore="no">(</token> <marker> <token>nother</token> </marker> <token>)</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="DO_NN_VB" name="does Peter have (VB) time"> <pattern> <token postag="SENT_START|PCT|CC" postag_regexp="yes" /> <token regexp="yes" min="0">why|when|where|who|which|what|how</token> <token inflected="yes" regexp="yes">do|will|can|should|may|must</token> <token min="0">n't</token> <token chunk_re="B-NP.*" min="0" /> <token chunk_re="E-NP.*" /> <marker> <token postag="VB" chunk_re=".-VP" /> </marker> <token postag="P?DT|PRP\$|TO|IN" postag_regexp="yes" /> </pattern> <disambig action="filter" postag="VB" /> </rule> <rule id="PEOPLE_NO_VB" name="'people' and 'company' no verbs"> <pattern> <token postag="P?DT|PRP\$|JJ.*" postag_regexp="yes" chunk_re=".-NP.*" /> <marker> <token regexp="yes">people|company|companies|soldiers?</token> </marker> </pattern> <disambig action="remove" postag="VB.*" /> </rule> <rulegroup id="WHY_ONLY_ADVERB" name="'why' only Adverb"> <rule> <pattern> <marker> <token>why</token> </marker> <token min="0">exactly</token> <token inflected="yes" regexp="yes">have|do|be|will|can|should|must</token> <token chunk_re="B-NP.*" min="0" /> <token chunk_re="E-NP.*" /> <token postag="RB" min="0" chunk="B-ADVP" /> <token postag="VB.*" postag_regexp="yes" chunk_re=".-VP" /> </pattern> <disambig action="filter" postag="WRB" /> </rule> <rule> <pattern> <marker> <token>why</token> </marker> <token min="0">exactly</token> <token inflected="yes" regexp="yes">have|do|be|will|can|should|must</token> <token>n't</token> <token chunk_re="B-NP.*" min="0" /> <token chunk_re="E-NP.*" /> <token postag="RB" min="0" chunk="B-ADVP" /> <token postag="VB.*" postag_regexp="yes" chunk_re=".-VP" /> </pattern> <disambig action="filter" postag="WRB" /> </rule> </rulegroup> <rule id="HAWAI_I" name="ignore 'Hawaiʻi'"> <pattern> <token regexp="yes" case_sensitive="yes">Hawai&apostrophe;i</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rulegroup id="GOING_NO_NNP" name="'Going' no proper noun"> <rule> <pattern> <marker> <token case_sensitive="yes">Going</token> </marker> <token>forward</token> </pattern> <disambig action="remove" postag="NNP" /> </rule> <rule> <pattern> <token inflected="yes">be</token> <token postag="PRP" min="0" /> <marker> <token case_sensitive="yes">Going</token> </marker> <token>to</token> </pattern> <disambig action="remove" postag="NNP" /> </rule> </rulegroup> <rule id="CAN_I_ESCAPE" name="can I escape (VB)"> <antipattern><!-- Didn't you team check the results? --> <token postag="PRP_S.*|NNPS?" postag_regexp="yes" /> <token chunk="B-VP" /> <token chunk="I-VP" /> </antipattern> <antipattern><!-- Didn't you team check the results? --> <token postag="PRP_S.*|NNPS?" postag_regexp="yes" /> <token chunk="B-VP" /> <token postag="VB" /> </antipattern> <pattern> <token postag="W.*|PCT|SENT_START|CC" postag_regexp="yes" /> <token regexp="yes" inflected="yes">can|do|will|should|may</token> <token min="0">n't</token> <token postag="PRP_S.*|NNPS?" postag_regexp="yes" chunk_re="B-NP.*" min="0" /> <token postag="PRP.*|NN.*" postag_regexp="yes" chunk_re="E-NP.*" /> <marker> <and> <token postag="VB" chunk_re=".-VP"> <exception>please</exception> </token> <token postag="VBP" /> </and> </marker> </pattern> <disambig action="filter" postag="VB" /> </rule> <rule id="HERE_NO_NNP" name="'Here' no proper noun"> <pattern> <token postag="SENT_START" /> <marker> <token case_sensitive="yes" regexp="yes">Here|None</token> </marker> <token chunk_re=".-VP" /> </pattern> <disambig action="remove" postag="NNP" /> </rule> <rule id="A_NO_DT" name="'a' no 'DT' in 'n/a'"> <pattern> <token>n</token> <token>/</token> <marker> <token>a</token> </marker> </pattern> <disambig action="remove" postag="DT" /> </rule> <rule id="MARCHING_NO_VBG" name="'marching' no VBG"> <pattern> <marker> <token>marching</token> </marker> <token regexp="yes">bands?</token> </pattern> <disambig action="remove" postag="VBG" /> </rule> <rule id="CAME_NO_NN" name="'marching' no NN"> <pattern> <marker> <token chunk_re=".-VP">came</token> </marker> <token postag="DT|PRP\$|IN" postag_regexp="yes" /> </pattern> <disambig action="remove" postag="NN" /> </rule> <rule id="BUG_NO_VB" name="'bug' no VB"> <antipattern> <token postag="MD" /> <token postag="RB" min="0" /> <token>bug</token> <token regexp="yes">fix|report</token> </antipattern> <antipattern> <token regexp="yes">I|we|you|they</token> <token postag="RB" min="0" /> <token>bug</token> <token regexp="yes">fix|report</token> </antipattern> <antipattern> <token regexp="yes">s?he|it</token> <token postag="RB" min="0" /> <token>bug</token> <token regexp="yes">fixes|reports</token> </antipattern> <pattern> <marker> <token>bug</token> </marker> <token regexp="yes">fix(es)?|reports?</token> </pattern> <disambig action="filter" postag="NN.*" /> </rule> <rulegroup id="ONLY_JUST_RB" name="'just' and 'only' only RB"> <rule> <pattern> <marker> <token chunk_re=".-ADVP" regexp="yes">only|just</token> </marker> <token chunk_re=".-VP" postag="VB.*|MD" postag_regexp="yes" /> </pattern> <disambig action="filter" postag="RB" /> </rule> <rule> <pattern> <token postag="PRP_S.*|NN.*" postag_regexp="yes" chunk_re="E-NP.*" /> <marker> <token chunk_re=".-ADVP" regexp="yes">almost|now|soon|sure|likely|kindly|then|ever</token> </marker> <token chunk_re=".-VP" postag="VB.*|MD" postag_regexp="yes" /> </pattern> <disambig action="filter" postag="RB" /> </rule> <rule> <pattern> <token chunk_re=".-VP" regexp="yes" inflected="yes">will|can|do|should|might|may|must|have|be</token> <marker> <token chunk_re=".-VP" regexp="yes">almost|now|soon|sure|likely|kindly|then|ever</token> </marker> <token chunk_re=".-VP" postag="VB.*" postag_regexp="yes" /> </pattern> <disambig action="filter" postag="RB" /> </rule> </rulegroup> <rulegroup id="NUMBER_ONLY_NN" name="'a number' only tagged as noun"> <rule> <pattern> <token postag="DT|PRP\$" postag_regexp="yes" chunk="B-NP-singular" /> <token postag="JJ.*" postag_regexp="yes" chunk="I-NP-singular" min="0" /> <marker> <token chunk="E-NP-singular">number</token> </marker> </pattern> <disambig action="filter" postag="NN.*" /> </rule> <rule> <antipattern> <token postag="MD|PRP_S.*" postag_regexp="yes" /> <token postag="RB" min="0" /> <token>number</token> </antipattern> <pattern> <marker> <token chunk_re=".-NP.*">number</token> </marker> <token postag="CD" /> </pattern> <disambig action="filter" postag="NN.*" /> </rule> <rule> <pattern> <token regexp="yes">which|whose|what</token> <marker> <token chunk_re="E-NP.*">number</token> </marker> </pattern> <disambig action="filter" postag="NN.*" /> </rule> </rulegroup> <rule id="CO2_FREE" name="ignore spelling of 'CO₂-free'"> <pattern> <token regexp="yes" case_sensitive="yes">CO₂-([Ff]ree|[Bb]ased|[Nn]eutral|[Cc]ompensat(ing|ed)|[Dd]ependent|[Ii]ndependent)</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="IGNORE_SHARP_BRACKETS" name="Ignore spelling in sharp brackets"> <pattern> <token regexp="yes"><|\{</token> <token min="0" spacebefore="no">/</token> <marker> <token regexp="yes" spacebefore="no">.*[a-z].*</token> </marker> <token regexp="yes" spacebefore="no">>|\}</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rulegroup id="IGNORE_JSON" name="Ignore json"> <rule> <pattern> <token postag="SENT_START" /> <token>"</token> <marker> <token regexp="yes" spacebefore="no">[a-z_\-0-9]+</token> </marker> <token regexp="yes" spacebefore="no">"</token> <token spacebefore="no">:</token> <token skip="-1">"</token> <token>"</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule> <pattern> <token postag="SENT_START" /> <token>"</token> <marker> <token regexp="yes" spacebefore="no">[a-z_\-0-9]+</token> </marker> <token regexp="yes" spacebefore="no">"</token> <token spacebefore="no">:</token> <token regexp="yes">\d+</token> </pattern> <disambig action="ignore_spelling"/> </rule> </rulegroup> <rule id="IN_VITRO_NO_PREPOSITION" name="in vitro (in = no preposition)"> <pattern> <marker> <token>in</token> </marker> <token>vitro</token> </pattern> <disambig action="remove" postag="IN" /> </rule> <rule id="PRAIA_DA" name="ignore spelling of 'Praia da Luz'"> <pattern case_sensitive="yes"> <marker> <token>Praia</token> <token regexp="yes">d[oa]</token> <token regexp="yes">[A-Z].+</token> </marker> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="BY_NO_NOUN" name="'by' no noun"> <antipattern> <token>by</token> <token>the</token> <token>by</token> </antipattern> <antipattern> <token regexp="yes">good|the|an?|leg</token> <token>by</token> </antipattern> <antipattern> <token>by</token> <token regexp="yes">letter|workm[ea]n|weeks?</token> </antipattern> <antipattern> <token>by</token> <token min="0">,</token> <token>by</token> </antipattern> <pattern> <marker> <token>by</token> </marker> </pattern> <disambig action="remove" postag="NN" /> </rule> <rule id="LIKE_TO_VERB" name="'like' only verb"> <pattern> <token chunk_re="E-NP.*" postag="NNP?S" postag_regexp="yes" /> <marker> <token>like</token> </marker> <token>to</token> <token postag="VB" chunk_re=".-VP" /> </pattern> <disambig action="filter" postag="V.*"/> </rule> <rule id="WHOLE_NOTHER_IGNORE_SPELLING" name="ignore spelling of 'whole nother'"> <!-- https://www.merriam-webster.com/dictionary/whole%20nother --> <pattern> <token>whole</token> <marker> <token case_sensitive="yes" regexp="yes">[Nn]other|NOTHER</token> </marker> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="IGNORE_ES_SPELLING" name="ignore spelling of '(es)'"> <!-- e.g. "We should take a look at class(es)" --> <pattern> <token>(</token> <marker> <token case_sensitive="yes">es</token> </marker> <token>)</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="IGNORE_WHYS_AND_WHEREFORES" name="ignore 'whys and wherefores'"> <pattern> <marker> <token>whys</token> </marker> <token>and</token> <token>wherefores</token> </pattern> <disambig action="ignore_spelling"/> </rule> <rule id="OTHER_THAN_NO_ADJECTIVE" name="'other' no adjective in 'other than'"> <pattern> <marker> <token>other</token> </marker> <token>than</token> </pattern> <disambig action="remove" postag="JJ" /> </rule> <rule id="OTHER_THAN_ADVERB" name="'other' adverb in 'other than'"> <pattern> <marker> <token>other</token> </marker> <token>than</token> </pattern> <disambig action="add"><wd pos="RB"/></disambig> </rule> </rules>
© 2015 - 2025 Weber Informatics LLC | Privacy Policy