Revision: 7445
          
http://languagetool.svn.sourceforge.net/languagetool/?rev=7445&view=rev
Author:   gulp21-1
Date:     2012-06-21 17:31:13 +0000 (Thu, 21 Jun 2012)
Log Message:
-----------
fixed false alarms caused by WrongWordInContextRule

Modified Paths:
--------------
    
trunk/JLanguageTool/src/java/org/languagetool/rules/WrongWordInContextRule.java
    trunk/JLanguageTool/src/rules/de/wrongWordInContext.txt
    
trunk/JLanguageTool/src/test/org/languagetool/rules/de/GermanWrongWordInContextRuleTest.java

Modified: 
trunk/JLanguageTool/src/java/org/languagetool/rules/WrongWordInContextRule.java
===================================================================
--- 
trunk/JLanguageTool/src/java/org/languagetool/rules/WrongWordInContextRule.java 
    2012-06-21 16:55:02 UTC (rev 7444)
+++ 
trunk/JLanguageTool/src/java/org/languagetool/rules/WrongWordInContextRule.java 
    2012-06-21 17:31:13 UTC (rev 7445)
@@ -213,12 +213,21 @@
       contexts = new Pattern[2];
     }
     
+    private String addBoundaries(String str) {
+      String ignore_case="";
+      if (str.startsWith("(?i)")) {
+        str = str.substring(4);
+        ignore_case = "(?i)";
+      }
+      return ignore_case + "\\b(" + str + ")\\b";
+    }
+    
     public void setWord(int i, String word) {
-      words[i] = Pattern.compile(word);
+      words[i] = Pattern.compile(addBoundaries(word));
     }
     
     public void setContext(int i, String context) {
-      contexts[i] = Pattern.compile(context);
+      contexts[i] = Pattern.compile(addBoundaries(context));
     }
     
   }

Modified: trunk/JLanguageTool/src/rules/de/wrongWordInContext.txt
===================================================================
--- trunk/JLanguageTool/src/rules/de/wrongWordInContext.txt     2012-06-21 
16:55:02 UTC (rev 7444)
+++ trunk/JLanguageTool/src/rules/de/wrongWordInContext.txt     2012-06-21 
17:31:13 UTC (rev 7445)
@@ -3,8 +3,8 @@
 # Lid/Lied
 Lid(e(rn?)?)?  Lied(e(rn?)?)?  id      ied     
Auge.*|entzünde.*|.*röt(e|lich).*|.*zuck.*|.*geschlossen.*|gesenkt.*|zusammengekniffen.*|zusammenkneif.+
        
Melodie.*|Note.*|sing.*|sang.*|gesungen.*|komponi.+|Musik|Strophen?|Balladen?|Gesang.*|Gesängen?|Arien?|Opern?
  Augenlid        gesungenes Musikstück
 # malen/mahlen
-(?i)(aus|ge)?mal(ene?n?|t?)    (?i)(aus|ge)?mahl(ene?n?|t?)    mal     mahl    
(?i).*Farbe|.*Bild|.*Porträt|Kunst.*|Malern?    
Zahn|Mühle|Korn|Weizen|Roggen|Hafer|Dinkel|Getreide|.*Mehl|Müller       mit 
Farbe ein Bild erstellen    in einer Mühle zerkleinern
+(?i)(aus|ge)?mal(ene?n?|s?t?|t?en?)    (?i)(aus|ge)?mahl(ene?n?|s?t?|t?en?)    
mal     mahl    (?i).*Farbe|.*Bild(er)?|.*Porträts?|Kunst.*|Malern?     
Zahn|Mühle|Korn|Weizen|Roggen|Hafer|Dinkel|Getreide|.*Mehl|Müller       mit 
Farbe ein Bild erstellen    in einer Mühle zerkleinern
 # Mine/Miene
-Minen? Mienen? in      ien     
(?i)explodier.*|unterirdisch.*|Kugelschreiber|.*stift|Explosion.*|.*stürzen|.*spreng.*|.*gestürzt
       
verzieh(en|t)|verzogen|auf(zu)?setzen|setze.*|setzt|gekränkt.*|unbewegt.*       
unterirdischer Gang, Sprengkörper, Kugelschreibermine   Gesichtsausdruck
+Minen? Mienen? in      ien     
(?i)explodier.*|unterirdisch.*|Kugelschreiber.*|.*stift|Explosion.*|.*stürzen|.*spreng.*|.*gestürzt
     
verzieh(en|s?t)|verzog(en)?|auf(zu)?setzen|setze.*|setzt|gekränkt.*|unbewegt.*  
unterirdischer Gang, Sprengkörper, Kugelschreibermine   Gesichtsausdruck
 # Saite/Seite
-Saiten?        Seiten? ait     eit     
(?i)aufzieh.*|aufgezogen.*|.*Bass(es)?|.*Bratsche|.*Cellos?|.*Harfen?|.*Geigen?|.*Gitarren?|.*Violas?|.*Violinen?|Klavier
       
.*Buch|.*Lektüre|umblätter\w\w?|umgeblättert|umzublättern|(ge)?lesen|las(en)?|geschrieben|schreiben?
    Saite eines Musikinstruments [auch im übertragenen Sinn]        Buchseite
+Saiten?        Seiten? ait     eit     
(?i)aufzieh.*|aufgezogen.*|.*Bass(es)?|.*Bratsche|.*Cellos?|.*Harfen?|.*Geigen?|.*Gitarren?|.*Violas?|.*Violinen?|Klavier
       
.*Buch(e?s)?|.*Lektüre|umblätter\w\w?|umgeblättert|umzublättern|(ge)?lesen|las(en)?|geschrieben|schreiben?
      Saite eines Musikinstruments [auch im übertragenen Sinn]        Buchseite

Modified: 
trunk/JLanguageTool/src/test/org/languagetool/rules/de/GermanWrongWordInContextRuleTest.java
===================================================================
--- 
trunk/JLanguageTool/src/test/org/languagetool/rules/de/GermanWrongWordInContextRuleTest.java
        2012-06-21 16:55:02 UTC (rev 7444)
+++ 
trunk/JLanguageTool/src/test/org/languagetool/rules/de/GermanWrongWordInContextRuleTest.java
        2012-06-21 17:31:13 UTC (rev 7445)
@@ -63,6 +63,8 @@
     assertEquals(0, rule.match(langTool.getAnalyzedSentence("Die Explosion der 
Mine.")).length);
     assertEquals(0, rule.match(langTool.getAnalyzedSentence("Die Mine ist 
explodiert.")).length);
     assertEquals(0, rule.match(langTool.getAnalyzedSentence("Er versucht, 
keine Miene zu verziehen.")).length);
+    assertEquals(0, rule.match(langTool.getAnalyzedSentence("Sie sollen weiter 
Minen eingesetzt haben.")).length);
+    assertEquals(0, rule.match(langTool.getAnalyzedSentence("Er verzieht sich 
nach Bekanntgabe der Mineralölsteuerverordnung.")).length);
     assertEquals(1, rule.match(langTool.getAnalyzedSentence("Er verzieht keine 
Mine.")).length);
     assertEquals(1, rule.match(langTool.getAnalyzedSentence("Mit unbewegter 
Mine.")).length);
     assertEquals(1, rule.match(langTool.getAnalyzedSentence("Er setzt eine 
kalte Mine auf.")).length);

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Languagetool-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/languagetool-cvs

Reply via email to