Revision: 6185 http://languagetool.svn.sourceforge.net/languagetool/?rev=6185&view=rev Author: dnaber Date: 2012-01-07 18:56:14 +0000 (Sat, 07 Jan 2012) Log Message: ----------- [de] show the lemma in the token's toString() method, similar as for other languages
Modified Paths: -------------- trunk/JLanguageTool/src/java/org/languagetool/AnalyzedToken.java trunk/JLanguageTool/src/java/org/languagetool/tagging/de/AnalyzedGermanToken.java trunk/JLanguageTool/src/test/org/languagetool/tagging/de/GermanTaggerTest.java Modified: trunk/JLanguageTool/src/java/org/languagetool/AnalyzedToken.java =================================================================== --- trunk/JLanguageTool/src/java/org/languagetool/AnalyzedToken.java 2012-01-07 14:54:10 UTC (rev 6184) +++ trunk/JLanguageTool/src/java/org/languagetool/AnalyzedToken.java 2012-01-07 18:56:14 UTC (rev 6185) @@ -132,7 +132,7 @@ @Override public String toString() { final StringBuilder sb = new StringBuilder(); - sb.append(tokenInflected); + sb.append(tokenInflected); sb.append('/'); sb.append(posTag); return sb.toString(); Modified: trunk/JLanguageTool/src/java/org/languagetool/tagging/de/AnalyzedGermanToken.java =================================================================== --- trunk/JLanguageTool/src/java/org/languagetool/tagging/de/AnalyzedGermanToken.java 2012-01-07 14:54:10 UTC (rev 6184) +++ trunk/JLanguageTool/src/java/org/languagetool/tagging/de/AnalyzedGermanToken.java 2012-01-07 18:56:14 UTC (rev 6185) @@ -131,7 +131,7 @@ @Override public String toString() { - return getPOSTag(); + return getLemma() + "/" + getPOSTag(); } } Modified: trunk/JLanguageTool/src/test/org/languagetool/tagging/de/GermanTaggerTest.java =================================================================== --- trunk/JLanguageTool/src/test/org/languagetool/tagging/de/GermanTaggerTest.java 2012-01-07 14:54:10 UTC (rev 6184) +++ trunk/JLanguageTool/src/test/org/languagetool/tagging/de/GermanTaggerTest.java 2012-01-07 18:56:14 UTC (rev 6185) @@ -36,16 +36,16 @@ public class GermanTaggerTest extends TestCase { public void testTagger() throws IOException { - GermanTagger tagger = new GermanTagger(); + final GermanTagger tagger = new GermanTagger(); AnalyzedGermanTokenReadings aToken = tagger.lookup("Haus"); - assertEquals("Haus[SUB:AKK:SIN:NEU, SUB:DAT:SIN:NEU, SUB:NOM:SIN:NEU]", aToken.toSortedString()); + assertEquals("Haus[Haus/SUB:AKK:SIN:NEU, Haus/SUB:DAT:SIN:NEU, Haus/SUB:NOM:SIN:NEU]", aToken.toSortedString()); assertEquals("Haus", aToken.getReadings().get(0).getLemma()); assertEquals("Haus", aToken.getReadings().get(1).getLemma()); assertEquals("Haus", aToken.getReadings().get(2).getLemma()); aToken = tagger.lookup("Hauses"); - assertEquals("Hauses[SUB:GEN:SIN:NEU]", aToken.toSortedString()); + assertEquals("Hauses[Haus/SUB:GEN:SIN:NEU]", aToken.toSortedString()); assertEquals("Haus", aToken.getReadings().get(0).getLemma()); aToken = tagger.lookup("hauses"); @@ -55,14 +55,15 @@ assertNull(aToken); aToken = tagger.lookup("großer"); - assertEquals("großer[ADJ:DAT:SIN:FEM:GRU:SOL, ADJ:GEN:PLU:FEM:GRU:SOL, " + - "ADJ:GEN:PLU:MAS:GRU:SOL, ADJ:GEN:PLU:NEU:GRU:SOL, " + - "ADJ:GEN:SIN:FEM:GRU:SOL, ADJ:NOM:SIN:MAS:GRU:IND, ADJ:NOM:SIN:MAS:GRU:SOL]", aToken.toSortedString()); + assertEquals("großer[groß/ADJ:DAT:SIN:FEM:GRU:SOL, groß/ADJ:GEN:PLU:FEM:GRU:SOL, groß/ADJ:GEN:PLU:MAS:GRU:SOL, " + + "groß/ADJ:GEN:PLU:NEU:GRU:SOL, groß/ADJ:GEN:SIN:FEM:GRU:SOL, groß/ADJ:NOM:SIN:MAS:GRU:IND, " + + "groß/ADJ:NOM:SIN:MAS:GRU:SOL]", aToken.toSortedString()); assertEquals("groß", aToken.getReadings().get(0).getLemma()); // from both german.dict and added.txt: aToken = tagger.lookup("Interessen"); - assertEquals("Interessen[SUB:AKK:PLU:NEU, SUB:DAT:PLU:NEU, SUB:GEN:PLU:NEU, SUB:NOM:PLU:NEU]", + assertEquals("Interessen[Interesse/SUB:AKK:PLU:NEU, Interesse/SUB:DAT:PLU:NEU, " + + "Interesse/SUB:GEN:PLU:NEU, Interesse/SUB:NOM:PLU:NEU]", aToken.toSortedString()); assertEquals("Interesse", aToken.getReadings().get(0).getLemma()); assertEquals("Interesse", aToken.getReadings().get(1).getLemma()); @@ -71,57 +72,57 @@ // words that are not in the dictionary but that are recognized thanks to noun splitting: aToken = tagger.lookup("Donaudampfschiff"); - assertEquals("Donaudampfschiff[SUB:AKK:SIN:NEU, SUB:DAT:SIN:NEU, SUB:NOM:SIN:NEU]", - aToken.toSortedString()); + assertEquals("Donaudampfschiff[Donaudampfschiff/SUB:AKK:SIN:NEU, Donaudampfschiff/SUB:DAT:SIN:NEU, " + + "Donaudampfschiff/SUB:NOM:SIN:NEU]", aToken.toSortedString()); assertEquals("Donaudampfschiff", aToken.getReadings().get(0).getLemma()); assertEquals("Donaudampfschiff", aToken.getReadings().get(1).getLemma()); aToken = tagger.lookup("Häuserkämpfe"); - assertEquals("Häuserkämpfe[SUB:AKK:PLU:MAS, SUB:GEN:PLU:MAS, SUB:NOM:PLU:MAS]", + assertEquals("Häuserkämpfe[Häuserkampf/SUB:AKK:PLU:MAS, Häuserkampf/SUB:GEN:PLU:MAS, Häuserkampf/SUB:NOM:PLU:MAS]", aToken.toSortedString()); assertEquals("Häuserkampf", aToken.getReadings().get(0).getLemma()); assertEquals("Häuserkampf", aToken.getReadings().get(1).getLemma()); assertEquals("Häuserkampf", aToken.getReadings().get(2).getLemma()); aToken = tagger.lookup("Häuserkampfes"); - assertEquals("Häuserkampfes[SUB:GEN:SIN:MAS]", aToken.toSortedString()); + assertEquals("Häuserkampfes[Häuserkampf/SUB:GEN:SIN:MAS]", aToken.toSortedString()); assertEquals("Häuserkampf", aToken.getReadings().get(0).getLemma()); aToken = tagger.lookup("Häuserkampfs"); - assertEquals("Häuserkampfs[SUB:GEN:SIN:MAS]", aToken.toSortedString()); + assertEquals("Häuserkampfs[Häuserkampf/SUB:GEN:SIN:MAS]", aToken.toSortedString()); assertEquals("Häuserkampf", aToken.getReadings().get(0).getLemma()); aToken = tagger.lookup("Lieblingsfarben"); - assertEquals("Lieblingsfarben[SUB:AKK:PLU:FEM, SUB:DAT:PLU:FEM, SUB:GEN:PLU:FEM, " + - "SUB:NOM:PLU:FEM]", aToken.toSortedString()); + assertEquals("Lieblingsfarben[Lieblingsfarbe/SUB:AKK:PLU:FEM, Lieblingsfarbe/SUB:DAT:PLU:FEM, " + + "Lieblingsfarbe/SUB:GEN:PLU:FEM, Lieblingsfarbe/SUB:NOM:PLU:FEM]", aToken.toSortedString()); assertEquals("Lieblingsfarbe", aToken.getReadings().get(0).getLemma()); aToken = tagger.lookup("Autolieblingsfarben"); - assertEquals("Autolieblingsfarben[SUB:AKK:PLU:FEM, SUB:DAT:PLU:FEM, SUB:GEN:PLU:FEM, " + - "SUB:NOM:PLU:FEM]", aToken.toSortedString()); + assertEquals("Autolieblingsfarben[Autolieblingsfarbe/SUB:AKK:PLU:FEM, Autolieblingsfarbe/SUB:DAT:PLU:FEM, " + + "Autolieblingsfarbe/SUB:GEN:PLU:FEM, Autolieblingsfarbe/SUB:NOM:PLU:FEM]", aToken.toSortedString()); assertEquals("Autolieblingsfarbe", aToken.getReadings().get(0).getLemma()); aToken = tagger.lookup("übrigbleibst"); - assertEquals("übrigbleibst[VER:2:SIN:PRÄ:NON:NEB]", aToken.toSortedString()); + assertEquals("übrigbleibst[übrigbleiben/VER:2:SIN:PRÄ:NON:NEB]", aToken.toSortedString()); assertEquals("übrigbleiben", aToken.getReadings().get(0).getLemma()); } // make sure we use the version of the POS data that was extended with post spelling reform data public void testExtendedTagger() throws IOException { - GermanTagger tagger = new GermanTagger(); + final GermanTagger tagger = new GermanTagger(); - assertEquals("Kuß[SUB:AKK:SIN:MAS, SUB:DAT:SIN:MAS, SUB:NOM:SIN:MAS]", tagger.lookup("Kuß").toSortedString()); - assertEquals("Kuss[SUB:AKK:SIN:MAS, SUB:DAT:SIN:MAS, SUB:NOM:SIN:MAS]", tagger.lookup("Kuss").toSortedString()); + assertEquals("Kuß[Kuß/SUB:AKK:SIN:MAS, Kuß/SUB:DAT:SIN:MAS, Kuß/SUB:NOM:SIN:MAS]", tagger.lookup("Kuß").toSortedString()); + assertEquals("Kuss[Kuss/SUB:AKK:SIN:MAS, Kuss/SUB:DAT:SIN:MAS, Kuss/SUB:NOM:SIN:MAS]", tagger.lookup("Kuss").toSortedString()); - assertEquals("Haß[SUB:AKK:SIN:MAS, SUB:DAT:SIN:MAS, SUB:NOM:SIN:MAS]", tagger.lookup("Haß").toSortedString()); - assertEquals("Hass[SUB:AKK:SIN:MAS, SUB:DAT:SIN:MAS, SUB:NOM:SIN:MAS]", tagger.lookup("Hass").toSortedString()); + assertEquals("Haß[Haß/SUB:AKK:SIN:MAS, Haß/SUB:DAT:SIN:MAS, Haß/SUB:NOM:SIN:MAS]", tagger.lookup("Haß").toSortedString()); + assertEquals("Hass[Hass/SUB:AKK:SIN:MAS, Hass/SUB:DAT:SIN:MAS, Hass/SUB:NOM:SIN:MAS]", tagger.lookup("Hass").toSortedString()); - assertEquals("muß[VER:MOD:1:SIN:PRÄ, VER:MOD:3:SIN:PRÄ]", tagger.lookup("muß").toSortedString()); - assertEquals("muss[VER:MOD:1:SIN:PRÄ, VER:MOD:3:SIN:PRÄ]", tagger.lookup("muss").toSortedString()); + assertEquals("muß[müssen/VER:MOD:1:SIN:PRÄ, müssen/VER:MOD:3:SIN:PRÄ]", tagger.lookup("muß").toSortedString()); + assertEquals("muss[müssen/VER:MOD:1:SIN:PRÄ, müssen/VER:MOD:3:SIN:PRÄ]", tagger.lookup("muss").toSortedString()); } public void testTaggerBaseforms() throws IOException { - GermanTagger tagger = new GermanTagger(); + final GermanTagger tagger = new GermanTagger(); List<AnalyzedGermanToken> readings = tagger.lookup("übrigbleibst").getGermanReadings(); assertEquals(1, readings.size()); @@ -141,17 +142,17 @@ } public void testTag() throws IOException { - GermanTagger tagger = new GermanTagger(); + final GermanTagger tagger = new GermanTagger(); final List<String> upperCaseWord = new ArrayList<String>(); upperCaseWord.add("Das"); List<AnalyzedTokenReadings> readings = tagger.tag(upperCaseWord); - assertEquals("[Das[ART:DEF:AKK:SIN:NEU, ART:DEF:NOM:SIN:NEU, PRO:DEM:AKK:SIN:NEU, PRO:DEM:NOM:SIN:NEU, " + - "PRO:PER:AKK:SIN:NEU, PRO:PER:NOM:SIN:NEU]]", readings.toString()); + assertEquals("[Das[der/ART:DEF:AKK:SIN:NEU, der/ART:DEF:NOM:SIN:NEU, der/PRO:DEM:AKK:SIN:NEU, " + + "der/PRO:DEM:NOM:SIN:NEU, der/PRO:PER:AKK:SIN:NEU, der/PRO:PER:NOM:SIN:NEU]]", readings.toString()); readings = tagger.tag(upperCaseWord, false); - assertEquals("[Das[null]]", readings.toString()); + assertEquals("[Das[null/null]]", readings.toString()); } public void testDictionary() throws IOException { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex infrastructure or vast IT resources to deliver seamless, secure access to virtual desktops. With this all-in-one solution, easily deploy virtual desktops for less than the cost of PCs and save 60% on VDI infrastructure costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox _______________________________________________ Languagetool-cvs mailing list Languagetool-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/languagetool-cvs