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
[email protected]
https://lists.sourceforge.net/lists/listinfo/languagetool-cvs