W dniu 2014-04-08 10:47, Mike Unwalla pisze:
> Thanks Marcin. The rule works fine in the grammar file.
>
> Can I use antipatterns in the disambiguation file?

No, as I was not sure if they are needed, and implementing them is not 
trivial, as immunization does not stop disambiguation rules from running 
(antipatterns immunize locally so this would actually need a completely 
new implementation).

> With the rule that
> follows, testrules gives this error:
> Invalid content was found starting with element 'antipattern'. One of
> '{pattern}' is expected.
>
>      <rule id="disambiguation-antipattern" name="disambiguation-antipattern">
>        <antipattern>
>        <marker>
>          <token skip="-1">happy</token>
>          <token>cat</token>
>        </marker>
>        </antipattern>
>        <pattern>
>          <token>cat</token>
>        </pattern>
>        <disambig action="add"><wd pos="MYPOS"/></disambig>
>        <example type="untouched">The <marker>happy cat</marker> sat on the
> mat.</example>
>        <example type="untouched">The <marker>happy and fat cat</marker> sat
> on the mat.</example>
>        <example type="ambiguous" inputform="cat[cat/NN,cat/VB,cat/VBP]"
> outputform="cat[cat/MYPOS,cat/NN,cat/VB,cat/VBP]">The <marker>cat</marker>
> sat on the mat.</example>
>      </rule>
>
>> Maybe we should change the default behavior (implying only a marker around
> "happy") as it may be quite confusing. I simply solved the problem by always
> using markers.
>
> If changing the behaviour is easy, then yes. Alternatively, in the
> documentation about antipatterns, explain that markers are necessary.

Well, I'm not sure if this is easy. I'll look at the code again.

> (And
> also, if antipatterns can be in only the grammar file, say so.) To know what
> cannot be done is almost as important as to know what can be done.

OK, I will add the info.

Regards,
Marcin


> Regards,
>
> Mike Unwalla
> Contact: www.techscribe.co.uk/techw/contact.htm
>
>
> -----Original Message-----
> From: Marcin Milkowski [mailto:list-addr...@wp.pl]
> Sent: 07 April 2014 20:18
> To: languagetool-devel@lists.sourceforge.net
> Subject: Re: Antipatterns
>
> W dniu 2014-04-07 19:23, Mike Unwalla pisze:
>> Hello All,
>>
>> When I run testrules against this rule in LT 2.5, testrules does not give
> an
>> error message:
>>
>>    <rule id="antipattern" name="antipattern">
>>         <antipattern>
>>           <token skip="-1">happy</token>
>>           <token>cat</token>
>>         </antipattern>
>>         <pattern>
>>           <token>cat</token>
>>         </pattern>
>>         <message>The word 'happy' does not come anywhere before the word
>> 'cat'.</message>
>>         <short>antipattern</short>
>>         <example type="correct">The <marker>happy cat</marker> sat on the
>> mat.</example>
>> <!--      <example type="correct">The <marker>happy and fat cat</marker>
> sat
>> on the mat.</example>-->
>>         <example type="incorrect">The lazy <marker>cat</marker> sat on the
>> mat.</example>
>>         <example type="incorrect">The <marker>cat</marker> is
> happy.</example>
>>       </rule>
>>
>> But, when I remove the comments from the second 'correct' example,
> testrules
>> gives an error message:
>> ... Did not expect error in: The happy and fat cat sat on the mat. (Rule:
>> antipattern[1]:[cat]:antipattern)
>>
>> http://wiki.languagetool.org/development-overview#toc12 states "You can
> use
>> all subelements of 'pattern' in 'antipattern' but 'phrase' and 'or'."
>>
>> 1. Is the antipattern correct [LT has a bug] or is the documentation
>> incorrect?
>> 2. If <token skip="-1"> is not correct, shouldn't testrules give an error?
>
> Well, <antipattern> is simply a disambiguation immunizing rule, and
> disambiguation rules by default take effect only on the first token if
> no markers are given. Use explicit markers, and you'll get what you want:
>
>       <antipattern>
>                   <marker>
>                   <token skip="-1">happy</token>
>                   <token>cat</token>
>                   </marker>
>           </antipattern>
>
> Maybe we should change the default behavior (implying only a marker
> around "happy") as it may be quite confusing. I simply solved the
> problem by always using markers.
>
> Regards,
> Marcin
>
> ----------------------------------------------------------------------------
> --
> Put Bad Developers to Shame
> Dominate Development with Jenkins Continuous Integration
> Continuously Automate Build, Test & Deployment
> Start a new project now. Try Jenkins in the cloud.
> http://p.sf.net/sfu/13600_Cloudbees
> _______________________________________________
> Languagetool-devel mailing list
> Languagetool-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/languagetool-devel
>
>
> ------------------------------------------------------------------------------
> Put Bad Developers to Shame
> Dominate Development with Jenkins Continuous Integration
> Continuously Automate Build, Test & Deployment
> Start a new project now. Try Jenkins in the cloud.
> http://p.sf.net/sfu/13600_Cloudbees
> _______________________________________________
> Languagetool-devel mailing list
> Languagetool-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/languagetool-devel
>
>


------------------------------------------------------------------------------
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test & Deployment 
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees
_______________________________________________
Languagetool-devel mailing list
Languagetool-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/languagetool-devel

Reply via email to