diff --git a/opennlp-api/src/main/java/opennlp/tools/stemmer/Stemmer.java b/opennlp-api/src/main/java/opennlp/tools/stemmer/Stemmer.java index 750890eb65..fb6bdcffb6 100644 --- a/opennlp-api/src/main/java/opennlp/tools/stemmer/Stemmer.java +++ b/opennlp-api/src/main/java/opennlp/tools/stemmer/Stemmer.java @@ -17,10 +17,33 @@ package opennlp.tools.stemmer; +import java.util.List; + /** - * The stemmer is reducing a word to its stem. + * Reduces a word to its root form. + * + *

Thread safety is implementation specific.

*/ public interface Stemmer { + /** + * Stems {@code word}. + * + * @param word The input word. Must not be {@code null}. + * @return The stemmed form. + * @throws IllegalArgumentException Thrown if {@code word} is {@code null}. + */ CharSequence stem(CharSequence word); + + /** + * {@return all stem forms for {@code word}} Defaults to a single-element list from + * {@link #stem(CharSequence)}. Dictionary-based engines may override this to return + * multiple roots; delegating wrappers must forward it to preserve the full list. + * + * @param word The input word. Must not be {@code null}. + * @throws IllegalArgumentException Thrown if {@code word} is {@code null}. + */ + default List stemAll(CharSequence word) { + return List.of(stem(word)); + } } diff --git a/opennlp-api/src/main/java/opennlp/tools/stemmer/StemmerFactory.java b/opennlp-api/src/main/java/opennlp/tools/stemmer/StemmerFactory.java new file mode 100644 index 0000000000..9e82d7fcca --- /dev/null +++ b/opennlp-api/src/main/java/opennlp/tools/stemmer/StemmerFactory.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package opennlp.tools.stemmer; + +/** + * A factory for {@link Stemmer} instances: it captures a stemmer configuration (algorithm, + * repeat count, dictionary path, ...) once and mints configured stemmers on demand. Unlike the + * {@code BaseToolFactory}-based tool factories, it is a plain supplier and takes no part in + * model loading. + */ +public interface StemmerFactory { + + /** + * {@return a new {@link Stemmer}} + */ + Stemmer newStemmer(); +} diff --git a/opennlp-core/opennlp-runtime/BENCHMARKS.md b/opennlp-core/opennlp-runtime/BENCHMARKS.md index 68c3ac185e..e3c9ac047b 100644 --- a/opennlp-core/opennlp-runtime/BENCHMARKS.md +++ b/opennlp-core/opennlp-runtime/BENCHMARKS.md @@ -13,6 +13,8 @@ variance reporting. | `TokenizerMEBenchmark` | TokenizerME | 3 approaches | | `SentenceDetectorMEBenchmark` | SentenceDetectorME | 3 approaches | | `POSTaggerMEBenchmark` | POSTaggerME | 3 approaches x 2 cache configs | +| `SnowballStemmerBenchmark` | SnowballStemmer | 3 approaches (incl. pre-patch baseline) | +| `CachingStemmerBenchmark` | CachingStemmer | cached vs uncached x 2 workloads | ### Approaches measured @@ -30,17 +32,19 @@ mvn test-compile -Pjmh \ -pl opennlp-core/opennlp-runtime -am \ -Dforbiddenapis.skip=true -Dcheckstyle.skip=true +# Materialize the test classpath once (JMH's forked JVMs inherit +# java.class.path, which mvn exec:java does not populate — running +# through exec:java fails with ClassNotFoundException: ForkedMain) +mvn dependency:build-classpath -pl opennlp-core/opennlp-runtime \ + -Pjmh -DincludeScope=test -Dmdep.outputFile=/tmp/cp.txt + +CP="opennlp-core/opennlp-runtime/target/classes:opennlp-core/opennlp-runtime/target/test-classes:$(cat /tmp/cp.txt)" + # Run all ME benchmarks -mvn exec:java -pl opennlp-core/opennlp-runtime \ - -Pjmh -Dexec.classpathScope=test \ - -Dexec.mainClass=org.openjdk.jmh.Main \ - -Dexec.args="opennlp.tools.*.ME*" +java -cp "$CP" org.openjdk.jmh.Main 'opennlp.tools.*.ME*' # Run POSTagger only (includes cacheSize param) -mvn exec:java -pl opennlp-core/opennlp-runtime \ - -Pjmh -Dexec.classpathScope=test \ - -Dexec.mainClass=org.openjdk.jmh.Main \ - -Dexec.args="POSTaggerMEBenchmark" +java -cp "$CP" org.openjdk.jmh.Main POSTaggerMEBenchmark ``` ### Regression testing (stock vs patched) @@ -56,6 +60,60 @@ builds. The throughput numbers should be within JMH's error margin. # ... build and run as above, compare ``` +### SnowballStemmer results (Linux, JDK 25, 32 cores, 2 forks x 10 iterations) + +`SnowballStemmerBenchmark` compares the thread-safe `SnowballStemmer` +(engine behind `OwnerOrPerThreadState`) against a replica of the +pre-patch implementation (engine in a plain field, not shareable). +One op = stemming 16 English words. + +| Strategy | 1 thread | 8 threads | 32 threads | +|----------|---------:|----------:|-----------:| +| `sharedInstance` (patched, one shared stemmer) | 560k ± 3k ops/s | 1.55M ± 0.17M | 3.16M ± 0.34M | +| `instancePerThread` (patched, stemmer per thread) | 509k ± 26k ops/s | 1.60M ± 0.17M | 2.94M ± 0.11M | +| `legacyInstancePerThread` (pre-patch, stemmer per thread) | 544k ± 19k ops/s | 1.46M ± 0.16M | 4.77M ± 0.39M | + +At 1 and 8 threads the three strategies are within (or nearly within) +each other's error bars: the `OwnerOrPerThreadState` lookup is not +measurable against the cost of stemming itself. Only at full +saturation (32 threads, hyperthreaded) does the legacy plain-field +baseline pull ahead (~1.5x): with every hardware thread busy, the +per-call owner check plus `ThreadLocal` lookup is no longer hidden by +memory-level parallelism. Real pipelines stem as one stage among many, +so the saturated-microbenchmark gap is an upper bound, and the legacy +strategy was not shareable across threads in the first place. + +### CachingStemmer results (same environment) + +`CachingStemmerBenchmark` compares a `CachingStemmer` (per-thread LRU, +default 1024 entries, wrapping the English Snowball stemmer) against +the uncached shared stemmer. One op = 16 tokens from a 64k-token +stream. The `zipf` workload samples a 512-word vocabulary with 1/rank +weights (real-text repetition; the cache holds the whole vocabulary); +`diverse` samples an 8192-word vocabulary uniformly (8x cache +capacity: mostly misses plus constant eviction). + +| Workload | Strategy | 8 threads | 32 threads | +|----------|----------|----------:|-----------:| +| `zipf` | `cachedShared` | 48.5M ± 0.7M ops/s | 95.4M ± 0.9M | +| `zipf` | `uncachedShared` | 1.43M ± 0.13M | 2.75M ± 0.34M | +| `diverse` | `cachedShared` | 1.81M ± 0.51M | 3.45M ± 0.18M | +| `diverse` | `uncachedShared` | 1.08M ± 0.09M | 3.13M ± 0.12M | + +On the Zipf workload the cache is a ~34x throughput multiplier (raw +stemming becomes a hash lookup for the dominant vocabulary). On the +cache-hostile workload it still does not lose: the ~12% residual hit +rate pays for the eviction overhead. The cache more than recovers the +`OwnerOrPerThreadState` lookup cost observed in +`SnowballStemmerBenchmark` at full saturation. + +The cache is keyed to the physical thread, and these runs use a fixed +platform-thread pool whose threads live for the whole measurement. On +a virtual-thread-per-task executor every task starts with an empty +cache, so the multiplier only applies to repeats within one task; +workloads that stem a handful of words per task should expect +uncached-level throughput there. + ### POSTagger cache impact The `POSTaggerMEBenchmark` uses `@Param({"0", "3"})` for cache diff --git a/opennlp-core/opennlp-runtime/src/jmh/java/opennlp/tools/stemmer/CachingStemmerBenchmark.java b/opennlp-core/opennlp-runtime/src/jmh/java/opennlp/tools/stemmer/CachingStemmerBenchmark.java new file mode 100644 index 0000000000..13881b1c06 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/jmh/java/opennlp/tools/stemmer/CachingStemmerBenchmark.java @@ -0,0 +1,199 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package opennlp.tools.stemmer; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; +import java.util.concurrent.TimeUnit; + +import org.openjdk.jmh.annotations.Benchmark; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Level; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.OutputTimeUnit; +import org.openjdk.jmh.annotations.Param; +import org.openjdk.jmh.annotations.Scope; +import org.openjdk.jmh.annotations.Setup; +import org.openjdk.jmh.annotations.State; +import org.openjdk.jmh.annotations.Threads; +import org.openjdk.jmh.annotations.Warmup; +import org.openjdk.jmh.infra.Blackhole; +import org.openjdk.jmh.runner.Runner; +import org.openjdk.jmh.runner.options.Options; +import org.openjdk.jmh.runner.options.OptionsBuilder; + +import opennlp.tools.stemmer.snowball.SnowballStemmer; +import opennlp.tools.stemmer.snowball.SnowballStemmerFactory; + +/** + * JMH benchmark for {@link CachingStemmer} against an uncached shared {@link SnowballStemmer}. + * + *

Two workloads drive both strategies:

+ * + * + *

One op stems 16 consecutive tokens from the stream; each benchmark thread walks the stream + * from its own cursor.

+ */ +@BenchmarkMode(Mode.Throughput) +@OutputTimeUnit(TimeUnit.SECONDS) +@Warmup(iterations = 5, time = 2) +@Measurement(iterations = 10, time = 2) +@Fork(2) +public class CachingStemmerBenchmark { + + private static final int STREAM_LENGTH = 65536; + private static final int WORDS_PER_OP = 16; + + private static final String[] ROOTS = { + "run", "walk", "talk", "develop", "nation", "connect", "form", "create", + "act", "direct", "govern", "manage", "operate", "organize", "present", "relate", + "report", "state", "structure", "test", "train", "transform", "translate", "value", + "view", "wonder", "yield", "zone", "note", "mark", "place", "point" + }; + private static final String[] PREFIXES = { + "", "re", "un", "over", "under", "out", "pre", "post", + "non", "anti", "de", "dis", "mis", "sub", "super", "inter" + }; + private static final String[] SUFFIXES = { + "", "s", "ed", "ing", "er", "ers", "ation", "ations", + "ly", "ness", "ment", "ments", "ize", "ized", "izing", "al" + }; + + @State(Scope.Benchmark) + public static class WorkloadState { + + @Param({"zipf", "diverse"}) + String workload; + + String[] stream; + + @Setup(Level.Trial) + public void build() { + Random random = new Random(42); + List vocabulary = new ArrayList<>(); + if ("zipf".equals(workload)) { + // 32 roots x 16 suffixes = 512 unique words, sampled with 1/rank weights. + for (String root : ROOTS) { + for (String suffix : SUFFIXES) { + vocabulary.add(root + suffix); + } + } + double[] cumulative = new double[vocabulary.size()]; + double sum = 0; + for (int rank = 0; rank < vocabulary.size(); rank++) { + sum += 1.0 / (rank + 1); + cumulative[rank] = sum; + } + stream = new String[STREAM_LENGTH]; + for (int i = 0; i < STREAM_LENGTH; i++) { + double r = random.nextDouble() * sum; + int idx = 0; + while (cumulative[idx] < r) { + idx++; + } + stream[i] = vocabulary.get(idx); + } + } else { + // 16 prefixes x 32 roots x 16 suffixes = 8192 unique words, sampled uniformly. + for (String prefix : PREFIXES) { + for (String root : ROOTS) { + for (String suffix : SUFFIXES) { + vocabulary.add(prefix + root + suffix); + } + } + } + stream = new String[STREAM_LENGTH]; + for (int i = 0; i < STREAM_LENGTH; i++) { + stream[i] = vocabulary.get(random.nextInt(vocabulary.size())); + } + } + } + } + + @State(Scope.Benchmark) + public static class UncachedState { + Stemmer stemmer; + + @Setup(Level.Trial) + public void create() { + stemmer = new SnowballStemmer(SnowballStemmer.ALGORITHM.ENGLISH); + } + } + + @State(Scope.Benchmark) + public static class CachedState { + Stemmer stemmer; + + @Setup(Level.Trial) + public void create() { + stemmer = new CachingStemmer( + new SnowballStemmerFactory(SnowballStemmer.ALGORITHM.ENGLISH)); + } + } + + @State(Scope.Thread) + public static class Cursor { + int position; + + @Setup(Level.Trial) + public void randomize() { + position = new Random().nextInt(STREAM_LENGTH); + } + } + + @Benchmark + @Threads(Threads.MAX) + public void uncachedShared(WorkloadState w, UncachedState st, Cursor cursor, Blackhole bh) { + for (int i = 0; i < WORDS_PER_OP; i++) { + bh.consume(st.stemmer.stem(w.stream[cursor.position++ & (STREAM_LENGTH - 1)])); + } + } + + @Benchmark + @Threads(Threads.MAX) + public void cachedShared(WorkloadState w, CachedState st, Cursor cursor, Blackhole bh) { + for (int i = 0; i < WORDS_PER_OP; i++) { + bh.consume(st.stemmer.stem(w.stream[cursor.position++ & (STREAM_LENGTH - 1)])); + } + } + + /** + * Quick local iteration only: {@code forks(0)} disables JVM fork isolation + * (unlike {@code mvn} with the {@code jmh} profile). + * Use the Maven-invoked configuration for publishable numbers. + */ + public static void main(String[] args) throws Exception { + Options opt = new OptionsBuilder() + .include(CachingStemmerBenchmark.class.getSimpleName()) + .forks(0) + .warmupIterations(3) + .measurementIterations(5) + .build(); + new Runner(opt).run(); + } +} diff --git a/opennlp-core/opennlp-runtime/src/jmh/java/opennlp/tools/stemmer/snowball/SnowballStemmerBenchmark.java b/opennlp-core/opennlp-runtime/src/jmh/java/opennlp/tools/stemmer/snowball/SnowballStemmerBenchmark.java new file mode 100644 index 0000000000..e4821aa8c1 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/jmh/java/opennlp/tools/stemmer/snowball/SnowballStemmerBenchmark.java @@ -0,0 +1,153 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package opennlp.tools.stemmer.snowball; + +import java.util.concurrent.TimeUnit; + +import org.openjdk.jmh.annotations.Benchmark; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Level; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.OutputTimeUnit; +import org.openjdk.jmh.annotations.Scope; +import org.openjdk.jmh.annotations.Setup; +import org.openjdk.jmh.annotations.State; +import org.openjdk.jmh.annotations.Threads; +import org.openjdk.jmh.annotations.Warmup; +import org.openjdk.jmh.infra.Blackhole; +import org.openjdk.jmh.runner.Runner; +import org.openjdk.jmh.runner.options.Options; +import org.openjdk.jmh.runner.options.OptionsBuilder; + +import opennlp.tools.stemmer.Stemmer; + +/** + * JMH benchmark for the thread-safe {@link SnowballStemmer} versus the pre-patch implementation + * that held its generated engine in a plain field. + * + *

Three strategies are measured, all at {@link Threads#MAX}:

+ * + */ +@BenchmarkMode(Mode.Throughput) +@OutputTimeUnit(TimeUnit.SECONDS) +@Warmup(iterations = 5, time = 2) +@Measurement(iterations = 10, time = 2) +@Fork(2) +public class SnowballStemmerBenchmark { + + private static final String[] INPUT = { + "running", "accompanying", "malediction", "softeners", "declining", + "conspiracies", "monotonically", "annotations", "internationalization", + "denormalization", "photographers", "responsibilities", "acknowledgement", + "this", "cat", "querying" + }; + + /** + * Replica of the pre-patch {@code SnowballStemmer}: the generated engine lives in a plain + * field, so an instance must not be shared across threads. + */ + static final class LegacySnowballStemmer implements Stemmer { + + private final AbstractSnowballStemmer stemmer = new englishStemmer(); + + @Override + public CharSequence stem(CharSequence word) { + stemmer.setCurrent(word.toString()); + stemmer.stem(); + return stemmer.getCurrent(); + } + } + + @State(Scope.Benchmark) + public static class SharedState { + Stemmer stemmer; + + @Setup(Level.Trial) + public void create() { + stemmer = new SnowballStemmer(SnowballStemmer.ALGORITHM.ENGLISH); + } + } + + @State(Scope.Thread) + public static class PerThreadState { + Stemmer stemmer; + + @Setup(Level.Trial) + public void create() { + stemmer = new SnowballStemmer(SnowballStemmer.ALGORITHM.ENGLISH); + } + } + + @State(Scope.Thread) + public static class LegacyPerThreadState { + Stemmer stemmer; + + @Setup(Level.Trial) + public void create() { + stemmer = new LegacySnowballStemmer(); + } + } + + @Benchmark + @Threads(Threads.MAX) + public void sharedInstance(SharedState st, Blackhole bh) { + for (String s : INPUT) { + bh.consume(st.stemmer.stem(s)); + } + } + + @Benchmark + @Threads(Threads.MAX) + public void instancePerThread(PerThreadState pt, Blackhole bh) { + for (String s : INPUT) { + bh.consume(pt.stemmer.stem(s)); + } + } + + @Benchmark + @Threads(Threads.MAX) + public void legacyInstancePerThread(LegacyPerThreadState pt, Blackhole bh) { + for (String s : INPUT) { + bh.consume(pt.stemmer.stem(s)); + } + } + + /** + * Quick local iteration only: {@code forks(0)} disables JVM fork isolation + * (unlike {@code mvn} with the {@code jmh} profile). + * Use the Maven-invoked configuration for publishable numbers. + */ + public static void main(String[] args) throws Exception { + Options opt = new OptionsBuilder() + .include(SnowballStemmerBenchmark.class.getSimpleName()) + .forks(0) + .warmupIterations(3) + .measurementIterations(5) + .build(); + new Runner(opt).run(); + } +} diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/CachingStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/CachingStemmer.java new file mode 100644 index 0000000000..5bff3d5f85 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/CachingStemmer.java @@ -0,0 +1,142 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package opennlp.tools.stemmer; + +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import opennlp.tools.commons.ThreadSafe; +import opennlp.tools.util.OwnerOrPerThreadState; + +/** + * A {@link Stemmer} that memoizes word-to-stem mappings in a bounded per-thread LRU cache, + * turning repeated words into a hash lookup instead of a full stemming pass. + * + *

Each thread gets its own delegate stemmer (minted from the supplied {@link StemmerFactory}) + * and its own cache, so instances are safe to share regardless of whether the factory's stemmers + * are. Memory is bounded per thread. The memoization pays off on threads reused across many words, + * such as a fixed platform-thread pool. Long-running environments such as application containers + * should call {@link #clearThreadLocalState()} when a pooled thread no longer uses this stemmer.

+ * + *

{@link #stemAll(CharSequence)} is forwarded to the delegate uncached.

+ */ +@ThreadSafe +public final class CachingStemmer implements Stemmer { + + /** + * Covers the high-frequency vocabulary of most corpora while keeping the per-thread footprint + * small. + */ + public static final int DEFAULT_CAPACITY = 1024; + + private final OwnerOrPerThreadState state; + + /** + * Creates a caching stemmer with the {@linkplain #DEFAULT_CAPACITY default capacity}. + * + * @param factory The factory that mints one delegate per thread. Must not be {@code null}. + * @throws IllegalArgumentException if {@code factory} is {@code null}. + */ + public CachingStemmer(StemmerFactory factory) { + this(factory, DEFAULT_CAPACITY); + } + + /** + * Creates a caching stemmer. + * + * @param factory The factory that mints one delegate per thread. Must not be {@code null}. + * @param capacity The maximum number of word-to-stem entries kept per thread; must be positive. + * @throws IllegalArgumentException if {@code factory} is {@code null} or {@code capacity} is + * not positive. + */ + public CachingStemmer(StemmerFactory factory, int capacity) { + if (factory == null) { + throw new IllegalArgumentException("factory must not be null"); + } + if (capacity <= 0) { + throw new IllegalArgumentException("capacity must be positive, got " + capacity); + } + this.state = new OwnerOrPerThreadState<>( + () -> new ThreadState(factory.newStemmer(), capacity), + threadState -> threadState.cache.clear()); + } + + /** {@inheritDoc} */ + @Override + public CharSequence stem(CharSequence word) { + if (word == null) { + throw new IllegalArgumentException("word must not be null"); + } + final ThreadState ts = state.get(); + final String key = word.toString(); + final String cached = ts.cache.get(key); + if (cached != null) { + return cached; + } + // Detach from any buffer the delegate reuses, and deliberately do NOT intern: the JVM-wide + // interner holds strong references forever, defeating the bounded-memory guarantee. + final String stemmed = ts.delegate.stem(key).toString(); + ts.cache.put(key, stemmed); + return stemmed; + } + + /** {@inheritDoc} */ + @Override + public List stemAll(CharSequence word) { + return state.get().delegate.stemAll(word); + } + + /** + * Removes this thread's delegate and cache to prevent classloader leaks in container + * environments. Call when the thread is returned to a pool or the stemmer is no longer needed, + * mirroring {@code clearThreadLocalState()} on the thread-safe {@code *ME} components. + */ + public void clearThreadLocalState() { + state.clearForCurrentThread(); + } + + /** + * Empties the calling thread's cache while keeping its delegate, forcing every subsequent + * word through a fresh stemming pass. Only the calling thread's cache is affected. A thread + * that has not stemmed yet has its state initialized by this call, so invoke it on the + * thread whose cache should be emptied, not from an unrelated maintenance thread. + */ + public void clearCache() { + state.get().cache.clear(); + } + + private static final class ThreadState { + + private final Stemmer delegate; + private final LinkedHashMap cache; + + private ThreadState(Stemmer delegate, int capacity) { + this.delegate = delegate; + // Access-ordered for LRU eviction. Sized in double arithmetic and clamped so a capacity + // near Integer.MAX_VALUE does not overflow to a negative initial size. + this.cache = new LinkedHashMap<>((int) Math.min(capacity / 0.75d + 1.0d, 4096.0d), + 0.75f, true) { + @Override + protected boolean removeEldestEntry(Map.Entry eldest) { + return size() > capacity; + } + }; + } + } +} diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/PorterStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/PorterStemmer.java index 623a2d3d2c..7a6416449a 100644 --- a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/PorterStemmer.java +++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/PorterStemmer.java @@ -599,6 +599,9 @@ public String stem(String s) { * Returns the result as a CharSequence. */ public CharSequence stem(CharSequence word) { + if (word == null) { + throw new IllegalArgumentException("word must not be null"); + } return stem(word.toString()); } diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/PorterStemmerFactory.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/PorterStemmerFactory.java new file mode 100644 index 0000000000..6d04a063d7 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/PorterStemmerFactory.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package opennlp.tools.stemmer; + +import opennlp.tools.commons.ThreadSafe; + +/** + * A thread-safe factory for {@link PorterStemmer} instances. + */ +@ThreadSafe +public record PorterStemmerFactory() implements StemmerFactory { + + /** {@inheritDoc} */ + @Override + public Stemmer newStemmer() { + return new PorterStemmer(); + } +} diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/SharingStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/SharingStemmer.java new file mode 100644 index 0000000000..602d15a206 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/SharingStemmer.java @@ -0,0 +1,68 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package opennlp.tools.stemmer; + +import java.util.List; + +import opennlp.tools.commons.ThreadSafe; +import opennlp.tools.util.OwnerOrPerThreadState; + +/** + * A {@link Stemmer} that is safe to share across threads by routing each call to a per-thread + * delegate minted from a {@link StemmerFactory}. Use it to share a stemmer whose implementation is + * not itself thread-safe, such as {@link PorterStemmer}; thread-safe implementations like + * {@code SnowballStemmer} do not need this wrapper. + */ +@ThreadSafe +public final class SharingStemmer implements Stemmer { + + private final OwnerOrPerThreadState delegates; + + /** + * Creates a stemmer that routes each call to a per-thread delegate. + * + * @param factory The factory that mints per-thread delegates. Must not be {@code null}. + * @throws IllegalArgumentException if {@code factory} is {@code null}. + */ + public SharingStemmer(StemmerFactory factory) { + if (factory == null) { + throw new IllegalArgumentException("factory must not be null"); + } + this.delegates = new OwnerOrPerThreadState<>(factory::newStemmer, stemmer -> { }); + } + + /** {@inheritDoc} */ + @Override + public CharSequence stem(CharSequence word) { + return delegates.get().stem(word); + } + + /** {@inheritDoc} */ + @Override + public List stemAll(CharSequence word) { + return delegates.get().stemAll(word); + } + + /** + * Removes this thread's delegate to prevent classloader leaks in container environments. Call + * when the thread is returned to a pool or the stemmer is no longer needed. + */ + public void clearThreadLocalState() { + delegates.clearForCurrentThread(); + } +} diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/EnglishMinimalStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/EnglishMinimalStemmer.java new file mode 100644 index 0000000000..d1f9bb6f83 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/EnglishMinimalStemmer.java @@ -0,0 +1,75 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package opennlp.tools.stemmer.light; + +import opennlp.tools.commons.ThreadSafe; +import opennlp.tools.stemmer.Stemmer; +import opennlp.tools.stemmer.StemmerFactory; +/** + * Minimal plural stemmer for English. + * + *

This stemmer implements the "S-Stemmer" from How Effective Is Suffixing? Donna Harman. + * + *

Adapted from the identically named algorithm in Apache Lucene's analysis-common module. + * Instances are stateless and safe for concurrent use by multiple threads; each instance is also + * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a + * case-folding normalization step; the stemmer does not fold case itself.

+ */ +@ThreadSafe +public final class EnglishMinimalStemmer implements Stemmer, StemmerFactory { + /** {@inheritDoc} */ + @Override + public CharSequence stem(CharSequence word) { + if (word == null) { + throw new IllegalArgumentException("The word must not be null."); + } + final int length = word.length(); + final char[] buffer = new char[length]; + for (int i = 0; i < length; i++) { + buffer[i] = word.charAt(i); + } + final int stemmedLength = stem(buffer, length); + return new String(buffer, 0, stemmedLength); + } + + /** {@inheritDoc} */ + @Override + public Stemmer newStemmer() { + return this; + } + + @SuppressWarnings("fallthrough") + private int stem(char[] s, int len) { + if (len < 3 || s[len - 1] != 's') return len; + + switch (s[len - 2]) { + case 'u': + case 's': + return len; + case 'e': + if (len > 3 && s[len - 3] == 'i' && s[len - 4] != 'a' && s[len - 4] != 'e') { + s[len - 3] = 'y'; + return len - 2; + } + if (s[len - 3] == 'i' || s[len - 3] == 'a' || s[len - 3] == 'o' || s[len - 3] == 'e') + return len; /* intentional fallthrough */ + default: + return len - 1; + } + } +} diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/FinnishLightStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/FinnishLightStemmer.java new file mode 100644 index 0000000000..b1035ace63 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/FinnishLightStemmer.java @@ -0,0 +1,264 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * This algorithm is updated based on code located at: + * http://members.unine.ch/jacques.savoy/clef/ + * + * Full copyright for that code follows: + */ +/* + * Copyright (c) 2005, Jacques Savoy + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. Redistributions in binary + * form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials + * provided with the distribution. Neither the name of the author nor the names + * of its contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +package opennlp.tools.stemmer.light; + +import opennlp.tools.commons.ThreadSafe; +import opennlp.tools.stemmer.Stemmer; +import opennlp.tools.stemmer.StemmerFactory; + +import static opennlp.tools.stemmer.light.StemmerUtil.delete; +import static opennlp.tools.stemmer.light.StemmerUtil.endsWith; +/** + * Light Stemmer for Finnish. + * + *

This stemmer implements the algorithm described in: Report on CLEF-2003 Monolingual + * Tracks Jacques Savoy + * + *

Adapted from the identically named algorithm in Apache Lucene's analysis-common module. + * Instances are stateless and safe for concurrent use by multiple threads; each instance is also + * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a + * case-folding normalization step; the stemmer does not fold case itself.

+ */ +@ThreadSafe +public final class FinnishLightStemmer implements Stemmer, StemmerFactory { + /** {@inheritDoc} */ + @Override + public CharSequence stem(CharSequence word) { + if (word == null) { + throw new IllegalArgumentException("The word must not be null."); + } + final int length = word.length(); + final char[] buffer = new char[length]; + for (int i = 0; i < length; i++) { + buffer[i] = word.charAt(i); + } + final int stemmedLength = stem(buffer, length); + return new String(buffer, 0, stemmedLength); + } + + /** {@inheritDoc} */ + @Override + public Stemmer newStemmer() { + return this; + } + + private int stem(char[] s, int len) { + if (len < 4) return len; + + for (int i = 0; i < len; i++) + switch (s[i]) { + case 'ä': + case 'å': + s[i] = 'a'; + break; + case 'ö': + s[i] = 'o'; + break; + } + + len = step1(s, len); + len = step2(s, len); + len = step3(s, len); + len = norm1(s, len); + len = norm2(s, len); + return len; + } + + private int step1(char[] s, int len) { + if (len > 8) { + if (endsWith(s, len, "kin")) return step1(s, len - 3); + if (endsWith(s, len, "ko")) return step1(s, len - 2); + } + + if (len > 11) { + if (endsWith(s, len, "dellinen")) return len - 8; + if (endsWith(s, len, "dellisuus")) return len - 9; + } + return len; + } + + private int step2(char[] s, int len) { + if (len > 5) { + if (endsWith(s, len, "lla") || endsWith(s, len, "tse") || endsWith(s, len, "sti")) + return len - 3; + + if (endsWith(s, len, "ni")) return len - 2; + + if (endsWith(s, len, "aa")) return len - 1; // aa -> a + } + + return len; + } + + private int step3(char[] s, int len) { + if (len > 8) { + if (endsWith(s, len, "nnen")) { + s[len - 4] = 's'; + return len - 3; + } + + if (endsWith(s, len, "ntena")) { + s[len - 5] = 's'; + return len - 4; + } + + if (endsWith(s, len, "tten")) return len - 4; + + if (endsWith(s, len, "eiden")) return len - 5; + } + + if (len > 6) { + if (endsWith(s, len, "neen") + || endsWith(s, len, "niin") + || endsWith(s, len, "seen") + || endsWith(s, len, "teen") + || endsWith(s, len, "inen")) return len - 4; + + if (s[len - 3] == 'h' && isVowel(s[len - 2]) && s[len - 1] == 'n') return len - 3; + + if (endsWith(s, len, "den")) { + s[len - 3] = 's'; + return len - 2; + } + + if (endsWith(s, len, "ksen")) { + s[len - 4] = 's'; + return len - 3; + } + + if (endsWith(s, len, "ssa") + || endsWith(s, len, "sta") + || endsWith(s, len, "lla") + || endsWith(s, len, "lta") + || endsWith(s, len, "tta") + || endsWith(s, len, "ksi") + || endsWith(s, len, "lle")) return len - 3; + } + + if (len > 5) { + if (endsWith(s, len, "na") || endsWith(s, len, "ne")) return len - 2; + + if (endsWith(s, len, "nei")) return len - 3; + } + + if (len > 4) { + if (endsWith(s, len, "ja") || endsWith(s, len, "ta")) return len - 2; + + if (s[len - 1] == 'a') return len - 1; + + if (s[len - 1] == 'n' && isVowel(s[len - 2])) return len - 2; + + if (s[len - 1] == 'n') return len - 1; + } + + return len; + } + + private int norm1(char[] s, int len) { + if (len > 5 && endsWith(s, len, "hde")) { + s[len - 3] = 'k'; + s[len - 2] = 's'; + s[len - 1] = 'i'; + } + + if (len > 4) { + if (endsWith(s, len, "ei") || endsWith(s, len, "at")) return len - 2; + } + + if (len > 3) + switch (s[len - 1]) { + case 't': + case 's': + case 'j': + case 'e': + case 'a': + case 'i': + return len - 1; + } + + return len; + } + + private int norm2(char[] s, int len) { + if (len > 8) { + if (s[len - 1] == 'e' || s[len - 1] == 'o' || s[len - 1] == 'u') len--; + } + + if (len > 4) { + if (s[len - 1] == 'i') len--; + + if (len > 4) { + char ch = s[0]; + for (int i = 1; i < len; i++) { + if (s[i] == ch && (ch == 'k' || ch == 'p' || ch == 't')) len = delete(s, i--, len); + else ch = s[i]; + } + } + } + + return len; + } + + private boolean isVowel(char ch) { + switch (ch) { + case 'a': + case 'e': + case 'i': + case 'o': + case 'u': + case 'y': + return true; + default: + return false; + } + } +} diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/FrenchLightStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/FrenchLightStemmer.java new file mode 100644 index 0000000000..38f11138ab --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/FrenchLightStemmer.java @@ -0,0 +1,288 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * This algorithm is updated based on code located at: + * http://members.unine.ch/jacques.savoy/clef/ + * + * Full copyright for that code follows: + */ +/* + * Copyright (c) 2005, Jacques Savoy + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. Redistributions in binary + * form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials + * provided with the distribution. Neither the name of the author nor the names + * of its contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +package opennlp.tools.stemmer.light; + +import opennlp.tools.commons.ThreadSafe; +import opennlp.tools.stemmer.Stemmer; +import opennlp.tools.stemmer.StemmerFactory; + +import static opennlp.tools.stemmer.light.StemmerUtil.delete; +import static opennlp.tools.stemmer.light.StemmerUtil.endsWith; +/** + * Light Stemmer for French. + * + *

This stemmer implements the "UniNE" algorithm in: Light Stemming Approaches for the French, + * Portuguese, German and Hungarian Languages Jacques Savoy + * + *

Adapted from the identically named algorithm in Apache Lucene's analysis-common module. + * Instances are stateless and safe for concurrent use by multiple threads; each instance is also + * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a + * case-folding normalization step; the stemmer does not fold case itself.

+ */ +@ThreadSafe +public final class FrenchLightStemmer implements Stemmer, StemmerFactory { + /** {@inheritDoc} */ + @Override + public CharSequence stem(CharSequence word) { + if (word == null) { + throw new IllegalArgumentException("The word must not be null."); + } + final int length = word.length(); + final char[] buffer = new char[length]; + for (int i = 0; i < length; i++) { + buffer[i] = word.charAt(i); + } + final int stemmedLength = stem(buffer, length); + return new String(buffer, 0, stemmedLength); + } + + /** {@inheritDoc} */ + @Override + public Stemmer newStemmer() { + return this; + } + + private int stem(char[] s, int len) { + if (len > 5 && s[len - 1] == 'x') { + if (s[len - 3] == 'a' && s[len - 2] == 'u' && s[len - 4] != 'e') s[len - 2] = 'l'; + len--; + } + + if (len > 3 && s[len - 1] == 'x') len--; + + if (len > 3 && s[len - 1] == 's') len--; + + if (len > 9 && endsWith(s, len, "issement")) { + len -= 6; + s[len - 1] = 'r'; + return norm(s, len); + } + + if (len > 8 && endsWith(s, len, "issant")) { + len -= 4; + s[len - 1] = 'r'; + return norm(s, len); + } + + if (len > 6 && endsWith(s, len, "ement")) { + len -= 4; + if (len > 3 && endsWith(s, len, "ive")) { + len--; + s[len - 1] = 'f'; + } + return norm(s, len); + } + + if (len > 11 && endsWith(s, len, "ficatrice")) { + len -= 5; + s[len - 2] = 'e'; + s[len - 1] = 'r'; + return norm(s, len); + } + + if (len > 10 && endsWith(s, len, "ficateur")) { + len -= 4; + s[len - 2] = 'e'; + s[len - 1] = 'r'; + return norm(s, len); + } + + if (len > 9 && endsWith(s, len, "catrice")) { + len -= 3; + s[len - 4] = 'q'; + s[len - 3] = 'u'; + s[len - 2] = 'e'; + // s[len-1] = 'r' <-- unnecessary, already 'r'. + return norm(s, len); + } + + if (len > 8 && endsWith(s, len, "cateur")) { + len -= 2; + s[len - 4] = 'q'; + s[len - 3] = 'u'; + s[len - 2] = 'e'; + s[len - 1] = 'r'; + return norm(s, len); + } + + if (len > 8 && endsWith(s, len, "atrice")) { + len -= 4; + s[len - 2] = 'e'; + s[len - 1] = 'r'; + return norm(s, len); + } + + if (len > 7 && endsWith(s, len, "ateur")) { + len -= 3; + s[len - 2] = 'e'; + s[len - 1] = 'r'; + return norm(s, len); + } + + if (len > 6 && endsWith(s, len, "trice")) { + len--; + s[len - 3] = 'e'; + s[len - 2] = 'u'; + s[len - 1] = 'r'; + } + + if (len > 5 && endsWith(s, len, "ième")) return norm(s, len - 4); + + if (len > 7 && endsWith(s, len, "teuse")) { + len -= 2; + s[len - 1] = 'r'; + return norm(s, len); + } + + if (len > 6 && endsWith(s, len, "teur")) { + len--; + s[len - 1] = 'r'; + return norm(s, len); + } + + if (len > 5 && endsWith(s, len, "euse")) return norm(s, len - 2); + + if (len > 8 && endsWith(s, len, "ère")) { + len--; + s[len - 2] = 'e'; + return norm(s, len); + } + + if (len > 7 && endsWith(s, len, "ive")) { + len--; + s[len - 1] = 'f'; + return norm(s, len); + } + + if (len > 4 && (endsWith(s, len, "folle") || endsWith(s, len, "molle"))) { + len -= 2; + s[len - 1] = 'u'; + return norm(s, len); + } + + if (len > 9 && endsWith(s, len, "nnelle")) return norm(s, len - 5); + + if (len > 9 && endsWith(s, len, "nnel")) return norm(s, len - 3); + + if (len > 4 && endsWith(s, len, "ète")) { + len--; + s[len - 2] = 'e'; + } + + if (len > 8 && endsWith(s, len, "ique")) len -= 4; + + if (len > 8 && endsWith(s, len, "esse")) return norm(s, len - 3); + + if (len > 7 && endsWith(s, len, "inage")) return norm(s, len - 3); + + if (len > 9 && endsWith(s, len, "isation")) { + len -= 7; + if (len > 5 && endsWith(s, len, "ual")) s[len - 2] = 'e'; + return norm(s, len); + } + + if (len > 9 && endsWith(s, len, "isateur")) return norm(s, len - 7); + + if (len > 8 && endsWith(s, len, "ation")) return norm(s, len - 5); + + if (len > 8 && endsWith(s, len, "ition")) return norm(s, len - 5); + + return norm(s, len); + } + + private int norm(char[] s, int len) { + if (len > 4) { + for (int i = 0; i < len; i++) + switch (s[i]) { + case 'à': + case 'á': + case 'â': + s[i] = 'a'; + break; + case 'ô': + s[i] = 'o'; + break; + case 'è': + case 'é': + case 'ê': + s[i] = 'e'; + break; + case 'ù': + case 'û': + s[i] = 'u'; + break; + case 'î': + s[i] = 'i'; + break; + case 'ç': + s[i] = 'c'; + break; + } + + char ch = s[0]; + for (int i = 1; i < len; i++) { + if (s[i] == ch && Character.isLetter(ch)) len = delete(s, i--, len); + else ch = s[i]; + } + } + + if (len > 4 && endsWith(s, len, "ie")) len -= 2; + + if (len > 4) { + if (s[len - 1] == 'r') len--; + if (s[len - 1] == 'e') len--; + if (s[len - 1] == 'e') len--; + if (s[len - 1] == s[len - 2] && Character.isLetter(s[len - 1])) len--; + } + return len; + } +} diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/FrenchMinimalStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/FrenchMinimalStemmer.java new file mode 100644 index 0000000000..88ddde7781 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/FrenchMinimalStemmer.java @@ -0,0 +1,106 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * This algorithm is updated based on code located at: + * http://members.unine.ch/jacques.savoy/clef/ + * + * Full copyright for that code follows: + */ +/* + * Copyright (c) 2005, Jacques Savoy + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. Redistributions in binary + * form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials + * provided with the distribution. Neither the name of the author nor the names + * of its contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +package opennlp.tools.stemmer.light; + +import opennlp.tools.commons.ThreadSafe; +import opennlp.tools.stemmer.Stemmer; +import opennlp.tools.stemmer.StemmerFactory; +/** + * Light Stemmer for French. + * + *

This stemmer implements the following algorithm: A Stemming procedure and stopword list for + * general French corpora. Jacques Savoy. + * + *

Adapted from the identically named algorithm in Apache Lucene's analysis-common module. + * Instances are stateless and safe for concurrent use by multiple threads; each instance is also + * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a + * case-folding normalization step; the stemmer does not fold case itself.

+ */ +@ThreadSafe +public final class FrenchMinimalStemmer implements Stemmer, StemmerFactory { + /** {@inheritDoc} */ + @Override + public CharSequence stem(CharSequence word) { + if (word == null) { + throw new IllegalArgumentException("The word must not be null."); + } + final int length = word.length(); + final char[] buffer = new char[length]; + for (int i = 0; i < length; i++) { + buffer[i] = word.charAt(i); + } + final int stemmedLength = stem(buffer, length); + return new String(buffer, 0, stemmedLength); + } + + /** {@inheritDoc} */ + @Override + public Stemmer newStemmer() { + return this; + } + + private int stem(char[] s, int len) { + if (len < 6) return len; + + if (s[len - 1] == 'x') { + if (s[len - 3] == 'a' && s[len - 2] == 'u') s[len - 2] = 'l'; + return len - 1; + } + + if (s[len - 1] == 's') len--; + if (s[len - 1] == 'r') len--; + if (s[len - 1] == 'e') len--; + if (s[len - 1] == 'é') len--; + if (s[len - 1] == s[len - 2] && Character.isLetter(s[len - 1])) len--; + return len; + } +} diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/GermanLightStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/GermanLightStemmer.java new file mode 100644 index 0000000000..e1daca4544 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/GermanLightStemmer.java @@ -0,0 +1,171 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * This algorithm is updated based on code located at: + * http://members.unine.ch/jacques.savoy/clef/ + * + * Full copyright for that code follows: + */ +/* + * Copyright (c) 2005, Jacques Savoy + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. Redistributions in binary + * form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials + * provided with the distribution. Neither the name of the author nor the names + * of its contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +package opennlp.tools.stemmer.light; + +import opennlp.tools.commons.ThreadSafe; +import opennlp.tools.stemmer.Stemmer; +import opennlp.tools.stemmer.StemmerFactory; +/** + * Light Stemmer for German. + * + *

This stemmer implements the "UniNE" algorithm in: Light Stemming Approaches for the French, + * Portuguese, German and Hungarian Languages Jacques Savoy + * + *

Adapted from the identically named algorithm in Apache Lucene's analysis-common module. + * Instances are stateless and safe for concurrent use by multiple threads; each instance is also + * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a + * case-folding normalization step; the stemmer does not fold case itself.

+ */ +@ThreadSafe +public final class GermanLightStemmer implements Stemmer, StemmerFactory { + /** {@inheritDoc} */ + @Override + public CharSequence stem(CharSequence word) { + if (word == null) { + throw new IllegalArgumentException("The word must not be null."); + } + final int length = word.length(); + final char[] buffer = new char[length]; + for (int i = 0; i < length; i++) { + buffer[i] = word.charAt(i); + } + final int stemmedLength = stem(buffer, length); + return new String(buffer, 0, stemmedLength); + } + + /** {@inheritDoc} */ + @Override + public Stemmer newStemmer() { + return this; + } + + + private int stem(char[] s, int len) { + for (int i = 0; i < len; i++) + switch (s[i]) { + case 'ä': + case 'à': + case 'á': + case 'â': + s[i] = 'a'; + break; + case 'ö': + case 'ò': + case 'ó': + case 'ô': + s[i] = 'o'; + break; + case 'ï': + case 'ì': + case 'í': + case 'î': + s[i] = 'i'; + break; + case 'ü': + case 'ù': + case 'ú': + case 'û': + s[i] = 'u'; + break; + } + + len = step1(s, len); + return step2(s, len); + } + + private boolean stEnding(char ch) { + switch (ch) { + case 'b': + case 'd': + case 'f': + case 'g': + case 'h': + case 'k': + case 'l': + case 'm': + case 'n': + case 't': + return true; + default: + return false; + } + } + + private int step1(char[] s, int len) { + if (len > 5 && s[len - 3] == 'e' && s[len - 2] == 'r' && s[len - 1] == 'n') return len - 3; + + if (len > 4 && s[len - 2] == 'e') + switch (s[len - 1]) { + case 'm': + case 'n': + case 'r': + case 's': + return len - 2; + } + + if (len > 3 && s[len - 1] == 'e') return len - 1; + + if (len > 3 && s[len - 1] == 's' && stEnding(s[len - 2])) return len - 1; + + return len; + } + + private int step2(char[] s, int len) { + if (len > 5 && s[len - 3] == 'e' && s[len - 2] == 's' && s[len - 1] == 't') return len - 3; + + if (len > 4 && s[len - 2] == 'e' && (s[len - 1] == 'r' || s[len - 1] == 'n')) return len - 2; + + if (len > 4 && s[len - 2] == 's' && s[len - 1] == 't' && stEnding(s[len - 3])) return len - 2; + + return len; + } +} diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/GermanMinimalStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/GermanMinimalStemmer.java new file mode 100644 index 0000000000..fe711a2edb --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/GermanMinimalStemmer.java @@ -0,0 +1,136 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * This algorithm is updated based on code located at: + * http://members.unine.ch/jacques.savoy/clef/ + * + * Full copyright for that code follows: + */ +/* + * Copyright (c) 2005, Jacques Savoy + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. Redistributions in binary + * form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials + * provided with the distribution. Neither the name of the author nor the names + * of its contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +package opennlp.tools.stemmer.light; + +import opennlp.tools.commons.ThreadSafe; +import opennlp.tools.stemmer.Stemmer; +import opennlp.tools.stemmer.StemmerFactory; +/** + * Minimal Stemmer for German. + * + *

This stemmer implements the following algorithm: Morphologie et recherche d'information + * Jacques Savoy. + * + *

Adapted from the identically named algorithm in Apache Lucene's analysis-common module. + * Instances are stateless and safe for concurrent use by multiple threads; each instance is also + * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a + * case-folding normalization step; the stemmer does not fold case itself.

+ */ +@ThreadSafe +public final class GermanMinimalStemmer implements Stemmer, StemmerFactory { + /** {@inheritDoc} */ + @Override + public CharSequence stem(CharSequence word) { + if (word == null) { + throw new IllegalArgumentException("The word must not be null."); + } + final int length = word.length(); + final char[] buffer = new char[length]; + for (int i = 0; i < length; i++) { + buffer[i] = word.charAt(i); + } + final int stemmedLength = stem(buffer, length); + return new String(buffer, 0, stemmedLength); + } + + /** {@inheritDoc} */ + @Override + public Stemmer newStemmer() { + return this; + } + + + private int stem(char[] s, int len) { + if (len < 5) return len; + + for (int i = 0; i < len; i++) + switch (s[i]) { + case 'ä': + s[i] = 'a'; + break; + case 'ö': + s[i] = 'o'; + break; + case 'ü': + s[i] = 'u'; + break; + } + + if (len > 6 && s[len - 3] == 'n' && s[len - 2] == 'e' && s[len - 1] == 'n') return len - 3; + + if (len > 5) + switch (s[len - 1]) { + case 'n': + if (s[len - 2] == 'e') return len - 2; + else break; + case 'e': + if (s[len - 2] == 's') return len - 2; + else break; + case 's': + if (s[len - 2] == 'e') return len - 2; + else break; + case 'r': + if (s[len - 2] == 'e') return len - 2; + else break; + } + + switch (s[len - 1]) { + case 'n': + case 'e': + case 's': + case 'r': + return len - 1; + } + + return len; + } +} diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/HungarianLightStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/HungarianLightStemmer.java new file mode 100644 index 0000000000..cb8fed7c6d --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/HungarianLightStemmer.java @@ -0,0 +1,273 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * This algorithm is updated based on code located at: + * http://members.unine.ch/jacques.savoy/clef/ + * + * Full copyright for that code follows: + */ +/* + * Copyright (c) 2005, Jacques Savoy + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. Redistributions in binary + * form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials + * provided with the distribution. Neither the name of the author nor the names + * of its contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +package opennlp.tools.stemmer.light; + +import opennlp.tools.commons.ThreadSafe; +import opennlp.tools.stemmer.Stemmer; +import opennlp.tools.stemmer.StemmerFactory; + +import static opennlp.tools.stemmer.light.StemmerUtil.endsWith; +/** + * Light Stemmer for Hungarian. + * + *

This stemmer implements the "UniNE" algorithm in: Light Stemming Approaches for the French, + * Portuguese, German and Hungarian Languages Jacques Savoy + * + *

Adapted from the identically named algorithm in Apache Lucene's analysis-common module. + * Instances are stateless and safe for concurrent use by multiple threads; each instance is also + * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a + * case-folding normalization step; the stemmer does not fold case itself.

+ */ +@ThreadSafe +public final class HungarianLightStemmer implements Stemmer, StemmerFactory { + /** {@inheritDoc} */ + @Override + public CharSequence stem(CharSequence word) { + if (word == null) { + throw new IllegalArgumentException("The word must not be null."); + } + final int length = word.length(); + final char[] buffer = new char[length]; + for (int i = 0; i < length; i++) { + buffer[i] = word.charAt(i); + } + final int stemmedLength = stem(buffer, length); + return new String(buffer, 0, stemmedLength); + } + + /** {@inheritDoc} */ + @Override + public Stemmer newStemmer() { + return this; + } + + private int stem(char[] s, int len) { + for (int i = 0; i < len; i++) + switch (s[i]) { + case 'á': + s[i] = 'a'; + break; + case 'ë': + case 'é': + s[i] = 'e'; + break; + case 'í': + s[i] = 'i'; + break; + case 'ó': + case 'ő': + case 'õ': + case 'ö': + s[i] = 'o'; + break; + case 'ú': + case 'ű': + case 'ũ': + case 'û': + case 'ü': + s[i] = 'u'; + break; + } + + len = removeCase(s, len); + len = removePossessive(s, len); + len = removePlural(s, len); + return normalize(s, len); + } + + private int removeCase(char[] s, int len) { + if (len > 6 && endsWith(s, len, "kent")) return len - 4; + + if (len > 5) { + if (endsWith(s, len, "nak") + || endsWith(s, len, "nek") + || endsWith(s, len, "val") + || endsWith(s, len, "vel") + || endsWith(s, len, "ert") + || endsWith(s, len, "rol") + || endsWith(s, len, "ban") + || endsWith(s, len, "ben") + || endsWith(s, len, "bol") + || endsWith(s, len, "nal") + || endsWith(s, len, "nel") + || endsWith(s, len, "hoz") + || endsWith(s, len, "hez") + || endsWith(s, len, "tol")) return len - 3; + + if (endsWith(s, len, "al") || endsWith(s, len, "el")) { + if (!isVowel(s[len - 3]) && s[len - 3] == s[len - 4]) return len - 3; + } + } + + if (len > 4) { + if (endsWith(s, len, "at") + || endsWith(s, len, "et") + || endsWith(s, len, "ot") + || endsWith(s, len, "va") + || endsWith(s, len, "ve") + || endsWith(s, len, "ra") + || endsWith(s, len, "re") + || endsWith(s, len, "ba") + || endsWith(s, len, "be") + || endsWith(s, len, "ul") + || endsWith(s, len, "ig")) return len - 2; + + if ((endsWith(s, len, "on") || endsWith(s, len, "en")) && !isVowel(s[len - 3])) + return len - 2; + + switch (s[len - 1]) { + case 't': + case 'n': + return len - 1; + case 'a': + case 'e': + if (s[len - 2] == s[len - 3] && !isVowel(s[len - 2])) return len - 2; + } + } + + return len; + } + + private int removePossessive(char[] s, int len) { + if (len > 6) { + if (!isVowel(s[len - 5]) + && (endsWith(s, len, "atok") || endsWith(s, len, "otok") || endsWith(s, len, "etek"))) + return len - 4; + + if (endsWith(s, len, "itek") || endsWith(s, len, "itok")) return len - 4; + } + + if (len > 5) { + if (!isVowel(s[len - 4]) + && (endsWith(s, len, "unk") || endsWith(s, len, "tok") || endsWith(s, len, "tek"))) + return len - 3; + + if (isVowel(s[len - 4]) && endsWith(s, len, "juk")) return len - 3; + + if (endsWith(s, len, "ink")) return len - 3; + } + + if (len > 4) { + if (!isVowel(s[len - 3]) + && (endsWith(s, len, "am") + || endsWith(s, len, "em") + || endsWith(s, len, "om") + || endsWith(s, len, "ad") + || endsWith(s, len, "ed") + || endsWith(s, len, "od") + || endsWith(s, len, "uk"))) return len - 2; + + if (isVowel(s[len - 3]) + && (endsWith(s, len, "nk") || endsWith(s, len, "ja") || endsWith(s, len, "je"))) + return len - 2; + + if (endsWith(s, len, "im") || endsWith(s, len, "id") || endsWith(s, len, "ik")) + return len - 2; + } + + if (len > 3) + switch (s[len - 1]) { + case 'a': + case 'e': + if (!isVowel(s[len - 2])) return len - 1; + break; + case 'm': + case 'd': + if (isVowel(s[len - 2])) return len - 1; + break; + case 'i': + return len - 1; + } + + return len; + } + + @SuppressWarnings("fallthrough") + private int removePlural(char[] s, int len) { + if (len > 3 && s[len - 1] == 'k') + switch (s[len - 2]) { + case 'a': + case 'o': + case 'e': + if (len > 4) return len - 2; /* intentional fallthru */ + default: + return len - 1; + } + return len; + } + + private int normalize(char[] s, int len) { + if (len > 3) + switch (s[len - 1]) { + case 'a': + case 'e': + case 'i': + case 'o': + return len - 1; + } + return len; + } + + private boolean isVowel(char ch) { + switch (ch) { + case 'a': + case 'e': + case 'i': + case 'o': + case 'u': + case 'y': + return true; + default: + return false; + } + } +} diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/ItalianLightStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/ItalianLightStemmer.java new file mode 100644 index 0000000000..2664775df2 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/ItalianLightStemmer.java @@ -0,0 +1,146 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * This algorithm is updated based on code located at: + * http://members.unine.ch/jacques.savoy/clef/ + * + * Full copyright for that code follows: + */ +/* + * Copyright (c) 2005, Jacques Savoy + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. Redistributions in binary + * form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials + * provided with the distribution. Neither the name of the author nor the names + * of its contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +package opennlp.tools.stemmer.light; + +import opennlp.tools.commons.ThreadSafe; +import opennlp.tools.stemmer.Stemmer; +import opennlp.tools.stemmer.StemmerFactory; +/** + * Light Stemmer for Italian. + * + *

This stemmer implements the algorithm described in: Report on CLEF-2001 Experiments + * Jacques Savoy + * + *

Adapted from the identically named algorithm in Apache Lucene's analysis-common module. + * Instances are stateless and safe for concurrent use by multiple threads; each instance is also + * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a + * case-folding normalization step; the stemmer does not fold case itself.

+ */ +@ThreadSafe +public final class ItalianLightStemmer implements Stemmer, StemmerFactory { + /** {@inheritDoc} */ + @Override + public CharSequence stem(CharSequence word) { + if (word == null) { + throw new IllegalArgumentException("The word must not be null."); + } + final int length = word.length(); + final char[] buffer = new char[length]; + for (int i = 0; i < length; i++) { + buffer[i] = word.charAt(i); + } + final int stemmedLength = stem(buffer, length); + return new String(buffer, 0, stemmedLength); + } + + /** {@inheritDoc} */ + @Override + public Stemmer newStemmer() { + return this; + } + + + private int stem(char[] s, int len) { + if (len < 6) return len; + + for (int i = 0; i < len; i++) + switch (s[i]) { + case 'à': + case 'á': + case 'â': + case 'ä': + s[i] = 'a'; + break; + case 'ò': + case 'ó': + case 'ô': + case 'ö': + s[i] = 'o'; + break; + case 'è': + case 'é': + case 'ê': + case 'ë': + s[i] = 'e'; + break; + case 'ù': + case 'ú': + case 'û': + case 'ü': + s[i] = 'u'; + break; + case 'ì': + case 'í': + case 'î': + case 'ï': + s[i] = 'i'; + break; + } + + switch (s[len - 1]) { + case 'e': + if (s[len - 2] == 'i' || s[len - 2] == 'h') return len - 2; + else return len - 1; + case 'i': + if (s[len - 2] == 'h' || s[len - 2] == 'i') return len - 2; + else return len - 1; + case 'a': + if (s[len - 2] == 'i') return len - 2; + else return len - 1; + case 'o': + if (s[len - 2] == 'i') return len - 2; + else return len - 1; + } + + return len; + } +} diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/NorwegianLightStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/NorwegianLightStemmer.java new file mode 100644 index 0000000000..4caeb4815a --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/NorwegianLightStemmer.java @@ -0,0 +1,219 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * This algorithm is updated based on code located at: + * http://members.unine.ch/jacques.savoy/clef/ + * + * Full copyright for that code follows: + */ +/* + * Copyright (c) 2005, Jacques Savoy + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. Redistributions in binary + * form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials + * provided with the distribution. Neither the name of the author nor the names + * of its contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +package opennlp.tools.stemmer.light; + +import opennlp.tools.commons.ThreadSafe; +import opennlp.tools.stemmer.Stemmer; +import opennlp.tools.stemmer.StemmerFactory; + +import static opennlp.tools.stemmer.light.StemmerUtil.endsWith; +/** + * Light Stemmer for Norwegian. + * + *

Parts of this stemmer is adapted from SwedishLightStemFilter, except that while the Swedish + * one has a pre-defined rule set and a corresponding corpus to validate against whereas the + * Norwegian one is hand crafted. + * + *

Adapted from the identically named algorithm in Apache Lucene's analysis-common module. + * Instances are stateless and safe for concurrent use by multiple threads; each instance is also + * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a + * case-folding normalization step; the stemmer does not fold case itself.

+ */ +@ThreadSafe +public final class NorwegianLightStemmer implements Stemmer, StemmerFactory { + /** {@inheritDoc} */ + @Override + public CharSequence stem(CharSequence word) { + if (word == null) { + throw new IllegalArgumentException("The word must not be null."); + } + final int length = word.length(); + final char[] buffer = new char[length]; + for (int i = 0; i < length; i++) { + buffer[i] = word.charAt(i); + } + final int stemmedLength = stem(buffer, length); + return new String(buffer, 0, stemmedLength); + } + + /** {@inheritDoc} */ + @Override + public Stemmer newStemmer() { + return this; + } + + private final boolean useBokmaal; + private final boolean useNynorsk; + + /** + * Instantiates the stemmer for one or both written standards. + * + * @param first The first standard whose endings are removed; must not be null. + * @param more Further standards; must not be or contain null. + * @throws IllegalArgumentException Thrown if a variety is null. + */ + public NorwegianLightStemmer(NorwegianVariety first, NorwegianVariety... more) { + if (first == null || more == null) { + throw new IllegalArgumentException("The variety must not be null."); + } + boolean bokmaal = first == NorwegianVariety.BOKMAAL; + boolean nynorsk = first == NorwegianVariety.NYNORSK; + for (final NorwegianVariety variety : more) { + if (variety == null) { + throw new IllegalArgumentException("The variety must not be null."); + } + bokmaal |= variety == NorwegianVariety.BOKMAAL; + nynorsk |= variety == NorwegianVariety.NYNORSK; + } + useBokmaal = bokmaal; + useNynorsk = nynorsk; + } + + private int stem(char[] s, int len) { + // Remove posessive -s (bilens -> bilen) and continue checking + if (len > 4 && s[len - 1] == 's') len--; + + // Remove common endings, single-pass + if (len > 7 + && ((endsWith(s, len, "heter") && useBokmaal) + || // general ending (hemmelig-heter -> hemmelig) + (endsWith(s, len, "heten") && useBokmaal) + || // general ending (hemmelig-heten -> hemmelig) + (endsWith(s, len, "heita") + && useNynorsk))) // general ending (hemmeleg-heita -> hemmeleg) + return len - 5; + + // Remove Nynorsk common endings, single-pass + if (len > 8 + && useNynorsk + && (endsWith(s, len, "heiter") + || // general ending (hemmeleg-heiter -> hemmeleg) + endsWith(s, len, "leiken") + || // general ending (trygg-leiken -> trygg) + endsWith(s, len, "leikar"))) // general ending (trygg-leikar -> trygg) + return len - 6; + + if (len > 5 + && (endsWith(s, len, "dom") + || // general ending (kristen-dom -> kristen) + (endsWith(s, len, "het") && useBokmaal))) // general ending (hemmelig-het -> hemmelig) + return len - 3; + + if (len > 6 + && useNynorsk + && (endsWith(s, len, "heit") + || // general ending (hemmeleg-heit -> hemmeleg) + endsWith(s, len, "semd") + || // general ending (verk-semd -> verk) + endsWith(s, len, "leik"))) // general ending (trygg-leik -> trygg) + return len - 4; + + if (len > 7 + && (endsWith(s, len, "elser") + || // general ending (føl-elser -> føl) + endsWith(s, len, "elsen"))) // general ending (føl-elsen -> føl) + return len - 5; + + if (len > 6 + && ((endsWith(s, len, "ende") && useBokmaal) + || // (sov-ende -> sov) + (endsWith(s, len, "ande") && useNynorsk) + || // (sov-ande -> sov) + endsWith(s, len, "else") + || // general ending (føl-else -> føl) + (endsWith(s, len, "este") && useBokmaal) + || // adj (fin-este -> fin) + (endsWith(s, len, "aste") && useNynorsk) + || // adj (fin-aste -> fin) + (endsWith(s, len, "eren") && useBokmaal) + || // masc + (endsWith(s, len, "aren") && useNynorsk))) // masc + return len - 4; + + if (len > 5 + && ((endsWith(s, len, "ere") && useBokmaal) + || // adj (fin-ere -> fin) + (endsWith(s, len, "are") && useNynorsk) + || // adj (fin-are -> fin) + (endsWith(s, len, "est") && useBokmaal) + || // adj (fin-est -> fin) + (endsWith(s, len, "ast") && useNynorsk) + || // adj (fin-ast -> fin) + endsWith(s, len, "ene") + || // masc/fem/neutr pl definite (hus-ene) + (endsWith(s, len, "ane") && useNynorsk))) // masc pl definite (gut-ane) + return len - 3; + + if (len > 4 + && (endsWith(s, len, "er") + || // masc/fem indefinite + endsWith(s, len, "en") + || // masc/fem definite + endsWith(s, len, "et") + || // neutr definite + (endsWith(s, len, "ar") && useNynorsk) + || // masc pl indefinite + (endsWith(s, len, "st") && useBokmaal) + || // adj (billig-st -> billig) + endsWith(s, len, "te"))) return len - 2; + + if (len > 3) + switch (s[len - 1]) { + case 'a': // fem definite + case 'e': // to get correct stem for nouns ending in -e (kake -> kak, kaker -> kak) + case 'n': + return len - 1; + } + + return len; + } +} diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/NorwegianMinimalStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/NorwegianMinimalStemmer.java new file mode 100644 index 0000000000..e079491fd9 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/NorwegianMinimalStemmer.java @@ -0,0 +1,149 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * This algorithm is updated based on code located at: + * http://members.unine.ch/jacques.savoy/clef/ + * + * Full copyright for that code follows: + */ +/* + * Copyright (c) 2005, Jacques Savoy + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. Redistributions in binary + * form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials + * provided with the distribution. Neither the name of the author nor the names + * of its contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +package opennlp.tools.stemmer.light; + +import opennlp.tools.commons.ThreadSafe; +import opennlp.tools.stemmer.Stemmer; +import opennlp.tools.stemmer.StemmerFactory; + +import static opennlp.tools.stemmer.light.StemmerUtil.endsWith; + +/** + * Minimal Stemmer for Norwegian Bokmål (no-nb) and Nynorsk (no-nn) + * + *

Stems known plural forms for Norwegian nouns only, together with genitiv -s + * + *

Adapted from the identically named algorithm in Apache Lucene's analysis-common module. + * Instances are stateless and safe for concurrent use by multiple threads; each instance is also + * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a + * case-folding normalization step; the stemmer does not fold case itself.

+ */ +@ThreadSafe +public final class NorwegianMinimalStemmer implements Stemmer, StemmerFactory { + /** {@inheritDoc} */ + @Override + public CharSequence stem(CharSequence word) { + if (word == null) { + throw new IllegalArgumentException("The word must not be null."); + } + final int length = word.length(); + final char[] buffer = new char[length]; + for (int i = 0; i < length; i++) { + buffer[i] = word.charAt(i); + } + final int stemmedLength = stem(buffer, length); + return new String(buffer, 0, stemmedLength); + } + + /** {@inheritDoc} */ + @Override + public Stemmer newStemmer() { + return this; + } + + private final boolean useBokmaal; + private final boolean useNynorsk; + + /** + * Instantiates the stemmer for one or both written standards. + * + * @param first The first standard whose endings are removed; must not be null. + * @param more Further standards; must not be or contain null. + * @throws IllegalArgumentException Thrown if a variety is null. + */ + public NorwegianMinimalStemmer(NorwegianVariety first, NorwegianVariety... more) { + if (first == null || more == null) { + throw new IllegalArgumentException("The variety must not be null."); + } + boolean bokmaal = first == NorwegianVariety.BOKMAAL; + boolean nynorsk = first == NorwegianVariety.NYNORSK; + for (final NorwegianVariety variety : more) { + if (variety == null) { + throw new IllegalArgumentException("The variety must not be null."); + } + bokmaal |= variety == NorwegianVariety.BOKMAAL; + nynorsk |= variety == NorwegianVariety.NYNORSK; + } + useBokmaal = bokmaal; + useNynorsk = nynorsk; + } + + private int stem(char[] s, int len) { + // Remove genitiv s + if (len > 4 && s[len - 1] == 's') len--; + + if (len > 5 + && (endsWith(s, len, "ene") + || // masc/fem/neutr pl definite (hus-ene) + (endsWith(s, len, "ane") && useNynorsk // masc pl definite (gut-ane) + ))) return len - 3; + + if (len > 4 + && (endsWith(s, len, "er") + || // masc/fem indefinite + endsWith(s, len, "en") + || // masc/fem definite + endsWith(s, len, "et") + || // neutr definite + (endsWith(s, len, "ar") && useNynorsk // masc pl indefinite + ))) return len - 2; + + if (len > 3) + switch (s[len - 1]) { + case 'a': // fem definite + case 'e': // to get correct stem for nouns ending in -e (kake -> kak, kaker -> kak) + return len - 1; + } + + return len; + } +} diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/NorwegianVariety.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/NorwegianVariety.java new file mode 100644 index 0000000000..cdebdcc9a9 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/NorwegianVariety.java @@ -0,0 +1,30 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package opennlp.tools.stemmer.light; + +/** + * The written standards of Norwegian whose endings the {@link NorwegianLightStemmer} and + * {@link NorwegianMinimalStemmer} remove. A stemmer can handle one standard or both. + */ +public enum NorwegianVariety { + + /** Bokmaal, the majority written standard. */ + BOKMAAL, + + /** Nynorsk, the minority written standard. */ + NYNORSK +} diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/PortugueseLightStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/PortugueseLightStemmer.java new file mode 100644 index 0000000000..bf85bbb267 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/PortugueseLightStemmer.java @@ -0,0 +1,239 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * This algorithm is updated based on code located at: + * http://members.unine.ch/jacques.savoy/clef/ + * + * Full copyright for that code follows: + */ +/* + * Copyright (c) 2005, Jacques Savoy + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. Redistributions in binary + * form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials + * provided with the distribution. Neither the name of the author nor the names + * of its contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +package opennlp.tools.stemmer.light; + +import opennlp.tools.commons.ThreadSafe; +import opennlp.tools.stemmer.Stemmer; +import opennlp.tools.stemmer.StemmerFactory; + +import static opennlp.tools.stemmer.light.StemmerUtil.endsWith; +/** + * Light Stemmer for Portuguese + * + *

This stemmer implements the "UniNE" algorithm in: Light Stemming Approaches for the French, + * Portuguese, German and Hungarian Languages Jacques Savoy + * + *

Adapted from the identically named algorithm in Apache Lucene's analysis-common module. + * Instances are stateless and safe for concurrent use by multiple threads; each instance is also + * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a + * case-folding normalization step; the stemmer does not fold case itself.

+ */ +@ThreadSafe +public final class PortugueseLightStemmer implements Stemmer, StemmerFactory { + /** {@inheritDoc} */ + @Override + public CharSequence stem(CharSequence word) { + if (word == null) { + throw new IllegalArgumentException("The word must not be null."); + } + final int length = word.length(); + final char[] buffer = new char[length]; + for (int i = 0; i < length; i++) { + buffer[i] = word.charAt(i); + } + final int stemmedLength = stem(buffer, length); + return new String(buffer, 0, stemmedLength); + } + + /** {@inheritDoc} */ + @Override + public Stemmer newStemmer() { + return this; + } + + private int stem(char[] s, int len) { + if (len < 4) return len; + + len = removeSuffix(s, len); + + if (len > 3 && s[len - 1] == 'a') len = normFeminine(s, len); + + if (len > 4) + switch (s[len - 1]) { + case 'e': + case 'a': + case 'o': + len--; + break; + } + + for (int i = 0; i < len; i++) + switch (s[i]) { + case 'à': + case 'á': + case 'â': + case 'ä': + case 'ã': + s[i] = 'a'; + break; + case 'ò': + case 'ó': + case 'ô': + case 'ö': + case 'õ': + s[i] = 'o'; + break; + case 'è': + case 'é': + case 'ê': + case 'ë': + s[i] = 'e'; + break; + case 'ù': + case 'ú': + case 'û': + case 'ü': + s[i] = 'u'; + break; + case 'ì': + case 'í': + case 'î': + case 'ï': + s[i] = 'i'; + break; + case 'ç': + s[i] = 'c'; + break; + } + + return len; + } + + private int removeSuffix(char[] s, int len) { + if (len > 4 && endsWith(s, len, "es")) + switch (s[len - 3]) { + case 'r': + case 's': + case 'l': + case 'z': + return len - 2; + } + + if (len > 3 && endsWith(s, len, "ns")) { + s[len - 2] = 'm'; + return len - 1; + } + + if (len > 4 && (endsWith(s, len, "eis") || endsWith(s, len, "éis"))) { + s[len - 3] = 'e'; + s[len - 2] = 'l'; + return len - 1; + } + + if (len > 4 && endsWith(s, len, "ais")) { + s[len - 2] = 'l'; + return len - 1; + } + + if (len > 4 && endsWith(s, len, "óis")) { + s[len - 3] = 'o'; + s[len - 2] = 'l'; + return len - 1; + } + + if (len > 4 && endsWith(s, len, "is")) { + s[len - 1] = 'l'; + return len; + } + + if (len > 3 && (endsWith(s, len, "ões") || endsWith(s, len, "ães"))) { + len--; + s[len - 2] = 'ã'; + s[len - 1] = 'o'; + return len; + } + + if (len > 6 && endsWith(s, len, "mente")) return len - 5; + + if (len > 3 && s[len - 1] == 's') return len - 1; + return len; + } + + private int normFeminine(char[] s, int len) { + if (len > 7 + && (endsWith(s, len, "inha") || endsWith(s, len, "iaca") || endsWith(s, len, "eira"))) { + s[len - 1] = 'o'; + return len; + } + + if (len > 6) { + if (endsWith(s, len, "osa") + || endsWith(s, len, "ica") + || endsWith(s, len, "ida") + || endsWith(s, len, "ada") + || endsWith(s, len, "iva") + || endsWith(s, len, "ama")) { + s[len - 1] = 'o'; + return len; + } + + if (endsWith(s, len, "ona")) { + s[len - 3] = 'ã'; + s[len - 2] = 'o'; + return len - 1; + } + + if (endsWith(s, len, "ora")) return len - 1; + + if (endsWith(s, len, "esa")) { + s[len - 3] = 'ê'; + return len - 1; + } + + if (endsWith(s, len, "na")) { + s[len - 1] = 'o'; + return len; + } + } + return len; + } +} diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/RussianLightStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/RussianLightStemmer.java new file mode 100644 index 0000000000..2089b00c26 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/RussianLightStemmer.java @@ -0,0 +1,178 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * This algorithm is updated based on code located at: + * http://members.unine.ch/jacques.savoy/clef/ + * + * Full copyright for that code follows: + */ +/* + * Copyright (c) 2005, Jacques Savoy + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. Redistributions in binary + * form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials + * provided with the distribution. Neither the name of the author nor the names + * of its contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +package opennlp.tools.stemmer.light; + +import opennlp.tools.commons.ThreadSafe; +import opennlp.tools.stemmer.Stemmer; +import opennlp.tools.stemmer.StemmerFactory; + +import static opennlp.tools.stemmer.light.StemmerUtil.endsWith; +/** + * Light Stemmer for Russian. + * + *

This stemmer implements the following algorithm: Indexing and Searching Strategies for the + * Russian Language. Ljiljana Dolamic and Jacques Savoy. + * + *

Adapted from the identically named algorithm in Apache Lucene's analysis-common module. + * Instances are stateless and safe for concurrent use by multiple threads; each instance is also + * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a + * case-folding normalization step; the stemmer does not fold case itself.

+ */ +@ThreadSafe +public final class RussianLightStemmer implements Stemmer, StemmerFactory { + /** {@inheritDoc} */ + @Override + public CharSequence stem(CharSequence word) { + if (word == null) { + throw new IllegalArgumentException("The word must not be null."); + } + final int length = word.length(); + final char[] buffer = new char[length]; + for (int i = 0; i < length; i++) { + buffer[i] = word.charAt(i); + } + final int stemmedLength = stem(buffer, length); + return new String(buffer, 0, stemmedLength); + } + + /** {@inheritDoc} */ + @Override + public Stemmer newStemmer() { + return this; + } + + private int stem(char[] s, int len) { + len = removeCase(s, len); + return normalize(s, len); + } + + private int normalize(char[] s, int len) { + if (len > 3) + switch (s[len - 1]) { + case 'ь': + case 'и': + return len - 1; + case 'н': + if (s[len - 2] == 'н') return len - 1; + } + return len; + } + + private int removeCase(char[] s, int len) { + if (len > 6 && (endsWith(s, len, "иями") || endsWith(s, len, "оями"))) return len - 4; + + if (len > 5 + && (endsWith(s, len, "иям") + || endsWith(s, len, "иях") + || endsWith(s, len, "оях") + || endsWith(s, len, "ями") + || endsWith(s, len, "оям") + || endsWith(s, len, "оьв") + || endsWith(s, len, "ами") + || endsWith(s, len, "его") + || endsWith(s, len, "ему") + || endsWith(s, len, "ери") + || endsWith(s, len, "ими") + || endsWith(s, len, "ого") + || endsWith(s, len, "ому") + || endsWith(s, len, "ыми") + || endsWith(s, len, "оев"))) return len - 3; + + if (len > 4 + && (endsWith(s, len, "ая") + || endsWith(s, len, "яя") + || endsWith(s, len, "ях") + || endsWith(s, len, "юю") + || endsWith(s, len, "ах") + || endsWith(s, len, "ею") + || endsWith(s, len, "их") + || endsWith(s, len, "ия") + || endsWith(s, len, "ию") + || endsWith(s, len, "ьв") + || endsWith(s, len, "ою") + || endsWith(s, len, "ую") + || endsWith(s, len, "ям") + || endsWith(s, len, "ых") + || endsWith(s, len, "ея") + || endsWith(s, len, "ам") + || endsWith(s, len, "ем") + || endsWith(s, len, "ей") + || endsWith(s, len, "ём") + || endsWith(s, len, "ев") + || endsWith(s, len, "ий") + || endsWith(s, len, "им") + || endsWith(s, len, "ое") + || endsWith(s, len, "ой") + || endsWith(s, len, "ом") + || endsWith(s, len, "ов") + || endsWith(s, len, "ые") + || endsWith(s, len, "ый") + || endsWith(s, len, "ым") + || endsWith(s, len, "ми"))) return len - 2; + + if (len > 3) + switch (s[len - 1]) { + case 'а': + case 'е': + case 'и': + case 'о': + case 'у': + case 'й': + case 'ы': + case 'я': + case 'ь': + return len - 1; + } + + return len; + } +} diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/SpanishLightStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/SpanishLightStemmer.java new file mode 100644 index 0000000000..0645593dac --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/SpanishLightStemmer.java @@ -0,0 +1,145 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * This algorithm is updated based on code located at: + * http://members.unine.ch/jacques.savoy/clef/ + * + * Full copyright for that code follows: + */ +/* + * Copyright (c) 2005, Jacques Savoy + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. Redistributions in binary + * form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials + * provided with the distribution. Neither the name of the author nor the names + * of its contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +package opennlp.tools.stemmer.light; + +import opennlp.tools.commons.ThreadSafe; +import opennlp.tools.stemmer.Stemmer; +import opennlp.tools.stemmer.StemmerFactory; +/** + * Light Stemmer for Spanish + * + *

This stemmer implements the algorithm described in: Report on CLEF-2001 Experiments + * Jacques Savoy + * + *

Adapted from the identically named algorithm in Apache Lucene's analysis-common module. + * Instances are stateless and safe for concurrent use by multiple threads; each instance is also + * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a + * case-folding normalization step; the stemmer does not fold case itself.

+ */ +@ThreadSafe +public final class SpanishLightStemmer implements Stemmer, StemmerFactory { + /** {@inheritDoc} */ + @Override + public CharSequence stem(CharSequence word) { + if (word == null) { + throw new IllegalArgumentException("The word must not be null."); + } + final int length = word.length(); + final char[] buffer = new char[length]; + for (int i = 0; i < length; i++) { + buffer[i] = word.charAt(i); + } + final int stemmedLength = stem(buffer, length); + return new String(buffer, 0, stemmedLength); + } + + /** {@inheritDoc} */ + @Override + public Stemmer newStemmer() { + return this; + } + + + private int stem(char[] s, int len) { + if (len < 5) return len; + + for (int i = 0; i < len; i++) + switch (s[i]) { + case 'à': + case 'á': + case 'â': + case 'ä': + s[i] = 'a'; + break; + case 'ò': + case 'ó': + case 'ô': + case 'ö': + s[i] = 'o'; + break; + case 'è': + case 'é': + case 'ê': + case 'ë': + s[i] = 'e'; + break; + case 'ù': + case 'ú': + case 'û': + case 'ü': + s[i] = 'u'; + break; + case 'ì': + case 'í': + case 'î': + case 'ï': + s[i] = 'i'; + break; + } + + switch (s[len - 1]) { + case 'o': + case 'a': + case 'e': + return len - 1; + case 's': + if (s[len - 2] == 'e' && s[len - 3] == 's' && s[len - 4] == 'e') return len - 2; + if (s[len - 2] == 'e' && s[len - 3] == 'c') { + s[len - 3] = 'z'; + return len - 2; + } + if (s[len - 2] == 'o' || s[len - 2] == 'a' || s[len - 2] == 'e') return len - 2; + } + + return len; + } +} diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/SpanishMinimalStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/SpanishMinimalStemmer.java new file mode 100644 index 0000000000..b14ad49969 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/SpanishMinimalStemmer.java @@ -0,0 +1,117 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package opennlp.tools.stemmer.light; + +import opennlp.tools.commons.ThreadSafe; +import opennlp.tools.stemmer.Stemmer; +import opennlp.tools.stemmer.StemmerFactory; +/** + * Minimal plural stemmer for Spanish. + * + *

This stemmer implements the "plurals" stemmer for spanish language. + * + * @deprecated Use {@link SpanishPluralStemmer} instead. + */ +@Deprecated +@ThreadSafe +public final class SpanishMinimalStemmer implements Stemmer, StemmerFactory { + /** {@inheritDoc} */ + @Override + public CharSequence stem(CharSequence word) { + if (word == null) { + throw new IllegalArgumentException("The word must not be null."); + } + final int length = word.length(); + final char[] buffer = new char[length]; + for (int i = 0; i < length; i++) { + buffer[i] = word.charAt(i); + } + final int stemmedLength = stem(buffer, length); + return new String(buffer, 0, stemmedLength); + } + + /** {@inheritDoc} */ + @Override + public Stemmer newStemmer() { + return this; + } + + + private int stem(char[] s, int len) { + if (len < 4 || s[len - 1] != 's') return len; + + for (int i = 0; i < len; i++) + switch (s[i]) { + case 'à': + case 'á': + case 'â': + case 'ä': + s[i] = 'a'; + break; + case 'ò': + case 'ó': + case 'ô': + case 'ö': + s[i] = 'o'; + break; + case 'è': + case 'é': + case 'ê': + case 'ë': + s[i] = 'e'; + break; + case 'ù': + case 'ú': + case 'û': + case 'ü': + s[i] = 'u'; + break; + case 'ì': + case 'í': + case 'î': + case 'ï': + s[i] = 'i'; + break; + case 'ñ': + s[i] = 'n'; + break; + } + + switch (s[len - 1]) { + case 's': + if (s[len - 2] == 'a' || s[len - 2] == 'o') { + return len - 1; + } + if (s[len - 2] == 'e') { + if (s[len - 3] == 's' && s[len - 4] == 'e') { + return len - 2; + } + if (s[len - 3] == 'c') { + s[len - 3] = 'z'; + return len - 2; + } else { + return len - 2; + } + } else { + return len - 1; + } + } + + return len; + } +} diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/StemmerUtil.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/StemmerUtil.java new file mode 100644 index 0000000000..4c0b3f804f --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/StemmerUtil.java @@ -0,0 +1,123 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package opennlp.tools.stemmer.light; + +/** + * Buffer helpers shared by the light and minimal stemmers, adapted from Apache Lucene's + * analysis-common module. All operate on a {@code char[]} prefix of the given length, the + * in-place convention the stemming algorithms use. + */ +final class StemmerUtil { + + private StemmerUtil() { + } + + /** + * Checks whether the buffer starts with a prefix. + * + * @param s The input buffer. + * @param len The filled length of the buffer. + * @param prefix The prefix to test. + * @return {@code true} if the buffer starts with {@code prefix}. + */ + static boolean startsWith(char[] s, int len, String prefix) { + final int prefixLen = prefix.length(); + if (prefixLen > len) { + return false; + } + for (int i = 0; i < prefixLen; i++) { + if (s[i] != prefix.charAt(i)) { + return false; + } + } + return true; + } + + /** + * Checks whether the buffer ends with a suffix. + * + * @param s The input buffer. + * @param len The filled length of the buffer. + * @param suffix The suffix to test. + * @return {@code true} if the buffer ends with {@code suffix}. + */ + static boolean endsWith(char[] s, int len, String suffix) { + final int suffixLen = suffix.length(); + if (suffixLen > len) { + return false; + } + for (int i = suffixLen - 1; i >= 0; i--) { + if (s[len - (suffixLen - i)] != suffix.charAt(i)) { + return false; + } + } + return true; + } + + /** + * Checks whether the buffer ends with a suffix. + * + * @param s The input buffer. + * @param len The filled length of the buffer. + * @param suffix The suffix to test. + * @return {@code true} if the buffer ends with {@code suffix}. + */ + static boolean endsWith(char[] s, int len, char[] suffix) { + final int suffixLen = suffix.length; + if (suffixLen > len) { + return false; + } + for (int i = suffixLen - 1; i >= 0; i--) { + if (s[len - (suffixLen - i)] != suffix[i]) { + return false; + } + } + return true; + } + + /** + * Deletes one character in place. + * + * @param s The input buffer. + * @param pos The position of the character to delete; must be less than {@code len}. + * @param len The filled length of the buffer. + * @return The filled length after the deletion. + */ + static int delete(char[] s, int pos, int len) { + if (pos < len - 1) { + System.arraycopy(s, pos + 1, s, pos, len - pos - 1); + } + return len - 1; + } + + /** + * Deletes {@code nChars} characters in place. + * + * @param s The input buffer. + * @param pos The position of the first character to delete. + * @param len The filled length of the buffer. + * @param nChars The number of characters to delete; {@code pos + nChars} must not exceed + * {@code len}. + * @return The filled length after the deletion. + */ + static int deleteN(char[] s, int pos, int len, int nChars) { + if (pos + nChars < len) { + System.arraycopy(s, pos + nChars, s, pos, len - pos - nChars); + } + return len - nChars; + } +} diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/SwedishLightStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/SwedishLightStemmer.java new file mode 100644 index 0000000000..8f835c1a20 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/SwedishLightStemmer.java @@ -0,0 +1,130 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * This algorithm is updated based on code located at: + * http://members.unine.ch/jacques.savoy/clef/ + * + * Full copyright for that code follows: + */ +/* + * Copyright (c) 2005, Jacques Savoy + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. Redistributions in binary + * form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials + * provided with the distribution. Neither the name of the author nor the names + * of its contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +package opennlp.tools.stemmer.light; + +import opennlp.tools.commons.ThreadSafe; +import opennlp.tools.stemmer.Stemmer; +import opennlp.tools.stemmer.StemmerFactory; + +import static opennlp.tools.stemmer.light.StemmerUtil.endsWith; +/** + * Light Stemmer for Swedish. + * + *

This stemmer implements the algorithm described in: Report on CLEF-2003 Monolingual + * Tracks Jacques Savoy + * + *

Adapted from the identically named algorithm in Apache Lucene's analysis-common module. + * Instances are stateless and safe for concurrent use by multiple threads; each instance is also + * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a + * case-folding normalization step; the stemmer does not fold case itself.

+ */ +@ThreadSafe +public final class SwedishLightStemmer implements Stemmer, StemmerFactory { + /** {@inheritDoc} */ + @Override + public CharSequence stem(CharSequence word) { + if (word == null) { + throw new IllegalArgumentException("The word must not be null."); + } + final int length = word.length(); + final char[] buffer = new char[length]; + for (int i = 0; i < length; i++) { + buffer[i] = word.charAt(i); + } + final int stemmedLength = stem(buffer, length); + return new String(buffer, 0, stemmedLength); + } + + /** {@inheritDoc} */ + @Override + public Stemmer newStemmer() { + return this; + } + + private int stem(char[] s, int len) { + if (len > 4 && s[len - 1] == 's') len--; + + if (len > 7 && (endsWith(s, len, "elser") || endsWith(s, len, "heten"))) return len - 5; + + if (len > 6 + && (endsWith(s, len, "arne") + || endsWith(s, len, "erna") + || endsWith(s, len, "ande") + || endsWith(s, len, "else") + || endsWith(s, len, "aste") + || endsWith(s, len, "orna") + || endsWith(s, len, "aren"))) return len - 4; + + if (len > 5 && (endsWith(s, len, "are") || endsWith(s, len, "ast") || endsWith(s, len, "het"))) + return len - 3; + + if (len > 4 + && (endsWith(s, len, "ar") + || endsWith(s, len, "er") + || endsWith(s, len, "or") + || endsWith(s, len, "en") + || endsWith(s, len, "at") + || endsWith(s, len, "te") + || endsWith(s, len, "et"))) return len - 2; + + if (len > 3) + switch (s[len - 1]) { + case 't': + case 'a': + case 'e': + case 'n': + return len - 1; + } + + return len; + } +} diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/SwedishMinimalStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/SwedishMinimalStemmer.java new file mode 100644 index 0000000000..1eb2f64547 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/SwedishMinimalStemmer.java @@ -0,0 +1,124 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * The code is inspired from original code located at: http://members.unine.ch/jacques.savoy/clef/ + * + * Full copyright for that code follows: + */ +/* + * Copyright (c) 2005, Jacques Savoy + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. Redistributions in binary + * form must reproduce the above copyright notice, this list of conditions and + * the following disclaimer in the documentation and/or other materials + * provided with the distribution. Neither the name of the author nor the names + * of its contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +package opennlp.tools.stemmer.light; + +import opennlp.tools.commons.ThreadSafe; +import opennlp.tools.stemmer.Stemmer; +import opennlp.tools.stemmer.StemmerFactory; + +import static opennlp.tools.stemmer.light.StemmerUtil.endsWith; +/** + * Minimal Stemmer for Swedish. The algorithm is an adapted version of the SwedishLightStemmer, but + * only stripping the most common plural suffixes for nouns: -ar/arne/arna/aren, -at, -er/erna, -et, + * -or/orna, -en. We do not strip -an or -ans suffixes, since that would require a large dictionary + * of exceptions. + * + * @since 9.0.0 + * + *

Adapted from the identically named algorithm in Apache Lucene's analysis-common module. + * Instances are stateless and safe for concurrent use by multiple threads; each instance is also + * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a + * case-folding normalization step; the stemmer does not fold case itself.

+ */ +@ThreadSafe +public final class SwedishMinimalStemmer implements Stemmer, StemmerFactory { + /** {@inheritDoc} */ + @Override + public CharSequence stem(CharSequence word) { + if (word == null) { + throw new IllegalArgumentException("The word must not be null."); + } + final int length = word.length(); + final char[] buffer = new char[length]; + for (int i = 0; i < length; i++) { + buffer[i] = word.charAt(i); + } + final int stemmedLength = stem(buffer, length); + return new String(buffer, 0, stemmedLength); + } + + /** {@inheritDoc} */ + @Override + public Stemmer newStemmer() { + return this; + } + + private int stem(char[] s, int len) { + if (len > 4 && s[len - 1] == 's') len--; + + if (len > 6 + && (endsWith(s, len, "arne") + || endsWith(s, len, "erna") + || endsWith(s, len, "arna") + || endsWith(s, len, "orna") + || endsWith(s, len, "aren"))) return len - 4; + + if (len > 5 && (endsWith(s, len, "are"))) return len - 3; + + if (len > 4 + && (endsWith(s, len, "ar") + || endsWith(s, len, "at") + || endsWith(s, len, "er") + || endsWith(s, len, "et") + || endsWith(s, len, "or") + || endsWith(s, len, "en"))) return len - 2; + + if (len > 3) + switch (s[len - 1]) { + case 'a': + case 'e': + case 'n': + return len - 1; + } + + return len; + } +} diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/SnowballStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/SnowballStemmer.java index 7b8b1636ae..eff5554951 100644 --- a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/SnowballStemmer.java +++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/SnowballStemmer.java @@ -17,76 +17,87 @@ package opennlp.tools.stemmer.snowball; +import java.util.function.Supplier; + +import opennlp.tools.commons.ThreadSafe; +import opennlp.tools.stemmer.SharingStemmer; import opennlp.tools.stemmer.Stemmer; +/** + * A {@link Stemmer} backed by the generated Snowball engines. Each call is routed to a per-thread + * engine, so a single {@code SnowballStemmer} instance is safe to share across threads. + * + *

Long-running environments such as application containers should call + * {@link #clearThreadLocalState()} when a pooled thread no longer uses this stemmer.

+ */ +@ThreadSafe public class SnowballStemmer implements Stemmer { - private final AbstractSnowballStemmer stemmer; - private final int repeat; + private final SharingStemmer sharing; + /** + * Creates a stemmer for the given algorithm and repeat count. + * + * @param algorithm The Snowball algorithm. Must not be {@code null}. + * @param repeat How many times to apply the stemmer per word; must be positive. + * @throws IllegalArgumentException Thrown if {@code algorithm} is {@code null} or + * {@code repeat} is not positive. + */ public SnowballStemmer(ALGORITHM algorithm, int repeat) { - this.repeat = repeat; - - if (ALGORITHM.ARABIC.equals(algorithm)) { - stemmer = new arabicStemmer(); - } else if (ALGORITHM.DANISH.equals(algorithm)) { - stemmer = new danishStemmer(); - } else if (ALGORITHM.DUTCH.equals(algorithm)) { - stemmer = new dutchStemmer(); - } else if (ALGORITHM.CATALAN.equals(algorithm)) { - stemmer = new catalanStemmer(); - } else if (ALGORITHM.ENGLISH.equals(algorithm)) { - stemmer = new englishStemmer(); - } else if (ALGORITHM.FINNISH.equals(algorithm)) { - stemmer = new finnishStemmer(); - } else if (ALGORITHM.FRENCH.equals(algorithm)) { - stemmer = new frenchStemmer(); - } else if (ALGORITHM.GERMAN.equals(algorithm)) { - stemmer = new germanStemmer(); - } else if (ALGORITHM.GREEK.equals(algorithm)) { - stemmer = new greekStemmer(); - } else if (ALGORITHM.HUNGARIAN.equals(algorithm)) { - stemmer = new hungarianStemmer(); - } else if (ALGORITHM.INDONESIAN.equals(algorithm)) { - stemmer = new indonesianStemmer(); - } else if (ALGORITHM.IRISH.equals(algorithm)) { - stemmer = new irishStemmer(); - } else if (ALGORITHM.ITALIAN.equals(algorithm)) { - stemmer = new italianStemmer(); - } else if (ALGORITHM.NORWEGIAN.equals(algorithm)) { - stemmer = new norwegianStemmer(); - } else if (ALGORITHM.PORTER.equals(algorithm)) { - stemmer = new porterStemmer(); - } else if (ALGORITHM.PORTUGUESE.equals(algorithm)) { - stemmer = new portugueseStemmer(); - } else if (ALGORITHM.ROMANIAN.equals(algorithm)) { - stemmer = new romanianStemmer(); - } else if (ALGORITHM.RUSSIAN.equals(algorithm)) { - stemmer = new russianStemmer(); - } else if (ALGORITHM.SPANISH.equals(algorithm)) { - stemmer = new spanishStemmer(); - } else if (ALGORITHM.SWEDISH.equals(algorithm)) { - stemmer = new swedishStemmer(); - } else if (ALGORITHM.TURKISH.equals(algorithm)) { - stemmer = new turkishStemmer(); - } else { - throw new IllegalStateException("Unexpected stemmer algorithm: " + algorithm); - } + this.sharing = new SharingStemmer(new SnowballStemmerFactory(algorithm, repeat)); } + /** + * Creates a stemmer for the given algorithm with {@code repeat = 1}. + * + * @param algorithm The Snowball algorithm. Must not be {@code null}. + */ public SnowballStemmer(ALGORITHM algorithm) { this(algorithm, 1); } - public CharSequence stem(CharSequence word) { - - stemmer.setCurrent(word.toString()); + /** + * {@return a supplier of fresh engine instances for {@code algorithm}} Shared with + * {@link SnowballStemmerFactory}, whose products embed one engine directly. + */ + static Supplier engineFor(ALGORITHM algorithm) { + return switch (algorithm) { + case ARABIC -> arabicStemmer::new; + case DANISH -> danishStemmer::new; + case DUTCH -> dutchStemmer::new; + case CATALAN -> catalanStemmer::new; + case ENGLISH -> englishStemmer::new; + case FINNISH -> finnishStemmer::new; + case FRENCH -> frenchStemmer::new; + case GERMAN -> germanStemmer::new; + case GREEK -> greekStemmer::new; + case HUNGARIAN -> hungarianStemmer::new; + case INDONESIAN -> indonesianStemmer::new; + case IRISH -> irishStemmer::new; + case ITALIAN -> italianStemmer::new; + case NORWEGIAN -> norwegianStemmer::new; + case PORTER -> porterStemmer::new; + case PORTUGUESE -> portugueseStemmer::new; + case ROMANIAN -> romanianStemmer::new; + case RUSSIAN -> russianStemmer::new; + case SPANISH -> spanishStemmer::new; + case SWEDISH -> swedishStemmer::new; + case TURKISH -> turkishStemmer::new; + }; + } - for (int i = 0; i < repeat; i++) { - stemmer.stem(); - } + /** {@inheritDoc} */ + @Override + public CharSequence stem(CharSequence word) { + return sharing.stem(word); + } - return stemmer.getCurrent(); + /** + * Removes this thread's engine to prevent classloader leaks in container environments. Call + * when the thread is returned to a pool or the stemmer is no longer needed. + */ + public void clearThreadLocalState() { + sharing.clearThreadLocalState(); } public enum ALGORITHM { diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/SnowballStemmerFactory.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/SnowballStemmerFactory.java new file mode 100644 index 0000000000..e5c08e4ab7 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/SnowballStemmerFactory.java @@ -0,0 +1,91 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package opennlp.tools.stemmer.snowball; + +import opennlp.tools.commons.ThreadSafe; +import opennlp.tools.stemmer.Stemmer; +import opennlp.tools.stemmer.StemmerFactory; + +/** + * A thread-safe factory that captures a Snowball stemmer configuration for APIs that accept a + * {@link StemmerFactory}. {@link #newStemmer()} returns a plain, thread-confined stemmer. + * + * @param algorithm The Snowball algorithm. Must not be {@code null}. + * @param repeat How many times to apply the stemmer per word; must be positive. + */ +@ThreadSafe +public record SnowballStemmerFactory(SnowballStemmer.ALGORITHM algorithm, int repeat) + implements StemmerFactory { + + /** + * Creates a factory with {@code repeat = 1}. + * + * @param algorithm The Snowball algorithm. Must not be {@code null}. + */ + public SnowballStemmerFactory(SnowballStemmer.ALGORITHM algorithm) { + this(algorithm, 1); + } + + /** + * Validates the components. + * + * @throws IllegalArgumentException Thrown if {@code algorithm} is {@code null} or + * {@code repeat} is not positive. + */ + public SnowballStemmerFactory { + if (algorithm == null) { + throw new IllegalArgumentException("algorithm must not be null"); + } + if (repeat <= 0) { + throw new IllegalArgumentException("repeat must be positive, got " + repeat); + } + } + + /** {@inheritDoc} */ + @Override + public Stemmer newStemmer() { + return new ConfinedStemmer(SnowballStemmer.engineFor(algorithm).get(), repeat); + } + + /** + * A thread-confined {@link Stemmer} wrapping a single engine. Not thread-safe. + */ + private static final class ConfinedStemmer implements Stemmer { + + private final AbstractSnowballStemmer engine; + private final int repeat; + + private ConfinedStemmer(AbstractSnowballStemmer engine, int repeat) { + this.engine = engine; + this.repeat = repeat; + } + + /** {@inheritDoc} */ + @Override + public CharSequence stem(CharSequence word) { + if (word == null) { + throw new IllegalArgumentException("word must not be null"); + } + engine.setCurrent(word.toString()); + for (int i = 0; i < repeat; i++) { + engine.stem(); + } + return engine.getCurrent(); + } + } +} diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/normalizer/NormalizationProfile.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/normalizer/NormalizationProfile.java index e7a47477ed..379c7622ba 100644 --- a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/normalizer/NormalizationProfile.java +++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/normalizer/NormalizationProfile.java @@ -4,7 +4,7 @@ * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at + * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * @@ -17,7 +17,9 @@ package opennlp.tools.util.normalizer; import opennlp.tools.stemmer.Stemmer; +import opennlp.tools.stemmer.StemmerFactory; import opennlp.tools.stemmer.snowball.SnowballStemmer; +import opennlp.tools.stemmer.snowball.SnowballStemmerFactory; /** * Per-language normalization settings, mirroring how OpenNLP already selects a Snowball stemmer by @@ -30,9 +32,7 @@ * accented letters are matching variants of their base letter), the German-specific * {@link GermanUmlautCharSequenceNormalizer} (a-umlaut to {@code ae}, eszett to {@code ss}, ...) for * German, and {@code null} where diacritics mark distinct letters (the Nordic languages and the - * non-Latin scripts), because folding there is language-wrong. This is a search-recall choice, not a - * statement of linguistic correctness; callers can build a {@link TermAnalyzer} directly to - * override it.

+ * non-Latin scripts). Callers can build a {@link TermAnalyzer} directly to override it.

* * @param language The language, as an ISO 639-3 code (for example {@code "eng"}). Must * not be {@code null} or blank. @@ -61,8 +61,17 @@ public record NormalizationProfile(String language, SnowballStemmer.ALGORITHM st } /** - * {@return a new {@link Stemmer} for this language} A fresh instance is returned on each call - * because the Snowball stemmers are stateful and not thread-safe. + * {@return a thread-safe factory for this language's Snowball stemmer} The factory may be + * shared; each {@linkplain StemmerFactory#newStemmer() minted stemmer} is confined to the + * calling thread. + */ + public StemmerFactory stemmerFactory() { + return new SnowballStemmerFactory(stemmerAlgorithm); + } + + /** + * {@return a new {@link Stemmer} for this language} The returned {@link SnowballStemmer} is + * thread-safe and may be shared across threads. */ public Stemmer newStemmer() { return new SnowballStemmer(stemmerAlgorithm); @@ -70,8 +79,8 @@ public Stemmer newStemmer() { /** * Returns a matching analyzer for this language: NFC, case folding, the language's - * {@linkplain #accentFold() diacritic fold} when it has one, then stemming. Each call builds an - * independent analyzer with its own stemmer, so use one per thread when stemming. + * {@linkplain #accentFold() diacritic fold} when it has one, then stemming. The returned + * analyzer is thread-safe and may be reused across threads. * * @return the analyzer. */ @@ -80,6 +89,6 @@ public TermAnalyzer matchingAnalyzer() { if (accentFold != null) { builder.transform(Dimension.ACCENT_FOLD, accentFold); } - return builder.stem(newStemmer()).build(); + return builder.stem(stemmerFactory()).build(); } } diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/normalizer/TermAnalyzer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/normalizer/TermAnalyzer.java index 39f213aaad..8521e2e3ef 100644 --- a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/normalizer/TermAnalyzer.java +++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/normalizer/TermAnalyzer.java @@ -25,7 +25,9 @@ import java.util.Set; import opennlp.tools.lemmatizer.Lemmatizer; +import opennlp.tools.stemmer.CachingStemmer; import opennlp.tools.stemmer.Stemmer; +import opennlp.tools.stemmer.StemmerFactory; import opennlp.tools.tokenize.uax29.WordTokenizer; import opennlp.tools.util.Span; @@ -41,10 +43,12 @@ * {@link Dimension#LEMMA} are enabled by supplying a {@link Stemmer} or {@link Lemmatizer}.

* *

An instance is immutable and is thread-safe when its configured transforms are. The built-in - * character normalizers are stateless, but the Snowball stemmers are not, so an analyzer configured - * with a {@link Stemmer} (for example through {@code NormalizationProfile.matchingAnalyzer()}) should - * not be shared across threads when {@link Dimension#STEM} is used. Build one with - * {@link #builder()}.

+ * character normalizers are stateless and the Snowball stemmers are thread-safe. When + * {@link Dimension#STEM} is enabled through {@link Builder#stem(StemmerFactory)}, stemming is + * routed through a {@link CachingStemmer}: the analyzer is safe to share across threads even when + * the factory mints stateful stemmers, and repeated words resolve from a bounded per-thread cache + * instead of being re-stemmed. A raw {@link Stemmer} passed to {@link Builder#stem(Stemmer)} is + * only safe when that stemmer is itself thread-safe or the analyzer is confined to one thread.

*/ public final class TermAnalyzer { @@ -392,6 +396,35 @@ public Builder stem(Stemmer value) { return this; } + /** + * Enables {@link Dimension#STEM} through a {@link StemmerFactory}. The analyzer receives a + * {@link CachingStemmer} with the {@linkplain CachingStemmer#DEFAULT_CAPACITY default cache + * capacity}: it can be shared across threads, and repeated words resolve from a bounded + * per-thread cache instead of being re-stemmed. + * + * @param factory The stemmer factory. Must not be {@code null}. + * @return this builder + * @throws IllegalArgumentException if {@code factory} is {@code null}. + */ + public Builder stem(StemmerFactory factory) { + return stem(factory, CachingStemmer.DEFAULT_CAPACITY); + } + + /** + * Enables {@link Dimension#STEM} through a {@link StemmerFactory} with an explicit stem cache + * capacity, otherwise identical to {@link #stem(StemmerFactory)}. + * + * @param factory The stemmer factory. Must not be {@code null}. + * @param cacheSize The maximum number of word-to-stem entries kept per thread; must be + * positive. + * @return this builder + * @throws IllegalArgumentException if {@code factory} is {@code null} or {@code cacheSize} is + * not positive. + */ + public Builder stem(StemmerFactory factory, int cacheSize) { + return stem(new CachingStemmer(factory, cacheSize)); + } + /** * Enables {@link Dimension#LEMMA} through the given lemmatizer. * diff --git a/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/stemmer/CachingStemmerTest.java b/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/stemmer/CachingStemmerTest.java new file mode 100644 index 0000000000..6890dbca80 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/stemmer/CachingStemmerTest.java @@ -0,0 +1,139 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package opennlp.tools.stemmer; + +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import opennlp.tools.stemmer.snowball.SnowballStemmer; +import opennlp.tools.stemmer.snowball.SnowballStemmerFactory; + +class CachingStemmerTest { + + private static final SnowballStemmerFactory ENGLISH = + new SnowballStemmerFactory(SnowballStemmer.ALGORITHM.ENGLISH); + + @Test + void cachedResultsMatchUncachedResults() { + Stemmer reference = ENGLISH.newStemmer(); + CachingStemmer cached = new CachingStemmer(ENGLISH); + + List words = List.of("running", "declining", "conspiracies", "this", + "running", "declining", "ab'yle", "running"); + for (String word : words) { + Assertions.assertEquals(reference.stem(word).toString(), cached.stem(word).toString(), + "mismatch for '" + word + "'"); + } + } + + @Test + void repeatedWordsHitTheCache() { + AtomicInteger delegateCalls = new AtomicInteger(); + StemmerFactory countingFactory = () -> { + Stemmer delegate = ENGLISH.newStemmer(); + return word -> { + delegateCalls.incrementAndGet(); + return delegate.stem(word); + }; + }; + + CachingStemmer cached = new CachingStemmer(countingFactory); + for (int i = 0; i < 100; i++) { + Assertions.assertEquals("run", cached.stem("running").toString()); + } + Assertions.assertEquals(1, delegateCalls.get()); + } + + @Test + void evictionKeepsResultsCorrect() { + AtomicInteger delegateCalls = new AtomicInteger(); + StemmerFactory countingFactory = () -> { + Stemmer delegate = ENGLISH.newStemmer(); + return word -> { + delegateCalls.incrementAndGet(); + return delegate.stem(word); + }; + }; + + // Capacity 2 with a 3-word cycle: every access evicts the word needed two steps later. + CachingStemmer cached = new CachingStemmer(countingFactory, 2); + Stemmer reference = ENGLISH.newStemmer(); + List words = List.of("running", "declining", "conspiracies"); + for (int round = 0; round < 5; round++) { + for (String word : words) { + Assertions.assertEquals(reference.stem(word).toString(), cached.stem(word).toString()); + } + } + Assertions.assertTrue(delegateCalls.get() > 3, + "expected evictions to force repeated delegate calls, got " + delegateCalls.get()); + } + + @Test + void stemAllBypassesTheCache() { + CachingStemmer cached = new CachingStemmer(ENGLISH); + List forms = cached.stemAll("running"); + Assertions.assertEquals(1, forms.size()); + Assertions.assertEquals("run", forms.getFirst().toString()); + } + + @Test + void isSafeUnderConcurrentUse() throws Exception { + Stemmer reference = ENGLISH.newStemmer(); + List words = List.of("running", "declining", "conspiracies", "annotations", + "photographers", "responsibilities", "this", "querying"); + List expected = new ArrayList<>(words.size()); + for (String word : words) { + expected.add(reference.stem(word).toString()); + } + + // Capacity below the vocabulary size, so threads continuously evict within their own cache. + CachingStemmer cached = new CachingStemmer(ENGLISH, 4); + try (ExecutorService pool = Executors.newFixedThreadPool(8)) { + Future[] tasks = new Future[32]; + for (int i = 0; i < tasks.length; i++) { + final int offset = i; + tasks[i] = pool.submit(() -> { + for (int n = 0; n < 200; n++) { + for (int w = 0; w < words.size(); w++) { + int idx = (w + offset) % words.size(); + Assertions.assertEquals(expected.get(idx), cached.stem(words.get(idx)).toString()); + } + } + }); + } + for (Future task : tasks) { + task.get(30, TimeUnit.SECONDS); + } + } + } + + @Test + void rejectsInvalidArguments() { + Assertions.assertThrows(IllegalArgumentException.class, () -> new CachingStemmer(null)); + Assertions.assertThrows(IllegalArgumentException.class, () -> new CachingStemmer(ENGLISH, 0)); + Assertions.assertThrows(IllegalArgumentException.class, () -> new CachingStemmer(ENGLISH, -1)); + } +} diff --git a/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/stemmer/StemmerFactoryTest.java b/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/stemmer/StemmerFactoryTest.java new file mode 100644 index 0000000000..9a19d01109 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/stemmer/StemmerFactoryTest.java @@ -0,0 +1,376 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package opennlp.tools.stemmer; + +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.EnumSource; + +import opennlp.tools.stemmer.snowball.SnowballStemmer; +import opennlp.tools.stemmer.snowball.SnowballStemmerFactory; + +class StemmerFactoryTest { + + @Test + void snowballFactoryMatchesDirectStemmer() { + StemmerFactory factory = new SnowballStemmerFactory(SnowballStemmer.ALGORITHM.ENGLISH); + Stemmer direct = new SnowballStemmer(SnowballStemmer.ALGORITHM.ENGLISH); + Assertions.assertEquals(direct.stem("running"), factory.newStemmer().stem("running")); + } + + @Test + void porterFactoryMatchesDirectStemmer() { + StemmerFactory factory = new PorterStemmerFactory(); + Stemmer direct = new PorterStemmer(); + Assertions.assertEquals(direct.stem("running"), factory.newStemmer().stem("running")); + } + + @Test + void stemAllDefaultReturnsSingleForm() { + StemmerFactory factory = new SnowballStemmerFactory(SnowballStemmer.ALGORITHM.ENGLISH); + List forms = factory.newStemmer().stemAll("running"); + Assertions.assertEquals(1, forms.size()); + Assertions.assertEquals("run", forms.getFirst()); + } + + @Test + void factoryRejectsInvalidRepeat() { + Assertions.assertThrows(IllegalArgumentException.class, + () -> new SnowballStemmerFactory(SnowballStemmer.ALGORITHM.ENGLISH, 0)); + } + + @Test + void sharingStemmerMatchesSingleThreadReference() throws Exception { + StemmerFactory factory = new SnowballStemmerFactory(SnowballStemmer.ALGORITHM.ENGLISH); + Stemmer reference = factory.newStemmer(); + SharingStemmer shared = new SharingStemmer(factory); + + Assertions.assertEquals(reference.stem("running"), shared.stem("running")); + Assertions.assertEquals(reference.stem("this"), shared.stem("this")); + } + + @Test + void sharingStemmerIsSafeUnderConcurrentUse() throws Exception { + StemmerFactory factory = new SnowballStemmerFactory(SnowballStemmer.ALGORITHM.ENGLISH); + SharingStemmer shared = new SharingStemmer(factory); + CharSequence expectedRunning = factory.newStemmer().stem("running"); + CharSequence expectedDeclining = factory.newStemmer().stem("declining"); + + try (ExecutorService pool = Executors.newFixedThreadPool(8)) { + Future[] tasks = new Future[64]; + for (int i = 0; i < tasks.length; i++) { + tasks[i] = pool.submit(() -> { + for (int n = 0; n < 200; n++) { + Assertions.assertEquals(expectedRunning, shared.stem("running")); + Assertions.assertEquals(expectedDeclining, shared.stem("declining")); + } + }); + } + for (Future task : tasks) { + task.get(30, TimeUnit.SECONDS); + } + } + } + + @Test + void snowballStemmerIsSafeUnderConcurrentUse() throws Exception { + Stemmer shared = new SnowballStemmer(SnowballStemmer.ALGORITHM.ENGLISH); + CharSequence expectedRunning = shared.stem("running"); + CharSequence expectedDeclining = shared.stem("declining"); + + try (ExecutorService pool = Executors.newFixedThreadPool(8)) { + Future[] tasks = new Future[64]; + for (int i = 0; i < tasks.length; i++) { + tasks[i] = pool.submit(() -> { + for (int n = 0; n < 200; n++) { + Assertions.assertEquals(expectedRunning, shared.stem("running")); + Assertions.assertEquals(expectedDeclining, shared.stem("declining")); + } + }); + } + for (Future task : tasks) { + task.get(30, TimeUnit.SECONDS); + } + } + } + + @Test + void sharingStemmerRejectsNullFactory() { + Assertions.assertThrows(IllegalArgumentException.class, () -> new SharingStemmer(null)); + } + + @ParameterizedTest + @EnumSource(SnowballStemmer.ALGORITHM.class) + void everyAlgorithmIsSafeUnderConcurrentUse(SnowballStemmer.ALGORITHM algorithm) + throws Exception { + // Words across scripts; stemming any input is deterministic, so a mismatch under + // concurrency signals corrupted shared state, regardless of the input language. + List words = List.of("running", "declining", "ab'yle", "prévoyant", + "επιστροφή", "яблоками", "استفتياكما", "skrøbeligheder"); + Stemmer reference = new SnowballStemmer(algorithm); + List expected = new ArrayList<>(words.size()); + for (String word : words) { + expected.add(reference.stem(word).toString()); + } + + Stemmer shared = new SnowballStemmer(algorithm); + try (ExecutorService pool = Executors.newFixedThreadPool(4)) { + Future[] tasks = new Future[16]; + for (int i = 0; i < tasks.length; i++) { + final int offset = i; + tasks[i] = pool.submit(() -> { + for (int n = 0; n < 50; n++) { + for (int w = 0; w < words.size(); w++) { + int idx = (w + offset) % words.size(); + Assertions.assertEquals(expected.get(idx), shared.stem(words.get(idx)).toString()); + } + } + }); + } + for (Future task : tasks) { + task.get(30, TimeUnit.SECONDS); + } + } + } + + @Test + void ownerThreadCanStemConcurrentlyWithOtherThreads() throws Exception { + // The calling thread claims the owner fast path first; other threads must transition the + // stemmer to per-thread state while the owner keeps stemming. + Stemmer shared = new SnowballStemmer(SnowballStemmer.ALGORITHM.ENGLISH); + CharSequence expectedRunning = shared.stem("running"); + CharSequence expectedDeclining = shared.stem("declining"); + + CountDownLatch started = new CountDownLatch(4); + try (ExecutorService pool = Executors.newFixedThreadPool(4)) { + Future[] tasks = new Future[4]; + for (int i = 0; i < tasks.length; i++) { + tasks[i] = pool.submit(() -> { + started.countDown(); + for (int n = 0; n < 500; n++) { + Assertions.assertEquals(expectedRunning, shared.stem("running")); + Assertions.assertEquals(expectedDeclining, shared.stem("declining")); + } + }); + } + Assertions.assertTrue(started.await(10, TimeUnit.SECONDS)); + // Owner thread stems concurrently with the pool threads. + for (int n = 0; n < 500; n++) { + Assertions.assertEquals(expectedRunning, shared.stem("running")); + Assertions.assertEquals(expectedDeclining, shared.stem("declining")); + } + for (Future task : tasks) { + task.get(30, TimeUnit.SECONDS); + } + } + } + + @Test + void snowballStemmerIsSafeOnVirtualThreads() throws Exception { + // Every task runs on a fresh virtual thread, exercising per-thread state creation on each + // access rather than reuse from a fixed pool. + Stemmer shared = new SnowballStemmer(SnowballStemmer.ALGORITHM.ENGLISH); + CharSequence expected = shared.stem("running"); + + try (ExecutorService pool = Executors.newVirtualThreadPerTaskExecutor()) { + List> tasks = new ArrayList<>(256); + for (int i = 0; i < 256; i++) { + tasks.add(pool.submit(() -> { + for (int n = 0; n < 20; n++) { + Assertions.assertEquals(expected, shared.stem("running")); + } + })); + } + for (Future task : tasks) { + task.get(30, TimeUnit.SECONDS); + } + } + } + + @Test + void sharingPorterStemmerIsSafeUnderConcurrentUse() throws Exception { + // PorterStemmer is the remaining stateful engine; SharingStemmer must isolate it per thread. + Stemmer reference = new PorterStemmer(); + CharSequence expectedRunning = reference.stem("running"); + CharSequence expectedConspiracies = reference.stem("conspiracies"); + Stemmer shared = new SharingStemmer(new PorterStemmerFactory()); + + try (ExecutorService pool = Executors.newFixedThreadPool(8)) { + Future[] tasks = new Future[64]; + for (int i = 0; i < tasks.length; i++) { + tasks[i] = pool.submit(() -> { + for (int n = 0; n < 200; n++) { + Assertions.assertEquals(expectedRunning, shared.stem("running")); + Assertions.assertEquals(expectedConspiracies, shared.stem("conspiracies")); + } + }); + } + for (Future task : tasks) { + task.get(30, TimeUnit.SECONDS); + } + } + } + @Test + void factoryPassesRepeatThrough() { + // "internationalization" stems differently at repeat 1 and 2, witnessing the pass-through. + final Stemmer once = new SnowballStemmerFactory(SnowballStemmer.ALGORITHM.ENGLISH, 1).newStemmer(); + final Stemmer twice = new SnowballStemmerFactory(SnowballStemmer.ALGORITHM.ENGLISH, 2).newStemmer(); + Assertions.assertEquals("internation", once.stem("internationalization").toString()); + Assertions.assertEquals("intern", twice.stem("internationalization").toString()); + Assertions.assertEquals( + new SnowballStemmer(SnowballStemmer.ALGORITHM.ENGLISH, 2).stem("internationalization").toString(), + twice.stem("internationalization").toString()); + } + + @Test + void factoryRejectsNullAlgorithmWithIllegalArgument() { + Assertions.assertThrows(IllegalArgumentException.class, + () -> new SnowballStemmerFactory(null, 1)); + } + + @Test + void snowballConstructorValidatesLikeTheFactory() { + Assertions.assertThrows(IllegalArgumentException.class, + () -> new SnowballStemmer(null, 1)); + Assertions.assertThrows(IllegalArgumentException.class, + () -> new SnowballStemmer(SnowballStemmer.ALGORITHM.ENGLISH, 0)); + } + + @Test + void sharingStemmerForwardsStemAllToMultiOutputDelegate() { + // A multi-output delegate must keep its full result list through the wrapper. + final StemmerFactory multiOutput = () -> new Stemmer() { + @Override + public CharSequence stem(CharSequence word) { + return word.toString() + "-a"; + } + + @Override + public List stemAll(CharSequence word) { + return List.of(word.toString() + "-a", word.toString() + "-b"); + } + }; + final SharingStemmer sharing = new SharingStemmer(multiOutput); + Assertions.assertEquals(2, sharing.stemAll("run").size()); + Assertions.assertEquals("run-b", sharing.stemAll("run").get(1).toString()); + } + + @Test + void clearThreadLocalStateEmptiesTheOwnerCache() { + // On the owning thread the state object is retained and reset: the cache must be empty + // afterwards, observable as a fresh delegate call for a previously cached word. + final List delegateCalls = new ArrayList<>(); + final StemmerFactory counting = () -> word -> { + delegateCalls.add(word.toString()); + return word.toString() + "-s"; + }; + final CachingStemmer caching = new CachingStemmer(counting); + caching.stem("dog"); + caching.stem("dog"); + Assertions.assertEquals(1, delegateCalls.size(), "second lookup is served from the cache"); + caching.clearThreadLocalState(); + Assertions.assertEquals("dog-s", caching.stem("dog").toString()); + Assertions.assertEquals(2, delegateCalls.size(), "the clear emptied the cache"); + } + + @Test + void clearThreadLocalStateReleasesAWorkerThreadsDelegate() throws Exception { + // On a non-owner thread the per-thread delegate is removed and rebuilt on next use. + final List built = new ArrayList<>(); + final StemmerFactory counting = () -> { + synchronized (built) { + built.add(built.size()); + } + return word -> word.toString() + "-s"; + }; + final SharingStemmer sharing = new SharingStemmer(counting); + sharing.stem("owner"); + final int builtForOwner = built.size(); + final Thread worker = new Thread(() -> { + sharing.stem("dog"); + sharing.stem("cat"); + final int beforeClear = built.size(); + sharing.clearThreadLocalState(); + sharing.stem("fish"); + Assertions.assertEquals(beforeClear + 1, built.size(), + "a fresh delegate is built after the clear"); + }); + worker.start(); + worker.join(30_000); + Assertions.assertTrue(built.size() > builtForOwner, "the worker built its own delegate"); + + final SnowballStemmer snowball = new SnowballStemmer(SnowballStemmer.ALGORITHM.ENGLISH); + Assertions.assertEquals("run", snowball.stem("running").toString()); + snowball.clearThreadLocalState(); + Assertions.assertEquals("run", snowball.stem("running").toString()); + } + + @Test + void nullWordThrowsIllegalArgumentAcrossTheStemmerApi() { + final SnowballStemmerFactory factory = + new SnowballStemmerFactory(SnowballStemmer.ALGORITHM.ENGLISH); + Assertions.assertThrows(IllegalArgumentException.class, + () -> new SnowballStemmer(SnowballStemmer.ALGORITHM.ENGLISH).stem(null)); + Assertions.assertThrows(IllegalArgumentException.class, + () -> factory.newStemmer().stem(null)); + Assertions.assertThrows(IllegalArgumentException.class, + () -> new CachingStemmer(factory).stem(null)); + Assertions.assertThrows(IllegalArgumentException.class, + () -> new SharingStemmer(factory).stem(null)); + Assertions.assertThrows(IllegalArgumentException.class, + () -> new PorterStemmer().stem((CharSequence) null)); + } + + @Test + void hugeCapacityConstructsAndStems() { + // Pins the overflow-safe table sizing: capacities near Integer.MAX_VALUE are documented + // as legal ("must be positive") and must not wrap the LinkedHashMap initial capacity. + final CachingStemmer cached = new CachingStemmer( + new SnowballStemmerFactory(SnowballStemmer.ALGORITHM.ENGLISH), Integer.MAX_VALUE); + Assertions.assertEquals("run", cached.stem("running").toString()); + } + + @Test + void clearCacheForcesRestemmingOnTheCallingThread() { + final AtomicInteger delegateCalls = new AtomicInteger(); + final StemmerFactory counting = () -> word -> { + delegateCalls.incrementAndGet(); + return word.toString(); + }; + final CachingStemmer cached = new CachingStemmer(counting); + + cached.stem("running"); + cached.stem("running"); + Assertions.assertEquals(1, delegateCalls.get(), "the repeat is served from the cache"); + + cached.clearCache(); + cached.stem("running"); + Assertions.assertEquals(2, delegateCalls.get(), + "after clearCache() the word goes through the delegate again"); + } +} diff --git a/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/stemmer/light/LightStemmerContractTest.java b/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/stemmer/light/LightStemmerContractTest.java new file mode 100644 index 0000000000..874c83989f --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/stemmer/light/LightStemmerContractTest.java @@ -0,0 +1,74 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package opennlp.tools.stemmer.light; + +import java.util.List; +import java.util.stream.Stream; + +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +import opennlp.tools.stemmer.Stemmer; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; + +/** + * The shared API contract of the light and minimal stemmers: fail-loud null handling, identity + * on empty input, and single-element {@code stemAll}. + */ +class LightStemmerContractTest { + + static Stream stemmers() { + return Stream.of(new GermanLightStemmer(), new GermanMinimalStemmer(), + new EnglishMinimalStemmer(), new SpanishLightStemmer(), new SpanishMinimalStemmer(), + new FinnishLightStemmer(), new FrenchLightStemmer(), new FrenchMinimalStemmer(), + new HungarianLightStemmer(), new ItalianLightStemmer(), + new NorwegianLightStemmer(NorwegianVariety.BOKMAAL, NorwegianVariety.NYNORSK), + new NorwegianMinimalStemmer(NorwegianVariety.BOKMAAL), + new PortugueseLightStemmer(), new RussianLightStemmer(), + new SwedishLightStemmer(), new SwedishMinimalStemmer()); + } + + @ParameterizedTest + @MethodSource("stemmers") + void testNullFailsLoudly(Stemmer stemmer) { + assertThrows(IllegalArgumentException.class, () -> stemmer.stem(null)); + } + + @ParameterizedTest + @MethodSource("stemmers") + void testEmptyInputStaysEmpty(Stemmer stemmer) { + assertEquals("", stemmer.stem("").toString()); + } + + @ParameterizedTest + @MethodSource("stemmers") + void testStemAllReturnsTheSingleStem(Stemmer stemmer) { + final List all = stemmer.stemAll("running"); + assertEquals(1, all.size()); + assertEquals(stemmer.stem("running").toString(), all.get(0).toString()); + } + + @Test + void testNorwegianVarietyValidation() { + assertThrows(IllegalArgumentException.class, () -> new NorwegianLightStemmer(null)); + assertThrows(IllegalArgumentException.class, + () -> new NorwegianMinimalStemmer(NorwegianVariety.BOKMAAL, (NorwegianVariety) null)); + } +} diff --git a/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/stemmer/light/LightStemmerParityTest.java b/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/stemmer/light/LightStemmerParityTest.java new file mode 100644 index 0000000000..5003b8fea7 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/stemmer/light/LightStemmerParityTest.java @@ -0,0 +1,98 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package opennlp.tools.stemmer.light; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; +import java.util.Map; +import java.util.stream.Stream; + +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; + +import opennlp.tools.stemmer.Stemmer; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +/** + * Asserts every stemmer against its bundled vocabulary fixture: word and expected stem pairs + * sampled from the vocabulary data of the algorithms' original test suites, regenerated against + * the source implementations (see the fixture README for regeneration). + */ +class LightStemmerParityTest { + + private static final Map STEMMERS = Map.ofEntries( + Map.entry("de-light", new GermanLightStemmer()), + Map.entry("de-minimal", new GermanMinimalStemmer()), + Map.entry("en-minimal", new EnglishMinimalStemmer()), + Map.entry("es-light", new SpanishLightStemmer()), + Map.entry("es-minimal", new SpanishMinimalStemmer()), + Map.entry("fi-light", new FinnishLightStemmer()), + Map.entry("fr-light", new FrenchLightStemmer()), + Map.entry("fr-minimal", new FrenchMinimalStemmer()), + Map.entry("hu-light", new HungarianLightStemmer()), + Map.entry("it-light", new ItalianLightStemmer()), + Map.entry("no-light-bokmaal", new NorwegianLightStemmer(NorwegianVariety.BOKMAAL)), + Map.entry("no-light-nynorsk", new NorwegianLightStemmer(NorwegianVariety.NYNORSK)), + Map.entry("no-minimal-bokmaal", new NorwegianMinimalStemmer(NorwegianVariety.BOKMAAL)), + Map.entry("no-minimal-nynorsk", new NorwegianMinimalStemmer(NorwegianVariety.NYNORSK)), + Map.entry("pt-light", new PortugueseLightStemmer()), + Map.entry("ru-light", new RussianLightStemmer()), + Map.entry("sv-light", new SwedishLightStemmer()), + Map.entry("sv-minimal", new SwedishMinimalStemmer())); + + static Stream fixtures() { + return STEMMERS.entrySet().stream().sorted(Map.Entry.comparingByKey()) + .map(e -> Arguments.of(e.getKey(), e.getValue())); + } + + @ParameterizedTest(name = "{0}") + @MethodSource("fixtures") + void testVocabularyParity(String fixture, Stemmer stemmer) throws IOException { + int pairs = 0; + try (InputStream in = LightStemmerParityTest.class.getResourceAsStream(fixture + ".tsv")) { + assertNotNull(in, "missing fixture " + fixture + ".tsv"); + final BufferedReader reader = + new BufferedReader(new InputStreamReader(in, StandardCharsets.UTF_8)); + String line; + while ((line = reader.readLine()) != null) { + pairs++; + final int tab = line.indexOf('\t'); + final String word = line.substring(0, tab); + final String expected = line.substring(tab + 1); + assertEquals(expected, stemmer.stem(word).toString(), + fixture + " must stem <" + word + ">"); + } + } + assertTrue(pairs >= 50, fixture + " fixture must not be empty or truncated"); + } + + @ParameterizedTest(name = "{0}") + @MethodSource("fixtures") + void testStemmerIsItsOwnFactory(String fixture, Stemmer stemmer) { + final opennlp.tools.stemmer.StemmerFactory factory = + (opennlp.tools.stemmer.StemmerFactory) stemmer; + assertEquals(stemmer, factory.newStemmer(), + "a stateless stemmer returns itself from newStemmer()"); + } +} diff --git a/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/util/normalizer/NormalizationProfilesTest.java b/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/util/normalizer/NormalizationProfilesTest.java index ba39a5cf1f..149139847b 100644 --- a/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/util/normalizer/NormalizationProfilesTest.java +++ b/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/util/normalizer/NormalizationProfilesTest.java @@ -19,6 +19,9 @@ import java.util.EnumSet; import java.util.List; import java.util.Set; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; import java.util.stream.Collectors; import org.junit.jupiter.api.Test; @@ -201,4 +204,24 @@ public String[] getSupportedLanguages() { assertThrows(IllegalArgumentException.class, () -> NormalizationProfiles.detect(null, detector)); assertThrows(IllegalArgumentException.class, () -> NormalizationProfiles.detect("text", null)); } + + @Test + void testMatchingAnalyzerIsThreadSafeForStemming() throws Exception { + final TermAnalyzer analyzer = NormalizationProfiles.forLanguage("eng").orElseThrow().matchingAnalyzer(); + final String expected = analyzer.analyze("running").getFirst().at(Dimension.STEM); + + try (ExecutorService pool = Executors.newFixedThreadPool(8)) { + final Future[] tasks = new Future[32]; + for (int i = 0; i < tasks.length; i++) { + tasks[i] = pool.submit(() -> { + for (int n = 0; n < 50; n++) { + assertEquals(expected, analyzer.analyze("running").getFirst().at(Dimension.STEM)); + } + }); + } + for (final Future task : tasks) { + task.get(30, java.util.concurrent.TimeUnit.SECONDS); + } + } + } } diff --git a/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/util/normalizer/TermAnalyzerTest.java b/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/util/normalizer/TermAnalyzerTest.java index d7fd52474e..e956a66ff6 100644 --- a/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/util/normalizer/TermAnalyzerTest.java +++ b/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/util/normalizer/TermAnalyzerTest.java @@ -30,6 +30,10 @@ import opennlp.tools.lemmatizer.Lemmatizer; import opennlp.tools.stemmer.PorterStemmer; +import opennlp.tools.stemmer.Stemmer; +import opennlp.tools.stemmer.StemmerFactory; +import opennlp.tools.stemmer.snowball.SnowballStemmer; +import opennlp.tools.stemmer.snowball.SnowballStemmerFactory; import opennlp.tools.util.Span; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -306,11 +310,33 @@ void testBuilderRejectsNullArguments() { .transform(null, CaseFoldCharSequenceNormalizer.getInstance())); assertThrows(IllegalArgumentException.class, () -> TermAnalyzer.builder().transform(Dimension.CASE_FOLD, null)); - assertThrows(IllegalArgumentException.class, () -> TermAnalyzer.builder().stem(null)); + assertThrows(IllegalArgumentException.class, + () -> TermAnalyzer.builder().stem((Stemmer) null)); + assertThrows(IllegalArgumentException.class, + () -> TermAnalyzer.builder().stem((StemmerFactory) null)); + assertThrows(IllegalArgumentException.class, + () -> TermAnalyzer.builder().stem(new SnowballStemmerFactory( + SnowballStemmer.ALGORITHM.ENGLISH), 0)); assertThrows(IllegalArgumentException.class, () -> TermAnalyzer.builder().lemmatize(null)); assertThrows(IllegalArgumentException.class, () -> TermAnalyzer.builder().tokenizer(null)); } + @Test + void testStemFactoryCachedResultsMatchDirectStemmer() { + final TermAnalyzer cached = TermAnalyzer.builder().caseFold() + .stem(new SnowballStemmerFactory(SnowballStemmer.ALGORITHM.ENGLISH)).build(); + final TermAnalyzer direct = TermAnalyzer.builder().caseFold() + .stem(new SnowballStemmer(SnowballStemmer.ALGORITHM.ENGLISH)).build(); + + final String text = "Running runners kept running while the RUNNING continued"; + final List cachedTerms = cached.analyze(text); + final List directTerms = direct.analyze(text); + assertEquals(directTerms.size(), cachedTerms.size()); + for (int i = 0; i < directTerms.size(); i++) { + assertEquals(directTerms.get(i).at(Dimension.STEM), cachedTerms.get(i).at(Dimension.STEM)); + } + } + @Test void testMaxTokenLengthRejectsNonPositiveValues() { assertThrows(IllegalArgumentException.class, () -> TermAnalyzer.builder().maxTokenLength(0)); diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/README.txt b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/README.txt new file mode 100644 index 0000000000..34bb91bd6c --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/README.txt @@ -0,0 +1,10 @@ +Parity fixtures for the light and minimal stemmers. + +Each .tsv holds wordexpected-stem pairs produced by the original Apache Lucene +analysis-common stemmers (the code these classes are adapted from). Each file samples up to 1500 +pairs where the stem differs from the word plus 500 where it does not; the Norwegian files are +complete copies of Lucene's small vocabulary lists, split by written standard. + +The vocabulary word lists trace back to Jacques Savoy's CLEF resources +(http://members.unine.ch/jacques.savoy/clef/index.html), BSD-licensed; see the notice carried in +the stemmer sources and the distribution LICENSE. diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/de-light.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/de-light.tsv new file mode 100644 index 0000000000..1d3d3fe9e2 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/de-light.tsv @@ -0,0 +1,2000 @@ +aalglatten aalglatt +abendröte abendrot +abermaligen abermalig +abgeben abgeb +abgehängen abgehang +abgenommen abgenomm +abgeschossenes abgeschoss +abgewetzte abgewetzt +abgrunde abgrund +abhänge abhang +abkühlendes abkuhlend +abläutete ablautet +abreiben abreib +abschiedes abschied +abschütteln abschutteln +absonderlicher absonderlich +abstossendes abstossend +aburteilen aburteil +abwesenden abwesend +abzugewinnen abzugewinn +abzureisen abzureis +abzuwischen abzuwisch +achtgegeben achtgegeb +adelaide adelaid +affe aff +ahnliches ahnlich +aktien akti +alkoholischer alkoholisch +allerallgemeinsten allerallgemein +allerkürzeste allerkurz +allerwegen allerweg +allgemeinstes allgemein +alls all +alter alt +amalie amali +amrans amran +amüsiert amusiert +anbeteten anbetet +anderem and +andres andr +anerkanntesten anerkannt +anfertigen anfertig +anfüllen anfull +angeboten angebot +angegebenen angegeb +angehörige angehorig +angelegenen angeleg +angenehmen angenehm +angesammelte angesammelt +angestellter angestellt +angezündet angezundet +anhaltende anhaltend +anhänglichkeit anhanglichkeit +anklagte anklagt +ankündigung ankundigung +anlässe anlass +anne ann +anpumpen anpump +ansahen ansah +ansehnliche ansehnlich +ansprüche anspruch +anständig anstandig +antinomie antinomi +anvertraute anvertraut +anwünscht anwunscht +anzuführen anzufuhr +anzupeilen anzupeil +anzuziehen anzuzieh +arabien arabi +arbeitsstelle arbeitsstell +aristoteles aristotel +artes art +asiatische asiatisch +atemlose atemlos +aufbauen aufbau +aufbrennenden aufbrennend +aufenthaltes aufenthalt +auffordern aufford +aufgeblasen aufgeblas +aufgehalten aufgehalt +aufgelöst aufgelost +aufgeschrieben aufgeschrieb +aufgreifen aufgreif +aufhörten aufhort +aufmache aufmach +aufnahmegefäße aufnahmegefaß +aufrechten aufrecht +aufrufe aufruf +aufseher aufseh +aufsteigen aufsteig +auftrieben auftrieb +aufzeigen aufzeig +aufzugskabine aufzugskabin +aufzusehen aufzuseh +augenblicke augenblick +ausbleiben ausbleib +ausdrucks ausdruck +auseinanderjagte auseinanderjagt +ausflüsse ausfluss +ausgaben ausgab +ausgedrückt ausgedruckt +ausgehen ausgeh +ausgenossen ausgenoss +ausgeschrieen ausgeschrie +ausgesuchte ausgesucht +ausgezogenen ausgezog +aushilfe aushilf +auslegen ausleg +ausnahmsweise ausnahmsweis +ausrüstungsgegenständen ausrustungsgegenstand +ausschütten ausschutt +aussetzte aussetzt +ausspüren ausspur +aussätzige aussatzig +auswandern auswand +auswärts auswart +auszufüllen auszufull +auszureuten auszureut +auszusprechen auszusprech +autorität autoritat +bachforellen bachforell +bagels bagel +bandelier bandeli +bankräuber bankraub +barsängerin barsangerin +bastelten bastelt +bauernklotzes bauernklotz +baumstamme baumstamm +beachten beacht +bebaute bebaut +bedecken bedeck +bedeuteten bedeutet +bedrängen bedrang +bedürfnisse bedurfniss +beengte beengt +befehlen befehl +befolgten befolgt +befähigt befahigt +begaben begab +begehrte begehrt +beglaubigen beglaubig +begossenen begoss +begriffsverhältnisse begriffsverhaltniss +begrüsst begrusst +begüterte begutert +behaupte behaupt +behufs behuf +beibrachte beibracht +beifügten beifugt +beimessen beimess +beispiele beispiel +beizulegen beizuleg +bekehren bekehr +bekreuzten bekreuzt +beladenes belad +belehrte belehrt +bellprobe bellprob +bemassen bemass +benachbarten benachbart +benutzten benutzt +bequeme bequem +beraubten beraubt +bereiten bereit +berghöhlen berghohl +bergwegen bergweg +beruflichen beruflich +berücksichtigen berucksichtig +besagte besagt +bescheidenem bescheid +beschlossenen beschloss +beschuldigungen beschuldigung +beschädigt beschadigt +beschützer beschutz +besiegen besieg +besonderen besond +besponnen besponn +bestandstücks bestandstuck +bestellenhintergrundregelmässig bestellenhintergrundregelmassig +bestimmen bestimm +bestrafen bestraf +bestätigenden bestatigend +besuchten besucht +beten bet +betreffenden betreffend +beträgt betragt +bette bett +beugte beugt +bevorhautete bevorhautet +bewegende bewegend +beweisführende beweisfuhrend +bewohnen bewohn +bewährt bewahrt +bezeichne bezeichn +beziele beziel +biederen bied +bilder bild +billige billig +bischöfe bischof +bitterkalten bitterkalt +blasebälgen blasebalg +blauen blau +bleibendes bleibend +blickenden blickend +blinkten blinkt +blosse bloss +blumen blum +blutlose blutlos +blättern blatt +blühend bluhend +bockreiter bockreit +bonbonsträucher bonbonstrauch +brachlägen brachlag +braten brat +braungoldene braungold +breite breit +brenzelte brenzelt +briten brit +brots brot +brusttasche brusttasch +brüder brud +brüteten brutet +buchstaben buchstab +bullerte bullert +bunter bunt +busens bus +bändigung bandigung +bäuerliche bauerlich +bösartig bosartig +böttcher bottch +büchsenschuss buchsenschuss +bündelchen bundelch +bürgerlich burgerlich +büros buros +canailles canaill +charakteristische charakteristisch +chirurgische chirurgisch +christopher christoph +computertomographie computertomographi +dachtürmchen dachturmch +dahingingen dahinging +danggen dangg +darbietendes darbietend +darstellte darstellt +dastehen dasteh +davongegangen davongegang +deckte deckt +deines dein +demselbigen demselbig +denke denk +derartiges derartig +derselben derselb +deuten deut +diademen diadem +dichtester dicht +diele diel +dienstleistungen dienstleistung +dieser dies +direkten direkt +dogder dogd +doppelgänger doppelgang +dorfspaziergängen dorfspaziergang +dramatischen dramatisch +dreien drei +drfe drf +drohenden drohend +drängt drangt +ducken duck +dummer dumm +dunkelheiten dunkelheit +durchblättern durchblatt +durchfallen durchfall +durchgängigen durchgangig +durchschlagen durchschlag +durchsuchten durchsucht +dursten durst +dämmerte dammert +dörflerische dorflerisch +dünste dun +dürrem durr +ebbes ebb +ebereschen eberesch +edelpferden edelpferd +effigies effigi +ehemannes ehemann +ehrenbürgerrecht ehrenburgerrecht +ehrvergessenen ehrvergess +eifer eif +eigenheiten eigenheit +eigensten eigen +eigentümlicherweise eigentumlicherweis +eiligst eilig +einbürgern einburg +eines ein +einfinden einfind +einflußreichen einflußreich +einfältig einfaltig +eingebildete eingebildet +eingeflösste eingeflosst +eingehängt eingehangt +eingepflanztes eingepflanzt +eingeschossen eingeschoss +eingetürmt eingeturmt +eingingen einging +einherkrabbelte einherkrabbelt +einispringen einispring +einleitenden einleitend +einpflanzte einpflanzt +einsamkeiten einsamkeit +einschränken einschrank +einsichtsvolleren einsichtsvoll +einstimmige einstimmig +eintretenden eintretend +einvernahmen einvernahm +einzahlen einzahl +einzubalsamieren einzubalsami +einzulassen einzulass +einzuziehen einzuzieh +eisgeschwistern eisgeschwist +elefanten elefant +elender elend +elternhauses elternhaus +empfindliches empfindlich +emporgeschossene emporgeschoss +empörter emport +endlosen endlos +engels engel +englischsprachigen englischsprachig +entdeckte entdeckt +entferntesten entfernt +entgegen entgeg +entgegennehmen entgegennehm +entheiligungen entheiligung +entlassen entlass +entlässest entlass +entsagen entsag +entschlossen entschloss +entsetzliche entsetzlich +entspringe entspring +enttäuschend enttauschend +entwichene entwich +entzogen entzog +erbarmte erbarmt +erbeten erbet +erblicken erblick +erbärmlichsten erbarmlich +erdichtetes erdichtet +erfahrungen erfahrung +erfindungsreiches erfindungsreich +erfreuen erfreu +erfüllte erfullt +erglühen ergluh +ergötzlich ergotzlich +erheben erheb +erholte erholt +erinnere erinn +erkennen erkenn +erkläre erklar +erlangen erlang +erlebte erlebt +erlittenen erlitt +ermahne ermahn +ermöglichen ermoglich +ernste ern +ernährung ernahrung +erreichte erreicht +erschaffenden erschaffend +erschlagen erschlag +erschöpfen erschopf +ersonnen ersonn +erstatte erstatt +erstes erst +ersäufen ersauf +erträgt ertragt +erwachten erwacht +erweiterten erweitert +erworbenen erworb +erwünscht erwunscht +erziehungsleute erziehungsleut +erzählet erzahlet +erörterten erortert +estherchens estherch +euretwegen euretweg +ewigkeiten ewigkeit +fabelhafte fabelhaft +fahrer fahr +falsche falsch +familien famili +farbenwesen farbenwes +fasten fast +feature featur +fehlern fehl +feierten feiert +feinem fein +feldfrüchte feldfrucht +felsen fels +fensterflügel fensterflugel +fernher fernh +festes fest +festungen festung +feuerchen feuerch +feuerzungen feuerzung +fiebernde fiebernd +finden find +finsternissen finsterniss +fittiche fittich +flammenmeer flammenme +flecken fleck +fleissiger fleissig +fliessen fliess +flossen floss +fluktuationsrate fluktuationsrat +flöten flot +flüchtlingslager fluchtlingslag +flüstert flustert +folgsames folgsam +foren for +forstmannsuniformen forstmannsuniform +fortgeritten fortgeritt +fortschreiten fortschreit +fortzubewegen fortzubeweg +franzens franz +frauennamen frauennam +frechsten frech +freiheitliche freiheitlich +freizulassen freizulass +freuden freud +freundesarme freundesarm +friedens fried +frierenden frierend +fromme fromm +fräulein fraulein +fröstelte frostelt +frühlicht fruhlicht +frühlingstage fruhlingstag +fuchtelte fuchtelt +funktionen funktion +fussgänger fussgang +fächern fach +fälschungen falschung +förmlich formlich +fühlbare fuhlbar +führen fuhr +fülle full +fünfjähriges funfjahrig +fünfzigjährigen funfzigjahrig +fürchterliche furchterlich +fürst furst +füttern futt +galle gall +ganzes ganz +gartenmitte gartenmitt +gasthauses gasthaus +gazeschleier gazeschlei +gebetläuten gebetlaut +gebirgskräutermilch gebirgskrautermilch +geborgene geborg +gebrauchten gebraucht +geburten geburt +gebückt gebuckt +gedankenplanes gedankenplan +gedenkst gedenk +gedächtnis gedachtnis +gefahren gefahr +geflochten geflocht +gefurchte gefurcht +gefälligkeit gefalligkeit +gefördert gefordert +gegangen gegang +gegenstände gegenstand +geglänzt geglanzt +gegründeten gegrundet +geheiligte geheiligt +gehen geh +gehst geh +gehöre gehor +geige geig +geisteskräfte geisteskraft +geistreiches geistreich +geköpft gekopft +gelbe gelb +geldmännern geldmann +geleitete geleitet +gelitten gelitt +gelächters gelachters +gelüstigkeit gelustigkeit +gemeindeschreiber gemeindeschreib +gemeinsten gemein +gemähte gemaht +gemüsegartens gemusegart +gemütsverfassung gemutsverfassung +geneigtem geneigt +geniessen geniess +genusses genuss +geoffenbarte geoffenbart +gepflogen gepflog +geprügelten geprugelt +gerechte gerecht +gerichten gericht +gerieben gerieb +geringschätzung geringschatzung +geruchs geruch +geröllhang gerollhang +gerüste gerust +gesanges gesang +geschenken geschenk +geschieden geschied +geschlossene geschloss +geschmücktes geschmuckt +geschrieen geschrie +geschwächt geschwacht +geschäftig geschaftig +geschäftsprüfungskommission geschaftsprufungskommission +geschöpfs geschopf +gesellschafts gesellschaft +gesetzlichen gesetzlich +gesichtszügen gesichtszug +gespiesen gespies +gesprächsthema gesprachsthema +gestiegen gestieg +gestressten gestresst +gesuchten gesucht +gesäugt gesaugt +getrennter getrennt +getränkes getrank +getöteter getotet +gewaltlosen gewaltlos +gewehre gewehr +gewinnende gewinnend +gewissensqualen gewissensqual +gewonnen gewonn +gewählten gewahlt +gewöhnlicher gewohnlich +gewürms gewurm +gezogenen gezog +geöffneten geoffnet +giesse giess +gitarrebegleiten gitarrebegleit +glatten glatt +glaubensvorschriften glaubensvorschrift +gleichem gleich +gleichmütig gleichmutig +glocke glock +glänzende glanzend +glättete glattet +glücklichern glucklich +glückt gluckt +gnadensonne gnadensonn +goldblonden goldblond +goldgeschäfte goldgeschaft +goldstück goldstuck +gottesdienstes gottesdien +gradausfahrendes gradausfahrend +grasten grast +grauschwarzen grauschwarz +greinstimme greinstimm +grete gret +grille grill +grober grob +grosser gross +großem groß +grundgesetzes grundgesetz +gruppe grupp +grässliche grasslich +grösserem gross +größeren groß +gründende grundend +grünliche grunlich +gscheids gscheid +gummiteichen gummiteich +gutmachen gutmach +gälte galt +gässchen gassch +göttlichen gottlich +gültiges gultig +güter gut +haarwuchs haarwuch +hagelhans hagelhan +halbem halb +halbtotes halbtot +halstüchelchen halstuchelch +hampelmännern hampelmann +handgrosses handgross +handschuhen handschuh +hapertes hapert +harren harr +hartnäckigkeit hartnackigkeit +hastige hastig +hauptaufgabe hauptaufgab +hauptstück hauptstuck +hause haus +haustüre haustur +hebräischen hebraisch +heftigen heftig +heiliger heilig +heimischen heimisch +heimzukehren heimzukehr +heisser heiss +helfen helf +hemde hemd +herabgelassen herabgelass +herangekommen herangekomm +heraufbringen heraufbring +herausführen herausfuhr +herauskamen herauskam +herauszufordern herauszuford +herbeigeführt herbeigefuhrt +herbst herb +hereingeworfenes hereingeworf +hergenommen hergenomm +heroischer heroisch +herrschaften herrschaft +herstammenden herstammend +herumkollerte herumkollert +herumschweifen herumschweif +herumtummelte herumtummelt +herunterfinden herunterfind +hervorbrechen hervorbrech +hervorgingen hervorging +hervorsuchte hervorsucht +herzensgründen herzensgrund +herzugeben herzugeb +hethiter hethit +heutigen heutig +hierarchie hierarchi +hiessen hiess +himmelsbewohnern himmelsbewohn +himmelswiese himmelswies +hinabgestürzt hinabgesturzt +hinabzugehen hinabzugeh +hinaufrufen hinaufruf +hinausgehe hinausgeh +hinausschrie hinausschri +hindern hind +hineinfahren hineinfahr +hineinlegen hineinleg +hingabe hingab +hingesehen hingeseh +hinneigen hinneig +hinschiessenden hinschiessend +hintergrunde hintergrund +hinunterführte hinunterfuhrt +hinwandte hinwandt +hinzublicken hinzublick +hinzustürzen hinzusturz +hirngespenstern hirngespen +hitler hitl +hochgepriesene hochgepries +hochstapfen hochstapf +hofe hof +hofleben hofleb +holdes hold +holzknechte holzknecht +horchten horcht +hufeisentreppe hufeisentrepp +hunde hund +hungrige hungrig +hypothese hypothes +hämisch hamisch +hängen hang +häschen hasch +häufchen haufch +häusern haus +höchstem hoch +höh hoh +höhnisch hohnisch +höllisches hollisch +hörest hor +hübschen hubsch +hülflos hulflos +hüte hut +ideenkiste ideenkist +ihrigen ihrig +imstande imstand +ineinander ineinand +inländischen inlandisch +innerlichere innerlich +innezuwerden innezuwerd +institutionen institution +inter int +interneteine internetein +inwendigsten inwendig +irgendwelchen irgendwelch +irrlichterfischchen irrlichterfischch +ists ist +jagdführer jagdfuhr +jagte jagt +jakobsbrunnen jakobsbrunn +jedem jed +jekühlte jekuhlt +jesses jess +jochs joch +juble jubl +junge jung +juristischen juristisch +jägersmanne jagersmann +jähzornigen jahzornig +jüdisches judisch +kaffee kaffe +kalben kalb +kameradinnen kameradinn +kammmacher kammmach +kanne kann +kantonalkirche kantonalkirch +karaffe karaff +kasse kass +kategorische kategorisch +kauerte kauert +kecken keck +keinen kein +kenne kenn +kerls kerl +kielwasser kielwass +kinderstimmengelächter kinderstimmengelacht +kinnbacken kinnback +kirchenpflegen kirchenpfleg +kirchliche kirchlich +kitschiges kitschig +klapperte klappert +klatschten klatscht +kleiden kleid +kleinern klein +kletterns klettern +klirrte klirrt +klägliche klaglich +knallen knall +knickte knickt +knochen knoch +knäufen knauf +koalitionsversuche koalitionsversuch +kolonne kolonn +kommens komm +konnte konnt +kopfe kopf +kopulieren kopuli +kosenamen kosenam +krabbelige krabbelig +krankenbette krankenbett +kreaturen kreatur +kreisrunde kreisrund +kreuzspinnen kreuzspinn +krieger krieg +kriegsstrapazen kriegsstrapaz +kritisieren kritisi +krummrückiger krummruckig +krähte kraht +kräutermann krautermann +kuchen kuch +kulturellen kulturell +kunstpfeifer kunstpfeif +kurden kurd +kurzweiligen kurzweilig +käfermatz kafermatz +kämmerchen kammerch +käthchen kathch +könige konig +königssee konigsse +körbe korb +köstlichkeiten kostlichkeit +kühler kuhl +kümmernis kummernis +künstler kunstl +kürzere kurz +labe lab +ladenkasse ladenkass +lamentierte lamentiert +landesüblichen landesublich +landstrasse landstrass +langjährige langjahrig +lassen lass +laube laub +laurens laur +lautloser lautlos +lebendigsten lebendig +lebenshelfer lebenshelf +lebenszustände lebenszustand +lebzeiten lebzeit +ledersäckchen ledersackch +legten legt +lehrjahren lehrjahr +leiber leib +leibte leibt +leichtsinnige leichtsinnig +leidige leidig +leisbewegte leisbewegt +leitete leitet +lestungen lestung +leuchtendem leuchtend +leviten levit +lichter licht +lieben lieb +liebeserklärung liebeserklarung +liebevollen liebevoll +lieblingsbilder lieblingsbild +liederchen liederch +liegenlassen liegenlass +lindern lind +liquidierte liquidiert +loben lob +lohne lohn +losgerissen losgeriss +loszulassen loszulass +luder lud +lungen lung +lutherischen lutherisch +lächerlich lacherlich +ländchen landch +längste lang +lästerlichstem lasterlich +läuternd lauternd +lösenden losend +lüften luft +lüsternem lustern +madehen madeh +mahalalels mahalalel +maikäfermann maikafermann +malottkes malottk +manier mani +mannsleute mannsleut +marschierten marschiert +massen mass +materiellen materiell +maurienne maurienn +meckerten meckert +mehrenteils mehrenteil +meiden meid +meinte meint +melden meld +menschengeschlechts menschengeschlecht +menschenähnlichkeit menschenahnlichkeit +merkwürdigen merkwurdig +metaphysische metaphysisch +midianiter midianit +milchkannen milchkann +militärdienst militardien +minderheiten minderheit +mischen misch +misshandelte misshandelt +missverständnis missverstandnis +miteinander miteinand +mitginge mitging +mitnähme mitnahm +mitteilte mitteilt +mitten mitt +mitzuhelfen mitzuhelf +mißverständlich mißverstandlich +moderner modern +mondblumen mondblum +mondschäfchen mondschafch +moralität moralitat +morgens morg +motive motiv +muntere munt +musikindustrie musikindustri +mutes mut +mutwillens mutwill +mächtigen machtig +mängel mangel +märzwoche marzwoch +mäusefallen mausefall +mögen mog +mörder mord +mühelosigkeit muhelosigkeit +münchener munch +müssig mussig +mütterlicher mutterlich +nachbarsleute nachbarsleut +nachflogen nachflog +nachgeschickte nachgeschickt +nachlaufen nachlauf +nachschicken nachschick +nachtgejaide nachtgejaid +nachtwächtern nachtwacht +nachzuschauen nachzuschau +nagelschuhe nagelschuh +namenlosen namenlos +nasenspitze nasenspitz +naturerscheinungen naturerscheinung +naturursachen naturursach +nauszahlen nauszahl +nebengesellen nebengesell +nehmen nehm +nervöse nervos +neubebaute neubebaut +neugesprochenen neugesproch +neuübersetzung neuubersetzung +nichts nicht +nicken nick +niedergeworfen niedergeworf +niederschmetternder niederschmetternd +niedrige niedrig +nietzsche nietzsch +noblen nobl +norwegischen norwegisch +notpfennige notpfennig +nummer numm +nächstbeste nachstb +nägelein nagelein +nähren nahr +näschen nasch +nüsse nuss +oberen ober +obigem obig +obstbäumen obstbaum +offenem off +ohne ohn +oleandergebüsch oleandergebusch +ordentliche ordentlich +ordnungsliebe ordnungslieb +orione orion +osterfest osterf +paares paar +panier pani +pappkartons pappkarton +parks park +passende passend +pathologischen pathologisch +pause paus +peinlicher peinlich +perlen perl +peterchens peterch +pfauenfedern pfauenfed +pfeile pfeil +pflanzerzigarre pflanzerzigarr +pflichtgemäß pflichtgemaß +pfoten pfot +phantasierte phantasiert +philosophisches philosophisch +pipsernden pipsernd +platane platan +plumsdibums plumsdibum +plündergut plundergut +politische politisch +polterte poltert +porzellansplitter porzellansplitt +postulate postulat +praktisches praktisch +pressedienstes pressedien +prisen pris +probleme problem +prophezeiungen prophezeiung +prozeßstadien prozeßstadi +prägten pragt +prüfen pruf +psalmen psalm +punkten punkt +putzen putz +pünktlichen punktlich +quellenangabe quellenangab +quälen qual +rachgierigen rachgierig +rankten rankt +rasendes rasend +rationale rational +raubkunst raubkun +rauchwolken rauchwolk +reader read +recherchieren recherchi +rechtfertigungserklärungder rechtfertigungserklarungd +rechtskräftig rechtskraftig +redeweise redeweis +regelmässig regelmassig +regenrauschen regenrausch +registrieren registri +rehes reh +reichste reich +reiher reih +reinsten rein +reisewagen reisewag +reizen reiz +religionsgebräuche religionsgebrauch +reporter report +retten rett +rheinische rheinisch +richtigsten richtig +riesengrosser riesengross +rieten riet +ringgeschmückten ringgeschmuckt +ritikül ritikul +rocke rock +rollenden rollend +rosenbüsche rosenbusch +rostigen rostig +rothaarigen rothaarig +ruder rud +ruhigem ruhig +rumrennen rumrenn +rute rut +ränzchen ranzch +räumt raumt +rötlicher rotlich +rückhaltlosen ruckhaltlos +rücktritt rucktritt +rühmt ruhmt +rüstig rustig +sabine sabin +sage sag +salzburger salzburg +sammetweste sammetw +sanfte sanft +sapperlöter sapperlot +satzungen satzung +sausten saust +schafe schaf +schalter schalt +schattenreichen schattenreich +schauderhaften schauderhaft +schauspielkunst schauspielkun +scheinbaren scheinbar +scheiterhaufen scheiterhauf +schenken schenk +scheue scheu +schicklichen schicklich +schiene schi +schiffslände schiffsland +schimeons schimeon +schirren schirr +schlafkappen schlafkapp +schlankem schlank +schlechter schlecht +schleifen schleif +schleunigst schleunig +schlimmer schlimm +schlottrige schlottrig +schläfe schlaf +schlüpfen schlupf +schmalen schmal +schmerzens schmerz +schmiegten schmiegt +schmuckes schmuck +schnabulieren schnabuli +schnauze schnauz +schneelieder schneelied +schneidergruppen schneidergrupp +schnepfe schnepf +schnäbelchen schnabelch +schnürst schnurst +schoten schot +schreibe schreib +schriftgelehrten schriftgelehrt +schräg schrag +schulbücher schulbuch +schulknaben schulknab +schuster schust +schwalbennest schwalbenn +schwarze schwarz +schweben schweb +schweine schwein +schwelle schwell +schwerhörig schwerhorig +schwiegersöhne schwiegersohn +schwippte schwippt +schwächlichsten schwachlich +schwärmenden schwarmend +schwöre schwor +schäfchenstall schafchenstall +schärfer scharf +schönere schon +schöpft schopft +schüsse schuss +schützendem schutzend +seehäfen seehaf +seelenvergnügt seelenvergnugt +sehe seh +seichte seicht +seifengalerie seifengaleri +seite seit +sekunde sekund +selbstentäusserung selbstentausserung +selbstvertrauen selbstvertrau +seligmachende seligmachend +semmelbröseln semmelbroseln +septembermorgen septembermorg +seufzen seufz +sicheres sich +sichtbaren sichtbar +siebte siebt +silbe silb +silberner silbern +singenden singend +sinnesvorstellungen sinnesvorstellung +sinnreichen sinnreich +sitze sitz +sogen sog +solcherweise solcherweis +sollst soll +sonderbarer sonderbar +sonnenhöhe sonnenhoh +sonntagskleide sonntagskleid +sorgende sorgend +soziales sozial +spannungen spannung +spazieren spazi +speeres spe +spekulierten spekuliert +sphäre sphar +spielte spielt +spiritusfeuer spiritusfeu +spottgeburten spottgeburt +spreizte spreizt +spruchversen spruchvers +spucke spuck +spätere spat +staate staat +stabsoffiziere stabsoffizi +staketen staket +stampfens stampf +starre starr +stattlichen stattlich +stechender stechend +stehender stehend +steigern steig +steinernes steinern +stellen stell +sterben sterb +sternenmädchen sternenmadch +steuerausfalls steuerausfall +stiessen stiess +stillhalten stillhalt +stinke stink +stockwerkes stockwerk +stolzieren stolzi +strafte straft +strasse strass +strebsamer strebsam +streitende streitend +strengsten streng +strohs stroh +sträucher strauch +studen stud +stumme stumm +stuttgarter stuttgart +ställe stall +stärkern stark +störe stor +stück stuck +stürme sturm +stützt stutzt +subtilste subtil +sumsemänner sumsemann +synkretistischen synkretistisch +säbels sabel +sämtliche samtlich +sättigen sattig +säugendes saugend +säuseln sauseln +sühnen suhn +süsses suss +tafelseite tafelseit +tagtäglich tagtaglich +tannenen tann +tapete tapet +taten tat +taufen tauf +tausee tause +teelöffel teeloffel +telefonanrufe telefonanruf +teppichartigen teppichartig +teufelshörner teufelshorn +theologie theologi +throns thron +tiefsinniges tiefsinnig +tiger tig +tischler tischl +todesschattens todesschatt +tollen toll +tore tor +totes tot +tragen trag +traten trat +traume traum +treffliches trefflich +treppenstufen treppenstuf +triebe trieb +trinkhallen trinkhall +trocknen trockn +trostlosen trostlos +truppe trupp +tränkte trankt +tröpflein tropflein +trübselige trubselig +tuche tuch +turmstube turmstub +täppet tappet +täuschen tausch +tölpeln tolpeln +törichte toricht +tüchtigem tuchtig +türflügel turflugel +türöffners turoffners +umarmungen umarmung +umfassten umfasst +umgehängt umgehangt +umgeändert umgeandert +umherhupfte umherhupft +umkleidende umkleidend +umrührten umruhrt +umspielten umspielt +umverteilen umverteil +unabhängig unabhangig +unannehmlichkeiten unannehmlichkeit +unausgefüllt unausgefullt +unbedingte unbedingt +unbehagliches unbehaglich +unbeschnittene unbeschnitt +unbewohnte unbewohnt +unechter unecht +unentschlossen unentschloss +unerhörtes unerhort +unerschütterlich unerschutterlich +unfern unf +ungefähr ungefahr +ungekämmten ungekammt +ungeschickte ungeschickt +ungestümes ungestum +ungezählten ungezahlt +unglücklich unglucklich +unheiligen unheilig +uniondie uniondi +unkunde unkund +unmännlich unmannlich +unnütze unnutz +unredliche unredlich +unsauberes unsaub +unschön unschon +unsichern unsich +unstern unst +unterbreiten unterbreit +untereinander untereinand +untergeordneter untergeordnet +unterkiefer unterkief +unterminierte unterminiert +unterscheidungszeichen unterscheidungszeich +untersten unterst +untertänigkeit untertanigkeit +unterzukommen unterzukomm +unvergoldete unvergoldet +unverputzte unverputzt +unvertilgbaren unvertilgbar +unwahrscheinliche unwahrscheinlich +unwillkürlich unwillkurlich +unzugängliche unzuganglich +unzähliger unzahlig +urgrunde urgrund +ursächlich ursachlich +vasallentreue vasallentreu +verabredeten verabredet +veranstaltungen veranstaltung +verbeugten verbeugt +verbleiben verbleib +verborgen verborg +verbreitete verbreitet +verdammtem verdammt +verderblichen verderblich +verdorren verdorr +verdächtig verdachtig +vereinten vereint +verfaulen verfaul +verflogen verflog +verfälschen verfalsch +verführen verfuhr +vergebliches vergeblich +vergissmeinnichtschnäpse vergissmeinnichtschnaps +vergnügtem vergnugt +vergraben vergrab +verhaltenen verhalt +verheissen verheiss +verhält verhalt +verhöhnen verhohn +verkaufen verkauf +verklärt verklart +verkrüppelt verkruppelt +verlangen verlang +verlegenen verleg +verleumdern verleumd +verlorenen verlor +verlässt verlasst +vermeinter vermeint +vermittlungen vermittlung +vermöge vermog +vernehmen vernehm +vernunftbedürfnis vernunftbedurfnis +vernunftidee vernunftide +vernähme vernahm +vernünftlern vernunftl +verreisen verreis +verrückt verruckt +verscheuchten verscheucht +verschlangen verschlang +verschmerzen verschmerz +verschossen verschoss +verschwundene verschwund +versessen versess +verspotten verspott +verstandesbegriffe verstandesbegriff +verstehe versteh +verstohlener verstohl +verständigen verstandig +verständnislosen verstandnislos +versuchsweise versuchsweis +versöhnungsversuch versohnungsversuch +vertrages vertrag +vertretern vertret +verunglückten verungluckt +verwaltenden verwaltend +verwaschenen verwasch +verwelken verwelk +verwirrte verwirrt +verwundern verwund +verzagen verzag +verzichten verzicht +verzögerte verzogert +verängstigt verangstigt +vexieren vexi +vielfältige vielfaltig +vierspännige vierspannig +violettes violett +vogelstimmen vogelstimm +vollbringen vollbring +vollkommener vollkomm +vollziehest vollzieh +vorausnehmen vorausnehm +vorbereitender vorbereitend +vorbrechenden vorbrechend +vorfielen vorfiel +vorgehen vorgeh +vorgesetzte vorgesetzt +vorhandenen vorhand +vorherrschende vorherrschend +vorkomme vorkomm +vormittags vormittag +vorratshäusern vorratshaus +vorschützen vorschutz +vorstelle vorstell +vortrage vortrag +vorwerfen vorwerf +vorzugeben vorzugeb +vorzüglichen vorzuglich +vorüberkamen voruberkam +vögelchen vogelch +völlige vollig +wachsende wachsend +wadenstrümpfen wadenstrumpf +wahlberechtigten wahlberechtigt +wahlmorgen wahlmorg +wahrhaftigsten wahrhaftig +walchensee walchense +waldsträsschen waldstrassch +wandellose wandellos +wandrer wandr +warfen warf +waschungen waschung +wassernixen wassernix +weben web +wegblendete wegblendet +weggehoben weggehob +wegnehme wegnehm +wegwürfe wegwurf +wehen weh +wehrhaften wehrhaft +weiberschuhe weiberschuh +weichherzigen weichherzig +weihen weih +weinbeere weinbe +weintrinker weintrink +weisser weiss +weitere weit +weiterzogen weiterzog +weiße weiß +welle well +weltlicher weltlich +wenigem wenig +werften werft +wertlose wertlos +westdeutscher westdeutsch +wetten wett +wickelkindchen wickelkindch +widerrede widerred +widerstanden widerstand +widerwärtige widerwartig +wiederfinden wiederfind +wiederholen wiederhol +wiehernde wiehernd +wilderer wild +wille will +willkommene willkomm +windlüfte windluft +winterkohlköpfe winterkohlkopf +wirkens wirk +wirten wirt +wischer wisch +wissenschaftliches wissenschaftlich +witzen witz +wogenden wogend +wohlduftende wohlduftend +wohlgefälliges wohlgefallig +wohlgerüche wohlgeruch +wohlmeinenden wohlmeinend +wohlversehen wohlverseh +wohnstätte wohnstatt +wolle woll +wonnevolle wonnevoll +wucherten wuchert +wunderlichen wunderlich +wunderten wundert +wurzelknorren wurzelknorr +wähler wahl +währete wahret +wärest war +wässerndem wassernd +wühlte wuhlt +würdet wurdet +würze wurz +wüten wut +zahlende zahlend +zanken zank +zaster zast +zauberstücke zauberstuck +zehenten zehent +zeige zeig +zeitlaufs zeitlauf +zeitvertreiber zeitvertreib +zerbreche zerbrech +zerfliessen zerfliess +zernagte zernagt +zerschnitten zerschnitt +zerstreute zerstreut +zertrümmerten zertrummert +zeugungen zeugung +ziehenden ziehend +ziergewächs ziergewach +zigarettendose zigarettendos +zions zion +zithern zith +zivilpolizisten zivilpolizist +zuckerbrücken zuckerbruck +zufalle zufall +zufälligkeit zufalligkeit +zugegebenermassen zugegebenermass +zugestanden zugestand +zugute zugut +zulangen zulang +zumutungen zumutung +zurechtgewiesen zurechtgewies +zurückbleibt zuruckbleibt +zurückführte zuruckfuhrt +zurückgekehrt zuruckgekehrt +zurückgewinkt zuruckgewinkt +zurückliessen zuruckliess +zurückwarf zuruckwarf +zusagen zusag +zusammengefalteten zusammengefaltet +zusammenhangs zusammenhang +zusammennähten zusammennaht +zusammenstößt zusammenstoßt +zuschauern zuschau +zustands zustand +zuträgern zutrag +zuwenden zuwend +zuzuschauen zuzuschau +zwecken zweck +zweifelhafter zweifelhaft +zweispännigen zweispannig +zwillingsmilchflasche zwillingsmilchflasch +zylinder zylind +zähnchen zahnch +zäune zaun +zügellosen zugellos +züs zus +ägyptern agypt +älteren alt +äpfel apfel +ärmchen armch +ästen ast +äufnete aufnet +äusserlichsten ausserlich +äußerlich außerlich +äxten axt +öfter oft +öls ols +übeln ubeln +überblick uberblick +überdruß uberdruß +überempfindlich uberempfindlich +überflutung uberflutung +übergeht ubergeht +überhaupt uberhaupt +überkommen uberkomm +überlegt uberlegt +übermannt ubermannt +übernehmen ubernehm +überraschten uberrascht +übers ubers +überschwemmung uberschwemmung +übersiedeln ubersiedeln +überstieg uberstieg +übertretung ubertretung +überwachung uberwachung +überwunden uberwund +überzuspringen uberzuspring +übriger ubrig +a a +aber aber +abgelenkt abgelenkt +abgibt abgibt +abnahm abnahm +abschluß abschluß +abstracto abstracto +abwendung abwendung +achtgab achtgab +ade ade +ager ager +akzeptiert akzeptiert +allda allda +allzeit allzeit +altmodisch altmodisch +amtlich amtlich +anbot anbot +anerkennt anerkennt +angedeutet angedeutet +angelika angelika +angesicht angesicht +anheim anheim +anlehnung anlehnung +ans ans +ansieht ansieht +antelephoniert antelephoniert +anwendet anwendet +appell appell +arbeitsvermittlung arbeitsvermittlung +arrnbrust arrnbrust +assoziierung assoziierung +aufbietung aufbietung +aufforderung aufforderung +aufgerichtet aufgerichtet +aufhielt aufhielt +aufrichtig aufrichtig +aufsteigt aufsteigt +aug aug +ausbreitung ausbreitung +ausgebreitet ausgebreitet +ausgerechnet ausgerechnet +ausgetrocknet ausgetrocknet +ausmaß ausmaß +ausserordentlich ausserordentlich +ausstieß ausstieß +auszog auszog +bach bach +bankiers bankiers +basilisk basilisk +bauers bauers +beachtet beachtet +bedeutend bedeutend +beerscheba beerscheba +befriedigung befriedigung +begibt begibt +behaglichkeit behaglichkeit +beiderlei beiderlei +beincheneroberung beincheneroberung +bekennt bekennt +belehrt belehrt +bemerklich bemerklich +bequemlichkeit bequemlichkeit +bereitschaft bereitschaft +bergwerk bergwerk +beruhigung beruhigung +beschlag beschlag +beseitigung beseitigung +bestand bestand +bestrebt bestrebt +betreff betreff +beurteilung beurteilung +bewirbt bewirbt +bezielt bezielt +bietend bietend +bisserl bisserl +blechmusik blechmusik +blinzelnd blinzelnd +blut blut +bolzenburg bolzenburg +bratenspiess bratenspiess +brennend brennend +brummbass brummbass +buchenast buchenast +burnus burnus +causam causam +che che +christlich christlich +contrarias contrarias +dabei dabei +dahinzog dahinzog +daraus daraus +dasass dasass +dazua dazua +deklinierbuch deklinierbuch +depot depot +deshalb deshalb +diakoniekapitel diakoniekapitel +dieb dieb +differenz differenz +disputiert disputiert +don don +dran dran +dreißig dreißig +dudlerei dudlerei +durchbohrt durchbohrt +durchsucht durchsucht +ebensowohl ebensowohl +effekt effekt +ehrerbietung ehrerbietung +eigennutz eigennutz +einbringt einbringt +einfloss einfloss +eingelegt eingelegt +eingoß eingoß +einleitung einleitung +einschließt einschließt +einwand einwand +eisenwerk eisenwerk +elisabeth elisabeth +empfing empfing +eng eng +entbehrt entbehrt +entgeht entgeht +entriss entriss +entsetzt entsetzt +entwickeln entwickeln +erbaut erbaut +erdreich erdreich +erfuhr erfuhr +erheblich erheblich +erkennet erkennet +ermangelung ermangelung +erreichung erreichung +erspriesslich erspriesslich +erstreckt erstreckt +erwischt erwischt +eseln eseln +euphrat euphrat +existenzminimum existenzminimum +fabrikant fabrikant +falsch falsch +faul faul +feigenbaum feigenbaum +feldweg feldweg +fernrohrs fernrohrs +fettigkeit fettigkeit +figur figur +firma firma +flicht flicht +flug flug +forderung forderung +fortgehend fortgehend +forumein forumein +frauenmund frauenmund +freud freud +friedensopfers friedensopfers +fruchtlos fruchtlos +funktion funktion +galt galt +gau gau +gebetbuch gebetbuch +gebreitet gebreitet +gedieh gedieh +gefangenschaft gefangenschaft +gegensatz gegensatz +geheftet geheftet +geht geht +gekauft gekauft +gelacht gelacht +gelehret gelehret +gemacht gemacht +gemischt gemischt +genf genf +geordnet geordnet +gerastet gerastet +gerichtsorganisation gerichtsorganisation +gesandt gesandt +geschlechtsverzeichnis geschlechtsverzeichnis +gesell gesell +gesinnt gesinnt +gestand gestand +gesucht gesucht +gewagt gewagt +geweihbildung geweihbildung +gewißlich gewißlich +ghear ghear +gipfelpunkt gipfelpunkt +gleichbedeutend gleichbedeutend +gliederlein gliederlein +goldig goldig +gradheit gradheit +greisenhaftigkeit greisenhaftigkeit +gross gross +grundlos grundlos +guck guck +gweint gweint +hadep hadep +halbkugeln halbkugeln +handbibel handbibel +hannibal hannibal +hast hast +hauptziel hauptziel +hebt hebt +heim heim +heirat heirat +hellsehend hellsehend +heranbrach heranbrach +herausreißt herausreißt +hergehend hergehend +heroismus heroismus +herstammt herstammt +heruntergebrannt heruntergebrannt +hervortrat hervortrat +hesekiel hesekiel +hiebei hiebei +hilf hilf +hin hin +hinausschweift hinausschweift +hineinritt hineinritt +hinleg hinleg +hinterlist hinterlist +historikerin historikerin +hochwild hochwild +hol hol +hopp hopp +huldreich huldreich +hungers hungers +igel igel +immerfort immerfort +inhaltlich inhaltlich +insgesamt insgesamt +interius interius +irret irret +izmir izmir +jahr jahr +jared jared +jelek jelek +jizhar jizhar +jota jota +julimonat julimonat +kakan kakan +kanonenlauf kanonenlauf +kartoffelfeld kartoffelfeld +kauf kauf +keim keim +kiel kiel +kino kino +kirchweih kirchweih +klatschend klatschend +klug klug +kobold kobold +komm komm +konfisziert konfisziert +kontradiktorisch kontradiktorisch +korrespondenz korrespondenz +krankenbett krankenbett +kreuzl kreuzl +kritisch kritisch +kullich kullich +kurdisch kurdisch +label label +lamm lamm +langsamkeit langsamkeit +laut laut +lebensmittelembargos lebensmittelembargos +ledersofa ledersofa +leib leib +leidenschaftlich leidenschaftlich +lenkerin lenkerin +levit levit +lieblich lieblich +ließ ließ +lobsinget lobsinget +los los +luitpold luitpold +lyon lyon +magerkeit magerkeit +malis malis +mannschaft mannschaft +markln markln +mass mass +maus maus +meinung meinung +menschenvernunft menschenvernunft +metaphysik metaphysik +million million +misshandelt misshandelt +miteinand miteinand +mitschuldig mitschuldig +mitverursacht mitverursacht +mondgegend mondgegend +monument monument +motion motion +munterkeit munterkeit +mutterseelenallein mutterseelenallein +nachbarschaft nachbarschaft +nachkam nachkam +nachtigall nachtigall +naht naht +nation nation +nazis nazis +nehmt nehmt +neu neu +nichtanwendung nichtanwendung +niederliess niederliess +nirgendwo nirgendwo +normal normal +nussbaumschrank nussbaumschrank +oberherrschaft oberherrschaft +ofen ofen +oldenburg oldenburg +ordnet ordnet +ostrolenka ostrolenka +panamahut panamahut +passah passah +pech pech +perlenband perlenband +pfiff pfiff +philisterhaftigkeit philisterhaftigkeit +plan plan +polackei polackei +posaunt posaunt +prangt prangt +prius prius +projekt projekt +prozeßstadium prozeßstadium +pusterohr pusterohr +quintessenz quintessenz +rangordnung rangordnung +raub raub +rechenbuch rechenbuch +redend redend +regennacht regennacht +reh reh +reinigkeit reinigkeit +religionreligionsunterricht religionreligionsunterricht +reuet reuet +riecht riecht +ringvorlesung ringvorlesung +roh roh +rubin rubin +ruht ruht +s s +salami salami +sammet sammet +satirisch satirisch +schachteln schachteln +schamlosigkeit schamlosigkeit +schauspiel schauspiel +schellenklang schellenklang +schicksalhaft schicksalhaft +schimmert schimmert +schlang schlang +schlief schlief +schloßgesellschaft schloßgesellschaft +schmachtend schmachtend +schmied schmied +schneiderwelt schneiderwelt +schoham schoham +schreibtafel schreibtafel +schuldigkeit schuldigkeit +schwarz schwarz +schweiz schweiz +scil scil +seelon seelon +seid seid +selbigsmal selbigsmal +seligmachung seligmachung +serpentum serpentum +sicht sicht +siedendheiss siedendheiss +singbuch singbuch +sinnt sinnt +skeptisch skeptisch +sohn sohn +sommerhell sommerhell +sonnenaufgang sonnenaufgang +sono sono +soweit soweit +speichel speichel +spielkugel spielkugel +spitzig spitzig +springt springt +stach stach +stammt stammt +statuta statuta +steifbeinig steifbeinig +sterbeforscherin sterbeforscherin +stickerei stickerei +stirn stirn +straminis straminis +strebt strebt +strom strom +sturmflockenwirbel sturmflockenwirbel +summarisch summarisch +sz sz +taiga taiga +tat tat +tausig tausig +tel tel +testament testament +thiel thiel +tisch tisch +tolpatschig tolpatschig +tort tort +traktatus traktatus +trauung trauung +tritt tritt +trotzig trotzig +turin turin +ulm ulm +umgespritzt umgespritzt +ummifahret ummifahret +umstiess umstiess +unangetastet unangetastet +unbenutzt unbenutzt +unedel unedel +unfug unfug +ungewiß ungewiß +unklar unklar +unrein unrein +unstreitig unstreitig +unterlass unterlass +unterschleif unterschleif +unterzog unterzog +unverzagt unverzagt +unzeit unzeit +urteilskraft urteilskraft +vaters vaters +veranlaßt veranlaßt +verbindungsmittel verbindungsmittel +verdammnis verdammnis +verdunkelt verdunkelt +verfasst verfasst +vergeblich vergeblich +vergleich vergleich +verherrlicht verherrlicht +verkleidet verkleidet +verleugnet verleugnet +vermehrung vermehrung +verneigt verneigt +verregnet verregnet +verschleiert verschleiert +versetzung versetzung +verstattet verstattet +verteidigung verteidigung +verursacht verursacht +verweigerung verweigerung +verwunderung verwunderung +vfb vfb +viertel viertel +vokabeln vokabeln +vom vom +vorbedacht vorbedacht +vorfindet vorfindet +vorhergehend vorhergehend +vorn vorn +vorsetzt vorsetzt +vorwaltet vorwaltet +wach wach +wahljahr wahljahr +wahrnehmbar wahrnehmbar +wandelnd wandelnd +warst warst +we we +weggewendet weggewendet +wehselig wehselig +weidmann weidmann +weinstock weinstock +weithin weithin +weltmann weltmann +werdet werdet +wetters wetters +widersetzt widersetzt +wiederbelebt wiederbelebt +wieso wieso +windfaust windfaust +wirbel wirbel +wirtschaftswachstum wirtschaftswachstum +woass woass +wohllaut wohllaut +woll woll +worum worum +wurzweg wurzweg +zankt zankt +zeichnung zeichnung +zeitweilig zeitweilig +zerlegung zerlegung +zeugnis zeugnis +zier zier +zirkel zirkel +zoo zoo +zufluss zufluss +zugibt zugibt +zunehmend zunehmend +zusammengekehrt zusammengekehrt +zusammenstoppeln zusammenstoppeln +zutragend zutragend +zwang zwang +zweit zweit diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/de-minimal.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/de-minimal.tsv new file mode 100644 index 0000000000..55a91c7273 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/de-minimal.tsv @@ -0,0 +1,2000 @@ +aalglatten aalglatt +abendländischen abendlandisch +abermalige abermalig +abgebe abgeb +abgehängen abgehang +abgenommen abgenomm +abgeschwächt abgeschwacht +abgewetzten abgewetzt +abgründe abgrund +abhängig abhangig +ablassen ablass +abmühten abmuht +abrisse abris +abschlagen abschlag +abschüttelten abschuttelt +absonderungen absonderung +abstrahieren abstrahier +aburteilen aburteil +abwickeln abwickel +abzugeben abzugeb +abzupflücken abzupfluck +abzuwenden abzuwend +achtete achtet +acker acke +adler adle +affizierten affiziert +ahornbäume ahornbaum +aktionen aktio +allbereits allbereit +allereinzelnsten allereinzelnst +allerschlimmste allerschlimmst +allgemein allgemei +allmächtige allmachtig +allzulange allzulang +altersleiden altersleid +ameise amei +amtes amte +analogon analogo +anbetete anbetet +andere ander +andreas andrea +anerkannte anerkannt +anfeinden anfeind +anführen anfuhr +angebotenen angebote +angehalten angehalt +angehört angehort +angelegentlichste angelegentlichst +angenehmste angenehmst +angeschwollen angeschwoll +angestrichene angestrichen +angrenzenden angrenzend +anheimgegeben anheimgegeb +anhörte anhort +ankommender ankommend +anlegte anlegt +anmutigen anmutig +annähme annahm +anrühren anruhr +anschließen anschließ +ansprache ansprach +anstoss anstos +anstößt anstoßt +antriebe antrieb +anwandeln anwandel +anzengruber anzengrub +anzuhängen anzuhang +anzusehen anzuseh +apfelbaumes apfelbaum +arabiens arabien +arbeitsplatzes arbeitsplatz +argwohn argwoh +armseligste armseligst +ascher asch +aster aste +atome atom +aufblies aufbli +aufeinanderfolgen aufeinanderfolg +auffallen auffall +aufgabe aufgab +aufgefunden aufgefund +aufgekommenen aufgekomme +aufgerüttelt aufgeruttelt +aufgeworfene aufgeworfen +aufhäuften aufhauft +aufleuchtenden aufleuchtend +aufnahmegefäss aufnahmegefas +aufpflanzte aufpflanzt +aufrichtigen aufrichtig +aufschlüsse aufschlus +aufsprossen aufspross +auftauchten auftaucht +aufwärter aufwart +aufzuge aufzug +aufzuschlagen aufzuschlag +augen auge +ausblase ausbla +ausdrucksweise ausdruckswei +auseinanderschneiden auseinanderschneid +ausforschen ausforsch +ausgebildete ausgebildet +ausgeflossen ausgefloss +ausgehungerte ausgehungert +ausgeritten ausgeritt +ausgesetzte ausgesetzt +ausgetrieben ausgetrieb +ausgingen ausging +auskröchen auskroch +auslöschte ausloscht +ausreissen ausreiss +ausschicken ausschick +aussenminister aussenminist +ausspannen ausspan +ausstrecke ausstreck +austreibe austreib +auswendigsten auswendigst +auszuarbeiten auszuarbeit +auszulöschen auszulosch +auszuschreiten auszuschreit +ausüben ausub +aversamur aversamu +backsteinplatte backsteinplatt +balester balest +bankbeamten bankbeamt +baren bare +baseler basel +bauche bauch +bauersmann bauersman +baumstöcke baumstock +beachten beacht +bebaute bebaut +bedeckten bedeckt +bedeutsamsten bedeutsamst +bedrängte bedrangt +bedürfnisses bedurfniss +beeren beer +befestigte befestigt +befreie befrei +befördert befordert +begann began +begehrungsvermögens begehrungsvermogen +begleitern begleiter +begreifen begreif +begründe begrund +begrüßen begruß +behagten behagt +behelfen behelf +behältnis behaltni +beider beid +beigesellen beigesell +beinen bein +beistimmendes beistimmend +bejahrten bejahrt +beklagen beklag +bekämpft bekampft +belebe beleb +beleuchteten beleuchtet +belästigen belastig +bemühen bemuh +beneidenswürdige beneidenswurdig +benützung benutzung +beraten berat +beredungen beredung +bergen berg +bergsteiger bergsteig +berlin berli +beruhe beruh +berühmtesten beruhmtest +besass besas +beschienenen beschiene +beschriebene beschrieben +beschwerte beschwert +beschäftigter beschaftigt +besen bese +besitzerin besitzeri +besonnten besonnt +besseren besser +bestechende bestechend +bestie besti +bestimmtesten bestimmtest +beständiger bestandig +bestürmte besturmt +besässe besas +betragen betrag +betrunkenen betrunke +betrügerisch betrugerisch +betäubt betaubt +beurteilte beurteilt +bewahrte bewahrt +bewegursache bewegursach +bewirkten bewirkt +bewusstlosen bewusstlos +bewässerter bewassert +bezeugen bezeug +bezüglichen bezuglich +biertrinker biertrink +bildschöne bildschon +biographien biographi +bitter bitt +blanker blank +blattern blatter +bleibe bleib +blendendweisse blendendweis +blinder blind +blitzschrecken blitzschreck +bloßes bloß +blutbräutigams blutbrautigam +blähte blaht +blödsinnige blodsinnig +blüten blut +bombardierte bombardiert +boutique boutiqu +brandrotes brandrot +braun brau +braver brav +brenne brenn +bringe bring +broten brot +brummbässe brummbas +bräutigam brautigam +brüller brull +buchbinders buchbinder +buchungsbelegen buchungsbeleg +bundeslade bundeslad +bureaus bureau +bäche bach +bärenschinken barenschink +böcke bock +bösewichte bosewicht +büchsenlicht buchsenlicht +bügelte bugelt +bürgerhut burgerhut +büroräume buroraum +canailles canaill +chaotischen chaotisch +cheruben cherub +christdemokratischen christdemokratisch +chöre chor +computern computer +daches dach +dagesessen dagesess +daliegenden daliegend +danken dank +darein darei +dartun dartu +datis dati +davongangen davongang +decke deck +deinen dein +demokratische demokratisch +denjenigen denjenig +derartigen derartig +derselbe derselb +details detail +deutschlehrerin deutschlehreri +dichtes dicht +diefer dief +diensten dienst +dieselben dieselb +dinte dint +disputieren disputier +dominicus dominicu +doppelbüchse doppelbuch +dorfspaziergängen dorfspaziergang +drachen drach +dreieckiger dreieckig +dreschen dresch +drohenden drohend +drängt drangt +duckmäuser duckmaus +dummes dumm +dunkels dunkel +durchbohrter durchbohrt +durchführung durchfuhrung +durchmass durchmas +durchschritten durchschritt +durchzogen durchzog +dächer dach +dänischen danisch +dünkten dunkt +dürftigen durftig +düten dute +ebereschen eberesch +edelpferden edelpferd +effigies effigi +ehemals ehemal +ehrenbürgerinfür ehrenburgerinfu +ehrwürdig ehrwurdig +eifers eifer +eigenhändig eigenhandig +eigentliche eigentlich +eigenwillen eigenwill +einbilde einbild +eindringendsten eindringendst +einfallen einfall +einfließenden einfließend +einflößt einfloßt +einfühlungsvermögen einfuhlungsvermog +eingebüsst eingebusst +eingegangen eingegang +eingenommen eingenomm +eingeschlafen eingeschlaf +eingetan eingeta +eingeäscherten eingeaschert +einheimsen einheims +einigermassen einigermass +einkrümmung einkrummung +einmischte einmischt +einrückte einruckt +einschläft einschlaft +einsichtsfähigkeit einsichtsfahigkeit +einstiges einstig +eintretende eintretend +einvernahme einvernahm +einwürfe einwurf +einziges einzig +einzuknöpfen einzuknopf +einzuziehen einzuzieh +eisgeschwistern eisgeschwister +ekelte ekelt +elenchis elenchi +ellbög ellbog +empfangszimmer empfangszimm +empfängt empfangt +emportürmte emporturmt +endigte endigt +engelgeister engelgeist +englische englisch +entblößt entbloßt +entfernen entfer +entfärbt entfarbt +entgegenkommen entgegenkomm +enthaltene enthalten +entkräfteter entkraftet +entlocken entlock +entränne entrann +entschlafen entschlaf +entschwebte entschwebt +entsprechendes entsprechend +entströmten entstromt +entwendete entwendet +entwürdigend entwurdigend +epikur epiku +erbeben erbeb +erblassten erblasst +erbärmliche erbarmlich +erdichtete erdichtet +erfahrene erfahren +erfindungsgabe erfindungsgab +erforschen erforsch +erfährt erfahrt +ergiessen ergiess +ergänzung erganzung +erhaschen erhasch +erholte erholt +erinnern erinner +erkenntnis erkenntni +erklärst erklarst +erlaube erlaub +erleichterte erleichtert +erlös erlo +ermannte ermannt +ermüdetes ermudet +ernsthaftes ernsthaft +erraten errat +erröte errot +erscheinens erscheinen +erschrecken erschreck +ersehe erseh +erspähend erspahend +ersten erst +erstmals erstmal +ertrotzen ertrotz +erwachsener erwachsen +erweiterten erweitert +erwächst erwachst +erwünschte erwunscht +erziehungsleute erziehungsleut +erzählest erzahlest +esaus esau +esszimmer esszimm +eurer eure +ewige ewig +exkrementen exkrement +faciles facil +fahrwasser fahrwass +falsches falsch +fanatisierten fanatisiert +farbtupfer farbtupf +fauchte faucht +federführung federfuhrung +feierliche feierlich +feigern feiger +feinschmecker feinschmeck +feldzuges feldzug +felsnase felsna +fergus fergu +fernsten fernst +festgemachte festgemacht +fetten fett +feuerhölle feuerholl +fiber fibe +figur figu +fingen fing +firste first +flachen flach +flats flat +flehte fleht +fliege flieg +flinkfüssigen flinkfussig +fluchtgedanken fluchtgedank +flusses fluss +flüchteten fluchtet +flügelmann flugelman +folgen folg +fontenelle fontenell +formenwesens formenwesen +fortdauer fortdau +fortgetrieben fortgetrieb +fortschritte fortschritt +forumein forumei +franzosen franzos +frauensleute frauensleut +frechsten frechst +freiließen freiließ +frelmännin frelmanni +freudenschüsse freudenschus +freundlicher freundlich +friedenszeiten friedenszeit +frischer frisch +fronten front +fröhliche frohlich +frühe fruh +frühlingshimmel fruhlingshimmel +frührot fruhrot +fuhrwerklein fuhrwerklei +funktionierte funktioniert +fusssohle fusssohl +fähigkeit fahigkeit +färbende farbend +försterbart forsterbart +fühlhörnchen fuhlhornch +führt fuhrt +fünfen funf +fünfzehnmal funfzehnmal +fürchtende furchtend +fürsichtige fursichtig +füttern futter +galler gall +garderobe garderob +gassen gass +gasthofes gasthof +gealttätige gealttatig +gebeugte gebeugt +gebissen gebiss +geboten gebot +gebräuchen gebrauch +gebälks gebalk +gebürtig geburtig +gedankenspäne gedankenspan +gedruckten gedruckt +gedörrt gedorrt +gefangener gefangen +geformte geformt +gefährlicher gefahrlich +gefärbte gefarbt +geführet gefuhret +gegengewichts gegengewicht +gegenwärtigeren gegenwartiger +gegnern gegner +gehassten gehasst +geheimnisvoller geheimnisvoll +gehoffte gehofft +gehölz geholz +gehörtest gehortest +geisterheere geisterheer +geistigsten geistigst +gekrönt gekront +gelassener gelassen +geldgier geldgi +gelehrte gelehrt +gelindesten gelindest +gelungenen gelunge +gelüstig gelustig +gemeindegutes gemeindegut +gemeinschaftlichen gemeinschaftlich +gemshorn gemshor +gemäßigt gemaßigt +gemütsanlage gemutsanlag +genausten genaust +genies geni +genuss genus +genüsse genus +gepflegter gepflegt +geprügelt geprugelt +gerechte gerecht +gerichten gericht +gerichtszimmer gerichtszimm +geringschätzung geringschatzung +geruches geruch +geröllhalden gerollhald +gerüste gerust +gesangs gesang +gescheuerte gescheuert +geschiedenes geschieden +geschlossener geschlossen +geschnatterwesen geschnatterwes +geschrien geschri +geschwänzelt geschwanzelt +geschäftliche geschaftlich +geschäftsstelle geschaftsstell +gesegnen geseg +gesessen gesess +gesetzte gesetzt +gesindehaus gesindehau +gespreizten gespreizt +gestalten gestalt +gestirnes gestirn +gestrige gestrig +gesundes gesund +getauchte getaucht +getrieben getrieb +getröstet getrostet +gewahrten gewahrt +gewandte gewandt +gewerkschaftsdemonstration gewerkschaftsdemonstratio +gewissenhafter gewissenhaft +gewisseste gewissest +gewordenen geworde +gewährten gewahrt +gewölk gewolk +gezeigten gezeigt +geädert geadert +ghear ghea +gifte gift +glanze glanz +glaubenden glaubend +glaubenswahren glaubenswahr +gleiches gleich +gleichzumachen gleichzumach +glockenschläge glockenschlag +glänzender glanzend +gläubiger glaubig +glücks gluck +glühende gluhend +gnädige gnadig +golde gold +goldkieswege goldkiesweg +gomorrahs gomorrah +gottlosen gottlos +grafen graf +gratis grati +grauweiss grauweis +greisenalter greisenalt +greueln greuel +grimmigen grimmig +grossartige grossartig +grossmütige grossmutig +großvater großvat +grundmauern grundmauer +gräben grab +gröber grob +grössten grosst +grübeleien grubelei +gründung grundung +grüssend grussend +gsungen gsung +gutartige gutartig +gwitter gwitt +gänzlichen ganzlich +göttern gotter +götzensteine gotzenstein +gürteten gurtet +haarwuchs haarwuch +haftstrafen haftstraf +haken hake +halbstummen halbstumm +halskette halskett +hampelmann hampelman +handgelenken handgelenk +handreibungen handreibung +hantierungen hantierung +harnischreste harnischrest +hartnäckigkeit hartnackigkeit +hasterer haster +hauptbeschäftigung hauptbeschaftigung +hauptspass hauptspas +hausdurchsuchungen hausdurchsuchung +hauste haust +hebräisch hebraisch +heftiger heftig +heiliges heilig +heimkehr heimkeh +heimzusuchen heimzusuch +heissmachen heissmach +helle hell +hemdkragen hemdkrag +herabgeworfen herabgeworf +herangeschwänzelt herangeschwanzelt +heraufführen herauffuhr +herausführt herausfuhrt +herauskommen herauskomm +herauszuführen herauszufuhr +herbeigekommen herbeigekomm +herbstmorgens herbstmorgen +hereinkommen hereinkomm +hergetrieben hergetrieb +heros hero +herrlichsten herrlichst +herstammende herstammend +herumkollerte herumkollert +herumschweifen herumschweif +herumtänzeln herumtanzel +herunterblickte herunterblickt +hervorblitzte hervorblitzt +hervorgezogen hervorgezog +hervorstrahlende hervorstrahlend +herzensfröhlichkeit herzensfrohlichkeit +herzogs herzog +herüberkommen heruberkomm +heuschrecken heuschreck +hiegegen hiegeg +hieroglyphen hieroglyph +hilfskräfte hilfskraft +himmelschreiendes himmelschreiend +himmelsziegenhörnchen himmelsziegenhornch +hinabgingen hinabging +hinanfuhren hinanfuhr +hinaufstreckte hinaufstreckt +hinausgeschlichen hinausgeschlich +hinausstoßen hinausstoß +hindinnen hindin +hineingefahren hineingefahr +hineinschrie hineinschri +hingaben hingab +hingetreten hingetret +hinnen hinn +hinstellte hinstellt +hinterher hinterh +hinuntergestossen hinuntergestoss +hinweggehen hinweggeh +hinzufügt hinzufugt +hinzutreten hinzutret +hirnhäute hirnhaut +hitze hitz +hochgewölbten hochgewolbt +hochtrabende hochtrabend +hoffen hoff +hofstaats hofstaat +holte holt +honetter honett +horste horst +huldigten huldigt +hunderte hundert +hungrigen hungrig +häcksel hacksel +hände hand +hängten hangt +hässliches hasslich +häuptern haupter +häßliche haßlich +höflichen hoflich +höhlen hohl +höllisches hollisch +hörnchen hornch +hügel hugel +hündlein hundlei +hütten hutt +ihres ihre +immerwährend immerwahrend +indierinnen indierin +infos info +innerer inner +innewohnen innewoh +inseratenkampagne inseratenkampagn +intelligenzen intelligenz +interessierten interessiert +inwendiges inwendig +irgendeines irgendein +irrlehren irrlehr +israelitischen israelitisch +jacke jack +jagen jage +jahrln jahrl +janzer janz +jedes jede +jenen jene +jezuweilen jezuweil +jonas jona +jubilierende jubilierend +juliusstraße juliusstraß +juristische juristisch +jägersprache jagersprach +jämmerlich jammerlich +jüngling jungling +kaffeekanne kaffeekann +kalender kalend +kaminer kamin +kammwiesen kammwies +kannegiesser kannegiess +kantonalkirche kantonalkirch +kapriolen kapriol +karton karto +kasus kasu +katholische katholisch +kaufleute kaufleut +kegelbahn kegelbah +keinesfalls keinesfall +kennen kenn +kerze kerz +kiepenheuer kiepenheu +kindern kinder +kindlichen kindlich +kirchenmitglieder kirchenmitglied +kirchgemeinderäte kirchgemeinderat +kitschige kitschig +klappern klapper +klatschen klatsch +klecksigen klecksig +kleinen klei +kleinviehs kleinvieh +klirren klirr +kläffer klaff +knaben knab +knickse knick +knobeln knobel +knäuel knauel +koalitionsversuche koalitionsversuch +kollerte kollert +kommen komm +komplimenten kompliment +konservativen konservativ +kopfhängen kopfhang +korahiten korahit +kosenamen kosenam +kothöllen kotholl +krankenbettes krankenbett +kravatte kravatt +kreisen kreis +kreuzes kreuz +kriechtiere kriechtier +kriegsmann kriegsman +kritische kritisch +krummholzbusche krummholzbusch +kräht kraht +kräuter kraut +kuchen kuch +kultivierte kultiviert +kunstdenkmäler kunstdenkmal +kupfer kupf +kurzatmiger kurzatmig +kutte kutt +kämen kame +kästchen kastch +könig konig +königssee konigsse +körben korb +köter kote +kühnheit kuhnheit +kündigten kundigt +kürassiere kurassier +küstern kuster +ladendiebin ladendiebi +lamentierte lamentiert +landete landet +landsmannes landsmann +langjährige langjahrig +lasten last +laube laub +lausanne lausann +lautsprechern lautsprecher +lebensbuche lebensbuch +lebenslustigen lebenslustig +lebensähnliches lebensahnlich +lechzte lechzt +leere leer +lehne lehn +lehrmeinungen lehrmeinung +leibesorgane leibesorgan +leichenbegängnis leichenbegangni +leichtsinniger leichtsinnig +leiermann leierman +leisen leis +leitstern leitster +lestungen lestung +leuchter leucht +leviten levit +lichterchen lichterch +liebende liebend +liebesfeuer liebesfeu +liebevollen liebevoll +liebreizenden liebreizend +liederlicher liederlich +liess lies +linke link +lissabon lissabo +lobenden lobend +lohete lohet +losgehen losgeh +loszumachen loszumach +lucinde lucind +lumpenkleider lumpenkleid +lustwälder lustwald +lächelte lachelt +ländchen landch +längsten langst +lästert lastert +löchelchen lochelch +löwenhaut lowenhaut +lügners lugner +macheten machet +magier magi +maikäferbein maikaferbei +makarius makariu +mandeltorte mandeltort +mannigfaltigkeiten mannigfaltigkeit +marienkäferkinderchen marienkaferkinderch +marzipanschweinezüchterei marzipanschweinezuchterei +massive massiv +mathematischen mathematisch +maßen maße +meditativen meditativ +mehreren mehrer +meine mein +meiste meist +melodie melodi +menschenkenntnis menschenkenntni +menschliche menschlich +merkwürdiges merkwurdig +metaphysischen metaphysisch +midian midia +mikrofon mikrofo +mildes mild +millionärin millionari +minutenlangen minutenlang +missfällig missfallig +missverständlich missverstandlich +mitbrächte mitbracht +mitgesellen mitgesell +mitmachte mitmacht +mittagsstunde mittagsstund +mittelpunkte mittelpunkt +mittlerweile mittlerweil +mißbräuche mißbrauch +mochten mocht +momenten moment +mondlichtes mondlicht +moose moos +morgenden morgend +morsche morsch +mulde muld +murke murk +musikstück musikstuck +mutesäusserung mutesausserung +mutwillens mutwillen +mächtig machtig +mängel mangel +mässig massig +mäßiger maßig +möglich moglich +mörser mors +mühsam muhsam +münzen munz +müsstest musstest +nachbar nachba +nacheiferten nacheifert +nachgeahmten nachgeahmt +nachher nachh +nachmittage nachmittag +nachteile nachteil +nachträglich nachtraglich +nachzufahren nachzufahr +nacketes nacket +naher nahe +narbenbein narbenbei +nationalhelden nationalheld +naturgeister naturgeist +naturwissenschafter naturwissenschaft +nebelhafte nebelhaft +nebensache nebensach +nehmenden nehmend +nesseln nessel +neuerdings neuerding +neugierigen neugierig +nichtglauben nichtglaub +nichtsnutzigsten nichtsnutzigst +niederdrücken niederdruck +niederklatschen niederklatsch +niedersten niederst +niedrigeren niedriger +nimmermehr nimmermeh +nominativen nominativ +notaufnahme notaufnahm +notwendigen notwendig +nussbaumlade nussbaumlad +nächstbesten nachstbest +nägeln nagel +nähten naht +nötigen notig +nützlichen nutzlich +oberfläche oberflach +objective objectiv +obzwar obzwa +offener offen +ohnmächtig ohnmachtig +opfer opfe +orangenhaine orangenhain +ordnungssinn ordnungssin +orientieren orientier +osten oste +ozean ozea +palmzweigen palmzweig +papiere papier +parieren parier +pascher pasch +pater pate +patschnass patschnas +pechverbandes pechverband +pelzmütze pelzmutz +persuasiones persuasion +pfades pfad +pfefferkuchenbäume pfefferkuchenbaum +pferdchen pferdch +pflaumen pflaum +pflugviehs pflugvieh +pförtlein pfortlei +pheresiter pheresit +phrasen phras +pineissens pineissen +plangemäss plangemas +plauderten plaudert +plötzlichen plotzlich +polen pole +polnisches polnisch +portierten portiert +positiven positiv +prachtvolle prachtvoll +preis prei +priestern priester +privaten privat +problemwelle problemwell +prophetische prophetisch +provisorischen provisorisch +prächtiger prachtig +präsidenten prasident +prügelstrafe prugelstraf +pulver pulv +purzeln purzel +pässe pass +quartierbewohnern quartierbewohner +quirlte quirlt +rachegefühl rachegefuhl +rande rand +rascher rasch +rastloses rastlos +ratschlagten ratschlagt +rauchfaden rauchfad +rauschte rauscht +rebhühner rebhuhn +rechtes recht +rechtsbewusstsein rechtsbewusstsei +redenden redend +reeder reed +regen rege +regierenden regierend +regnerischer regnerisch +reichen reich +reichtümern reichtumer +reineren reiner +reisen reis +reiten reit +reiße reiß +rempelte rempelt +respektieren respektier +rettungsgedanken rettungsgedank +rhetorischen rhetorisch +richtungen richtung +riesengrosse riesengros +rinde rind +ringgeschmückten ringgeschmuckt +ritikül ritikul +rituale ritual +rohesten rohest +romantischer romantisch +rosmaringärtchen rosmaringartch +rotgelben rotgelb +ruchbar ruchba +ruhepunkten ruhepunkt +rumpfe rumpf +russigen russig +ränke rank +räumlichkeiten raumlichkeit +rübezahl rubezahl +rückschauen ruckschau +rückweg ruckweg +rührenden ruhrend +rütteln ruttel +sachlage sachlag +saitenspieler saitenspiel +samenreste samenrest +sandes sand +sanftleuchtenden sanftleuchtend +sarnen sarn +saubere sauber +savoyardenkinder savoyardenkind +schafe schaf +schande schand +schattenreichen schattenreich +schaudern schauder +schauspielschule schauspielschul +scheinbaren scheinbar +scheiterte scheitert +schenkte schenkt +scheuerte scheuert +schicksalsrufe schicksalsruf +schier schi +schiffslände schiffsland +schilfwiesen schilfwies +schinde schind +schlafgefährten schlafgefahrt +schlangengifte schlangengift +schlechten schlecht +schleier schlei +schleuse schleu +schlimmer schlimm +schlosses schloss +schlussfolgerungen schlussfolgerung +schlänglein schlanglei +schmachtete schmachtet +schmer schm +schmetternde schmetternd +schmucken schmuck +schmücken schmuck +schnaufender schnaufend +schneelieder schneelied +schneiderlein schneiderlei +schnelläufer schnellauf +schnuppern schnupper +schnüffelnd schnuffelnd +schonende schonend +schranken schrank +schreibtischs schreibtisch +schriller schrill +schufte schuft +schuldnern schuldner +schulter schult +schwaar schwaa +schwankenden schwankend +schwarzseidenes schwarzseiden +schweige schweig +schweizerorten schweizerort +schweres schwer +schwester schwest +schwimmenden schwimmend +schwäbchens schwabchen +schwänzen schwanz +schwärzt schwarzt +schäden schad +schändlich schandlich +schönem schonem +schöpfe schopf +schürzenband schurzenband +schützende schutzend +sechstes sechst +seelenkräfte seelenkraft +segens segen +sehnsüchtiger sehnsuchtig +seien seie +seinigen seinig +sekunde sekund +selbsterkenntnis selbsterkenntni +selbstzufrieden selbstzufried +seligwerden seligwerd +sender send +servieren servier +seufzern seufzer +sicherheitsbehörden sicherheitsbehord +sichtende sichtend +siebzehn siebzeh +silbe silb +silbernes silbern +singende singend +sinnige sinnig +sinnvollere sinnvoller +sitzen sitz +sofern sofer +solchen solch +solipsismus solipsismu +sommerspass sommerspas +sonne sonn +sonnigen sonnig +sophienstrasse sophienstras +sorte sort +spanien spani +sparsame sparsam +spazierstöckchen spazierstockch +speiste speist +sperrmäuler sperrmaul +spiele spiel +spiesse spies +spitzen spitz +sprache sprach +sprengkapseln sprengkapsel +spruchweise spruchwei +spuren spur +spätregen spatreg +staatsbürgerbewußtsein staatsburgerbewußtsei +stachligen stachlig +stalltür stalltu +standenes standen +starten start +status statu +steckenden steckend +stehens stehen +steinbeschwerte steinbeschwert +steinhaufen steinhauf +stellten stellt +sterbenden sterbend +sternenkindern sternenkinder +steuer steu +stierer stier +stiller still +stimmten stimmt +stockten stockt +stolzer stolz +strafgerichte strafgericht +stramen stram +strategischen strategisch +streckte streckt +streitige streitig +strichlein strichlei +stromes strom +strömen strom +studie studi +stumpfnäschen stumpfnasch +stäbchen stabch +ständchen standch +stärkte starkt +störenfriedes storenfried +stücks stuck +stürze sturz +subjektiven subjektiv +suchenden suchend +sunntäg sunntag +synkretistischen synkretistisch +säbels sabel +sänge sang +säuberte saubert +säulen saul +südliches sudlich +süssem sussem +tafeldeckern tafeldecker +tagreisen tagreis +tanne tann +tanzte tanzt +tassen tass +tauchten taucht +taumeln taumel +techniker technik +teils teil +teller tell +terroristischer terroristisch +thachpanches thachpanch +theologischen theologisch +thrones thron +tiefste tiefst +tierschutzverein tierschutzverei +tischlade tischlad +todesaussichten todesaussicht +tollen toll +topus topu +totgeprügelt totgeprugelt +trage trag +traten trat +traume traum +treiben treib +treten tret +triebfeder triebfed +triumphe triumph +trommeln trommel +trostlosesten trostlosest +träge trag +träufelten traufelt +tröster trost +trüffeln truffel +tugendhafter tugendhaft +tuscheln tuschel +tätig tatig +täuschungen tauschung +töpfen topf +tüchl tuchl +türfüllung turfullung +uchtenhagen uchtenhag +umarmungen umarmung +umfassten umfasst +umgehängt umgehangt +umgezogen umgezog +umhergeworfene umhergeworfen +umkehrte umkehrt +umringten umringt +umsichtige umsichtig +umtreiben umtreib +umzustossen umzustoss +unangezündet unangezundet +unauflösliches unaufloslich +unbedingten unbedingt +unbeholfen unbeholf +unbeschreibliche unbeschreiblich +unbewussten unbewusst +unehre unehr +unerbittlicher unerbittlich +unerläßlich unerlaßlich +unersteiglicher unersteiglich +unfriede unfried +ungefunden ungefund +ungekämmten ungekammt +ungeschehen ungescheh +ungesungenen ungesunge +ungezweifelten ungezweifelt +unglücklich unglucklich +unheiligen unheilig +uniondie uniondi +unkriegerisches unkriegerisch +unmittelbares unmittelbar +unnötig unnotig +unrechtmässig unrechtmassig +unsaubere unsauber +unschädlich unschadlich +unsicherer unsicher +unsres unsr +unterarten unterart +unterdrückungen unterdruckung +untergeordneter untergeordnet +unterkiefer unterkief +unternehmen unternehm +unterschiede unterschied +unterstützen unterstutz +untertanen unterta +unterzukommen unterzukomm +unvereinbar unvereinba +unvernünftigen unvernunftig +unversöhnlich unversohnlich +unvordenklichen unvordenklich +unwiderstehlichen unwiderstehlich +unziemliches unziemlich +unzähligem unzahligem +urbilder urbild +ursprunge ursprung +urwesen urwes +vaterhäusern vaterhauser +verabschiedete verabschiedet +verarmten verarmt +verbinde verbind +verblieben verblieb +verboten verbot +verbunden verbund +verdenken verdenk +verdingen verding +verdrängt verdrangt +verein verei +verfalle verfall +verfielen verfiel +verfolgern verfolger +verfälschungen verfalschung +vergangenen vergange +vergessener vergessen +vergnügens vergnugen +vergoldeten vergoldet +verhafteten verhaftet +verhehlten verhehlt +verhinderte verhindert +verhärten verhart +verirren verirr +verkennen verken +verknüpfung verknupfung +verkünstelt verkunstelt +verlaufende verlaufend +verletzte verletzt +verlockungen verlockung +verlumpte verlumpt +vermehrter vermehrt +vermisste vermisst +vermähltes vermahlt +vernahmen vernahm +vernichtungsgenie vernichtungsgeni +vernunftglaubens vernunftglauben +vernunftwillens vernunftwillen +vernünftigsein vernunftigsei +verrechnen verrech +verrät verrat +verscheuchen verscheuch +verschlangen verschlang +verschmelzen verschmelz +verschonen verscho +verschwundenen verschwunde +versessen versess +verspotten verspott +verstandesbegriffen verstandesbegriff +verstehen versteh +verstopfen verstopf +verständiges verstandig +verständnisvoller verstandnisvoll +versuchungen versuchung +verteidiger verteidig +vertraue vertrau +vertrunkenen vertrunke +verursachen verursach +verwandeln verwandel +verwegenen verwege +verwickeln verwickel +verwittertes verwittert +verwünschungen verwunschung +verzehrendes verzehrend +verzweifelte verzweifelt +verändern verander +verübt verubt +viele viel +vielweniger vielwenig +viertelswandseite viertelswandseit +visiers visier +vokative vokativ +vollenden vollend +vollkommenheiten vollkommenheit +voran vora +voraussetzen voraussetz +vorbilde vorbild +vorderkrällchen vorderkrallch +vorgebildete vorgebildet +vorgenommene vorgenommen +vorgezogene vorgezogen +vorhergegangen vorhergegang +vorhofs vorhof +vorliegenden vorliegend +vornehme vornehm +vorräte vorrat +vorsingen vorsing +vorstellungsweise vorstellungswei +vorträgen vortrag +vorzeichen vorzeich +vorzurücken vorzuruck +vorüberdrehte voruberdreht +vrenchen vrench +völker volk +wachen wach +wackeln wackel +wagenschmiere wagenschmier +wahlergebnisse wahlergebnis +wahlurnen wahlur +wahrnehmbarer wahrnehmbar +walde wald +waldstämme waldstamm +wandelnden wandelnd +wandschränkchen wandschrankch +warmen warm +wasseraugen wasseraug +wasserquellen wasserquell +weben webe +wegbringen wegbring +weggenommen weggenomm +wegspringen wegspring +wegzufangen wegzufang +wehklagenden wehklagend +weibchen weibch +weibliches weiblich +weidenrosen weidenros +weihnachtsgarten weihnachtsgart +weines wein +weisheiten weisheit +weisshaarige weisshaarig +weitergegeben weitergegeb +weitherausstehenden weitherausstehend +weißseidenen weißseide +weltgebäudes weltgebaud +weltteilen weltteil +werbebeschränkungen werbebeschrankung +werktagen werktag +wesens wesen +westliches westlich +wichtigen wichtig +widerfuhr widerfuh +widerspreche widersprech +widerstrebte widerstrebt +wieder wied +wiedergebärer wiedergebar +wiederkommen wiederkomm +wiesengrunde wiesengrund +wildgarten wildgart +willensgebietes willensgebiet +wimmelte wimmelt +winkeleien winkelei +winzigen winzig +wirklicher wirklich +wirtschaftliche wirtschaftlich +wischte wischt +wisstümlichem wisstumlichem +wizenmann wizenman +woher wohe +wohlduftende wohlduftend +wohlgefälligsten wohlgefalligst +wohlgesicherte wohlgesichert +wohlschmeckenden wohlschmeckend +wohlweisen wohlweis +wohnungen wohnung +wollen woll +woraus worau +wovon wovo +wundere wunder +wunderschöne wunderschon +wurden wurd +wählen wahl +währenddessen wahrenddess +wäret waret +wässerte wassert +wünschbarsten wunschbarst +würdigkeit wurdigkeit +wüssten wusst +wüßtest wußtest +zahlreicher zahlreich +zarge zarg +zauberhaftes zauberhaft +zeche zech +zehntes zehnt +zeitabschnitte zeitabschnitt +zeiträume zeitraum +zentralsekretär zentralsekreta +zerfahrenen zerfahre +zerlegte zerlegt +zerschellen zerschell +zerstoßen zerstoß +zertretenen zertrete +zeugnisse zeugnis +ziegen zieg +ziemte ziemt +zigaretten zigarett +zimperlichen zimperlich +zischlauten zischlaut +zivildienstleistenden zivildienstleistend +zottelte zottelt +zudringlichen zudringlich +zufriedener zufrieden +zugeben zugeb +zugeschrieben zugeschrieb +zugreifen zugreif +zukomme zukomm +zumachen zumach +zupfte zupft +zurück zuruck +zurückführen zuruckfuhr +zurückgehn zuruckgeh +zurückgewinkt zuruckgewinkt +zurückliessen zuruckliess +zurückweichen zuruckweich +zusagte zusagt +zusammengehalten zusammengehalt +zusammenhängend zusammenhangend +zusammenschrumpften zusammenschrumpft +zusammenstößt zusammenstoßt +zuschauers zuschauer +zustandes zustand +zuträgern zutrager +zuwege zuweg +zuzuschauen zuzuschau +zwecken zweck +zweifelhafter zweifelhaft +zweihändigen zweihandig +zwiesprache zwiesprach +zwölfmal zwolfmal +zähnefletschend zahnefletschend +zögerte zogert +zündete zundet +äffchen affch +ähnliches ahnlich +änderte andert +ärgert argert +ässen asse +äufnete aufnet +äusserlichsten ausserlichst +äußerliche außerlich +ödungen odung +ökonomisch okonomisch +übelgeruch ubelgeruch +überblick uberblick +überdruß uberdruß +überfahren uberfahr +überfluß uberfluß +übergeordneten ubergeordnet +überhebung uberhebung +überlasset uberlasset +überlegungen uberlegung +übermäßig ubermaßig +überprüfen uberpruf +überredungsgiften uberredungsgift +überschaute uberschaut +übersee uberse +übersinnlicher ubersinnlich +übertrage ubertrag +übervorteilen ubervorteil +überwindet uberwindet +überzeugten uberzeugt +übrige ubrig +a a +abertausend abertausend +abgelenkt abgelenkt +abgewirtschaftet abgewirtschaftet +ablesend ablesend +abschließung abschließung +abstimmung abstimmung +abwendend abwendend +achtsamkeit achtsamkeit +adjektiv adjektiv +aiso aiso +alga alga +allerlei allerlei +almrausch almrausch +amer amer +anbetet anbetet +andeutet andeutet +anfocht anfocht +angefleht angefleht +angenehm angenehm +angestiert angestiert +anheimfiel anheimfiel +anlehnung anlehnung +anregung anregung +ansieht ansieht +antat antat +anwesenheit anwesenheit +ara ara +argument argument +artlich artlich +au au +auferweckt auferweckt +aufgefaßt aufgefaßt +aufgetaucht aufgetaucht +aufmerkt aufmerkt +aufschub aufschub +auftragt auftragt +augsburg augsburg +ausdauernd ausdauernd +ausgedehnt ausgedehnt +ausgereckt ausgereckt +ausgeteilt ausgeteilt +auslegung auslegung +aussendung aussendung +ausstand ausstand +auswirft auswirft +babel babel +bang bang +barthel barthel +bauernpack bauernpack +beamtenwelt beamtenwelt +bedenkt bedenkt +beerenkraut beerenkraut +befreiung befreiung +begeistert begeistert +behaarung behaarung +behutsam behutsam +beiliegend beiliegend +bekam bekam +belastend belastend +belog belog +benutzt benutzt +beredt beredt +berghang berghang +beruf beruf +bescheid bescheid +beschreibt beschreibt +besorgt besorgt +bestieg bestieg +bethesda bethesda +bettelei bettelei +beweglich beweglich +bezahlt bezahlt +bibel bibel +bind bind +blachfeld blachfeld +bleistift bleistift +blocksberg blocksberg +bock bock +bosheit bosheit +braungebranntem braungebranntem +bringet bringet +brustlatz brustlatz +bunt bunt +büro büro +charakteristik charakteristik +christi christi +cosmic cosmic +dadurch dadurch +dan dan +darlegt darlegt +dauerhaftigkeit dauerhaftigkeit +dehnt dehnt +denkungsart denkungsart +dern dern +deutschland deutschland +dickem dickem +dienstleistung dienstleistung +diskursiv diskursiv +don don +draufging draufging +drin drin +dudlerei dudlerei +dunklem dunklem +durchsetzung durchsetzung +earth earth +eda eda +ehen ehen +eia eia +eigentlichst eigentlichst +einbringung einbringung +einfliesst einfliesst +eingeklemmt eingeklemmt +eingezogenheit eingezogenheit +einladung einladung +einsaugt einsaugt +eintrag eintrag +einzug einzug +elisa elisa +empfindungszustand empfindungszustand +energisch energisch +entbehrlich entbehrlich +entgegensetzung entgegensetzung +entledigt entledigt +entschwindet entschwindet +entweihung entweihung +erbat erbat +erdharz erdharz +erforschung erforschung +erhaltung erhaltung +erinnert erinnert +erledigung erledigung +erneuerung erneuerung +erscheint erscheint +erstaunlich erstaunlich +ertrug ertrug +erwischt erwischt +esset esset +evangelii evangelii +experientia experientia +fahrzeug fahrzeug +faselnackt faselnackt +fecht fecht +feindlich feindlich +felsplateau felsplateau +festgelegt festgelegt +feuerschlacht feuerschlacht +find find +flatterspiel flatterspiel +fliesst fliesst +focht focht +forschung forschung +fortreisst fortreisst +frankfurt frankfurt +freilich freilich +freuet freuet +frisst frisst +fuhrknecht fuhrknecht +fusspfad fusspfad +gamsbart gamsbart +ge ge +gebetbuch gebetbuch +gebreitet gebreitet +gedenkst gedenkst +geerntet geerntet +geformt geformt +geharrt geharrt +gehofft gehofft +geistlich geistlich +gekneift gekneift +geld geld +geliefert geliefert +gemeinschaftlich gemeinschaftlich +genehmigt genehmigt +genugsam genugsam +gepfropft gepfropft +geredet geredet +gerstenbrot gerstenbrot +geschaut geschaut +geschmiegt geschmiegt +gesetz gesetz +gespenst gespenst +gesteinigt gesteinigt +getanzt getanzt +gewalt gewalt +gewendet gewendet +gewurzelt gewurzelt +gibst gibst +glasstoff glasstoff +gleichheit gleichheit +gmeint gmeint +gottesdienst gottesdienst +grasreich grasreich +greulichem greulichem +grossratsmitglied grossratsmitglied +grün grün +gurgel gurgel +h h +haferbrei haferbrei +halbtot halbtot +handbuch handbuch +hans hans +hast hast +hauptziel hauptziel +hebt hebt +heilsamkeit heilsamkeit +heimweg heimweg +held held +herablassend herablassend +heraushilft heraushilft +hereingepeitscht hereingepeitscht +hermsdorf hermsdorf +herrscht herrscht +herumwarf herumwarf +hervorstrahlt hervorstrahlt +hes hes +hiebei hiebei +himmel himmel +hinauf hinauf +hindurchfließt hindurchfließt +hingeschickt hingeschickt +hinschritt hinschritt +hinwendung hinwendung +hochachtung hochachtung +hoffnung hoffnung +holt holt +horst horst +hundertdreiunddreißig hundertdreiunddreißig +hut hut +ich ich +illa illa +indifferent indifferent +innewohnend innewohnend +instinktiv instinktiv +inwendigerem inwendigerem +isgard isgard +jaccoud jaccoud +jahrhundert jahrhundert +jedoch jedoch +jesum jesum +jon jon +jugend jugend +jörg jörg +kampfplatz kampfplatz +karmi karmi +kaum kaum +kennst kennst +kinderspiel kinderspiel +kirchenmitgliedschaft kirchenmitgliedschaft +klagend klagend +kleinlich kleinlich +kneipentisch kneipentisch +kolorit kolorit +konfirmiert konfirmiert +kontrakt kontrakt +korrespondierend korrespondierend +krankenversicherung krankenversicherung +kriechend kriechend +kropf kropf +kund kund +kurzsichtig kurzsichtig +kürz kürz +lag lag +landstrich landstrich +lattichblatt lattichblatt +lebendig lebendig +leberwurst leberwurst +leget leget +leichengestank leichengestank +leistet leistet +leuchtend leuchtend +lieb lieb +liedl liedl +litt litt +logik logik +lufterscheinung lufterscheinung +lutherischem lutherischem +maastricht maastricht +magst magst +manchem manchem +mannschaft mannschaft +markt markt +mastvieh mastvieh +mecklenburg mecklenburg +meisterschaft meisterschaft +merari merari +miauend miauend +missbrauch missbrauch +misstrauischem misstrauischem +mitkommt mitkommt +mittenwald mittenwald +monatlich monatlich +montagnachmittag montagnachmittag +moritz moritz +mundwerk mundwerk +mutvoll mutvoll +nachbarregierung nachbarregierung +nachging nachging +nachtig nachtig +nahrhaft nahrhaft +nass nass +naß naß +neiget neiget +neuaufbau neuaufbau +nichtanfechtung nichtanfechtung +niederkniend niederkniend +nirgendwo nirgendwo +not not +nutzniessung nutzniessung +obgleich obgleich +off off +oke oke +organisiert organisiert +out out +papparbeit papparbeit +patent patent +peitschenknall peitschenknall +pfahl pfahl +phantasterei phantasterei +plakat plakat +poliert poliert +postulat postulat +preisgibt preisgibt +produzent produzent +prozent prozent +punsch punsch +quax quax +rahm rahm +rats rats +re re +red red +regelrecht regelrecht +rehcherl rehcherl +reinhold reinhold +relativ relativ +reue reue +rieselt rieselt +ritt ritt +rose rose +rue rue +rund rund +saat saat +sakra sakra +sammet sammet +sattsam sattsam +schadet schadet +scharfsichtig scharfsichtig +schaustellung schaustellung +schelm schelm +schickt schickt +schlacht schlacht +schlauchboot schlauchboot +schliesst schliesst +schluck schluck +schmaucht schmaucht +schmollkunst schmollkunst +schneuz schneuz +schreckensherrschaft schreckensherrschaft +schrott schrott +schwachsinnig schwachsinnig +schwefelholz schwefelholz +schwierig schwierig +seekrank seekrank +sehnippel sehnippel +seit seit +selbstgeschaffenem selbstgeschaffenem +seltsamkeit seltsamkeit +setz setz +siebenhundert siebenhundert +siena siena +sinkt sinkt +sinnzusammenhang sinnzusammenhang +skrupel skrupel +solcherlei solcherlei +sommernachmittag sommernachmittag +sonnennebel sonnennebel +sophistik sophistik +spargel spargel +spekulant spekulant +spitakl spitakl +sprechzeit sprechzeit +sr sr +stadtviertel stadtviertel +starnberg starnberg +steh steh +steinklotz steinklotz +steuert steuert +stingel stingel +strahlend strahlend +streichholz streichholz +stubenreinheit stubenreinheit +subjekt subjekt +swissaid swissaid +süße süße +takt takt +tatendrang tatendrang +taxi taxi +telefoniert telefoniert +tharschisch tharschisch +tier tier +todeskampf todeskampf +topoi topoi +traam traam +trauert trauert +treppenabsatz treppenabsatz +troddel troddel +träg träg +tyrannei tyrannei +uhrwerk uhrwerk +umgeht umgeht +ummiglacht ummiglacht +umstellung umstellung +unangenehm unangenehm +unbehaglich unbehaglich +und und +unfreiheit unfreiheit +ungewissheit ungewissheit +unkonventionell unkonventionell +unruh unruh +untauglich untauglich +unterlassest unterlassest +unterschiedenem unterschiedenem +untreu untreu +unwahrscheinlich unwahrscheinlich +unzufriedenheit unzufriedenheit +usw usw +vera vera +verbannung verbannung +verblendet verblendet +verderbt verderbt +veredelt veredelt +verfeindet verfeindet +vergessend vergessend +vergoldet vergoldet +verhielt verhielt +verkriecht verkriecht +verliebtheit verliebtheit +vermerkt vermerkt +verneunfacht verneunfacht +verrichtet verrichtet +verschlechterung verschlechterung +versetzung versetzung +verstandnisvoll verstandnisvoll +vertauscht vertauscht +verulamio verulamio +verwehrt verwehrt +verwirrtem verwirrtem +verzweifelt verzweifelt +vier vier +vivificandum vivificandum +vollmond vollmond +voraussetzt voraussetzt +voreingenommenheit voreingenommenheit +vorgestellt vorgestellt +vorlaut vorlaut +vorschlug vorschlug +vorteilhaft vorteilhaft +vreeli vreeli +wahlablauf wahlablauf +wahrhaftigkeit wahrhaftigkeit +wand wand +warnt warnt +wassersturz wassersturz +weggeholt weggeholt +wehmut wehmut +weich weich +weilt weilt +weitem weitem +welt welt +wendung wendung +wertlosigkeit wertlosigkeit +wichtigtuerei wichtigtuerei +widersteht widersteht +wiederkehrt wiederkehrt +willenbestimmend willenbestimmend +winterszeit winterszeit +wirkung wirkung +witwengehalt witwengehalt +wohlgelehrt wohlgelehrt +wolff wolff +wortschatz wortschatz +wurzelt wurzelt +zahl zahl +zedernholz zedernholz +zeitlauf zeitlauf +zerbrechend zerbrechend +zerschellt zerschellt +ziegenbart ziegenbart +zillah zillah +zivildiensttreffpunkt zivildiensttreffpunkt +zuchthauskost zuchthauskost +zugeklappt zugeklappt +zukommt zukommt +zurecht zurecht +zusammengerollt zusammengerollt +zusammenzog zusammenzog +zutulich zutulich +zwei zwei +zweiundzwanzig zweiundzwanzig +züsi züsi diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/en-minimal.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/en-minimal.tsv new file mode 100644 index 0000000000..81b121b7f9 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/en-minimal.tsv @@ -0,0 +1,2000 @@ +abatements abatement +abbots abbot +abilities ability +abominations abomination +abuses abuse +accidents accident +accommodations accommodation +accounts account +accusations accusation +aches ache +acquaints acquaint +actions action +adallas adalla +adds add +adonis adoni +adores adore +adulterates adulterate +advancements advancement +adventures adventure +advis advi +aeacides aeacide +aeneas aenea +affections affection +afflictions affliction +afterwards afterward +agues ague +airs air +alas ala +alehouses alehouse +alexas alexa +aliis alii +allegations allegation +allies ally +almanacs almanac +altars altar +amazes amaze +ambiguides ambiguide +amends amend +amis ami +amyntas amynta +anchors anchor +andirons andiron +angiers angier +animis animi +announces announce +anthems anthem +antics antic +antres antre +apes ape +appals appal +appears appear +appelons appelon +appertinents appertinent +apples apple +applies apply +apprehends apprehend +approaches approache +appurtenances appurtenance +arbors arbor +argues argue +arises arise +armours armour +arrearages arrearage +arrows arrow +artists artist +ascribes ascribe +aspects aspect +assails assail +assemblies assembly +assistances assistance +assures assure +athenians athenian +atomies atomy +attains attain +attends attend +attorneys attorney +audis audi +augurers augurer +aunts aunt +aves ave +avoirdupois avoirdupoi +awakens awaken +babes babe +bacchanals bacchanal +bacons bacon +baitings baiting +bakes bake +balms balm +banishers banisher +bannerets banneret +banquets banquet +bards bard +barnacles barnacle +barrabas barraba +bas ba +basins basin +bastards bastard +baths bath +batters batter +baubles bauble +beadles beadle +beaks beak +bearers bearer +beats beat +beckons beckon +becomings becoming +beds bed +beeves beeve +befriends befriend +beginners beginner +begs beg +behaviours behaviour +beholds behold +behowls behowl +bellies belly +belongings belonging +benefactors benefactor +bents bent +berries berry +besides beside +betrays betray +betters better +bezonians bezonian +biddings bidding +billets billet +binds bind +births birth +bites bite +blackamoors blackamoor +blacks black +blames blame +blasts blast +bleeds bleed +blesses blesse +blocks block +blooms bloom +blowers blower +blunts blunt +blusters bluster +boats boat +bodies body +boils boil +bolts bolt +bones bone +boors boor +borderers borderer +bores bore +boskos bosko +bottles bottle +bounds bound +bowels bowel +boxes boxe +braggards braggard +brakes brake +brands brand +braves brave +breaches breache +breathes breathe +breeders breeder +brewers brewer +bribes bribe +brides bride +bringings bringing +britons briton +brogues brogue +brokes broke +brotherhoods brotherhood +bruis brui +bubbles bubble +bucklers buckler +buds bud +builds build +bullets bullet +bulwarks bulwark +burdens burden +burns burn +burthens burthen +busines busine +butcheries butchery +buttocks buttock +buzzards buzzard +cabins cabin +caddisses caddisse +caitiffs caitiff +calamities calamity +calipolis calipoli +calves calve +cambyses cambyse +canaries canary +candlesticks candlestick +canons canon +canvas canva +capers caper +caps cap +capulets capulet +carbuncles carbuncle +carders carder +careers career +carouses carouse +carries carry +carters carter +cas ca +caskets casket +castaways castaway +cataracts cataract +caterpillars caterpillar +catlings catling +cautels cautel +caves cave +cedars cedar +censures censure +centuries century +ceremonies ceremony +certes certe +chaces chace +chairs chair +challengers challenger +chambermaids chambermaid +champions champion +changes change +chants chant +chaplains chaplain +chares chare +charities charity +charolois charoloi +chas cha +chattels chattel +checks check +cherishes cherishe +cherubins cherubin +chetas cheta +chides chide +chimneys chimney +chins chin +chokes choke +chooses choose +christendoms christendom +christmas christma +chucks chuck +churchyards churchyard +cinders cinder +circumstances circumstance +citizens citizen +clamours clamour +claws claw +cleomenes cleomene +clients client +climbs climb +clogs clog +clotens cloten +clotpoles clotpole +cloves clove +clubs club +coaches coache +coats coat +cocks cock +coffers coffer +cohabitants cohabitant +colchos colcho +colors color +columbines columbine +comers comer +comfits comfit +commanders commander +commendations commendation +comments comment +commits commit +commons common +companions companion +compeers compeer +complainings complaining +complements complement +complies comply +compounds compound +compris compri +comrades comrade +conceals conceal +concernings concerning +conclusions conclusion +conditions condition +confederates confederate +confiners confiner +confirmities confirmity +confounds confound +congregations congregation +conjoins conjoin +conjures conjure +cons con +consents consent +considerations consideration +consists consist +conspires conspire +constrains constrain +consults consult +contains contain +contents content +contraries contrary +contrives contrive +conveniences convenience +convers conver +converts convert +convinces convince +cools cool +copulatives copulative +cords cord +coronets coronet +corrivals corrival +corses corse +cottages cottage +counsellors counsellor +counterfeits counterfeit +counterpoints counterpoint +countesses countesse +counts count +couriers courier +courses course +courtiers courtier +covenants covenant +covets covet +cozeners cozener +crackers cracker +crafts craft +cranks crank +cravens craven +creatures creature +creeps creep +crests crest +crickets cricket +croaks croak +crotchets crotchet +crownets crownet +cruels cruel +crutches crutche +cudgels cudgel +cullions cullion +cups cup +cures cure +curs cur +curtains curtain +curvets curvet +customers customer +cuts cut +daffodils daffodil +daisies daisy +dames dame +damsons damson +danskers dansker +darlings darling +dastards dastard +daws daw +dealers dealer +dearths dearth +debts debt +deceits deceit +decerns decern +decks deck +decreas decrea +deeps deep +defeatures defeature +defenders defender +deformities deformity +delicates delicate +delivers deliver +demands demand +demoiselles demoiselle +dennis denni +dependences dependence +depos depo +depths depth +derides deride +descents descent +deserts desert +deservings deserving +desirers desirer +destinies destiny +destructions destruction +determinations determination +detractions detraction +devis devi +dewberries dewberry +dials dial +dickens dicken +differs differ +digestions digestion +dilations dilation +dimensions dimension +dims dim +diomedes diomede +dirges dirge +disannuls disannul +disburs disbur +disciples disciple +disclos disclo +discords discord +discoveries discovery +discretions discretion +diseases disease +disheartens dishearten +dishonours dishonour +dislimns dislimn +disorders disorder +dispers disper +dispos dispo +disputations disputation +dissensions dissension +distaffs distaff +distills distill +distresses distresse +ditches ditche +divers diver +divides divide +doctors doctor +doigts doigt +dollars dollar +domestics domestic +doors door +doters doter +doubts doubt +doves dove +downs down +dozens dozen +dragons dragon +draughts draught +dreads dread +dregs dreg +drinks drink +dromios dromio +droplets droplet +dropsies dropsy +drudges drudge +ducats ducat +dues due +dukes duke +dungeons dungeon +dwells dwell +earls earl +earthquakes earthquake +eaters eater +ebbs ebb +edges edge +edifies edify +effects effect +egyptians egyptian +elegies elegy +eliads eliad +embarquements embarquement +emblems emblem +embraces embrace +employments employment +enacts enact +enchas encha +encounters encounter +endowments endowment +eneas enea +enfeebles enfeeble +enfranchis enfranchi +engilds engild +enjoys enjoy +enriches enriche +ensigns ensign +enterprises enterprise +enticements enticement +entreatments entreatment +envies envy +epicures epicure +epitaphs epitaph +equals equal +ercles ercle +erflows erflow +eros ero +erreaches erreache +erslips erslip +erthrows erthrow +erweens erween +espials espial +essays essay +estimations estimation +etes ete +euphrates euphrate +evasions evasion +ewers ewer +exacts exact +examples example +excellencies excellency +exchequers exchequer +exclamations exclamation +excursions excursion +executioners executioner +exercises exercise +exhibiters exhibiter +expectations expectation +expels expel +experiments experiment +expos expo +exteriors exterior +extremities extremity +eyeballs eyeball +eyes eye +faces face +fadings fading +fails fail +fairings fairing +faites faite +falconers falconer +familiars familiar +fangs fang +fardels fardel +farms farm +fashions fashion +fathers father +faults fault +favourers favourer +fawns fawn +feats feat +feeders feeder +fellies felly +fells fell +ferrers ferrer +fetlocks fetlock +fields field +fifteens fifteen +figures figure +fills fill +findings finding +fingers finger +firebrands firebrand +firstlings firstling +fits fit +flagons flagon +flamens flamen +flashes flashe +flatters flatter +fleas flea +fleshes fleshe +flights flight +floodgates floodgate +flouts flout +flows flow +foams foam +foins foin +folks folk +follows follow +footboys footboy +foragers forager +forces force +foreruns forerun +foretells foretell +forfeitures forfeiture +forgets forget +fornications fornication +fortinbras fortinbra +fortunes fortune +fountains fountain +foxes foxe +frames frame +franchises franchise +frays fray +freezes freeze +freshes freshe +friends friend +fritters fritter +frosts frost +fulfils fulfil +fumes fume +furlongs furlong +furrows furrow +gains gain +gallants gallant +gallops gallop +gallowses gallowse +gamboys gamboy +gaolers gaoler +garboils garboil +garments garment +garters garter +gates gate +gauntlets gauntlet +gems gem +generations generation +gentlefolks gentlefolk +germains germain +gestures gesture +gibbets gibbet +giglets giglet +gillyvors gillyvor +gipes gipe +girls girl +givings giving +glanders glander +gleams gleam +glimmers glimmer +glories glory +glozes gloze +gnaws gnaw +gobbets gobbet +goddesses goddesse +gogs gog +goods good +goosequills goosequill +goths goth +gowns gown +grains grain +grandsires grandsire +grapples grapple +grates grate +gravities gravity +greeks greek +greetings greeting +greyhounds greyhound +grieves grieve +grooms groom +grounds ground +grubs grub +guardians guardian +guides guide +guilts guilt +gulls gull +gusts gust +guysors guysor +hacks hack +hags hag +halberds halberd +hals hal +halves halve +handkerchers handkercher +hands hand +hangs hang +harbingers harbinger +harlots harlot +harts hart +hastings hasting +hates hate +haunts haunt +hawks hawk +heads head +heaps heap +hearkens hearken +hearts heart +heauties heauty +heavings heaving +hedges hedge +heifers heifer +helmets helmet +helps help +heralds herald +hercules hercule +heresies heresy +herods herod +hesperides hesperide +hibocrates hibocrate +hiems hiem +hills hill +hinds hind +his hi +hits hit +hobnails hobnail +hoists hoist +holidays holiday +homes home +homicides homicide +honours honour +hooks hook +hopes hope +horns horn +horsehairs horsehair +hounds hound +households household +housewives housewive +hoxes hoxe +hulks hulk +humours humour +hunters hunter +hurries hurry +hushes hushe +hyperboles hyperbole +icicles icicle +idiots idiot +ignis igni +ils il +imitations imitation +impeachments impeachment +imperfections imperfection +implements implement +imports import +impossibilities impossibility +impugns impugn +incenses incense +incites incite +inconveniences inconvenience +increases increase +indexes indexe +indignities indignity +inductions induction +infections infection +infidels infidel +informations information +ingratitudes ingratitude +inheritors inheritor +injunctions injunction +innocents innocent +inroads inroad +instances instance +instructs instruct +insurrections insurrection +intelligis intelligi +intercepts intercept +interjections interjection +interrogatories interrogatory +intoxicates intoxicate +inventions invention +invites invite +iris iri +isbels isbel +islands island +itches itche +iwis iwi +jakes jake +jars jar +jaws jaw +jerkins jerkin +jests jest +jews jew +joins join +journeys journey +judas juda +jugglers juggler +junes june +justicers justicer +justs just +keels keel +kerns kern +kibes kibe +kills kill +kinds kind +kirtles kirtle +kites kite +knaves knave +knights knight +knives knive +knowings knowing +labourers labourer +laces lace +lacks lack +lads lad +lambkins lambkin +lamentings lamenting +lammas lamma +lands land +languishes languishe +lapis lapi +lards lard +las la +latches latche +laurels laurel +laws law +lazars lazar +leagues league +learns learn +leaves leave +leeches leeche +leets leet +legions legion +lendings lending +lengths length +lers ler +lessons lesson +letters letter +levies levy +liars liar +libertines libertine +lictors lictor +lifelings lifeling +lightens lighten +likelihoods likelihood +lilies lily +limekilns limekiln +linens linen +links link +liquors liquor +livers liver +loads load +lobbies lobby +lodgers lodger +loggerheads loggerhead +loins loin +longings longing +looks look +lords lord +losers loser +lots lot +loves love +luces luce +lunatics lunatic +lurks lurk +lymoges lymoge +macmorris macmorri +mads mad +magistrates magistrate +maidens maiden +mains main +majestas majesta +makes make +malcontents malcontent +malefactors malefactor +mammets mammet +manes mane +manifests manifest +mans man +marches marche +maries mary +marks mark +marries marry +marseilles marseille +marvels marvel +masks mask +masques masque +masters master +mates mate +matters matter +mazes maze +meals meal +means mean +mechanicals mechanical +medicines medicine +medlars medlar +meets meet +members member +memphis memphi +mends mend +mercenaries mercenary +mercuries mercury +merriments merriment +messages message +metals metal +metaphysics metaphysic +methinks methink +metropolis metropoli +midwives midwive +milks milk +mills mill +minerals mineral +ministers minister +minotaurs minotaur +minutes minute +mis mi +mischiefs mischief +misdemeanours misdemeanour +misers miser +mishaps mishap +mispris mispri +mistakes mistake +mistresses mistresse +mites mite +moans moan +modesties modesty +mollis molli +moneys money +monkeys monkey +monsieurs monsieur +monuments monument +moons moon +moors moor +morris morri +mortals mortal +moths moth +mots mot +mountains mountain +mourners mourner +movables movable +moves move +moyses moyse +mugs mug +muleteers muleteer +muniments muniment +murmurers murmurer +muscovites muscovite +mushrooms mushroom +muskets musket +musters muster +mutineers mutineer +muttons mutton +myrmidons myrmidon +nails nail +napkins napkin +narines narine +natures nature +neapolitans neapolitan +needles needle +negatives negative +neighbours neighbour +nephews nephew +nests nest +nettles nettle +newsmongers newsmonger +nicks nick +nightingales nightingale +nnights nnight +noces noce +nois noi +nooks nook +nos no +nostrils nostril +nouns noun +noverbs noverb +nuns nun +nuts nut +oars oar +obeys obey +oblations oblation +obsequies obsequy +obstacles obstacle +occupations occupation +occurrents occurrent +odes ode +oeuvres oeuvre +offends offend +offers offer +oftentimes oftentime +olives olive +oneyers oneyer +onwards onward +operations operation +opportunities opportunity +opposes oppose +oracles oracle +orchards orchard +ords ord +orleans orlean +orts ort +ostents ostent +others other +ouches ouche +ours our +outcries outcry +outlives outlive +outruns outrun +outspeaks outspeak +outworths outworth +overlooks overlook +oversights oversight +owls owl +oxlips oxlip +packhorses packhorse +pagans pagan +pailfuls pailful +paintings painting +palabras palabra +pales pale +pallas palla +palms palm +pancackes pancacke +pangs pang +pants pant +paps pap +parallels parallel +parasites parasite +parings paring +parisians parisian +parles parle +parricides parricide +particularities particularity +partisans partisan +pas pa +passes passe +pasties pasty +pastures pasture +pates pate +patients patient +patrons patron +paunches paunche +pawns pawn +pays pay +peaces peace +peals peal +peasants peasant +pedlars pedlar +peers peer +pencils pencil +pennyworths pennyworth +peradventures peradventure +perfections perfection +performs perform +periapts periapt +perjuries perjury +persevers persever +personates personate +persuades persuade +perturbations perturbation +phantasimes phantasime +philosophers philosopher +physicians physician +pickers picker +pictures picture +pies py +pilates pilate +pilgrims pilgrim +pillows pillow +pines pine +pioners pioner +pippins pippin +pistols pistol +pits pit +plagues plague +plaintiffs plaintiff +planks plank +plates plate +players player +pleads plead +pleases please +plebs pleb +plenties plenty +plots plot +plumes plume +poets poet +poins poin +poisons poison +policies policy +poltroons poltroon +poniards poniard +portcullis portculli +ports port +possessions possession +posteriors posterior +posthorses posthorse +potations potation +pots pot +powers power +practices practice +practisers practiser +prains prain +prawls prawl +prays pray +precepts precept +predictions prediction +prejudicates prejudicate +preparations preparation +presagers presager +prescripts prescript +presents present +presumes presume +prevails prevail +preys prey +prides pride +primroses primrose +prings pring +prisoners prisoner +privileges privilege +proceedings proceeding +procreants procreant +prodigies prodigy +professes professe +proffers proffer +projects project +promises promise +pronouns pronoun +prophecies prophecy +propos propo +proscriptions proscription +protectors protector +protests protest +proves prove +provokes provoke +ptolemies ptolemy +puis pui +pumps pump +pupils pupil +purchas purcha +purples purple +purs pur +pursuers pursuer +pushes pushe +pyramides pyramide +pyramises pyramise +quakes quake +quantities quantity +quarters quarter +questions question +quickens quicken +quiddits quiddit +quinces quince +quits quit +quoits quoit +rackets racket +rags rag +rais rai +rakes rake +rams ram +ranges range +rapes rape +raptures rapture +ratifiers ratifier +ravens raven +rays ray +reaches reache +reapers reaper +reasons reason +receipts receipt +recks reck +recommends recommend +records record +recoveries recovery +redeems redeem +reeks reek +regards regard +regreets regreet +reins rein +relations relation +reliances reliance +reliques relique +remedies remedy +remercimens remercimen +renders render +repairs repair +repents repent +reports report +reproves reprove +requests request +rers rer +reserves reserve +resolutes resolute +respects respect +restrains restrain +retails retail +retorts retort +reveals reveal +revengers revenger +reverbs reverb +revolts revolt +rheims rheim +rhodes rhode +ribands riband +richmonds richmond +rides ride +ries ry +rings ring +rises rise +rivets rivet +roars roar +robes robe +rods rod +romans roman +rooms room +ros ro +rounds round +royalties royalty +ruffians ruffian +rulers ruler +rumours rumour +runners runner +rushes rushe +sables sable +sacrificers sacrificer +safeties safety +saints saint +salmons salmon +salutes salute +sanctimonies sanctimony +sandys sandy +santrailles santraille +sardis sardi +saturdays saturday +sauces sauce +savours savour +sayings saying +scalps scalp +scapes scape +scars scar +sceptres sceptre +schoolfellows schoolfellow +sciaticas sciatica +scissors scissor +scopes scope +scorpions scorpion +scouts scout +screams scream +scribes scribe +scrolls scroll +sculls scull +searchers searcher +seasons season +secretaries secretary +sedges sedge +seems seem +seizes seize +semblances semblance +sends send +senses sense +sepulchres sepulchre +serpents serpent +services service +sestos sesto +severs sever +shades shade +shakes shake +shambles shamble +shapes shape +sharpens sharpen +shears shear +sheds shed +sheepskins sheepskin +shelves shelve +shepherds shepherd +shields shield +shines shine +shipwrights shipwright +shocks shock +shores shore +shoulders shoulder +showers shower +shrews shrew +shrives shrive +shrubs shrub +shuns shun +sicils sicil +sieges siege +sights sight +signiories signiory +signs sign +simois simoi +sings sing +sinners sinner +sisters sister +sixpences sixpence +skies sky +skirts skirt +slanders slander +slays slay +sleeves sleeve +slings sling +slops slop +slys sly +smiles smile +smocks smock +snakes snake +snatches snatche +snuffs snuff +sobs sob +softens soften +soles sole +solidares solidare +sonnets sonnet +soothers soother +sores sore +sots sot +sources source +spaces space +spans span +sparrows sparrow +speaks speak +specialties specialty +speculations speculation +spells spell +spices spice +spills spill +spirits spirit +spleens spleen +spokes spoke +spots spot +spreads spread +springs spring +spurs spur +squeezes squeeze +stables stable +staffords stafford +stags stag +stakes stake +stamps stamp +stands stand +stares stare +startles startle +statues statue +staves stave +stealers stealer +steeples steeple +steps step +sticks stick +stinks stink +stirrups stirrup +stockings stocking +stomachers stomacher +stools stool +storehouses storehouse +storms storm +strains strain +straps strap +straws straw +streamers streamer +strengths strength +strides stride +strikes strike +striplings stripling +stronds strond +strumpets strumpet +studs stud +subduements subduement +submits submit +substances substance +suburbs suburb +succeeds succeed +succours succour +sues sue +suffices suffice +suis sui +sullens sullen +summoners summoner +sunbeams sunbeam +suns sun +supplies supply +supposes suppose +surfeits surfeit +surmis surmi +surreys surrey +survives survive +swaggerers swaggerer +swans swan +sways sway +sweats sweat +sweetens sweeten +swellings swelling +swimmers swimmer +swits swit +swords sword +symbols symbol +syrups syrup +tabourines tabourine +tails tail +talbotites talbotite +tales tale +tallies tally +tames tame +tapsters tapster +tarquins tarquin +tasks task +tattlings tattling +taxes taxe +tears tear +tempers temper +temps temp +tempts tempt +tenedos tenedo +tenours tenour +tents tent +terms term +terrors terror +thankings thanking +thaws thaw +theirs their +thereabouts thereabout +thickens thicken +thimbles thimble +thinks think +thirties thirty +thoas thoa +thousands thousand +threats threat +thrivers thriver +throbs throb +throws throw +thunderbolts thunderbolt +tickles tickle +ties ty +times time +tires tire +titles title +toasts toast +tokens token +tomyris tomyri +topas topa +torchbearers torchbearer +torments torment +totters totter +towards toward +toys toy +trades trade +tragedians tragedian +traitors traitor +translates translate +trappings trapping +travellers traveller +treachers treacher +treasuries treasury +trebles treble +trenches trenche +tresses tresse +tribes tribe +tricks trick +trinculos trinculo +trips trip +triumvirs triumvir +tromperies trompery +trots trot +troyans troyan +trumpets trumpet +trusters truster +tufts tuft +tunis tuni +turkeys turkey +turnips turnip +turtles turtle +twigs twig +twopences twopence +types type +uds ud +unadvis unadvi +unbinds unbind +unburdens unburden +underlings underling +understands understand +undispos undispo +unhearts unheart +universities university +unloos unloo +unpleas unplea +unrevers unrever +untruths untruth +upbraids upbraid +upstairs upstair +urinals urinal +usances usance +usurers usurer +usurps usurp +vagabonds vagabond +values value +vantages vantage +variations variation +vaultages vaultage +veins vein +ventages ventage +vergers verger +verses verse +vetches vetche +viands viand +victims victim +victuals victual +villages village +villanies villany +violates violate +virgins virgin +visions vision +visitors visitor +voices voice +volumes volume +votaries votary +vouches vouche +vowels vowel +vultures vulture +wages wage +wainropes wainrope +wales wale +walls wall +wanes wane +warders warder +warms warm +warrants warrant +washes washe +wasters waster +watches watche +waterpots waterpot +waves wave +weapons weapon +wears wear +weaves weave +weeks week +weighs weigh +wenches wenche +wheels wheel +whenas whena +whippers whipper +whisperings whispering +whites white +whoresons whoreson +widows widow +wilds wild +williams william +windlasses windlasse +wings wing +winnows winnow +wires wire +wishes wishe +withholds withhold +wives wive +wombs womb +wooers wooer +worins worin +works work +worms worm +worships worship +wots wot +wouns woun +wraths wrath +wrecks wreck +wrinkles wrinkle +writes write +wrongs wrong +years year +yells yell +yields yield +yorks york +yourselves yourselve +zeals zeal +a a +aboded aboded +abundant abundant +accord accord +achievement achievement +acutely acutely +admiring admiring +adulterous adulterous +aemilia aemilia +afflicted afflicted +aggrief aggrief +ainsi ainsi +aliena aliena +almanac almanac +amazedly amazedly +amphimacus amphimacus +angl angl +anthem anthem +apish apish +appertinent appertinent +aptness aptness +arguing arguing +arragon arragon +ascendeth ascendeth +assailant assailant +astraea astraea +attentive attentive +augurer augurer +avert avert +azur azur +bailiff bailiff +ban ban +bard bard +bartholomew bartholomew +batler batler +beamed beamed +becom becom +befriended befriended +beholdest beholdest +belong belong +bent bent +beseem beseem +beteem beteem +bewhored bewhored +birch birch +bladed bladed +blench blench +bloodstained bloodstained +board board +bolder bolder +boot boot +bouncing bouncing +brac brac +braver braver +breese breese +brightness brightness +brood brood +buckled buckled +bungle bungle +business business +ca ca +callet callet +candidatus candidatus +capital capital +cared cared +carve carve +cataplasm cataplasm +caveto caveto +ceremoniously ceremoniously +champagne champagne +chare chare +chastity chastity +cher cher +childeric childeric +choleric choleric +churchyard churchyard +circumvention circumvention +claud claud +clifton clifton +closest closest +coach coach +cognition cognition +coloquintida coloquintida +comfortable comfortable +commix commix +compensation compensation +compulsion compulsion +concurring concurring +confine confine +congreeing congreeing +consecrate consecrate +constancy constancy +contempt contempt +contrariety contrariety +convey convey +cordial cordial +corroborate corroborate +counsell counsell +coursed coursed +cowardice cowardice +crare crare +cressid cressid +crone crone +crusadoes crusadoes +cunningly cunningly +curstest curstest +cytherea cytherea +damoiselle damoiselle +darker darker +de de +debt debt +decoct decoct +defending defending +deigned deigned +demigod demigod +dependant dependant +derogation derogation +despatch despatch +detested detested +dialect dialect +difficile difficile +dimming dimming +disallow disallow +discomfited discomfited +diseased diseased +disliken disliken +dispiteous dispiteous +disquietly disquietly +distilment distilment +divest divest +doer doer +dong dong +doughty doughty +drake drake +drily drily +drowse drowse +dulcet dulcet +duteous duteous +earthly earthly +eden eden +ego ego +elm elm +embroider embroider +enamelled enamelled +end end +enfranchisement enfranchisement +enkindled enkindled +enrooted enrooted +entertainment entertainment +ephesian ephesian +ercast ercast +ermount ermount +erswell erswell +essential essential +evade evade +exampled exampled +excusing excusing +expedient expedient +expressive expressive +extracted extracted +facinerious facinerious +faithless faithless +famously famously +fast fast +favorable favorable +featureless featureless +female female +feu feu +fighting fighting +fing fing +fitment fitment +flattered flattered +flieth flieth +fluster fluster +follower follower +forbidden forbidden +foresaw foresaw +forgetting forgetting +forthlight forthlight +fount fount +frankness frankness +freshest freshest +frontier frontier +fulsome fulsome +fusty fusty +gallian gallian +gargantua gargantua +gav gav +genoux genoux +gibbet gibbet +givest givest +glistering glistering +gnawing gnawing +gondolier gondolier +gosling gosling +grammar grammar +gravell gravell +greet greet +grizzle grizzle +guardage guardage +gul gul +hailed hailed +handed handed +happy happy +harsh harsh +have have +heard heard +heaviness heaviness +helm helm +hereditary hereditary +hide hide +hippolyta hippolyta +hoist hoist +homo homo +hope hope +host host +howsoever howsoever +humor humor +husband husband +idle idle +illyrian illyrian +impairing impairing +impon impon +imprisoning imprisoning +incidency incidency +ind ind +induc induc +inferreth inferreth +ingraffed ingraffed +inky inky +inset inset +instruction instruction +intercepter intercepter +intestine intestine +investing investing +irremovable irremovable +jacet jacet +jerkin jerkin +jointly jointly +judicious judicious +justify justify +kersey kersey +kinsman kinsman +knog knog +lad lad +lance lance +largest largest +laundry laundry +leading leading +lecher lecher +lennox lennox +leviathan leviathan +lieu lieu +limber limber +liquor liquor +loaf loaf +lombardy lombardy +lordship lordship +loveth loveth +lucre lucre +lustily lustily +madame madame +maimed maimed +malign malign +manifold manifold +marcus marcus +marshalsea marshalsea +masterly masterly +maze maze +mediation mediation +member member +mere mere +metre metre +mild mild +minime minime +misbhav misbhav +misleader misleader +mistresss mistresss +modo modo +monk monk +morality morality +moulded moulded +movingly movingly +munition munition +mustering mustering +name name +navy navy +neer neer +nettle nettle +nihil nihil +nodded nodded +northgate northgate +nourishment nourishment +nutmeg nutmeg +obscured obscured +octavius octavius +officious officious +oozy oozy +oracle oracle +osier osier +outfacing outfacing +outwent outwent +overmaster overmaster +owed owed +pageant pageant +paly paly +paraquito paraquito +parsley parsley +passenger passenger +patrum patrum +peasant peasant +pelf pelf +pensive pensive +peremptory peremptory +permanent permanent +perspectively perspectively +peto peto +philosopher philosopher +piec piec +pinching pinching +pithless pithless +plant plant +please please +plucker plucker +poisoning poisoning +pompous pompous +portage portage +posthorse posthorse +power power +prayer prayer +prefer prefer +prescript prescript +pretia pretia +primitive primitive +privy privy +produc produc +projection projection +propertied propertied +prosperously prosperously +provincial provincial +puddled puddled +purchaseth purchaseth +purveyor purveyor +qualmish qualmish +questioned questioned +quo quo +railing railing +rankle rankle +rather rather +razorable razorable +rebukeable rebukeable +recommend recommend +redeeming redeeming +refreshing refreshing +rein rein +remain remain +rendered rendered +replant replant +repugn repugn +reservation reservation +resteth resteth +returned returned +revok revok +ribaudred ribaudred +rigorous rigorous +rive rive +roe roe +roscius roscius +rout rout +ruffling ruffling +rushy rushy +sad sad +salisbury salisbury +sanded sanded +sauciness sauciness +scald scald +scarre scarre +scorch scorch +scripture scripture +searcheth searcheth +seeded seeded +self self +septentrion septentrion +session session +shadow shadow +share share +shelt shelt +shiver shiver +shove shove +shrunk shrunk +sienna sienna +silva silva +singled singled +siz siz +slandered slandered +slewest slewest +sluggish sluggish +smith smith +sneap sneap +soiled soiled +solyman solyman +sorer sorer +south south +sparkling sparkling +spencer spencer +spirt spirt +sprang sprang +squarer squarer +staled staled +starv starv +steeped steeped +stigmatical stigmatical +stomach stomach +strain strain +stretched stretched +struck struck +stygian stygian +subtle subtle +sufficient sufficient +summer summer +supersubtle supersubtle +supremacy supremacy +surveyest surveyest +swart swart +swiftly swiftly +synagogue synagogue +taking taking +tape tape +taught taught +teller teller +tenfold tenfold +tetter tetter +thereafter thereafter +thirst thirst +threepence threepence +thrum thrum +ticklish ticklish +tiny tiny +tod tod +top top +tott tott +traduc traduc +translate translate +treatise treatise +trident trident +troiant troiant +truest truest +tumultuous tumultuous +twang twang +tyke tyke +unanswer unanswer +unblown unblown +unchanging unchanging +uncouple uncouple +understood understood +unduteous unduteous +unfinish unfinish +unguarded unguarded +union union +unlink unlink +unmitigated unmitigated +unpin unpin +unquestion unquestion +unrivall unrivall +unsettle unsettle +unspoken unspoken +unthankful unthankful +untutor untutor +unwise unwise +upshot upshot +usurer usurer +vainly vainly +vanquishest vanquishest +vaumond vaumond +venomous venomous +vernon vernon +victual victual +villian villian +visage visage +volant volant +vowel vowel +wait wait +wanton wanton +warrior warrior +waverer waverer +weariness weariness +weightier weightier +whatsoe whatsoe +whereupon whereupon +whistling whistling +whosoever whosoever +wilt wilt +wiselier wiselier +witnesseth witnesseth +wond wond +working working +wouldest wouldest +wretchcd wretchcd +xv xv +yielder yielder diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/es-light.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/es-light.tsv new file mode 100644 index 0000000000..616162de64 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/es-light.tsv @@ -0,0 +1,2000 @@ +aarón aaron +abarcamos abarcam +abatida abatid +abiertas abiert +abogado abogad +abortados abortad +abrira abrir +absoluta absolut +abstuviera abstuvier +abunda abund +acabará acabar +acaparado acaparad +accedido accedid +accionario accionari +aceleró aceler +aceptara aceptar +acercando acercand +acertado acertad +aclamado aclamad +acomodado acomodad +acompañaría acompañari +acontecimientos acontecimient +acortó acort +acotamiento acotamient +actas act +actuaba actuab +actúa actu +acudió acudi +acumulado acumulad +acusarlo acusarl +adaptando adaptand +adecuarlos adecuarl +adelante adelant +adese ades +adictos adict +administraciones administracion +admitió admiti +adoptando adoptand +adquiere adquier +adscrito adscrit +advertencia advertenci +aerolito aerolit +aerógrafo aerograf +afectarán afectaran +aficionados aficionad +afinó afin +aflora aflor +afrodisio afrodisi +agilización agilizacion +agora agor +agradecería agradeceri +agravios agravi +agresiva agresiv +agroquímico agroquimic +aguantarse aguantars +aguilera aguiler +ahorita ahorit +airadamente airadament +ajenos ajen +alabó alab +alarme alarm +albiazules albiazul +alcance alcanc +alcanzarlos alcanzarl +alegatos alegat +alejara alejar +alergia alergi +algebra algebr +alicea alice +alimenticio alimentici +aljibes aljib +almacenes almacen +altamente altament +alternando alternand +alumbraba alumbrab +alzados alzad +amante amant +amarrando amarrand +ambientales ambiental +amenace amenac +americanas american +amiguismos amiguism +amores amor +ampliadas ampliad +ampudia ampudi +analizamos analizam +ancestro ancestr +andaría andari +anexos anex +anglo angl +anillo anill +anotados anotad +antemano anteman +anticipadamente anticipadament +antigua antigu +antipatía antipati +anulados anulad +anzuelo anzuel +apacible apacibl +apareciendo apareciend +apartados apartad +apelaciones apelacion +aplaudiendo aplaudiend +aplicado aplicad +apocada apocad +aportación aportacion +apoya apoy +apoyándola apoyandol +aprehensiones aprehension +apresura apresur +aprobación aprobacion +aprovecha aprovech +aproximado aproximad +apuntó apunt +aquél aquel +arbitraje arbitraj +archundia archundi +argentina argentin +arista arist +armamento armament +armónico armonic +arquidiócesis arquidiocesis +arranca arranc +arreaga arreag +arrendaba arrendab +arrestó arrest +arrobamiento arrobamient +arroyos arroy +artesanas artesan +artículos articul +asaltada asaltad +ascenderá ascender +asegurados asegurad +asentó asent +asesoría asesori +asignación asignacion +asistiendo asistiend +asociarse asociars +aspira aspir +astronómicos astronomic +asustado asustad +atacas atac +atañe atañ +atendía atendi +atiende atiend +atmosférico atmosferic +atrapadas atrapad +atrevo atrev +atropelló atropell +audio audi +augusto august +aurelio aureli +auspiciará auspiciar +autocalificación autocalificacion +automovilistas automovilist +autopsia autopsi +autorizadas autorizad +autárticos autartic +auxilio auxili +avanzada avanzad +aventaja aventaj +aviacsa aviacs +ayala ayal +ayudarlo ayudarl +azotaba azotab +azúcares azucar +bacteria bacteri +bajadas bajad +balaceras balacer +balderas balder +bananero bananer +banderas bander +banqueta banquet +barbarabbe barbarabb +barra barr +barriles barril +basadas basad +bastante bastant +batallas batall +bautizaría bautizari +bebió bebi +bejarano bejaran +benavente benavent +beneficiarán beneficiaran +benzeno benzen +bernuncio bernunci +biblias bibli +bienvenidas bienvenid +biodegradables biodegradabl +blanca blanc +bloqueadas bloquead +bochornos bochorn +bolaños bolañ +boloña boloñ +bondadosas bondados +borge borg +borsalino borsalin +botello botell +boxística boxistic +brasilia brasili +brevísima brevisim +brindará brindar +brocha broch +bruce bruc +buddleia buddlei +buques buqu +burro burr +buscando buscand +bustamante bustamant +bátiz batiz +caballada caballad +cabida cabid +cacao caca +cadetes cadet +cajuela cajuel +calculando calculand +calentura calentur +calificados calificad +calladito calladit +caluroso caluros +camarote camarot +cambiaría cambiari +camexa camex +camiseta camiset +campeona campeon +canaco canac +canasto canast +canciones cancion +canje canj +cantera canter +capacita capacit +capitalina capitalin +capote capot +capucha capuch +caras car +cardenismo cardenism +careció careci +cargamentos cargament +caricias carici +carnavaleros carnavaler +carpera carper +carreteros carreter +carroza carroz +cartilla cartill +casas cas +casio casi +castellano castellan +castruita castruit +catastrales catastral +catálogo catalog +causado causad +cautivos cautiv +cañones cañon +cegarse cegars +celebrarse celebrars +cemcaspe cemcasp +censurada censurad +centre centr +cerca cerc +cerebrales cerebral +cerralvo cerralv +certeros certer +cesados cesad +chagoyos chagoy +chapa chap +charló charl +chavitas chavit +cheyene cheyen +chicuelinas chicuelin +chilpancingo chilpancing +chispeando chispeand +choques choqu +chusca chusc +ciclónica ciclonic +cierta ciert +cimarrones cimarron +cineterraza cineterraz +circula circul +circunvalación circunvalacion +ciudadana ciudadan +ciénega cieneg +clasificaciones clasificacion +clausurará clausurar +clone clon +clínico clinic +cobraba cobrab +cobán coban +coello coell +coincidencia coincidenci +colaboraría colaborari +colectiva colectiv +colgados colgad +colocadas colocad +colofón colofon +colorido colorid +columnas column +comandos comand +combinado combinad +comentaba comentab +comentábamos comentabam +comercialización comercializacion +cometas comet +comidas comid +comitiva comitiv +companía compani +comparsas compars +compatriota compatriot +compensatorio compensatori +competitivas competitiv +complejos complej +completo complet +componentes component +compradores comprador +comprendas comprend +comprobó comprob +compró compr +compás comp +comunicó comunic +concanaco concanac +concentradas concentrad +concertadamente concertadament +concibió concibi +conclusiones conclusion +concrete concret +condado condad +condenó conden +conducidos conducid +conecta conect +conferencistas conferencist +confiarse confiars +confio confi +conforme conform +confíen confien +congoja congoj +conjuga conjug +conmemorativa conmemorativ +conocerá conocer +conoció conoci +conscientes conscient +consejero consejer +conservando conservand +considerados considerad +consigna consign +consistente consistent +conspiración conspiracion +constituciones constitucion +constituyente constituyent +construirse construirs +consultado consultad +consumismo consumism +contadores contador +contara contar +contemporánea contemporane +contento content +contiene contien +continuamente continuament +contraataques contraataqu +contraparte contrapart +contratación contratacion +contrayente contrayent +contritos contrit +controvertido controvertid +convencerle convencerl +convenidos convenid +conversó convers +convino convin +convocatoria convocatori +coordinación coordinacion +coraje coraj +coreados coread +corporaciones corporacion +correcta correct +corremos correm +correveidile correveidil +corrompe corromp +cortadores cortador +cortines cortin +cosecha cosech +costas cost +costuras costur +cotizados cotizad +creado cread +crece crec +credencializados credencializad +cretinismo cretinism +criadores criador +cristiano cristian +cromadoras cromador +cruda crud +cráter crater +cuadrados cuadrad +cuantas cuant +cuarzo cuarz +cubierto cubiert +cucharaditas cucharadit +cuerda cuerd +cuestionados cuestionad +cuidadosa cuidados +culminarán culminaran +culto cult +cumplidos cumplid +cunda cund +cursada cursad +cuáles cual +cálido calid +cáscara cascar +césar cesar +cómica comic +córdoba cordob +damas dam +darán daran +dañinos dañin +debes deb +debía debi +decenso decens +decidirá decidir +decisioón decisioon +declare declar +decretado decretad +dedicada dedicad +dedillo dedill +defendiendo defendiend +deficiencia deficienci +definiendo definiend +defraudadores defraudador +dejado dejad +dejándolas dejandol +delegados delegad +delicias delici +demagogia demagogi +demasiada demasiad +democráticas democratic +demostrarle demostrarl +denominados denominad +denunciantes denunciant +depende depend +deportista deportist +deposítele depositel +derechazo derechaz +dermatología dermatologi +derroche derroch +desacreditados desacreditad +desahogo desahog +desalojos desaloj +desapariciones desaparicion +desarrollamos desarrollam +desató desat +descalabro descalabr +descarnado descarnad +descensos descens +desconfiara desconfiar +descontentos descontent +descubre descubr +desdichada desdichad +desembarque desembarqu +desengaña desengañ +deserciones desercion +desgarradoramente desgarradorament +deshizo deshiz +desincorporación desincorporacion +desleales desleal +desmintió desminti +desordenado desordenad +despedidos despedid +despertó despert +desplazando desplazand +despotismo despotism +después despu +destanteados destantead +destinatario destinatari +destruyó destruy +desvirtuación desvirtuacion +detallitos detallit +detendrá detendr +determina determin +detonación detonacion +devoción devocion +diagnósticos diagnostic +dibujos dibuj +dictado dictad +difame difam +dificultado dificultad +digamos digam +dijiste dijist +diminutos diminut +diosa dios +diputados diputad +directorio directori +dirigirme dirigirm +disciplinada disciplinad +discriminación discriminacion +disertará disertar +disfrazada disfrazad +disidentes disident +disparaba disparab +dispersos dispers +dispuesto dispuest +distancia distanci +distintos distint +distribuirse distribuirs +diversa divers +divide divid +divorciarme divorciarm +doblajes doblaj +docta doct +documenté document +domina domin +domésticas domestic +donde dond +doscientas doscient +droga drog +dudaba dudab +dupla dupl +duranguense duranguens +dárselos darsel +dígales digal +echado echad +ecologista ecologist +económica economic +edelmiro edelmir +editado editad +educativas educativ +efectuado efectuad +eficientarlas eficientarl +egoísta egoist +ejecutarse ejecutars +ejercerán ejerceran +elaborado elaborad +electores elector +elegantes elegant +elepé elep +elija elij +eliodoro eliodor +eloxochitlán eloxochitlan +embajadas embajad +embestida embestid +embriagantes embriagant +eminentemente eminentement +emitirán emitiran +empadronados empadronad +empezaba empezab +emplea emple +emprendiendo emprendiend +enamora enamor +encaminadas encaminad +encarga encarg +encarnado encarnad +enciclopédico enciclopedic +encontradas encontrad +encontró encontr +encuestas encuest +enemigos enemig +enfermedades enfermedad +enfoque enfoqu +enfrentará enfrentar +englutidos englutid +enlaza enlaz +enrazado enrazad +ensangrentados ensangrentad +enseñarles enseñarl +entenderíamos entenderiam +entereza enterez +entra entr +entre entr +entregarán entregaran +entrenadores entrenador +entrevistaba entrevistab +entusiasmo entusiasm +enviado enviad +envió envi +enésima enesim +equipararnos equipararn +eramos eram +errónea errone +escalonados escalonad +escasas escas +esclarecimiento esclarecimient +escogiendo escogiend +escondió escondi +escribió escribi +escuadra escuadr +escuché escuch +escándalo escandal +esmaltes esmalt +esparza esparz +especializadas especializad +espectro espectr +espejo espej +esperarlos esperarl +espina espin +esposas espos +estaba estab +establecía estableci +estadios estadi +estambre estambr +estaremos estarem +estatutos estatut +estimada estimad +estipula estipul +estrada estrad +estrecha estrech +estrenando estrenand +estropeadas estropead +estudiará estudiar +estuvimos estuvim +estévez estevez +etnia etni +europea europe +evaluados evaluad +evidenciado evidenciad +evitarse evitars +exagerada exagerad +excedernos excedern +excesivos excesiv +exclusivamente exclusivament +exenta exent +exhibirse exhibirs +exigida exigid +exime exim +exitosa exitos +expectativa expectativ +experimentados experimentad +explicando explicand +explotación explotacion +exponían exponian +expresada expresad +expuesto expuest +extendemos extendem +externado externad +extracto extract +extraordinarios extraordinari +extrañe extrañ +fabio fabi +fabulosos fabulos +factible factibl +facultativos facultativ +fallece fallec +falsificó falsific +faltó falt +fantasmas fantasm +farías fari +favorables favorabl +febrero febrer +federalización federalizacion +felicitado felicitad +femeninos femenin +fernández fernandez +festeja festej +fibra fibr +fiesta fiest +fijamos fijam +filete filet +filtros filtr +financiado financiad +fines fin +firmarse firmars +fisonomía fisonomi +fleteros fleter +flotando flotand +fogueo fogue +fonda fond +foristas forist +formamos formam +fornica fornic +fortaleciéndose fortaleciendos +foránea forane +fotomecánica fotomecanic +fraccionamiento fraccionamient +franca franc +franquicia franquici +frayre frayr +frenos fren +friolentos friolent +fruta frut +fuera fuer +fulminante fulminant +funcionarán funcionaran +fundamentados fundamentad +fundó fund +fusionada fusionad +futuros futur +físicamente fisicament +galardonada galardonad +galileo galile +galán galan +ganancias gananci +garantice garantic +garganta gargant +gasoducto gasoduct +gastroenterología gastroenterologi +gaytán gaytan +generado generad +generará generar +gentes gent +gerencia gerenci +gestoras gestor +gimnasio gimnasi +gladiadores gladiador +gloriosísima gloriosisim +gobienro gobienr +golondrinas golondrin +gonzález gonzalez +goteo gote +grabadoras grabador +grado grad +granadas granad +grandote grandot +grato grat +grecorromano grecorroman +grita grit +grupo grup +guantes guant +guardas guard +guerrerense guerrerens +guillotina guillotin +gustavo gustav +güedad guedad +habidos habid +hablaba hablab +hablé habl +hacendarias hacendari +hacienda haciend +hagámosla hagamosl +halle hall +hardware hardwar +hayas hay +helados helad +herce herc +hermana herman +hermética hermetic +hiciera hicier +hierbas hierb +hinca hinc +hippie hippi +historias histori +hojalata hojalat +homero homer +homólogo homolog +honorarios honorari +hormona hormon +hospitalización hospitalizacion +huapango huapang +huella huell +huidizo huidiz +humilde humild +hurtadillas hurtadill +hérdez herdez +idaho idah +identificó identific +idólatra idolatr +ignore ignor +ilimitada ilimitad +ilícito ilicit +imitaciones imitacion +impartirán impartiran +imperialismo imperialism +implanté implant +implicó implic +importación importacion +importaría importari +impresa impres +impresores impresor +impuestas impuest +impuras impur +inalámbrico inalambric +incapacitado incapacitad +incide incid +inclinada inclinad +incluiría incluiri +incompleto incomplet +inconsecuencia inconsecuenci +incorporando incorporand +incrementos increment +incumplidas incumplid +indecibles indecibl +independientemente independientement +indicando indicand +indigentes indigent +indispensable indispensabl +inducirlo inducirl +indígena indigen +inevitable inevitabl +infantiles infantil +inflacionarios inflacionari +informaba informab +informativas informativ +infractores infractor +ingenua ingenu +ingresado ingresad +inicia inici +iniciará iniciar +injude injud +inmediatas inmediat +inmorales inmoral +innovación innovacion +inquieto inquiet +inscripción inscripcion +insista insist +inspeccionado inspeccionad +instalados instalad +instantáneamente instantaneament +instrucciones instruccion +insubordinación insubordinacion +insurrección insurreccion +integrante integrant +inteligentes inteligent +intensión intension +intentó intent +interceptado interceptad +interesante interesant +interinatos interinat +intermitentes intermitent +interpretaciones interpretacion +interpuestas interpuest +interrumpía interrumpi +intervino intervin +intrincadas intrincad +intrínseca intrinsec +invaluable invaluabl +invernadero invernader +invertirá invertir +investigue investigu +invitación invitacion +involucrado involucrad +inédito inedit +iriarte iriart +irregulares irregular +irritantes irritant +israelíes israeli +ixcaquixtla ixcaquixtl +jaguares jaguar +jamón jamon +jarocha jaroch +jerónimo jeronim +jonas jon +joyas joy +jueceo juece +jugando jugand +julián julian +jurídica juridic +justificando justificand +juzgados juzgad +kenia keni +kosovo kosov +laborde labord +ladrones ladron +lamentablemente lamentablement +lanzada lanzad +lares lar +lastimadas lastimad +laudos laud +lazos laz +ledezma ledezm +legislativo legislativ +legítimo legitim +lento lent +lesionado lesionad +letrinas letrin +levantarás levantar +leñero leñer +libero liber +librerías libreri +licitación licitacion +liera lier +liguilla liguill +limpia limpi +lineamiento lineamient +literalmente literalment +llamaba llamab +llamarían llamarian +llanta llant +llegara llegar +llenando llenand +llevado llevad +llevarían llevarian +lloró llor +lobeira lobeir +localmente localment +lograremos lograrem +lombardo lombard +lotería loteri +luchando luchand +lucía luci +lunáticos lunatic +láser laser +líquido liquid +macedonia macedoni +macrópolis macropolis +madrileñas madrileñ +maestría maestri +magma magm +magnífico magnific +maldonado maldonad +malta malt +mamíferos mamifer +mandarinas mandarin +mandó mand +manejo manej +manifestada manifestad +manolita manolit +mantenerlas mantenerl +mantuvo mantuv +maqueta maquet +marasmo marasm +marcadores marcador +marciano marcian +marginación marginacion +maricela maricel +marinos marin +martellotto martellott +masacre masacr +massa mass +matemática matematic +matorrales matorral +maximova maximov +mayrán mayran +mecánica mecanic +medianas median +medido medid +meditación meditacion +mejorado mejorad +mella mell +menchú menchu +mendoza mendoz +mensualidades mensualidad +meramente merament +mercomún mercomun +mermeladas mermelad +metales metal +meticulosamente meticulosament +metropolitana metropolitan +mexicanos mexican +michelle michell +micros micr +migraciones migracion +militantes militant +milésimas milesim +ministerio ministeri +minuta minut +miras mir +misma mism +mitras mitr +modera moder +modesta modest +modos mod +molestó molest +monarquía monarqui +monitores monitor +montajes montaj +monterreynuevo monterreynuev +morada morad +mordiscos mordisc +moría mori +mostrarlo mostrarl +motivarlo motivarl +motos mot +movimientos movimient +mucho much +muera muer +mugre mugr +multados multad +multitudes multitud +muralismo muralism +muslos musl +muñeca muñec +máxime maxim +métodos metod +mítico mitic +múzquiz muzquiz +nadadores nadador +narcoanálisis narcoanalisis +natalie natali +navaja navaj +navojoa navojo +necesitamos necesitam +nefrología nefrologi +negligencia negligenci +negocio negoci +neopopulistas neopopulist +nervioso nervios +neurona neuron +nicola nicol +nilda nild +noble nobl +nombra nombr +nominada nominad +norestense norestens +norteamérica norteameric +notaria notari +notificó notific +novelista novelist +novios novi +nuestros nuestr +numero numer +náutico nautic +obdulio obduli +objetivo objetiv +obligarían obligarian +obreros obrer +observadas observad +obsesiva obsesiv +obtención obtencion +obtiene obtien +ocasionarse ocasionars +ochenta ochent +ocultó ocult +ocurridas ocurrid +ofenderá ofender +oficialista oficialist +ofrecerles ofrecerl +ofreció ofreci +olaya olay +olmedo olmed +olímpico olimpic +opciones opcion +operando operand +opinó opin +optarse optars +orangután orangutan +orduño orduñ +organizadas organizad +orgullo orgull +orientado orientad +originalmente originalment +orishas orish +ortodoxia ortodoxi +oscuro oscur +otorga otorg +otras otr +oviedo ovied +pacheco pachec +padece padec +pagadas pagad +pagarían pagarian +palanca palanc +paletones paleton +pamela pamel +pandillas pandill +pantalla pantall +papelerías papeleri +parado parad +paralizando paralizand +parecería pareceri +paremos parem +parodiando parodiand +parroquiano parroquian +participará participar +partidero partider +parvada parvad +pasados pasad +pasarse pasars +pasillo pasill +patadas patad +patiñazo patiñaz +patrocinado patrocinad +paulatinamente paulatinament +pavimentados pavimentad +pechera pecher +pediatría pediatri +pediátrica pediatric +pegando pegand +peleles pelel +pelotero peloter +penetrante penetrant +pensarse pensars +penúltimo penultim +percatado percatad +perdición perdicion +pereda pered +perfila perfil +periféricos periferic +perjudicada perjudicad +permaneciendo permaneciend +permita permit +permitiéndole permitiendol +perplejo perplej +persistente persistent +pertenece pertenec +peruana peruan +pesados pesad +pesquería pesqueri +petróleos petrole +pictórica pictoric +pienso piens +pillma pillm +pintadas pintad +pioneros pioner +pisoteando pisoteand +pizza pizz +planas plan +planetaria planetari +planteada plantead +plasma plasm +platicaba platicab +playas play +plenaria plenari +plácidamente placidament +poblano poblan +poderoso poderos +podíamos podiam +policiaco policiac +polio poli +polémica polemic +ponderada ponderad +ponerlo ponerl +ponía poni +porcentajes porcentaj +pornográficos pornografic +portezuela portezuel +posesivas posesiv +positivamente positivament +postre postr +potencialmente potencialment +practicadas practicad +precedente precedent +precipitarse precipitars +preconiza preconiz +predominante predominant +prefiera prefier +pregunte pregunt +premiaba premiab +prendarios prendari +preocupara preocupar +preparamos preparam +prepotentes prepotent +presencia presenci +presentando presentand +presentí presenti +presidente president +presos pres +presume presum +pretemporada pretemporad +prevalezca prevalezc +previene previen +price pric +primeras primer +principales principal +pristina pristin +privilegios privilegi +probarse probars +procedimiento procedimient +procesos proces +procure procur +producirá producir +proeza proez +profetas profet +programadas programad +prohiba prohib +prolongadas prolongad +prometió prometi +promovemos promovem +pronostica pronostic +propagación propagacion +propietaria propietari +propongo propong +proporciones proporcion +prosa pros +protagonistas protagonist +protegerse protegers +proteínas protein +provincia provinci +provocó provoc +prudentemente prudentement +préstamo prestam +psicoanalista psicoanalist +psicólogo psicolog +publicitaria publicitari +pueblo puebl +puestas puest +pulimos pulim +punteros punter +pupilo pupil +puñaladas puñalad +pértiga pertig +público public +quedarnos quedarn +quejado quejad +quemó quem +queríamos queriam +quijano quijan +quirúrgica quirurgic +quitarles quitarl +químicas quimic +radiación radiacion +radiofónico radiofonic +ramírez ramirez +rascacielos rascaciel +ratoncito ratoncit +raymundo raymund +reabra reabr +reajustarlas reajustarl +realizada realizad +realizó realiz +rebasada rebasad +rebotarán rebotaran +recelos recel +rechazando rechazand +recibimos recibim +reciclaje reciclaj +reclamaba reclamab +reclutadas reclutad +recomendadas recomendad +reconoce reconoc +reconozca reconozc +recordó record +recrimina recrimin +recuperable recuperabl +recíproco reciproc +redondo redond +redunde redund +reencuentro reencuentr +referidos referid +refirió refiri +reflexión reflexion +refractarias refractari +refugió refugi +regidores regidor +registra registr +registró registr +regresarse regresars +regulación regulacion +rehenes rehen +reintegrarme reintegrarm +relacionado relacionad +relativo relativ +relevó relev +reluciente relucient +remitidos remitid +remuneración remuneracion +renee rene +renovarvía renovarvi +renunciarán renunciaran +reparos repar +repentinamente repentinament +repetiría repetiri +reportados reportad +representa represent +representó represent +reproducirse reproducirs +repórtese reportes +requiere requier +rescatada rescatad +reservadas reservad +residentes resident +resistente resistent +resolvió resolvi +respectivos respectiv +respiratoria respiratori +responsabilidades responsabilidad +restas rest +restructuración restructuracion +resulte result +reticencia reticenci +retirarán retiraran +retomó retom +retrasando retrasand +retroactiva retroactiv +reune reun +revaluándose revaluandos +reventadores reventador +revisarla revisarl +revolucionarias revolucionari +revólveres revolver +reírnos reirn +ricachón ricachon +riesgosísimo riesgosisim +riqueza riquez +riviello riviell +robles robl +rodarse rodars +rodisonato rodisonat +romances romanz +rompimiento rompimient +rosario rosari +rotativo rotativ +rubén ruben +ruinas ruin +rutina rutin +régimen regimen +sabedores sabedor +saboreando saboreand +sacado sacad +sacos sac +saeta saet +saldos sald +saliente salient +salones salon +saludando saludand +salvaje salvaj +samoa samo +sandrine sandrin +sanitarios sanitari +sapién sapien +satisfactores satisfactor +satín satin +seamos seam +secretarías secretari +secuestró secuestr +sedujo seduj +seguimos seguim +segura segur +selección seleccion +sembradores sembrador +semidíos semidi +senadores senador +sensación sensacion +sentarse sentars +sentía senti +separarán separaran +sergio sergi +serra serr +servirá servir +seudónimo seudonim +sexto sext +señora señor +sicológica sicologic +siglas sigl +significo signific +silencioso silencios +simeone simeon +simulados simulad +sincronizados sincronizad +sintiéndome sintiendom +sirve sirv +sitio siti +sobando soband +sobreasignación sobreasignacion +sobrepasa sobrepas +sobretodo sobretod +socialismo socialism +socorristas socorrist +sofía sofi +soleado solead +solicitudes solicitud +solteras solter +sombras sombr +sonados sonad +sonya sony +sorgo sorg +sorpresas sorpres +sospechoso sospechos +sostiene sostien +statuo statu +subalterno subaltern +subdirectora subdirector +subió subi +subsanables subsanabl +substancia substanci +subían subian +sucesos suces +suecia sueci +sueño sueñ +sufría sufri +suicidarse suicidars +sultanes sultan +sumido sumid +superarlo superarl +superligero superliger +supervisión supervision +suponemos suponem +supuestas supuest +surgimiento surgimient +susceptibles susceptibl +suspendidos suspendid +sustento sustent +suyas suy +séquito sequit +sólidas solid +tableros tabler +tajante tajant +talusa talus +tangibles tangibl +tapatíos tapati +tarahumaras tarahumar +tarea tare +tataranietos tataraniet +teatralmente teatralment +tecnologías tecnologi +tejas tej +telehogares telehogar +televisión television +temible temibl +temporales temporal +tendencias tendenci +tendón tendon +tenido tenid +teodoro teodor +terapéuticos terapeutic +terminaciones terminacion +terminarían terminarian +terrenales terrenal +tesoreros tesorer +texas tex +theodore theodor +tiernamente tiernament +timorato timorat +tirando tirand +titula titul +tlaxcaltecas tlaxcaltec +tolerada tolerad +tomando tomand +tomándola tomandol +topete topet +torio tori +torrado torrad +tortuguismo tortuguism +trabado trabad +trabajos trabaj +traducidos traducid +tragarse tragars +trajo traj +tranquilamente tranquilament +transcribe transcrib +transformaciones transformacion +transitará transitar +transparentarse transparentars +transportistas transportist +traslación traslacion +trasmitirlo trasmitirl +trataba tratab +trataría tratari +trayectoria trayectori +treinta treint +treviño treviñ +trinchera trincher +tristes trist +trizados trizad +tropas trop +trámites tramit +tumba tumb +turistico turistic +tuzos tuz +témpano tempan +tómese tomes +ubicación ubicacion +ubicó ubic +ultranza ultranz +unificadas unificad +unitardos unitard +urbana urban +uribe urib +usarlos usarl +utilidades utilidad +utilizarán utilizaran +vació vaci +valde vald +valenzuela valenzuel +valle vall +valores valor +vanguardia vanguardi +varela varel +variopinta variopint +vaticinios vaticini +vegetarianos vegetarian +velas vel +vencerás vencer +venderemos venderem +vendió vendi +vengo veng +ventanilla ventanill +veras ver +verdugo verdug +verlo verl +vertidas vertid +vestigio vestigi +viajaba viajab +vibraciones vibracion +victorioso victorios +vidrio vidri +viendose viendos +vigilada vigilad +villa vill +villán villan +violada violad +violetina violetin +visionarios visionari +visitarán visitaran +vistazo vistaz +vitamina vitamin +vividos vivid +vivíamos viviam +volando voland +voltea volte +voluntarioso voluntarios +volátiles volatil +vuelca vuelc +vulgo vulg +vínculo vincul +willie willi +ycosas ycos +yukio yuki +zambrano zambran +zapoteco zapotec +zoológico zoologic +zurdos zurd +ámbitos ambit +ásperamente asperament +étnica etnic +íntegro integr +órgano organ +a a +abel abel +abren abren +abuchearon abuchearon +acarrear acarrear +aceptar aceptar +acicalar acicalar +aconsejar aconsejar +actor actor +acusaban acusaban +adelantar adelantar +adoptaran adoptaran +advertising advertising +afinar afinar +agarrar agarrar +agredieron agredieron +ahogaron ahogaron +ajalpan ajalpan +albergar albergar +alegaron alegaron +algo algo +allí allí +alud alud +amagaron amagaron +amen amen +amoxcalli amoxcalli +anamup anamup +animal animal +anthony anthony +anuncian anuncian +apegan apegan +apodaban apodaban +apoyen apoyen +apro apro +apuntaron apuntaron +argumentar argumentar +arrancar arrancar +arrojan arrojan +as as +asesinaron asesinaron +asisten asisten +asumen asumen +atentar atentar +atraviesan atraviesan +aun aun +autorizan autorizan +avanzaron avanzaron +ayudan ayudan +año año +bajaron bajaron +band band +basar basar +batallaron batallaron +baño baño +becker becker +benchmarks benchmarks +bernabeu bernabeu +bien bien +bin bin +blandir blandir +boca boca +bormann bormann +bowman bowman +brevedad brevedad +bromeaban bromeaban +bud bud +bursatilidad bursatilidad +báez báez +cae cae +calentar calentar +cama cama +canal canal +cantar cantar +caporal caporal +carburador carburador +carmen carmen +casavan casavan +catalogan catalogan +cayo cayo +ccinlac ccinlac +celebran celebran +censurar censurar +cerraron cerraron +chalmer chalmer +checar checar +chilac chilac +christi christi +cima cima +cite cite +claridad claridad +clouthier clouthier +co co +coco coco +cojo cojo +colin colin +combinan combinan +comer comer +compact compact +competitividad competitividad +comportan comportan +comprometen comprometen +conadeip conadeip +conclusion conclusion +condicionan condicionan +confiar confiar +congregaron congregaron +conozcan conozcan +consideren consideren +constituyeron constituyeron +contabilizan contabilizan +contengan contengan +contradecir contradecir +contribuyeron contribuyeron +convivir convivir +coordinan coordinan +corporal corporal +corresponsal corresponsal +coss coss +cox cox +crecen crecen +crisis crisis +cruz cruz +cualquier cualquier +cuestionan cuestionan +cumplan cumplan +cuyo cuyo +daihim daihim +das das +daña daña +deber deber +decir decir +dedicaran dedicaran +deja deja +delimitar delimitar +democratizar democratizar +denunciar denunciar +derivaron derivaron +desalojar desalojar +desatar desatar +descomunal descomunal +descuidan descuidan +desenmascaran desenmascaran +desintegrar desintegrar +desparramaron desparramaron +destacan destacan +desviar desviar +detienen detienen +diagnosticar diagnosticar +dieran dieran +difundir difundir +dilatar dilatar +dirimir dirimir +disfrutar disfrutar +disputar disputar +dividir dividir +doctoral doctoral +dominen dominen +dormir dormir +dragster dragster +duo duo +duró duró +díle díle +echó echó +edison edison +edén edén +eiffel eiffel +electricidad electricidad +eliud eliud +embargaron embargaron +emory emory +empiezan empiezan +encaminaron encaminaron +encontraban encontraban +enfrentar enfrentar +enmendar enmendar +entender entender +entregar entregar +enviar enviar +er er +esas esas +esconder esconder +esde esde +especificar especificar +espiritualidad espiritualidad +establezcan establezcan +estimaron estimaron +estudian estudian +eugui eugui +evidencian evidencian +excedieron excedieron +eximir eximir +explicaban explicaban +exportan exportan +exterior exterior +fabricar fabricar +fallar fallar +fatal fatal +federal federal +feroz feroz +fiel fiel +film film +fingir fingir +flannery flannery +foco foco +formal formal +forzaron forzaron +francotirador francotirador +fresh fresh +fuesen fuesen +fundamental fundamental +gail gail +ganen ganen +gasset gasset +generalidad generalidad +gephard gephard +gime gime +gober gober +golearon golearon +gorvachov gorvachov +gradocon gradocon +gravar gravar +gro gro +guiaron guiaron +haber haber +haddad haddad +han han +harry harry +hayan hayan +heidi heidi +herramental herramental +hill hill +hogar hogar +honor honor +hoy hoy +huir huir +huyeron huyeron +ida ida +igual igual +imagen imagen +impartir impartir +impongan impongan +imán imán +incian incian +inconstitucionalidad inconstitucionalidad +incumplieron incumplieron +indignidad indignidad +infernal infernal +inforrey inforrey +inicien inicien +insensatez insensatez +instrumentar instrumentar +intensifiquen intensifiquen +interfieran interfieran +interrumpir interrumpir +invadir invadir +invitan invitan +irma irma +isaac isaac +iva iva +jalar jalar +jefa jefa +joel joel +juan juan +julius julius +juzgar juzgar +kb kb +kgb kgb +ko ko +kubli kubli +lagerfeld lagerfeld +langley langley +lata lata +lealtad lealtad +legislar legislar +les les +ley ley +libran libran +lima lima +liner liner +lle lle +llevaron llevaron +loco loco +lopez lopez +lucieron lucieron +luz luz +madurar madurar +maksim maksim +manden manden +manipular manipular +many many +marcus marcus +marketing marketing +mas mas +mataron mataron +max max +mcdonalds mcdonalds +mejor mejor +mencionaron mencionaron +mercadear mercadear +meta meta +mexinox mexinox +mico mico +miguel miguel +mimi mimi +mirador mirador +missouri missouri +moda moda +molestar molestar +montiel montiel +morozoff morozoff +moto moto +mozo mozo +multichip multichip +murieron murieron +mystic mystic +nacionalidad nacionalidad +narran narran +navajearon navajearon +negaban negaban +neri neri +newton newton +nina nina +nombrar nombrar +nos nos +nox nox +nupcial nupcial +objetividad objetividad +observaban observaban +oceransky oceransky +ocurren ocurren +ofrecieron ofrecieron +olloqui olloqui +one one +oportunidad oportunidad +orden orden +origen origen +os os +otorgaran otorgaran +oxidar oxidar +padecer padecer +pale pale +par par +pared pared +participen participen +pasear pasear +pato pato +pc pc +pegaran pegaran +penal penal +per per +perjudican perjudican +perry perry +pesar pesar +pfcyp pfcyp +pide pide +pinal pinal +pisotear pisotear +planchar planchar +playback playback +polar polar +pongan pongan +portabilidad portabilidad +posesionar posesionar +potosi potosi +prampolini prampolini +predominaron predominaron +prendieron prendieron +presentaban presentaban +pressey pressey +prevenir prevenir +pro pro +produzcan produzcan +proliferan proliferan +promotor promotor +proponen proponen +proteger proteger +provocan provocan +public public +pues pues +pura pura +q q +quejaron quejaron +qué qué +rafael rafael +rapar rapar +ravel ravel +reactivar reactivar +reanudar reanudar +recaudaban recaudaban +recibir recibir +recomendaron recomendaron +recrudecieron recrudecieron +redoblar redoblar +reflejaban reflejaban +regidor regidor +regresen regresen +reja reja +renegociar renegociar +repavimentar repavimentar +reprimir reprimir +residen residen +responsabilidad responsabilidad +resumen resumen +retratar retratar +revelaban revelaban +revocar revocar +riazor riazor +rifkin rifkin +risa risa +road road +rocaetti rocaetti +roel roel +rompen rompen +rossin rossin +rubor rubor +ruso ruso +sabor sabor +saint saint +salir salir +sanchez sanchez +sar sar +saya saya +scout scout +secuencial secuencial +seis seis +seminal seminal +sep sep +serial serial +sexys sexys +shcp shcp +sida sida +siguieron siguieron +singular singular +sister sister +sobrepasan sobrepasan +sociedad sociedad +solemnidad solemnidad +someter someter +soundgarden soundgarden +special special +stanley stanley +straffon straffon +subaru subaru +suburban suburban +sueltan sueltan +suma suma +suoo suoo +superwelter superwelter +sus sus +svyt svyt +tabe tabe +tamez tamez +tasa tasa +teddys teddys +teme teme +tepochcalli tepochcalli +textil textil +tibet tibet +tirar tirar +tlatoanis tlatoanis +tomaban tomaban +topa topa +torricelli torricelli +trabajador trabajador +traidor traidor +transfieren transfieren +transparentar transparentar +tratar tratar +trinidad trinidad +troy troy +tumor tumor +tv tv +uat uat +un un +unisex unisex +ur ur +use use +v v +valet valet +vano vano +ve ve +vena vena +ventilaron ventilaron +vertical vertical +viajar viajar +vienen vienen +villaseñor villaseñor +virilidad virilidad +visten visten +vivir vivir +volmer volmer +voto voto +vías vías +waterer waterer +widnall widnall +worcester worcester +xviii xviii +yeso yeso +zabludowsky zabludowsky +ágil ágil diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/es-minimal.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/es-minimal.tsv new file mode 100644 index 0000000000..f0d29801f3 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/es-minimal.tsv @@ -0,0 +1,2000 @@ +abandonadas abandonada +abarroteros abarrotero +abiertas abierta +abogadas abogada +abortos aborto +abrogados abrogado +abucheos abucheo +abundantes abundant +académicas academica +acarreados acarreado +accesos acceso +accionarias accionaria +acentuadas acentuada +acercamientos acercamiento +acereros acerero +aclaraciones aclaracion +acompañados acompanado +acondicionados acondicionado +acostumbradas acostumbrada +acreedores acreedor +activas activa +actos acto +actualizaciones actualizacion +acuerdos acuerdo +acusadoras acusadora +acusándolos acusandolo +adecuaciones adecuacion +adelantamos adelantamo +ademas adema +adheridos adherido +adiós adio +administrativos administrativo +adoradores adorador +adquirientes adquirient +adultos adulto +advertimos advertimo +aeropuertos aeropuerto +afecciones afeccion +afectos afecto +afiliadas afiliada +afirmaciones afirmacion +afrobrasileños afrobrasileno +agendas agenda +aglomeraciones aglomeracion +agraristas agrarista +agresivas agresiva +agroquímicos agroquimico +aguacates aguacat +agudos agudo +ahogados ahogado +ahujas ahuja +aislados aislado +alabarderos alabardero +alarmados alarmado +alcaldes alcald +alcances alcanz +aldeas aldea +alemanas alemana +alfilerazos alfilerazo +aliados aliado +alimentadores alimentador +aljibes aljib +almas alma +alteraciones alteracion +altos alto +aluncinógenos aluncinogeno +amables amabl +amargos amargo +amateurs amateur +ambiciosos ambicioso +ambos ambo +amenazas amenaza +ames am +amistades amistad +amores amor +ampliaciones ampliacion +américas america +analizados analizado +ancestros ancestro +andamos andamo +anexamos anexamo +angelitos angelito +angélicas angelica +anotados anotado +anteriores anterior +anticipamos anticipamo +antiestrés antiestr +antillas antilla +anuales anual +anuncios anuncio +anónimos anonimo +aparatos aparato +apartados apartado +apelaciones apelacion +aplacarlos aplacarlo +aplicarlos aplicarlo +apocalípticas apocaliptica +apostamos apostamo +apoyos apoyo +aprendices aprendiz +aprobados aprobado +aptas apta +apuestos apuesto +aquelarres aquelarr +aquéllos aquello +arañas arana +arcillistas arcillista +areas area +arguelles arguell +arkansas arkansa +armamentos armamento +arqueológicas arqueologica +arquitecturas arquitectura +arrancaremos arrancaremo +arrendamientos arrendamiento +arrojados arrojado +arrugas arruga +artes art +artesianos artesiano +artísticas artistica +asaltos asalto +aseados aseado +asentamientos asentamiento +asestadas asestada +asimilemos asimilemo +asociados asociado +aspes asp +astroditomas astroditoma +asuntos asunto +atacas ataca +atascadas atascada +atendidas atendida +atentos atento +atlantistas atlantista +atractivas atractiva +atrasaditos atrasadito +atribuibles atribuibl +atuendos atuendo +auditores auditor +aulas aula +auspiciadoras auspiciadora +austriacos austriaco +automatizados automatizado +automovilistas automovilista +autopistas autopista +autorizadas autorizada +autosuficientes autosuficient +autógrafos autografo +auxilios auxilio +avances avanz +aventuras aventura +avilés avil +ayudados ayudado +aztecas azteca +azúcares azucar +baccantes baccant +bailes bail +bajos bajo +balas bala +balderas baldera +bancas banca +banderillas banderilla +bankshares bankshar +baratas barata +bardas barda +barreras barrera +barrios barrio +basados basado +basuras basura +baterías bateria +beauvais beauvai +beisbolistas beisbolista +benavides benavid +beneficios beneficio +bernanos bernano +bichos bicho +bienvenidas bienvenida +bilaterales bilateral +biodegradables biodegradabl +blackhawks blackhawk +blatidos blatido +bloqueos bloqueo +bochornos bochorno +boicotearlas boicotearla +boleados boleado +bolitas bolita +bomberos bombero +bonitos bonito +bordos bordo +borreguitos borreguito +botellas botella +boutiques boutiqu +bracamontes bracamont +brechas brecha +bringas bringa +británicos britanico +bronquitis bronquiti +brunas bruna +brutos bruto +bulbos bulbo +burocratismos burocratismo +burócratas burocrata +buscaremos buscaremo +bytes byt +búsquedas busqueda +cabañas cabana +cabiedes cabied +cacallacas cacallaca +caciques caciqu +cadis cadi +caifanes caifan +calcetines calcetin +calidades calidad +calificamos calificamo +callejoneadas callejoneada +camareros camarero +cambiarlos cambiarlo +camioneras camionera +camisitas camisita +campañas campana +campos campo +canalizados canalizado +cancilleres canciller +candidiasis candidiasi +cantantes cantant +cantos canto +capacitamos capacitamo +capitanes capitan +caprichos capricho +capturados capturado +caracterizadas caracterizada +carcajadas carcajada +carentes carent +cargas carga +caricias caricia +carnavaleros carnavalero +carnes carn +carreteras carretera +carros carro +cartas carta +casados casado +caseras casera +casquillos casquillo +castigadas castigada +casuales casual +catarsis catarsi +cateos cateo +cauces cauz +causantes causant +cavazos cavazo +cañonazos canonazo +celadores celador +celebridades celebridad +cementeras cementera +cenizas ceniza +centradas centrada +centésimas centesima +cercanos cercano +cerebrales cerebral +cerraduras cerradura +certificados certificado +cesados cesado +chagoyos chagoyo +chamois chamoi +charles charl +chavitas chavita +chetumaleños chetumaleno +chicles chicl +chiles chil +chirinos chirino +chocolates chocolat +cibaeñas cibaena +cientos ciento +ciertas cierta +cigarros cigarro +cines cin +circuitos circuito +cirujanos cirujano +citamos citamo +ciudadanías ciudadania +clandestinos clandestino +clases clas +clasificatorias clasificatoria +clones clon +clásicos clasico +cmos cmo +cobos cobo +coches coch +coincidencias coincidencia +colchoneros colchonero +colegas colega +colinas colina +colocados colocado +colonias colonia +colosos coloso +comandos comando +combinadas combinada +comedores comedor +comentaristas comentarista +comerciales comercial +cometarios cometario +cometidos cometido +comillas comilla +communications communication +comodísimos comodisimo +comparsas comparsa +compañeras companera +compensatorios compensatorio +competiremos competiremo +complementarias complementaria +completos completo +componentes component +compradores comprador +compras compra +comprometimos comprometimo +computadoras computadora +comunes comun +comunidades comunidad +conatos conato +concepciones concepcion +concesionarios concesionario +conciudadanos conciudadano +concretos concreto +condenados condenado +condominios condominio +conduciéndonos conduciendono +conejos conejo +conferencistas conferencista +confiamos confiamo +configuradas configurada +confundimos confundimo +conglomerados conglomerado +congruentes congruent +conjuntos conjunto +conocedores conocedor +conocimientos conocimiento +consagrados consagrado +consecutivos consecutivo +conservacionistas conservacionista +consideradas considerada +consideres consider +constancias constancia +constitutivos constitutivo +constructores constructor +consultas consulta +contadas contada +contaminantes contaminant +contemporáneos contemporaneo +contentamos contentamo +contingencias contingencia +contrabandistas contrabandista +contrantes contrant +contrastes contrast +contratiempos contratiempo +contreras contrera +controlables controlabl +conurbadas conurbada +convenciones convencion +conversaciones conversacion +convicciones conviccion +convoyes convoy +coordinadas coordinada +copias copia +cordobés cordob +coros coro +corpus corpu +correctas correcta +corremos corremo +corridos corrido +cortantes cortant +cortesanas cortesana +cosas cosa +costados costado +costos costo +costureras costurera +couches couch +creaciones creacion +creativas creativa +crecimientos crecimiento +creditos credito +creíbles creibl +criaturas criatura +cristales cristal +cromadoras cromadora +croquetas croqueta +cruzadas cruzada +créditos credito +cuadrados cuadrado +cualidades cualidad +cuarteles cuartel +cubanos cubano +cubriéndonos cubriendono +cuchillos cuchillo +cuerpos cuerpo +cuevas cueva +culpables culpabl +cultos culto +cumpleaños cumpleano +cumplimos cumplimo +curiosidades curiosidad +cuyos cuyo +cyrus cyru +cáritas carita +cédulas cedula +círculos circulo +códigos codigo +cómodos comodo +cúbicos cubico +dallas dalla +darles darl +days day +daños dano +debes deb +decapitados decapitado +decimos decimo +declaraciones declaracion +decretos decreto +dedicados dedicado +defectos defecto +defensores defensor +definiciones definicion +deformaciones deformacion +deidades deidad +dejemos dejemo +delegados delegado +delicadas delicada +delors delor +demasiados demasiado +demográficas demografica +demostremos demostremo +denominados denominado +denunciantes denunciant +dependes depend +deportistas deportista +depredadores depredador +derechazos derechazo +derivadas derivada +derrotas derrota +desacuerdos desacuerdo +desahogos desahogo +desamparados desamparado +desarrolladas desarrollada +desastres desastr +descabelladas descabellada +descastados descastado +desconocerlos desconocerlo +descriptores descriptor +descubrimientos descubrimiento +desechos desecho +desentonados desentonado +desestímulos desestimulo +desglosados desglosado +designadas designada +deslaves deslav +desnudos desnudo +despedidas despedida +despidos despido +destacadas destacada +destapes destap +destinos destino +desventajosas desventajosa +detalladas detallada +detectados detectado +detergentes detergent +detrás detra +diablos diablo +diarias diaria +dichas dicha +dictarnos dictarno +diferendos diferendo +difíciles dificil +dignas digna +diligencias diligencia +dimos dimo +dinámicas dinamica +diplomáticas diplomatica +direcciones direccion +directores director +dirigidos dirigido +disciplinas disciplina +discs disc +diseñadores disenador +disfrazados disfrazado +disparos disparo +dispositivos dispositivo +disqueras disquera +distinguidos distinguido +distribuidas distribuida +distribuimos distribuimo +diversas diversa +dividendos dividendo +divisiones division +dobles dobl +doctorados doctorado +documentos documento +domesticados domesticado +domingos domingo +donados donado +doors door +dorsets dorset +dotes dot +drogas droga +dudosos dudoso +duplicidades duplicidad +dándonos dandono +décimas decima +eagles eagl +echoes echo +ecológicos ecologico +económicos economico +ecotécnicas ecotecnica +edificios edificio +editores editor +efectivas efectiva +eficientarlas eficientarla +egresados egresado +ejecutivos ejecutivo +ejércitos ejercito +electorales electoral +electromagnéticas electromagnetica +elegidos elegido +elevadas elevada +ellas ella +elotitos elotito +elías elia +embarcadas embarcada +embotelladoras embotelladora +embutidos embutido +emigrantes emigrant +emitidas emitida +empacados empacado +empatarles empatarl +empeñados empenado +emprendimos emprendimo +empréstitos emprestito +encaminadas encaminada +encargados encargado +encerrarnos encerrarno +encontradas encontrada +encuadrados encuadrado +encuestados encuestado +energéticos energetico +enfermos enfermo +enfrascados enfrascado +engañosas enganosa +engorrosos engorroso +enrazados enrazado +enseñarles ensenarl +entenados entenado +enterados enterado +entes ent +entramos entramo +entregándoles entregandol +entrenados entrenado +entrevistas entrevista +enviados enviado +envidiamos envidiamo +enérgicas energica +equipararnos equipararno +equivocados equivocado +errores error +escaleras escalera +escandalosas escandalosa +escenas escena +esclavas esclava +escolares escolar +escotes escot +escritos escrito +escuchadas escuchada +escurridizos escurridizo +esforzamos esforzamo +esos eso +españolas espanola +especialidades especialidad +especificaciones especificacion +especuladores especulador +esperamos esperamo +esperemos esperemo +esplendores esplendor +esquinas esquina +estacionados estacionado +estadios estadio +estamos estamo +estanques estanqu +estatales estatal +esterlinas esterlina +estimamos estimamo +estragos estrago +estratégicas estrategica +estrellamos estrellamo +estropeadas estropeada +estudios estudio +estuviéramos estuvieramo +estéticos estetico +eurobonos eurobono +evaluaciones evaluacion +eventuales eventual +evolucionarios evolucionario +exalumnos exalumno +excepcionales excepcional +excitantes excitant +excursiones excursion +exigencias exigencia +eximirlos eximirlo +expectativas expectativa +experimentadas experimentada +explicarles explicarl +exportaciones exportacion +exportamos exportamo +expresiones expresion +exquisitos exquisito +exteriores exterior +extrabajadores extrabajador +extraordinarios extraordinario +extraviadas extraviada +exvotos exvoto +fabricadas fabricada +facilidades facilidad +factorajes factoraj +facturas factura +fagotistas fagotista +falsas falsa +familiares familiar +fans fan +farmacias farmacia +fastuosos fastuoso +favoritos favorito +fechas fecha +felices feliz +felícitos felicito +fenómenos fenomeno +ferronales ferronal +festivales festival +fetos feto +fideicomisos fideicomiso +fijados fijado +filas fila +filmados filmado +finales final +financieras financiera +finos fino +firmantes firmant +flandes fland +flexibles flexibl +flotantes flotant +folletos folleto +foquitos foquito +formales formal +formatos formato +fors for +forzadas forzada +fotocredencializadas fotocredencializada +fotoquímicos fotoquimico +fraccionadores fraccionador +fracturas fractura +franceses frances +fraudes fraud +frenados frenado +frias fria +fritos frito +frutales frutal +fríos frio +fumarolas fumarola +funciones funcion +fundamentales fundamental +furtivos furtivo +futuras futura +fílmicos filmico +fósiles fosil +galeones galeon +galletitas galletita +ganaderos ganadero +ganarles ganarl +garantizadas garantizada +garroteros garrotero +gastados gastado +gemelas gemela +generadores generador +generandoles generandol +genetistas genetista +genéticos genetico +gerencias gerencia +geólogos geologo +giras gira +globales global +gobernadores gobernador +goles gol +gomes gom +gorras gorra +grabadas grabada +gracias gracia +grammys grammy +granados granado +granjas granja +gravados gravado +griegos griego +gritos grito +gráficas grafica +guardados guardado +gubernamentales gubernamental +guiones guion +gustos gusto +haberlos haberlo +habitaciones habitacion +hablados hablado +habríamos habriamo +hacerlos hacerlo +haciéndolas haciendola +hagamos hagamo +hallazgos hallazgo +haremos haremo +hearts heart +hectáreas hectarea +hemerográficas hemerografica +heredados heredado +hermanas hermana +heróicos heroico +hidrocarburos hidrocarburo +hierros hierro +hines hin +hipótesis hipotesi +históricas historica +hojas hoja +homeóstasis homeostasi +homologarnos homologarno +hondureños hondureno +honores honor +horizontes horizont +hortalizas hortaliza +hospitalizados hospitalizado +huecos hueco +huertos huerto +huicholes huichol +humanos humano +hundimientos hundimiento +hábitos habito +hígados higado +ideas idea +idiomas idioma +igualarnos igualarno +ilimitados ilimitado +ilustraciones ilustracion +impactos impacto +implacables implacabl +implicados implicado +importadas importada +imposiciones imposicion +impresiones impresion +impropiedades impropiedad +impugnaciones impugnacion +imputaciones imputacion +inadvertidas inadvertida +inauguraciones inauguracion +incendios incendio +inclemencias inclemencia +incluidos incluido +incompetentes incompetent +inconformes inconform +inconstitucionales inconstitucional +incosteables incosteabl +incrustaciones incrustacion +indebidos indebido +indicaciones indicacion +indigentes indigent +indispensables indispensabl +individuos individuo +industrias industria +ineficiencias ineficiencia +inexploradas inexplorada +inferiores inferior +infiltrados infiltrado +informantes informant +infraccionados infraccionado +infundios infundio +ingleses ingles +ingresos ingreso +iniciadas iniciada +inicios inicio +injustas injusta +inmediaciones inmediacion +inmiscuidos inmiscuido +inmortales inmortal +innovaciones innovacion +inofensivos inofensivo +inquilinos inquilino +insectos insecto +inspecciones inspeccion +instalados instalado +institucionales institucional +instrumentados instrumentado +insuficientes insuficient +integradas integrada +integrarlos integrarlo +intenciones intencion +intentos intento +interesados interesado +interinatos interinato +intermedios intermedio +internos interno +interpuestas interpuesta +intervalos intervalo +intimidados intimidado +intérpretes interpret +invasiones invasion +invertimos invertimo +investigados investigado +invitamos invitamo +inútiles inutil +iraquíes iraqui +irnos irno +irregularidades irregularidad +irritaciones irritacion +israelíes israeli +izquierdas izquierda +jaguarundis jaguarundi +jamás jama +jardines jardin +jerarcas jerarca +jobs job +jornadas jornada +joyeros joyero +jueces juez +jugadoras jugadora +juicios juicio +juristas jurista +justos justo +kempes kemp +kilómetros kilometro +lacónicos laconico +ladrones ladron +laicos laico +lanzadas lanzada +lares lar +larios lario +latinoamericanos latinoamericano +lavacoches lavacoch +lectores lector +legislativas legislativa +legumbres legumbr +lemus lemu +leotardos leotardo +lesionados lesionado +letrinas letrina +leyes ley +libertades libertad +licencias licencia +lidereados lidereado +limitaciones limitacion +limítrofes limitrof +lineamientos lineamiento +literarias literaria +litros litro +llamamos llamamo +llamáis llamai +llaveros llavero +llegamos llegamo +llenas llena +llevamos llevamo +lloviznas llovizna +localidades localidad +logradas lograda +logros logro +londres londr +lourdes lourd +luctuosas luctuosa +lumbreras lumbrera +lácteos lacteo +líderes lider +líquidos liquido +maderas madera +madrinas madrina +maestrías maestria +magnéticas magnetica +malas mala +males mal +malos malo +mamilas mamila +manazos manazo +mandamos mandamo +mandatarios mandatario +manejadas manejada +manejos manejo +manglares manglar +maniobras maniobra +mantas manta +mantenernos mantenerno +manzanas manzana +maquilados maquilado +maravillosos maravilloso +marcos marco +margenes margen +marianas mariana +marinos marino +marquis marqui +martes mart +masivas masiva +massachussets massachusset +matarnos matarno +materias materia +matrimoniales matrimonial +mayoristas mayorista +mayúsculas mayuscula +medallas medalla +medicamentos medicamento +medidas medida +mefistófeles mefistofel +mejorarlos mejorarlo +melquiades melquiad +menciones mencion +meninges mening +menospreciarnos menospreciarno +mentalidades mentalidad +mentores mentor +mercantiles mercantil +merlis merli +meses mes +meteorológicos meteorologico +metodologías metodologia +metzelaars metzelaar +mezcladas mezclada +micosis micosi +microelectronics microelectronic +microsystems microsystem +miercoles miercol +milagrosos milagroso +militantes militant +millonarias millonaria +mindes mind +minicomputadoras minicomputadora +minorías minoria +miras mira +misericordiosos misericordioso +misterios misterio +mitras mitra +mochilas mochila +modelos modelo +modestos modesto +modos modo +mollejas molleja +monedas moneda +monjaras monjara +monsivais monsivai +montañas montana +montos monto +moralistas moralista +morelenses morelens +morris morri +motivacionales motivacional +motivos motivo +motos moto +movimientos movimiento +muchos mucho +muertas muerta +mujeres mujer +multados multado +multinacionales multinacional +mundos mundo +museos museo +mutilados mutilado +máquinas maquina +médicos medico +méxiconorteamericanos mexiconorteamericano +móviles movil +nacimos nacimo +nadores nador +narcotraficantes narcotraficant +naufragios naufragio +navieras naviera +necesarias necesaria +necesitarlas necesitarla +negociaciones negociacion +negros negro +neopopulistas neopopulista +nerviosos nervioso +neuronales neuronal +newagers newager +nicolás nicola +niveles nivel +noches noch +nombradas nombrada +nombres nombr +nopales nopal +norris norri +norteños norteno +notamos notamo +novatas novata +novedosos novedoso +novilleros novillero +nudos nudo +nuevas nueva +numerales numeral +numerosos numeroso +népotas nepota +obispos obispo +obligaciones obligacion +obreros obrero +observadas observada +obstáculos obstaculo +obuses obus +occisos occiso +ocultos oculto +ofendidas ofendida +ofertas oferta +ofrecidas ofrecida +ojeras ojera +oleaginosos oleaginoso +ollas olla +ontiveros ontivero +operaciones operacion +operarios operario +opiniones opinion +opositores opositor +orangutanes orangutan +ordeñarás ordenara +orfebres orfebr +organizadores organizador +orgánicas organica +orientales oriental +orillas orilla +ornellas ornella +oscilaciones oscilacion +otitis otiti +otras otra +ovejas oveja +pabilos pabilo +padres padr +paganos pagano +paises pais +palazuelos palazuelo +paletones paleton +palomas paloma +pancartas pancarta +paneles panel +pantallas pantalla +panzas panza +papás papa +paradas parada +paralelos paralelo +paredes pared +parientes parient +paros paro +parroquiales parroquial +participaciones participacion +particulares particular +partos parto +parámetros parametro +pasacassettes pasacassett +pasajes pasaj +pases pas +pasos paso +patentes patent +patriarcas patriarca +patrocinadores patrocinador +patéticos patetico +país pai +pecadores pecador +pedagógicas pedagogica +pedidores pedidor +pedradas pedrada +peleles pelel +pelos pelo +penas pena +pensabamos pensabamo +pensemos pensemo +peores peor +perales peral +perdedores perdedor +perdones perdon +periciales pericial +periodistas periodista +perjudicados perjudicado +permanentes permanent +permitirles permitirl +perros perro +personajes personaj +pertenecientes pertenecient +perturbemos perturbemo +períodos periodo +pescados pescado +pesos peso +petroleras petrolera +phillips phillip +pichichis pichichi +piedras piedra +pies pi +pinos pino +pintores pintor +piratas pirata +pitoncitos pitoncito +piñas pina +plaguicidas plaguicida +planes plan +plantas planta +planteamos planteamo +plataformas plataforma +plateas platea +platinos platino +plazos plazo +plumones plumon +plásticos plastico +pobladores poblador +pocas poca +poderes poder +podríamos podriamo +policiacas policiaca +policíacos policiaco +politólogos politologo +políticos politico +ponds pond +ponerles ponerl +pons pon +porcentajes porcentaj +porcícolas porcicola +porras porra +portugués portugu +posgrados posgrado +positivos positivo +postes post +potenciales potencial +practicadas practicada +praxedis praxedi +preceptos precepto +precipitadas precipitada +precursores precursor +preferencias preferencia +prehispánicas prehispanica +premiados premiado +prendedores prendedor +preocupes preocup +preparatorias preparatoria +presas presa +presentaciones presentacion +presentaremos presentaremo +presidenciales presidencial +presos preso +presuntos presunto +preventivas preventiva +primarias primaria +primeros primero +princesas princesa +prisioneros prisionero +priístas priista +problemas problema +procesados procesado +producciones produccion +productivos productivo +profesionistas profesionista +profundidades profundidad +programas programa +prolijas prolija +prometidas prometida +promotores promotor +pronunciamos pronunciamo +propias propia +proponemos proponemo +proporciones proporcion +propósitos proposito +protagónicos protagonico +protestantes protestant +provenientes provenient +provocados provocado +prusianos prusiano +prófugos profugo +psicológicos psicologico +psoriasis psoriasi +pueblos pueblo +pues pu +pugnas pugna +pumas puma +punterías punteria +pupilas pupila +pusiéramos pusieramo +pájaros pajaro +públicos publico +quedaríamos quedariamo +quehaceres quehacer +quemaduras quemadura +queridas querida +quieras quiera +quisiéramos quisieramo +quitos quito +rachas racha +radiales radial +rads rad +rams ram +raros raro +rateros ratero +rayados rayado +razonables razonabl +reacciones reaccion +realidades realidad +realizamos realizamo +rebeldes rebeld +recesiones recesion +recibidas recibida +recibos recibo +reclamados reclamado +reclusorios reclusorio +recomendaciones recomendacion +reconocerlas reconocerla +recordemos recordemo +rectas recta +recíprocas reciproca +reducciones reduccion +refaccionarias refaccionaria +referentes referent +reflexiones reflexion +refractarias refractaria +refuerzos refuerzo +regalárselos regalarselo +regiomontanas regiomontana +regirnos regirno +reglamentos reglamento +regreses regres +rehabilitaciones rehabilitacion +rejones rejon +relaciones relacion +relevos relevo +rellenadas rellenada +remitidos remitido +removidos removido +rencorosos rencoroso +renovadores renovador +rentarlas rentarla +reparaciones reparacion +repartimos repartimo +repetidoras repetidora +reportadas reportada +represalias represalia +represivos represivo +reproducciones reproduccion +requeridos requerido +resbalosas resbalosa +resentidos resentido +reservas reserva +residentes resident +resistidas resistida +respectivas respectiva +respiratorias respiratoria +restantes restant +restos resto +reticencias reticencia +retiros retiro +retos reto +reubicados reubicado +reuters reuter +reverenciales reverencial +revistas revista +reyes rey +reírnos reirno +richards richard +riendas rienda +rigurosos riguroso +ritmos ritmo +robadas robada +robos robo +rockeras rockera +rodillas rodilla +rolls roll +rompevientos rompeviento +ropajes ropaj +ross ros +rounds round +ruedas rueda +rumanos rumano +rusas rusa +rápidas rapida +rígidas rigida +sabedores sabedor +sabinas sabina +sabíamos sabiamo +sacarles sacarl +sacs sac +salariales salarial +salgamos salgamo +salmos salmo +saltillenses saltillens +salvados salvado +sancionados sancionado +sangrados sangrado +santistas santista +sargentos sargento +satisfactores satisfactor +saunders saunder +seas sea +secretarías secretaria +sectoriales sectorial +secuestros secuestro +sedanes sedan +seguidos seguido +seguirles seguirl +seguros seguro +selecciones seleccion +sembradores sembrador +semestrales semestral +semifinales semifinal +semioscuras semioscura +sencillos sencillo +senos seno +sensores sensor +sentenciados sentenciado +separaciones separacion +seremos seremo +serios serio +servimos servimo +sesiones sesion +severas severa +sexuales sexual +señales senal +shorts short +sigamos sigamo +significativos significativo +sillas silla +simples simpl +sinaloenses sinaloens +singles singl +sirves sirv +sistemáticas sistematica +situarlos situarlo +sobrecargas sobrecarga +sobresaltos sobresalto +socavamos socavamo +socorristas socorrista +sofisticadas sofisticada +solas sola +solicitamos solicitamo +solteras soltera +someterlos someterlo +sonados sonado +sonríes sonri +sorprendidas sorprendida +sorpresivos sorpresivo +sotaneros sotanero +sparrings sparring +steels steel +suaves suav +subdesarrollados subdesarrollado +sublíderes sublider +subsanables subsanabl +subsidiadas subsidiada +substancias substancia +subviertes subviert +sudamericanas sudamericana +sueños sueno +sugerencias sugerencia +sujetos sujeto +summers summer +supercenters supercenter +superiores superior +supervisarlos supervisarlo +suposiciones suposicion +surcoreanos surcoreano +suspensiones suspension +suyas suya +sépticas septica +síntomas sintoma +sórdidas sordida +tagetes taget +tales tal +tamps tamp +tanzanios tanzanio +tapatíos tapatio +tarahumaras tarahumara +tarifas tarifa +tataranietos tataranieto +tazas taza +technologies technologi +tecnológicos tecnologico +tejidos tejido +telefónicas telefonica +televidentes televident +teléfonos telefono +temores temor +temporales temporal +tendientes tendient +tenemos tenemo +teniamos teniamo +teníamos teniamo +terapéuticos terapeutico +termes term +terminales terminal +terrenales terrenal +tesis tesi +testimonios testimonio +textos texto +thelonius theloniu +tiempos tiempo +tigrillas tigrilla +times tim +tirados tirado +tiroides tiroid +tlamacazques tlamacazqu +todos todo +tomarnos tomarno +tonalidades tonalidad +toques toqu +tornados tornado +torres torr +torturas tortura +trabajadoras trabajadora +trabas traba +traemos traemo +traicionados traicionado +trampas trampa +transacciones transaccion +transeros transero +transfronterizas transfronteriza +transnacionales transnacional +transportistas transportista +tras tra +trasfondos trasfondo +trasplantes trasplant +tratamientos tratamiento +tratos trato +traídos traido +tres tr +tributarias tributaria +tris tri +triunfos triunfo +troncos tronco +troyanos troyano +tubos tubo +tupamaros tupamaro +turísticas turistica +tácticas tactica +térmicas termica +típicos tipico +tóxicas toxica +ubicados ubicado +ultimos ultimo +unidos unido +unilaterales unilateral +universidades universidad +urbanistas urbanista +urnas urna +usarlos usarlo +usuarios usuario +utilizados utilizado +uñas una +vacíos vacio +valdés vald +valiosos valioso +valoradas valorada +vamos vamo +vanos vano +vaquerías vaqueria +variaciones variacion +varios vario +vasos vaso +veces vez +vegetarianos vegetariano +veintiseis veintisei +vemos vemo +vencimientos vencimiento +venderemos venderemo +vengadores vengador +ventanas ventana +veracruzanos veracruzano +verdades verdad +veremos veremo +versiones version +veríamos veriamo +vestimos vestimo +viales vial +vicios vicio +vidales vidal +videoclubes videoclub +viejitos viejito +viernes viern +vigilantes vigilant +villuendas villuenda +violadores violador +virtudes virtud +visionarios visionario +visitas visita +visuales visual +vituperados vituperado +viviendas vivienda +vivíamos viviamo +voices voiz +volteretas voltereta +voluntades voluntad +volvimos volvimo +votos voto +vulcanólogos vulcanologo +vías via +vítores vitor +weiss weis +xenotransplantes xenotransplant +years year +zagas zaga +zapatos zapato +zorros zorro +ácidos acido +árabes arab +énfasis enfasi +éstos esto +ídolos idolo +ómnibus omnibu +óxidos oxido +a a +abel abel +abrazarse abrazarse +abstuviera abstuviera +acapara acapara +acentuar acentuar +acervo acervo +acompañando acompañando +acostumbrando acostumbrando +actuará actuará +acusaron acusaron +adelanto adelanto +admiro admiro +adquirió adquirió +aerosol aerosol +afirmado afirmado +agenda agenda +agravación agravación +aguardaba aguardaba +ais ais +alarmismo alarmismo +alcanzar alcanzar +alentadora alentadora +alija alija +almuerzo almuerzo +alumnado alumnado +amasando amasando +amga amga +ampudia ampudia +andaría andaría +animarán animarán +anticipando anticipando +anunciar anunciar +apariencia apariencia +aplicado aplicado +apostólico apostólico +aprenderlo aprenderlo +aprovechando aprovechando +arana arana +aritmética aritmética +arrachera arrachera +arreola arreola +arrópese arrópese +ascendente ascendente +asesoramiento asesoramiento +asistían asistían +asumirá asumirá +atendieran atendieran +atrapado atrapado +auditoría auditoría +autobalance autobalance +autorizarse autorizarse +avelar avelar +ayudante ayudante +añadieron añadieron +balance balance +banoro banoro +bart bart +batalló batalló +bebé bebé +bendito bendito +bernardino bernardino +bilateral bilateral +blocker blocker +bolívar bolívar +botanero botanero +bremer bremer +brock brock +bulgaria bulgaria +bush bush +cabildo cabildo +calcula calcula +californiano californiano +cambiarle cambiarle +campestre campestre +candy candy +capfce capfce +caravana caravana +cargaran cargaran +carrera carrera +casavan casavan +catalogan catalogan +cayeran cayeran +cedieron cedieron +cenlac cenlac +cereso cereso +cetro cetro +charro charro +chido chido +chraysler chraysler +cierre cierre +circularán circularán +clarifiquen clarifiquen +cláusula cláusula +cobre cobre +coincidentemente coincidentemente +colgada colgada +coloso coloso +comedia comedia +comerciar comerciar +comparado comparado +competidor competidor +complicarse complicarse +comprimida comprimida +comunicándose comunicándose +concert concert +concretamente concretamente +conducido conducido +confiesan confiesan +confían confían +connotación connotación +consejo consejo +consignará consignará +constitucionalmente constitucionalmente +consultar consultar +contamine contamine +contexto contexto +contradicen contradicen +controlada controlada +conversación conversación +cooperación cooperación +cornejo cornejo +correspondencia correspondencia +cortejar cortejar +cotejo cotejo +creativa creativa +crimen crimen +cruise cruise +cuarenta cuarenta +cuento cuento +culminará culminará +curaban curaban +cárcel cárcel +daihim daihim +dañaban dañaban +debutó debutó +decisioón decisioón +dedicación dedicación +defiende defiende +dejarlo dejarlo +delirante delirante +demora demora +denzel denzel +derek derek +desactivaron desactivaron +desaprovechando desaprovechando +descansan descansan +descongelar descongelar +desdeño desdeño +desenvuelve desenvuelve +designe designe +desnudaron desnudaron +despiertan despiertan +desrregulación desrregulación +desvanecieran desvanecieran +detentando detentando +devolverle devolverle +dictaminaron dictaminaron +difundirlo difundirlo +dinamismo dinamismo +dirigían dirigían +diseñaron diseñaron +dispararon dispararon +distinta distinta +dividiéndose dividiéndose +doctoró doctoró +don don +dramaturgia dramaturgia +duplicó duplicó +déle déle +eco eco +editorial editorial +eficaz eficaz +ejemplo ejemplo +elegido elegido +elimine elimine +embestida embestida +emocionante emocionante +empleando empleando +encantada encantada +encierra encierra +endocrinología endocrinología +enfrentarán enfrentarán +enojo enojo +ente ente +entrarían entrarían +entretenimiento entretenimiento +envolviéndose envolviéndose +erhard erhard +escasez escasez +escribe escribe +escupir escupir +especie especie +esperó esperó +establece establece +estanzuela estanzuela +estiró estiró +estricta estricta +estévez estévez +evaluación evaluación +evolucionen evolucionen +excitarse excitarse +exigente exigente +expansion expansion +exploración exploración +expresarse expresarse +extinta extinta +fabrica fabrica +falda falda +famoso famoso +fea fea +feminista feminista +ficóloga ficóloga +filiberto filiberto +finiquitación finiquitación +flavorite flavorite +fomentada fomentada +formato formato +fotografía fotografía +franz franz +frontal frontal +fulminó fulminó +fundó fundó +gabinete gabinete +ganancia ganancia +gasca gasca +gene gene +geográfico geográfico +gira gira +gobienro gobienro +gordo gordo +grado grado +gravamen gravamen +gruending gruending +guerrero guerrero +gélido gélido +hablé hablé +hall hall +harvey harvey +henderson henderson +herramienta herramienta +hipersensibilidad hipersensibilidad +holgada holgada +horizon horizon +huehuetlán huehuetlán +hungo hungo +identidad identidad +iguala iguala +imevisión imevisión +impida impida +importadora importadora +impuesta impuesta +incapacitado incapacitado +incluya incluya +incrementado incrementado +indeciso indeciso +indignó indignó +inexistente inexistente +información información +ingrediente ingrediente +injusta injusta +inquina inquina +instala instala +instó instó +intencional intencional +interceptado interceptado +internacionalmente internacionalmente +intervención intervención +inundación inundación +investigado investigado +involucrarme involucrarme +irreversible irreversible +itzá itzá +japonesa japonesa +joachim joachim +juegue juegue +jurídica jurídica +kardex kardex +kissinger kissinger +laboró laboró +lanz lanz +latinoamericano latinoamericano +legado legado +leo leo +levantándose levantándose +libidio libidio +ligarde ligarde +lineamiento lineamiento +llame llame +lleva lleva +lluvioso lluvioso +lograrán lograrán +luchar luchar +lwdvig lwdvig +macizo macizo +magnetómetro magnetómetro +maltrecha maltrecha +manente manente +mantenido mantenido +marca marca +maria maria +martinica martinica +mataría mataría +mayoritaria mayoritaria +mediante mediante +melanoma melanoma +mensual mensual +mero mero +metternich metternich +microempresario microempresario +milton milton +mirando mirando +mochila mochila +molestar molestar +montando montando +morell morell +motivante motivante +mtito mtito +multichip multichip +museógrafo museógrafo +método método +nací nací +nativa nativa +necesitado necesitado +negoció negoció +neuville neuville +nissho nissho +norah norah +notificaron notificaron +nuestra nuestra +obedecen obedecen +obrera obrera +obtención obtención +ochenta ochenta +ocurría ocurría +ofrecería ofrecería +olvidada olvidada +operadora operadora +or or +organizaría organizaría +orinar orinar +oswaldo oswaldo +ovulación ovulación +padrecito padrecito +palestra palestra +papasquiaroa papasquiaroa +parecerse parecerse +participación participación +pasando pasando +pata pata +paulo paulo +pedirá pedirá +peligrosamente peligrosamente +pentágono pentágono +peregrinación peregrinación +perla perla +pero pero +perturbación perturbación +pfeiffer pfeiffer +pierre pierre +piropeado piropeado +planea planea +platicaba platicaba +poblaron poblaron +polio polio +pontiac pontiac +portar portar +postelectoral postelectoral +practicaron practicaron +predica predica +preguntó preguntó +prepara prepara +presentando presentando +presley presley +pretendió pretendió +prime prime +priísta priísta +procuradora procuradora +profesor profesor +prologan prologan +promovía promovía +propinó propinó +prospectiva prospectiva +proveedor proveedor +prudente prudente +publicaron publicaron +puig puig +pusiese pusiese +quebró quebró +queso queso +quite quite +radiología radiología +rastro rastro +reaccionar reaccionar +realmente realmente +recapitalización recapitalización +recibir recibir +recogerle recogerle +reconversión reconversión +recuperación recuperación +reducirá reducirá +refinación refinación +refugio refugio +reglamentar reglamentar +reimplantó reimplantó +relativo relativo +removió removió +reo reo +repleta repleta +reprocha reprocha +resbaladero resbaladero +resolverá resolverá +respondido respondido +resultando resultando +retire retire +retroceder retroceder +reveló reveló +revuelo revuelo +richardson richardson +riteaid riteaid +rocha rocha +rolada rolada +rosilí rosilí +ruggeri ruggeri +sabastian sabastian +sacrificarlo sacrificarlo +salido salido +salvar salvar +sanitaria sanitaria +satín satín +seccional seccional +seguir seguir +semental semental +sentido sentido +sergio sergio +sexo sexo +show show +sigo sigo +sin sin +sirve sirve +sobrarán sobrarán +sobrevuelan sobrevuelan +soldado soldado +solucione solucione +soportó soportó +sostuvieron sostuvieron +steven steven +suben suben +subversión subversión +suelo suelo +sujeción sujeción +superación superación +suplente suplente +surta surta +sustituirá sustituirá +sólido sólido +talón talón +tardanza tardanza +tecihuatlanque tecihuatlanque +teloloapense teloloapense +tendrían tendrían +tercia tercia +tesitura tesitura +tiene tiene +titula titula +tolerando tolerando +topa topa +tortilla tortilla +tracción tracción +tramitando tramitando +transformaron transformaron +transporte transporte +trataron trataron +tribunal tribunal +trivial trivial +tull tull +técnicamente técnicamente +ubicándolo ubicándolo +unificar unificar +urgente urgente +utilizado utilizado +vale vale +valuación valuación +vax vax +vencer vencer +venida venida +verifican verifican +veían veían +videoclip videoclip +viii viii +violentamente violentamente +vislumbra vislumbra +vivieron vivieron +volumen volumen +vuelca vuelca +warren warren +xix xix +yucateco yucateco +zenith zenith +ávido ávido diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/fi-light.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/fi-light.tsv new file mode 100644 index 0000000000..fc1952f5a1 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/fi-light.tsv @@ -0,0 +1,2000 @@ +aachenin aachen +aallonmurtaja aallonmurt +aaltoselle aaltos +aamuinen aamu +aamulehden aamuleh +aamupäivällä aamupaiv +aamuviideltä aamuviid +aari aar +aarras aarra +aasianleijona aasianleij +aatelispoika aatelispoik +aatteellisista aateellis +aavalla aav +aavisteli aavistel +aberdeeniin aberde +abortti abort +absurdissa absurd +adelbodenissa adelboden +adrenaliinin adrenaliin +advokat advok +afganistanista afganistan +aftenposten aftenpos +agentit agent +aggressiota aggress +ahavan ahav +ahdistavassa ahdistav +ahdistuneena ahdistun +ahkeraa ahker +ahlaisten ahlais +ahmii ahmi +ahneutta ahneu +ahosen aho +ahtamattomien ahtamatom +ahtisaaret ahtisaar +ahvenanmerellä ahvenanmer +aida aid +aidon aid +aiempaan aiemp +aiheena aihe +aiheisia aiheis +aiheutettujen aiheutet +aiheuttamat aiheutam +aiheuttavia aiheutav +aihiosta aihio +aikaansaamisen aikaansaam +aikainen aik +aikaisempina aikaisemp +aikaisti aika +aikakauslehdistä aikakauslehd +aikalaisia aikalais +aikan aik +aikarajoitus aikarajoit +aikatauluongelmien aikatauluongelm +aikeeni aike +aikomastaan aikomast +aikovia aikov +aikuisinakin aikuis +aikuisten aikuis +aime aim +aineelliseen aineell +aineina ain +ainelaitokset ainelaitoks +ainoalla aino +ainutkertaisen ainutkerta +aiotaanko aiot +airesin aire +aisoihin aiso +aistinut aistinu +aitiopaikka aitiopaik +aitosuomalaisen aitosuomala +aivansamassa aivansam +aivopesua aivopesu +ajaisin ajai +ajama ajam +ajaneet ajanee +ajankohtaisemmaksi ajankohtaisemm +ajankohtaisuus ajankohtaisu +ajanmukaistaa ajanmuka +ajassa ajas +ajateltavissa ajateltav +ajattelevaan ajatelev +ajattelulleen ajatelull +ajatuksena ajatuks +ajatus ajatu +ajautua ajautu +ajavasta ajav +ajeleva ajelev +ajettavana ajetav +ajoi ajo +ajoittunut ajoitun +ajokeista ajok +ajokoiran ajokoir +ajomies ajomie +ajoneuvoyhdistelmän ajoneuvoyhdistelm +ajotaitonsa ajotaiton +ajurit ajur +akateemiset akateemis +akille akill +akrobaatti akrobaat +aktiassa akti +aktiivisiin aktiivis +aktion akt +aktuellt aktuell +akuuttia akuut +alafrantti alafrant +alaiselle alais +alaisuuteen alaisuu +alakohtaisten alakohtais +alalauri alalaur +alamäkeen alamak +alaosastaan alaosast +alarajan alara +alasenlahdella alasenlaks +alastomina alastom +alaurakoinnissa alaurakoinn +albanialainen albanial +albinonin albinon +aldana ald +aleksei aleks +alena alen +alennettaisiin alennetais +alennusmyynteihin alennusmyynt +alentaneen alent +alettaisiin aletais +alfthan alf +alhaisemmalle alhaisemm +alhambra alhambr +alice alic +alihankkijoita alihankij +alilähetin alilahe +alioikeuden alioikeu +alista ali +alistuvat alistuv +alituisessa alituis +alkaa alk +alkaneella alkane +alkavansa alkavan +alkeita alk +alkoholilakia alkoholilak +alkoholipitoisuus alkoholipitoisu +alkoholituotteita alkoholituot +alkuaikojen alkuaiko +alkuiltaan alkuilt +alkukesää alkuke +alkulohkossa alkulohk +alkupala alkupal +alkuperäisiä alkuperais +alkupuoli alkupuol +alkusoittoa alkusoit +alkutekstiä alkutekst +alkuviikko alkuviik +allakasta allak +allekirjoitettaessa allekirjoiteta +allekirjoittaman allekirjoitam +allekirjoitusten allekirjoitus +allergioita allergio +alligaattorien alligaator +almilan almil +aloitella aloit +aloitimme aloitimm +aloittamiseen aloitam +aloittavia aloitav +aloitteisuutta aloiteisu +aloituksia aloituks +alokasta alok +alppihii alpih +alppiyhdistetyn alpiyhdist +altis alti +alttiiden alti +alueellisella alueellis +aluehallinnon aluehallinn +alueistaan alueist +aluekeskus aluekesk +aluepaloaseman aluepaloasem +aluesairaalassa aluesairaal +aluetoimittajat aluetoimitaj +aluevastaava aluevastaav +aluksille aluks +alushousuja alushous +alustavaan alustav +alut alu +amatöörien amatoor +ambulansseja ambulanss +amerikansuomalaisille amerikansuomalais +amerikkalaisiin amerikalais +amerikkalaisperäinen amerikalaisper +amerikkalaisyhtiöitä amerikalaisyht +amilcare amilcar +ammatillisessa ammatillis +ammatteihin ammat +ammattijärjestöön ammatijarjest +ammattikorkean ammatikork +ammattikuntansa ammatikuntan +ammattilaisliigaan ammatilaisliig +ammattilaisuus ammatilaisu +ammattimaiset ammatimais +ammattinimikkeen ammatinimik +ammattipoliitikko ammatipoliitik +ammattitaitoisesta ammatitaitois +ammattiväki ammativak +ammensivat ammensiv +ammunnassa ammunn +ammusten ammus +ampaisee ampaise +ampujia ampuj +ampumaseura ampumaseur +ampuneen ampu +anaboliset anabolis +analysoitiin analysoit +ananasmurskaa ananasmursk +anastetun anaste +anderssoniin andersso +andres andre +anette anet +anglosaksisen anglosaks +animaation animaat +anjelika anjelik +ankarimmillaan ankarimmill +ankerias ankeria +ankkurissa ankur +annan ann +annettava annetav +annetussa annetu +anniskelulupien anniskelulup +annoksilla anno +anomukseen anomuk +anri anr +ansaitsisi ansaitsis +ansioille ansio +ansiokkaassa ansioka +ansioristit ansiorist +ansioturvan ansioturv +antama antam +antaneen ant +antautunut antautun +anteeksipyyntö anteeksipyynt +antibioottikuuria antibiootikuur +antilan antil +antoine anto +antropologi antropolog +anttosen anto +apatia apat +apollolla apollo +apposen appo +apteekkarissa apteekar +apulaiset apulaise +apulaisoikeuskansleri apulaisoikeuskansler +apulaistiemestari apulaistiemestar +apurahoista apuraho +aqui aqu +arabimaiden arabima +arastellut arastell +arborin arbor +arena aren +argumentein argument +aristelevat aristelev +arkaa ark +arkangelista arkangel +arkielämässäkin arkielam +arkipäiväksi arkipaiv +arkissa ark +arkitodellisuuden arkitodellisu +arkkitehdeiltä arkitehd +arkkitehtitoimisto arkitehtitoimist +arkkuun arku +arlandassa arland +armeijain armeij +armi arm +armottomasta armotom +aromit arom +arposen arpo +arsenikkia arsenik +artikkelisarjasta artikelisarj +artsin art +arvaamattomuutta arvaamatomu +arvattavaksi arvatav +arvellut arvellu +arvioida arvioid +arvioineet arvioine +arvioita arvio +arvionne arvion +arvoille arvo +arvoista arvo +arvojärjestyksestä arvojarjestyks +arvokisoista arvokiso +arvokkaina arvoka +arvoltaan arvolt +arvonimestä arvonim +arvonnassa arvonn +arvorakennusten arvorakennus +arvostavan arvostav +arvostelijoista arvostelij +arvosteluryöpystä arvosteluryopy +arvostetussa arvostet +arvoton arvo +arvovaltaiseen arvovalta +asaharaa asahar +aseellista aseell +aseidenriisuntaa aseidenriisun +aseistautumisesta aseistautumis +asejärjestelmän asejarjestelm +aselepolinjan aselepolin +asemakaavoitus asemakaavoit +asemasodan asemasod +asennemuutoksen asennemuut +asennoitumisesta asennoitumis +asentajan asenta +asenteiltaan asenteilt +aseriisunnasta aseriisunn +aseteltuja aseteltu +asetoimituksilla asetoimit +asettamisesta asetamis +asettumalla asetum +asetuksissa asetuks +asevelikylästä asevelikyl +asevientiä asevient +asiaankuuluvan asiaankuuluv +asiakasnäkökulma asiakasnakokulm +asiakastahojen asiakastah +asiakkaat asiaka +asiakysymyksissä asiakysymyks +asiallisten asiallis +asianajajan asianaja +asianomainen asianom +asiantilaa asiantil +asiantuntijalausuntoja asiantuntijalausunt +asiantuntijoiksi asiantuntij +asiatietoja asiatiet +asioilleen asioill +askareissa askar +askeleena askele +aski ask +assadia assad +assosiaatiosopimuksen assosiaatiosopim +asteilla ast +astiaa ast +astmakohtaukseen astmakohtauk +astuessa astu +astutus astutu +asuinalueita asuinalu +asuinpaikkaansa asuinpaikaan +asuintalonsa asuintalon +asukasyhdistyksen asukasyhdisty +asukkaineen asuka +asumisen asum +asumistaan asumist +asuneita asun +asunnostaan asunnost +asuntoasioista asuntoas +asuntola asuntol +asuntomarkkinoille asuntomarkin +asuntopolitiikan asuntopolitiik +asuntotoimessa asuntotoim +asusta asu +asuttamasta asutam +asutuksesta asutuks +asuvalle asuv +atalassa atal +atena aten +athenen athen +atleticossa atletico +atomivoimaloiden atomivoimalo +audiovisuaaliseen audiovisuaal +augustsson augusts +aukene auk +aukiolostaan aukiolost +auktoriteetteja auktoriteet +aumoissa aumo +aureen aur +auringonpaistetta auringonpaist +aurinkoista aurinko +auroja auro +australiasta austral +autiomaa autiom +autoaseman autoasem +autoillessa autoill +autokannen autoka +autokoulu autokoul +autolauttaa autolau +autollisen autoll +automaattiaseella automaatias +automallien automall +automerkin automer +autonkuvia autonkuv +autopaikan autopaik +autosi autos +autoteollisuudessa autoteollisuud +autovarkauksiin autovarkauks +auttajat autaj +auttava autav +auvoa auvo +avaimella avaim +avainpelaajista avainpelaaj +avajaispäivä avajaispaiv +avantoon avanto +avaruusajan avaruusa +avaruustekniikkaa avaruustekniik +avatun ava +avauskierroksen avauskierr +avausosuman avausosum +avautuivat avautuiv +avignon avign +avioliitosta avioliit +avioparin aviopar +avoauton avoau +avoimen avoim +avoinnaklo avoinnakl +avonius avoniu +avulias avulia +avustaisi avustais +avustamiseen avustam +avustuksina avustuks +avustusrahojen avustusrah +avuttomana avutom +azerbaidzhanin azerbaidzhan +baaritiskiltä baaritisk +backmanin backman +baijeri baijer +bakteerista bakteer +balettisarja baletisar +ballmasters ballmaster +banaaleja banaal +bandidosin bandido +banken bank +barbie barb +baritoni barito +barometrin barometr +bartova bartov +baskeja bask +bassot basso +bayliss baylis +beatrixin beatrix +beiga beig +belgialaisia belgialais +belmondon belmond +bengts bengt +bensiinikäyttöiset bensiinikaytois +bergeron berger +berliiniläisille berliinilais +bernsteinin bernstein +besöker besoker +betoniset betonise +bielistä biel +bilbaon bilb +bingenin bingen +biojätteitä biojat +biologista biolog +birkenaun birken +bistrossa bistro +björklöf bjorklof +blairia blair +blokkia blok +boca boc +boheemin boheem +bokseri bokser +boltonista bolton +bongausta bongau +boogie boog +borin bor +bosmanin bosman +bostonissa boston +boutros boutro +brahms brahm +brasilialaisista brasilialais +bravuuri bravuur +brendan brend +bridgen bridg +britannialla britann +brittifilmi britifilm +brittiläisestä britilais +brnossa brno +bronda brond +brucen bruc +bruttoinvestoinnit brutoinvestoinn +brysseliin bryssel +budapestissa budapest +budjetoidun budjetoid +budjettiesitys budjetiesity +budjettineuvotteluissaan budjetineuvoteluiss +budjettivajeiden budjetiva +bujumburan bujumbur +bulimia bulim +burana bur +burundi burund +bussikorttia bussikort +bussipysäkkien bussipysak +buukattua buukatu +byrokratiassa byrokrat +bändissä band +cabriolet cabriole +cali cal +cameronin cameron +candelarian candelar +cantonan canton +caracas caraca +carlossa carlo +carolinan carolin +cartoonin cartoon +catanin catan +cecilian cecil +centeriä center +championships championship +charlesista charles +chelsean chels +chicagolaisen chicagola +chinatown chinatow +christa chr +churchin churc +citroenilla citroen +clare clar +cliburn clibur +cobos cobo +colesin cole +coltranen coltran +conceicao conceica +constanze constanz +coppolan copol +corporationin corporation +cotten cot +coventrya coventry +crime crim +csaban csab +cupissa cup +czerkawskin czerkaw +dahlenin dahlen +dallasin dalla +dances dance +darius dariu +davidin david +deakins deakin +deesin dee +dekkarimaratonin dekarimaraton +delhi delh +demari demar +dementiayksikön dementiayksik +demokraattiselle demokraatis +demokratiat demokrat +denton den +desibeliä desibel +dettmannin detmann +devalvoituminen devalvoitum +diabetespotilaiden diabetespotila +diakonissat diakoniss +dickin dick +dieselveron dieselver +digitaalitekniikka digitaalitekniik +dilissä dil +dioja dio +diplomaattisia diplomaatis +direktiiveissä direktiiv +diskon disk +divine div +dobojin dobo +dokumentoinnin dokumentoinn +dole dol +doloresin dolore +domän dom +donneria donner +dorothea doroth +doylen doyl +drake drak +dramaattista dramaat +dreamworks dreamwork +dubaissa duba +duisburgissa duisburg +dusen dus +dynaamisen dynaam +dähliestä dahl +eckstein eckst +edelleenkin edell +edelliskaudella edelliskaud +edellisvuotista edellisvuot +edellyttäviä edellytav +edelläkävijöiden edellakavijo +edeltäjästä edeltaj +edeltävät edeltav +edesmenneeseen edesmenn +edeten ede +edistyisivät edistyisiv +edistyspuolueelle edistyspuolu +edistämisohjelma edistamisohjelm +editointi editoint +edullisempaa edullisemp +edullisuutta edullisu +eduskuntaenemmistön eduskuntaenemmis +eduskuntaryhmää eduskuntaryhm +edusmiehenä edusmieh +edustajamme edustajamm +edustalla edu +edustavana edustav +edustushiihtäjien edustushiihtaj +edustustehtävistä edustustehtav +eedeniin eed +eeroheinonen eeroheinon +eetvartin eetvar +eftan eft +egyptissä egypt +ehdokasasettelua ehdokasasetel +ehdokkaiden ehdoka +ehdolliseenvankeuteen ehdolliseenvanke +ehdotettuun ehdotet +ehdottivat ehdotiv +ehdotuksiin ehdotuks +ehjän ehj +ehkäisykeinona ehkaisykein +ehrnroothien ehrnrooth +ehtinytkään ehtinytk +ehtoon ehto +eihalua eihalu +eilan eil +eimillään eimill +eioikeastaan eioikeast +eiswein eisw +eivätpähän eivatp +eklöf eklof +ekologiseen ekolog +ekonomistien ekonomist +eksoottisesta eksootis +ekstaasin ekstaa +ekumenia ekumen +electra electr +elegantti elegant +elektronisessa elektronis +elementtirakentamisen elementirakentam +elia eli +elikot eliko +elimistö elimisto +elinehtoja elinehto +elinkautistuomion elinkautistuom +elinkeinopiirit elinkeinopiir +elinkeinoyhtiö elinkeinoyht +elinpiirin elinpiir +elintarvikeliikkeissä elintarvikeliik +elintarviketta elintarvik +elintasokuilun elintasokuil +elinvoima elinvoim +elinympäristöt elinymparist +elitserienin elitserien +ellen ell +elohopeaa elohop +elokuvaa elokuv +elokuvakin elokuv +elokuvamarkkinoilla elokuvamarkin +elokuvaohjelmistossa elokuvaohjelmist +elokuvateatteri elokuvateater +elokuvayhtiö elokuvayht +elonkorjuun elonkorj +elovainion elovain +elton elt +elvyttämisestä elvytamis +eläessäni ela +eläimiään elaim +eläinlääketieteen elainlaaket +eläinpuisto elainpuist +eläinsuojelulaista elainsuojelula +eläintensuojelijat elaintensuojelij +eläkeiän elak +eläkeläisen elakela +eläkemaksua elakemaks +eläkerahat elakerah +eläketurvan elaketurv +eläkevastuu elakevastu +eläkkeiden elak +elämyksestä elamyks +elämäkään elamak +elämänhallintaa elamanhallin +elämänkäänteitä elamankaant +elämänohjeeseen elamanohj +elämäntarinansa elamantarinan +elämäntyöksi elamanty +elämässäkin elam +eläneitä elan +elävillä elav +elävöittävät elavoitav +emexillä emex +emmi emm +empii empi +emännäksi emann +endin end +enemmistöosakkaaksi enemmistoosaka +enempiä enemp +energialaitos energialait +energiankulutuksesta energiankulutuks +energiapolitiikassa energiapolitiik +energiaverojen energiaver +engelbergin engelberg +englanninkielisten englanninkielis +englantilaisista englantilais +enimmäismäärän enimmaismaar +enkelten enkel +ennakkokäsittelyyn ennakokasitely +ennakkomaksua ennakomaks +ennakkosäästämisellä ennakosaastamis +ennakkoäänestyspäivän ennakoaanestyspaiv +ennakoivaa ennakoiv +enne enn +ennenkuin ennenku +ennustajan ennusta +ennusteitten ennust +ennustukseen ennustuk +ennätyksellistä ennatyksell +ennätyskorkealle ennatyskork +ennätystensä ennatysten +enpä enp +ensiesiintyminen ensiesiintym +ensikertalaisista ensikertalais +ensiminuuteilla ensiminuut +ensimmäisissä ensimmais +ensisijaiseksi ensisijais +ensivuoden ensivuo +enterprisen enterpr +entiset entise +entivanhaan entivanh +epidemioina epidemio +epua epu +epäilevä epailev +epäillyllä epailly +epäilyksille epailyks +epäinhimillistä epainhimill +epäkohtiin epakoht +epäluuloisuus epaluuloisu +epämääräisesti epamaarais +epäolennaisia epaolennais +epäonnistumista epaonnistum +epäpuhdasta epapuhd +epäreiluna epareilu +epäselvät epaselv +epäsäännöllisiä epasaannollis +epätavallista epatavall +epätodennäköisinä epatodennakois +epäuskoa epausko +epävarmalta epavarm +epävarmuutta epavarmu +erakko erako +erehtymättömän erehtymatom +eriarvoisessa eriarvois +erikoisalanaan erikoisalan +erikoiset erikoise +erikoiskokeelle erikoiskok +erikoisliikkeen erikoisliik +erikoispalkinnolla erikoispalkinn +erikoista eriko +erikoistuneet erikoistune +erikoisuutenaan erikoisuuten +erilaisessa erilais +erilaisuuteen erilaisu +erimielisiä erimielis +erinomaisista erinomais +eriskummallista eriskummall +eristyksiin eristyks +erisuuruinen erisuuru +eritteiden erit +erityisasiantuntija erityisasiantunt +erityisiin erityis +erityismäärärahan erityismaarar +erityisryhmän erityisryhm +erityistoimintojen erityistoimint +eriytetty eriytety +erkinjuntti erkinjunt +ernstreit ernstre +eroavista eroav +eronneesta eronne +eropassit eropass +erotettaviksi erotetav +erottamisen erotam +erotti erot +erotuomarit erotuomar +eräkangas erakanga +eränlopussa eranlopu +erätauolla eratauo +erääntyneitä eraantyn +esihistoriallisena esihistoriallis +esiintyjistä esiintyj +esiintymisistä esiintymis +esiintymään esiintym +esikaupungit esikaupung +esikoispoikansa esikoispoikan +esikuntansa esikuntan +esikuvista esikuv +esimerkillä esimerk +esimiehenä esimieh +esineinä esin +esiselvityksen esiselvity +esitelmässään esitelmass +esitettyään esitety +esitteeseen esite +esitteleviä esitelev +esittelynsä esitelyn +esittäjäksi esitaj +esittämät esitam +esittäytymään esitaytym +esityksestä esityks +esityslistalle esityslist +esitämme esitamm +eskosta esko +espanjalle espanj +espoolainen espool +esseessään esseess +esteellisyyskysymyksissä esteellisyyskysymyks +esteettisyys esteetisyy +esteratsastusta esteratsast +estolääkityksen estolaakity +estyneitä estyn +estävää estav +eteenpäinmenoa eteenpainmen +eteläamerikkalaisten etelaamerikalais +eteläkorealaisia etelakorealais +etelänmatkalle etelanmatk +eteläpuolisella etelapuolis +eteläsuomalainen etelasuomal +etenevä etenev +etiikkaa etiik +etlantoimitilat etlantoimitil +etsijät etsij +etsinnän etsinn +etsiskellä etsisk +etsiytyvät etsiytyv +ettähän ett +ettäsuomi etasuom +etujoukko etujouk +etulinja etulin +etunimien etunim +etupenkille etupenk +eturivin eturiv +etuudet etuude +etymologinen etymolog +etäpeliä etapel +euraan eur +euroedustajaksi euroedustaj +euromarket euromark +euroopanunioniin euroopanun +eurooppalaisin euroopala +europarlamentaarikoksi europarlamentaarik +eurorahaa eurorah +euroviisuja euroviis +evakuoiduista evakuoid +evankelisten evankelis +everstit everst +evännyt evanny +eximia exim +fabienne fabien +faijan fai +fallesmannin fallesmann +faneille fan +fantasian fantas +farmarihousut farmarihous +farossa faro +fason fas +faxilla fax +feldman feldm +feministeistä feminist +feresit feres +festivaaleilla festivaal +fetajuusto fetajuust +fiej fie +fiilistä fiil +fileoi fileo +filisteri filister +filmijuhlien filmijuhl +filmnet filmne +filosofit filosof +finaalisarjassa finaalisarj +finanssipolitiikassa finanssipolitiik +finlaysonille finlayson +finnjetin finnje +finski finsk +firmat firm +flaamilainen flaamil +flegmaattinen flegmaat +floresin flore +flute flut +folkhälsan folkhal +forbes forbe +formulakausi formulakaus +forssalaisten forssalais +fosfaatteja fosfaat +fraasit fraas +franckin franck +frankille frank +fredi fred +frenckelliin frenckell +friikkejä friik +frölunda frolund +fundamentalismia fundamentalism +futari futar +fuusioita fuusio +fyhrqvist fyhrqvis +fyysinen fyy +föglö foglo +gabrielle gabr +galette galet +gallupeissa gallup +gangsteri gangster +garmischin garmisc +gaudeamus gaudeamu +gdanskissa gdansk +geenit geen +gena gen +genova genov +georgea georg +germaanien germaan +ghanalaisen ghanala +gigi gig +gingchin gingc +give giv +globaalista globaal +godfreyn godfr +goldbergeriä goldberger +golgatan golg +goranin goran +gortshakova gortshakov +graafikoiden graafiko +graeme graem +grammin gramm +granqvistin granqvis +greenpeacea greenpeac +griegin grieg +gripenin gripen +grozni groz +gröna gron +grünewaldin grünewald +guerre guerr +gumpia gump +gustafsson gustafs +gynt gyn +götschl gotschl +haaleaksi haale +haamut haamu +haapaniemeä haapaniem +haarapääsky haarapaasky +haaskalla haask +haastatelluista haastatell +haastatteli haastatel +haastattelupyyntöjä haastatelupyynt +haasteellinen haasteell +haastemies haastem +haaveet haavee +haaveista haav +haavistolla haavisto +haavoittuneita haavoitun +hacklin hackl +haetut haetu +hahmolle hahmo +hahmottelevat hahmotelev +haihtunut haihtunu +haikeat haike +haiseva haisev +haistoi haisto +haitata hait +haittapuolista haitapuol +hajaantuu hajaantu +hajauttaa hajau +hajoittaa hajo +hajottanut hajotan +hajuton haju +hakametsän hakamet +hake hak +hakemuksensa hakemuksen +hakeuduta hakeudu +hakevista hakev +hakijoitten hakijo +hakkeen hakk +hakkuukoneita hakuukon +hakulaitteen hakula +halaistua halaistu +halkaisee halkaise +halkomaan halkom +hallihankkeen hallihank +hallimestaruuskilpailut hallimestaruuskilpail +hallinnollisesta hallinnollis +hallintaa hallin +hallintokin hallinto +hallintoneuvostoihin hallintoneuvost +hallintovaliokunta hallintovaliokun +hallitsemalta hallitsem +hallitsevaa hallitsev +hallittiin hallit +hallituksilla hallitu +hallituskoalitionsa hallituskoalition +hallitusmuotoon hallitusmuot +hallituspohja hallituspoh +hallitusrintamalla hallitusrintam +hallitustunnustelijan hallitustunnustel +halloween hallow +haloota haloo +halpoihin halpo +haltioituneesti haltioitun +haluaisitte haluaisit +haluavalle haluav +halukkaiden haluka +halusinkin halu +haluttomuudesta halutomuud +halvaria halvar +halvemmasta halvemm +halvimmassa halvimm +hameisiin hameis +hammaskiveä hammaskiv +hampaankolossa hampaankol +hampuriin hampur +hamuavan hamuav +hangaslahden hangaslah +hanhisuolle hanhisuo +hankalinta hankalin +hankausta hankau +hankintakilpailu hankintakilpail +hankittua hankitu +hankkeilla hank +hankkimassa hankim +hankkiutumaan hankiutum +hannikaisen hannika +hanoverin hanover +hantta han +hapenkulutusta hapenkulut +happea happ +harada harad +harbin harb +harhanäyt harhanay +harjaan harj +harjavaltaan harjavalt +harjoitettu harjoitet +harjoittavat harjoitav +harjoittelijanvaihto harjoitelijanvaiht +harjoittelupaikkoja harjoitelupaik +harjoitusajalla harjoitus +harjoitusleirillä harjoitusleir +harjoitusottelun harjoitusotel +harjoitusvuoro harjoitusvuor +harjussa harju +harkita hark +harkitsisivat harkitsisiv +harlin harl +harmaapartainen harmaapart +harmiksi harm +harmittavaa harmitav +harmonikan harmonik +harppasi harpas +harrastajanäyttelijöiden harrastajanaytelijo +harrastanut harrastan +harrastuksekseen harrastuksek +harrastuspaikat harrastuspaik +harrista harr +hartfordissa hartford +hartson hart +harvemmalla harvemm +harvialassa harvial +harvinaistunut harvinaistun +hashista hash +hassummin hassumm +hatchissa hatch +hatun hat +haudattujen haudatu +hauikset hauikse +haukiviinaa haukiv +haukkuu haukuu +haumeen haum +hauskanpito hauskanpit +hauskuutti hauskuut +hautakiviä hautakiv +hautapaikkaa hautapaik +hautautumassa hautautum +havahtuivat havahtuiv +havainnon havainn +havaitseminen havaitsem +havanka havank +haviteltiin havitelt +havun hav +heaneyn hean +hedelmällisen hedelmall +heeivät heeiv +hehkutti hehkut +heideggerin heidegger +heijasteli heijastel +heike heik +heikentäisi heikentais +heikit heik +heikkisen heik +heikkotuottoisia heikotuotois +heikoimpien heikoimp +heikossa heiko +heilauttaa heilau +heiluttaa heilu +heimoon heimo +heinimaan heinim +heinrichsin heinrich +heinäsirkat heinasirk +heitelleitä heitell +heitteillejättöä heiteillejat +heittoon heito +heittäneen heit +heiveröisenä heiverois +helcomin helcom +heliborin helibor +heliniä helin +helkkarinmoinen helkarinm +hellerin heller +hellittävän hellitav +hellyttävät hellytav +helmeilee helmeile +helmillä helm +helpointa helpoin +helpottaakseen helpotaak +helpottuneena helpotun +helppona helpo +helsinkikeskeinen helsinkikesk +helteen hel +helvetissä helvet +hemmotteli hemmotel +hengellisyys hengellisyy +hengenvaarallisesti hengenvaarallis +hengittämään hengitam +hengitystään hengityst +henkeväksi henkev +henkilöautolle henkiloaut +henkilöitymä henkiloitym +henkilökohtaisista henkilokohtais +henkilökuvaa henkilokuv +henkilön henkil +henkilöstölehdessä henkilostoleks +henkilöstöryhmiä henkilostoryhm +henkilötyövuoden henkilotyovu +henkireikänä henkireik +henkisyyden henkisyy +henkiyhtiön henkiyht +henrikki henrik +heppoiseksi hepois +hereille her +herkimmin herkimm +herkkujen herku +herkkää herk +herkuttelevat herkutelev +hermlin herml +hermostoa hermosto +hermostuttavan hermostutav +heroiini hero +herrana herr +herroilta herro +herttaista herta +hervantaan hervant +heräilee heraile +herättelyä herately +herättänee heratan +herätysliikkeisiin heratysliikeis +heseltine heselt +hetkeksikin hetk +hetkillään hetkill +hevoselta hevos +hevoskyydillä hevoskyyd +hexi hex +hidasteli hidastel +hiekalle hiek +hiekkasäkein hiekasak +hienoisesta hienois +hienonnettuna hienonnet +hienostuneesta hienostun +hienovaraisia hienovarais +hieronnasta hieronn +hietalan hietal +hihaspesialisti hihaspesial +hiihdettiin hiihdet +hiihtoja hiihto +hiihtokisoissa hiihtokis +hiihtomajalta hiihtomaj +hiihtotyyli hiihtotyyl +hiihtämistä hiihtam +hiilihydraatit hiilihydraat +hiiltä hiil +hiipuneen hiipu +hiitolassa hiitol +hikoilevat hikoilev +hiljaiselo hiljaisel +hiljaisten hiljais +hiljentymällä hiljentym +hillinneet hillinne +hillitysti hillity +hilpeämpi hilpeamp +himmetä himm +himosvuori himosvuor +hindemithin hindem +hinnankorotukset hinnankorotuks +hinnateivät hinnateiv +hinnoitteluun hinnoitel +hintakehityksessä hintakehityks +hintaneuvottelujen hintaneuvotel +hintatasoltaan hintatasolt +hintayhteistyöstä hintayhteisty +hiomisessa hiomis +hipit hipi +hira hir +hiroshima hiroshim +hirsirakentamisen hirsirakentam +hirttäytyneenä hirtaytyn +hirveyden hirvey +hirviniemi hirviniem +hirvosen hirvo +historiaksi histor +historiankirjoihin historiankirj +historiikkeihin historiik +hitaan hit +hitchin hitc +hitsautua hitsautu +hiukkaskiihdyttimen hiukaskiihdytim +hiusten hius +hjallis hjall +hodgsonin hodgson +hohtonsa hohton +hoidettiin hoidet +hoidot hoido +hoitajalakkoon hoitajalak +hoitamattomien hoitamatom +hoitavia hoitav +hoitoja hoito +hoitokustannuksia hoitokustannuks +hoitona hoito +hoitotieteen hoitot +hoituvan hoituv +hokkaidon hokaid +hole hol +hollannin hollann +hollolaan hollol +holmes holme +holtittoman holtitom +homeongelman homeongelm +hommansa homman +homoseksuaalisuutta homoseksuaalisu +hongkongista hongkong +honkilahti honkilaht +hopealle hope +hopeisesta hopeis +horisontaalisesti horisontaalis +horjuttivat horjutiv +hormonit hormon +horppu horpu +hossi hoss +hotellihuoneiden hotellihuon +hotellivieraita hotelliviera +houkuteltua houkutelt +houkuttelevuutta houkutelevu +housuissaan housuiss +hovinen hov +hubertus hubertu +huhtamäki huhtamak +huhuilta huhu +huijari huijar +huikaisevan huikaisev +huilaamaan huilaam +huimalta huim +huipensi huipens +huippuhetkistä huipuhetk +huippukausi huipukaus +huippukunto huipukunt +huippumuoti huipumuot +huippupoliitikkojen huipupoliitik +huipputekijät huiputekij +huippuvirkamiesten huipuvirkamies +huipussaan huipuss +huittislaista huitisla +hukattuaan hukatu +hukkumisen hukum +huldan huld +hullujen hullu +hulluudesta hulluud +humalahakuisuus humalahakuisu +humanistisia humanistis +humisevat humisev +humpuukiksi humpuuk +huohotti huohot +huokaista huoka +huolehtii huoleht +huolellisen huolell +huolestumaan huolestum +huolestuttavia huolestutav +huolii huol +huoliteltua huolitelt +huoltajista huoltaj +huoltoasemalla huoltoasem +huoltomies huoltom +huoltoyhtiölle huoltoyht +huomasin huoma +huomattavimpia huomatavimp +huomautuksen huomautu +huomioitava huomioitav +huomisaamuna huomisaam +huoneestaan huoneest +huoneistopalon huoneistopal +huonetilaan huonetil +huonoiten huono +huonolle huono +huononemisesta huononemis +huonossa huono +huostaan huost +hupaisalta hupais +hurahtaneet hurahtane +hurjastelijoita hurjastelij +hurleyn hurl +hurmos hurmo +hurskainen hursk +husseinin hussein +hutupakolaiset hutupakolais +huuhdella huuks +huuliaan huul +huumausaineen huumausa +huumeitten huum +huumelasti huumel +huumerikosta huumerik +huumorintajuinen huumorintaj +huusi huus +huutijärven huutijarv +huutokauppakoron huutokaupakor +huvilalleen huvilall +huvitilaisuus huvitilaisu +hyasintin hyasin +hyhkyyn hyhky +hylkeistä hylk +hylkäämisen hylkaam +hyllyltä hylly +hylättyjen hylaty +hymyilemättä hymyilem +hymyssäsuin hymyssas +hypermedia hypermed +hyppyihin hypy +hyppyyni hypyy +hyppäämme hypaamm +hypänneen hypan +hyräilee hyraile +hyttiselle hytis +hyvilläni hyv +hyvinvointijärjestelmän hyvinvointijarjestelm +hyvitetään hyvitet +hyväkin hyvak +hyväksymiselle hyvaksymis +hyväksyntä hyvaksyn +hyväksyttävästi hyvaksytav +hyväkuntoinen hyvakunt +hyvännäköistä hyvannak +hyväntuulinen hyvantuul +hyvästijättö hyvastijat +hyvönen hyvon +hyytynyt hyytyny +hyödyllisiä hyodyllis +hyödyntämiselle hyodyntamis +hyödyttääkseen hyodytaak +hyökkäyksillään hyokayksill +hyökkäysvalmisteluista hyokaysvalmistel +hyökkääviä hyokaav +hyönteiset hyonteis +hyötykäyttöön hyotykayt +hÄmeen hÄm +häijysti haijy +häilyvän hailyv +häiriköimään hairikoim +häiritsevästä hairitsev +häiriötilanteessa hairiotilant +häkellyttäviä hakellytav +häkkisestä hakis +hälveni halv +hälyttäviä halytav +hälytyslaitteet halytyslaite +hämeenkadulla hameenkad +hämeenlinnaan hameenlinn +hämeentie hameent +hämmentävät hammentav +hämmästyneen hammasty +hämr hamr +hämäläisiä hamalais +hämäräperäiset hamaraperais +hänelläkään hanellak +hänkään hank +hänschin hansc +häpeä hap +härkki hark +härnäämään harnaam +hätiköityä hatikoity +hätä hat +hätäkokouksia hatakokouks +hätätilanteissa hatatilant +hävi hav +hävittiin havit +hävittämässä havitam +häviämiseen haviam +häväisty havaisty +häämöttäessä haamota +hääräävät haaraav +högner hogner +hölmönä holmo +höpötys hopoty +höylätä hoyl +höyryveturit hoyryvetur +ibert iber +idealistisen idealist +identiteettiongelmia identiteetiongelm +ideointia ideoint +ideologista ideolog +idylliä idyll +igorin igor +ihailijoista ihailijo +ihalaiselle ihalais +ihannetilanteessa ihannetilant +ihanteena ihante +ihastelun ihastel +ihka ihk +ihmeenä ihme +ihmetelleet ihmetelle +ihmettelimme ihmetelimm +ihmisaivojen ihmisaiv +ihmishahmot ihmishahm +ihmiskasvot ihmiskasv +ihmislajin ihmisla +ihmisoikeusaktivistien ihmisoikeusaktivist +ihmisoikeusrikkomuksiin ihmisoikeusrikomuks +ihmisrodun ihmisrod +ihmisten ihmis +ihonsa ihon +iijoki iijok +iistä iis +ikaalislaisen ikaalisla +ikimuistettava ikimuistetav +ikivanhan ikivan +ikkunapuitteiden ikunapuit +ikosen iko +ikuisuus ikuisuu +ikäisen ikai +ikälisän ikal +ikämiehen ikam +ikärakenteen ikaraken +ikäviltä ikav +ikävästi ikav +ikääntyviin ikaantyv +ilahtunut ilahtunu +ilkeys ilkey +ilkon ilk +illassaan illass +ilmaantuessa ilmaantu +ilmailuliitto ilmailuliit +ilmaisevat ilmaisev +ilmaiskusta ilmaisku +ilmaisumuoto ilmaisumuot +ilmakehässä ilmakeh +ilmanlaatu ilmanlaat +ilmanvaihtojärjestelmän ilmanvaihtojarjestelm +ilmari ilmar +ilmastokokouksen ilmastokoko +ilmatilaa ilmatil +ilmavassa ilmav +ilmeenkään ilmeenk +ilmeisiin ilmeis +ilmentymään ilmentym +ilmestyneet ilmestyne +ilmiannosta ilmianno +ilmiöillä ilmio +ilmoitettaisiin ilmoitetais +ilmoittamalla ilmoitam +ilmoittautuminen ilmoitautum +ilmoittelusta ilmoitel +ilmoitustauluilla ilmoitustaul +iloiselle ilois +iloitse ilo +ilomantsissa ilomants +ilosta ilo +ilotyttöä ilotyto +iltakahdeksaan iltakahdeks +iltalenkillä iltalenk +iltapuvun iltapuv +iltaseitsemältä iltaseitsem +iltayleisön iltayle +ilvestä ilv +imajevin imajev +imettämään imetam +immoselle immos +impressionismia impressionism +imurin imur +indeksien indeks +indianapolis indianapol +industriesin industr +inflaatiolla inflaat +influenssa influen +informaatioyhteiskunnassa informaatioyhteiskunn +ingen ing +inhimillisiä inhimillis +inkala inkal +inkeroisten inkerois +innoittamina innoitam +innokkaimmin innokaimm +innostavin innostav +innostuneiden innostun +innovatiivisia innovatiivis +insinöörikoulutuksen insinoorikoulut +installaatio installaat +instituutioille instituut +instrumenttien instrument +intendentille intendent +interbankilla interbank +internoituja internoit +intialaisessa intialais +intimiteettisuoja intimiteetisu +intoleranssia intoleranss +inttiä intt +inventoinnissa inventoinn +investoinneissa investoinn +investointimahdollisuuksia investointimahdollisuuks +investointitulojen investointitul +aa aa +aalto aalto +aario aario +aav aav +abdellah abdellah +abel abel +abo abo +abu abu +ach ach +adac adac +adlercreutz adlercreutz +adventuresof adventuresof +aerosmith aerosmith +aga aga +agopov agopov +ahdinko ahdinko +ahlberg ahlberg +ahmed ahmed +ai ai +aihekuv aihekuv +aikoo aikoo +aino aino +airisto airisto +aja aja +ajasto ajasto +ajoiko ajoiko +akan akan +akp akp +aku aku +alan alan +alastair alastair +alber alber +ale ale +alen alen +alfredo alfredo +alikulku alikulku +alkaako alkaako +allah allah +almodovar almodovar +alphandery alphandery +altistuu altistuu +alvarez alvarez +amazing amazing +amiel amiel +ammuu ammuu +ampu ampu +ana ana +andlig andlig +andy andy +angkor angkor +ankelo ankelo +anon anon +antaako antaako +antidoping antidoping +anun anun +ape ape +aps aps +aquamaster aquamaster +arash arash +arelmek arelmek +arioso arioso +arkisto arkisto +armistead armistead +arnhem arnhem +arrau arrau +arthur arthur +arvio arvio +ase ase +ashbrook ashbrook +ask ask +ass ass +astor astor +asunto asunto +aten aten +atol atol +atv atv +auger auger +aulanko aulanko +aus aus +auto auto +aux aux +avek avek +avo avo +away away +ayo ayo +babbel babbel +bachelor bachelor +baek baek +bailey bailey +bako bako +balladur balladur +bambu bambu +bangkok bangkok +barbifer barbifer +barkley barkley +barnfamiljer barnfamiljer +bartunov bartunov +bashir bashir +basler basler +baum baum +baywatch baywatch +beard beard +bebeto bebeto +bedro bedro +behind behind +belfield belfield +ben ben +benno benno +bergbom bergbom +bergisel bergisel +bernabeu bernabeu +bertram bertram +beuc beuc +bi bi +bihac bihac +billy billy +bird bird +bissau bissau +bjun bjun +blair blair +bley bley +blok blok +bloom bloom +bnp bnp +bochum bochum +bogdanovich bogdanovich +bolger bolger +bonito bonito +booker booker +borg borg +botero botero +bournemouth bournemouth +boxing boxing +bps bps +brahim brahim +brando brando +brax brax +bremer bremer +bri bri +bro bro +bromwich bromwich +bruch bruch +bruny bruny +bubby bubby +budweiser budweiser +bukovec bukovec +bundesbank bundesbank +burkhard burkhard +bury bury +bwt bwt +bär bär +cadillac cadillac +cal cal +camp camp +candy candy +capital capital +carey carey +carnival carnival +carter carter +casino casino +catch catch +cbs cbs +ce ce +cembalo cembalo +cesium cesium +chailly chailly +chang chang +charter charter +chen chen +chesterfield chesterfield +chic chic +ching ching +choro choro +christopher christopher +chungking chungking +ciel ciel +cism cism +clan clan +clasu clasu +cleobury cleobury +clooney clooney +cnn cnn +cocktail cocktail +col col +colombo colombo +comery comery +compu compu +connery connery +continental continental +cooper cooper +corn corn +cosby cosby +counter counter +cousteau cousteau +cps cps +crawford crawford +crespo crespo +cronvall cronvall +crumb crumb +crystalp crystalp +cultural cultural +curtiz curtiz +césar césar +daddy daddy +dahllund dahllund +daley daley +damer damer +danilovic danilovic +darcy darcy +darryl darryl +davey davey +db db +deadly deadly +debussy debussy +defibrator defibrator +delar delar +delpy delpy +deng deng +depold depold +derrick derrick +det det +deutschland deutschland +dia dia +dich dich +dieskau dieskau +dilbèr dilbèr +dinosaur dinosaur +dirk dirk +disneyworld disneyworld +dj dj +dna dna +doe doe +dohyvac dohyvac +dolly dolly +donath donath +doom doom +dortmund dortmund +dowland dowland +dramatic dramatic +dresdner dresdner +dry dry +duck duck +duisburg duisburg +dunhill dunhill +durch durch +dx dx +dynasty dynasty +düsseldorf düsseldorf +eastwood eastwood +eblul eblul +econ econ +ed ed +eden eden +edinburg edinburg +edo edo +edvard edvard +een een +eg eg +ehrnrooth ehrnrooth +eiko eiko +eipysty eipysty +eisynny eisynny +ekan ekan +eklund eklund +eksy eksy +eleanor eleanor +elgar elgar +eliud eliud +ellu ellu +elokuu elokuu +elu elu +emerald emerald +emin emin +emokarhu emokarhu +ena ena +energy energy +enger enger +enin enin +eno eno +ensiaskel ensiaskel +enver enver +epa epa +epun epun +erehdy erehdy +erich erich +erland erland +ero ero +ersp ersp +esbo esbo +esikoislevy esikoislevy +espm espm +essu essu +estoril estoril +etelÄ etelÄ +ettÄ ettÄ +etyk etyk +euratom euratom +europol europol +eva eva +evi evi +evu evu +exel exel +ey ey +fabio fabio +fagerlund fagerlund +faithfull faithfull +family family +faremo faremo +farrow farrow +father father +fazer fazer +fed fed +feel feel +felix felix +feodoroff feodoroff +ferrier ferrier +fi fi +field field +fil fil +fim fim +finn finn +finnmaster finnmaster +fischler fischler +fiz fiz +flamenco flamenco +flemming flemming +floor floor +flying flying +fokopo fokopo +football football +fork fork +fortier fortier +fr fr +franjo franjo +frazier frazier +freelancer freelancer +freud freud +fridolf fridolf +frionor frionor +frontal frontal +fst fst +full full +funktio funktio +furuseth furuseth +får får +gabor gabor +gainey gainey +gallery gallery +gandler gandler +garabik garabik +garfield garfield +gary gary +gaylord gaylord +gea gea +geln geln +geoffrey geoffrey +gerd gerd +ges ges +gi gi +gigolo gigolo +gingrich gingrich +girard girard +gks gks +glendening glendening +gloucester gloucester +go go +gogh gogh +golf golf +good good +gould gould +gradu gradu +grammy grammy +granholm granholm +gratshov gratshov +greenock greenock +gremio gremio +grimsby grimsby +gritshuk gritshuk +grosser grosser +gruber gruber +gti gti +guitar guitar +gunnell gunnell +gustav gustav +gws gws +günter günter +haapavu haapavu +habib habib +hae hae +hagsberg hagsberg +haider haider +hairspray hairspray +hakeem hakeem +half half +hallberg hallberg +halo halo +halv halv +hamed hamed +hammo hammo +hanevold hanevold +hanish hanish +haq haq +hardwick hardwick +harkimo harkimo +haroo haroo +hartenberger hartenberger +harvey harvey +hassu hassu +haug haug +hautuu hautuu +hawking hawking +hbc hbc +hdz hdz +heard heard +hector hector +hefner hefner +heijastu heijastu +heilu heilu +heinz heinz +helander helander +helibor helibor +hellov hellov +helsing helsing +helveg helveg +hen hen +henkel henkel +henriktuff henriktuff +hereford hereford +hero hero +hervé hervé +heuru heuru +hhh hhh +hidastuu hidastuu +hifk hifk +hiih hiih +hikoilu hikoilu +hillary hillary +him him +hinkuu hinkuu +hip hip +hirsch hirsch +hitec hitec +hjálmar hjálmar +hlegg hlegg +hml hml +hodler hodler +hohn hohn +hoitsu hoitsu +holiday holiday +hollu hollu +holthoer holthoer +homer homer +hongisto hongisto +hood hood +horacio horacio +horowitz horowitz +hough hough +hpk hpk +hrer hrer +hsk hsk +hts hts +hubbard hubbard +hugh hugh +huhumylly huhumylly +huk huk +humphrey humphrey +hunyady hunyady +huomannu huomannu +hurjaruuth hurjaruuth +hut hut +huxley huxley +hy hy +hyper hyper +hyvÄ hyvÄ +hää hää +ibf ibf +icl icl +iden iden +ien ien +igc igc +ihanko ihanko +ihon ihon +iiro iiro +ike ike +ilin ilin +ilmar ilmar +ilmiasu ilmiasu +iltalypsy iltalypsy +imberg imberg +immo immo +imsu imsu +indigo indigo +inez inez +ingegerd ingegerd +ingvar ingvar +innsbruck innsbruck +intercity intercity +into into +inä inä +ipi ipi diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/fr-light.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/fr-light.tsv new file mode 100644 index 0000000000..b8295ed9d6 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/fr-light.tsv @@ -0,0 +1,2000 @@ +abaissait abaisait +abandonnant abandonant +abattement abat +ablutions ablution +abonde abond +abritât abritat +abrégeaient abregeaient +absente absent +absurdes absurd +abîmée abim +accablante acablant +accents acent +accepterai acepterai +accidents acident +accompagner acompagn +accomplis acompli +accordait acordait +accordée acord +accourez acourez +accoutumât acoutumat +accroissait acroisait +accueilli acueili +accumulés acumul +accusez acusez +acheminé achemin +achèterons acheteron +acquise acquis +acquittés acquit +actives activ +adeline adelin +administrateur administr +admirais admirai +admise admis +adopté adopt +adorer ador +adressent adresent +adressés adres +adversité adversit +affairé afair +affectations afect +affectées afect +affiché afich +affirme afirm +affligé aflig +affranchi afranchi +agencées agenc +agis agi +agite agit +agriculteur agricult +agrémentée agrement +aies aie +aiguillon aiguilon +aimerais aimerai +aisément aisement +ajuster ajust +albâtre albatr +alinéa alinea +allemande alemand +alliés alie +allumé alum +allègre alegr +alors alor +altier alti +amadouer amadou +amassée amas +ambulants ambulant +amicalement amical +amourachée amourach +amputés amput +amènerai amenerai +anachorète anachoret +ancrés ancr +anglaises anglais +anime anim +annexait anexait +annoncée anonc +annuleront anuleront +anonymes anonym +antipathie antipath +antoine antoin +apaiser apais +aperçoive apercoif +apoplectique apoplect +apparat aparat +apparences aparenc +appartenir aparteni +appela apela +appellerez apelerez +appesantie apesant +application aplic +apporta aporta +apporté aport +apprend aprend +apprennes apren +approchant aprochant +approprié aprop +appréhension aprehension +appuyer apuy +aquarelle aquarel +arborer arbor +archevêques archevequ +ardentes ardent +aristocratie aristocrat +armoire armoir +arquées arqu +arrachée arach +arrangera arangera +arriva ariva +arriveraient ariveraient +arrivât arivat +arrondissait arondisait +arrête aret +arrêtons areton +articles articl +artère arter +aspirations aspi +assassin asasin +assembler asembl +assiduité asiduit +assis assi +assister asist +associe asoc +assoupie asoup +assurances asuranc +assurément asurement +astronomie astronom +atouts atout +attachement atach +attaqua ataqua +atteignaient ateignaient +attelages atelag +attendaient atendaient +attendrait atendrait +attends atend +attentive atentif +attire atir +attrait atrait +attribué atribu +auberge auberg +audiences audienc +augurer augur +aurions aurion +automate automat +autour autou +auxquelles auxquel +avancé avanc +avançaient avancaient +aventures aventur +avertissant averti +avidité avidit +aviserons aviseron +avouerons avoueron +aïeux aïeu +bague bagu +baissa baisa +baladins baladin +balivernes balivern +balustrade balustrad +bandoulière bandouli +banquier banqui +barbier barbi +barons baron +barrière barier +bassesse bases +batailles batail +battante batant +battrais batrai +bavardage bavardag +beauharnais beauharnai +beefsteacks befsteack +bergère berger +bettina betina +biblique bibliqu +bigarrée bigar +biscaïens biscaïen +bière bier +blanès blan +blessures blesur +blonde blond +blâmables blamabl +boire boir +bombe bomb +bonheur bonheu +bons bon +bordé bord +bossi bosi +bouches bouch +bouffonnerie boufon +bouillante bouilant +bouleversé boulevers +bourbons bourbon +bourguignons bourguignon +bousculés bouscul +bouts bout +branlante branlant +braverais braverai +bride brid +brillaient brilaient +brillé bril +brisées bris +brodé brod +brouillard brouilard +brouillé brouil +brusquement brusqu +bruyantes bruyant +brûlante brulant +brûlées brul +bulletins buletin +bustos busto +bâiller bail +bâtissant bati +béhar beha +bénéfice benefic +bêché bech +cabine cabin +cachette cachet +cadavre cadavr +cages cage +calais calai +calendrier calendri +calomnier calomni +camarilla camarila +canaille canail +canne cane +cantilène cantilen +capitale capital +capuchons capuchon +carburé carbur +caresseraient careseraient +carrière carier +cartes cart +casimir casimi +casseroles caserol +castres castr +caudataire caudatair +cauteleuse cauteleu +cella cela +centaine centain +centuplais centuplai +certitude certitud +cesse cese +cette cete +chalands chaland +chambrette chambret +chandelle chandel +changée chang +chants chant +chapitre chapitr +charges charg +charles charl +charmée charm +chartreux chartreu +chasseur chaseu +chaude chaud +chauffez chaufez +chaussure chausur +chaînons chainon +chercher cherch +chevalier chevali +chiffonnait chifonait +chinois chinoi +choisies chois +choqué choqu +chronique chron +chutes chut +châtain chatain +chèrement cher +chétifs chetif +cigare cigar +cinquième cinqu +circulation circul +citer cit +civilisés civilis +clairvoyants clairvoyant +clercs clerc +clochettes clochet +cloître cloitr +cochère cocher +coiffa coifa +colis coli +colliers coli +colombes colomb +colorié colo +combattaient combataient +combler combl +commandaient comandaient +commandé comand +commencez comencez +commenter coment +commerciale comercial +commis comi +commuera comuera +communie comun +communément comunement +comparer compar +compensation compens +complets complet +complique compl +compléter complet +composée compos +compromets compromet +compromises compromis +comptât comptat +comtoise comtois +concerné concern +concluantes concluant +condamnation condamn +conditionnée condition +confesserai confeserai +confidente confident +confié conf +confortablement confortabl +conférait conferait +congé cong +conjugale conjugal +connaissent conaisent +connu conu +consacrer consacr +conseiller conseil +consente consent +conservé conserv +considération consid +consister consist +consommer consom +conspiré conspir +constitue constitu +consulaires consulair +conséquences consequenc +contenir conteni +contiennent contienent +continuité continuit +contractée contract +contrarié contra +contrebandiers contrebandi +contresigner contresign +contrôles control +convenance convenanc +convertie convert +convocation convoc +conçue concu +copiée cop +coquins coquin +cornelii corneli +correctif corectif +corridors corido +corrège coreg +coteries cot +couché couch +couleur couleu +couper coup +coupées coup +courber courb +couronnaient couronaient +courrier couri +courtiers courti +coussin cousin +couvertures couvertur +coûter cout +craignons craignon +craquement craqu +crevé crev +crinière crinier +crièrent crierent +croissait croisait +crotte crot +croyons croyon +crues crue +créole creol +cuisine cuisin +cuivre cuivr +cures cure +cymbales cymbal +céderons cederon +célébré celebr +côtés côté +dalmate dalmat +dangereusement dangereus +dante dant +dedans dedan +demander demand +demeurer demeur +dents dent +desaix desai +descoulis descouli +dessein desein +dessinaient desinaient +desséché desech +destitué destitu +devenir deveni +deviné devin +diable diabl +dicté dict +difficultés dificult +différents diferent +diligence diligenc +diplomates diplomat +directeur direct +dirigées dirig +discrète discret +disgracié disgrac +dispendieuses dispendieu +disposée dispos +dissertation disert +dissimulons disimulon +dissolution disolution +distinguer distingu +distribue distribu +diverses divers +divisée divis +doctrine doctrin +doléances doleanc +domination domin +donnaient donaient +donnerais donerai +donnons donon +dormît dormit +douaire douair +doublé doubl +douloureuse douloureu +doutée dout +dramatiques dramat +dressé dres +dromes drom +duellistes duelist +durer dur +débarquant debarquant +débat debat +débitaient debitaient +débouchaient debouchaient +débuter debut +décampé decamp +décharge decharg +déchirait dechirait +déchu dechu +déciderez deciderez +décisive decisif +déclarez declarez +déconcerta deconcerta +décoration deco +décourager decourag +découvrir decouvri +décrivant decrivant +dédommageait dedomageait +défaisait defaisait +défend defend +défends defend +défiant defiant +définitivement definitif +dégagée degag +déguenillée deguenil +dégât degat +déjouer dejou +délayé delay +délicieuse delicieu +délivrer delivr +démenaient demenaient +démolissent demolisent +déménager demenag +dénonciation denonci +dénuées denu +dépassé depas +dépendre dependr +dépister depist +déplaire deplair +déplorable deplorabl +déplut deplut +dépositions depos +dépouillé depouil +dépêche depech +déraisonnable deraisonabl +dérobaient derobaient +désagréable desagreabl +désarmé desarm +déserte desert +désespérant desesperant +déshonorant deshonorant +désigner design +désira desira +désirée desir +désolation desol +détacha detacha +détail detail +détective detectif +déterminait determinait +détestaient detestaient +détourna detourna +détruisaient detruisaient +déverse devers +dévorer devor +dévotes devot +dînant dinant +eccellenza ecelenza +effacées efac +effectives efectif +effraie efra +effrayée efray +effréné efren +eléphanta elephanta +embarqués embarqu +embaumée embaum +embranchements embranch +embrassé embras +embûche embuch +emmènes emen +empestée empest +emplissent emplisent +employés employ +empoisonner empoison +emporter emport +empressée empres +empêcha empecha +empêcheront empecheront +encadrées encadr +enchantés enchant +encombrante encombrant +encouragés encourag +endors endo +enfantines enfantin +enferrer enfer +enfonce enfonc +enfuis enfui +engendre engendr +enjambée enjamb +enlèvement enlev +ennuie enu +ennuyais enuyai +ennuyés enuy +enregistrer enregistr +enseignements enseign +entamée entam +entendît entendit +entiers enti +entour entou +entraîne entrain +entrefaites entrefait +entreprise entrepris +entrevues entrevu +envahir envahi +envergure envergur +environnaient environaient +envisager envisag +envoyâtes envoyat +errante erant +escapade escapad +escortée escort +esparres espar +espèces espec +espérons esperon +essaierait esaierait +essayées esay +essuyer esuy +estimer estim +euphorbes euphorb +exacte exact +exagération exag +exalté exalt +exaspérait exasperait +excepté except +excitées excit +excès excè +exercer exerc +exige exig +existe exist +explicable explicabl +expose expos +expression expresion +expédier expedi +extorqué extorqu +extrême extrem +exécration exec +exécuteur execut +fabrice fabric +faciliter facilit +faiblesses faibl +faisceaux faisceau +fallut falut +fanatique fanat +fantasque fantasqu +farouches farouch +fatalité fatalit +fausse faus +faveurs faveu +façon facon +femmelette femelet +ferions ferion +fermiers fermi +ferrures ferur +feuillage feuilag +ficelé ficel +figure figur +filigrane filigran +finds find +finissent finisent +fixés fixé +flambé flamb +flatteurs flat +fleuves fleuv +flottants flotant +flûtes flut +folles fou +fonder fond +fontaines fontain +formaliste formalist +formidables formidabl +formés form +fortifiées fortif +forçait forcait +fouettait fouetait +fouilles fouil +fourmilière fourmili +fournissant fourni +fourré four +franche franch +francis franci +frappante frapant +frappés frap +freins frein +fripons fripon +froids froid +frontins frontin +frotté frot +frénétique frenet +fréquentées frequent +fumer fum +furibonde furibond +fusiller fusil +futures futur +fâcheux facheu +féconde fecond +féodal feodal +gagneras gagnera +gaillard gailard +galeuse galeu +galériens galerien +garanties garant +gardée gard +gascons gascon +gazouillements gazouil +genoux genou +genève genev +giberne gibern +girofliers girofli +glapissante glapisant +glissons glison +golfe golf +gouailler gouail +gouvernements gouvern +goûterait gouterait +graduellement graduel +grandie grand +gratius gratiu +gravissaient gravisaient +grenadier grenadi +grillo grilo +gris gri +grondé grond +grossier grosi +grouillait grouilait +grêles grel +guettent guetent +guillotinaient guilotinaient +gustave gustav +guérite guerit +gâter gat +génies gen +généreusement genereus +gênait genait +habileté habilet +habitants habitant +habituelles habituel +haies haie +haltes halt +harassés haras +harpe harp +haussement haus +haïssaient haïsaient +herbe herb +heureuses heureu +hissées hise +hoche hoch +homélie homel +honorables honorabl +honur honu +horriblement horibl +hottentots hotentot +huitième huit +humbles humbl +humiliations humili +hurrahs hurah +hypocrisies hypocris +hâtèrent haterent +hérauts heraut +hérodiades herodiad +hérésie heres +hésitiez hesitiez +identique ident +ignoble ignobl +illimité ilimit +illusion ilusion +imaginais imaginai +imiter imit +imminence iminenc +immortalisé imortalis +imparfaite imparfait +impayable impayabl +impitoyable impitoyabl +importe import +impossibilité imposibilit +impression impresion +imprimées imprim +improvisée improvis +imprégnait impregnait +imputations imput +impérieusement imperieus +inaltérable inalterabl +inattaquables inataquabl +incendie incend +incidenter incident +incommensurable incomensurabl +inconnus inconu +inconvenante inconvenant +incrédulité incredulit +indienne indien +indigné indign +indirecte indirect +indisposition indispos +indulgence indulgenc +indécentes indecent +indépendant independant +inexorable inexorabl +infernale infernal +infliger inflig +informée inform +inférieures inferieur +ingénieux ingenieu +iniques iniqu +injuste injust +innombrables inombrabl +inondée inond +inquisition inquis +inscriptions inscription +insensés insens +insister insist +insouciance insoucianc +inspirées inspir +instantané instantan +insuccès insuc +insupportables insuportabl +intelligent inteligent +intentionné intention +interjections interjection +interprètes interpret +interroge interog +interrompit interompit +intervalles interval +intolérables intolerabl +introduite introduit +intéressante interesant +intérieur interieu +inutilite inutilit +inventions invention +invitations invit +invraisemblance invraisemblanc +inévitablement inevitabl +irriguaient iriguaient +irrité irit +irréprochable ireprochabl +isolement isol +ivoire ivoir +jaggernaut jagernaut +jamais jamai +japonaises japonais +jaunets jaunet +jetterais jeterai +jeunes jeun +jolies jol +joueur joueu +jouisse jouis +journées journ +jugement juge +jurement jure +jusque jusqu +justifié justif +kallenger kaleng +laborieux laborieu +laine lain +laisserai laiserai +laissée lais +lames lame +lange lang +lança lanca +large larg +lataniers latani +lauriers lauri +lectrice lect +lesdits lesdit +leurs leur +liaisons liaison +librement libr +lieutenance lieutenanc +limpide limpid +lisière lisier +littéraire literair +livrée livr +locataire locatair +logions logion +lombardie lombard +longue longu +lorgnettes lorgnet +loueras louera +lourdeur lourdeu +lucrative lucratif +lumières lumier +luttes lute +lâcheté lachet +légation legation +légitimité legitimit +léotard leotard +machines machin +magique magiqu +maigrie maig +maistre maistr +majordomes majordom +maladroite maladroit +malgré malgr +malice malic +maltraité maltrait +mandé mand +maniable maniabl +mannequins manequin +manquerais manquerai +manufacture manufactur +marchande marchand +marcheur marcheu +mariage mariag +maritimes maritim +marquer marqu +marronniers maroni +marécageuse marecageu +masqué masqu +massillon masilon +matieres matier +matérielles materiel +maugirons maugiron +mayence mayenc +meeting meting +menaces menac +meneurs meneu +mentionner mention +mercadante mercadant +mesquine mesquin +mesures mesur +mette mete +mettras metra +meunier meuni +meus meu +mienne mien +militaires militair +minarets minaret +ministères minist +miroir miroi +misère miser +mobilité mobilit +modèle model +moeurs moeu +molle mou +monarchies monarch +monférine monferin +monsieur monsieu +montais montai +montres montr +monté mont +moqueurs moqueu +mordantes mordant +mortaretti mortareti +mortifié mortif +mouche mouch +mouillés mouil +mourrai mourai +mousseline mouselin +moyennes moyen +multiplications multiplic +murmures murmur +musset muset +mystique mystiqu +mâture matur +mécaniquement mecaniqu +mécontent mecontent +médiocre mediocr +méditée medit +mélange melang +ménage menag +mépris mepri +mépriserai mepriserai +méridionaux meridional +méritoire meritoir +méthodes method +météorologiste meteorologist +mûrement mûre +naples napl +nasillard nasilard +naturelles naturel +navigation navig +nefs nef +nettes nete +neuvième neuv +nierais nierai +noblesse nobles +noirs noir +nommer nom +normandie normand +notices notic +nourris nouri +nouvelle nouvel +noyée noye +nuisibles nuisibl +nègres negr +négatif negatif +négociants negociant +obligation oblig +obligé oblig +observateur observ +obstacle obstacl +obtiendrais obtiendrai +obéis obéi +occasionner ocasion +occupante ocupant +occupèrent ocuperent +océans ocean +offensa ofensa +offensé ofens +officielle oficiel +offrandes ofrand +offris ofri +ombre ombr +ondulation ondul +oppose opos +opprobre oprobr +opération opér +oranges orang +ordonnait ordonait +ordres ordr +organisation organ +orientale oriental +orner orn +orties ort +othello othelo +oubliée oubl +outrageusement outrageus +ouvertes ouvert +ouvrir ouvri +pagode pagod +paires pair +palestine palestin +pamphlets pamphlet +pança panca +paquebots paquebot +paraissais paraisai +parapluie paraplu +parcourir parcouri +pardonne pardon +pardonné pardon +parer par +parfumée parfum +parié par +parles parl +parmesans parmesan +parrain parain +parte part +particulière particuli +partons parton +parût parut +passagères pasag +passepartout pasepartout +passerons paseron +passionnée pasion +passées pase +patiemment patiement +patronnes patron +pavillon pavilon +paysages paysag +peine pein +pelisse pelis +pendante pendant +pensais pensai +pensât pensat +percer perc +perdrais perdrai +perles perl +permettrai permetrai +perpendiculairement perpendiculair +perses pers +personnelle person +persuader persuad +pertes pert +pesante pesant +petitesses petit +peurs peur +philosophiques philosoph +physiques physiqu +pieusement pieus +pillaient pilaient +pincée pinc +pirate pirat +pittoresque pitoresqu +piémontais piemontai +placé plac +plaindre plaindr +plaisamment plaisament +plaise plais +plante plant +platement plat +plaçant placant +pleurèrent pleurerent +plongerais plongerai +plusieurs plusieu +poignante poignant +poings poing +poissy poisy +politesse polit +pommeau pomeau +ponctuelle ponctuel +populations popul +porteras portera +ports port +positions position +possède posed +postérité posterit +poudre poudr +pourceaux pourceau +pourriez pouriez +pourvoir pourvoi +poussière pousi +pozzo pozo +pratiquais pratiquai +premièrement premier +prepotenze prepotenz +presse pres +pressée pres +prieur prieu +principale principal +prisonniers prisoni +privée priv +probablement probabl +proche proch +procureur procureu +prodigieuse prodigieu +produites produit +profilée profil +profonds profond +proie pro +promenades promenad +promets promet +prompte prompt +prononcées prononc +prophéties prophet +propositions propos +propriétés propriet +protections protection +protégeait protegeait +prouvée prouv +provisions provision +prudents prudent +préalablement prealabl +précieuses precieu +précipiter precipit +précurseur precurseu +précédés preced +prédécesseur predeceseu +préférait preferait +préjudicierait prejudicierait +prémédité premedit +préparait preparait +préparât preparat +présent present +présenter present +présentées present +présidente president +prétendaient pretendaient +prétendue pretendu +prévalant prevalant +préviens previen +prêcha precha +prêta preta +prêté pret +publics public +puiser puis +puissent puisent +punis puni +purser purs +pyrénées pyren +pèlerinage pelerin +pécule pecul +péninsulaire peninsulair +pénétrera penetrera +périodique period +péroré peror +pétrifiée petrif +quakeresse quaker +quartier quarti +quelque quelqu +quichotte quichot +quittais quitai +quittes quit +quotidiennement quotidien +raccommoder racomod +racontât racontat +rafraîchissements rafraichi +raisonna raisona +raisonner raison +ramassaient ramasaient +rames rame +rancunier rancuni +ranimèrent ranimerent +rappelaient rapelaient +rappellerait rapelerait +rapportait raportait +rapporté raport +rapprochèrent raprocherent +rassasié rasas +rassurait rasurait +ratine ratin +ravir ravi +ravisseurs raviseu +recharger recharg +recommanda recomanda +recommence recomenc +recommençât recomencat +reconnaissez reconaisez +reconquis reconqui +recouvrée recouvr +recule recul +redonner redon +redouté redout +refouler refoul +refusées refus +regardés regard +regrettez regretez +relancer relanc +reliefs relief +relis reli +relâchées relach +remarque remarqu +rembourser rembours +remettait remetait +remiers remi +remords remord +remplaçaient remplacaient +remue remu +rencontrassent rencontrasent +rencontrés rencontr +renfermée renferm +renonçait renoncait +renseignements renseign +rentrés rentr +renvoyer renvoy +reparaîtrait reparaitrait +repassait repasait +replaça replaca +reposoir reposoi +repoussez repousez +reprise repris +représentaient representaient +reptiles reptil +respecterais respecterai +respirer respir +ressemble resembl +ressentit resentit +restassent restasent +restituée restitu +retards retard +retenues retenu +retirée retir +retournèrent retournerent +retrouverons retrouveron +revenue revenu +reviennent revienent +revolvers revolv +reçue recu +riants riant +rideaux rideau +rigueurs rigueu +ritournelle ritournel +roads road +roches roch +romaine romain +rondement rond +rosier rosi +rouffles roufl +roulement roul +royalistes royalist +ruines ruin +russe ruse +règnent regnent +récapitulant recapitulant +récitaient recitaient +réclamait reclamait +réconciliation reconcili +rédigea redigea +réduite reduit +réfléchi reflechi +réfugia refugia +réfutés refut +régla regla +réglés regl +régné regn +réintégrés reintegr +répandait repandait +réparation repa +répliqua repliqua +répondez repondez +répondrez repondrez +république republ +répétaient repetaient +répétiteur repetit +réserver reserv +résigna resigna +résiste resist +résolution resolution +résumé resum +rétribution retribution +réuniront reuniront +réussirais reusirai +réveille reveil +révolter revolt +révoquerai revoquerai +révérencieuses reverencieu +rêves rêve +sablé sabl +saches sach +sacrifié sacrif +sagacité sagacit +saillantes sailant +saints saint +saisissez saisisez +salles sale +sanctifie sanctif +sans san +satiété satiet +saute saut +sauvage sauvag +sauvés sauv +saxons saxon +sceaux sceau +scieur scieu +sculpteurs sculpt +seconde second +secoués secou +secte sect +semaine semain +semelles semel +sensible sensibl +senties sent +septentrionales septentrional +serons seron +serrure serur +serve serv +serviteurs servit +shakos shako +sierra siera +siffler sifl +signalée signal +signifier signifi +sillonnaient silonaient +simplicité simplicit +singeries sing +sinistres sinistr +sixième six +smollett smolet +soigneusement soigneus +soissons soison +solennels solenel +sollicite solicit +sombres sombr +sommets somet +songer song +sonnera sonera +sonné sone +sors sor +sorts sort +soucieuse soucieu +soufflent souflent +souffrante soufrant +souffrit soufrit +soulevées soulev +soumises soumis +soupçon soupcon +soupçons soupcon +souriante souriant +soutenir souteni +souvenus souvenu +spectacle spectacl +spirales spiral +spéculation specul +statuaire statuair +stigmates stigmat +stupefie stupef +stylé styl +subjugue subjugu +suborner suborn +successifs sucesif +succulentes suculent +sucre sucr +suffisaient sufisaient +suffoqua sufoqua +suisses suis +suivons suivon +suppliaient supliaient +supplément suplement +suppose supos +supprime suprim +supérieures superieur +surexcité surexcit +surnommèrent surnomerent +surrey surey +survenue survenu +suspecter suspect +syllabe sylab +symétrie symet +séance seanc +sédition sedition +séduits seduit +sépara separa +séparé separ +sérénades serenad +sûrs sûr +tache tach +tailla taila +tais tai +tambours tambou +tannah tanah +tarder tard +tarés taré +teinte teint +temples templ +tender tend +teneur teneu +tentures tentur +terminée termin +terres tere +teulier teuli +thugs thug +thésée thes +tiers tier +timbrées timbr +tirades tirad +tirés tiré +toilettes toilet +tombeaux tombeau +tonalités tonalit +tonnes tone +torsade torsad +totalement total +touchée touch +tourbillon tourbilon +tourne tourn +tous tou +tracer trac +traduites traduit +trahissant trahi +traitèrent traiterent +tranches tranch +tranquillité tranquilit +transformés transform +transmissible transmisibl +trapp trap +travaille travail +traversé travers +traîneaux traineau +tremblantes tremblant +tres tre +tributaires tributair +triplé tripl +trompe tromp +tropicale tropical +troubler troubl +trousses trous +trouvât trouvat +trésor treso +tumulte tumult +tutti tuti +tâchant tachant +télégraphique telegraph +témoigné temoign +ulysse ulys +unissaient unisaient +ustensile ustensil +utiles util +vague vagu +vainqueur vainqueu +valoir valoi +vanvitelli vanviteli +vastes vast +veilles veil +venceslas vencesla +venette venet +ventes vent +verger verg +verrai verai +verront veront +vertement vert +vesper vesp +veuvage veuvag +viande viand +victime victim +vieillards vieilard +viennes vien +vigoureuses vigoureu +villa vila +vingtième vingt +violenté violent +virtuose virtuos +visite visit +vitres vitr +vivre vivr +voilure voilur +voisins voisin +voleurs voleu +voltiger voltig +voluptés volupt +votre votr +voulussent voulusent +voyageuse voyageu +vraisemblablement vraisemblabl +véhicule vehicul +vénérable venerabl +vérifié verif +vêtement vête +waterloo waterlo +xxix xxi +yakounines yakounin +zénith zenith +ébahissement ebahi +ébouriffée ebourif +écailles ecail +écartée ecart +échangées echang +échappons echapon +échelles echel +échoueraient echoueraient +éclaircir eclairci +éclairée eclair +éclatent eclatent +écolier ecoli +économisés economis +écoulaient ecoulaient +écoutaient ecoutaient +écoutez ecoutez +écria ecria +écrirait ecrirait +écriture ecritur +écrive ecriv +écroulaient ecroulaient +écuyer ecuy +égaiera egaiera +égard egard +égaya egaya +égoïsme egoïsm +élancé elanc +électives electif +élevé elev +éloignaient eloignaient +éloignât eloignat +élysées elys +élégante elegant +émergeait emergeait +émotion emotion +énergumène energumen +énorme enorm +épanouissaient epanouisaient +épargnez epargnez +éperdu eperdu +épicée epic +épingles epingl +épousa epousa +épousseter epouset +époux épou +éprouvent eprouvent +épuisèrent epuiserent +équinoxe equinox +établie etabl +établissement etabli +étais étai +étancher etanch +éteignirent eteignirent +étendait etendait +éternel eternel +étiole etiol +étonnaient etonaient +étonnera etonera +étouffé etouf +étourdit etourdit +étrangères etrang +étroites etroit +étudié etud +évanouir evanoui +éveillant eveilant +évidaient evidaient +éviter evit +êtres être +a a +abondaient abondaient +abri abri +abstenez abstenez +acacia acacia +acheva acheva +actuel actuel +administra administra +adopta adopta +adsum adsum +agit agit +aida aida +aie aie +aimera aimera +aire aire +ajouteraient ajouteraient +alfieri alfieri +almaviva almaviva +amant amant +ameutant ameutant +amusaient amusaient +ange ange +anno anno +apaisa apaisa +araceli araceli +arlequin arlequin +arsenic arsenic +aspira aspira +audit audit +auquel auquel +austral austral +av av +avec avec +aviez aviez +avouai avouai +ayez ayez +badaud badaud +baisant baisant +ban ban +bastion bastion +beaucoup beaucoup +bentivoglio bentivoglio +birmingham birmingham +blason blason +bombay bombay +borgo borgo +bougez bougez +bourguignon bourguignon +bravent bravent +brigand brigand +brochant brochant +bubna bubna +burdivan burdivan +bâti bâti +cacha cacha +cacolet cacolet +calculant calculant +camp camp +canta canta +captivait captivait +carnaval carnaval +casal casal +cathelineau cathelineau +ceignait ceignait +certificat certificat +chameau chameau +chanson chanson +chapelet chapelet +chargez chargez +chef chef +cherchant cherchant +chez chez +choisi choisi +christ christ +circula circula +citant citant +claret claret +cloua cloua +col col +combien combien +comparant comparant +comportait comportait +comprend comprend +compta compta +concert concert +concordat concordat +conduisant conduisant +confit confit +conjurant conjurant +consentirai consentirai +consolait consolait +consul consul +contemplant contemplant +contenu contenu +continuait continuait +contraint contraint +contredirait contredirait +contrit contrit +conviendrait conviendrait +copiez copiez +cornichon cornichon +couchant couchant +coup coup +courait courait +cousait cousait +couvrent couvrent +craint craint +criait criait +croient croient +croisait croisait +cruel cruel +cunctando cunctando +côté côté +daignerait daignerait +dandy dandy +daté daté +demanda demanda +demandez demandez +descend descend +description description +devait devait +deviendraient deviendraient +devinerait devinerait +devrait devrait +diderot diderot +diminution diminution +direz direz +disait disait +discutant discutant +disposaient disposaient +distinguaient distinguaient +distribuent distribuent +division division +dolman dolman +donjon donjon +dos dos +doué doué +ducrest ducrest +durait durait +durini durini +dîné dîné +ecoutez ecoutez +embarquait embarquait +emploient emploient +emporta emporta +en en +enduraient enduraient +enfui enfui +engagerai engagerai +enrichi enrichi +ensuivit ensuivit +entendra entendra +entrai entrai +entresol entresol +entrevoyait entrevoyait +enviant enviant +envoyez envoyez +escortaient escortaient +estimant estimant +etre etre +exact exact +excitait excitait +excusez excusez +exila exila +expliquait expliquait +exposez exposez +eût eût +faction faction +faisiez faisiez +farthing farthing +faubourg faubourg +fay fay +fer fer +fermait fermait +fierai fierai +filait filait +fin fin +firent firent +fixant fixant +flot flot +fond fond +fontan fontan +formait formait +foscarini foscarini +franc franc +frisait frisait +fuient fuient +fusait fusait +fé fé +gagnait gagnait +galon galon +gant gant +gardien gardien +gentil gentil +ghita ghita +girondin girondin +gobelet gobelet +gouvernail gouvernail +grandit grandit +grimpait grimpait +gré gré +gâte gâte +habitant habitant +hameau hameau +haubert haubert +hein hein +himalaya himalaya +holà holà +hui hui +hurlent hurlent +héla héla +ignorent ignorent +imita imita +imperfection imperfection +imposa imposa +improvisait improvisait +incident incident +incrusta incrusta +indiquant indiquant +industriel industriel +inn inn +insinuera insinuera +inspirant inspirant +instruisait instruisait +intercepterait intercepterait +introduction introduction +invitait invitait +iriez iriez +itou itou +japon japon +jersey jersey +jeun jeun +jonc jonc +jouerai jouerai +jourdan jourdan +jugent jugent +julien julien +jurez jurez +kama kama +kiouni kiouni +laid laid +lard lard +laurent laurent +lek lek +leva leva +lichtenberg lichtenberg +lincoln lincoln +lisaient lisaient +livraient livraient +locomotion locomotion +long long +loue loue +lu lu +lut lut +m m +magasin magasin +main main +malagrida malagrida +mandeb mandeb +maniait maniait +manquera manquera +maquignon maquignon +marchesino marchesino +mariera mariera +marquent marquent +mat mat +mean mean +mention mention +metz metz +michigan michigan +minuit minuit +mme mme +mon mon +montait montait +montraient montraient +monument monument +moral moral +mort mort +moulin moulin +much much +murmurait murmurait +mêla mêla +nagent nagent +naturel naturel +neigeait neigeait +nice nice +noce noce +norbert norbert +nouveau nouveau +nuisait nuisait +o o +obligera obligera +obstina obstina +obtinrent obtinrent +of of +on on +organisa organisa +ornent ornent +oscuro oscuro +osé osé +oublierait oublierait +outrez outrez +ouï ouï +pagato pagato +pal pal +pan pan +paquet paquet +paravent paravent +parcoururent parcoururent +pari pari +parlerai parlerai +parsi parsi +partez partez +partout partout +parviendront parviendront +paternel paternel +payait payait +peau peau +peloton peloton +pensa pensa +pension pension +perdit perdit +permit permit +peuplent peuplent +pied pied +piochant piochant +pistolet pistolet +plafond plafond +plaint plaint +plaisantent plaisantent +plateau plateau +pleuvent pleuvent +plongeant plongeant +poignarda poignarda +poliment poliment +porta porta +portion portion +pounah pounah +poursuivit poursuivit +pouvant pouvant +prendrait prendrait +priait priait +prison prison +prodiguerait prodiguerait +profilant profilant +prolongeant prolongeant +prononcera prononcera +proscrivent proscrivent +prouvait prouvait +provoqua provoqua +puisant puisant +pur pur +pépé pépé +quand quand +quem quem +race race +radouci radouci +rajeuni rajeuni +rampant rampant +rasé rasé +recevant recevant +rechercheront rechercheront +recouvrait recouvrait +redevenait redevenait +redoutaient redoutaient +refusait refusait +regard regard +regardez regardez +rejoignant rejoignant +relevait relevait +remarquaient remarquaient +remerciant remerciant +remontez remontez +remuant remuant +rendaient rendaient +rendrez rendrez +renoncera renoncera +rentrerai rentrerai +renza renza +repensant repensant +reprendrai reprendrai +reprocherai reprocherai +resembleth resembleth +resta resta +resterait resterait +retardant retardant +retentirent retentirent +retirant retirant +retournaient retournaient +retrouverai retrouverai +reviendrai reviendrai +revivaient revivaient +riant riant +ripostaient ripostaient +rival rival +roch roch +rome rome +rose rose +roula roula +rowan rowan +ruinez ruinez +rêva rêva +sachez sachez +sain sain +salomon salomon +samuel samuel +sanglotant sanglotant +satisfaisant satisfaisant +sauriez sauriez +sauvant sauvant +savent savent +scandalisera scandalisera +secondent secondent +secundo secundo +semblait semblait +sentaient sentaient +sept sept +serment serment +servent servent +seul seul +sien sien +signez signez +sire sire +soie soie +soldant soldant +songera songera +sortait sortait +sortirez sortirez +soulcy soulcy +souri souri +southampton southampton +souviendra souviendra +st st +sterling sterling +strongest strongest +such such +suivent suivent +sujet sujet +surhumain surhumain +surprit surprit +sus sus +sûr sûr +taisaient taisaient +tanquam tanquam +tarirent tarirent +tenaient tenaient +tenez tenez +terzo terzo +thé thé +time time +tirera tirera +toisait toisait +tombent tombent +tordant tordant +touchaient touchaient +tourna tourna +trac trac +trahit trahit +tranchait tranchait +transit transit +traversent traversent +trembleront trembleront +triomphait triomphait +trompant trompant +troublant troublant +trouvent trouvent +tu tu +tuerait tuerait +tuée tuée +ultra ultra +urne urne +v v +valenod valenod +vantent vantent +vaut vaut +vendrai vendrai +vengerai vengerai +verna verna +vespasien vespasien +vicolo vicolo +viendra viendra +vil vil +violentant violentant +visita visita +vivait vivait +vocation vocation +volaient volaient +volez volez +voudra voudra +voulez voulez +voyaient voyaient +vécu vécu +wandering wandering +whist whist +xii xii +xxiv xxiv +yokohama yokohama +âgée âgée +émoi émoi +été été diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/fr-minimal.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/fr-minimal.tsv new file mode 100644 index 0000000000..e5061ae591 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/fr-minimal.tsv @@ -0,0 +1,2000 @@ +abaisse abais +abandonnés abandon +ablutions ablution +abonde abond +abrité abrit +abrégé abrég +absolue absolu +absurde absurd +académie académi +accablée accabl +accepter accept +acclamations acclamation +accomplies accompli +accordée accord +accourus accouru +accoutumés accoutum +accueillie accueilli +accumulés accumul +accéder accéd +achetées achet +achèterons achèteron +acquises acquis +acrobatique acrobatiqu +activité activit +address addres +administrateur administrateu +admirables admirabl +admirées admir +adopte adopt +adorateurs adorateu +adresser adres +adroites adroit +adversité adversit +affairés affair +affecter affect +affectés affect +affidés affid +affirmé affirm +affluents affluent +affronter affront +agents agent +agitées agit +agréable agréabl +agrémentés agrément +aiguilles aiguil +aimerais aimerai +ajouterais ajouterai +alarme alarm +alcooliques alcooliqu +aliène alièn +alliance allianc +alloue allou +allure allur +allées al +altesse altes +altérée altér +amants amant +ambassade ambassad +ambulants ambulant +amicale amical +amourachée amourach +amputés amput +aménagé aménag +ananas anana +ancêtres ancêtr +anglaises anglais +animaux animal +annoncer annonc +annulé annul +anonymes anonym +antigénéreuses antigénéreus +antiquaires antiquair +antérieurs antérieu +apaisée apais +aperçue aperçu +apoplexies apoplexi +appareiller appareil +appartenir apparteni +appelés appel +applicables applicabl +apporte apport +apposés appos +apprise appris +approchée approch +apprécie appréci +appuyais appuyai +apôtres apôtr +arbitre arbitr +arceaux arceal +architecture architectur +argentée argent +aristocratique aristocratiqu +armoire armoir +arpents arpent +arrachée arrach +arrangées arrang +arriver arriv +arrivée arriv +arrosé arros +arrêts arrêt +article articl +artisans artisan +aspects aspect +aspirer aspir +assassins assassin +assidue assidu +assigné assign +assisté assist +assommer assom +assurances assuranc +asthme asthm +astrologues astrologu +athènes athèn +atrocité atrocit +attaque attaqu +atteindre atteindr +attelée attel +attendrir attendri +attentifs attentif +attire attir +attribuer attribu +attrouper attroup +aucune aucun +auditeur auditeu +augure augur +aurais aurai +auteur auteu +autorise autoris +autres autr +auxquels auxquel +avancés avanc +avarice avaric +aventureuse aventureus +avertis averti +avilir avili +avisée avis +babouches babouch +bagarre bagar +baignés baign +baissés bais +balancée balanc +balourdise balourdis +banderoles banderol +banque banqu +baptisé baptis +barbone barbon +barons baron +barricadés barricad +basses bas +bataille batail +battants battant +battus battu +bayadères bayadèr +beauté beaut +belgirate belgirat +bergère bergèr +beurre beur +bielle biel +bijoux bijou +biscaïens biscaïen +bizarre bizar +blanchies blanchi +blesse bles +bleues bleu +blushes blush +boiserie boiseri +bombés bomb +bonhomie bonhomi +bontés bont +bordés bord +bouche bouch +bouclés boucl +bouffes bouf +bougie bougi +boulettes boulet +bouquer bouqu +bourgade bourgad +bourgogne bourgogn +bourrées bour +boutiques boutiqu +brahmanes brahman +branle branl +braves brav +bridés brid +brillantes brillant +briser bris +brocanteur brocanteu +broncher bronch +brouillards brouillard +brouillé brouil +brusques brusqu +bruyantes bruyant +brûlons brûlon +buissons buisson +bureaux bureal +buvons buvon +bâtonne bâton +bénéfice bénéfic +bûcher bûch +cabinets cabinet +cacheter cachet +cachées cach +cadets cadet +cailloux caillou +calais calai +calembour calembou +calomnie calomni +calotte calot +cameriere camerier +canapé canap +cangos cango +canons canon +cantonnées canton +capitaines capitain +capture captur +caractérise caractéris +caresse cares +caroubiers caroubi +carrée car +casanier casani +cassandre cassandr +cassées cas +catherine catherin +causes caus +cautions caution +celles cel +centaine centain +centre centr +certaine certain +cervelle cervel +ceylandais ceylandai +chaises chais +chambranle chambranl +chance chanc +change chang +changés chang +chanteur chanteu +chapeaux chapeal +charade charad +chargée charg +charlemagne charlemagn +charmer charm +charrette charret +chasser chas +chasubles chasubl +chauffer chauf +chaume chaum +chaussée chaus +chelles chel +cherche cherch +chevalerie chevaleri +cheyenne cheyen +chiffrée chiffr +chinoises chinois +choisie choisi +choqué choqu +chromatique chromatiqu +chrétiens chrétien +châtaignier châtaigni +chèques chèqu +chétifs chétif +cigares cigar +cinquième cinquièm +circulaire circulair +ciseaux ciseal +civile civil +clairs clai +classes clas +clique cliqu +clochettes clochet +clôture clôtur +cochère cochèr +coiffure coiffur +collaborateurs collaborateu +colline collin +colmar colma +colonnade colonnad +colossale colossal +combattis combatti +combler combl +comiques comiqu +commandée command +commentaire commentair +commerce commerc +commettrais commettrai +commuer commu +communique communiqu +compagnie compagni +comparé compar +compatriotes compatriot +complaisantes complaisant +complimenteurs complimenteu +compliquées compliqu +comporté comport +composées compos +comprise compris +compromis compromi +comptes compt +compère compèr +comédiens comédien +concerté concert +concitoyens concitoyen +concours concou +condamnés condamn +conduite conduit +confessions confession +confiné confin +confiées confi +confortable confortabl +confuse confus +congrès congrè +conjecturer conjectur +conjurée conjur +connaitre connaitr +conquise conquis +consacrées consacr +conseillé conseil +consentirais consentirai +conservées conserv +considéré considér +consister consist +consommateurs consommateu +conspirer conspir +constaté constat +construire construir +consulter consult +conséquences conséquenc +contenir conteni +contes cont +continuels continuel +contourne contourn +contradictoires contradictoir +contrarier contrari +contrastes contrast +contrebasses contrebas +contresigner contresign +contrôle contrôl +convaincue convaincu +convenue convenu +convertis converti +convoitise convoitis +copier copi +coquetteries coquetteri +corbeille corbeil +cornes corn +correspondance correspondanc +corrigée corrig +cosmopolite cosmopolit +cotons coton +coudes coud +coulisses coulis +couple coupl +courage courag +courber courb +courier couri +courons couron +courses cours +courtisanesque courtisanesqu +couter cout +couverture couvertur +craché crach +craintes craint +cravache cravach +criante criant +crinière crinièr +croirais croirai +croissante croissant +crottées crot +croyants croyant +cruelle cruel +crédulité crédulit +cuisante cuisant +cuisses cuis +culottes culot +curieuses curieus +céderons céderon +célébrés célébr +daigné daign +dandys dandy +danses dans +debile debil +demandais demandai +demandées demand +demoiselles demoisel +dernier derni +desaix desai +descendue descendu +despotique despotiqu +dessiller dessil +desséché desséch +destinés destin +devancer devanc +deviens devien +devoir devoi +diables diabl +dicter dict +difficultueux difficultueu +différente différent +digère digèr +diminuer diminu +diplomatique diplomatiqu +directoire directoir +dirigées dirig +discontinuer discontinu +discuter discut +disparaître disparaîtr +disposer dispos +dispute disput +dissimule dissimul +dissipé dissip +distillée distil +distinguée distingu +distribue distribu +divers div +divise divis +dixième dixièm +documents document +domesticité domesticit +domine domin +dompté dompt +donnons donnon +dormir dormi +douaire douair +doubles doubl +douleur douleu +douteuse douteus +dragons dragon +dresser dres +droite droit +duchesse duches +durable durabl +débarrasser débarras +débattue débattu +déborder débord +débrouiller débrouil +décadence décadenc +décence décenc +déchaîner déchaîn +déchirées déchir +décidées décid +déclare déclar +décolorée décolor +déconvenues déconvenu +décourager décourag +découvrir découvri +dédains dédain +défaite défait +défendre défendr +défensive défensiv +définitive définitiv +dégoûté dégoût +déguiser déguis +déjeunons déjeunon +délaissé délais +délicates délicat +délier déli +démantelé démantel +démesurée démesur +déménager déménag +dénoncé dénonc +dépassé dépas +dépens dépen +dépisté dépist +déplaire déplair +déplorables déplorabl +dépositaire dépositair +dépouille dépouil +dépérir dépéri +déraisonnable déraisonnabl +dérober dérob +désagréables désagréabl +désastre désastr +déserte désert +désespérais désespérai +déshonneur déshonneu +désigner désign +désire désir +désoblige désoblig +désordonnée désordon +détacher détach +détaillée détail +détendus détendu +déterrer déter +détourné détourn +détruits détruit +dévorante dévorant +dévotes dévot +dîners dîn +effacer effac +effarouché effarouch +effleurer effleur +effrayée effray +effréné effrén +emballée embal +embarqués embarqu +embaumé embaum +embourser embours +embrasé embras +embuscade embuscad +emmènes emmèn +empereurs empereu +empire empir +employâtes employât +empoigné empoign +empoisonnés empoison +empreinte empreint +emprisonné emprison +empêches empêch +encadrées encadr +enchanté enchant +enchère enchèr +encombré encombr +encouragé encourag +endormir endormi +endurées endur +enfermais enfermai +enfers enf +enflées enfl +enfumé enfum +engeance engeanc +enivrer enivr +enlevée enlev +ennius enniu +ennuyeuse ennuyeus +enraciner enracin +enrichir enrichi +enseigner enseign +entachés entach +entendre entendr +enthousiasmé enthousiasm +entière entièr +entour entou +entraves entrav +entrecoupées entrecoup +entreprendre entreprendr +entreras entrera +entrons entron +envahir envahi +envergure envergur +environne environ +envisager envisag +envoyer envoy +errante errant +escaliers escali +esclave esclav +escouade escouad +espagnolette espagnolet +espiègle espiègl +espères espèr +espérée espér +essayer essay +essieux essieu +estafier estafi +estimer estim +euphorbes euphorb +exactitude exactitud +exagérées exagér +examens examen +exaspérer exaspér +excentricité excentricit +excité excit +excuser excus +exemplaires exemplair +exercice exercic +exigeons exigeon +exister exist +explications explication +exploits exploit +exposées expos +exprimer exprim +expédiée expédi +extorqué extorqu +extrême extrêm +exécrable exécrabl +exécutoire exécutoir +fabrice fabric +fabuliste fabulist +facultés facult +faillir failli +falloir falloi +familles famil +fantaisie fantaisi +faquins faquin +farouches farouch +fatigue fatigu +faublas faubla +fauves fauv +favorite favorit +felice felic +fenêtres fenêtr +fermeture fermetur +ferons feron +fervaques fervaqu +feuillets feuillet +fidèle fidèl +figures figur +filles fil +finies fini +flamande flamand +flancs flanc +flatteuses flatteus +fleuves fleuv +flottants flottant +foisonne foison +fondateur fondateu +fondée fond +forcée forc +formalités formalit +formules formul +fortes fort +fortune fortun +fosses fos +fougueux fougueu +foules foul +fournie fourni +fourrier fourri +fragile fragil +franchir franchi +françaises français +frappée frap +fraîche fraîch +frilair frilai +fripons fripon +froideur froideu +fronde frond +fruitières fruitièr +fréquente fréquent +fréter frét +fumeur fumeu +fureur fureu +fuseaux fuseal +futilités futilit +fâcheuses fâcheus +félicité félicit +gageure gageur +gagnés gagn +galeuse galeus +galvanisées galvanis +gangrenée gangren +garderais garderai +garnie garni +gaucherie gaucheri +gendarme gendarm +genres genr +genève genèv +ghazepour ghazepou +gigantesques gigantesqu +glaces glac +glisser glis +goethe goeth +gothique gothiqu +goutte gout +gouverné gouvern +gracieuses gracieus +grandes grand +granvelle granvel +gratuite gratuit +grecque grecqu +griefs grief +grillée gril +grimer grim +groseilles groseil +grossiers grossi +grotte grot +guardate guardat +gueule gueul +guillotiné guillotin +gustave gustav +gymnaste gymnast +génies géni +généreuse généreus +géorgiques géorgiqu +habillé habil +habiteras habitera +habituée habitu +haillons haillon +hambourgeois hambourgeoi +harassés haras +harmonieux harmonieu +hasardé hasard +helvétie helvéti +heureuses heureus +hindous hindou +historiques historiqu +hommage hommag +honneur honneu +honorable honorabl +honteuse honteus +horreur horreu +hostile hostil +housards housard +humaniste humanist +humides humid +humilier humili +hurler hurl +hydrogène hydrogèn +hyères hyèr +hérauts héraut +héritier hériti +héroïques héroïqu +hésiter hésit +hôtesses hôtes +ignoble ignobl +ignorer ignor +illisibles illisibl +illustrissime illustrissim +imagine imagin +immanquable immanquabl +immoler immol +immuable immuabl +impassibilité impassibilit +impatientée impatient +imperturbable imperturbabl +impolie impoli +importunités importunit +impossibilité impossibilit +impraticable impraticabl +imprimeurs imprimeu +impromptue impromptu +improvisés improvis +imprégné imprégn +impunité impunit +impériales impérial +inaccoutumées inaccoutum +inanimés inanim +inaugurer inaugur +incendies incendi +incidenter incident +inclus inclu +incompatible incompatibl +inconsidérée inconsidér +inconvenantes inconvenant +incrédule incrédul +indicibles indicibl +indigner indign +indique indiqu +indiscrets indiscret +indisposée indispos +indubitable indubitabl +industrieux industrieu +indéfinissable indéfinissabl +inepte inept +inexprimable inexprimabl +infanterie infanteri +infinis infini +influence influenc +informés inform +infâmes infâm +ingratitude ingratitud +inhabitée inhabit +injure injur +injustes injust +innombrables innombrabl +inondés inond +inquiète inquièt +inscriptions inscription +insensé insens +insignifiants insignifiant +insociable insociabl +insouciance insoucianc +inspiré inspir +installée instal +institutions institution +insultante insultant +insupportables insupportabl +intelligences intelligenc +intenses intens +interceptées intercept +interlope interlop +interprètes interprèt +interroger interrog +intervalle interval +intimité intimit +intrigue intrigu +intrus intru +intéresse intéres +intérieurs intérieu +invalides invalid +inventions invention +invisibles invisibl +invraisemblable invraisemblabl +inéprouvé inéprouv +ironique ironiqu +irréguliers irréguli +irrésistibles irrésistibl +italienne italien +jacobine jacobin +jalousies jalousi +jansénistes jansénist +jardinage jardinag +jaunâtres jaunâtr +jeunesse jeunes +jonglerie jongleri +jouiras jouira +jouons jouon +joyeux joyeu +jurerais jurerai +justesse justes +jérémiades jérémiad +kanhérie kanhéri +laborieux laborieu +laideurs laideu +laissé lais +lambris lambri +landes land +languissante languissant +larges larg +latines latin +laurier lauri +lectrice lectric +lesquelles lesquel +leviers levi +libellée libel +libéralisme libéralism +lignes lign +lingère lingèr +lisses lis +littéraire littérair +livrées livr +locomotives locomotiv +lointaines lointain +londres londr +longévité longévit +louables louabl +loueuse loueus +louvre louvr +lugubre lugubr +lustre lustr +lâcher lâch +légendes légend +légitimité légitimit +léthargique léthargiqu +madeleine madelein +magique magiqu +maigre maigr +maires mair +majesté majest +malade malad +maladroite maladroit +malencontreux malencontreu +malhonnête malhonnêt +malmener malmen +manche manch +manger mang +manifesté manifest +manoeuvres manoeuvr +manquerais manquerai +mantoue mantou +manège manèg +marchands marchand +marchesine marchesin +marges marg +marins marin +marmots marmot +marquis marqui +marronniers marronni +marâtre marâtr +masque masqu +massacrés massacr +mathilde mathild +matinée matin +maubeuge maubeug +maussade maussad +maçonnerie maçonneri +meilleur meilleu +menace menac +mendicité mendicit +menteuse menteus +menuisier menuisi +merveilles merveil +messager messag +mesures mesur +mettons metton +meubles meubl +meurtrier meurtri +microscopique microscopiqu +migraine migrain +milliers milli +minerve minerv +ministérielle ministériel +miraculeuse miraculeus +misère misèr +mobile mobil +modestie modesti +modérée modér +moines moin +monarchies monarchi +mondaines mondain +monomanes monoman +monsignor monsigno +montagneuse montagneus +montre montr +monture montur +moqueur moqueu +moraux moral +mormonisme mormonism +mortels mortel +morveux morveu +moucher mouch +mouillés mouil +mourir mouri +mousseline mousselin +moyenne moyen +multicolores multicolor +muraille murail +musculaire musculair +mystifier mystifi +mystérieux mystérieu +mécanisme mécanism +mécontente mécontent +médiocre médiocr +méfiance méfianc +mélangées mélang +ménagements ménagement +méprisable méprisabl +méridionale méridional +méritoire méritoir +métalliques métalliqu +métier méti +naissante naissant +nationale national +naturelles naturel +navarre navar +naïves naïv +netteté nettet +neveux neveu +nigauderie nigauderi +nocturne nocturn +nombre nombr +nonante nonant +notables notabl +nourrice nourric +nouveautés nouveaut +novice novic +nuisibles nuisibl +nécessaires nécessair +négociants négociant +obligations obligation +obliger oblig +obscurité obscurit +observer observ +obsédé obséd +obéirais obéirai +occidentales occidental +occupons occupon +octave octav +oeuvre oeuvr +offensé offens +officielle officiel +offrandes offrand +oisive oisiv +omnibus omnibu +oppose oppos +opprobre opprobr +opérée opér +orangé orang +ordonnance ordonnanc +ordres ordr +orfèvrerie orfèvreri +orgueilleux orgueilleu +origine origin +orteils orteil +ouailles ouail +oublié oubli +outrageantes outrageant +outrée outr +ouvragé ouvrag +pacifique pacifiqu +paieras paiera +palais palai +palmiers palmi +panneaux panneal +paperassière paperassièr +paquebots paquebot +paragraphe paragraph +paralysé paralys +paraîtrons paraîtron +pardonnables pardonnabl +pardons pardon +parents parent +parfois parfoi +parisiennes parisien +parlerais parlerai +parmesans parmesan +paroles parol +partager partag +parterre parter +particulière particulièr +partisans partisan +parviendrons parviendron +passages passag +passeports passeport +passionne passion +passive passiv +paterne patern +patricienne patricien +patronnes patron +pauwell pauwel +paysages paysag +peines pein +peinés pein +pendable pendabl +pendules pendul +penser pens +pensées pens +perché perch +perdue perdu +permanente permanent +perplexités perplexit +perses pers +personnalité personnalit +perspective perspectiv +persécutions persécution +perversité perversit +pester pest +peuples peupl +phileas philea +phosphorescentes phosphorescent +physique physiqu +pierres pier +pillage pillag +pincée pinc +piqués piqu +pitoyable pitoyabl +piémontais piémontai +placée plac +plaindrais plaindrai +plaintive plaintiv +plaisanteries plaisanteri +planche planch +planter plant +platanes platan +please pleas +pleurs pleu +plongé plong +plâtre plâtr +poignards poignard +poings poing +poissonnerie poissonneri +polies poli +polygames polygam +pommiers pommi +poneys poney +portative portativ +porteur porteu +portons porton +positions position +possibles possibl +postérité postérit +poudrées poudr +poupées poup +pourrions pourrion +poursuivre poursuivr +poussés pous +poésie poési +pratique pratiqu +premiers premi +prends prend +presque presqu +pressoir pressoi +prestigieux prestigieu +primitives primitiv +principaux principal +prisonnière prisonnièr +privées priv +probantes probant +proche proch +procurer procur +procédé procéd +prodiguer prodigu +profanateur profanateu +profilée profil +profondeur profondeu +progrès progrè +prolonger prolong +promeneur promeneu +promets promet +prompte prompt +prononcés prononc +propice propic +proposer propos +propriétaire propriétair +prosélytisme prosélytism +protestations protestation +protégés protég +provence provenc +provinciaux provincial +prudence prudenc +prusse prus +préceptes précept +précipiter précipit +précurseur précurseu +prédestiné prédestin +prédécesseur prédécesseu +préférables préférabl +préjugé préjug +préoccupations préoccupation +préparatoires préparatoir +présage présag +présentes présent +préserver préserv +présomptions présomption +prétends prétend +prétoire prétoir +préviens prévien +prêché prêch +prôner prôn +publics public +puiser puis +puisse puis +pupille pupil +pusillanimes pusillanim +pâlissantes pâlissant +pécher péch +pélicans pélican +pénètre pénètr +périmètre périmètr +pérouse pérous +pétrole pétrol +quakeresse quakeres +quarante quarant +quatrième quatrièm +quelques quelqu +quiconque quiconqu +quittais quittai +quoerens quoeren +rabâchage rabâchag +racine racin +rafale rafal +raidie raidi +raisonne raison +ralentir ralenti +rambarde rambard +ramures ramur +rangées rang +rapide rapid +rappelée rappel +rapports rapport +rapprochées rapproch +rassemblé rassembl +rasséréner rassérén +ravins ravin +ravoir ravoi +recevoir recevoi +rechigné rechign +recommandés recommand +reconnaissance reconnaissanc +recoucher recouch +recouvrir recouvri +recueillir recueilli +redevenue redevenu +redoublé redoubl +refaire refair +refouler refoul +refusé refus +regarder regard +regrets regret +rejaillir rejailli +relative relativ +relier reli +relire relir +relâché relâch +remarquable remarquabl +remarquée remarqu +remercierais remercierai +remettras remettra +remontrance remontranc +remplace remplac +remplir rempli +remèdes remèd +rencontrâmes rencontrâm +rendue rendu +renfrogné renfrogn +renouer renou +rentre rentr +renverse renvers +renvoyé renvoy +repartir reparti +reperdre reperdr +reposer repos +repoussé repous +representations representation +reproches reproch +représenter représent +respectables respectabl +respects respect +respirer respir +ressemblé ressembl +ressources ressourc +resteras restera +retardataire retardatair +retentir retenti +retirerais retirerai +retomber retomb +retracer retrac +retrouver retrouv +revenir reveni +revienne revien +revolvers revolv +rhubarbe rhubarb +richissime richissim +rigueur rigueu +risqué risqu +rivière rivièr +rocher roch +roiville roivil +rompre rompr +ronflements ronflement +rouges roug +routes rout +rubempré rubempr +ruinées ruin +russie russi +réapprovisionner réapprovision +réciter récit +récompense récompens +rédacteurs rédacteu +réduits réduit +réfractaire réfractair +réfutés réfut +réglementaire réglementair +régner régn +régénérateur régénérateu +réjouissances réjouissanc +réparée répar +répondre répondr +république républiqu +répéterons répéteron +réserve réserv +réservés réserv +résistance résistanc +résoudre résoudr +rétabliras rétablira +réussirais réussirai +réveillés réveil +révolues révolu +révélé révél +rêveries rêveri +sabrés sabr +sacrifices sacrific +sacristie sacristi +sagesse sages +saillants saillant +saints saint +saisîtes saisît +saltimbanques saltimbanqu +sanctus sanctu +sapins sapin +satisfaire satisfair +saurais saurai +sauvages sauvag +sauvée sauv +saville savil +scandale scandal +scellé scel +scintillants scintillant +sculpteurs sculpteu +secatore secator +secours secou +secrètes secrèt +seigneuries seigneuri +semble sembl +sensations sensation +sentence sentenc +sentimentales sentimental +septentrionale septentrional +serments serment +serrure serrur +serviable serviabl +serviteur serviteu +shakspeare shakspear +siffler siffl +signalée signal +significatives significativ +silencieuse silencieus +simagrées simagr +sincère sincèr +singularité singularit +sinistres sinistr +siècle siècl +société sociét +soigné soign +soixantième soixantièm +solides solid +solliciter sollicit +sombres sombr +somptuosité somptuosit +sonneries sonneri +sonnés son +sortes sort +sortis sorti +soucieux soucieu +souffrais souffrai +souffrirais souffrirai +soulagée soulag +soumettre soumettr +soupir soupi +soupçonneux soupçonneu +sourciliers sourcili +sourire sourir +soutenir souteni +souvenirs souveni +soyeux soyeu +spectre spectr +splendides splendid +squelette squelet +statue statu +sterne stern +stupefie stupefi +stupéfié stupéfi +subjugué subjugu +suborner suborn +substituées substitu +successor successo +succéder succéd +suffisantes suffisant +suisse suis +suivie suivi +sujette sujet +supplice supplic +supporter support +supposés suppos +supérieure supérieur +surchauffée surchauf +surmonte surmont +surpassé surpas +surveillance surveillanc +survenue survenu +suspecte suspect +sutpour sutpou +symbole symbol +symétrie symétri +sèches sèch +sédentaire sédentair +séduisants séduisant +séminariste séminarist +séparées sépar +sérénissime sérénissim +tabagie tabagi +tablier tabli +taffetas taffeta +taillées tail +tambourins tambourin +tankardere tankarder +tapissiers tapissi +tartines tartin +teinte teint +température températur +tender tend +tendus tendu +tenter tent +terminé termin +terrassiers terrassi +terrible terribl +thomas thoma +théories théori +tienne tien +timbrée timbr +tirades tirad +titres titr +toiture toitur +tombone tombon +tonneaux tonneal +tordre tordr +torture tortur +touchante touchant +touchée touch +toupie toupi +tourmentée tourment +tournure tournur +toutes tout +tracées trac +tragiques tragiqu +trahisse trahis +traités trait +tranchés tranch +transatlantique transatlantiqu +transformée transform +transmettre transmettr +transports transport +trapues trapu +travers trav +traversés travers +traître traîtr +trembler trembl +tressaillir tressailli +tributaires tributair +triomphes triomph +tristesses tristes +tromperais tromperai +tropicale tropical +trouble troubl +troupe troup +trouveras trouvera +trouvées trouv +tuerais tuerai +turbans turban +tyrans tyran +télégraphiques télégraphiqu +témoins témoin +uniforme uniform +urbanité urbanit +usurpé usurp +vacante vacant +vaincue vaincu +valeur valeu +vandalisme vandalism +variétés variét +veiller veil +velléités velléit +vendredis vendredi +venise venis +verdure verdur +vernaye vernay +verrons verron +vertes vert +vestes vest +vexations vexation +vicaire vicair +victimes victim +vieille vieil +viennes vien +viharis vihari +village villag +vingtième vingtièm +violenté violent +vipère vipèr +visibles visibl +visons vison +vivandières vivandièr +vivrons vivron +voilés voil +volaille volail +volontaire volontair +voltiger voltig +voluptueux voluptueu +voudras voudra +voyage voyag +voyagé voyag +vulgaires vulgair +vénales vénal +vénérées vénér +vérité vérit +vêtues vêtu +xxviii xxvii +zonders zond +éblouissante éblouissant +écailles écail +écartée écart +échangées échang +échappée échap +échelles échel +échoué échou +éclairée éclair +éclats éclat +économe économ +économisés économis +écouler écoul +écoutes écout +écrasées écras +écrits écrit +écrivante écrivant +écurie écuri +éduquer éduqu +égares égar +égorger égorg +égypte égypt +électeurs électeu +élevée élev +éloigné éloign +élysées élys +éléments élément +émeute émeut +énergie énergi +énigmatique énigmatiqu +éolienne éolien +épargnée épargn +éperdue éperdu +épiderme épiderm +épingles épingl +épouse épous +épouvantable épouvantabl +éprise épris +épuisé épuis +équinoxe équinox +éreinté éreint +étages étag +étangs étang +étendue étendu +étienne étien +étions étion +étonnante étonnant +étonnées éton +étourderies étourderi +étrangeté étranget +étriers étri +étudier étudi +évanouie évanoui +éveillées éveil +évidentes évident +a a +abbé abbé +aboyaient aboyaient +absorbaient absorbaient +académicien académicien +accident accident +accordait accordait +accroissaient accroissaient +acharnant acharnant +acquit acquit +adjugeait adjugeait +admît admît +adressant adressant +affection affection +affront affront +agit agit +aidait aidait +aigrement aigrement +aimiez aimiez +ajoutera ajoutera +aliment aliment +allât allât +amai amai +ami ami +amusement amusement +angela angela +anno anno +antidata antidata +aplatit aplatit +appartiennent appartiennent +applaudi applaudi +apprenait apprenait +apprêtait apprêtait +ardemment ardemment +arnauld arnauld +arrivant arrivant +arrêtera arrêtera +aspiciam aspiciam +assirent assirent +assuraient assuraient +attachèrent attachèrent +attendit attendit +attirerait attirerait +augmentaient augmentaient +aurungabad aurungabad +avait avait +averti averti +avis avis +avril avril +badaud badaud +balancement balancement +bank bank +bastion bastion +battu battu +benjamin benjamin +bienveillant bienveillant +blessaient blessaient +blés blés +bonnement bonnement +bosco bosco +boulot boulot +bravait bravait +brillaient brillaient +brodé brodé +bruyant bruyant +bulle bulle +bâbord bâbord +bénis bénis +cacha cacha +cage cage +camarilla camarilla +capitani capitani +carlino carlino +case case +causa causa +cenis cenis +cessera cessera +changeant changeant +chapelet chapelet +chassa chassa +chef chef +chers chers +choisissait choisissait +châle châle +cimarosa cimarosa +citation citation +clerc clerc +coach coach +collé collé +commandant commandant +commettra commettra +comparait comparait +comportait comportait +comprit comprit +concernaient concernaient +condamneront condamneront +confirma confirma +congédiant congédiant +conseilla conseilla +considérait considérait +constitutionnel constitutionnel +contenaient contenaient +continua continua +contrariez contrariez +convenaient convenaient +convulsivement convulsivement +corea corea +corso corso +couds couds +coupé coupé +courût courût +coûte coûte +crescenzi crescenzi +critiquent critiquent +croissait croissait +crème crème +curés curés +cérès cérès +daignât daignât +dansant dansant +del del +demeurait demeurait +descendu descendu +destituerai destituerai +deviendrez deviendrez +devraient devraient +différend différend +dire dire +discerna discerna +disparu disparu +dissimulant dissimulant +distribuez distribuez +doge doge +donjon donjon +dont dont +doubt doubt +drapeau drapeau +dupes dupes +durât durât +débit débit +déchirant déchirant +déclarez déclarez +décrivaient décrivaient +défendent défendent +dégrisa dégrisa +délégation délégation +dénotait dénotait +déplairez déplairez +députation députation +désertion désertion +désoeuvrement désoeuvrement +déterminât déterminât +dévoraient dévoraient +dît dît +effet effet +elle elle +embrassant embrassant +emploierait emploierait +emportement emportement +empêchez empêchez +enfer enfer +engagea engagea +enlèvent enlèvent +enrichi enrichi +entendez entendez +entrant entrant +entretinrent entretinrent +enverrez enverrez +equinoctial equinoctial +espéra espéra +estimant estimant +eussiez eussiez +examina examina +excusant excusant +exile exile +exposait exposait +extravagant extravagant +facilitait facilitait +fait fait +fascination fascination +faute faute +femme femme +fermerait fermerait +fiers fiers +fili fili +finissent finissent +fixer fixer +flottaient flottaient +folio folio +fontenoy fontenoy +formera formera +fouet fouet +fox fox +frappât frappât +front front +fumaient fumaient +futura futura +félix félix +gagnez gagnez +galopait galopait +gardez gardez +gens gens +giovita giovita +glissera glissera +gouvernail gouvernail +grandement grandement +grianta grianta +gros gros +guidant guidant +gâté gâté +gênes gênes +haie haie +hasard hasard +haïssaient haïssaient +heureusement heureusement +holà holà +hugo hugo +hutte hutte +hésita hésita +ignes ignes +imagination imagination +impatientait impatientait +imposent imposent +impératif impératif +inclination inclination +indignation indignation +indus indus +inhalation inhalation +inquiétait inquiétait +inspirent inspirent +insulta insulta +interrogeant interrogeant +introduisit introduisit +invinciblement invinciblement +irez irez +island island +jacopo jacopo +jean jean +jetée jetée +jolis jolis +jouirait jouirait +juché juché +jules jules +jurée jurée +kent kent +laine laine +lampe lampe +larguait larguait +least least +lest lest +libre libre +linge linge +lits lits +location location +long long +louera louera +lugano lugano +lyre lyre +lélio lélio +magistrat magistrat +major major +mandarin mandarin +manié manié +manuel manuel +mari mari +marquinot marquinot +matin matin +melzi melzi +mené mené +mettrai mettrai +michigan michigan +minuit minuit +modification modification +momie momie +montez montez +monté monté +mormon mormon +mouchent mouchent +mr mr +musicien musicien +mènerait mènerait +ménagera ménagera +méry méry +mûrir mûrir +nasillard nasillard +ne ne +news news +noces noces +nonchalant nonchalant +nourrissent nourrissent +nuire nuire +nécessitant nécessitant +obligeamment obligeamment +obstinait obstinait +obéirez obéirez +ocre ocre +officiellement officiellement +ombre ombre +opposerai opposerai +organisa organisa +orné orné +oseraient oseraient +oublierez oublierez +ouvrez ouvrez +page page +pale pale +pape pape +paraîtrai paraîtrai +pardonnent pardonnent +parièrent parièrent +parlé parlé +parti parti +parviendraient parviendraient +passepartout passepartout +patinant patinant +payera payera +peiné peiné +pense pense +perdait perdait +permettent permettent +persécutait persécutait +peut peut +pile pile +piqué piqué +placera placera +plairait plairait +planterez planterez +pleurèrent pleurèrent +plum plum +poisson poisson +poney poney +portion portion +posé posé +poursuivaient poursuivaient +pouvait pouvait +prenez prenez +prierai prierai +prièrent prièrent +produisait produisait +prolongea prolongea +prononcerait prononcerait +prospèrent prospèrent +provenaient provenaient +précipitamment précipitamment +préjudicierait préjudicierait +présentait présentait +prétendez prétendez +prêchant prêchant +puisant puisant +puntiglio puntiglio +père père +péris péris +quando quando +quittant quittant +races races +raies raies +ramasseraient ramasseraient +ranima ranima +rapporterait rapporterait +rassura rassura +raynal raynal +recit recit +reconduit reconduit +recueilli recueilli +redoutaient redoutaient +refusiez refusiez +regret regret +relativement relativement +remarquaient remarquaient +remettrait remettrait +remplissaient remplissaient +rencontreraient rencontreraient +rendît rendît +rentra rentra +renvoyiez renvoyiez +repassait repassait +reprenant reprenant +représenta représenta +respiration respiration +restait restait +resté resté +retiendrai retiendrai +retournaient retournaient +revenez revenez +revissent revissent +ri ri +rimes rimes +rives rives +romagnan romagnan +rose rose +rougit rougit +rude rude +râpé râpé +récitatif récitatif +réflexion réflexion +réglera réglera +répandit répandit +répondit répondit +répétez répétez +résultat résultat +réunit réunit +révérend révérend +s s +sagement sagement +saki saki +san san +sat sat +sautait sautait +savaient savaient +scier scier +secouru secouru +semblaient semblaient +sentaient sentaient +serieusement serieusement +serve serve +sfondrata sfondrata +sifflement sifflement +signé signé +sitôt sitôt +soignant soignant +sols sols +songeât songeât +sort sort +sotte sotte +souffrissent souffrissent +soupçonnaient soupçonnaient +southey southey +speedy speedy +steward steward +su su +succédait succédait +suffit suffit +suivront suivront +supposition supposition +surprenait surprenait +susdit susdit +sémillant sémillant +tabac tabac +talma talma +tarderait tarderait +tellement tellement +tenta tenta +terzo terzo +théâtral théâtral +tinrent tinrent +tirée tirée +tombassent tombassent +tordait tordait +toucherez toucherez +tous tous +trahissant trahissant +tranchant tranchant +trapp trapp +traîtreusement traîtreusement +tric tric +trop trop +trouvant trouvant +tuait tuait +tutto tutto +témoignait témoignait +unies unies +utilisaient utilisaient +valait valait +vas vas +venaient venaient +vengera vengera +verni verni +verticalement verticalement +vi vi +viendrai viendrai +vile vile +visa visa +vivant vivant +voies voies +volet volet +voté voté +voulût voulût +vue vue +vêtue vêtue +wharf wharf +xv xv +xérès xérès +âges âges +ébranla ébranla +échoiront échoiront +éclatent éclatent +écouteront écouteront +écrivait écrivait +égaiera égaiera +élança élança +éloignerai éloignerai +émigrera émigrera +épargna épargna +épousant épousant +équarrissaient équarrissaient +était était +étendant étendant +étourdissait étourdissait +évanouirent évanouirent +être être diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/hu-light.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/hu-light.tsv new file mode 100644 index 0000000000..0756602065 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/hu-light.tsv @@ -0,0 +1,2000 @@ +abazin abaz +abból abbol +ablaknyílásokkal ablaknyilas +ablakából abl +abszurditásán abszurditas +acélrúd acelru +adaptert adapt +adataira adat +adatbányászati adatbanyaszat +adatbázis-központú adatbazis-kozpontu +adatbázist adatbazis +adatfolyamnak adatfoly +adathálózat adathaloz +adatkommunikációját adatkommunikacioj +adatok adat +adatpiacoknak adatpiac +adatszolgáltatásokból adatszolgaltatas +adattárakra adattar +adatvesztéseket adatvesztes +addigi addig +adhatók adh +adminisztrált adminisztral +adnák adn +adományozom adomanyoz +adtam adt +adáshoz adas +adására adas +adócsaló adocsal +adófizetõk adofizet +adókon ado +adórendõrség adorendorseg +adósságok adossag +adótörvényben adotorveny +afelé afel +aggasztónak aggaszt +aggresszív aggressziv +aggódtam aggodt +agrárdiplomás agrardiplomas +agrártárcánál agrartarc +agybajt agybaj +agyonlövik agyonlov +agytornafélére agytornafel +agárdi agard +ajkak ajk +ajtófélfa ajtofelf +ajtóval ajt +ajándékozásnál ajandekozas +ajánlatok ajanl +ajánlatukkal ajanlat +ajánlották ajanlott +akadt aka +akadályozom akadalyoz +akadémiák akadem +akaratoknak akar +akarjuk akarj +akarta akart +akasztom akaszt +akciókhoz akc +akikkel aki +akkumulátormodul akkumulatorm +aktatömeggel aktatomeg +aktusához aktus +akárhol akarhol +akörül akor +alakban ala +alakjára alakj +alakulat alakul +alakulása alakulas +alakzatát alakzat +alakítottam alakitott +alanya alany +alapcímletekre alapciml +alapelvének alapelv +alapfunkciókban alapfunkc +alapjainál alapj +alapkezelõk alapkezel +alaplapban alaplap +alapokon alap +alapozta alapozt +alapszabály-módosításra alapszabaly-modositas +alapszik alapsz +alaptípusa alaptipus +alaptõkébõl alapt +alapuljon alapulj +alapértelmezéstõl alapertelmezes +alkoholistákat alkoholist +alkotják alkotj +alkotmánysértést alkotmanysertes +alkotásaihoz alkotas +alkotásról alkotas +alkotójával alkot +alkönyvtár alkonyvtar +alközpontjait alkozpontj +almappák almapp +alpinistákat alpinist +alsó-középosztályokat also-kozeposztaly +alsós alsos +altípusaik altipus +aluliak alul +alumíniumtrösztnél aluminiumtroszt +alvásra alvas +alábbiakból alabb +alárendelve alarendel +alázni alazn +aláírásnál alairas +ambiciózus ambiciozus +amelyekbe amely +amelyikbõl amely +amennyire amenny +amierikaiak amierika +amilyennel amilyen +amputált amputal +andalító andalit +angolt angol +annyiból anny +antibakteriális antibakterialis +antológiájának antologi +anyagiakat anyag +anyagra anyag +anyakönyvezték anyakonyvez +anyavállalata anyavallalat +anyukámnak anyu +anyámat any +apacstanyára apacstany +apjuknak apj +apparátustól apparatus +apporttal apport +apróbb aprobb +apuci apuc +apácák apac +apósomat apos +aranylábú aranylabu +aranyszerdájával aranyszerd +araszoló araszol +arckifejezését arckifejezes +arculatuk arculat +arisztokráciák arisztokrac +arányban arany +arányáról arany +asszonyok asszony +aszok asz +asztalkához asztal +asztalukon asztal +atlanti atlant +atomtechnika atomtechn +babonákkal babon +baglyokat bagly +bajlódás bajlodas +bajorok bajor +baktató baktat +balesetek bales +balkezestõl balkezes +ballábasának ballabas +balti balt +bank ban +bankkal ban +banknév banknev +bankszámlájára bankszaml +barangolásunk barangolas +barlangja barlangj +barokk barok +barátainkkal barat +barátkozik baratkoz +barátnõjéhez baratn +barátnõméknél baratnom +barátomhoz barat +barátságok baratsag +barátunknál barat +beakadjak beakadj +becsomagoltunk becsomagolt +becsúsztatta becsusztat +becsüli becsul +becézzük becezz +bedobóját bedoboj +beengedtek beenged +befejelte befejelt +befejezése befejezes +befektetés befektetes +befektetésére befektetes +befizetem befizet +befizetési befizetes +befogadtak befogadt +befolyásolhat befolyasolh +befolyásolását befolyasolas +befordulok befordul +begyalogoltunk begyalogolt +begépelhetjük begepelhetj +behajtása behajtas +behipírozzák behipirozz +behívott behivot +bekapcsolják bekapcsolj +bekapcsolódunk bekapcsolod +bekerülését bekerules +bekezdésnél bekezdes +bekukkantott bekukkantot +beköszöntõben bekoszont +bekövetkezését bekovetkezes +beleborultak beleborult +beleegyezés beleegyezes +belefestékezhetnek belefestekezhet +belegondoltam belegondolt +beleibe bel +belekezdtek belekezd +belemelegedne belemelegedn +belenyúltam belenyult +belerohantak belerohant +beleszárad beleszar +beletartozik beletartoz +beleunnánk beleunn +beleépített beleepitet +belföldiekkel belfold +belsejében bels +beltagok beltag +belátná belatn +berendezésgyártó berendezesgyart +berontottak berontott +beruházótól beruhaz +besorolásában besorolas +beszedésének beszedes +beszerzése beszerzes +beszlopáltam beszlopalt +beszállítójává beszallit +beszámolóinak beszamol +beszámításnak beszamitas +beszédfelismerõ beszedfelismer +beszédének beszed +beszélgettem beszelgett +beszélgetésük beszelgetes +beszéljelek beszeljel +beszélték beszel +beszólások beszolas +betakarja betakarj +betartásában betartas +betegnek beteg +betegségét betegseg +betelepülés betelepules +beterítik beterit +betolni betoln +betársul betars +betétet betet +betöltetlen betoltetl +betömhetnék betomhet +betûcsoport betucsopor +betûszó betusz +bevallott bevallot +beveszi bevesz +bevetéseken bevetes +bevezetések bevezetes +bevezetõ bevezet +bevonandó bevonand +bevonulását bevonulas +bevágok bevag +bevándorlókból bevandorl +bevásároltunk bevasarolt +bevételforrásokat bevetelforras +bezáratott bezaratot +bezárásakor bezarasakor +beálltához beallt +beállítottam beallitott +beállításban beallitas +beállítófelületen beallitofelulet +beépíthetõ beepithet +beérkeztünk beerkezt +beírható beirhat +beülni beuln +bibliográfiáját bibliografiaj +biciklim bicikl +bicikliznék bicikliz +bilincselték bilincsel +billentyûs billentyus +biológiánk biologi +birodalmat birodalm +birtokoljuk birtokolj +bizalmasságnak bizalmassag +bizományba bizomany +bizonyságot bizonysag +bizonyult bizonyul +bizonyítottság bizonyitottsag +bizonyítása bizonyitas +bizottságba bizottsag +biztatni biztatn +biztonságkockázati biztonsagkockazat +biztonságukkal biztonsag +biztosít biztos +biztosítottnál biztositott +biztosításával biztositas +biztosítótársaságot biztositotarsasag +blúzok bluz +bocsátana bocsatan +bocsátottuk bocsatott +bográcsos bogracsos +bokamozdulatok bokamozdul +bokályokat bokaly +boldogságra boldogsag +boltban bolt +boltról bolt +bombariadó bombariad +bombázásokról bombazas +bontani bontan +bontású bontasu +bonyolulttá bonyolult +borjút borju +borostás borostas +borpincék borpinc +borzadállyal borzadallyal +borából bor +borízû borizu +bosszú bosszu +boszniai boszni +botlik botl +botrányos botranyos +bravúrok bravur +bringáztunk bringazt +brókercége brokerceg +buddhizmusról buddhizmus +bukkantak bukkant +bukásra bukas +bulin bul +bunkósbothoz bunkosbot +burnusznak burnusz +buszmegbe buszmeg +buszpályaudvarra buszpalyaudvar +butasága butasag +buzdításokkal buzditas +bábfilmben babfilm +bádogdobozba badogdoboz +bálnavadászati balnavadaszat +bámészkodtunk bameszkodt +bánt bant +bántsak bants +bányái bany +bányászokat banyasz +bárgyúság bargyusag +bármelyikkel barmely +bármire barm +bárányt barany +bátorítja batoritj +bátyámat baty +bázisul bazis +békegalambot bekegalamb +békéjét bekej +bélésanyagot belesanyag +bérbeadásához berbeadas +bérelnie berelni +bérgyártója bergyart +bérletidíj-emelésrõl berletidij-emeles +bért bert +bíborvörösek biborvoros +bírságot birsag +bírálatában biralat +bíróküldéssel birokuldes +bízhat bizh +bíztatási biztatas +bódultjai bodultj +bólintottak bolintott +bõrnek bor +bõvülési bovules +bölcsek bolcs +bömbölték bombol +börtönrendszerek bortonrendszer +búcsúzkodtunk bucsuzkodt +bújnom bujn +bútorokat butor +búzát buz +bûnmegelõzési bunmegelozes +bûntárgyalás buntargyalas +bûnözés bunozes +bûvkörébõl buvkor +büdzsétervekben budzseterv +büntetendõ buntetend +büntetést buntetes +bürokráciája burokraci +jajkiáltásokat jajkialtas +javadalmazást javadalmazas +javaslatok javasl +javul jav +javáért jav +javítottam javitott +jegyzést jegyzes +jegyzõkönyvhöz jegyzokonyv +jobbat jobb +járási jaras +játszóházzal jatszohaz +játékból jat +játéknál jat +játékosokat jatekos +játékszabályok jatekszabaly +jázmin jazm +jégrõl jeg +jóformán joform +jóindulatúak joindulatu +jóképû jokepu +jólétnek jolet +jóslat josl +jósolta josolt +jótékonyság jotekonysag +jóváhagyásokat jovahagyas +jóváírási jovairas +jóízûen joizu +jöjjünk jojj +jöttünk jott +jövedelempolitikai jovedelempolitik +jövedelmezõ jovedelmez +jövetel jovetel +jövõjével jov +jövõrõl jov +júniusra junius +kabinja kabinj +kabátjára kabatj +kacskaringósat kacskaringos +kajakszövetség kajakszovetseg +kajütje kajutj +kalandnak kaland +kalapba kalap +kalauzunkul kalauz +kalkulációja kalkulaci +kalózkiadásban kalozkiadas +kamaráknál kamar +kamaszon kamasz +kamatfizetésre kamatfizetes +kamatostól kamatos +kamatterhek kamatterh +kamerásítása kamerasitas +kampányra kampany +kancellária kancellari +kannák kan +kanyarodik kanyarod +kapacitásból kapacitas +kapacitású kapacitasu +kapcsolatai kapcsolat +kapcsolatnak kapcsolat +kapcsolatosak kapcsolatos +kapcsolatuk kapcsolat +kapcsolnunk kapcsoln +kapcsolódhatunk kapcsolodhat +kapcsolódáshoz kapcsolodas +kapcsolóval kapcsol +kapható kaphat +kapitánya kapitany +kapja kapj +kapniuk kapniu +kapuban kapu +kapujánál kapu +kaput kapu +kapást kapas +karakterkódokkal karakterkod +karattyolta karattyolt +karbantartására karbantartas +karibi karib +karjába karj +karok kar +karral kar +karvalyszerû karvalyszeru +karókat kar +kastélyba kastely +katalizálja katalizalj +katarzisról katarzis +kategorizálva kategorizal +kategóriás kategorias +katonaiskolába katonaiskol +katonának katon +kattintásról kattintas +kavarta kavart +kazettákra kazett +keblét kebl +kedd-szerda kedd-szerd +kedveltem kedvelt +kedvencet kedvenc +kedvesének kedves +kedvezménynek kedvezmeny +kedvtõl kedv +keféli kefel +kegyeskedjék kegyeskedj +kegyvesztett kegyvesztet +keletkezett keletkezet +keletnémetek keletnem +kellemetlenséggel kellemetlenseg +kellékek kellek +kelni keln +keltheti kelthet +kemencék kemenc +keménységét kemenyseg +kenyér kenyer +kenõcs kenocs +kerepelõ kerepel +keresetlevélnek keresetlevel +keresheti kereshet +kereskedelmi kereskedelm +kereskedõházban kereskedohaz +keresne keresn +kerested kerest +keresztapám keresztap +keresztezve keresztez +keresztnevemmel keresztnev +kereszténység keresztenyseg +keresztülmenni keresztulmenn +keresésre kereses +keresõmotorokra keresomotor +kereteinek keret +keretnek keret +keretösszeg keretosszeg +keringõ kering +kertvárosban kertvaros +kerékpárjavítók kerekparjav +kerít ker +kerül ker +kerülgettük kerulgett +kerülne keruln +kerülését kerules +keshedt kesh +kettesben kettes +kettõhöz kett +kettõvel kett +keverték kever +kevésnek keves +kezdeményezésbe kezdemenyezes +kezdeni kezden +kezdetérõl kezdet +kezdjen kezdj +kezdõbetûk kezdobet +kezdõoldal kezdooldal +kezelheti kezelhet +kezelte kezelt +kezeléséreképes kezeleserekepes +kezelõjük kezel +kezességet kezesseg +kezüket kez +kft.-re kft.- +kht.-vá kht.- +kiabálás kiabalas +kiadásai kiadas +kiadásánál kiadas +kiadós kiados +kialakultak kialakult +kialakított kialakitot +kialudtam kialudt +kibobozza kiboboz +kibocsáthatóságát kibocsathatosag +kibocsátásáig kibocsatas +kibomló kiboml +kibékíteni kibekiten +kibõvíti kibovit +kicsavarni kicsavarn +kicserélésében kicsereles +kicsit kics +kicsúfolták kicsufolt +kiderül kider +kidolgoznia kidolgozni +kidolgozásával kidolgozas +kiegyenesítette kiegyenesitet +kiegészítette kiegeszitet +kiegészítésével kiegeszites +kiejthetõk kiejthet +kielégítési kielegites +kiemelkedik kiemelked +kiemelték kiemel +kijátszani kijatszan +kijövõ kijov +kikapcsolódhatunk kikapcsolodhat +kikerestethet kikeresteth +kikerülök kikerul +kikopott kikopot +kiképzési kikepzes +kikísérem kikiser +kikötést kikotes +kikötött kikotot +kiküldésével kikuldes +kilencet kilenc +kilengések kilenges +kilométerekre kilometer +kilyukadunk kilyukad +kilátástalan kilatastal +kilépne kilepn +kilétüket kilet +kilöttyintett kilottyintet +kimegyünk kimegyu +kimenjünk kimenj +kimenõm kimen +kimerültségében kimerultseg +kimondotta kimondot +kimutatható kimutathat +kimûvelõdnek kimuvel +kinevezhetõ kinevezhet +kintrõl kint +kinyithatom kinyithat +kinyomtatás kinyomtatas +kinyúló kinyul +kiolthatjuk kiolthatj +kiosztására kiosztas +kipihenhetném kipihenhetn +kipróbálhatják kiprobalhatj +kipróbálásának kiprobalas +kirabolnak kirabol +kirakatpolitika kirakatpolit +kirendelt kirendel +kiruccanást kiruccanas +királynál kiraly +kirándul kirand +kirándulással kirandulas +kirúgatá kirugat +kisasszonyt kisasszony +kiscsirkéket kiscsirk +kisebbségeknek kisebbseg +kisfiával kisfi +kisgyereknek kisgyer +kishíjján kishijj +kiskereskedelem kiskereskedel +kiskoromra kiskor +kisliszoltam kisliszolt +kismiska kismis +kispárnámat kisparn +kisugárzású kisugarzasu +kisvállalkozásoké kisvallalkozas +kiszabását kiszabas +kiszolgálatlanul kiszolgalatlan +kiszolgáltatta kiszolgaltat +kiszolgálócsaládja kiszolgalocsaladj +kiszolgálóját kiszolgaloj +kiszolgálóplatform kiszolgaloplatform +kiszorulnak kiszorul +kiszállása kiszallas +kiszámításának kiszamitas +kiszûrjék kiszurj +kisütött kisutot +kitaláltuk kitalalt +kitartás kitartas +kitelepítési kitelepites +kiterjessze kiterjessz +kiterjesztésére kiterjesztes +kitette kitet +kitálalta kitalalt +kitételek kitetel +kitöltögetni kitoltogetn +kitörésének kitores +kitûnõnek kitun +kitüntetést kituntetes +kivenni kivenn +kivettünk kivett +kivitelezhetõnek kivitelezhet +kivitték kivit +kivont kivon +kivágtuk kivagt +kiválasztás kivalasztas +kiválogatni kivalogatn +kiváltója kivalt +kivárjuk kivarj +kivégzõosztag kivegzoosztag +kivétellel kivetel +kizuhant kizuhan +kizárása kizaras +kizárólagossága kizarolagossag +kiállítandó kiallitand +kiállításnak kiallitas +kiállítói kiallit +kiáltották kialtott +kiáltással kialtas +kiépíteni kiepiten +kiépítésétõl kiepites +kiírt kiir +kiújult kiujul +kiüt kiut +klasszisok klasszis +klinikán klin +klubnál klub +klíringelszámolás kliringelszamolas +koccanás koccanas +kockázataiban kockazat +kockázatviselés kockazatviseles +kocogásomból kocogas +kocsikból kocs +kocsit kocs +kocsonyás kocsonyas +kolbászt kolbasz +kollektivizálás kollektivizalas +kollégáik kolleg +kolostorból kolostor +kombinált kombinal +komikusan komikus +kommunikációkezelésére kommunikaciokezeles +kommunisták kommunist +komolyságot komolysag +kompenzációra kompenzaci +komplexé komplex +komponisták komponist +komputer-tomográfos komputer-tomografos +koncentrál koncentral +koncepcióját koncepcioj +koncertjeiken koncertj +kondim kond +konferenciákon konferenc +konfigurálható konfiguralhat +konfliktusokkal konfliktus +konjunkturálisnak konjunkturalis +konkurencián konkurenci +konstrukciókkal konstrukc +konszernjognál konszernjog +kontextusban kontextus +kontrollingterületeket kontrollingterul +konténerrel kontener +konvertálnia konvertalni +konyháink konyh +konzisztensek konzisztens +konzulja konzulj +koordinálásával koordinalas +kopogós kopogos +kopott kopot +korabeli korabel +koreográfiával koreografi +korlátjaként korlatj +korlátolttá korlatolt +korlátozza korlatoz +korlátozásának korlatozas +kormányai kormany +kormányfõt kormanyf +kormánymozdulatot kormanymozdulat +kormányozottak kormanyozott +kormányszervnek kormanyszerv +kormányzatilag kormanyzatilag +kormányétól kormany +korombeli korombel +koronáján koron +korrekciójára korrekci +korrumpálásával korrumpalas +korszakából korsz +korszerûtlennek korszerutlen +korunkban kor +koránkelés korankeles +kosut kosu +kosárlabda kosarlabd +kovácsolni kovacsoln +kristálytiszta kristalytiszt +kritériumainak kriterium +krumplinak krumpl +kubizmusból kubizmus +kukoricából kukoric +kulcslyuknál kulcslyu +kulcsával kulcs +kultusztárca kultusztarc +kultúránk kultur +kupicáját kupicaj +kurjantotta kurjantot +kurzusokig kurzus +kutatnak kutat +kutatási kutatas +kutatói kutat +kutyagumibotja kutyagumibotj +kutyái kuty +kutyául kuty +kvízjátékokban kvizjatek +kymriül kymr +kábelinfrastruktúrája kabelinfrastruktur +kábulatban kabulat +kádban kad +káoszból kaosz +káprázó kapraz +károknál kar +kártyákkal karty +kártyázásnál kartyazas +kárára kar +kávébárok kavebar +kávékínálat kavekinal +kéjjel kej +kékült kekul +kémkedõ kemked +kényelmesebbé kenyelmeseb +kényeskedett kenyeskedet +kényszermunkatáborba kenyszermunkatabor +kényszerít kenyszer +kényszerû kenyszeru +képbõl kep +képernyõ keperny +képeslapban kepeslap +képességekhez kepesseg +képesítés kepesites +képezték kepez +képinformációk kepinformac +képminõséget kepminoseg +képpontba keppont +képtelefonként keptelefon +képviseleteivel kepviselet +képviselje kepviselj +képviselõ-testület kepviselo-testul +képviselõjének kepvisel +képzelet kepzel +képzeltek kepzel +képzettség kepzettseg +képzõ kepz +képállományt kepallomany +kérdezek kerdez +kérdezné kerdezn +kérdém kerd +kérdéseket kerdes +kérdésre kerdes +kérdõjelezte kerdojelezt +kérelmek kerelm +kérelmüket kerelm +kérje kerj +kérte kert +kéréseknek keres +késedelem kesedel +késlekedés keslekedes +késsük kess +készleteinek keszlet +készpénzt keszpenz +készáruraktár keszaruraktar +készítettünk keszitett +készítési keszites +készületlenül keszuletlen +készültségben keszultseg +készüléket keszul +készülõdhetünk keszulodhet +késõ kes +kétcsatornás ketcsatornas +kétfedeles ketfedeles +kétirányú ketiranyu +kétoldalasan ketoldalas +kétszáz ketszaz +kétsége ketseg +kétévenkénti ketevenkent +kézbõl kez +kézigránátokat kezigran +kézilabdaedzõ kezilabdaedz +kéziratát kezirat +kézzel kez +kígyózó kigyoz +kínja kinj +kínozza kinoz +kínálatot kinalat +kínálna kinaln +kíséretemmel kiseret +kísérletekre kiserl +kísértem kisert +kísértette kisertet +kísérõkkel kiser +kívánatosak kivanatos +kívánja kivanj +kívánságra kivansag +kívülállók kivulall +kódexet kodex +kódoldóval kodold +kókuszszõnyegre kokuszszonyeg +kórházaknak korhaz +kóros koros +kõ ko +kõmûvesmunkákat komuvesmunk +kõvédermedten kovedermedt +ködöt kod +kölcsönadásban kolcsonadas +kölcsönöz kolcsonoz +költemények koltemeny +költségeik koltseg +költséghatékonnyá koltseghatekonny +költségszámítás koltsegszamitas +költségvetésébe koltsegvetes +költsük kolts +költöm kolt +kölykei kolyk +könnyebbé konnyeb +könnyelmûséget konnyelmuseg +könnyûszerrel konnyuszer +könyvekbõl konyv +könyvelõként konyvel +könyvkiadásban konyvkiadas +könyvtára konyvt +könyvtárbejegyzésében konyvtarbejegyzes +könyvtárnév konyvtarnev +könyvtárához konyvtar +könyvvizsgálókat konyvvizsgal +könyékig kony +könyörgött konyorgot +köpenyszerûség kopenyszeruseg +körbenézek korbenez +körbõl kor +körképhez korkep +környezetekbe kornyez +környezetrehabilitációs kornyezetrehabilitacios +környezetéhez kornyezet +környéke korny +körvonala korvonal +körzetet korzet +körét kor +körönként koron +körük kor +körülményeidhez korulmeny +körülményektõl korulmeny +körültekintés korultekintes +körülírhatók korulirh +köszi kosz +köszönhetõen koszonheto +köszönésemre koszones +kötelességbõl kotelesseg +kötelességének kotelesseg +kötelezettségeinknek kotelezettseg +kötelezettségszegés kotelezettsegszeges +kötelezettségünkké kotelezettseg +kötelezõvé kotelez +kötetek kot +kötettel kotet +kötniük kotniu +kötvényekre kotveny +kötvénytulajdonosok kotvenytulajdonos +kötést kotes +kötötte kotot +kötözködnek kotoz +követelem kovetel +követelményeket kovetelmeny +követelményének kovetelmeny +követeléseire koveteles +követelésükre koveteles +követkesztében kovetkeszt +következményeitõl kovetkezmeny +következtettek kovetkeztet +következõhöz kovetkez +követségen kovetseg +követõre kovet +közalkalmazotti kozalkalmazott +közbeékelt kozbeekel +közelebbit kozelebb +közeleg kozeleg +közelébe kozel +közelítõ kozelit +közfeladat kozfel +közgyûlésein kozgyules +közzé koz +latolgatta latolgat +leadjuk leadj +lebegnék lebeg +lebontásának lebontas +lebukott lebukot +lecsapni lecsapn +lecsússzak lecsussz +ledöfött ledofot +leereszkedtünk leereszkedt +lefedettségén lefedettseg +lefekvés lefekves +lefoglaljunk lefoglalj +lefolytatásától lefolytatas +lefáradtan lefaradt +legaktuálisabb legaktualisabb +legbelsejét legbelsej +legcsúnyább legcsunyabb +legelméletibb legelmeletibb +legendának legend +legfontosabbak legfontosabb +legfölül legfol +leghíresebb leghiresebb +legjobbak legjobb +legkisebbekrõl legkisebb +legkönnyelmûbb legkonnyelmubb +leglényegesebb leglenyegesebb +legnagyobbika legnagyobb +legostobább legostobabb +legrövidebben legrovideb +legszomorúbb legszomorubb +legtisztességesebb legtisztessegesebb +legtökéletesebb legtokeletesebb +legváltozatosabb legvaltozatosabb +legyártott legyartot +legyûrhesse legyurhes +legényeket legeny +legördülõ legordul +leheletét lehelet +lehetett lehetet +lehetõségben lehetoseg +lehetõségekre lehetoseg +lehetõségét lehetoseg +lehunyta lehunyt +lehülyézi lehulyez +lejegyzésére lejegyzes +lejárata lejarat +lejártára lejart +lejöjjön lejojj +lekiáltott lekialtot +lekéstem lekest +leküzdésében lekuzdes +leleplezéseit leleplezes +lelkeket lelk +lelkiereje lelkier +lelkiismeretét lelkiismeret +lelkére lel +lelohad leloh +lelógott lelogot +lemaradunk lemarad +lemez-alrendszereiben lemez-alrendszer +lemezekké lemez +lemezkezelési lemezkezeles +lemezterület-veszteségekrõl lemezterulet-veszteseg +lemezénél lemez +lemondunk lemond +lemásolt lemasol +lendített lenditet +lengette lenget +lennél len +lenyírta lenyirt +leosont leoson +lepedõn lep +leplezze leplez +lepõdve lep +lerakódott lerakodot +leromlottakat leromlott +lerövidítette leroviditet +leszakadt lesz +leszerelõ leszerel +leszállt leszall +leszállításakor leszallitasakor +leszámítva leszamit +leszúrni leszurn +lesújthat lesujth +letakarva letakar +letartóztatásról letartoztatas +leteltével letelt +letiltása letiltas +letépte letept +letölteni letolten +letöltésre letoltes +letörölheti letorolhet +levegõjébe leveg +leveleiket level +levelezek levelez +levelét level +lexikonja lexikonj +lezárni lezarn +leáldozni lealdozn +leányiskolában leanyiskol +leányvállalatra leanyvallalat +leépítették leepitet +leértékelési leertekeles +leírnom leirn +leírással leiras +leülhettünk leulhett +leütöttem leutott +liberális liberalis +licencértékesítõ licencertekesit +ligában lig +likvidálás likvidalas +link lin +listáit list +literekkel liter +lobbyerõt lobbyer +locsolkodásból locsolkodas +logikájából logik +lojalitása lojalitas +lombjait lombj +loptak lopt +lottóláz lottolaz +lovagolni lovagoln +lovaspálya lovaspaly +lustább lustabb +luxusnõ luxusn +lyukat lyu +lábak lab +lábbeli-kiskereskedelmi labbeli-kiskereskedelm +lábtörlõnkre labtorl +lábával lab +lágy lagy +lámpás lampas +láncolat lancol +láncú lancu +lányba lany +lányokon lany +lármán larm +láthassak lathass +láthattad lathatt +látképen latkep +látnának latn +látogatottsága latogatottsag +látogatásuk latogatas +látogatónknak latogat +látszaniuk latszaniu +láttatni lattatn +látványosság latvanyossag +látóhatár latohatar +lázadt laz +lázában laz +légibemutató legibemutat +légitámadásokat legitamadas +légkörbõl legkor +légtér legter +légügyi legugy +lélegzetünk lelegzet +lélekállapot lelekallap +lényegtelen lenyegtel +lényrõl leny +lépcsõjén lepcsoj +léphetett lephetet +lépnek lep +lépték lep +lépéselõnyben lepeselony +lépõnek lep +létesítményekben letesitmeny +létesült letesul +létezésében letezes +lévõnek lev +líra lir +lógatja logatj +lószõrékszer-készítés loszorekszer-keszites +lõni lon +lökdösõdött lokdosodot +lövedékek lovedek +lúdtalpas ludtalpas +madarakat madar +maffiához maffi +magaelõtt magaelot +magasabbnak magasabb +magasságnak magassag +magatartást magatartas +magfizikai magfizik +magnóztunk magnozt +magukénak magu +magyar-történelem magyar-tortenel +magyarságtudatomat magyarsagtudat +magyarázatuk magyarazat +magyarázott magyarazot +magállapított magallapitot +magángyûjtemény magangyujtemeny +magánház maganhaz +magánmásolás maganmasolas +magánszemélyeket maganszemely +magántõke magant +magánzárkával maganzar +magánügye maganugy +majdhogynem majdhogyn +majálisra majalis +malaca malac +mamutokéval mamut +mamáéknak mam +manillagyökér manillagyoker +mappaablakban mappaabl +mappára mapp +maradi marad +maradtam maradt +maradó marad +marhaságok marhasag +marketingig marketing +markomat mar +marxista-leninista marxista-leninist +masszírozni masszirozn +matekot mat +matricákat matric +matyószobánkban matyoszob +maximáló maximal +mechanizmusaik mechanizmus +mederbe meder +megabájtig megabajt +megadni megadn +megadásra megadas +megakadályoz megakadalyoz +megakasztott megakasztot +megalakuló megalakul +megalapozottá megalapozot +megalkotandó megalkotand +megalázkodik megalazkod +megbarátkozik megbaratkoz +megbecsülöm megbecsul +megbeszélve megbeszel +megbirkózni megbirkozn +megbocsátók megbocs +megbotlottam megbotlott +megbánni megbann +megbénulnak megbenul +megbízhatatlanságig megbizhatatlansag +megbízhatóságára megbizhatosag +megbízása megbizas +megbûvölve megbuvol +megerõsíti megerosit +megetettem megetett +megfeledkeztek megfeledkez +megfelelõbb megfelelobb +megfenyegetik megfenyeget +megfigyelt megfigyel +megfigyelõmissziójának megfigyelomisszi +megfizette megfizet +megfogalmazza megfogalmaz +megfogják megfogj +megfontolásból megfontolas +megformázva megformaz +megfutamodás megfutamodas +megfõzte megfozt +meggazdagodást meggazdagodas +meggondolásra meggondolas +meggyógyul meggyogy +meggyõzõdjön meggyozodj +meggyúlni meggyuln +meghajtotta meghajtot +meghajtóprogramot meghajtoprogr +meghallgassam meghallgass +meghallgatását meghallgatas +meghaltam meghalt +meghatalmazotti meghatalmazott +meghatott meghatot +meghatároznia meghatarozni +meghatározásaként meghatarozas +megható meghat +meghirdettek meghirdet +meghonosodott meghonosodot +meghozatalában meghozatal +meghálálni meghalaln +meghívva meghiv +meghódítani meghoditan +meghúzni meghuzn +megijedtünk megijedt +megjegyzésére megjegyzes +megjelentetni megjelentetn +megjelenésébõl megjelenes +megjelenítse megjelenits +megjelenítõkártyája megjelenitokarty +megjelölést megjeloles +megjátszani megjatszan +megkaphatja megkaphatj +megkaptuk megkapt +megkereshetünk megkereshet +megkeresõk megkeres +megkezdenie megkezdeni +megkezdõdhetett megkezdodhetet +megkurtításával megkurtitas +megkérdõjelezhetetlen megkerdojelezhetetl +megkértük megkert +megkísérelt megkiserel +megkönnyebbített megkonnyebbitet +megköszöntem megkoszont +megkötésétõl megkotes +megközelítette megkozelitet +megküldéssel megkuldes +megkülönböztetést megkulonboztetes +meglennének meglenn +meglepetésük meglepetes +meglesni meglesn +meglátogasson meglatogass +megláttam meglatt +megmagyarázhatatlan megmagyarazhatatl +megmaradás megmaradas +megmenthetõ megmenthet +megmondhassa megmondhas +megmászott megmaszot +megmérkõzöm megmerkoz +megnevezhetetlen megnevezhetetl +megnyerjék megnyerj +megnyilvánulásokat megnyilvanulas +megnyitottuk megnyitott +megnyitóval megnyit +megnyugtatott megnyugtatot +megnézhesse megnezhes +megnézze megnez +megnövekedtek megnoveked +megokolással megokolas +megoldása megoldas +megoldásokat megoldas +megoldásába megoldas +megoszlanak megoszl +megosztjuk megosztj +megosztásnak megosztas +megpecsételõdik megpecsetelod +megpillantva megpillant +megpróbálná megprobaln +megpucolt megpucol +megragadott megragadot +megreggeliztek megreggeliz +megrendelései megrendeles +megrendelõk megrendel +megrendíti megrendit +megriadva megri +megrágják megragj +megrögzõdnie megrogzodni +megsebezték megsebez +megsemmisítésre megsemmisites +megsokallhatták megsokallhatt +megszabadította megszabaditot +megszakítottság megszakitottsag +megszegné megszegn +megszemélyesítheti megszemelyesithet +megszerezhetetlen megszerezhetetl +megszerveztük megszervezt +megszerzésére megszerzes +megszokni megszokn +megszorítások megszoritas +megszámolni megszamoln +megszólal megszolal +megszólítására megszolitas +megszûntnek megszunt +megszûnésérõl megszunes +megszületését megszuletes +megszüntetésekre megszuntetes +megsértették megsertet +megsûrûsödtek megsurusod +megtagadták megtagadt +megtakarításoknak megtakaritas +megtalálnia megtalalni +megtanulhatom megtanulhat +megtanulása megtanulas +megtapasztaltuk megtapasztalt +megtartottam megtartott +megtehetne megtehetn +megtelepülésükön megtelepules +megtudom megtud +megtámadási megtamadas +megtépázhatják megtepazhatj +megtételének megtetel +megtöltik megtolt +megtörténjék megtortenj +megugrott megugrot +megvakarta megvakart +megvalósulásához megvalosulas +megvalósítva megvalosit +megvenni megvenn +megvetettünk megvetett +megvilágosodik megvilagosod +megvizsgálhatja megvizsgalhatj +megvonja megvonj +megválasztottnak megvalasztott +megvált megval +megváltoztathatatlannak megvaltoztathatatlan +megváltoztatásakor megvaltoztatasakor +megváltásáról megvaltas +megvásárlásának megvasarlas +megvédelmezni megvedelmezn +megyehatárokon megyehatar +megzavart megzavar +megállapodás megallapodas +megállapodásunk megallapodas +megállapított megallapitot +megállapítások megallapitas +megálljam megallj +megállítod megallit +megárt megar +megélhetésem megelhetes +megépítésében megepites +megérett megeret +megérkezett megerkezet +megérném megern +megértjük megertj +mezõny mezony +micsodák micsod +mihozzánk mihozz +mikrohitel-állományt mikrohitel-allomany +miközben mikoz +milliárdnyi milliardny +milliós millios +mindanynyian mindanynyi +mindegyiknek mindegy +mindened minden +mindenfélét mindenfel +mindenkinél minden +mindennek minden +mindezeket mindez +mindkettõben mindkett +mindnyájunknak mindnyaj +miniesszében miniessz +minimálisra minimalis +miniszterelnöknek minisztereln +minisztériumból miniszteriu +mintakódokkal mintakod +mintát mint +minõségfelmérési minosegfelmeres +minõségük minoseg +minõsítést minosites +minõsülõ minosul +misztikuma misztikum +mivoltában mivolt +mobil-elõfizetõ mobil-elofizet +mobilitás mobilitas +mobilszolgáltatásokra mobilszolgaltatas +mobiltelefonban mobiltelefon +moccanás moccanas +motortárcsát motortarcs +mozaikszerû mozaikszeru +mozdulatokkal mozdul +mozdíthatatlanul mozdithatatlan +mozgatva mozgat +mozgásképes mozgaskepes +mozgó mozg +moziból moz +mozogjanak mozogj +mulaszthatom mulaszthat +mulatni mulatn +multifunkciós multifunkcios +multinacionálisok multinacionalis +munkacsoport-tagság munkacsoport-tagsag +munkaerõhöz munkaer +munkahelyedre munkahely +munkahelyén munkahely +munkaigényes munkaigenyes +munkakörére munkakor +munkamódszere munkamodsz +munkaruhákat munkaruh +munkatársaimmal munkatars +munkaviszonyban munkaviszony +munkavállalóitól munkavallal +munkaállomásáról munkaallomas +munkájukról munk +munkálatok munkal +munkáltatónál munkaltat +munkásaitól munkas +munkázni munkazn +mutathatnék mutathat +mutatom mutat +mutatóját mutatoj +mutáción mutaci +muzulmán muzulm +mágy magy +májusára majus +mániákusan maniakus +márkanevet markanev +mármint marmin +más mas +másikban mas +másképp maskepp +másodikat masod +másodperce masodperc +másodunokatestvéremet masodunokatestver +másolatai masolat +másolatát masolat +másolásban masolas +másolópapíros masolopapiros +mászik masz +mászóka masz +mécs mecs +médiakonszern mediakonszer +médiaóriás mediaorias +mégis megis +méltatlankodva meltatlan +méltójan melt +mélyebbrõl melyebb +mélyrepülés melyrepules +mélységû melysegu +mércét merc +méreteinek meret +méretétõl meret +mérgezõ mergez +mérkõzéssel merkozes +mérlegelés merlegeles +mérni mern +mérsékelten mersekelt +mértékegységgel mertekegyseg +mértékérõl mert +mérésem meres +méterrel meter +módja modj +módjával modj +módosulások modosulas +módosították modositott +módosításokra modositas +módozata modozat +módszeremmel modszer +módszerével modszer +mögé mog +múlna muln +múltjáról multj +múló mul +múzeumokba muzeum +mûcsalit mucsal +mûfaji-elméleti mufaji-elmelet +mûfelhasználásra mufelhasznalas +mûholdak muhold +mûkiválasztás mukivalasztas +mûködtem mukodt +mûködtetésének mukodtetes +mûködésnek mukodes +mûködésükrõl mukodes +mûpéldány mupeldany +mûsoraiba musor +mûsorfajta musorfajt +mûsorokra musor +mûsorszámok musorszam +mûsorára musor +mûszó musz +mûtárgyaukciókat mutargyaukc +mûved muv +mûveknél muv +mûveletekrõl muvel +mûveltebbek muveltebb +mûvelõdöm muvelod +mûvészbejáró muveszbejar +mûvészettörténetet muveszettortenet +mûvük muv +nadrágom nadrag +nagyszerûen nagyszeru +nagyszüleimnél nagyszul +nagyságrendje nagysagrendj +nagytöbbsége nagytobbseg +nagyvállalkozásoknak nagyvallalkozas +nagyállomáson nagyallomas +nanoszekundumokban nanoszekundum +napilapban napilap +napja napj +napján napj +naplója napl +napokról nap +napunk nap +nedveibõl nedv +negyedakkora negyedakk +negyedébe negyed +negyedóráig negyedor +negyvenre negyven +növelését noveles +növénytermesztés novenytermesztes +objektumsémák objektumsem +offenzíváját offenzivaj +okokat oko +penész penesz +perceket perc +abbahagy abbahagy +abc abc +abortusz abortusz +abrosszal abrosszal +abrosz abrosz +abszolutizmus abszolutizmus +acetilszalicilsav acetilszalicilsav +acsony acsony +adag adag +adakoz adakoz +adat adat +adatbevitel adatbevitel +adatlemez adatlemez +adatsor adatsor +add add +addressing addressing +adsz adsz +aecxml aecxml +agenda-setting agenda-setting +agy agy +agyagember agyagember +ahhoz ahhoz +ahol ahol +ajjas ajjas +akar akar +akarj akarj +akat akat +akin akin +akit akit +akkormikor akkormikor +akusztikus akusztikus +al al +alacsonyabb alacsonyabb +alantas alantas +alany alany +alapanyag alapanyag +alaplap alaplap +alaposabb alaposabb +alapoz alapoz +alkohol alkohol +alkony alkony +alkoss alkoss +almanar almanar +alperes alperes +already already +aludj aludj +ama ama +ambivalens ambivalens +amej amej +amely amely +ami ami +amig amig +amikoris amikoris +amit amit +amur amur +an an +angol angol +angy angy +angyal angyal +anonymous anonymous +antiszemitizmus antiszemitizmus +antiszemitizmus-ellenes antiszemitizmus-ellenes +anyagias anyagias +anyagos anyagos +anyanyelv anyanyelv +anyu anyu +apu apu +ara ara +arab arab +arany arany +aranykincs aranykincs +aranyokker aranyokker +aranyosabb aranyosabb +arat arat +arkangyal arkangyal +ars ars +artisztikus artisztikus +asszonnyal asszonnyal +asszony asszony +aszimmetrikus aszimmetrikus +asztal asztal +asztalosmester asztalosmester +asztrofizikus asztrofizikus +bab bab +baj baj +bajmentesebb bajmentesebb +bajt bajt +bajusz bajusz +bajuszos bajuszos +bal-jobb bal-jobb +balkezes balkezes +balos balos +balzsamos balzsamos +banking banking +bankpiac bankpiac +bankrendszer bankrendszer +baritonszerep baritonszerep +baromfiudvar baromfiudvar +basszus basszus +becses becses +behoz behoz +bekapcsol bekapcsol +bekezd bekezd +belefoglal belefoglal +beles beles +beletesz beletesz +beljebb beljebb +bestseller bestseller +beteges beteges +betesz betesz +beugorhass beugorhass +bezzeg bezzeg +bicajos bicajos +biciklis biciklis +biosz biosz +birtokol birtokol +bizarr bizarr +bizonnyal bizonnyal +bizonyos bizonyos +bizonyosabb bizonyosabb +biztos biztos +blues blues +bob bob +bogaras bogaras +bokor bokor +boksz boksz +bokszol bokszol +boldogabb boldogabb +bolondos bolondos +bolondozz bolondozz +bolt bolt +bont bont +bonyolultabb bonyolultabb +boros boros +borpiac borpiac +bort bort +borverseny borverseny +borzas borzas +bot bot +box box +bozsikos bozsikos +bridzs bridzs +bridzzsel bridzzsel +brit-holland brit-holland +budget-ol budget-ol +busz busz +byte-os byte-os +jaj jaj +jobb jobb +kabalisztikus kabalisztikus +kajak-kenu kajak-kenu +kakadu kakadu +kaland kaland +kalandfilm kalandfilm +kalandos kalandos +kalauz kalauz +kamasz kamasz +kamatteher kamatteher +kanalas kanalas +kant kant +kaotikus kaotikus +kapar kapar +kapcsol kapcsol +kapcsolatos kapcsolatos +kapitalizmus kapitalizmus +kapsz kapsz +kapu kapu +kar kar +karakteres karakteres +karakterisztikus karakterisztikus +kardhely kardhely +karinges karinges +karmester karmester +karol karol +karrier karrier +kartell kartell +kasszarendszer kasszarendszer +kategorikus kategorikus +katolikus katolikus +kavarog kavarog +kaviccsal kaviccsal +kazah kazah +kedv kedv +kedvenc kedvenc +kefir kefir +kegyetlenebb kegyetlenebb +keksszel keksszel +kel kel +kell kell +kellemesebb kellemesebb +kelsz kelsz +kenetteljes kenetteljes +kerekes kerekes +keres keres +kereskedelmi-marketing kereskedelmi-marketing +keresztes keresztes +keretes keretes +kert kert +keserves keserves +keskenyebb keskenyebb +keszd keszd +kettes kettes +kevereg kevereg +keversz keversz +kezd kezd +kezdetekor kezdetekor +kezdetlegesebb kezdetlegesebb +kezdhetsz kezdhetsz +kft. kft. +kg kg +kg-mal kg-mal +kg-s kg-s +ki ki +kicsiny kicsiny +kidob kidob +kihez kihez +kikapcsol kikapcsol +kikuyu kikuyu +kilencedes kilencedes +kilences kilences +kilencezer kilencezer +kilencpontos kilencpontos +kilencvenkilenc kilencvenkilenc +kilencvennapos kilencvennapos +kilobites kilobites +kilogrammos kilogrammos +kilohertzes kilohertzes +kimaradsz kimaradsz +kimenetel kimenetel +kin kin +kincs kincs +kint kint +kis kis +kisasztal kisasztal +kisbusszal kisbusszal +kiscsoportos kiscsoportos +kisebb-nagyobb kisebb-nagyobb +kisember kisember +kisgyerekes kisgyerekes +kishal kishal +kisjogos kisjogos +kisseb kisseb +kit kit +kiutal kiutal +kivel kivel +kivitel kivitel +kizavar kizavar +kkt. kkt. +klasszikus klasszikus +klasszis klasszis +klimatikus klimatikus +klinikailag klinikailag +klubtag klubtag +km-es km-es +km-t km-t +kocos kocos +kocsisor kocsisor +koffer koffer +koherensebb koherensebb +koleszos koleszos +kolosszus kolosszus +kolostor kolostor +komikus komikus +kommunizmus kommunizmus +komoly komoly +komolytalanabb komolytalanabb +komorabb komorabb +komp komp +kompatibilis kompatibilis +komponens komponens +kompromisszumos kompromisszumos +komputer komputer +kondor kondor +konfliktus konfliktus +konformis konformis +kongresszus kongresszus +konkurens konkurens +konszenzus konszenzus +konszernjog konszernjog +kontrasztos kontrasztos +konty konty +kontyos kontyos +konzerv konzerv +konzisztens konzisztens +konzol konzol +konzulens konzulens +kopaszabb kopaszabb +kopp kopp +koproducer koproducer +kormos kormos +kort kort +korty korty +kosz kosz +kotnyeles kotnyeles +kozmetikus kozmetikus +kredenc kredenc +kritikus kritikus +krumplis krumplis +kubikos kubikos +kudarc kudarc +kulcs kulcs +kultikus kultikus +kupameccs kupameccs +kurd kurd +kurzus kurzus +kutyasereg kutyasereg +kutyus kutyus +lator lator +lazac lazac +lebeg lebeg +lebuj lebuj +lecsap lecsap +lefagy lefagy +lefogy lefogy +legalacsonyabb legalacsonyabb +legalantasabb legalantasabb +legaranyosabb legaranyosabb +legbonyolultabb legbonyolultabb +legdivatosabb legdivatosabb +legelemibb legelemibb +legelterjedtebb legelterjedtebb +legelvakultabb legelvakultabb +legfeljebb legfeljebb +legfinomabb legfinomabb +legforgalmasabb legforgalmasabb +legfrissebb legfrissebb +leggyakoribb leggyakoribb +leghamarabb leghamarabb +leghatalmasabb leghatalmasabb +leghosszabb leghosszabb +legintimebb legintimebb +legizgalmasabb legizgalmasabb +legjellegzetesebb legjellegzetesebb +legjobbkor legjobbkor +legkaotikusabb legkaotikusabb +legkedveltebb legkedveltebb +legkellemesebb legkellemesebb +legkeskenyebb legkeskenyebb +legkevesebb legkevesebb +legkiforrottabb legkiforrottabb +legkomolyabb legkomolyabb +legkorrektebb legkorrektebb +legkorruptabb legkorruptabb +leglepusztultabb leglepusztultabb +legmeredekebb legmeredekebb +legmesszebb legmesszebb +legmozgalmasabb legmozgalmasabb +legnedvesebb legnedvesebb +legnehezebb legnehezebb +legnevezetesebb legnevezetesebb +legokosabb legokosabb +legpiszkosabb legpiszkosabb +legrangosabb legrangosabb +legrosszabb legrosszabb +legsablonosabb legsablonosabb +legsikeresebb legsikeresebb +legstabilabb legstabilabb +legszebb legszebb +legszennyezettebb legszennyezettebb +legszimpatikusabb legszimpatikusabb +legtartalmasabb legtartalmasabb +legtipikusabb legtipikusabb +legvadabb legvadabb +lehetsz lehetsz +lejjebb lejjebb +lektor lektor +lelkiismeretes lelkiismeretes +lemez lemez +lemezdoboz lemezdoboz +lemezes lemezes +lemond lemond +lengyel lengyel +leninizmus leninizmus +lent lent +les les +lesz lesz +leszel leszel +letesz letesz +leveles leveles +levelez levelez +lila-arany lila-arany +liter liter +literes literes +log log +logikus logikus +lombard lombard +lompos lompos +lopsz lopsz +lovagol lovagol +lovas lovas +luo luo +luxus luxus +luxusmodell luxusmodell +lyukszalag lyukszalag +madaras madaras +maffiaellenes maffiaellenes +mag mag +magabiztosabb magabiztosabb +magasabb magasabb +magasztos magasztos +magis magis +magyar-lengyel magyar-lengyel +magyar-orosz magyar-orosz +magyaros magyaros +mai mai +mait mait +maj maj +major major +makacs makacs +malac malac +maradj maradj +marhakonzerv marhakonzerv +marketinges marketinges +marketingpiac marketingpiac +marsall marsall +mart mart +matekos matekos +matematikus-fizikus matematikus-fizikus +matt matt +max max +mechanikailag mechanikailag +mechanizmus mechanizmus +meder meder +medvemenhely medvemenhely +megabites megabites +megahertzes megahertzes +megaherztes megaherztes +megapixeles megapixeles +megfelel megfelel +megfogalmaz megfogalmaz +megfontoltabb megfontoltabb +meghal meghal +megjutalmaz megjutalmaz +megkapaszkodsz megkapaszkodsz +meglesz meglesz +megmondd megmondd +megszeresd megszeresd +megszerez megszerez +megtedd megtedd +mi mi +micro-switch micro-switch +mihamarabb mihamarabb +mik mik +mikor mikor +mikrobuszos mikrobuszos +milliomos milliomos +milliszekundumos milliszekundumos +min min +mind mind +mindannyiszor mindannyiszor +mindegy mindegy +mindenhol mindenhol +mindennap mindennap +mindennapibb mindennapibb +mindez mindez +miniszter miniszter +mint mint +mintegy mintegy +mio mio +mirelitpiac mirelitpiac +misztikus misztikus +mivel mivel +mixer mixer +mo mo +mobil mobil +mobilinternetes mobilinternetes +mobilrendszer mobilrendszer +mobiltelefonos mobiltelefonos +mocskos mocskos +mozdulatsor mozdulatsor +mozdulj mozdulj +mozifilm mozifilm +mozipremier mozipremier +mozog mozog +multikulturalizmus multikulturalizmus +multiplex multiplex +munkacsoportos munkacsoportos +munkadarab munkadarab +munkahellyel munkahellyel +munkanap munkanap +munkarend munkarend +music-center music-center +must must +na na +nacionalizmus nacionalizmus +nap nap +napilap napilap +napiparancs napiparancs +napos napos +ne ne +nedv nedv +negyvenes negyvenes +negyvennapos negyvennapos +nehezebb nehezebb +ok ok +okhoz okhoz +okon okon +okot okot +perces perces +perec perec diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/it-light.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/it-light.tsv new file mode 100644 index 0000000000..5a2d635d94 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/it-light.tsv @@ -0,0 +1,2000 @@ +abakoumova abakoumov +abbandonata abbandonat +abbassato abbassat +abbenché abbenc +abbonato abbonat +abbracciamenti abbracciament +abbuffata abbuffat +abitatori abitator +aborto abort +accadesse accadess +accarezzando accarezzand +acccordi acccord +accennate accennat +accertarmi accertarm +accettano accettan +acchetare acchetar +acclamazioni acclamazion +accomiatò accomiat +accomoderò accomoder +accompagnerete accompagneret +accordarlo accordarl +accorgo accorg +accosta accost +accozzarsi accozzars +accurata accurat +acetoselle acetosell +acquietarle acquietarl +acquistarne acquistarn +adattata adattat +addetti addett +addossando addossand +adeguerà adeguer +adesca adesc +adoperato adoperat +adottabili adottabil +adulti adult +affacciare affacciar +affannava affannav +affatto affatt +afferrano afferran +affezioni affezion +affidate affidat +affittato affittat +affogare affogar +affrettare affrettar +affumicate affumicat +agevolato agevolat +aggiunga aggiung +aggiuntovi aggiuntov +aggregazione aggregazion +agguerrita agguerrit +agiutto agiutt +agricoltura agricoltur +aiutarmi aiutarm +aizzatori aizzator +alberghi alberg +alemanni alemann +algeria alger +aliquota aliquot +allarme allarm +allegrezza allegrezz +allentò allent +allievi alliev +allontanare allontanar +allunga allung +alpinimo alpinim +alternanza alternanz +altresì altres +alzargli alzargl +amareggiati amareggiat +ambedue ambedu +ambrosia ambros +amiche amic +ammalavano ammalavan +ammessa ammess +ammira ammir +ammontare ammontar +amodeo amode +amplissimi amplissim +anatemi anatem +andarlo andarl +andatura andatur +andreatta andreatt +angela angel +angosciose angoscios +animarvi animarv +annebbiare annebbiar +annoiato annoiat +annunciando annunciand +annunziato annunziat +ansioso ansios +anticamere anticamer +antidemocratico antidemocratic +antonelli antonell +aparecido aparecid +appaltato appaltat +apparente apparent +appartamenti appartament +appassionato appassionat +appiccicati appiccicat +applicativi applicativ +appoggio appogg +apprendisti apprendist +approfittarne approfittarn +approvata approvat +appuntellato appuntellat +apriva apriv +archeologica archeologic +arcobaleno arcobalen +arendo arend +argomentato argomentat +armadio armad +armonizzare armonizzar +arrenato arrenat +arricchimento arricchiment +arrivai arriva +arriverebbe arriverebb +arrossì arross +artica artic +artigiano artigian +asciutta asciutt +ascolti ascolt +aspettarvi aspettarv +aspetti aspett +assalitori assalitor +assediavano assediavan +assembela assembel +assessori assessor +assicurati assicurat +assista assist +associata associat +assoluto assolut +assuma assum +astenesse asteness +astuti astut +atrocità atrocit +attaccato attaccat +attenderla attenderl +attente attent +attesa attes +attiguo attigu +attirate attirat +attori attor +attraverserà attraverser +attribuita attribuit +attuarlo attuarl +auguro augur +auricolare auricolar +australiano australian +autodissoluzione autodissoluzion +autonoma autonom +autorevolezza autorevolezz +autostrade autostrad +avanzata avanzat +aventi avent +avevano avevan +avutolo avutol +avvenimento avveniment +avvenute avvenut +avvertendo avvertend +avvezzi avvezz +avvicina avvicin +avvicinò avvicin +avvistati avvistat +aziendale aziendal +azzurra azzurr +baciata baciat +baggiana baggian +baldanza baldanz +balletto ballett +bambine bambin +banchina banchin +baracca baracc +barbarie barbar +barese bares +baruffe baruff +bastandogli bastandogl +bastogi bastog +battendolo battendol +battista battist +beccare beccar +belligerante belligerant +benedetti benedett +benefici benefic +benissimo benissim +berlenghi berleng +berretto berrett +bestie best +bianca bianc +bianconero bianconer +biella biell +bilaterali bilateral +biondo biond +bisacce bisacc +bisognasse bisognass +bitume bitum +bloccata bloccat +bocciato bocciat +bolognese bolognes +bonariamente bonariament +borbottare borbottar +borrini borrin +bosniaci bosniac +bracchi bracc +bramosi bramos +braverie braver +brevissimi brevissim +brignano brignan +broccato broccat +bruciavano bruciavan +bubbole bubbol +buglione buglion +burrasca burrasc +buttarglielo buttargliel +cabine cabin +cacciatore cacciator +caduta cadut +cagnesco cagnesc +calciasse calciass +caldarola caldarol +calorosa caloros +cambiamento cambiament +cambisti cambist +camminano camminan +campanello campanell +campienza campienz +cancellazione cancellazion +cangiò cang +cantarotti cantarott +canzanella canzanell +capannuccia capannucc +capisce capisc +capitata capitat +capocomici capocomic +cappellini cappellin +carabinieri carabinier +carbonica carbonic +cardini cardin +caricola caricol +carnascialesche carnascialesc +carriera carrier +cartelli cartell +casasco casasc +caselli casell +caspio casp +castellari castellar +catalogare catalogar +catilina catilin +cattura cattur +cautelare cautelar +cavallina cavallin +caverebbe caverebb +cecità cecit +celebrazioni celebrazion +cenciose cencios +centinaio centina +centri centr +cercarlo cercarl +cercherò cercher +cernobbio cernobb +cervello cervell +cessazione cessazion +chiacchiere chiacchier +chiamatemi chiamatem +chiari chiar +chiavenna chiavenn +chiederà chieder +chiesta chiest +chinare chinar +chissà chiss +chiusi chius +ciarlerebbe ciarlerebb +ciglio cigl +cinicamente cinicament +cioffarelli cioffarell +circondati circondat +circuito circuit +cittadinanza cittadinanz +civitavecchia civitavecch +classificato classificat +cliniche clinic +codesta codest +coglierne cogliern +colabrodo colabrod +collana collan +collegi colleg +collocamento collocament +colluttazioni colluttazion +colorito colorit +colsero colser +comandamenti comandament +comandò comand +combinata combinat +comincia cominc +comitato comitat +commentatori commentator +commettere commetter +commissariato commissariat +comodi comod +comparisce comparisc +compatibilmente compatibilment +competente competent +compiacimento compiaciment +compiuti compiut +completarla completarl +componesse componess +composta compost +compravano compravan +compreso compres +comunemente comunement +comunisti comunist +concedo conced +concepite concepit +concessionario concessionar +concitarsi concitars +conclusesi concluses +concorrendo concorrend +concretizzerà concretizzer +condita condit +condizioni condizion +conduceva conducev +conduttore conduttor +confermando confermand +confessarla confessarl +conficcata conficcat +confina confin +confondendo confondend +confortava confortav +confusi confus +congetturarlo congetturarl +congratularsi congratulars +coninori coninor +conoscenza conoscenz +conosciute conosciut +consacrazione consacrazion +consegnato consegnat +consentiranno consentirann +conservati conservat +considerarsi considerars +consigliato consigliat +consolante consolant +consonanti consonant +consulenza consulenz +consumati consumat +contaggioso contaggios +contate contat +contemplazioni contemplazion +contenitori contenitor +contenuti contenut +contestazione contestazion +continuando continuand +continuiamo continuiam +contraddicesse contraddicess +contrafforti contraffort +contrassegni contrassegn +contratto contratt +contrista contrist +controllerano controlleran +conturbato conturbat +convenire convenir +conversato conversat +convinta convint +convocazione convocazion +coordinamento coordinament +coperturà copertur +corato corat +coreografie coreograf +corporazione corporazion +corresponsione corresponsion +corrierè corrier +corrusco corrusc +cortesia cortes +cosiddetti cosiddett +costanzo costanz +costiere costier +costitutivi costitutiv +costringerli costringerl +costumato costumat +creanza creanz +credenti credent +credevo credev +creino crein +cresceva crescev +crimini crimin +critica critic +crociate crociat +cronisti cronist +cucina cucin +culturalmente culturalment +curavano curavan +cynthia cynth +danieli daniel +daranno darann +datrice datric +debitoria debitor +decentrata decentrat +decina decin +decollati decollat +dedicate dedicat +defilata defilat +definito definit +deiezione deiezion +delicata delicat +dellla delll +democratica democratic +denigratoria denigrator +deontologicamente deontologicament +deposito deposit +deriso deris +descritto descritt +desiderarla desiderarl +desiderò desider +destare destar +destre destr +determinare determinar +dettando dettand +diaboliche diabolic +dibatte dibatt +dicendolo dicendol +dichiarato dichiarat +diecimila diecimil +difensiva difensiv +differenzia differenz +diffidenza diffidenz +digrignando digrignand +dilettava dilettav +dimensione dimension +dimenticherebbe dimenticherebb +diminuite diminuit +dimostrato dimostrat +diocesi dioces +dipinge diping +dipresso dipress +direttive direttiv +dirigista dirigist +dirottamente dirottament +disanimato disanimat +disavventura disavventur +discorrendo discorrend +discriminato discriminat +disegnare disegnar +disgraziato disgraziat +disinteressato disinteressat +disordinava disordinav +dispensati dispensat +dispetti dispett +disponendoli disponendol +disposero disposer +dispute disput +dissimulare dissimular +distanza distanz +distintivi distintiv +distrettuale distrettual +distrigarsi distrigars +disubbidire disubbidir +divenendogli divenendogl +diventeranno diventerann +diversione diversion +diviato diviat +divisioni division +dobbiamo dobbiam +dolesse doless +domandarono domandaron +domenica domenic +domingo doming +doppiamente doppiament +dotata dotat +doveroso doveros +dovrebbe dovrebb +drappello drappell +dubiti dubit +duplice duplic +dwayne dwayn +eccessivi eccessiv +ecclesiastici ecclesiastic +economista economist +editore editor +educatrici educatric +effusione effusion +elaborate elaborat +elemosine elemosin +elettrica elettric +elicottero elicotter +emanazioni emanazion +emersi emers +emorragia emorrag +energetici energetic +entraci entrac +entrature entratur +epicentro epicentr +equiparare equiparar +ereditare ereditar +erogati erogat +esacerbata esacerbat +esamina esamin +esasperato esasperat +escimi escim +esclusa esclus +esecutivo esecutiv +esenzione esenzion +esibiti esibit +esisterà esister +esortarla esortarl +esperire esperir +esploratori esplorator +espongono espongon +esposizione esposizion +esprimersi esprimers +essenza essenz +estemporanee estemporane +esterna estern +estirparlo estirparl +estremismo estremism +etruschi etrusc +europeò europe +evidenti evident +exercicio exercic +faccenda faccend +facendole facendol +facilissima facilissim +fallato fallat +famigliarizzarsi famigliarizzars +fanciulli fanciull +fantozzi fantozz +farina farin +farsene farsen +fasulli fasull +fattaccio fattacc +favole favol +fazioni fazion +fedeli fedel +federico federic +fendendo fendend +feritore feritor +fermate fermat +ferocemente ferocement +ferroviario ferroviar +fiaccate fiaccat +fiaschetto fiaschett +fidata fidat +figlie figl +figurato figurat +filatura filatur +finaliste finalist +finanziarla finanziarl +finiamola finiamol +finita finit +fiorellini fiorellin +firmeranno firmerann +fisiche fisic +fissore fissor +flessori flessor +foggia fogg +fondamenti fondament +fondicri fondicr +foreste forest +formarla formarl +formidabile formidabil +fornisce fornisc +fortuna fortun +forzute forzut +fragassi fragass +francesca francesc +frangente frangent +fratellanza fratellanz +frazionamento frazionament +frenata frenat +fresche fresc +frontale frontal +frulloni frullon +fuggendo fuggend +funerale funeral +fuoriclasse fuoriclass +furiosi furios +gabelliere gabellier +galanterie galanter +galleggiare galleggiar +garage garag +garbuglio garbugl +gaspare gaspar +gaviglio gavigl +generale general +geniali genial +gentiluomini gentiluomin +gerolamo gerolam +gestuale gestual +ghiaia ghia +giallo giall +gianni giann +giglio gigl +giocherà giocher +giorgio giorg +giornata giornat +gioverebbero gioverebber +girati girat +giudica giudic +giudizioaria giudizioar +giungla giungl +giuria giur +giustificarlo giustificarl +gliene glien +godersela godersel +gomiti gomit +gorgoglia gorgogl +governatorato governatorat +gradito gradit +grandeggiava grandeggiav +grassetto grassett +gravoso gravos +greppia grepp +grigiore grigior +grossi gross +guadalupa guadalup +guardandosi guardandos +guardato guardat +guarire guarir +guastate guastat +guerricciole guerricciol +guidava guidav +haapakosti haapakost +helsinki helsink +iberdrola iberdrol +ideologia ideolog +ierardi ierard +ignoti ignot +illesi illes +illustrato illustrat +imbarcazioni imbarcazion +imbrattati imbrattat +imitare imitar +immaginato immaginat +immediate immediat +immobiliare immobiliar +impadronirsene impadronirsen +impastocchiarvi impastocchiarv +impedirle impedirl +impegnasse impegnass +impensati impensat +impertinenze impertinenz +impicciano impiccian +impiegata impiegat +implorando implorand +importa import +impositiva impositiv +impostori impostor +impresa impres +improduttive improduttiv +impunemente impunement +inamidate inamidat +inaugurati inaugurat +incamminavano incamminavan +incaricandosi incaricandos +incendiarie incendiar +incetta incett +inciamparci inciamparc +inclinano inclinan +incolta incolt +incomodo incomod +incontra incontr +incontravamo incontravam +incoraggito incoraggit +incrociare incrociar +incutere incuter +indefinibile indefinibil +indette indett +indicative indicativ +indifferenti indifferent +indipendentisti indipendentist +indiscrezione indiscrezion +individualmente individualment +indonesia indones +indubitabilmente indubitabilment +industriale industrial +inefficienza inefficienz +inesperto inespert +infanzia infanz +infermiere infermier +infezione infezion +inflazionistica inflazionistic +infomazione infomazion +informati informat +infossati infossat +ingannata ingannat +ingegnoso ingegnos +ingiuria ingiur +ingolfato ingolfat +ingrosso ingross +iniziano inizian +innamorata innamorat +innovativo innovativ +inorridito inorridit +inquieto inquiet +insalvatichito insalvatichit +insegnargli insegnargl +inseguita inseguit +inserita inserit +insinuazioni insinuazion +insoliti insolit +inspiegabili inspiegabil +insulino insulin +intasavano intasavan +intelletto intellett +intenderà intender +intensificano intensifican +intercedeva intercedev +interessati interessat +interlocuzione interlocuzion +interni intern +interprete interpret +interrogatòri interrogator +interssi interss +intervistando intervistand +intimazione intimazion +intorbidarla intorbidarl +intrapreso intrapres +intrise intris +introduzione introduzion +invalicabile invalicabil +inveire inveir +inverta invert +investitura investitur +invidiandole invidiandol +invitarla invitarl +involandosi involandos +ipertrofia ipertrof +irlanda irland +irrespirabili irrespirabil +irritualità irritualit +ischerzo ischerz +isfogarsi isfogars +isolata isolat +ispirandosi ispirandos +istantanea istantane +istinti istint +istradamento istradament +istudiarvi istudiarv +iugoslavia iugoslav +kamikazè kamikaz +kowanko kowank +lacrimando lacrimand +lamana laman +lampada lampad +lancio lanc +larache larac +lasciala lascial +lasciarmi lasciarm +lasciatolo lasciatol +latifondi latifond +lavandai lavanda +lavorato lavorat +lealmente lealment +legatevi legatev +leggero legger +legislatura legislatur +lentezza lentezz +letterario letterar +levanta levant +levatevelo levatevel +liberaldemocratico liberaldemocratic +liberato liberat +libertinaggio libertinagg +lietamente lietament +limitative limitativ +liquefatto liquefatt +listino listin +locale local +lodovico lodovic +lombardini lombardin +lorenzini lorenzin +luccicanti luccicant +luglio lugl +lunghettamente lunghettament +lustre lustr +maceratese macerates +maestranze maestranz +maggie magg +magistrale magistral +maharashtra maharashtr +malasorte malasort +malebolge malebolg +maliardi maliard +malizioso malizios +malvagi malvag +mancano mancan +mancheranno mancherann +mandarla mandarl +manderà mander +mangiando mangiand +maniera manier +manifestazione manifestazion +manoscritto manoscritt +mantenga manteng +maradona maradon +marcatori marcator +marciose marcios +marianna mariann +maritate maritat +marsica marsic +marvasi marvas +masitto masitt +massimalismo massimalism +materassina materassin +matrimoniali matrimonial +matura matur +mazzeo mazze +medesmo medesm +mediocremente mediocrement +megabytè megabyt +menadito menadit +menomamente menomament +menzogne menzogn +meridionali meridional +merlotti merlott +mescolati mescolat +messosi messos +metamorfosi metamorfos +mettendovi mettendov +mettersi metters +mezzogiorno mezzogiorn +migliaia miglia +milanisti milanist +millennio millenn +minaciati minaciat +miniserie miniser +minutamente minutament +mirallegri mirallegr +misera miser +missionarie missionar +misurarlo misurarl +mobilificio mobilific +moderatismo moderatism +modificate modificat +molestie molest +moltitudine moltitudin +monatti monatt +monetario monetar +monorchio monorch +montarono montaron +moralista moralist +morisse moriss +mortificato mortificat +mostrata mostrat +motivi motiv +movermi moverm +mucchietto mucchiett +municipale municipal +muriccioli muricciol +musure musur +mutilate mutilat +napoli napol +nascondendo nascondend +nascoste nascost +naufraga naufrag +navigazione navigazion +neanche neanc +negarla negarl +negoziare negoziar +neofita neofit +nettamente nettament +niguarda niguard +nocerina nocerin +nominata nominat +norberto norbert +nostra nostr +notato notat +notturno notturn +nozioni nozion +numerose numeros +nuvoloso nuvolos +obbligatoria obbligator +oblivione oblivion +occidente occident +occulto occult +occupazionali occupazional +odierni odiern +offerta offert +offrivano offrivan +olidata olidat +oltrepassare oltrepassar +omicide omicid +onerose oneros +operaio opera +operazioni operazion +opportuna opportun +oppresso oppress +orchestra orchestr +ordinati ordinat +organico organic +organizzavano organizzavan +originale original +ormeggiati ormeggiat +orticello orticell +oscure oscur +ospizio ospiz +osservatore osservator +ostentata ostentat +ostini ostin +ottengono ottengon +ottiva ottiv +oziosamente oziosament +paderno padern +pagani pagan +paggio pagg +paladina paladin +palestinesi palestines +palmisani palmisan +pandolfo pandolf +paonazzo paonazz +paragonerebbe paragonerebb +paravento paravent +parentela parentel +parini parin +parlarono parlaron +parlto parlt +parrucca parrucc +partenza partenz +partirà partir +parziale parzial +passano passan +passatempo passatemp +passerebbe passerebb +pastine pastin +patetica patetic +patrimoni patrimon +pazienza pazienz +pecuniarie pecuniar +pelata pelat +pendente pendent +penisola penisol +pensaci pensac +pensavano pensavan +pensione pension +peraboni perabon +perdendo perdend +perdonata perdonat +perfette perfett +pericolosi pericolos +periti perit +permessi permess +peronista peronist +perseguimento perseguiment +personali personal +perticaro perticar +pervenuti pervenut +pescate pescat +pestaggio pestagg +pettegole pettegol +piacendogli piacendogl +pianeti pianet +piantandosi piantandos +piazza piazz +picchiarsi picchiars +piduisti piduist +pierferdinando pierferdinand +pigiare pigiar +pillole pillol +pioppo piopp +pitocco pitocc +plausibile plausibil +pochissimo pochissim +poiché poic +polimeri polimer +poliziotto poliziott +polziia polzi +pontone ponton +porcheria porcher +portandosi portandos +portateglieli portategliel +porterò porter +posarci posarc +posizini posizin +possibilie possibil +posticipo posticip +poteri poter +poteva potev +potuti potut +povero pover +praticare praticar +precede preced +precipita precipit +precisare precisar +predecessore predecessor +prediletto predilett +preferito preferit +pregatelo pregatel +pregiudiziali pregiudizial +premere premer +premurosamente premurosament +prenderla prenderl +prendevano prendevan +preoccupatissimo preoccupatissim +preparazione preparazion +prescritte prescritt +presentasse presentass +presentiamo presentiam +presidenziale presidenzial +prestano prestan +presumibilmente presumibilment +pretendo pretend +prevaleva prevalev +prevedono prevedon +previsti previst +primaria primar +principalmente principalment +prioncipali prioncipal +privatizzazioni privatizzazion +problemi problem +procelloso procellos +procurarsi procurars +prodigo prodig +produttività produttivit +proferita proferit +professori professor +profondità profondit +programmato programmat +proibite proibit +promesse promess +prometto promett +pronostici pronostic +pronunziare pronunziar +propini propin +proporrà proporr +proposti propost +prorogato prorogat +proseguì prosegu +prossimi prossim +protestantè protestant +protti prott +provengono provengon +provincie provinc +provvederla provvederl +prudenziale prudenzial +pubblicazione pubblicazion +pudore pudor +pulite pulit +puntare puntar +puntualizzato puntualizzat +purissimi purissim +quadrifoglio quadrifogl +qualitate qualitat +quantitativo quantitativ +quassù quassu +quello quell +questura questur +qundici qundic +rabbiosi rabbios +raccattarle raccattarl +raccomandandosi raccomandandos +raccomodava raccomodav +raccontatemelo raccontatemel +rachenko rachenk +radezza radezz +radiotelevisivo radiotelevisiv +raffigurata raffigurat +ragazzate ragazzat +raggiungerlo raggiungerl +ragguagliata ragguagliat +raidue raidu +rallentare rallentar +rammarico rammaric +rannicchiato rannicchiat +rapita rapit +rappresentanza rappresentanz +rasentando rasentand +rassicurando rassicurand +rattenuta rattenut +ravviarla ravviarl +reagiscono reagiscon +realmente realment +recati recat +reciprocamente reciprocament +recriminazioni recriminazion +reddito reddit +regalata regalat +regine regin +registrato registrat +regolarità regolarit +reinterpretato reinterpretat +relegatione relegation +rendendo rendend +rendeva rendev +replica replic +reputazione reputazion +resistergli resistergl +respirata respirat +restanti restant +resticciolo resticciol +retagna retagn +rettifica rettific +riabbassandoli riabbassandol +riallineamento riallineament +riappropriarsi riappropriars +riavvicinamento riavvicinament +ribatterle ribatterl +ributtanti ributtant +ricapitalizzazione ricapitalizzazion +riccio ricc +riceve ricev +ricevute ricevut +richiamerebbe richiamerebb +richiesto richiest +ricominciato ricominciat +ricomposto ricompost +riconoscerne riconoscern +riconvocare riconvocar +ricordata ricordat +ricorreggere ricorregger +ricoverare ricoverar +ricupero ricuper +ridersi riders +ridiscuta ridiscut +ridurlo ridurl +riempitane riempitan +riequilibrio riequilibr +rifatti rifatt +riferito riferit +rifiutò rifiut +riformatore riformator +rigagnoli rigagnol +rigore rigor +riguarderà riguarder +rilasciato rilasciat +rilisciarsi rilisciars +rimanevano rimanevan +rimasuglio rimasugl +rimembranze rimembranz +rimettendo rimettend +rimondi rimond +rimpiazzato rimpiazzat +rinascimento rinasciment +rincorare rincorar +rinfusa rinfus +ringraziava ringraziav +rinnovo rinnov +rinunziato rinunziat +riofferti rioffert +riparlava riparlav +ripensarne ripensarn +ripetono ripeton +ripigliava ripigliav +riportati riportat +riprende riprend +ripresi ripres +ripulse ripuls +risanare risanar +rischi risc +riscontri riscontr +risentite risentit +risicare risicar +risolversi risolvers +rispamio rispam +rispettare rispettar +rispingerne rispingern +rispondete rispondet +ristorante ristorant +ristrinsero ristrinser +risvegliando risvegliand +ritenendo ritenend +ritirandosi ritirandos +ritmicamente ritmicament +ritrarne ritrarn +ritroverà ritrover +riunite riunit +riuscito riuscit +rivedremo rivedrem +rivendicazioni rivendicazion +rivestita rivestit +rivolgere rivolger +rivoltava rivoltav +rizzate rizzat +rodersi roders +romanisti romanist +roncato roncat +rosica rosic +rotazione rotazion +rovescio rovesc +rubarselo rubarsel +ruggero rugger +rurali rural +sabatini sabatin +sacrificarsi sacrificars +sagrestano sagrestan +salernitani salernitan +salomone salomon +saltuaria saltuar +salvadanaio salvadana +salvatico salvatic +sanandola sanandol +sanguigni sanguign +santavaleria santavaler +sapere saper +sapienza sapienz +saputo saput +sarriò sarr +satriano satrian +sbagliare sbagliar +sbandata sbandat +sbiadito sbiadit +sboccato sboccat +sbucati sbucat +scaffale scaffal +scalfaro scalfar +scambiati scambiat +scandolo scandol +scappa scapp +scappellotto scappellott +scarlatta scarlatt +scarso scars +scattato scattat +sceglieranno sceglierann +scelsero scelser +scendesse scendess +scheggiato scheggiat +scherza scherz +schiarimento schiariment +schietta schiett +schizzi schizz +scialmente scialment +scimmiè scimm +sciolte sciolt +scoccava scoccav +scollo scoll +scompagnato scompagnat +scomposti scompost +sconfiggeremo sconfiggerem +sconquasso sconquass +scoperte scopert +scoprire scoprir +scorrendola scorrendol +scortata scortat +scottava scottav +scrivano scrivan +scrutinio scrutin +scusate scusat +seattle seattl +secessionista secessionist +secondo second +sedili sedil +seggiole seggiol +segnatamente segnatament +segreterià segreter +seguirne seguirn +seicento seicent +sembrasse sembrass +semifinali semifinal +semplicità semplicit +sensini sensin +sentinella sentinell +sentita sentit +separati separat +sequestrati sequestrat +serenità serenit +serrata serrat +servirgli servirgl +servivano servivan +settantina settantin +severamente severament +sferra sferr +sfociare sfociar +sforacchiate sforacchiat +sfrattato sfrattat +sfuggite sfuggit +sgherri sgherr +sgraffiatura sgraffiatur +sheila sheil +siciliano sicilian +sigillava sigillav +significavano significavan +silenzio silenz +simili simil +sincerità sincerit +singola singol +sinora sinor +sistemazione sistemazion +slanciò slanc +smantellato smantellat +smentiva smentiv +smorto smort +soastenuto soastenut +soccorsa soccors +sodaglia sodagl +sofferenza sofferenz +soffogargli soffogargl +sogefi sogef +soggiunse soggiuns +soldati soldat +solita solit +sollecitazioni sollecitazion +sollevò sollev +somiglianza somiglianz +sommissione sommission +sonoramente sonorament +sopportiamo sopportiam +sopraggiunse sopraggiuns +sopravvivenza sopravvivenz +sorgente sorgent +sorreggendo sorreggend +sorvegliava sorvegliav +sospettate sospettat +sostantivo sostantiv +sostengano sostengan +sostituisca sostituisc +sottile sottil +sottomettere sottometter +sottosuolo sottosuol +sottufficiali sottufficial +sovrapporre sovrapporr +spacciavano spacciavan +spalancati spalancat +sparato sparat +spariti sparit +spasimo spasim +spaventosa spaventos +speciali special +specificavano specificavan +speditamente speditament +spenderebbe spenderebb +speranza speranz +spesso spess +spezzato spezzat +spiattellargli spiattellargl +spicciola spicciol +spiegava spiegav +spingendole spingendol +spintonato spintonat +splendida splendid +spoldi spold +sporgere sporger +spossati spossat +spremerne spremern +sprovveduta sprovvedut +squadrandolo squadrandol +squilibrio squilibr +stabilirà stabilir +staccarsi staccars +stagionale stagional +stampate stampat +stanga stang +starai stara +statistiche statistic +stazza stazz +stendevano stendevan +sterminare sterminar +stiamo stiam +stinchi stinc +stizzetta stizzett +storcendo storcend +storpiato storpiat +strade strad +stranezza stranezz +strappato strappat +strascinavano strascinavan +stravolta stravolt +strepitoso strepitos +stringa string +stromento stroment +strumento strument +studierò studier +stupro stupr +subita subit +succederà succeder +succhiato succhiat +suddivisa suddivis +suggerirlo suggerirl +summentovate summentovat +superbi superb +superstite superstit +supplisca supplisc +supposizioni supposizion +suscitati suscitat +susurrìo susurr +svegliarsi svegliars +sventa svent +svignò svign +svizzere svizzer +svolgessero svolgesser +tabella tabell +taceva tacev +tagliata tagliat +taluni talun +tantino tantin +tardivamente tardivament +tattica tattic +tecniche tecnic +telecomandata telecomandat +telegrafico telegrafic +televisive televisiv +temibile temibil +tempestava tempestav +tenace tenac +tenebrosi tenebros +tenerne tenern +tentacoli tentacol +tentennò tentenn +teppista teppist +terminato terminat +terremoto terremot +terrorismò terrorism +tesseramento tesserament +testimoniato testimoniat +tifosi tifos +tipologie tipolog +tirapiedi tirapied +tiriamo tiriam +titubazione titubazion +toccategli toccategl +togliergli togliergl +tonante tonant +torinese torines +tornandovi tornandov +tornerai tornera +torrisi torris +tossire tossir +traccia tracc +tradizionalmente tradizionalment +trafitto trafitt +tragittarmi tragittarm +trambusto trambust +tranquilli tranquill +trapiantato trapiantat +trascorreva trascorrev +trasferimento trasferiment +trasformato trasformat +trasmetterla trasmetterl +trasportarsi trasportars +trattarli trattarl +trattenerlo trattenerl +travagli travagl +travisati travisat +tremito tremit +trentina trentin +tribunalè tribunal +trimestre trimestr +tripoli tripol +trombetti trombett +troppe tropp +trovarcela trovarcel +trovato trovat +trufferia truffer +tumultuosa tumultuos +turismo turism +ubbidirla ubbidirl +uccidere uccider +uffici uffic +uguagliano uguaglian +umanamente umanament +umorismo umorism +ungili ungil +unitari unitar +unzioni unzion +urlatori urlator +uscendo uscend +uscivano uscivan +utilizzate utilizzat +vagabondo vagabond +valdostano valdostan +valichi valic +valoti valot +valute valut +vantaggio vantagg +varesotto varesott +vasari vasar +vedendo vedend +vedersene vedersen +vedrebbe vedrebb +vegliavo vegliav +velletri velletr +vendette vendett +venefici venefic +veneziani venezian +venite venit +ventina ventin +verace verac +vergognosi vergognos +verita verit +versaccio versacc +vertice vertic +vestimento vestiment +viaggetto viaggett +viareggio viaregg +vicepresidente vicepresident +viezzoli viezzol +vilipendio vilipend +villorba villorb +vincoli vincol +viottole viottol +visibile visibil +visitava visitav +vittima vittim +vivente vivent +vocali vocal +volare volar +volessi voless +volontariamente volontariament +voltava voltav +vorremmo vorremm +votavano votavan +zacchera zaccher +zappando zappand +zironelli zironell +a a +abbott abbott +abiti abiti +acciò acciò +acnur acnur +adam adam +adoperar adoperar +aereo aereo +agci agci +agos agos +aia aia +akbar akbar +aldo aldo +aliis aliis +allo allo +altar altar +alumix alumix +amaro amaro +americas americas +ampi ampi +anche anche +andres andres +anime anime +anp anp +antti antti +apre apre +aran aran +aree aree +arrestar arrestar +arvor arvor +aspo aspo +assottigliar assottigliar +atou atou +attribuir attribuir +authority authority +avene avene +avo avo +avvia avvia +b b +badò badò +baldi baldi +balìa balìa +bank bank +barnabas barnabas +bastar bastar +bazza bazza +beffe beffe +bello bello +berberovic berberovic +betis betis +bic bic +bill bill +bisbigliar bisbigliar +blue blue +bobbi bobbi +bolle bolle +borbottar borbottar +bossi bossi +br br +breda breda +brina brina +brulicar brulicar +bucci bucci +bugno bugno +burgo burgo +buttan buttan +cadeo cadeo +cairo cairo +calma calma +cameramen cameramen +cane cane +cao cao +cappa cappa +care care +carpon carpon +cascò cascò +cause cause +ccb ccb +cede cede +cena cena +cerca cerca +certà certà +cha cha +chi chi +chinò chinò +ci ci +ciga ciga +cinti cinti +cisl cisl +clarin clarin +club club +coevi coevi +colli colli +colti colti +comillas comillas +comparir comparir +conakry conakry +condur condur +consegnar consegnar +contemplar contemplar +cooman cooman +corde corde +correr correr +cos cos +così così +cp cp +credit credit +cristobal cristobal +cruijff cruijff +ctznon ctznon +cuorè cuorè +curvi curvi +dadi dadi +dame dame +dar dar +darò darò +dayal dayal +decadis decadis +dela dela +delta delta +depardieu depardieu +desta desta +devils devils +diane diane +diede diede +dille dille +dir dir +dirvi dirvi +distinguer distinguer +divengon divengon +dl dl +dolci dolci +dongwu dongwu +dornbusch dornbusch +dov dov +dragon dragon +duce duce +dure dure +eam eam +echeverry echeverry +edit edit +ehi ehi +elena elena +emc emc +enfant enfant +entrischen entrischen +equo equo +eriksson eriksson +esaminator esaminator +esite esite +esso esso +etici etici +evani evani +extremis extremis +facevam facevam +falda falda +fan fan +fare fare +farà farà +fatte fatte +fdg fdg +fenit fenit +ferrer ferrer +feudo feudo +ficcò ficcò +fieri fieri +fim fim +finrex finrex +fiori fiori +fissi fissi +flavi flavi +foday foday +fonda fonda +ford ford +fornì fornì +fossa fossa +francois francois +frederic frederic +frugò frugò +fughe fughe +furbo furbo +gabon gabon +galles galles +garda garda +gay gay +gelsi gelsi +genio genio +geporeinvest geporeinvest +gesticredit gesticredit +gg gg +gillian gillian +giosafat giosafat +giuda giuda +globefish globefish +goffa goffa +gonfiar gonfiar +gradi gradi +grato grato +grido grido +gt gt +guerrin guerrin +gustò gustò +haiti haiti +hannah hannah +hearts hearts +heroe heroe +hoc hoc +horst horst +hugo hugo +ibf ibf +ielo ielo +ii ii +imieast imieast +impiegar impiegar +inclinar inclinar +indur indur +ingolstadt ingolstadt +interb interb +intra intra +iourt iourt +irnà irnà +islam islam +istro istro +italy italy +iv iv +jacob jacob +jean jean +jill jill +jon jon +julia julia +kalashikov kalashikov +kennedy kennedy +kioko kioko +kolyvanov kolyvanov +kruz kruz +ladro ladro +lamet lamet +lapidum lapidum +lascin lascin +lavorar lavorar +lede lede +legò legò +lenti lenti +letta letta +levy levy +libro libro +lif lif +link link +liste liste +ln ln +lomi lomi +losa losa +luca luca +lumbard lumbard +lutti lutti +mac mac +mag mag +mail mail +maltrattavan maltrattavan +manches manches +mani mani +marangon marangon +marie marie +marshall marshall +massachusetts massachusetts +maya maya +med med +melander melander +mense mense +mercè mercè +messi messi +metti metti +mib mib +migo migo +mille mille +mio mio +misurar misurar +mn mn +moia moia +monathlich monathlich +monte monte +morgan morgan +morì morì +mota mota +movon movon +mulo mulo +muro muro +mute mute +na na +nania nania +nassau nassau +nazional nazional +negritos negritos +neomin neomin +netzraim netzraim +nick nick +nippo nippo +noel noel +nonna nonna +notavan notavan +npa npa +nulla nulla +nè nè +observer observer +odi odi +ogni ogni +oliva oliva +omnitel omnitel +onta onta +ora ora +orien orien +orè orè +osta osta +outcold outcold +paci paci +paghe paghe +palio palio +pance pance +par par +parlan parlan +parse parse +partners partners +passim passim +paul paul +pdg pdg +pelo pelo +pensier pensier +perder perder +perso perso +pesci pesci +petro petro +phillips phillips +piano piano +piedi piedi +piglian piglian +piove piove +pizzo pizzo +poche poche +poli poli +popolazion popolazion +portaron portaron +posso posso +poti poti +pr pr +pregar pregar +prese prese +preti preti +primo primo +proda proda +promotor promotor +prudentium prudentium +pugni pugni +puoco puoco +pz pz +qualificar qualificar +quidem quidem +raadstroem raadstroem +raddirizzar raddirizzar +raffigurar raffigurar +rami rami +rara rara +rating rating +re re +record record +regno regno +rendevan rendevan +replicar replicar +resto resto +rg rg +ricever ricever +ridar ridar +rifiutar rifiutar +riman riman +riparar riparar +riso riso +rito rito +riz riz +robertson robertson +rodriquez rodriquez +roma roma +roque roque +rosy rosy +rowland rowland +rubli rubli +ruolettes ruolettes +ruzzo ruzzo +sace sace +sailor sailor +sale sale +saltò saltò +san san +sansa sansa +saprà saprà +sassi sassi +sboccan sboccan +scappar scappar +schaefer schaefer +sci sci +scorrer scorrer +scuse scuse +sed sed +seguo seguo +senegal senegal +sento sento +serbe serbe +serre serre +sesto sesto +sfera sfera +shah shah +shimon shimon +siamo siamo +sifir sifir +simi simi +sirac sirac +situa situa +slegò slegò +snia snia +soffrir soffrir +soldo soldo +sondel sondel +sorger sorger +sospender sospender +sozzo sozzo +sparsim sparsim +spegner spegner +spiegel spiegel +sporting sporting +st st +stare stare +ste ste +stia stia +stoltenberg stoltenberg +stuart stuart +subordinar subordinar +sulla sulla +suole suole +surplus surplus +sydney sydney +tacer tacer +tanfi tanfi +tarda tarda +tassi tassi +te te +telethon telethon +tender tender +tepeyac tepeyac +terzi terzi +tettò tettò +ticket ticket +tinta tinta +tishvin tishvin +toccò toccò +tomba tomba +top top +toro toro +total total +tragittar tragittar +tre tre +tribù tribù +trovar trovar +tuffo tuffo +turpe turpe +tzeltal tzeltal +udir udir +uh uh +umida umida +unica unica +univa univa +uova uova +urss urss +uscio uscio +utilì utilì +valdes valdes +vanga vanga +vasca vasca +vece vece +velar velar +vengon vengon +verdi verdi +verum verum +vettovagliar vettovagliar +vide vide +vigilantes vigilantes +vincer vincer +visco visco +vitto vitto +voci voci +volgo volgo +volto volto +vu vu +ward ward +wenders wenders +willy willy +wspr wspr +xmm xmm +yakov yakov +zag zag +zelo zelo +zimmermann zimmermann +zone zone diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/no-light-bokmaal.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/no-light-bokmaal.tsv new file mode 100644 index 0000000000..edecf59744 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/no-light-bokmaal.tsv @@ -0,0 +1,112 @@ +bedre bedr +bibliotekaren bibliotekar +bibliotekarene bibliotekar +bibliotekarenes bibliotekar +bibliotekarens bibliotekar +bibliotekarer bibliotekar +bilen bil +bilene bil +bilenes bil +bilens bil +biler bil +billige billig +billigere billig +billigst billig +datter datt +døtre døtr +døtrene døtr +fattigdom fattig +fattigdommen fattigdomm +fattigdommens fattigdomm +flagga flagg +flaggene flagg +flaggenes flagg +flaggets flagg +forelske forelsk +forelskelse forelsk +forelskelsen forelsk +forelsket forelsk +forlegen forleg +forlegenhet forlegen +forlegenheten forlegen +forlegenhetens forlegen +friskere frisk +friskest frisk +føle føl +følte føl +godhet god +godheten god +hemmelighet hemmelig +hemmeligheten hemmelig +hemmelighetens hemmelig +hemmeligheter hemmelig +hemmelighets hemmelig +husene hus +husenes hus +huset hus +husets hus +kaken kak +kakene kak +kakenes kak +kaker kak +kammene kamm +kammer kamm +kamrene kamr +kjærlighet kjærlig +kjærligheten kjærlig +kjærligheter kjærlig +kristen krist +kristendom kristen +kristendommen kristendomm +kristendommens kristendomm +kuene kuen +kyrne kyrn +politienes politi +politiet politi +politiets politi +sekretæren sekretær +sekretærene sekretær +sykere syk +sykest syk +titlene titl +titler titl +tvetydighet tvetydig +tvetydigheten tvetydig +tvetydighetens tvetydig +tvetydigheter tvetydig +vaflene vafl +vafler vafl +veska vesk +veskas vesk +veske vesk +vesken vesk +veskene vesk +virkelighet virkelig +virkeligheten virkelig +virkelighetens virkelig +123 123 +Jens Jens +abc abc +best best +bibliotekar bibliotekar +bil bil +billig billig +fattig fattig +flagg flagg +frisk frisk +følt følt +god god +hemmelig hemmelig +hus hus +kam kam +kjærlig kjærlig +ku ku +kuer kuer +kyr kyr +politi politi +sekretær sekretær +syk syk +tittel tittel +tvetydig tvetydig +vaffel vaffel +virkelig virkelig diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/no-light-nynorsk.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/no-light-nynorsk.tsv new file mode 100644 index 0000000000..ec1290860b --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/no-light-nynorsk.tsv @@ -0,0 +1,92 @@ +alderdom alder +alderdommen alderdomm +alderdommens alderdomm +billegare billeg +billegast billeg +brørne brørn +dotter dott +dyra dyr +dyras dyr +dyret dyr +døtrene døtr +døtrer døtr +eldre eldr +farlegare farleg +farlegast farleg +gutane gut +gutanes gut +gutar gut +guten gut +gutens gut +hemmelegheit hemmeleg +hemmelegheita hemmeleg +hemmelegheiter hemmeleg +heva hev +heve hev +hevelse hev +hevelsen hev +hjelpe hjelp +hjelpsemd hjelp +innhalda innhald +innhaldet innhald +kjola kjol +kjolas kjol +kjole kjol +kjolene kjol +kjoler kjol +kjærleik kjær +kjærleikar kjær +kjærleiken kjær +kjærleikens kjær +klørne klørn +mødrene mødr +mødrer mødr +prospekta prospekt +prospektas prospekt +prospektet prospekt +smalare smal +smalast smal +sunge sung +syngje syngj +søknadane søknad +søknadanes søknad +søknadar søknad +søknaden søknad +søknadens søknad +sønene søn +søner søn +tryggleik trygg +tryggleikar trygg +tryggleiken trygg +tryggleikens trygg +vanskelegheit vanskeleg +vanskelegheita vanskeleg +vanskelegheiter vanskeleg +vedunder vedund +verke verk +verksemd verk +ærlegdom ærleg +ærlegdommen ærlegdomm +ærlegdommens ærlegdomm +123 123 +Jens Jens +abc abc +billeg billeg +brør brør +dyr dyr +eldst eldst +farleg farleg +gammal gammal +gut gut +hemmeleg hemmeleg +innhald innhald +klo klo +mor mor +prospekt prospekt +smal smal +song song +syng syng +søknad søknad +trygg trygg +vanskeleg vanskeleg +ærleg ærleg diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/no-minimal-bokmaal.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/no-minimal-bokmaal.tsv new file mode 100644 index 0000000000..c369b2daef --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/no-minimal-bokmaal.tsv @@ -0,0 +1,78 @@ +bedre bedr +bibliotekaren bibliotekar +bibliotekarene bibliotekar +bibliotekarenes bibliotekar +bibliotekarens bibliotekar +bibliotekarer bibliotekar +bilen bil +bilene bil +bilenes bil +bilens bil +biler bil +billige billig +billigere billiger +datter datt +døtre døtr +døtrene døtr +flagga flagg +flaggene flagg +flaggenes flagg +flaggets flagg +forelskelse forelskels +føle føl +følte følt +godhet godh +hemmelighet hemmeligh +hemmeligheten hemmelighet +husene hus +husenes hus +huset hus +husets hus +kaken kak +kakene kak +kakenes kak +kaker kak +kammene kamm +kammer kamm +kamrene kamr +kjærlighet kjærligh +kjærligheten kjærlighet +kuene kuen +kyrne kyrn +politienes politi +politiet politi +politiets politi +sekretæren sekretær +sekretærene sekretær +titlene titl +titler titl +vaflene vafl +vafler vafl +veska vesk +veskas vesk +veske vesk +vesken vesk +veskene vesk +123 123 +Jens Jens +abc abc +best best +bibliotekar bibliotekar +bil bil +billig billig +billigst billigst +flagg flagg +følt følt +god god +hemmelig hemmelig +hus hus +kam kam +kjærlig kjærlig +kristendom kristendom +ku ku +kuer kuer +kyr kyr +politi politi +sekretær sekretær +tittel tittel +vaffel vaffel diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/no-minimal-nynorsk.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/no-minimal-nynorsk.tsv new file mode 100644 index 0000000000..5ffd1f883c --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/no-minimal-nynorsk.tsv @@ -0,0 +1,59 @@ +brørne brørn +dotter dott +dyra dyr +dyras dyr +dyret dyr +døtrene døtr +døtrer døtr +eldre eldr +farlegare farlegar +gutane gut +gutanes gut +gutar gut +guten gut +gutens gut +innhalda innhald +innhaldet innhald +jenta jent +jentas jent +jente jent +jentene jent +jenter jent +klørne klørn +mødrene mødr +mødrer mødr +prospekta prospekt +prospektas prospekt +prospektet prospekt +sanninga sanning +større størr +sunge sung +syngje syngj +søknadane søknad +søknadanes søknad +søknadar søknad +søknaden søknad +søknadens søknad +sønene søn +søner søn +vedunder vedund +123 123 +Jens Jens +abc abc +brør brør +dyr dyr +eldst eldst +farleg farleg +farlegast farlegast +gammal gammal +gut gut +innhald innhald +klo klo +mor mor +prospekt prospekt +sanning sanning +song song +stor stor +størst størst +syng syng +søknad søknad diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/pt-light.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/pt-light.tsv new file mode 100644 index 0000000000..15b9f7676a --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/pt-light.tsv @@ -0,0 +1,2000 @@ +aacho aach +abandonados abandonad +abatedouro abatedour +abecafé abecafe +abolição abolica +aborrecidos aborrecid +abraçada abracad +abrisse abriss +abstenção abstenca +abusando abusand +acabava acabav +acampamos acampam +aceitação aceitaca +acentuadas acentuad +acessível acessivel +aché ache +acolhê acolhe +acompanhados acompanhad +aconselhada aconselhad +aconteçam acontecam +acostumada acostumad +acrescentado acrescentad +acumulação acumulaca +adams adam +adepto adept +adesivos adesiv +adicionasse adicionass +administrativamente administrativ +admissão admissa +adora ador +adotasse adotass +adriane adrian +adversárias adversari +adúlteras adulter +aeroviário aeroviari +afazeres afazer +afetivo afetiv +afirmativa afirmativ +aforismo aforism +agarras agarr +agitado agitad +agrade agrad +agregado agregad +agricultura agricultur +aguentamos aguentam +aids aid +ajudando ajudand +alagoana alagoan +alaíde alaid +alcançá alcanca +alcoólico alcoolic +alegra alegr +alencastro alencastr +alfabetizado alfabetizad +algarismos algarism +aliados aliad +alimentação alimentaca +almeida almeid +alojados alojad +alpinistas alpinist +alternava alternav +altíssimos altissim +alumínio alumini +alçapão alcapa +amanda amand +amargos amarg +amazonas amaza +ambientação ambientaca +ameaçado ameacad +amena amen +amiguinho amiguinh +amorosa amoros +ampliando ampliand +américas americ +analisando analisand +anatômico anatomic +andará andara +anemia anemi +angelo angel +anhanduí anhandui +aniquile aniquil +anseia ansei +antecedentes antecedent +antepassados antepassad +antidrogas antidrog +antipessoais antipessoal +antropologia antropologi +anulado anulad +anátemas anatem +apagando apagand +aparece aparec +aparentes aparent +apela apel +apertado apertad +aplicadas aplicad +apoiados apoiad +apoplético apopletic +apoteose apoteos +aprenda aprend +apresentado apresentad +apressada apressad +apropriadas apropriad +aproveitaria aproveitari +apurado apurad +aquartelamento aquartelament +aquático aquatic +araras arar +ardidas ardid +argila argil +arisco arisc +armamentista armamentist +armênios armeni +arquiinimigos arquiinimig +arquivos arquiv +arranque arranqu +arrebatadas arrebatad +arregaçadas arregacad +arrependimento arrependiment +arrojada arrojad +arrumo arrum +artificiais artificial +artísticas artistic +asiática asiatic +assaltados assaltad +assediado assediad +assentos assent +assinalado assinalad +assistida assistid +associo associ +assumisse assumiss +assédio assedi +astros astr +ataques ataqu +atendimentos atendiment +aterrissado aterrissad +atira atir +ativista ativist +atormentada atormentad +atrasada atrasad +atração atraca +atributos atribut +atualidade atualidad +atípico atipic +auditorias auditori +aumentará aumentara +austríaco austriac +automaticamente automatic +autopeças autopec +autorizações autorizaca +autônoma autonom +avalista avalist +avanços avanc +avenue avenu +avisando avisand +ayres ayr +açucar acucar +babaquice babaquic +badalações badalaca +bahts baht +baixaria baixari +balanço balanc +balizamento balizament +bananeiras bananeir +bandas band +banha banh +baptista baptist +barbariza barbariz +bardo bard +barranco barranc +barroso barros +basquete basquet +batatas batat +batismo batism +baía baia +bebeto bebet +beira beir +beliscão belisca +beneficiamento beneficiament +bens bem +bermudão bermuda +beterraba beterrab +bicha bich +bijuterias bijuteri +bimestre bimestr +biotecnologia biotecnologi +bistrô bistro +blague blagu +bloqueio bloquei +bobinho bobinh +bolachas bolach +bolso bols +bombinha bombinh +bonequinhas bonequinh +books book +borra borr +botijão botija +boêmio boemi +brando brand +brasiliense brasiliens +brega breg +briguenta briguent +brincos brinc +britânico britanic +brotado brotad +bruscamente brusc +buchadas buchad +buléu buleu +buriatas buriat +buruma burum +buuááááá buuaaaaa +bênção benca +caatinga caating +caberia caberi +cabritinhas cabritinh +cacique caciqu +cadeira cadeir +cafezais cafezal +caixa caix +calango calang +caldeirão caldeira +calmantes calmant +calçada calcad +camarena camaren +camelô camelo +caminhão caminha +campanhas campanh +camponeses campones +canalha canalh +candice candic +cangaceiro cangaceir +cansativo cansativ +cantonês cantone +capacidade capacidad +capitanias capitani +caprichosos caprichos +capão capa +carapuça carapuc +carcará carcara +cardíaca cardiac +cargos carg +carinhosamente carinhos +carnegie carnegi +carpinteiro carpinteir +carreteiro carreteir +cartazes cartaz +cartéis cartel +carências carenci +casamentos casament +caseira caseir +cassino cassin +casto cast +catastrófico catastrofic +catorze catorz +causadas causad +cavaleiro cavaleir +cavidades cavidad +caído caid +cegos cego +celulites celulit +centenas centen +centros centr +cercanias cercani +certeiramente certeir +cervejaria cervejari +cesário cesari +chamando chamand +chance chanc +charles charl +chaveco chavec +chefões chefa +chegue chegu +cherokee cheroke +chinelo chinel +choca choc +chorando chorand +churo chur +chácara chacar +cidadania cidadani +cieps ciep +cinco cinc +cinqüenta cinquent +cinzeiros cinzeir +circulatório circulatori +cirúrgicas cirurgic +ciumento ciument +clandestinos clandestin +classe class +claudio claudi +climatério climateri +clovis clovil +clímax climax +cobertas cobert +cobranças cobranc +codinomes codinom +coincidia coincidi +colares colar +coleguinhas coleguinh +colhe colh +colisão colisa +colocação colocaca +coloque coloqu +colágeno colagen +comandantes comandant +combativa combativ +combustão combusta +comemorações comemoraca +comercialmente comercial +começado comecad +começá comeca +comodidade comodidad +compara compar +compartilhada compartilhad +compensasse compensass +competições competica +completando completand +complicada complicad +comportado comportad +compradoras comprador +compreensivo compreensiv +compromete compromet +comprovação comprovaca +computável computavel +comunitárias comunitari +concedidos concedid +concessionária concessionari +concordado concordad +concretista concretist +condenados condenad +conduta condut +confeccionadas confeccionad +confessa confess +confinado confinad +confiscado confiscad +confortá conforta +confusos confus +congrega congreg +conhecidas conhecid +conjunto conjunt +consagradas consagrad +conseguindo conseguind +conseqüente consequent +conservados conservad +considero consider +consolidasse consolidass +constatado constatad +constrangedora constrangedor +construída construid +consultas consult +consumido consumid +contabilizados contabilizad +contardo contard +contendo contend +conteúdo conteud +continuaria continuari +contornara contornar +contraditório contraditori +contrariamente contrari +contrataria contratari +contribuições contribuica +controverso controvers +contábeis contabel +convencionais convencional +conversas convers +convicto convict +convite convit +convocara convocar +coordenada coordenad +copiá copia +corda cord +corinthiana corinthian +corporativo corporativ +correição correica +correta corret +corrigido corrigid +cortada cortad +cortiços cortic +cosmódromo cosmodrom +costumo costum +cotejadas cotejad +covello covell +cptzão cptza +credenciado credenciad +cremilda cremild +cresça cresc +criará criara +criminalistas criminalist +cristiano cristian +crivada crivad +crucificado crucificad +cruéis cruel +cubanos cuban +cuidadoso cuidados +culpado culpad +culturalmente cultural +cumpulsório cumpulsori +curiosamente curios +cursos curs +custas cust +cyrus cyru +cândido candid +césio cesi +código codig +cômodos comod +dagueneide dagueneid +daniella daniell +dançante dancant +daquele daquel +datasus datasu +debilitado debilitad +decentemente decent +decidirá decidira +declarado declarad +decorativo decorativ +dedicado dedicad +defenderte defendert +deficiências deficienci +defronta defront +deixa deix +dejenane dejenan +deliberadamente deliberad +delitos delit +demissionários demissionari +demográfica demografic +demoro demor +denominado denominad +dentro dentr +departamentalização departamentalizaca +depiladas depilad +depressa depress +derivada derivad +derrota derrot +desabamento desabament +desafio desafi +desaparece desaparec +desastrado desastrad +desbravamento desbravament +descarrega descarreg +descentralizado descentralizad +descobrirmos descobrirm +desconfortáveis desconfortavel +descontos descont +descrita descrit +descumprimento descumpriment +desembarcará desembarcara +desencadeado desencadead +desenhos desenh +desenvolvimentista desenvolvimentist +desesperançados desesperancad +desfiladeiros desfiladeir +desgraças desgrac +desigualdades desigualdad +desistiria desistiri +desloca desloc +desmatamento desmatament +desnecessárias desnecessari +desonestidade desonestidad +despachava despachav +despencando despencand +desperto despert +despretensioso despretensios +dessa dess +deste dest +destituição destituica +destruído destruid +desviada desviad +detalhe detalh +detentora detentor +determinações determinaca +detrimento detriment +devaste devast +devolução devoluca +dezenove dezenov +diagnosticando diagnosticand +diarista diarist +dieta diet +dificilmente dificil +difícil dificil +dilacerado dilacerad +dinamismo dinamism +diogo diog +direita direit +diretrizes diretriz +dirão dira +discretas discret +discute discut +disfarçado disfarcad +disparo dispar +disponíveis disponivel +dispôs dispo +dissonância dissonanci +distorcendo distorcend +distribuídos distribuid +divaldo divald +divertia diverti +dividimos dividim +divulga divulg +diálogo dialog +dobradas dobrad +doentes doent +dolorosas doloros +domingos doming +dondoca dondoc +dormitório dormitori +doutores doutor +dramático dramatic +drogas drog +duplicando duplicand +durinho durinh +débito debit +déspotas despot +dúvida duvid +ecologistas ecologist +ecos eco +edite edit +educada educad +efetivo efetiv +egoístas egoist +elastina elastin +eleitorado eleitorad +eletricista eletricist +eletrônico eletronic +eliminaria eliminari +elogia elogi +elétrico eletric +embaixadas embaixad +embarcações embarcaca +emboca emboc +embrulhada embrulhad +emigrantes emigrant +emitidos emitid +empenha empenh +empoeirado empoeirad +empregada empregad +empresariais empresarial +empurradas empurrad +emílio emili +encaminhado encaminhad +encara encar +encarnava encarnav +encerradas encerrad +enciclopéias enciclopei +encontrado encontrad +encostados encostad +endereços enderec +endossado endossad +enfatiza enfatiz +enfia enfi +enfrentará enfrentara +engarrafa engarraf +engenhocas engenhoc +engraxate engraxat +enlace enlac +enriquecido enriquecid +ensinamentos ensinament +entendesse entendess +enterros enterr +entrado entrad +entregando entregand +entrincheirados entrincheirad +enumera enumer +enviesados enviesad +enxergando enxergand +epifania epifani +equinócio equinoci +equivocada equivocad +eris eri +erradicação erradicaca +eróticas erotic +esboçou esbocou +escalão escala +escassos escass +escoamento escoament +escolhidos escolhid +escondido escondid +escreventes escrevent +escritórios escritori +escuridão escurida +esfarrapados esfarrapad +esgotada esgotad +esmerilhada esmerilhad +espalhafatosa espalhafatos +espantosa espantos +especialistas especialist +espectro espectr +esperada esperad +espermogramas espermogram +espetáculo espetacul +esplêndida esplendid +esposa espos +espíritas espirit +esquecidas esquecid +esquetes esquet +essenciais essencial +estabilizadas estabilizad +estaduais estadual +estampava estampav +estatura estatur +estelionatários estelionatari +esteróide esteroid +estilistas estilist +estimulando estimuland +estocadas estocad +estrados estrad +estratagemas estratagem +estrelado estrelad +estripulias estripuli +estréiam estreiam +estupenda estupend +estée este +esvaziado esvaziad +etiquetas etiquet +eurico euric +evangelização evangelizaca +evidência evidenci +evoluísse evoluiss +exaltação exaltaca +exaurido exaurid +excepcionalmente excepcional +excitação excitaca +excrescência excrescenci +exemplares exemplar +exibe exib +exigida exigid +existe exist +expande expand +experiente experient +experts expert +explodido explodid +explícito explicit +exposto expost +expulsando expulsand +exteriores exterior +extraordinariamente extraordinari +extravasamento extravasament +exuberantes exuberant +fabrica fabric +facadas facad +facção facca +faixas faix +falcatruas falcatru +falsificadas falsificad +familiares familiar +fantasias fantasi +fardas fard +farmácia farmaci +faríamos fariam +fatiadas fatiad +favela favel +fazemos fazem +fearnside fearnsid +fecundas fecund +feitiçaria feiticari +felinos felin +fendas fend +fermentação fermentaca +ferroviário ferroviari +festinhas festinh +fibrinogênio fibrinogeni +fichas fich +figura figur +filarmônicas filarmonic +filiação filiaca +filtro filtr +finalmente final +finança financ +fique fiqu +fiscalização fiscalizaca +fitas fita +fiéis fiel +flavio flavi +florença florenc +fluminense fluminens +focados focad +folclórico folcloric +fonoaudiologia fonoaudiologi +forca forc +formalidade formalidad +formigas formig +fornecedores fornecedor +forte fort +forçar forcar +fotográficos fotografic +fraco frac +francesa frances +franja franj +frases fras +freguesas fregues +frequenta frequent +freqüentadores frequentador +fresco fresc +fricção fricca +fruição fruica +frívolo frivol +fumando fumand +funcionárias funcionari +fundação fundaca +furadas furad +futuramente futur +fácil facil +físicos fisic +gabeira gabeir +galho galh +gambino gambin +ganhas ganh +garantidas garantid +garimpando garimpand +garrafas garraf +gastadora gastador +gastronômico gastronomic +gaúcha gauch +generalizada generalizad +geniais genial +gentileza gentilez +geográfica geografic +gerais geral +gerusa gerus +gianfrancesco gianfrancesc +ginecológica ginecologic +giulia giuli +globeleza globelez +goiabada goiabad +gompas gomp +gordura gordur +gostava gostav +governado governad +grades grad +gramados gramad +grandões granda +gratuitos gratuit +gravações gravaca +grega greg +griffes griff +grossa gross +grunge grung +guadalupe guadalup +guardas guard +guerrilha guerrilh +guide guid +gullo gull +gérson gerson +habilidade habilidad +habituando habituand +hatanaka hatanak +hectare hectar +helvécio helveci +herculano herculan +hernandes hernand +hidratantes hidratant +higienópolis higienopolil +hipertensão hipertensa +histerectomia histerectomi +histórico historic +hollywoodiano hollywoodian +homeopático homeopatic +honesta honest +hordas hord +horário horari +hotéis hotel +humildade humildad +hystera hyster +iansã iansa +ideais ideal +identificação identificaca +idolatria idolatri +ignorado ignorad +ilegais ilegal +iluminada iluminad +ilusões ilusa +imaginário imaginari +imensas imens +imitadores imitador +impactos impact +impedisse impediss +impeçam impecam +implicações implicaca +importado importad +impossibilidade impossibilidad +impressa impress +imprimindo imprimind +impulsos impuls +inabaláveis inabalavel +inalcançáveis inalcancavel +incendiada incendiad +incerto incert +incisões incisa +incluído incluid +incompreensão incompreensa +incontida incontid +incorporá incorpora +incursão incursa +indagações indagaca +independente independent +indicada indicad +indigestão indigesta +indiscutível indiscutivel +indomável indomavel +indígenas indigen +inesperadamente inesperad +infantaria infantari +infelizes infeliz +infinitas infinit +influenciados influenciad +informalmente informal +informática informatic +ingestão ingesta +inibidores inibidor +iniciação iniciaca +injetado injetad +inoportunos inoportun +insana insan +inserido inserid +insolúvel insoluvel +instala instal +instinto instint +instrução instruca +insuperável insuperavel +integrais integral +inteligence inteligenc +intenso intens +interessada interessad +interioranas interioran +interminável interminavel +interno intern +interrogando interrogand +intervenções intervenca +intoxicação intoxicaca +introspectivo introspectiv +invadindo invadind +inventário inventari +investiga investig +investimos investim +inácio inaci +inúmeros inumer +irene iren +irredutíveis irredutivel +irreverente irreverent +irritava irritav +isenção isenca +israelita israelit +itens item +jabás jaba +jaguatirica jaguatiric +janice janic +jaraguá jaragua +jazigo jazig +jerusalém jerusalem +jofre jofr +johnnie johnni +jornalismo jornalism +joyce joyc +julgada julgad +julienne julienn +junkie junki +jurava jurav +justifica justific +juventude juventud +júnior junior +katiana katian +kosmos kosm +laboratório laboratori +lados lado +lambuzadas lambuzad +lance lanc +lançam lancam +laranjeiras laranjeir +laszlo laszl +lauderdale lauderdal +lavoura lavour +legalidade legalidad +legitimidade legitimidad +leiloeiro leiloeir +lembradas lembrad +lenha lenh +lentos lent +leste lest +levando levand +levará levara +lhes lhe +liberalismo liberalism +liberá libera +liderado liderad +ligação ligaca +limitações limitaca +linda lind +lins lim +listados listad +litúrgico liturgic +lixando lixand +localizados localizad +logotipos logotip +londrina londrin +lorde lord +louco louc +louzada louzad +lucidio lucidi +lugarejos lugarej +lustro lustr +luxuosos luxuos +lésbicas lesbic +líricos liric +macacão macaca +machos mach +macunaíma macunaim +madura madur +magazines magazin +magnus magnu +magrinhas magrinh +majestosa majestos +malcriação malcriaca +malha malh +maltratadas maltratad +mambembes mambemb +manchetes manchet +mandá manda +manhãs manha +manipulados manipulad +manterá mantera +mantê mante +maquiavelismo maquiavelism +maratona marata +marcantes marcant +marciana marcian +maria mari +marinha marinh +marluce marluc +martelo martel +maré mare +masmorra masmorr +mastiga mastig +mateo mate +matriarca matriarc +matá mata +maçante macant +mecanizado mecanizad +medicamento medicament +mediterrâneo mediterrane +megaevento megaevent +meigo meig +melhoria melhori +melão mela +mendonça mendonc +mensageiros mensageir +mentindo mentind +mercadorias mercadori +mereço merec +mescla mescl +mestiço mestic +meteorologia meteorologi +metralhadora metralhador +mexericando mexericand +microfilme microfilm +migratório migratori +milhões milha +milão mila +minaretes minaret +miniaturas miniatur +minnesotta minnesott +minúscula minuscul +mirrado mirrad +missão missa +misturava misturav +mobilidade mobilidad +models model +modesta modest +modos modo +moldura moldur +moluscos molusc +monde mond +monopólio monopoli +montados montad +montava montav +monótono monoton +morarmos morarm +moribundo moribund +mortas mort +mosteiro mosteir +motins motim +motors motor +movimentação movimentaca +mudança mudanc +mulatinho mulatinh +multimídia multimidi +municípios municipi +musculação musculaca +mutretas mutret +mágoa mago +máximo maxim +médiuns medium +mínimos minim +múltiplas multipl +nacionais nacional +nalina nalin +napoleão napolea +narra narr +natalino natalin +nature natur +navegação navegaca +necessaire necessair +necrófilos necrofil +negação negaca +negona negon +neiva neiv +nervosas nervos +netinho netinh +neuroses neuros +nicarágua nicaragu +nipônica niponic +nobres nobr +nomeados nomead +nordestinos nordestin +nossos noss +noturno noturn +novatos novat +noção noca +numerário numerari +náutica nautic +nódulo nodul +obesas obes +obrigadas obrigad +observaríamos observariam +obstetrícia obstetrici +obtive obtiv +ocidentalizado ocidentalizad +ocorridos ocorrid +ocupante ocupant +oeste oest +oferenda oferend +ohana ohan +olhasse olhass +oluô oluo +oncologistas oncologist +opera oper +operária operari +oposições oposica +oratórios oratori +organiza organiz +orgulho orgulh +orientação orientaca +orlando orland +ortopedistas ortopedist +oscila oscil +ostras ostr +outdoors outdoor +ouvindo ouvind +oxalá oxala +pacifismo pacifism +padre padr +pagamentos pagament +painéis painel +palacetes palacet +palestrando palestrand +palpites palpit +pandolpho pandolph +paparicada paparicad +parabolazinha parabolazinh +parafusos parafus +paramaribo paramarib +parasitologia parasitologi +parcelava parcelav +paredes pared +parlamento parlament +participado participad +partidos partid +parágrafo paragraf +passageiro passageir +passaríamos passariam +passiva passiv +pastores pastor +paternidade paternidad +patrocinadas patrocinad +paula paul +pausa paus +pechincha pechinch +pedalinhos pedalinh +pedra pedr +pefelistas pefelist +peito peit +peles pel +pendentes pendent +penrose penros +pensilvânia pensilvani +pepito pepit +perca perc +percorrendo percorrend +perderá perdera +perecíveis perecivel +perfeição perfeica +perguntava perguntav +perigosos perigos +permanecia permaneci +permitida permitid +pernoite pernoit +perseguição perseguica +perspectiva perspectiv +perto pert +perícias perici +pesava pesav +pessanha pessanh +petrobras petrobr +philippe philipp +picadinha picadinh +picuinha picuinh +pilhas pilh +pinheiros pinheir +piorando piorand +piração piraca +pistola pistol +pizzarias pizzari +planejava planejav +plantava plantav +platéias platei +plugados plugad +pobres pobr +poderá podera +pois poi +politicamente politic +polícia polici +pondera ponder +pontua pontu +populista populist +porquê porque +porteiros porteir +portáteis portatel +positivamente positiv +possibilidade possibilidad +posteriormente posterior +potências potenci +pousada pousad +poída poid +prata prat +pratos prat +precede preced +precipícios precipici +precisão precisa +precário precari +predominantemente predominant +preferencialmente preferencial +prega preg +prejuízo prejuiz +premonitório premonitori +preocupados preocupad +preparava preparav +presente present +presidente president +pressioná pressiona +prestigiosa prestigios +pretendo pretend +preventivos preventiv +preza prez +primitiva primitiv +priore prior +prisões prisa +privilegia privilegi +problemáticas problematic +processo process +procuramos procuram +produtividade produtividad +produzo produz +profeta profet +profundidades profundidad +progredido progredid +projetados projetad +prolonga prolong +promissória promissori +promíscuo promiscu +propaganda propagand +proporciona proporcia +propriedade propriedad +prorroga prorrog +prostituição prostituica +protegidos protegid +protuberâncias protuberanci +providenciada providenciad +provocaria provocari +proíbo proib +prêt pret +próteses protes +psicológico psicologic +psiquiatria psiquiatri +publicidade publicidad +pulmão pulma +punidos punid +puxada puxad +pároco paroc +péssimo pessim +pólvora polvor +quadrilha quadrilh +qualificações qualificaca +quarteirão quarteira +quebramos quebram +queimaduras queimadur +quente quent +questionada questionad +quilométricos quilometric +quintino quintin +quão quao +rachas rach +radicados radicad +ragas raga +rampa ramp +rappers rapper +raríssimas rarissim +rastreando rastreand +raças raca +reajo reaj +realização realizaca +rebanho rebanh +rebote rebot +recebia recebi +receitado receitad +receptivo receptiv +recheio rechei +recolhendo recolhend +recomendações recomendaca +reconhecimento reconheciment +recorrendo recorrend +recrutando recrutand +recusas recus +redigia redigi +reduzindo reduzind +reerguida reerguid +referente referent +refletindo refletind +reforço reforc +refúgios refugi +registradas registrad +regrada regrad +regularmente regular +reinvestimento reinvestiment +relacionada relacionad +relatando relatand +relaxados relaxad +religiosidade religiosidad +remanejamentos remanejament +remunerados remunerad +rendeira rendeir +renome renom +renúncia renunci +repertório repertori +repletos replet +representada representad +reprima reprim +repudiado repudiad +requisitadas requisitad +resfriado resfriad +resigna resign +resolveria resolveri +respeitado respeitad +respirava respirav +responsável responsavel +ressentimento ressentiment +restaurantes restaurant +resultante resultant +reteve retev +retomada retomad +retrata retrat +reumática reumatic +reveladora revelador +reversão reversa +revistinhas revistinh +revolução revoluca +ribeirão ribeira +rigorosamente rigoros +riquenha riquenh +ritmo ritm +robortella robortell +rodado rodad +rodoviário rodoviari +rollins rollim +romero romer +ronca ronc +rosalinda rosalind +roteiro roteir +roubo roub +ruelas ruel +russificação russificaca +régis regil +rítmica ritmic +sabermos saberm +sacados sacad +sacrifício sacrifici +sagração sagraca +salada salad +salgueiro salgueir +saltando saltand +salvos salv +sampaio sampai +sangradas sangrad +sanitárias sanitari +santuários santuari +saquinho saquinh +sastre sastr +satélite satelit +sayão saya +scania scani +secadores secador +secundária secundari +sedutora sedutor +seguidora seguidor +seguramente segur +seitas seit +seleções seleca +semeia semei +seminarista seminarist +senhora senhor +sensibilizarmos sensibilizarm +sentença sentenc +separada separad +sepultado sepultad +seqüestro sequestr +seriamente seri +sertanejo sertanej +servirá servira +seus seu +seção seca +sibéria siberi +significado significad +silhueta silhuet +silêncio silenci +simpatizantes simpatizant +simulações simulaca +sinceridade sinceridad +singelo singel +sintomas sintom +sistemático sistematic +skatistas skatist +sobre sobr +sobrevive sobreviv +sociais social +sociólogo sociolog +sofrendo sofrend +sogro sogr +solicitava solicitav +solteiro solteir +somente so +sonolência sonolenci +sorima sorim +sorteando sorteand +sousa sous +sportszone sportszon +studio studi +subia subi +submetidas submetid +subsidia subsidi +substituída substituid +subvenções subvenca +sucessivas sucessiv +sudoeste sudoest +sugerido sugerid +sujeira sujeir +sumiços sumic +superchique superchiqu +superintendências superintendenci +supersônicos supersonic +supra supr +surdos surd +surpreendendo surpreendend +surrupiando surrupiand +suspeitos suspeit +sustentasse sustentass +suzano suzan +sátiras satir +sílvia silvi +sócia soci +tabaco tabac +tachados tachad +talento talent +tambus tambu +tanta tant +tarauacá tarauaca +tarja tarj +taxistas taxist +tecnicamente tecnic +teipe teip +telefonema telefonem +telescópios telescopi +telão tela +temperado temperad +tempo temp +tendência tendenci +tensos tens +tente tent +terapia terapi +tereza terez +termos term +terrestres terrestr +terço terc +testados testad +tetraplégica tetraplegic +thalita thalit +tibete tibet +tinja tinj +tiradentes tiradent +tirá tira +tocaia tocai +tolerada tolerad +tomaria tomari +tomilho tomilh +topava topav +torna torn +tornozelo tornozel +torturados torturad +totalizando totalizand +trabalhado trabalhad +tradicionais tradicional +traga trag +traje traj +tranco tranc +tranqüilo tranquil +transeunte transeunt +transformaria transformari +translúcido translucid +transparece transparec +transtorno transtorn +tratadas tratad +trauma traum +trazendo trazend +traí trai +treinamentos treinament +trepidante trepidant +trilhões trilha +tripulação tripulaca +triênios trieni +trombada trombad +tropicais tropical +trupe trup +tróica troic +tumultuado tumultuad +turca turc +turquia turqui +técnica tecnic +têxtil textil +tópicos topic +ubirajara ubirajar +ultrapassado ultrapassad +unesco unesc +uniforme uniform +unânime unanim +urina urin +uruguaiana uruguaian +usos uso +utilizado utilizad +vacinada vacinad +vaidosas vaidos +valera valer +valle vall +vamos vamo +varela varel +variedade variedad +vasculhando vasculhand +vazia vazi +vegetativa vegetativ +velhice velhic +venais venal +vendendo vendend +venerada venerad +ventures ventur +verde verd +verificação verificaca +versos vers +vestia vesti +veterano veteran +viadutos viadut +vibração vibraca +videodiscos videodisc +vietcongues vietcongu +vilanova vilanov +vinagre vinagr +vingando vingand +viola viol +viracopos viracop +viroses viros +visita visit +vistas vist +vitaminas vitamin +vivas viva +vivos vivo +viúvas viuv +volante volant +voltava voltav +voracidade voracidad +vozeirão vozeira +vultosos vultos +véus veu +vítor vitor +webphone webphon +workaholics workaholic +xeretada xeretad +zacharias zachari +zerados zerad +zíper ziper +álibi alibi +áridas arid +âncora ancor +épocas epoc +íamos iamo +índios indi +óbolo obol +órfãos orfa +úlcera ulcer +a a +abateu abateu +abouch abouch +abrir abrir +acabavam acabavam +aceitou aceitou +achar achar +acne acne +aconteceu aconteceu +acrescentar acrescentar +adensar adensar +adivinhar adivinhar +adorei adorei +afanar afanar +aflorou aflorou +agilizar agilizar +agredir agredir +ailton ailton +alargar alargar +alex alex +alka alka +alto alto +amador amador +american american +anafranil anafranil +anderson anderson +animam animam +antecederam antecederam +anulou anulou +apanham apanham +apec apec +apoderaram apoderaram +apostar apostar +apresentador apresentador +aprovassem aprovassem +ar ar +argumentou argumentou +aronson aronson +arrecadaram arrecadaram +arrumou arrumou +ashg ashg +assestaram assestaram +assumam assumam +atear atear +atirei atirei +atrasar atrasar +atua atua +aumentarem aumentarem +auxiliar auxiliar +aviador aviador +azedam azedam +bada bada +baldaracci baldaracci +baniu baniu +basbaum basbaum +batucar batucar +bebe bebe +bekierman bekierman +beneficiou beneficiou +bertoli bertoli +bia bia +bisbilhotar bisbilhotar +bloquear bloquear +bode bode +bombear bombear +botei botei +br br +brevetagem brevetagem +bronx bronx +bu bu +butantan butantan +cabrini cabrini +cakoff cakoff +caminham caminham +canhonear canhonear +capo capo +carimbavam carimbavam +carrossel carrossel +casseb casseb +causou causou +cede cede +celson celson +cesar cesar +chamei chamei +checar checar +chelotti chelotti +chocou chocou +chupei chupei +cima cima +citar citar +claudeir claudeir +clô clô +coca coca +colaboraram colaboraram +colo colo +comandou comandou +comemoraram comemoraram +cometi cometi +compartilhar compartilhar +compor compor +comprometeu comprometeu +conaf conaf +concordar concordar +confeccionar confeccionar +conformar conformar +conjugal conjugal +conseguiriam conseguiriam +consomem consomem +consulting consulting +contaram contaram +contornar contornar +controlar controlar +convidou convidou +copiem copiem +coro coro +corrigi corrigi +cousteau cousteau +cremar cremar +criem criem +crosby crosby +cuidam cuidam +cumpri cumpri +curtem curtem +cz cz +dalton dalton +dataprev dataprev +de de +decifrar decifrar +decretaram decretaram +defendeu defendeu +deitar deitar +delicatessen delicatessen +demonstraram demonstraram +dependem dependem +derrotou derrotou +desaprovar desaprovar +descertificaram descertificaram +desconversar desconversar +desembolsaram desembolsaram +desenvolver desenvolver +desfilaram desfilaram +deslanchar deslanchar +desmembram desmembram +despencou despencou +destacassem destacassem +desviou desviou +detour detour +devolveram devolveram +diet diet +dilton dilton +dirigir dirigir +discutir discutir +disputaram disputaram +diva diva +divulgaram divulgaram +doa doa +dominam dominam +dormiam dormiam +downtown downtown +du du +dure dure +east east +editorial editorial +ego ego +elda elda +eliachar eliachar +elogiaram elogiaram +embalou embalou +embratur embratur +emocionou emocionou +empregou empregou +encaminhou encaminhou +enchem enchem +encostar encostar +enfrentar enfrentar +engordarem engordarem +enriquecer enriquecer +entender entender +entregar entregar +envelheceram envelheceram +epcot epcot +eron eron +escalou escalou +escolher escolher +escritor escritor +espanhol espanhol +espiral espiral +esquentou esquentou +estacionar estacionar +estenderam estenderam +estivessem estivessem +estreou estreou +eternizam eternizam +evocam evocam +excel excel +exigiam exigiam +expandir expandir +explodiu explodiu +extintor extintor +faap faap +fale fale +fama fama +fase fase +fax fax +feldmann feldmann +ferver ferver +ficar ficar +filiou filiou +financiou financiou +fiscalizou fiscalizou +fizessem fizessem +flower flower +fok fok +forjar forjar +fortalecem fortalecem +frankfurt frankfurt +frequentam frequentam +frossard frossard +fumam fumam +fundamental fundamental +fuzil fuzil +galo galo +ganhou ganhou +gastam gastam +gelo gelo +gerald gerald +gg gg +giraldez giraldez +gluck gluck +goldoni goldoni +gotti gotti +grahan grahan +grisi grisi +guga guga +guzik guzik +hamburger hamburger +hart hart +hector hector +herchcovitch herchcovitch +hijo hijo +hoffman hoffman +honram honram +hotel hotel +hue hue +hwa hwa +ica ica +ignoram ignoram +iludem iludem +imitar imitar +implementem implementem +imsdd imsdd +inclinou inclinou +incorporou incorporou +induz induz +influenciam influenciam +inglesi inglesi +insconstitucional insconstitucional +instalam instalam +integrated integrated +interministerial interministerial +introduzir introduzir +investigador investigador +ir ir +irã irã +itapemirim itapemirim +jabor jabor +jato jato +jet jet +jogo jogo +jova jova +julgar julgar +juracy juracy +kandir kandir +kepler kepler +kissner kissner +kraft kraft +lacrimal lacrimal +lamentou lamentou +lari lari +lavou lavou +legalizam legalizam +lemir lemir +lettieri lettieri +levem levem +liberation liberation +ligaram ligaram +lin lin +listou listou +localizou localizou +look look +louvavam louvavam +lugar lugar +lux lux +macbrazel macbrazel +magri magri +mala mala +mamou mamou +manhattan manhattan +manuel manuel +marchar marchar +marlon marlon +massaini massaini +mato mato +mazindol mazindol +mecanizar mecanizar +melhor melhor +mendel mendel +mercantil mercantil +merlot merlot +mexer mexer +mico mico +milken milken +mira mira +ml ml +moderini moderini +mongol mongol +mora mora +morri morri +moto moto +mpla mpla +mulatti mulatti +muscular muscular +na na +namoraram namoraram +nasceram nasceram +navigator navigator +negou negou +netmeeting netmeeting +nicioli nicioli +nixon nixon +norodom norodom +novalogic novalogic +nutrem nutrem +obrigaram obrigaram +ocimar ocimar +odeiam odeiam +oi oi +olhou olhou +onze onze +optei optei +organizou organizou +ortec ortec +otonni otonni +ovni ovni +paga paga +paix paix +parabenizou parabenizou +parei parei +participei participei +passat passat +pato pato +pc pc +pedi pedi +pele pele +pentecostal pentecostal +perdedor perdedor +perguntaram perguntaram +perrier perrier +perturbavam perturbavam +petroni petroni +pier pier +piorou piorou +plantou plantou +podiam podiam +pop pop +pose pose +pousam pousam +praticaram praticaram +preencheu preencheu +prender prender +prescreveu prescreveu +prestaram prestaram +privatizar privatizar +procurou procurou +projetar projetar +propagam propagam +protestar protestar +provocar provocar +publicaram publicaram +pule pule +puxou puxou +qual qual +queen queen +questionou questionou +rabinovici rabinovici +rala rala +ranieri ranieri +ratton ratton +reafirmar reafirmar +reativar reativar +receitaram receitaram +recomendam recomendam +recorrer recorrer +redator redator +reduziu reduziu +refletiu refletiu +registral registral +reitor reitor +rem rem +renew renew +repensar repensar +reprimem reprimem +resgatou resgatou +respeitam respeitam +ressurgem ressurgem +resvalam resvalam +retornar retornar +revender revender +reviver reviver +rica rica +riso riso +robru robru +rola rola +romy romy +rosenblatt rosenblatt +rua rua +rumaram rumaram +saber saber +sacudir sacudir +saio saio +saltei saltei +sant sant +sauvignon sauvignon +scheper scheper +se se +seduziram seduziram +selar selar +semeou semeou +sentar sentar +sequenciar sequenciar +servirem servirem +shattered shattered +sido sido +simancol simancol +sindical sindical +sizer sizer +soam soam +sobrevivi sobrevivi +sol sol +somar somar +sou sou +spiti spiti +stanley stanley +stonewall stonewall +subiu subiu +suco suco +suja suja +superestimular superestimular +surfar surfar +surviving surviving +suzuki suzuki +tabwin tabwin +tambaqui tambaqui +tchururuchu tchururuchu +telegraph telegraph +temor temor +teriam teriam +teto teto +tim tim +tiro tiro +toda toda +tombaram tombaram +torcedor torcedor +total total +tradutor tradutor +tramar tramar +transferir transferir +trariam trariam +trazer trazer +triathlon triathlon +tropical tropical +tumor tumor +tô tô +ultralar ultralar +unificou unificou +urandir urandir +usp usp +vagabal vagabal +valentim valentim +vanderbilt vanderbilt +vasculharam vasculharam +vela vela +vendi vendi +vespri vespri +viabilizar viabilizar +vicky vicky +vim vim +virgem virgem +vital vital +voa voa +voltou voltou +véu véu +walt walt +wellington wellington +wilker wilker +woodstock woodstock +xiao xiao +yale yale +zander zander +zhiling zhiling diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/ru-light.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/ru-light.tsv new file mode 100644 index 0000000000..5e2ff20c0c --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/ru-light.tsv @@ -0,0 +1,2000 @@ +абиссинию абиссин +авторитеты авторитет +адский адск +актером актер +александровне александровн +аллее алле +амбиций амбиц +ангельски ангельск +андрея андр +анфилада анфилад +аптеке аптек +аристократическим аристократическ +ароматном ароматн +архитектору архитектор +аудитории аудитор +баба баб +багряным багрян +балкона балкон +баночку баночк +барская барск +барышень барышен +батюшкова батюшков +бегах бег +беднейшие беднейш +бедственное бедствен +безвыходная безвыходн +бездомней бездомн +беззвездной беззвездн +безнадежней безнадежн +безобразнее безобразне +безошибочно безошибочн +безумца безумц +беленьким беленьк +белому бел +берегов берег +беседах бесед +бесконечных бесконечн +беспокоилась беспокоилас +беспокою беспок +беспощадной беспощадн +бессилия бессил +бессмыслицей бессмыслиц +бесстыдным бесстыдн +бесчестье бесчест +библиотеке библиотек +биль бил +бишь биш +благодарная благодарн +благоприобретенные благоприобретен +благородных благородн +благотворители благотворител +блаженствую блаженств +блеклыми блекл +ближайшем ближайш +блины блин +блюде блюд +богатые богат +бодрой бодр +божьей бож +боковой боков +болезнях болезн +болтовни болтовн +большего больш +бормотали бормотал +борются борютс +боязнь боязн +бранюсь бранюс +бреда бред +бритва бритв +бросалась бросалас +брошенное брошен +брюхе брюх +будничной будничн +будьте будьт +букеты букет +бумажке бумажк +бурша бурш +буянила буянил +былая был +бытия быт +вагоном вагон +валериановых валерианов +ванили ванил +варшаве варшав +ватерлоо ватерло +ввели ввел +вдалеке вдалек +вдохновеньем вдохновен +ведрами ведр +везувии везув +великанами великан +великолепние великолепн +величие велич +венца венц +верится веритс +вернутся вернутс +версты верст +верхлевского верхлевск +веры вер +веселья весел +ветках ветк +вечернего вечерн +веше веш +взаимность взаимност +взвизгнула взвизгнул +взглядывая взглядыв +вздрагивающей вздрагивающ +взмахом взмах +взыскании взыскан +вида вид +виденных виден +видного видн +визитный визитн +вино вин +винюсь винюс +вихрем вихр +вкралась вкралас +владычествовать владычествоват +влечению влечен +влюбленность влюбленност +внезапною внезапн +внимай внима +внутренний внутрен +вогнать вогнат +воду вод +возбудимы возбудим +возвратного возвратн +возвышая возвыш +возить возит +возмущающих возмущающ +возобновились возобновилис +возьмете возьмет +войницкого войницк +волненье волнен +волнуясь волнуяс +воль вол +воображение воображен +вопиющим вопиющ +вопросы вопрос +воротами ворот +ворочало ворочал +восклицанием восклицан +воспаленного воспален +воспользоваться воспользоватьс +восстановляя восстановл +вострым востр +вошедшая вошедш +вперяясь вперяяс +впредь впред +вражеских вражеск +временам времен +врывалось врывалос +вселенской вселенск +вскакивала вскакивал +вскрикнуть вскрикнут +вспоминается вспоминаетс +вспухшею вспухш +встанешь встанеш +встретила встретил +встречах встреч +вступить вступит +втащила втащил +вуали вуал +вчерашней вчерашн +выбирать выбират +выведи вывед +выгадать выгадат +выгодно выгодн +выдающеюся выдающеюс +выдумывала выдумывал +вызванные вызван +выказана выказан +вылериановые вылерианов +вымытые вымыт +вынули вынул +выписки выписк +выпукло выпукл +выработать выработат +выраженьице выраженьиц +вырваться вырватьс +вырываются вырываютс +высказываясь высказываяс +высоки высок +высохла высохл +выступили выступил +вытерла вытерл +выхлопотать выхлопотат +выхожу выхож +вышла вышл +вяло вял +гадкую гадк +галереи галере +гармонировало гармонировал +генералишку генералишк +герасимычу герасимыч +гибельный гибельн +главнейшая главнейш +гладьте гладьт +глиссе глисс +глубочайшее глубочайше +глупостям глупост +глуши глуш +гневно гневн +гнусном гнусн +говоря говор +годовым годов +головные головн +голосом голос +голых гол +горами гор +гордятся гордятс +горизонте горизонт +городе город +горошина горошин +горючий горюч +горячо горяч +господствовавшей господствовавш +гостиную гостин +готовились готовилис +гравюры гравюр +границей границ +греза грез +грешить грешит +гробницей гробниц +грозных грозн +громкими громк +грубейшим грубейш +грудь груд +грущу грущ +грязных грязн +губительнее губительне +гулять гулят +густые густ +давила давил +далась далас +дальнейшему дальнейш +данную дан +дачи дач +дверь двер +движеньем движен +двойные двойн +дворце дворц +двухмачтовый двухмачтов +девичьего девич +девчонку девчонк +действий действ +декларируя деклариру +деления делен +дельному дельн +деньги деньг +деревенское деревенск +деревянными деревян +дерзостей дерзост +десятое десят +детстве детств +диване диван +дико дик +дичь дич +дмитрием дмитр +добираясь добираяс +добродетелям добродетел +добрыни добрын +доверии довер +довольны довольн +договариваешь договариваеш +дожа дож +дожидаясь дожидаяс +доказательство доказательств +докучливого докучлив +доле дол +домам дом +домохозяйка домохозяйк +доносы донос +допросишься допросишьс +дорогая дорог +дорожному дорожн +доску доск +достанешь достанеш +достоинстве достоинств +дотолкалась дотолкалас +дочитывать дочитыват +драгунские драгунск +драть драт +дремотой дремот +дрожащая дрожащ +дружба дружб +дружном дружн +дряхлую дряхл +думу дум +дураки дурак +дурында дурынд +душевном душевн +душою душ +дырявый дыряв +дюссотов дюссот +египетского египетск +единственною единствен +ежеминутных ежеминутн +еловая елов +естественному естествен +жадный жадн +жалкий жалк +жалуетесь жалуетес +жгла жгл +желаешь желаеш +железною железн +желудком желудк +женитьба женитьб +женскую женск +жеста жест +жечь жеч +животного животн +жиденькие жиденьк +жилету жилет +жиру жир +жуков жук +забалканский забалканск +забияки забияк +заботились заботилис +забрать забрат +забывшие забывш +завадских завадск +завернулась завернулас +завещанию завещан +завлекли завлекл +завтрашний завтрашн +загвоздка загвоздк +заговаривай заговарива +загорелую загорел +задавали задавал +задела задел +задремавший задремавш +задумчивости задумчивост +задыхаешься задыхаешьс +зажженных зажжен +заиграли заиграл +займешь займеш +закатился закатилс +закладчиков закладчик +законно закон +законы закон +закружите закружит +закупорилось закупорилос +залепетала залепетал +заложена заложен +замасленные замаслен +заметила заметил +замечается замечаетс +замешался замешалс +замолчали замолчал +замучить замучит +занести занест +заносчивы заносчив +заочно заочн +запекшимися запекшимис +запирается запираетс +записывая записыв +заплеванному заплеван +запомните запомнит +запрыгали запрыгал +запыленному запылен +заразительная заразительн +зари зар +заряжанье заряжан +засияли засиял +засмотрится засмотритс +заставой застав +застрелитесь застрелитес +засухи засух +затеешь затееш +заткни заткн +затрудняется затрудняетс +заученный заучен +захлопнула захлопнул +зацепиться зацепитьс +заштопать заштопат +звать зват +звериную зверин +звуку звук +здорова здоров +здравствуйте здравствуйт +зеленые зелен +земского земск +зимних зимн +злобные злобн +злорадно злорадн +знавали знавал +знакомы знаком +знамя знам +значительном значительн +зовешь зовеш +золотою золот +зрелище зрелищ +зурна зурн +иванычу иваныч +играючи играюч +идеально идеальн +идущие идущ +избегайте избегайт +избыть избыт +известности известност +извинюсь извинюс +изворотов изворот +издательство издательств +изливали изливал +измалетства измалетств +измокшее измокше +изнемогала изнемогал +изобретений изобретен +изумительный изумительн +изюминки изюминк +ильинские ильинск +имейте имейт +имеющих имеющ +иностранного иностран +интеллигенции интеллигенц +интересуется интересуетс +иронически ироническ +исключения исключен +искривившеюся искривившеюс +искусственной искусствен +исподлобья исподлоб +исполнять исполнят +испугали испугал +испытала испытал +исступления исступлен +истинном истин +истощилась истощилас +исчезало исчезал +ихние ихн +каблучки каблучк +каждому кажд +казенная казен +како как +калеными кален +камне камн +канве канв +капиталу капитал +капризу каприз +кареты карет +картинка картинк +касавшемуся касавшемус +катерина катерин +кацавейка кацавейк +кашляя кашл +квартировать квартироват +кинжалы кинжал +киркою кирк +кишели кишел +классах класс +кликами клик +клопы клоп +клянусь клянус +книжной книжн +кобыленка кобыленк +ковыли ковыл +козыри козыр +колеблющемся колеблющемс +колечках колечк +колокольцы колокольц +колумба колумб +команда команд +коммуну коммун +кому ком +константинополь константинопол +конфузился конфузилс +кончаются кончаютс +коня кон +корделия кордел +корка корк +корове коров +корпусом корпус +коснувшись коснувшис +костюму костюм +котором котор +кохом кох +крайности крайност +красивые красив +краснеющим краснеющ +красой крас +кредитными кредитн +крепостных крепостн +крестом крест +крике крик +кровавого кровав +крокета крокет +кругам круг +кружева кружев +крупой круп +крылова крылов +крюку крюк +кузнецов кузнец +кума кум +купленными куплен +куропатки куропатк +куском куск +кухни кухн +кушать кушат +лавочные лавочн +лакеев лаке +лапах лап +ласковы ласков +лебезятниковым лебезятников +легкомысленно легкомыслен +лежавшие лежавш +лезгинку лезгинк +ленивые ленив +леса лес +лета лет +лето лет +либералы либерал +ликованье ликован +липли липл +листу лист +лихорадки лихорадк +личного личн +лишние лишн +логично логичн +ложка ложк +ломберный ломберн +лорнеткой лорнетк +лошадей лошад +лужу луж +лунной лун +лучшему лучш +льзя льз +любезных любезн +любовалась любовалас +любопытных любопытн +людских людск +магазины магазин +мазурки мазурк +маленькие маленьк +малодушие малодуш +мальчишески мальчишеск +маме мам +манкировать манкироват +марсово марсов +масса масс +матвеевной матвеевн +материи матер +мачехе мачех +мгле мгл +медали медал +медленный медлен +меланхолической меланхолическ +мелочною мелочн +мена мен +мерещилось мерещилос +мертвеца мертвец +мессины мессин +металлической металлическ +меховою мехов +мечтательность мечтательност +мешающую мешающ +мигом миг +миленький миленьк +милостивее милостиве +министра министр +минутой минут +мировое миров +михайловна михайловн +младший младш +многообещавшее многообещавше +мнози мноз +могущество могуществ +мозоль мозол +молитва молитв +молодого молод +молоть молот +молчите молчит +монетчиков монетчик +морковь морков +морщила морщил +мосте мост +мошенников мошенник +мститель мстител +мужественности мужественност +мужчиной мужчин +мундиров мундир +муть мут +мучила мучил +мучится мучитс +мыслей мысл +мышления мышлен +мясо мяс +набитая набит +набрасывалась набрасывалас +навернулись навернулис +наврала наврал +нагнула нагнул +надвинулись надвинулис +надежный надежн +надзором надзор +надорванный надорван +надутого надут +назидания назидан +назойливость назойливост +наивный наивн +наймите наймит +наклеены наклеен +накормить накормит +наливала наливал +намеками намек +нанесенной нанесен +напечатали напечатал +напитку напитк +наполнилась наполнилас +напомнить напомнит +напрашиваются напрашиваютс +напускные напускн +народной народн +нарушалось нарушалос +наседка наседк +насколько наскольк +насмеемся насмеемс +наставлениях наставлен +настойчивости настойчивост +настроении настроен +наташе наташ +натуры натур +нафталином нафталин +находите находит +начались началис +начинавшаяся начинавшаяс +начисто начист +нашло нашл +неблагодарность неблагодарност +небось небос +нева нев +невеликодушно невеликодушн +невзрачный невзрачн +неводу невод +невольного невольн +невыносимый невыносим +негодным негодн +недавняя недавн +недоверчиво недоверчив +недостало недостал +недоумение недоумен +неженского неженск +незабвенной незабвен +незаслуженным незаслужен +незнакомого незнаком +неизбежное неизбежн +неизменный неизмен +неистощимых неистощим +некоторый некотор +нелепей нелеп +немедленного немедлен +немногие немног +немцами немц +ненавистною ненавистн +ненужного ненужн +необходимость необходимост +необыкновенным необыкновен +неожиданными неожидан +неосторожнее неосторожне +неотразимою неотразим +неподвижнее неподвижне +непоколебимыми непоколебим +непосредственное непосредствен +непременно непремен +неприметно неприметн +неприятность неприятност +непроходимая непроходим +неразрываемую неразрываем +нерешительности нерешительност +несешь несеш +неслось неслос +несогласимых несогласим +несправедливые несправедлив +несчастлива несчастлив +нетактично нетактичн +неуверенном неуверен +неудобстве неудобств +неуменьем неумен +неустойки неустойк +нечаянный нечаян +неясная неясн +низать низат +никаким никак +николаевна николаевн +нисколько нискольк +ничтожнейшем ничтожнейш +нищету нищет +новодевичий новодевич +ного ног +норма норм +носиться носитьс +ночевавший ночевавш +ноябре ноябр +нравственным нравствен +нужны нужн +нянечка нянечк +обвивали обвивал +обглоданной обглодан +обедне обедн +обернулось обернулос +обещай обеща +обиделась обиделас +обижаться обижатьс +облагодетельствованных облагодетельствован +обленился обленилс +обличий облич +обломовской обломовск +обманываете обманывает +обнаружена обнаружен +обноски обноск +обожги обожг +обойдя обойд +оборвать оборват +обрадовалась обрадовалас +образованные образован +обратясь обратяс +обращу обращ +обрушила обрушил +обстановкой обстановк +обтерпелась обтерпелас +обходятся обходятс +обществу обществ +объявляя объявл +объясняясь объясняяс +обыкновенную обыкновен +обязанность обязанност +овощами овощ +оглядевшись оглядевшис +огне огн +огороде огород +огражу ограж +одевается одеваетс +одеревенелыми одеревенел +одиннадцати одиннадцат +одного одн +одобрить одобрит +одышка одышк +ожидание ожидан +озера озер +озябшие озябш +окаянный окаян +околотку околотк +окошке окошк +окружающему окружающ +олени олен +омрачение омрачен +опасаясь опасаяс +операцию операц +оплевать оплеват +оправдана оправдан +оправляться оправлятьс +опрокинутого опрокинут +опустелой опустел +опыта опыт +ораторствуешь ораторствуеш +орлиным орлин +освежило освежил +оселся оселс +оскорбительнее оскорбительне +ослепила ослепил +осмелились осмелилис +оснований основан +особенности особенност +оставайтесь оставайтес +оставь остав +останавливая останавлив +останусь останус +осторожный осторожн +остроумия остроум +осчастливили осчастливил +отважный отважн +отвести отвест +отвлекала отвлекал +отворили отворил +отвратить отвратит +отдавала отдавал +отдано отдан +отдельное отдельн +отдыхом отдых +отирать отират +откапывать откапыват +откровеннейшим откровеннейш +открыли открыл +откупиться откупитьс +отличную отличн +отменные отмен +относительны относительн +отодвигая отодвиг +отошла отошл +отправитесь отправитес +отпрыске отпрыск +отравлять отравлят +отрезвляющее отрезвляюще +отрочестве отрочеств +отставные отставн +отступятся отступятс +оттолкнешь оттолкнеш +отцветшими отцветш +отчаянной отчаян +отчищенных отчищен +отыскивая отыскив +охапку охапк +охоты охот +очаровательнее очаровательне +очнетесь очнетес +ошибаться ошибатьс +ощущаете ощущает +падать падат +палата палат +пальце пальц +пансиона пансион +папиросочница папиросочниц +парижа париж +партии парт +пасхе пасх +пациентов пациент +певший певш +пелериной пелерин +пенять пенят +первоначальный первоначальн +перебирай перебира +перевернется перевернетс +переворачивая переворачив +передали передал +переедем переед +переименованы переименован +перекрещу перекрещ +переменился переменилс +переносила переносил +переполнено переполнен +пересветов пересвет +переставало переставал +перетасовка перетасовк +перешла перешл +перстней перстн +песка песк +песчаную песчан +петров петр +петя пет +печатных печатн +пидерита пидерит +писала писал +пискариной пискарин +питаясь питаяс +пищику пищик +пламя плам +платке платк +плачущее плачуще +плесканье плескан +плите плит +плохонький плохоньк +плюнуть плюнут +победоносцев победоносц +побледнев побледн +побрился побрилс +повара повар +поверенный поверен +поверхность поверхност +повесьте повесьт +повихнулся повихнулс +повсюду повсюд +повязку повязк +поглумился поглумилс +погоде погод +погрозила погрозил +подавала подавал +подали подал +подбежали подбежал +подвернись подвернис +подводя подвод +поддамся поддамс +подержанная подержан +подкипятило подкипятил +подлецу подлец +подмышкой подмышк +поднявшись поднявшис +подобрался подобралс +подозрению подозрен +подошли подошл +подпрыгивать подпрыгиват +подруга подруг +подслушивайте подслушивайт +подтвердить подтвердит +подушке подушк +подчиненных подчинен +подьячих подьяч +пожалев пожал +пожелали пожелал +пожить пожит +позволительная позволительн +поздравлять поздравлят +позорное позорн +поймана пойман +показания показан +покачала покачал +поклонилась поклонилас +покоившейся покоившейс +покойный покойн +покорной покорн +покрасневший покрасневш +покрытый покрыт +пола пол +полезла полезл +полетишь полетиш +полинялым полинял +полке полк +полнотой полнот +половому полов +положительной положительн +полосы полос +полубессмысленная полубессмыслен +полупьяных полупьян +полученные получен +польза польз +полюбите полюбит +помедля помедл +поместившись поместившис +помещалась помещалас +поминутно поминутн +помогла помогл +помощники помощник +понаведаться понаведатьс +понизилась понизилас +понравится понравитс +понятное понятн +попалась попалас +поползновения поползновен +попрекнула попрекнул +попытать попытат +поразили поразил +порожнее порожне +портмоне портмон +поручено поручен +порывалось порывалос +порядочное порядочн +поселюсь поселюс +посидим посид +последнему последн +послеобеденный послеобеден +послушных послушн +посмотрим посмотр +поспешно поспешн +поставцами поставц +постилая постил +постояннее постоянне +постукиванье постукиван +постыдится постыдитс +потаенною потаен +потерявшийся потерявшийс +потока поток +потребностях потребност +потупившись потупившис +поужинать поужинат +похвать похват +похожая похож +похоти похот +почему поч +почитали почитал +почтительнейшие почтительнейш +пошатнется пошатнетс +пошлости пошлост +поэтическая поэтическ +появляться появлятьс +правее праве +православный православн +празднолюбцами празднолюбц +прахом прах +превратится превратитс +преданности преданност +предвидится предвидитс +предложения предложен +предостережений предостережен +предположительно предположительн +предсказывая предсказыв +представляя представл +предчувствием предчувств +прежнему прежн +презрительнее презрительне +прекрасного прекрасн +прельститься прельститьс +препятствие препятств +прескладной прескладн +преступнике преступник +преувеличивающий преувеличивающ +прибавляются прибавляютс +приблизительно приблизительн +привело привел +приволье привол +привяжусь привяжус +приглашения приглашен +пригодное пригодн +придававшая придававш +придерживая придержив +приезда приезд +приемы прием +призванную призван +признаниям признан +приидите приидит +приказывать приказыват +прикрывается прикрываетс +прилеплялся прилеплялс +приложена приложен +примерять примерят +примирительных примирительн +принарядиться принарядитьс +принимаете принимает +принуждена принужден +приобретала приобретал +припала припал +припоминая припомин +природу природ +прислуги прислуг +присочиним присочин +пристрастно пристрастн +присылаемые присылаем +притворства притворств +приходившая приходивш +прицепиться прицепитьс +причитается причитаетс +прищурился прищурилс +приятною приятн +пробираться пробиратьс +пробуждающейся пробуждающейс +проверить проверит +провожавшего провожавш +прогналь прогнал +прогрессисты прогрессист +продала продал +продолжала продолжал +продукты продукт +прожили прожил +проиграно проигран +произнесла произнесл +пройденное пройден +проклятием проклят +пролежала пролежал +промаху промах +пронеслось пронеслос +проницательным проницательн +пропащий пропащ +прорвалось прорвалос +просвещению просвещен +просить просит +проснувшиеся проснувшиес +простерши простерш +простодушно простодушн +простояла простоял +простых прост +протащила протащил +противны противн +протолкуешь протолкуеш +протянутыми протянут +проходившего проходивш +процентами процент +прочла прочл +прошло прошл +прощание прощан +проявлялось проявлялос +прыгнуть прыгнут +пряно прян +психологию психолог +публичное публичн +пугливые пуглив +пунктов пункт +пустило пустил +пустынного пустын +путаться путатьс +пухлое пухл +пшеница пшениц +пыльный пыльн +пьете пьет +пьяный пьян +пятить пятит +пятый пят +работой работ +равнодушию равнодуш +радовались радовалис +раза раз +разбить разбит +разбудила разбудил +развернутые развернут +развитость развитост +развязать развязат +разглядывавший разглядывавш +разгороженную разгорожен +раздаются раздаютс +раздетые раздет +раздражившись раздражившис +раздумывая раздумыв +разливных разливн +разлучиться разлучитьс +размере размер +разного разн +разный разн +разорвала разорвал +разошлась разошлас +разрозненных разрознен +разряда разряд +разумихина разумихин +разъяснить разъяснит +рамкой рамк +рапортом рапорт +раскольников раскольник +распался распалс +расплатиться расплатитьс +распорядись распорядис +распространение распространен +распять распят +рассеянный рассеян +рассказывала рассказывал +расспрашивайте расспрашивайт +расстилались расстилалис +рассудительна рассудительн +рассыпается рассыпаетс +растолкала растолкал +расфранченную расфранчен +расчетам расчет +рацею рац +ребенком ребенк +революции революц +редька редьк +резко резк +рекомендуя рекоменду +репутации репутац +речка речк +решенном решен +решительном решительн +рискнула рискнул +робка робк +рогов рог +родитель родител +родственнике родственник +рождали рождал +розные розн +роли рол +роптать роптат +россиянину россиянин +рубашечный рубашечн +рублях рубл +руке рук +румяными румян +рутине рутин +ручьями руч +рыжики рыжик +рюшем рюш +савраской савраск +садящееся садящеес +салфетке салфетк +самолюбивая самолюбив +самоубийство самоубийств +сапогов сапог +сафьянные сафьян +сбиваются сбиваютс +сбредить сбредит +сварили сварил +свежим свеж +свернулись свернулис +светится светитс +светозарный светозарн +свидание свидан +свидригайлове свидригайлов +свобода свобод +своевременным своевремен +свяжем свяж +святому свят +сговаривались сговаривалис +сдано сдан +сделанное сделан +сдобные сдобн +седого сед +секунду секунд +семейном семейн +семи сем +сеней сен +сергевна сергевн +сердиться сердитьс +серебряных серебрян +серьгами серьг +сестру сестр +сжевать сжеват +сидело сидел +силился силилс +символами символ +синенькие синеньк +сиплыми сипл +ситцевом ситцев +скажешь скажеш +сказочный сказочн +скамеечку скамеечк +скважину скважин +скитайся скитайс +склоненный склонен +сковорода сковород +скомканное скомкан +скорбями скорб +скотный скотн +скрипучие скрипуч +скрывая скрыв +скудны скудн +скучнее скучне +слабостию слабост +сладить сладит +слева слев +следствия следств +слепо слеп +слипаются слипаютс +слога слог +сложных сложн +служба служб +случаев случа +случившееся случившеес +слушателя слушател +слышатся слышатс +смеете смеет +сменились сменилис +смертном смертн +смешения смешен +смеялись смеялис +смолкали смолкал +смотреть смотрет +смутить смутит +смущенно смущен +смятенная смятен +снежному снежн +снисходительна снисходительн +сношений сношен +соберусь соберус +соблазнительною соблазнительн +собранию собран +событиях событ +совершенных совершен +советом совет +согбенный согбен +соглашусь соглашус +соединенную соединен +создавать создават +сознавать сознават +созревало созревал +сокровенных сокровен +солидно солидн +соломинку соломинк +сомнительного сомнительн +сонными сон +сообщено сообщен +сопричастные сопричастн +сорвать сорват +соседству соседств +сосредоточенным сосредоточен +состарился состарилс +состязались состязалис +софье соф +социальные социальн +сочувственно сочувствен +спаленных спален +спасибо спасиб +спеть спет +спирта спирт +сподручница сподручниц +споре спор +способных способн +справишься справишьс +спруты спрут +спустились спустилис +сравниться сравнитьс +среднюю средн +ссиня ссин +ставить ставит +сталкивала сталкивал +становимся становимс +стараниями старан +старинный старин +старухина старухин +старческому старческ +статского статск +стеклу стекл +степени степен +стеснены стеснен +стихия стих +столбов столб +столовый столов +сторожа сторож +стоявшую стоявш +страданьице страданьиц +странности странност +страстный страстн +страшном страшн +стремиться стремитьс +строгостию строгост +строчку строчк +студенистой студенист +стукнуло стукнул +ступкой ступк +стыдливая стыдлив +субъектом субъект +судорогами судорог +суетилась суетилас +сукна сукн +сумела сумел +супа суп +суровость суровост +сухих сух +существовать существоват +схватывается схватываетс +сходя сход +счастливо счастлив +считаете считает +съезжать съезжат +сыном сын +сытые сыт +табачного табачн +тайне тайн +таково таков +таланты талант +танцуя танцу +таскаться таскатьс +тверди тверд +твоими тво +текущею текущ +телу тел +темной темн +теоретиком теоретик +теплился теплилс +терзало терзал +теряла терял +теста тест +технологию технолог +тифа тиф +ткани ткан +тоже тож +толкусь толкус +толстой толст +томитесь томитес +томящихся томящихс +тонула тонул +топчу топч +торжественные торжествен +тортом торт +тоскуя тоску +тощими тощ +трактирной трактирн +требование требован +тревожила тревожил +трезвый трезв +трепещущего трепещущ +третьем трет +тригориным тригорин +трое тро +тропинки тропинк +трубкой трубк +трудные трудн +труслива труслив +тузенбаха тузенбах +туманом туман +тусклой тускл +тщеславия тщеслав +тюменев тюмен +тягу тяг +тяжких тяжк +убежала убежал +уберу убер +убирая убир +убранной убран +уважение уважен +увенчались увенчалис +уверяя увер +увитое увит +увражами увраж +угасшим угасш +уговорить уговорит +угощения угощен +угрюмых угрюм +ударившего ударивш +удержали удержал +удивительное удивительн +удивлять удивлят +удовлетворительный удовлетворительн +уедем уед +уезжай уезжа +ужасного ужасн +ужину ужин +узнай узна +укажу укаж +укладывать укладыват +украсишь украсиш +улетайте улетайт +уличную уличн +улыбаюсь улыбаюс +умалялось умалялос +умертвила умертвил +умная умн +умолкала умолкал +умственно умствен +университетские университетск +уничтоженный уничтожен +упади упад +уплатою уплат +упорное упорн +управляющему управляющ +упрочились упрочилис +уродливое уродлив +усаживаются усаживаютс +усиливается усиливаетс +условии услов +усмехнувшись усмехнувшис +успеешь успееш +успокоился успокоилс +уставились уставилис +установилась установилас +устремлена устремлен +устрою устр +утекло утекл +утихала утихал +утомлялись утомлялис +утративший утративш +ухватиться ухватитьс +уцелевшие уцелевш +учение учен +учитель учител +ущербной ущербн +факте факт +фамилия фамил +фартуке фартук +федосья федос +физиологически физиологическ +философская философск +флейта флейт +фонарном фонарн +формулярных формулярн +францевне францевн +фуражечку фуражечк +ханжу ханж +харьковские харьковск +хвать хват +хитро хитр +хладных хладн +хлопотливые хлопотлив +хныкать хныкат +хозе хоз +хозяйстве хозяйств +холоднее холодне +хоре хор +хорошую хорош +хочешь хочеш +хриплым хрипл +хрычовки хрычовк +хулу хул +цвела цвел +цветущие цветущ +целомудренные целомудрен +цени цен +церемонии церемон +циркуляция циркуляц +чаишко чаишк +часовая часов +чахотка чахотк +чебарову чебаров +человеческой человеческ +чепчике чепчик +черни черн +черным черн +чертою черт +честных честн +четырехэтажного четырехэтажн +чинный чин +число числ +чистою чист +читу чит +чрезвычайном чрезвычайн +чувствительном чувствительн +чудаки чудак +чудовища чудовищ +чужое чуж +чухонки чухонк +шайка шайк +шара шар +шаталось шаталос +шевельнувшись шевельнувшис +шельму шельм +шестнадцати шестнадцат +ширину ширин +шитьем шит +шлешь шлеш +шоссейный шоссейн +штопать штопат +шулером шулер +шутками шутк +щеголять щеголят +щемящей щемящ +эгоизма эгоизм +экономических экономическ +эмблема эмблем +эрара эрар +этака этак +юбка юбк +юношеством юношеств +яблокам яблок +явлюсь явлюс +ядовитым ядовит +яйца яйц +ярки ярк +ясли ясл +а а +адрес адрес +алексеевич алексеевич +анализировал анализировал +аня аня +архитектор архитектор +баб баб +барабан барабан +бег бег +безбородкин безбородкин +белильню белильню +беспокоит беспокоит +бильярд бильярд +благословляет благословляет +блин блин +богач богач +болит болит +борт борт +братец братец +бродят бродят +брызнул брызнул +будят будят +бутошник бутошник +бюст бюст +варят варят +вдовиц вдовиц +великонек великонек +верностью верностью +вестник вестник +взбегал взбегал +взглядывал взглядывал +вздрогнув вздрогнув +взошел взошел +видывал видывал +вихор вихор +властелин властелин +внемлют внемлют +вовлечен вовлечен +возведен возведен +возненавидел возненавидел +вой вой +волшебств волшебств +воробушек воробушек +воскреснет воскреснет +восток восток +вплетаю вплетаю +врем врем +вскинул вскинул +вспоминал вспоминал +вспыхнул вспыхнул +встречал встречал +всяк всяк +выберут выберут +выводил выводил +выдает выдает +выдумок выдумок +вызовет вызовет +вылез вылез +выносит выносит +выплеснет выплеснет +выразил выразил +выскочит выскочит +выстрел выстрел +вытерпел вытерпел +вычертил вычертил +гаврилыч гаврилыч +гасил гасил +гибелью гибелью +глобус глобус +глянув глянув +годен годен +горазд горазд +горю горю +грабит грабит +гремел гремел +грот грот +гряд гряд +гунял гунял +дарят дарят +двор двор +девушек девушек +делывал делывал +дернет дернет +диск диск +добежав добежав +доверял доверял +дождичек дождичек +докладывает докладывает +долю долю +допустил допустил +доставляет доставляет +дотягивает дотягивает +дракон дракон +дружб дружб +дуню дуню +дым дым +еде еде +еле еле +ею ею +ждем ждем +желчен желчен +живописью живописью +жук жук +заблагорассудит заблагорассудит +забывает забывает +завистлив завистлив +завяз завяз +загниют загниют +загулял загулял +задок задок +зажаждал зажаждал +заиграл заиграл +закипел закипел +закричат закричат +зал зал +замедляет замедляет +замечен замечен +замучил замучил +западник западник +записываю записываю +запретив запретив +зараз зараз +засвидетельствовал засвидетельствовал +заставит заставит +застучал застучал +затворят затворят +затряс затряс +захотел захотел +зашумят зашумят +звонок звонок +зевнет зевнет +злобствуют злобствуют +знаменит знаменит +зрит зрит +играю играю +избавил избавил +извлек извлек +изложил изложил +изнемогаю изнемогаю +изъясняю изъясняю +импровизирует импровизирует +иным иным +исповедовал исповедовал +испугал испугал +истребил истребил +ищем ищем +казачок казачок +кампанил кампанил +каприз каприз +картофелю картофелю +качеств качеств +кидал кидал +клад клад +клок клок +князю князю +колдун колдун +колю колю +консилиум консилиум +коню коню +коробит коробит +коттедж коттедж +красильщик красильщик +крест крест +кровлю кровлю +крючок крючок +куплен куплен +кутит кутит +лавочник лавочник +ласкает ласкает +лебезил лебезил +лекарств лекарств +лет лет +ликует ликует +ло ло +ломаю ломаю +лукавил лукавил +любит любит +магазин магазин +манжет манжет +матвеевич матвеевич +медлил медлил +мельниц мельниц +метелью метелью +мещан мещан +миндалю миндалю +михайлович михайлович +мое мое +молод молод +морю морю +мстят мстят +мучает мучает +мышью мышью +наблюдал наблюдал +навин навин +наград наград +надет надет +надуют надуют +найдет найдет +наклонил наклонил +наладит наладит +намекают намекают +наобум наобум +написал написал +напоминает напоминает +напрягаю напрягаю +наскучил наскучил +настойчивостью настойчивостью +наук наук +начертал начертал +небосклон небосклон +недоброжелателен недоброжелателен +неизвестен неизвестен +необходимостью необходимостью +несловоохотлив несловоохотлив +неурядиц неурядиц +нитью нитью +нормален нормален +ну ну +обвешивают обвешивают +обдумывал обдумывал +обессилил обессилил +облегчал облегчал +обманчив обманчив +обнес обнес +обозвал обозвал +образован образован +обронил обронил +обсыплет обсыплет +объявляет объявляет +овал овал +огонек огонек +один один +ожидовел ожидовел +окатил окатил +окончен окончен +ому ому +оплакиваю оплакиваю +опровергает опровергает +ораторствовал ораторствовал +освещает освещает +оскорбляет оскорбляет +оспаривает оспаривает +осторожен осторожен +отбросив отбросив +отводил отводил +отгонит отгонит +отдыхает отдыхает +откровенничал откровенничал +отложил отложил +отнял отнял +отошел отошел +отпрыск отпрыск +отрывал отрывал +отступает отступает +отхлебнул отхлебнул +офицер офицер +очаг очаг +ощутил ощутил +пай пай +пар пар +пахнет пахнет +пел пел +перевернул перевернул +передает передает +переехал переехал +переливает переливает +перепел перепел +пересмотрю пересмотрю +пересчитают пересчитают +период период +печален печален +писателю писателю +плавает плавает +плевал плевал +плутоват плутоват +побегут побегут +побранят побранят +повернул повернул +поводил поводил +погас погас +погнал погнал +погуляет погуляет +подбираю подбираю +подгулял подгулял +поджигал поджигал +подмывает подмывает +пододвинул пододвинул +подох подох +подрал подрал +подставит подставит +подумаю подумаю +подымает подымает +пожарищ пожарищ +позволил позволил +позовут позовут +покажут покажут +поклал поклал +покрывает покрывает +полетит полетит +полоснет полоснет +полюбил полюбил +помешают помешают +поможет поможет +поник поник +пообедаю пообедаю +поправил поправил +поражен поражен +портьер портьер +посекут посекут +послушал послушал +поспорил поспорил +построек построек +посылают посылают +потомок потомок +потух потух +похоронен похоронен +почивают почивают +пошел пошел +правовед правовед +предвидел предвидел +предписываю предписываю +представят представят +презираю презираю +прерываю прерываю +прибавлял прибавлял +прибывает прибывает +приводят приводят +приглашал приглашал +придаток придаток +приехав приехав +приискал приискал +приласкав приласкав +примеряет примеряет +принимал принимал +приобретают приобретают +припоминал припоминал +присмотрит присмотрит +присядет присядет +причесывает причесывает +пробил пробил +проводит проводит +прогонят прогонят +продолжают продолжают +прожил прожил +произносит произносит +прокричал прокричал +промелькнет промелькнет +пронизан пронизан +пропал пропал +проревел проревел +проскользнет проскользнет +простит простит +просят просят +протянул протянул +прочитав прочитав +прыг прыг +псу псу +пускают пускают +пыл пыл +пьянствует пьянствует +работаю работаю +разбойник разбойник +развратен развратен +раздавлен раздавлен +раздражителен раздражителен +разломал разломал +разобрал разобрал +разубран разубран +ранил ранил +распахнут распахнут +рассвирепел рассвирепел +расслышал расслышал +рассудив рассудив +растет растет +рачителен рачителен +ревновал ревновал +рельс рельс +рис рис +род род +рой рой +рт рт +рудник рудник +рю рю +сам сам +сбит сбит +свежестью свежестью +светает светает +свободен свободен +сгнил сгнил +сделает сделает +седеют седеют +семенит семенит +сердит сердит +сигнал сигнал +сияет сияет +скачет скачет +скользнет скользнет +скрипел скрипел +скупал скупал +следит следит +сломал сломал +слыл слыл +смертью смертью +смоет смоет +смутен смутен +снег снег +снял снял +собьет собьет +согбен согбен +сознает сознает +сом сом +сообщил сообщил +сосед сосед +сосчитав сосчитав +сошьет сошьет +список список +спорю спорю +спросил спросил +спятил спятил +ставлю ставлю +статью статью +стираю стираю +стон стон +странник странник +струсив струсив +стучат стучат +сует сует +суп суп +схватывают схватывают +считал считал +сыграет сыграет +сядет сядет +талант талант +тащит тащит +текут текут +терпелив терпелив +тиатр тиатр +толк толк +тонкостью тонкостью +торгует торгует +тот тот +трахтир трахтир +треск треск +тронет тронет +тряпок тряпок +тут тут +тянет тянет +убивец убивец +уважают уважают +увидав увидав +угадывает угадывает +угощал угощал +удобств удобств +ужасен ужасен +узрят узрят +украшают украшают +ума ума +умничает умничает +унес унес +упадет упадет +употребит употребит +ураган ураган +усидел усидел +успевает успевает +устанут устанут +уступил уступил +утомит утомит +ухватил ухватил +учат учат +уют уют +фарфор фарфор +философ философ +фортепьян фортепьян +фыркает фыркает +хвалят хвалят +хитрят хитрят +хлынет хлынет +холмик холмик +храм храм +худощав худощав +целует целует +цыпленок цыпленок +чахнут чахнут +черед черед +честит честит +читает читает +чувств чувств +чьи чьи +шарил шарил +шелестит шелестит +шипит шипит +шло шло +штабс штабс +шут шут +щекотал щекотал +эгоист эгоист +эпикуреец эпикуреец +эту эту +юных юных +яме яме diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/sv-light.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/sv-light.tsv new file mode 100644 index 0000000000..4358931773 --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/sv-light.tsv @@ -0,0 +1,2000 @@ +aaele aael +adele adel +adler adl +afbrutna afbrutn +affärsmin affärsmi +afhållen afhåll +aflägsnare aflägsn +afseende afseend +aftaget aftag +aftonpipan aftonpipa +agaren agar +akta akt +aktuella aktuell +alldeles alldel +allmän allmä +alltjämt alltjäm +allvarsamme allvarsamm +altarens alt +amlan amla +anblicken anblick +andedräkten andedräkt +andtäppan andtäppa +anförvanters anförvant +angelägnare angelägn +anhållan anhålla +anlagen anlag +anmäler anmäl +annika annik +anpassningsförmåga anpassningsförmåg +ansigtet ansigt +anskrämliga anskrämlig +ansträngda ansträngd +antaga antag +antenner antenn +antydde antydd +apgossen apgoss +arbetade arbetad +arbetsfordon arbetsfordo +arit ari +armhågarna armhågarn +arrendatorns arrendator +artighet artig +arvlös arvlö +astronomiska astronomisk +attiofjerde attiofjerd +avancerat avancer +avböjde avböjd +avgrundsanden avgrundsand +aviga avig +avlånga avlång +avsigkomna avsigkomn +avskyvärde avskyvärd +avståndet avstånd +avundsjuka avundsjuk +axeln axel +backen back +badstuga badstug +bakelsehungriga bakelsehungrig +balanserande balanser +banan bana +barkbat barkb +barnasinnet barnasinn +barnhemmet barnhemm +barnskaran barnskara +baroner baron +battys batty +bebåda bebåd +bedragna bedragn +bedrövelsen bedrövels +befaldes befald +befattar befatt +befrielse befri +begagnat begagn +begraver begrav +begripligt begriplig +begära begär +behaga behag +behandlades behandlad +behändigt behändig +behölle behöll +bekantskaperna bekantskap +bekräftar bekräft +bekymra bekymr +beledsagade beledsagad +belägna belägn +bemägtigade bemägtigad +bemöta bemöt +bennes benn +beqvämlighet beqvämlig +bergens berg +beror ber +berättas berätt +berömmer berömm +besegrade besegrad +beskedlighet beskedlig +beskyddares beskydd +beslutsamma beslutsamm +beställa beställ +bestänkta bestänkt +besvärades besvärad +besynnerlighet besynnerlig +betagit betagi +betjanar betjan +betror betr +betvivlade betvivlad +betytt betyt +beundrande beundr +bevars bev +bevisas bevis +bibelens bibel +bifaller bifall +bilarna bilarn +biljettluckan biljettlucka +binglade binglad +bita bit +bittersta bitterst +bjudningar bjudning +björks björk +blanda bland +blekhet blek +blida blid +blint blin +blodets blod +blombuketter blombukett +blommorna blomm +blomsterängar blomsteräng +blossade blossad +blundade blundad +blygsamt blygsam +blänka blänk +blårandiga blårandig +blödde blödd +bodbitrade bodbitrad +bohuslänningen bohuslänning +bokstaven bokstav +bomullskläder bomullskläd +bondeståndet bondestånd +bonjourliknande bonjourlikn +bordun bordu +borsta borst +bortfört bortför +bortresta bortrest +borttappade borttappad +botpredikanten botpredikant +brann bran +bredare bred +bricka brick +bristen brist +broderns broder +brostedt brosted +brudgummen brudgumm +brukbar brukb +brunrosigt brunrosig +brustit brusti +brynt bryn +brända bränd +brännvinets brännvin +bråelser brå +brödutdelningen brödutdelning +bröstfickans bröstficka +bugar bug +bullrande bullr +bundttröja bundttröj +buteljer butelj +byggande bygg +byrån byrå +bädden bädd +bärande bär +bävar bäv +bålstor bålst +böja böj +böncstunder böncstund +bördan börda +böttiger böttig +ceremoniplikter ceremoniplikt +cheviotstyget cheviotstyg +cigarrerna cigarr +ckade ckad +croit croi +dagars dag +dagligen daglig +dalstedt dalsted +dammskyarna dammskyarn +darfor darf +decembermörker decembermörk +delades delad +deltagande deltag +denne denn +derjemte derjem +dessouernas dessou +digitalis digitali +dikterat dikter +direktören direktör +distansen distans +djerfva djerfv +djurgården djurgård +dlodet dlod +doge dog +dolts dol +domprostgården domprostgård +dotter dott +dragit dragi +dreglande dregl +drifva drifv +driver driv +droskorna drosk +druvans druva +drängar dräng +drömma drömm +dubbellorgnett dubbellorgnet +dukades dukad +dundrade dundrad +dunst duns +dvaldes dvald +dyningarna dyningarn +dyrköpta dyrköpt +dämpande dämp +därinifrån därinifrå +dågot dågo +dårat dår +döddagar döddag +dödsskrämda dödsskrämd +dömer döm +dövades dövad +efterfrågade efterfrågad +efterlängtar efterlängt +eftersinnande eftersinn +efterträdare efterträd +egenkärleken egenkärlek +eggar egg +eine ein +elakhet elak +eldrött eldröt +elementarkraft elementarkraf +ellen ell +emellan emella +endräkt endräk +englarne engl +enorma enorm +enskilta enskilt +envis envi +erbarmligt erbarmlig +erfarna erfarn +eriksgata eriksgat +erkännande erkänn +ersätta ersätt +estraden estrad +evangeliums evangelium +exekutiva exekutiv +extraordinarien extraordinari +faderliga faderlig +fahlen fahl +falluckan fallucka +familjer familj +famntagets famntag +fantome fantom +farhågan farhåga +farten fart +fassor fass +fastnade fastnad +fattbar fattb +fctt fct +felade felad +fenelon fenelo +festligt festlig +ficker fick +figurliga figurlig +filosofiska filosofisk +fingerspetsarna fingerspetsarn +finnande finn +firar fir +fiskat fisk +fjerde fjerd +fjälligt fjällig +flacka flack +flamman flamma +flicka flick +flickors flick +flinkt flink +floras flor +flugit flugi +flykt flyk +flyttade flyttad +fläkte fläk +flåsande flås +fnittrande fnittr +fogde fogd +folksamlingar folksamling +fordon fordo +formande form +formuläret formulär +forsmädat forsmäd +fortkomst fortkoms +fosfat fosf +fostrat fostr +fotterna fott +framat fram +framföra framför +framlefva framlefv +framsatta framsatt +framstupa framstup +framtiden framtid +framviskat framvisk +fransyska fransysk +fredlösa fredlös +frestelsens frestels +fridfulla fridfull +friheten fri +fristunder fristund +frontespisen frontespis +frukostera frukoster +frukterna frukt +fruntimret fruntimr +fryser frys +frälsningssoldater frälsningssoldat +fränder fränd +frågas fråg +frånträda frånträd +fröjds fröjd +fuktade fuktad +fullbordat fullbord +fullvuxen fullvux +fungerande funger +furstes furs +fyllas fyll +fyratusen fyratus +fälda fäld +fängslande fängsl +färgen färg +fästade fästad +fåelarnas fåelarn +fåglarnas fåglarn +fånglinan fånglina +födde född +följaktligen följaktlig +fölle föll +fönsterplats fönsterpl +föraktande förakt +förarglige förarglig +förbehallsamhet förbehallsam +förbiilande förbiil +förbjudna förbjudn +förbrända förbränd +fördelande fördel +fördröja fördröj +förebråelse förebrå +förehades förehad +föremålen föremål +föreskrift föreskrif +förestält förestäl +företrädare företräd +författaren författ +förfogar förfog +förfärligaste förfärlig +förföriskt förförisk +förgyllda förgylld +förgården förgård +förhärdadt förhärdad +förirrat förirr +förklädde förklädd +förkunnade förkunnad +förlidna förlidn +förlossningsbordet förlossningsbord +förlust förlus +förlåtelse förlåt +förmaningar förmaning +förmodar förmod +förmåner förmån +förnedrande förnedr +förnya förny +förnöjde förnöjd +förordnat förordn +förryckta förryckt +försakar försak +försedda försedd +försjunkna försjunkn +förskräckt förskräck +försmådde försmådd +förspilla förspill +förstklassigt förstklassig +förstugkvisten förstugkvist +förståelse förstå +försumlighet försumlig +försvarade försvarad +försäkran försäkra +förtaga förtag +förtjust förtjus +förtretat förtret +förtroliga förtrolig +förtrytelsen förtrytels +förtvifladt förtviflad +förtärs förtär +förvandla förvandl +förverkligas förverklig +förvreds förvred +förvärvade förvärvad +föräldralöst föräldralös +förärat förär +fötterna fött +gagns gag +gallhöna gallhön +gamles gaml +gapar gap +gardsplanen gardsplan +gasrampen gasramp +gatukorset gatukors +gemensamt gemensam +genmälte genmäl +genomskinligt genomskinlig +gent gen +gest ges +gevärskolfven gevärskolfv +giftermålsspekulation giftermålsspekulatio +giljan gilja +gisslande gissl +givmilda givmild +gladaste glad +glasdörren glasdörr +glatta glatt +glittra glittr +glädje glädj +glänsande gläns +glödheta glödhet +gnida gnid +gnomen gnom +goddagspilt goddagspil +godsinthet godsint +gorna gorn +gottgöra gottgör +grammatikan grammatika +grannens grann +granskade granskad +gravlika gravlik +grepe grep +grevligt grevlig +gripa grip +gropar grop +grufliga gruflig +grundpelare grundpel +gryningen gryning +grämelsens grämels +gräsbevuxen gräsbevux +gräver gräv +gråsten gråst +grönskan grönska +gubevars gubev +gudomliga gudomlig +guldklot guldklo +gullros gullro +gungade gungad +gycklarlynne gycklarlynn +gynsamt gynsam +gängliga gänglig +gästers gäst +gångarnas gångarn +gårdsflygeln gårdsflygel +gåvan gåva +gömslen gömsl +hackor hack +hafvets hafv +halfbrustna halfbrustn +halka halk +halsade halsad +halvar halv +halvmörkret halvmörkr +halvöppna halvöppn +handeln handel +handkammaren handkamm +handskar handsk +hansestäderna hansestäd +harmsen harms +hastigheten hastig +hattskrålla hattskråll +hcnne hcnn +hederskänsla hederskänsl +hektiska hektisk +helgon helgo +helsan helsa +hembära hembär +hemle heml +hemmansdöttrar hemmansdöttr +hemskhet hemsk +henmes henm +herodes herod +herres herr +herrskapets herrskap +hetast het +hettade hettad +himmelska himmelsk +hisnande hisn +hitta hitt +hjartan hjarta +hjertans hjerta +hjulspårens hjulspår +hjälpte hjälp +hjärtat hjärt +hjärtlöst hjärtlös +hobktare hobkt +honungshusen honungshus +hopkrupen hopkrup +hoppningsfullt hoppningsfull +horniga hornig +hotelse hot +hudens hud +hugos hugo +humant human +humrar humr +hungrat hungr +huruledes huruled +husfrus husfru +hushållssaker hushållssak +husmodern husmoder +huven huv +huvudsaken huvudsak +hvarföre hvarför +hvilkas hvilk +hyddor hydd +hypokonder hypokond +hysteriskt hysterisk +häggen hägg +hällre hällr +hälsovinst hälsovins +händelsen händels +hängdes hängd +häntydande häntyd +härbärgerar härbärger +härledde härledd +härrörde härrörd +häst häs +håde håd +hållet håll +hårdna hårdn +höfligt höflig +högen hög +högmods högmod +högsträva högsträv +högvälborne högvälborn +hökarekandidaten hökarekandidat +höra hör +hört hör +höstpoet höstpo +hövliga hövlig +ickeömt ickeöm +idiotiskt idiotisk +ifrån ifrå +ihopkrupen ihopkrup +ijuder ijud +ijust ijus +illfundiga illfundig +ilyttade ilyttad +inackorderingen inackordering +inbilska inbilsk +inbränt inbrän +inemot inemo +inflyttande inflytt +ingalunda ingalund +ingjuta ingjut +inhämtade inhämtad +inkomst inkoms +inläggningar inläggning +innebära innebär +innesluter inneslut +inredt inred +insekterna insekt +inskrivet inskriv +inspektion inspektio +instrumentens instrument +insvepta insvept +intensivt intensiv +intrasslade intrasslad +intrycket intryck +inträtt inträt +invärtes invär +irrfärder irrfärd +islossningen islossning +itans ita +iyckokänsla iyckokänsl +iyktan iykta +iystna iystn +jagas jag +jaktlöjtnantens jaktlöjtnant +jazzvindens jazzvind +jemt jem +johans joha +jordfästningen jordfästning +judehistorier judehistori +julgranen julgran +juniors juni +jäfva jäfv +jämn jäm +järnvägs järnväg +kabelända kabeländ +kaffebrickan kaffebricka +kains kai +kakor kak +kallade kallad +kallsvettades kallsvettad +kammarfönster kammarfönst +kamrat kamr +kandidaten kandidat +kantade kantad +kappor kapp +karakteristiken karakteristik +karlbergsallen karlbergsall +karta kart +kastande kast +katedern kateder +kattunsgardiner kattunsgardin +kela kel +kindbenet kindben +kiselstenar kiselsten +klackar klack +klanningsficka klanningsfick +klarnade klarnad +klassrummet klassrumm +klibbar klibb +klippor klipp +klockarfar klockarf +klokhet klok +klungan klunga +kläder kläd +klädståndsluften klädståndsluft +klänningstyget klänningstyg +knacka knack +knapphandlaren knapphandl +knastrande knastr +knopparna knopparn +knutet knut +knäckt knäck +knöt knö +kokettera koketter +kolossale kolossal +komma komm +komministraturen komministratur +komrnit komrni +konkurrensen konkurrens +konstaterar konstater +konstruerade konstruerad +kontor kont +konversation konversatio +korgar korg +korrekta korrekt +korslagda korslagd +kortligen kortlig +kostnaden kostnad +kraftfulla kraftfull +kramar kram +kreditorernas kreditor +krigstillståndet krigstillstånd +kristen krist +kritade kritad +kromatiska kromatisk +kroppsliga kroppslig +krumma krumm +kryddan krydda +kräfde kräfd +kråka kråk +krökningen krökning +kuddarna kuddarn +kullbåtarna kullbåtarn +kunder kund +kupiga kupig +kurtisen kurtis +kustbevakarens kustbevak +kvadrat kvadr +kvarnhjulshatten kvarnhjulshatt +kvava kvav +kvinnlighet kvinnlig +kvinnorösten kvinnoröst +kväden kväd +kväva kväv +kymmer kymm +kyrkogårdsmuren kyrkogårdsmur +kyrktrappan kyrktrappa +käckt käck +källklar källkl +känhända känhänd +känsliga känslig +kärastes kär +kärleksförkiaringarna kärleksförkiaringarn +kärra kärr +kökemästarn kökemästar +köparinnan köparinna +körjade körjad +lade lad +lagen lag +lagstiftare lagstift +lampetterna lampett +lands land +langsamt langsam +lantstället lantställ +lasset lass +lattare latt +leddes ledd +ledsna ledsn +lefvat lefv +leken lek +lektionsdagarna lektionsdagarn +lena len +leva lev +levnadsförhållanden levnadsförhålland +lida lid +lieder lied +lifstiden lifstid +ligheten lig +liket lik +liknöjdhet liknöjd +liljespön liljespö +lindfelt lindfel +linets lin +linongsklänningen linongsklänning +listiga listig +liudfeldt liudfeld +livlös livlö +livstycken livstyck +ljufvast ljufv +ljusblått ljusblåt +ljusnande ljusn +ljuvt ljuv +lockelser lock +logen log +lorgnetterande lorgnetter +lovade lovad +lucie luci +luggslitna luggslitn +lukten lukt +lungor lung +lurendrejerierna lurendrejeri +lustturen lusttur +lyckans lycka +lyckoropen lyckorop +lydigt lydig +lyktor lykt +lyser lys +lytton lytto +läger läg +lägsta lägst +lämnar lämn +länge läng +läppar läpp +lärarinna lärarinn +lärkor lärk +läsas läs +lättade lättad +lättsinnigheter lättsinnighet +lågorna låg +långor lång +långväggen långvägg +låtsades låtsad +lögnhals lögnhal +lökskivor lökskiv +löper löp +lösrycka lösryck +lövverket lövverk +madras madr +magnifika magnifik +majsen majs +makter makt +maläten malät +maner man +mansperson mansperso +mariga marig +marmorvit marmorvi +maskinerna maskin +matbit matbi +matkorgar matkorg +matsmältningsprocessen matsmältningsprocess +medaljongen medaljong +medelålder medelåld +medgives medgiv +medlidsamt medlidsam +medvetslös medvetslö +mellersta mellerst +menera mener +menniskohjertat menniskohjert +mentsbestridanden mentsbestridand +metrefvar metrefv +midja midj +milda mild +milstolpe milstolp +minnes minn +minuterna minut +missioncn missionc +misslynthet misslynt +misstrogen misstrog +missöden missöd +mjella mjell +mjölken mjölk +moderat moder +modesta modest +mognade mognad +monarda monard +mordiska mordisk +morgonens morgon +morka mork +mosters most +motsats mots +motsägelser motsäg +mottogs mottog +mumlar muml +munterhet munter +murklor murkl +muskelspelet muskelspel +mycke myck +myndighet myndig +mysterer myster +mälmiskornas mälmisk +människornas människ +märka märk +märkvärdiga märkvärdig +mätas mät +målareexpositionen målareexposition +månar mån +mångtydigt mångtydig +mårten mårt +möblerade möblerad +möjligheter möjlighet +mördares mörd +mörknar mörkn +mötena möten +nade nad +nagot nago +namnsdagar namnsdag +narrade narrad +nations natio +nattmössan nattmössa +nattvardsbaciller nattvardsbacill +naturligtvis naturligtvi +nedborrade nedborrad +nedlade nedlad +nedsjunkit nedsjunki +nedtryckta nedtryckt +nekade nekad +nervsjuka nervsjuk +nigande nig +nitet nit +nnelankoliskt nnelankolisk +nonsens nons +norrbacka norrback +notatien notati +nuförtiden nuförtid +nyfallen nyfall +nyhetens nyhet +nyomvända nyomvänd +nyttan nytta +näckens näck +nära när +närmare närm +näsborrar näsborr +näsvis näsvi +näve näv +någonstans någonsta +nödgades nödgad +nödvärn nödvär +oafbrutet oafbrut +oavundade oavundad +obekanta obekant +oberört oberör +obetydligaste obetydlig +oblyghet oblyg +odjuret odjur +oegentligen oegentlig +offentligheten offentlig +ofullständigt ofullständig +oförklarligt oförklarlig +oförsonade oförsonad +ogift ogif +ogörligt ogörlig +ohörbart ohörbar +oktober oktob +olidligaste olidlig +olovliga olovlig +olycksaningar olycksaning +omaket omak +omelett omelet +omgivet omgiv +omklädt omkläd +omnämndes omnämnd +omsorgsfullt omsorgsfull +omtalas omtal +omvärvas omvärv +onda ond +onödigtvis onödigtvi +oppen opp +order ord +ordspråket ordspråk +organiserade organiserad +orimligt orimlig +ormligt ormlig +oron oro +orättvist orättvis +oskulds oskuld +osunda osund +otanes otan +otrogen otrog +otyget otyg +oundvikliga oundviklig +ovala oval +overseende overseend +oväderspiskade oväderspiskad +oäkta oäkt +packet pack +palade palad +pannkakor pannkak +papper papp +paraplyet paraply +parkernas park +parvis parvi +pastoratets pastorat +patienter patient +pctra pctr +pendyler pendyl +penningen penning +peppar pepp +personifierade personifierad +petits peti +pigans piga +piller pill +pinats pin +pipor pip +pittoreskt pittoresk +planer plan +planterat planter +pliktat plikt +plugga plugg +plågat plåg +plåtskärmar plåtskärm +poetiska poetisk +polisen polis +porlade porlad +portioner portion +posterade posterad +praktfullt praktfull +prcdikan prcdika +predikstolen predikstol +presse press +prins pri +privatbanker privatbank +professorns professor +promenader promenad +prosan prosa +provade provad +prydas pryd +präktigaste präktig +prästgårdsbyggnaden prästgårdsbyggnad +pröfvade pröfvad +psykiska psykisk +pulla pull +punkterna punkt +purpurröda purpurröd +pyjamas pyjam +pärlande pärl +pådragna pådragn +påkostande påkost +pånytt pånyt +påstods påstod +påvar påv +qvarstanna qvarstann +qvällen qväll +radens rad +raket rak +ramshult ramshul +rappet rapp +raske rask +ratt rat +redbarhet redbar +redobogen redobog +refuge refug +registratorn registrator +regniga regnig +religion religio +rena ren +reparerat reparer +rese res +resonemanget resonemang +restaurangbordet restaurangbord +retade retad +reversen revers +ridit ridi +rikeman rikema +riktas rikt +ringar ring +rinnande rinn +rivit rivi +rockärmarna rockärmarn +rodnat rodn +rollerna roll +ropar rop +rosengnista rosengnist +rotfästa rotfäst +rubbningen rubbning +rullade rullad +rundade rundad +rusets rus +rutorna rut +rycktes ryck +ryktet rykt +rysa rys +räcka räck +rädens räd +rännan ränna +rättas rätt +rättigheter rättighet +råckor råck +rådlös rådlö +råkas råk +rödbrusige rödbrusig +röjer röj +röknarna röknarn +rönte rön +röret rör +rötter rött +saga sag +sagspanen sagspan +saknat sakn +saligheten salig +saltet salt +samlalet samlal +sammanfattningen sammanfattning +sammanpressades sammanpressad +sammanträtt sammanträt +samtalets samtal +samvetslösa samvetslös +sann san +sanslöshet sanslös +satte sat +schaggsoffan schaggsoffa +scheeles scheel +sedlar sedl +seger seg +segrar segr +sekunds sekund +sensationsutlovande sensationsutlov +servetterna servett +shakespeares shakespe +sidentyget sidentyg +siiverklart siiverklar +silhuett silhuet +silkessnodder silkessnodd +silverpapper silverpapp +simon simo +sinnesbeskaffenhet sinnesbeskaffen +sinstorakappa sinstorakapp +sittande sitt +sjuda sjud +sjuklingen sjukling +sjungit sjungi +själarne själ +självdyrkan självdyrka +sjålva sjålv +sjöhistorierna sjöhistori +sjöstranden sjöstrand +skadligare skadlig +skakas skak +skamliga skamlig +skapat skap +skarpsinnighet skarpsinnig +skavanker skavank +skepnaden skepnad +skeppsgossens skeppsgoss +skickelse skick +skildcs skildc +skilsmässa skilsmäss +skinliga skinlig +skivorna skiv +skjutsbonde skjutsbond +skogens skog +skolbarn skolbar +skolpojke skolpojk +skorpor skorp +skramla skraml +skrattet skratt +skriftligen skriftlig +skriva skriv +skrockande skrock +skrynklade skrynklad +skrämmer skrämm +skuffande skuff +skuggorna skugg +skulie skuli +skurna skurn +skyarna skyarn +skyldes skyld +skymfen skymf +skymten skymt +skäckiga skäckig +skälver skälv +skämtsamt skämtsam +skärande skär +skärmens skärm +skåla skål +skönheten skön +sköt skö +sladdrar sladdr +slammer slamm +slavinna slavinn +slingrade slingrad +slita slit +slogos slogo +slugare slug +slungat slung +slutet slut +slynan slyna +släktens släkt +slängt släng +slätade slätad +slöjor slöj +smakar smak +smeka smek +smickrande smickr +smuggelgodset smuggelgods +smutsade smutsad +smyger smyg +smältande smält +småbarnskläder småbarnskläd +småleende småleend +småskrattade småskrattad +smörgåsbiten smörgåsbit +snaraste snar +snickare snick +snubbla snubbl +snusade snusad +snygga snygg +snäsige snäsig +snön snö +societeten societet +sockersöta sockersöt +sofies sofi +soldatens soldat +solskenet solsken +sommaraftnarna sommaraftnarn +sommarnattsmörkret sommarnattsmörkr +somras somr +sorgdräkt sorgdräk +sorgsenhet sorgsen +sotenäs sotenä +spanande span +sparlakan sparlaka +specialitet specialit +speja spej +spelade spelad +spenaten spenat +spickeskinkan spickeskinka +spinner spinn +spiseln spisel +sport spor +spridda spridd +spriten sprit +spränga spräng +språklåda språklåd +spändes spänd +spåren spår +spörjande spörj +staden stad +stadsfullmäktige stadsfullmäktig +stammade stammad +stannys stanny +stationer station +stearinen stearin +stelbent stelben +stenen sten +stickstrumpan stickstrumpa +stillade stillad +stinkande stink +stjärnans stjärna +stockholmsflickornas stockholmsflick +stoftskyarna stoftskyarn +stoltserande stoltser +storbåtens storbåt +stormat storm +storväxt storväx +stralande stral +strecken streck +strimma strimm +strumporna strump +strypsjuka strypsjuk +stränder stränd +strävande sträv +strån strå +strövade strövad +studsade studsad +stumma stumm +stupande stup +stygge stygg +styrkte styrk +styvmodern styvmoder +städningen städning +stämma stämm +stängda stängd +ståndaktiga ståndaktig +ståtligt ståtlig +stönande stön +störtskurar störtskur +subtila subtil +suga sug +sunt sun +surrande surr +svagaste svag +svalkade svalkad +svalt sval +svarar svar +svartklädda svartklädd +sveddes svedd +svettas svett +svimmat svimm +svunna svunn +svält sväl +svärligt svärlig +svävande sväv +svårt svår +symbolen symbol +synda synd +synliga synlig +syra syr +syskonskara syskonskar +sysslolöst sysslolös +sädesfält sädesfäl +säkrast säkr +sällheten säll +sällskapsnöje sällskapsnöj +sämre sämr +sängkammare sängkamm +sänkes sänk +sättas sätt +således såled +sångfågeln sångfågel +söckendagar söckendag +sömlinghågna sömlinghågn +söndagar söndag +sönderrivna sönderrivn +sörmlandsgodset sörmlandsgods +tackar tack +tade tad +tageldynor tageldyn +takränna takränn +talas tal +talorgan talorga +tankarne tank +tants tan +tarfyllda tarfylld +tavernens tavern +teaterscenerna teaterscen +teddybjörn teddybjör +telefonerade telefonerad +tennsoldaten tennsoldat +terriern terrier +therese theres +tidernas tid +tidpunkt tidpunk +tiggt tigg +tillbedjan tillbedja +tilldraga tilldrag +tillfredsställdes tillfredsställd +tillgifvenhet tillgifven +tillhörde tillhörd +tillkännagiva tillkännagiv +tillräckligt tillräcklig +tillsluter tillslut +tillståndet tillstånd +tilltänkta tilltänkt +tillärnar tillärn +timglaset timglas +tinan tina +tiobedjande tiobedj +tistelön tistelö +tjenar tjen +tjenstfolket tjenstfolk +tjuguåren tjuguår +tjänande tjän +tjänsteman tjänstema +tnmma tnmm +toffeln toffel +tolkade tolkad +toner ton +torens tor +tornet torn +tovsjunga tovsjung +traktar trakt +tran tra +trapprummets trapprumm +tratten tratt +trettiofemte trettiofem +trevligt trevlig +trippande tripp +trofast trof +trolla troll +tronade tronad +trottoarerna trottoar +trumpeten trumpet +tryggaste trygg +trädgårdens trädgård +träffade träffad +trälåda trälåd +trätobroder trätobrod +trånade trånad +tröst trös +tröttade tröttad +tuggande tugg +tullförvalterskans tullförvalterska +tulpaner tulpan +tungt tung +turistsmaken turistsmak +tvagen tvag +tvillingsyster tvillingsyst +tvivelaktigt tvivelaktig +tvärsöver tvärsöv +tvättstugan tvättstuga +tyckt tyck +tyger tyg +tyska tysk +tystnat tystn +täljande tälj +tänkande tänk +täppa täpp +tävlan tävla +tålte tål +tårta tårt +tören tör +ugnen ugn +umdrande umdr +undangömda undangömd +undergivna undergivn +underklass underklas +underlöjtnanten underlöjtnant +understrukna understrukn +undervisa undervis +undsluppit undsluppi +ungdomliga ungdomlig +ungdomsyran ungdomsyra +ungkarlslivets ungkarlsliv +unkna unkn +uppbyggliga uppbygglig +uppehållande uppehåll +uppfattat uppfatt +uppfostrat uppfostr +uppfyllda uppfylld +uppfördes uppförd +upphandlingar upphandling +upphöjda upphöjd +uppkommen uppkomm +upplevelser upplev +upplyste upplys +upplösta upplöst +uppmärksamheten uppmärksam +uppoffringar uppoffring +upprivna upprivn +upprörda upprörd +uppskjuta uppskjut +uppslukar uppsluk +uppståndelse uppstånd +upptaga upptag +uppträde uppträd +upptåckt upptåck +uppväxt uppväx +urmakaren urmak +ursprungligcn ursprungligc +usla usl +utblottade utblottad +utbyte utby +utestänga utestäng +utföras utför +utgjutelser utgjut +uthärdat uthärd +utlåna utlån +utmärkte utmärk +utplånas utplån +uträknade uträknad +utseendet utseend +utskämmas utskämm +utspunnen utspunn +utstyrt utstyr +uttaga uttag +uttrycket uttryck +uttömda uttömd +utvisar utvis +utövade utövad +vadade vadad +vagat vag +vagnen vagn +vakllen vakll +vaktarinnan vaktarinna +valhänt valhän +vana van +vandringsmannen vandringsmann +vanor van +vantarne vant +varann varan +varde vard +varer var +varma varm +varsnat varsn +vasken vask +vattentäta vattentät +vaxgult vaxgul +veden ved +vegetation vegetatio +venstra venstr +verkhgen verkhg +verkställare verkställ +vestra vestr +vetgirighet vetgirig +vidare vid +vidrigt vidrig +viftande vift +vikit viki +vildarne vild +vilka vilk +villfarelser villfar +vimla viml +vindskammare vindskamm +vingarnas vingarn +vinklar vinkl +vinterkusen vinterkus +vintrigt vintrig +virvlade virvlad +vises vis +viskas visk +visshet viss +visstumpar visstump +vitklädda vitklädd +vjta vjt +vret vre +vudare vud +väckarklockan väckarklocka +väderkorn väderkor +vägarna vägarn +vägran vägra +väldiga väldig +välkommen välkomm +välmenade välmenad +välståndet välstånd +välvilligt välvillig +väninnas väninn +vänners vänn +väntade väntad +värdelös värdelö +värdinnans värdinna +världenes världen +värmde värmd +värvar värv +väste väs +vävsalen vävsal +växlingar växling +vågskalen vågskal +våningen våning +vårdarinna vårdarinn +vårfloder vårflod +vördnadsfulle vördnadsfull +wienervalsen wienervals +ylle yll +yppa ypp +yrvakna yrvakn +yttrandet yttrand +ädelt ädel +äggklyftorna äggklyft +äldsta äldst +älskliga älsklig +ältar ält +ämne ämn +ändlösa ändlös +ängens äng +änkor änk +ärbart ärbar +ärmarne ärm +ätbart ätbar +ådagalade ådagalad +åhörde åhörd +ålande åland +ångade ångad +ångor ång +årligt årlig +åskådandets åskådand +åtbörder åtbörd +återgivit återgivi +återkomst återkoms +återsvar återsv +återvändande återvänd +åtnjutande åtnjut +åtta ått +ödmjuka ödmjuk +öfvadt öfvad +öfverge öfverg +öfverlyckliga öfverlycklig +öfversta öfverst +öfvertänkte öfvertänk +ögonblickligen ögonblicklig +ögonmyster ögonmyst +ökniga öknig +ömmaste ömm +önskningars önskning +öppningen öppning +östan östa +överblivna överblivn +överensstämmelse överensstämm +övergivit övergivi +överlyckliga överlycklig +övermålat övermål +översittarmin översittarmi +översvämmades översvämmad +övervikt övervik +a a +adelc adelc +af af +afsky afsky +aga aga +aktning aktning +allesam allesam +alltomkring alltomkring +amour amour +andel andel +angel angel +anledning anledning +ans ans +ansträngd ansträngd +antal antal +applåd applåd +arbetsrum arbetsrum +aro aro +associerad associerad +auditorium auditorium +avgjord avgjord +avskild avskild +avtog avtog +b b +bakhåll bakhåll +barhuvad barhuvad +barnslig barnslig +bcrg bcrg +bedrövad bedrövad +begavad begavad +begåvad begåvad +behärskad behärskad +bekostnad bekostnad +benno benno +bero bero +besinningstid besinningstid +beskäftig beskäftig +bestämd bestämd +besök besök +betydlig betydlig +bevittnad bevittnad +bifall bifall +birck birck +björk björk +blef blef +bliv bliv +blomstermångleri blomstermångleri +blus blus +blås blås +bolag bolag +bondesjäl bondesjäl +borgerlig borgerlig +bot bot +bref bref +bronserad bronserad +brunnsbal brunnsbal +bränd bränd +bt bt +burk burk +bysättning bysättning +båd båd +böld böld +canto canto +chevelyr chevelyr +citronsyrad citronsyrad +dag dag +dalkarl dalkarl +dar dar +de de +dens dens +dervid dervid +digl digl +djup djup +dogg dogg +dov dov +dreg dreg +drottning drottning +du du +durk durk +däck däck +därmed därmed +dö dö +döfstum döfstum +ed ed +egendom egendom +ehrencreutz ehrencreutz +el el +emellertid emellertid +england england +enär enär +erkänd erkänd +et et +exotisk exotisk +familj familj +farstutrapp farstutrapp +fattig fattig +feg feg +fen fen +figur figur +fiol fiol +fjäril fjäril +flik flik +flyktlg flyktlg +fnys fnys +follo follo +fortforo fortforo +fotspår fotspår +framgick framgick +framstod framstod +fredrik fredrik +frikostig frikostig +frsknarr frsknarr +främling främling +frös frös +fun fun +fyrkantig fyrkantig +fällklaff fällklaff +få få +fårbog fårbog +fönsterkarm fönsterkarm +förbisåg förbisåg +förbättring förbättring +förebud förebud +föreslå föreslå +författarskap författarskap +förgyllning förgyllning +förkastelsedom förkastelsedom +förlofning förlofning +förmening förmening +förnummo förnummo +förrädisk förrädisk +försjönk försjönk +försoning försoning +förställning förställning +förtid förtid +förtörnad förtörnad +förvrängd förvrängd +förödmjukad förödmjukad +gallko gallko +garibaldi garibaldi +gemytlig gemytlig +genomgå genomgå +gevär gevär +gipsbild gipsbild +glam glam +glöm glöm +gol gol +gral gral +grogg grogg +grupp grupp +gråblandad gråblandad +gudfruktig gudfruktig +guldlöv guldlöv +gummiring gummiring +gynnad gynnad +går går +h h +halfgod halfgod +halvfärdig halvfärdig +handfull handfull +hardning hardning +hau hau +hej hej +hembygd hembygd +hemstad hemstad +herranom herranom +hi hi +hjel hjel +hjärtenerv hjärtenerv +hlygrel hlygrel +hononl hononl +hotellbeställning hotellbeställning +hugad hugad +hungrig hungrig +hushåll hushåll +hustrublick hustrublick +hvalf hvalf +hvem hvem +hypetek hypetek +häl häl +häntydning häntydning +härlig härlig +hål hål +höftbred höftbred +höj höj +hörsel hörsel +ickc ickc +iföljd iföljd +ihålig ihålig +ijuvlig ijuvlig +impulsiv impulsiv +infunno infunno +ini ini +inom inom +insnärjd insnärjd +insögo insögo +inuti inuti +irr irr +iv iv +iös iös +januari januari +job job +jr jr +jungfrukropp jungfrukropp +jämngrå jämngrå +kafebord kafebord +kameral kameral +kanskc kanskc +kar kar +karriär karriär +kavajkostym kavajkostym +kiv kiv +klar klar +klingand klingand +klunk klunk +klämtslag klämtslag +knep knep +kol kol +kommod kommod +konstgrepp konstgrepp +kopparröd kopparröd +kortspel kortspel +kraftig kraftig +kring kring +kroppslig kroppslig +kräftartad kräftartad +kundc kundc +kval kval +kvav kvav +kvällspromenad kvällspromenad +källarsal källarsal +käri käri +kärleksvind kärleksvind +körsbär körsbär +lagerheim lagerheim +landsväg landsväg +lat lat +ledtråd ledtråd +les les +liderlig liderlig +likaväl likaväl +lin lin +liv liv +ljung ljung +ll ll +logik logik +loz loz +lurad lurad +lyckodröm lyckodröm +lä lä +längc längc +läs läs +lån lån +lök lök +lövverk lövverk +man man +markel markel +material material +medelklassfru medelklassfru +medtog medtog +menad menad +middag middag +mild mild +missfall missfall +misstag misstag +mjältsjuk mjältsjuk +modell modell +morb morb +motstå motstå +mullig mullig +muskel muskel +mäktig mäktig +märk märk +mån mån +måstc måstc +mörkröd mörkröd +napoleonsbild napoleonsbild +natthämtning natthämtning +nazir nazir +nedgår nedgår +nedtystad nedtystad +nervvärk nervvärk +nish nish +nogräknad nogräknad +novemberdag novemberdag +nykterhetskalv nykterhetskalv +nämnvärd nämnvärd +någonting någonting +nöjsam nöjsam +oberörd oberörd +obrottslig obrottslig +odmjuk odmjuk +ofarlig ofarlig +oga oga +okultiverad okultiverad +olustig olustig +omgjordad omgjordad +ommöblerad ommöblerad +omärklig omärklig +oombedd oombedd +ordentlig ordentlig +orgelo orgelo +orrspel orrspel +osedd osedd +otackad otackad +otyglad otyglad +oval oval +ovärderlig ovärderlig +packning packning +pappersomslag pappersomslag +pass pass +pendel pendel +personlig personlig +pik pik +pjäs pjäs +plysch plysch +pojkaktig pojkaktig +portör portör +presentabel presentabel +profil profil +prästgård prästgård +puckelrygg puckelrygg +pys pys +påmind påmind +quo quo +qväll qväll +rand rand +rastestund rastestund +reel reel +rehabiliterad rehabiliterad +resemåltid resemåltid +reumatism reumatism +riktad riktad +rna rna +rokoko rokoko +ros ros +rqd rqd +rund rund +rv rv +rynkig rynkig +räkning räkning +råds råds +rödbrusig rödbrusig +rörstrand rörstrand +saknad saknad +samlad samlad +sammantorkad sammantorkad +san san +sasom sasom +schweiz schweiz +sekterisk sekterisk +sex sex +sick sick +sidoväg sidoväg +silvergaffel silvergaffel +sinnesstämning sinnesstämning +sjelfständig sjelfständig +sjukhem sjukhem +själ själ +sjömanskostym sjömanskostym +skaji skaji +skarpsinnig skarpsinnig +skilnad skilnad +skolmamsell skolmamsell +skrevo skrevo +skruv skruv +skuggad skuggad +skurk skurk +skymning skymning +skärseld skärseld +sköterskam sköterskam +slarvig slarvig +slokad slokad +slyng slyng +slår slår +smalog smalog +smutsig smutsig +småningom småningom +snarr snarr +snärjd snärjd +sofflock sofflock +sommarblå sommarblå +sorg sorg +spaning spaning +spegel spegel +spis spis +sprungo sprungo +spärrad spärrad +stadig stadig +stank stank +stego stego +stick stick +stjärnhimmel stjärnhimmel +storartad storartad +strand strand +strä strä +strövtåg strövtåg +stympad stympad +ställning ställning +stål stål +störtsjö störtsjö +svaghetstillstånd svaghetstillstånd +svartkritsförstoring svartkritsförstoring +svepning svepning +svärfär svärfär +syforening syforening +syndig syndig +sysslo sysslo +sälskytteri sälskytteri +såg såg +sög sög +sörjd sörjd +tadel tadel +tan tan +tecknad tecknad +tens tens +tidig tidig +till till +tillgjord tillgjord +tillrop tillrop +tilltogo tilltogo +tior tior +tjugo tjugo +tjänstfolk tjänstfolk +tok tok +tord tord +tous tous +trask trask +tretumsspik tretumsspik +trolofning trolofning +tryckning tryckning +tråd tråd +ttm ttm +turkisk turkisk +tvär tvär +tyg tyg +tänk tänk +tårtask tårtask +ugn ugn +underhöllo underhöllo +undersätsig undersätsig +undvek undvek +ungkarlssäng ungkarlssäng +uppfostrad uppfostrad +upphöjd upphöjd +uppmaning uppmaning +upprör upprör +uppstofferad uppstofferad +urer urer +ut ut +utdöd utdöd +utför utför +utlopp utlopp +uträkning uträkning +uttal uttal +vadmalsöverdrag vadmalsöverdrag +vallmoklanning vallmoklanning +vanlig vanlig +vardagsrum vardagsrum +varom varom +vas vas +vederläggning vederläggning +verbum verbum +vet vet +vidrig vidrig +vildand vildand +vindil vindil +violoncell violoncell +visso visso +voix voix +vredo vredo +väg väg +välfägnad välfägnad +vältalig vältalig +värd värd +vävd vävd +våning våning +våt våt +wilhelm wilhelm +xx xx +y y +yt yt +ädelmod ädelmod +älghuvud älghuvud +ämbetsverk ämbetsverk +änkenåd änkenåd +ärkebiskop ärkebiskop +äu äu +åkt åkt +årlig årlig +återbud återbud +återkomsteu återkomsteu +åtlydd åtlydd +öfverdrag öfverdrag +öfversteg öfversteg +öka öka +öns öns +örvitlig örvitlig +överflödig överflödig +övermod övermod diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/sv-minimal.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/sv-minimal.tsv new file mode 100644 index 0000000000..4efc24855d --- /dev/null +++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/sv-minimal.tsv @@ -0,0 +1,2000 @@ +aaele aael +adeles adel +adler adl +afbryta afbryt +affärsmässiga affärsmässig +afhöra afhör +afmagrade afmagrad +afsides afsid +aftnarne aftn +aftons afto +agde agd +aktade aktad +albuske albusk +alleerna alle +allmänna allmänn +alltsedan alltseda +alskade alskad +altartavlor altartavl +anade anad +andans anda +andre andr +anförtrodde anförtrodd +angelägenheterna angelägenhet +angående angåend +anklagelser anklagels +anlände anländ +annars ann +anordnande anordnand +anses ans +ansiktsuttrycket ansiktsuttryck +anstalten anstalt +ansåge ansåg +anteckningarna anteckning +anträddes anträdd +använts använt +apropos apropo +arbetsblusar arbetsblus +arga arg +armbåge armbåg +arrangerar arranger +artade artad +arves arv +askenbergs askenberg +atervända atervänd +auktioner auktion +avbryta avbryt +avgjöras avgjör +avhåller avhåll +avlägset avlägs +avrättsplatsen avrättsplats +avskydda avskydd +avstigna avstign +avundas avund +avvikelsen avvikels +babordsrelingen babordsreling +baden bad +bagateller bagatell +bakifrån bakifrå +balsaminer balsamin +bane ban +barmhärtiga barmhärtig +barnbarnen barnbarn +barnjungfruns barnjungfru +barnslighet barnsligh +barren barr +beandran beandra +bedarrat bedarr +bedroge bedrog +bedyrade bedyrad +befaller befall +befattningen befattning +befrielse befriels +begagnat begagn +begraver begrav +begrovs begrov +begäran begära +behagar behag +behandlat behandl +behärska behärsk +behöva behöv +beklaga beklag +bekräftat bekräft +bekymrade bekymrad +belagda belagd +belägna belägn +bemedlade bemedlad +bemödanden bemödand +benen ben +benådade benådad +bergar berg +bernards bernard +berätta berätt +berömda berömd +besagde besagd +besjungen besjung +beskrivningar beskrivning +besluten beslut +bestyra bestyr +bestänkte bestänkt +besvärande besvärand +besättningen besättning +betalar betal +betjäningen betjäning +betryckte betryckt +betydande betydand +betänka betänk +bevaka bevak +bevekligaste bevekligast +bevista bevist +biblioteket bibliotek +bifölls biföll +bildat bild +bilägga bilägg +birgers birg +bitas bit +bjelkar bjelk +bjärta bjärt +björnen björn +blandar bland +bleknade bleknad +blidka blidk +blivande blivand +blodröda blodröd +blommade blommad +blomster blomst +blomstrat blomstr +blotta blott +blyertspenna blyertspenn +blyn bly +blästern bläster +blåsor blås +boan boa +bodfönster bodfönst +bokens bok +bolat bol +bomullsschalen bomullsschal +bondflickans bondflicka +bonjourliknande bonjourliknand +bordstudsaren bordstuds +borrades borrad +bortföres bortför +bortresta bortrest +bortvända bortvänd +boulangermarschen boulangermarsch +brasa bras +bredskörtade bredskörtad +bringar bring +broar bro +bron bro +brottets brott +brudskaran brudskara +brun bru +brusade brusad +brygga brygg +bräderna bräd +bränningar bränning +brättet brätt +bråtet bråt +bröllopskrans bröllopskra +bubblande bubbland +buketter bukett +bulta bult +burna burn +butikernas butik +byggnaden byggnad +bytte bytt +bägare bäg +bären bär +bådande bådand +bånglade bånglad +böcklins böckli +böljorna bölj +bönfalla bönfall +börjat börj +cedera ceder +charmanta charmant +chopins chopi +citat cit +corydalis corydali +dagarna dag +daggdtoppar daggdtopp +dalar dal +dammar damm +dansar dans +dasa das +deklameras deklamer +delen del +demla deml +departemanget departemang +desamma desamm +diagnosen diagnos +diktare dikt +dimmorna dimm +diskreta diskret +ditresan ditresa +djupsinnigaste djupsinnigast +djärvhet djärvh +doftade doftad +dolda dold +domderade domderad +doppade doppad +draga drag +draken drak +dricka drick +drillat drill +drivorna driv +drottninggatan drottninggata +drycken dryck +dränker dränk +drömmars drömm +duger dug +dumhet dumh +dunkla dunkl +duvovingar duvoving +dyker dyk +dyrbarheter dyrbarhet +däckslasten däckslast +därhos därho +därute därut +dårande dårand +dödas död +dödsorsaken dödsorsak +dömda dömd +döttrarna döttr +efterfråga efterfråg +efterlämnat efterlämn +efterrätter efterrätt +eftertruppen eftertrupp +egenkärleken egenkärlek +egna egn +eklunds eklund +eldar eld +eldtunga eldtung +elfqvinnan elfqvinna +eländiga eländig +enda end +engelska engelsk +enleveras enlever +enskilda enskild +enveten envet +epokgörande epokgörand +erfares erf +erika erik +erkända erkänd +erre err +esterhazys esterhazy +etuin etui +excellensen excellens +expositionen exposition +facktidskrifter facktidskrift +fager fag +fallucka falluck +familjen familj +famnades famnad +fantasien fantasi +farbrors farbr +farmaceuten farmaceut +fasligen faslig +fasthet fasth +fattade fattad +fattningsgåva fattningsgåv +feghet fegh +femtioåtta femtioått +festklädda festklädd +ficka fick +figuren figur +filips filip +finge fing +finkänsliga finkänslig +fiolen fiol +fiskaren fisk +fisklägen fiskläg +fjortonöres fjortonör +fjärdedelen fjärdedel +fladdra fladdr +flammorna flamm +flickans flicka +flickskolan flickskola +flintor flint +florerar florer +flugor flug +flyktar flykt +flyttbar flyttb +flämtande flämtand +flödande flödand +fnöske fnösk +fogden fogd +folkskarorna folkskar +fordra fordr +formande formand +formåga formåg +forsmädat forsmäd +fortsätta fortsätt +fosterfader fosterfad +foten fot +frackarna frack +frambringa frambring +framhjulen framhjul +framlockat framlock +framskjuta framskjut +framställa framställ +framtitta framtitt +frankens frank +frasen fras +fredsgatan fredsgata +friar fri +fridlös fridlö +frillornas frill +frodades frodad +frosten frost +fruktansvärda fruktansvärd +fruntimmershattarna fruntimmershatt +fryntlighet fryntligh +frälsets fräls +främmande främmand +fråga fråg +frånsköts frånsköt +fröjdas fröjd +fröknarnas frökn +fulare ful +fullkomligen fullkomlig +funderande funderand +furan fura +futtiga futtig +fylligare fyllig +fädrens fädr +fängelse fängels +färdigats färdig +färjan färja +fästmannens fästmann +fågels fågel +fångarne fång +fåren får +födelsemysteriet födelsemysteri +följdes följd +fönsterglaset fönsterglas +fönsterrutor fönsterrut +föraktliga föraktlig +förbannat förbann +förbehållsamhet förbehållsamh +förbindelsen förbindels +förblindar förblind +förbundna förbundn +fördjupade fördjupad +fördöma fördöm +föredöme föredöm +förekommandet förekommand +förenas fören +föreställande föreställand +företagas företag +förfalla förfall +förfluten förflut +förfrågningar förfrågning +förföljes förfölj +förglömma förglömm +förgängliga förgänglig +förhinder förhind +förhållen förhåll +förkastade förkastad +förklädet förkläd +förkunnare förkunn +förlika förlik +förlossningshemmet förlossningshemm +förlustelse förlustels +förlåter förlåt +förmaningen förmaning +förmodar förmod +förmån förmå +förnedrade förnedrad +förnyades förnyad +förnötte förnött +förorsakat förorsak +förrädiske förrädisk +försakelsens försakels +försiktiga försiktig +förskräckes förskräck +försmädelse försmädels +förspelet förspel +förstnämda förstnämd +förstugudörren förstugudörr +förstående förståend +försummade försummad +försvarare försvar +försäkrar försäkr +förtegat förteg +förtjänar förtjän +förtrodde förtrodd +förtrolla förtroll +förträfflige förträfflig +förtäljde förtäljd +förunnat förunn +förvandlingens förvandling +förvillelse förvillels +förvridna förvridn +förvånade förvånad +föräldrars föräldr +förödda förödd +gabriella gabriell +galanta galant +gallimatias gallimati +gamle gaml +gapande gapand +gardintyget gardintyg +gaslyktan gaslykta +gatläggningen gatläggning +gemen gem +generation generatio +genompryglade genompryglad +genomögnade genomögnad +germanska germansk +gesällers gesäll +giftermålsanmälan giftermålsanmäla +gikten gikt +gisselslagen gisselslag +given giv +gladaste gladast +glasdörren glasdörr +glatta glatt +glittrade glittrad +glädje glädj +glänsa gläns +glödheta glödhet +gnissla gnissl +gnomen gnom +gode god +godsägarn godsägar +gossarna goss +gotthards gotthard +grammatikan grammatika +grannaste grannast +granrisat granris +gravarna grav +grenarna gren +grevinna grevinn +grinade grinad +grodde grodd +grubbla grubbl +grundats grund +grymheten grymhet +grälade grälad +gränsade gränsad +gräsmattorna gräsmatt +gråkappeexcellensen gråkappeexcellens +gröna grön +gubbe gubb +gudfruktiga gudfruktig +guldets guld +gullros gullro +gunga gung +gycklare gyckl +gynnare gynn +gäma gäm +gäster gäst +gånga gång +gårdagen gårdag +gåta gåt +gömde gömd +hacka hack +hafsvattnet hafsvattn +hakade hakad +halfslumrade halfslumrad +halleluja halleluj +haltade haltad +halvgamle halvgaml +halvvaken halvvak +hamngatan hamngata +handens hand +handlar handl +handtaget handtag +hantverksklassen hantverksklass +harpspelerska harpspelersk +hatande hatand +havannamagasinet havannamagasin +hdde hdd +hederspaschan hederspascha +helades helad +helgongriften helgongrift +helsan helsa +hemdygder hemdygd +hemlige hemlig +hemmes hemm +hemsöktes hemsökt +hennings henning +herrar herr +herrgardsekipage herrgardsekipag +herrskaps herrskap +hetens het +himlabryn himlabry +himmelske himmelsk +historie histori +hittar hitt +hjelpen hjelp +hjertat hjert +hjälpande hjälpand +hjälten hjält +hjärtegryn hjärtegry +hjärtsjukdomar hjärtsjukdom +holme holm +hopen hop +hoppade hoppad +hopsydda hopsydd +hosten host +hovmästaren hovmäst +hufvudpersonerna hufvudperson +hulde huld +hummer humm +hundrade hundrad +hurrade hurrad +husets hus +hushållerskas hushållersk +husknutarna husknut +hustrumin hustrumi +huvuddukarna huvudduk +huvudstaden huvudstad +hvarken hvark +hviskade hviskad +hyllor hyll +hyrer hyr +hädangångnas hädangångn +hälarna häl +hälsan hälsa +hämnar hämn +händelserna händels +hängifvenhet hängifvenh +hänvisa hänvis +härdningen härdning +härligheten härlighet +härskat härsk +hästryggen hästrygg +hålen hål +hångrinande hångrinand +hårslingorna hårsling +högar hög +högljuddare högljudd +högskotan högskota +högtidstimmen högtidstimm +hökar hök +hönan höna +hörnet hörn +höstmoln höstmol +hövdingen hövding +ickan icka +idiots idiot +ifte ift +ihärdiga ihärdig +ijumma ijumm +ikämlas ikäml +illusionsfria illusionsfri +imponerat imponer +inbetalta inbetalt +inbjudna inbjudn +individer individ +influensa influens +införa inför +ingenstädes ingenstäd +inhemta inhemt +inkilat inkil +inledningen inledning +inne inn +innerlighet innerligh +inpräglade inpräglad +insekter insekt +inskrivningsboken inskrivningsbok +inspektor inspekt +inställda inställd +insåge insåg +intima intim +intressera intresser +inträffa inträff +inverkade inverkad +inöva inöv +isade isad +isstycke isstyck +ivriga ivrig +iyftas iyft +iyser iys +jacobs jacob +jaktbössa jaktböss +japanska japansk +jemförelsevis jemförelsevi +jettegrytorna jettegryt +jollrande jollrand +josefina josefin +judys judy +julstöket julstök +junkrarne junkr +jägare jäg +jämmern jämmer +järnspira järnspir +jättestor jättest +kaffebricka kaffebrick +kaftan kafta +kakelugnen kakelugn +kalkar kalk +kallats kall +kalvstekssås kalvsteksså +kammarn kammar +kamrern kamrer +kannan kanna +kantor kant +kappsäckarna kappsäck +karakteristiken karakteristik +karlen karl +kartan karta +kastade kastad +kasus kasu +kattens katt +kavet kav +kickade kickad +kinkiga kinkig +kittla kittl +klaga klag +klappade klappad +klarnade klarnad +klassrummet klassrumm +klibbade klibbad +klipphålorna klipphål +klockans klocka +kloka klok +klubben klubb +klädde klädd +klädseln klädsel +klänga kläng +klådde klådd +knakade knakad +knarrande knarrand +knippe knipp +knubbiga knubbig +knyte knyt +knäppande knäppand +kokat kok +kolonnerna kolonn +kommande kommand +komministeränkan komministeränka +kompositören kompositör +konkurrens konkurr +konstaterar konstater +konstruktioner konstruktion +kontraster kontrast +kopia kopi +korgossarna korgoss +korridoren korridor +korsmässa korsmäss +kortlekar kortlek +koster kost +krafter kraft +kramade kramad +kreditorernas kreditor +krigstillståndet krigstillstånd +kristallvas kristallv +kristusbarnet kristusbarn +krokna krokn +kroppens kropp +krukväxter krukväxt +kryckorna kryck +kryssat kryss +krängde krängd +kråsbandet kråsband +kröningsmarschen kröningsmarsch +kulissen kuliss +kulorna kul +kunna kunn +kurma kurm +kusin kusi +kusttjensteman kusttjenstema +kvalitetsvagn kvalitetsvag +kvarsittare kvarsitt +kvida kvid +kvinnohuvuds kvinnohuvud +kvisten kvist +kvälldags kvälldag +kvävdes kvävd +kyrkans kyrka +kyrkoherden kyrkoherd +kyrkvallen kyrkvall +kägla kägl +källrar källr +känna känn +känslige känslig +käresta kärest +kärlekshistoria kärlekshistori +kärren kärr +köksbordet köksbord +köper köp +körjade körjad +ladugården ladugård +lagenliga lagenlig +lagstiftare lagstift +lampetterna lampett +landgången landgång +lange lang +lantställe lantställ +larsmessefärden larsmessefärd +lattare latt +lede led +ledsnade ledsnad +lefver lefv +leken lek +lektionsdagarna lektionsdag +lena len +leva lev +levnads levnad +licentiat licenti +liden lid +lifsgnistan lifsgnista +liggande liggand +liken lik +liknelsen liknels +liljevret liljevr +linderots linderot +lingen ling +linongsklänningen linongsklänning +lister list +liua liu +livmoderns livmoder +ljudande ljudand +ljusare ljus +ljuslågan ljuslåga +ljuvliga ljuvlig +lockat lock +loge log +lorette lorett +louise louis +lsen lse +luftigaste luftigast +luktar lukt +lunetter lunett +lurendrejarn lurendrejar +lustfärder lustfärd +luven luv +lyckligtvis lyckligtvi +lyckönskningarna lyckönskning +lyftes lyft +lynne lynn +lyste lyst +läder läd +läggen lägg +läkarföreningen läkarförening +lämnats lämn +längesen länges +läpparne läpp +lärarin lärari +lärjunge lärjung +läsaren läs +läten lät +lättsinnigheter lättsinnighet +lågor låg +långholmen långholm +låset lås +låtsat låts +löjeblandade löjeblandad +löna lön +löpte löpt +lösrycka lösryck +macson macso +madras madr +magnifika magnifik +majstänger majstäng +maktlös maktlö +malmtorgsgatan malmtorgsgata +mandarin mandari +manniskorna mannisk +maria mari +marmor marm +maskeras masker +master mast +matfebern matfeber +matronor matron +mattimmen mattimm +meddelande meddeland +medförde medförd +medkänslan medkänsla +medveten medvet +mellantider mellantid +menar men +menniskas mennisk +menskor mensk +metar met +middagstiden middagstid +miga mig +million millio +minne minn +minsta minst +missfoster missfost +misslyckade misslyckad +misstanken misstank +misstänksamhet misstänksamh +mitten mitt +mjölkbyttor mjölkbytt +modehandlerskor modehandlersk +modershjärtat modershjärt +mogma mogm +molnmassorna molnmass +morbror morbr +morgoncn morgonc +morgonstjerna morgonstj +mosiga mosig +motiverat motiver +motsträvighet motsträvigh +mottagna mottagn +mulna muln +mungiporna mungip +munvädren munvädr +museer muse +musslinsduken musslinsduk +myggen mygg +myran myra +mäblerna mäbl +männerna männ +människosonen människoson +märken märk +mästaren mäst +mående måend +målet mål +måne mån +månljuset månljus +måtta mått +mödor möd +mörbultade mörbultad +mörkbla mörkbl +mörkröda mörkröd +mötet möt +nafsar nafs +nakenhet nakenh +nanna nann +narraktiga narraktig +nations natio +nattrocken nattrock +nattvardskapslar nattvardskapsl +navarra navarr +nedborrade nedborrad +nedkommen nedkomm +nedskjuten nedskjut +neger neg +nere ner +netas net +nimmelse nimmels +nittonde nittond +nocturne nocturn +nordösten nordöst +nota not +novellförfattare novellförfatt +nyaste nyast +nyfärgat nyfärg +nykterhetsskrifter nykterhetsskrift +nyskurat nyskur +nytända nytänd +nämna nämn +närhet närh +närsynta närsynt +näspärla näspärl +nätets nät +nådesmulor nådesmul +någotdera någotder +nödvandigheten nödvandighet +nöjen nöj +oanständiga oanständig +obehöriga obehörig +oberörda oberörd +obetydlighet obetydligh +obändiga obändig +odödliga odödlig +offer off +ofödda ofödd +oförmåga oförmåg +oförvägenhet oförvägenh +ogräset ogräs +oiruktbar oiruktb +okända okänd +oljelampor oljelamp +olyckligtvis olyckligtvi +olyska olysk +omedelbar omedelb +omförmäla omförmäl +omklädseln omklädsel +omnämnde omnämnd +omsorger omsorg +omsägande omsägand +omvägar omväg +onaturliga onaturlig +oordnat oordn +opåräknade opåräknad +ordföranden ordförand +oredan oreda +orgelhus orgelhu +orkanen orkan +ormständigheter ormständighet +orsakade orsakad +orörliga orörlig +osmakliga osmaklig +osäkra osäkr +otrogen otrog +otäckaste otäckast +outredda outredd +overretade overretad +ovädrets ovädr +oändlighet oändligh +packor pack +palats pal +pannkakor pannkak +papper papp +paradiset paradis +parisiska parisisk +parvis parvi +pastorat pastor +patiramfes patiramf +pctra pctr +pendylen pendyl +penningbegäret penningbegär +penseögonen penseögon +persmässa persmäss +pestilens pestil +pickade pickad +pilar pil +pimplar pimpl +pinliga pinlig +pippor pipp +pjoskas pjosk +planet plan +planterat planter +plikten plikt +pluggade pluggad +plågas plåg +plåtskorstenar plåtskorsten +poetens poet +polis poli +populasen populas +porter port +postbäraren postbär +praktartiklar praktartikl +pratets prat +predikningar predikning +pressade pressad +primadolma primadolm +prisar pris +profana profan +profilen profil +promenerande promenerand +prostfars prostf +provkandidat provkandid +pryder pryd +präster präst +prästs präst +prövar pröv +publiken publik +pullor pull +punschbrickor punschbrick +pustade pustad +pyngden pyngd +pärlan pärla +påbörjade påbörjad +påkommen påkomm +påminnelse påminnels +påskyndat påskynd +påträffat påträff +qvardröja qvardröj +qväljande qväljand +rade rad +rakare rak +ramna ramn +rapitlet rapitl +rasens ras +rastlös rastlö +redan reda +redlige redlig +reflexrörelser reflexrörels +regeringsgatan regeringsgata +regnat regn +rekommenderat rekommender +relingarna reling +renlighet renligh +representera representer +reser res +respektabla respektabl +resulster resulst +retelse retels +ridan rida +rijster rijst +riksdaler riksdal +rimligtvis rimligtvi +ringen ring +ristade ristad +roande roand +roddarmadamens roddarmadam +roflysten roflyst +romanen roman +rorde rord +rosenkransen rosenkrans +rotter rott +rubiner rubin +rullande rulland +rundade rundad +ruskar rusk +ruttenhet ruttenh +rycktes ryckt +rykten rykt +rynkiga rynkig +ryttmästare ryttmäst +räddare rädd +räkningar räkning +rätade rätad +rättesnöre rättesnör +rättskänsla rättskänsl +råder råd +rågade rågad +råttfälla råttfäll +rödlätta rödlätt +rökelse rökels +rökpelaren rökpel +röras rör +rösten röst +sablar sabl +sagokungen sagokung +sakna sakn +saktat sakt +salsbordet salsbord +samhällslivet samhällsliv +samma samm +sammanknuten sammanknut +sammansmälter sammansmält +samråda samråd +samveten samvet +sandstranden sandstrand +sannolikhet sannolikh +satinturcklädningen satinturcklädning +scgra scgr +schasar schas +sedermera sedermer +seger seg +segrar segr +sekunderna sekund +sensation sensatio +servetter servett +shlta shlt +sidentäckta sidentäckt +sikta sikt +silhuetten silhuett +silkesstrumporna silkesstrump +silverklingande silverklingand +simme simm +sinnens sinn +sinnrika sinnrik +sitta sitt +sjmlga sjmlg +sjukliga sjuklig +sjungandes sjungand +själar själ +självbe självb +sjöar sjö +sjöhistorierna sjöhistori +sjösjuka sjösjuk +skadeglädjen skadeglädj +skakade skakad +skallande skalland +skandalhistoria skandalhistori +skarens skar +skattade skattad +skenet sken +skepps skepp +skickades skickad +skiftar skift +skiljer skilj +skina skin +skinnmössa skinnmöss +skjortärmarne skjortärm +skockades skockad +skogssluttningen skogssluttning +skolflickan skolflicka +skolpojkssättet skolpojkssätt +skorporna skorp +skramla skraml +skrattet skratt +skriftligen skriftlig +skrivas skriv +skrofliga skroflig +skrynklade skrynklad +skrämmas skrämm +skuffande skuffand +skugglika skugglik +skuldregister skuldregist +skuren skur +skvaltar skvalt +skyla skyl +skymde skymd +skymtade skymtad +skytten skytt +skälmska skälmsk +skämtande skämtand +skäppa skäpp +skärgårdsfolkets skärgårdsfolk +skådande skådand +skökor skök +skönjbara skönjbar +sköterskorna skötersk +slagfältet slagfält +slannade slannad +slickade slickad +slinka slink +slitna slitn +slottet slott +slumpen slump +slutande slutand +slutpolerade slutpolerad +släde släd +släktvapnet släktvapn +släpper släpp +slöa slö +smackade smackad +smattrade smattrad +smetat smet +smittade smittad +smulorna smul +smuttade smuttad +smällande smälland +smärtfulla smärtfull +smågräla smågräl +småningorn småningor +smörbyttor smörbytt +snabblöpare snabblöp +snavade snavad +snodde snodd +snuggan snugga +snyfta snyft +snärja snärj +snöat snö +soare soar +sockerbitarna sockerbit +soffhörnet soffhörn +sokte sokt +solkiga solkig +solstrålar solstrål +sommarens somm +sommarnätter sommarnätt +sonderna sond +sorgens sorg +sorlande sorland +sova sov +spann span +sparsamhet sparsamh +speciella speciell +spejade spejad +spelande speland +spenatkarotten spenatkarott +spickeskinkan spickeskinka +spinnas spinn +spisade spisad +sporra sporr +sprida sprid +spriseglet sprisegl +spränga spräng +språklärare språklär +spändes spänd +spåren spår +spörjande spörjand +stackrarna stackr +stadsflickorna stadsflick +stamfränderna stamfränd +stannande stannand +station statio +stavningsukas stavningsuk +stekos steko +stenarne sten +stickan sticka +stigar stig +stiltje stiltj +stjerna stj +stjärnor stjärn +stockholmssocieteten stockholmssocietet +stolpar stolp +stonade stonad +storgubbar storgubb +stormat storm +stra str +stralar stral +stretade stretad +strimman strimma +strupar strup +sträckande sträckand +strändernas stränd +strävat sträv +strödda strödd +strövat ströv +studsare studs +stumma stumm +stupar stup +stygn styg +styrman styrma +styvmor styvm +städningen städning +stämde stämd +stängda stängd +ståndaktighet ståndaktigh +stödde stödd +störa stör +stöta stöt +sucka suck +suga sug +supa sup +surrat surr +svaghet svagh +svalkar svalk +svampen svamp +svarar svar +svartgröna svartgrön +svedan sveda +sveriges sverig +svimma svimm +sväfvade sväfvad +sväller sväll +svärdsliljan svärdslilja +svävande svävand +sybågar sybåg +symbolen symbol +synda synd +synliga synlig +syrenerna syren +sysselsatta sysselsatt +systerdotter systerdott +sägen säg +sälen säl +sällskapandet sällskapand +sällsyntare sällsynt +sände sänd +sängkammaren sängkamm +sänkta sänkt +sävliga sävlig +sångare sång +såpbubblekarlarna såpbubblekarl +södern söder +sömmerska sömmersk +söndagen söndag +sönderrivna sönderrivn +sörjer sörj +tackar tack +tade tad +tagen tag +takränna takränn +talas tal +talorgan talorga +tankarna tank +tapetstycken tapetstyck +tarvliga tarvlig +tavlor tavl +teaterstycke teaterstyck +teddybjörn teddybjör +telefonerade telefonerad +tennsoldaten tennsoldat +ternströms ternström +tetimmen tetimm +tidcns tidc +tidningarnas tidning +tigern tiger +tillbakaskjuten tillbakaskjut +tillbringare tillbring +tillfredsställande tillfredsställand +tillgifne tillgifn +tillhöra tillhör +tillmäten tillmät +tillråna tillrån +tillsnörpta tillsnörpt +tilltagande tilltagand +tillägger tillägg +tillåter tillåt +timmen timm +tingens ting +tisdagen tisdag +titet tit +tjenstaktighet tjenstaktigh +tjugufemte tjugufemt +tjusta tjust +tjänliga tjänlig +tjänstvilliga tjänstvillig +tocken tock +tokorna tok +tomten tomt +topparna topp +torka tork +torrhosta torrhost +traffa traff +trampa tramp +tranlampas tranlamp +traskade traskad +treflige treflig +treva trev +trifdes trifd +triumferande triumferand +trogna trogn +trollet troll +tronföljare tronfölj +trovärdigheten trovärdighet +truten trut +träbryggan träbrygga +trädgårdsmäster trädgårdsmäst +träffas träff +trän trä +trådarna tråd +trångaste trångast +tröstar tröst +tröttflugen tröttflug +tuktar tukt +tullkammare tullkamm +tulubben tulubb +tunn tun +turken turk +tvagen tvag +tvillingsyster tvillingsyst +tvivla tvivl +tvärsövet tvärsöv +tvådubbla tvådubbl +tyckte tyckt +tyget tyg +tyska tysk +tystnat tystn +täljande täljand +tänka tänk +tära tär +tåga tåg +tånkte tånkt +tårtor tårt +törnet törn +ukulele ukulel +umgicks umgick +undanflykter undanflykt +undergången undergång +underkurer underkur +underordnade underordnad +understrykningar understrykning +undervisat undervis +undvika undvik +ungdomsaren ungdoms +ungefärligen ungefärlig +ungkarlsståndet ungkarlsstånd +unna unn +uppbära uppbär +uppenbar uppenb +uppfiskades uppfiskad +uppfostrats uppfostr +uppfyllda uppfylld +uppfördes uppförd +upphettade upphettad +upphöjelse upphöjels +upplaga upplag +uppliva uppliv +upplägga upplägg +uppmanande uppmanand +uppmärksamheter uppmärksamhet +upprepande upprepand +upproriske upprorisk +upprördes upprörd +uppskriva uppskriv +uppsluppet uppslupp +uppsände uppsänd +upptogs upptog +upptäcks upptäck +uppvägde uppvägd +urmakarens urmak +ursprungligcn ursprungligc +uslingen usling +utblottat utblott +utbyttes utbytt +utfarande utfarand +utgifter utgift +utgöra utgör +utlofvade utlofvad +utmärglade utmärglad +utpeka utpek +utropstecken utropsteck +utsatta utsatt +utskjutande utskjutand +utspanat utspan +utströmmar utströmm +uttages uttag +uttrycket uttryck +utvandringarna utvandring +utvägen utväg +utövar utöv +vadan vada +vagen vag +vagor vag +vaket vak +vaktarinna vaktarinn +valet val +vanan vana +vandringsmannen vandringsmann +vann van +vanärans vanära +varardra varardr +vardera varder +varie vari +varningar varning +vasabron vasabro +vattenglaset vattenglas +vattnat vattn +veckas veck +vederlägga vederlägg +veknar vekn +verka verk +verkligheten verklighet +verldsliga verldslig +vete vet +vhlgar vhlg +vidhänga vidhäng +vidunder vidund +vigselringen vigselring +vilan vila +vilie vili +villan villa +villrådiga villrådig +vinddraget vinddrag +vindstrappan vindstrappa +vinhandeln vinhandel +vinnas vinn +vintermånaderna vintermånad +viole viol +virvlat virvl +viset vis +viskat visk +visshet vissh +vissten visst +vithet vith +vjta vjt +vreten vret +vulgära vulgär +väckarklockan väckarklocka +väderkistan väderkista +väfva väfv +vägkanten vägkant +välborstade välborstad +väljande väljand +välmanikurefade välmanikurefad +välsigne välsign +välvde välvd +vänfasta vänfast +vänner vänn +vänta vänt +värdefulla värdefull +värdinna värdinn +världarna värld +världsordningen världsordning +värnlösa värnlös +väsnades väsnad +väva väv +växelvis växelvi +vågade vågad +våldsamma våldsamm +vårars vår +vårdmans vårdma +vårmorgon vårmorgo +waller wall +wunderhorn wunderhor +ympas ymp +yrade yrad +ytterkläder ytterkläd +yttre yttr +äfven äfv +ägnade ägnad +äldste äldst +älsklige älsklig +älvarna älv +ämnat ämn +änder änd +ängars äng +ängslas ängsl +ärade ärad +ärliga ärlig +ärvda ärvd +äventyrslysten äventyrslyst +åhörarinnan åhörarinna +åkrarna åkr +åldrats åldr +ångern ånger +århundrade århundrad +åskan åska +åsynen åsyn +återförsätta återförsätt +återkommande återkommand +återståen återstå +återvägen återväg +åtlöje åtlöj +åttiofjerde åttiofjerd +ödmjukat ödmjuk +öfverdrifvet öfverdrifv +öfverhängande öfverhängand +öfvermorgon öfvermorgo +öfvertalat öfvertal +öfverändakastar öfverändakast +ögonbrynens ögonbryn +ögonsten ögonst +öltunnor öltunn +ömsinta ömsint +öppnade öppnad +örnungen örnung +östersjön östersjö +överens över +överfölls överföll +överhöljda överhöljd +överläppen överläpp +överräknade överräknad +översvalla översvall +övertygelsen övertygels +a a +adertonskilling adertonskilling +afdukadt afdukadt +afslag afslag +age age +aktör aktör +allo allo +allvarsam allvarsam +an an +andfatt andfatt +angenäm angenäm +anlänt anlänt +ansett ansett +anständigt anständigt +antisemitism antisemitism +arangerad arangerad +arkad arkad +arvid arvid +attrapp attrapp +avfladd avfladd +avsatt avsatt +avstå avstå +azur azur +bakvändt bakvändt +barmhertig barmhertig +barrskog barrskog +bebodd bebodd +befattning befattning +begrepp begrepp +behaglig behaglig +behörig behörig +belefvad belefvad +beredskap beredskap +berömlig berömlig +beskref beskref +bess bess +bestå bestå +betalning betalning +betydligt betydligt +bevisad bevisad +bifall bifall +bisak bisak +bjödo bjödo +blekt blekt +blixtlikt blixtlikt +blomsterdoft blomsterdoft +bly bly +blåst blåst +bokvett bokvett +bonjour bonjour +bortgång bortgång +bottenfock bottenfock +bref bref +bror bror +brunrosigt brunrosigt +bräckt bräckt +bröstvärk bröstvärk +bunt bunt +byrå byrå +båd båd +bönesuck bönesuck +cftcr cftcr +cigarrettetui cigarrettetui +cyankalium cyankalium +dalfolk dalfolk +dari dari +del del +derför derför +devient devient +diskant diskant +djärvt djärvt +domnad domnad +dragning dragning +drog drog +dråplig dråplig +duktigt duktigt +dygd dygd +där där +därutur därutur +dödsbädd dödsbädd +dörr dörr +eftersom eftersom +egennyttig egennyttig +eka eka +eldröd eldröd +emottog emottog +enig enig +entonigt entonigt +erkänd erkänd +etc etc +expedierad expedierad +famil famil +farstudör farstudör +fattadc fattadc +feer feer +fermtio fermtio +filosof filosof +fisktorkning fisktorkning +flak flak +flod flod +fläck fläck +fodral fodral +foredrog foredrog +fortgått fortgått +fotsteg fotsteg +framgå framgå +framstå framstå +fredlig fredlig +frileux frileux +frot frot +fryntligt fryntligt +fröding fröding +fullkomlig fullkomlig +fy fy +fysionomi fysionomi +färsk färsk +fångst fångst +föll föll +förbi förbi +förbund förbund +fördubblad fördubblad +förenad förenad +företog företog +förföllo förföllo +förhoppningsfull förhoppningsfull +förledd förledd +förlåtlig förlåtlig +förnedring förnedring +förolämpning förolämpning +försedd försedd +förskräcklig förskräcklig +förspildt förspildt +förställning förställning +försökt försökt +förtrollning förtrollning +förvanad förvanad +förvånad förvånad +gafs gafs +gapskratt gapskratt +gemensamt gemensamt +genomgår genomgår +get get +gingo gingo +glad glad +glugg glugg +gnott gnott +gossc gossc +grav grav +grubbel grubbel +grynvälling grynvälling +gråtit gråtit +gudomlig gudomlig +guldur guldur +guttaperkaboll guttaperkaboll +gärdesgard gärdesgard +gök gök +haft haft +halt halt +han han +harang harang +hat hat +hej hej +hembygd hembygd +hemsk hemsk +hergell hergell +hetsit hetsit +hittadc hittadc +hjälpt hjälpt +hlixtlik hlixtlik +honoll honoll +hot hot +hufvudvärk hufvudvärk +hun hun +husfru husfru +hustrublick hustrublick +hvarest hvarest +hvit hvit +hysteriskt hysteriskt +händcr händcr +häradsväg häradsväg +härt härt +hån hån +högblå högblå +högtidsstämt högtidsstämt +hört hört +ick ick +ifrigt ifrigt +ihågkom ihågkom +ijuvligt ijuvligt +impertinent impertinent +indelning indelning +ingt ingt +inlät inlät +inredd inredd +installerad installerad +insögo insögo +inträdt inträdt +irr irr +ivrig ivrig +iörlåt iörlåt +jargong jargong +joho joho +judy judy +jämmerlig jämmerlig +ka ka +kam kam +kantig kantig +karl karl +katt katt +kistlock kistlock +klarögd klarögd +klokast klokast +klädnad klädnad +knall knall +knuff knuff +kollrig kollrig +kompani kompani +konstgrepp konstgrepp +konvulsivisk konvulsivisk +kortlek kortlek +kraftigt kraftigt +kringränd kringränd +krossad krossad +kräftskal kräftskal +kundc kundc +kvalfullt kvalfullt +kvill kvill +kvällsvard kvällsvard +känbart känbart +käri käri +kärt kärt +kört kört +lakej lakej +lantluft lantluft +led led +lejd lejd +levdl levdl +lifs lifs +liknöjd liknöjd +lindrig lindrig +livct livct +ljudlöst ljudlöst +ljusmelodi ljusmelodi +llöll llöll +lossning lossning +lugnad lugnad +lusttåg lusttåg +lysning lysning +lämplig lämplig +läroverk läroverk +låg låg +låst låst +lördagskväll lördagskväll +maj maj +mantel mantel +mas mas +mcn mcn +medgörlig medgörlig +mellanlägg mellanlägg +mes mes +midsommarnatt midsommarnatt +minnc minnc +misslynt misslynt +mittpå mittpå +mnn mnn +monsieur monsieur +motgift motgift +mr mr +musikalisk musikalisk +mystiskt mystiskt +märgfull märgfull +måltid måltid +mår mår +mörkgrå mörkgrå +namnlöst namnlöst +nattglim nattglim +ncs ncs +nedlör nedlör +nedvänt nedvänt +net net +njutningsfullt njutningsfullt +nordvest nordvest +nummerplåt nummerplåt +nystfot nystfot +näring näring +nås nås +o o +obemärkt obemärkt +obetänksamt obetänksamt +ock ock +oeh oeh +ofrid ofrid +oförsynt oförsynt +ohygglig ohygglig +okuvlig okuvlig +olyckligt olyckligt +omgjort omgjort +ommöblerad ommöblerad +omärkligt omärkligt +onödig onödig +ordensband ordensband +orgverk orgverk +ort ort +oskicklig oskicklig +otacksam otacksam +otur otur +outgrundligt outgrundligt +ovaraktig ovaraktig +oxar oxar +pahlr pahlr +parkett parkett +patent patent +penseldrag penseldrag +pi pi +pistol pistol +plotsligt plotsligt +pois pois +portugisisk portugisisk +premiäraktör premiäraktör +profil profil +präntad präntad +puckelrygg puckelrygg +päls päls +påpasslig påpasslig +qval qval +rackartyg rackartyg +rangordning rangordning +redbart redbart +regerad regerad +rentav rentav +rest rest +riggad riggad +ringt ringt +rod rod +rop rop +rov rov +rundt rundt +ryckig ryckig +räckhåll räckhåll +rättvist rättvist +rår rår +rön rön +sadant sadant +salcional salcional +sammanföll sammanföll +samråd samråd +sanningsjakt sanningsjakt +sax sax +sedel sedel +senap senap +sextio sextio +sidennattrock sidennattrock +silhuett silhuett +sinnesförvirring sinnesförvirring +sjal sjal +sjukdomsfall sjukdomsfall +själ själ +sjögrönt sjögrönt +skakad skakad +skavit skavit +skilling skilling +skol skol +skrevo skrevo +skrubb skrubb +skuggliv skuggliv +skutt skutt +skyr skyr +skärt skärt +skött skött +slaveri slaveri +slottskanslibetjänt slottskanslibetjänt +slyng slyng +slätrakad slätrakad +smal smal +smultit smultit +småland småland +snarast snarast +snyft snyft +snöt snöt +soligt soligt +sons sons +spad spad +speg speg +spinnrock spinnrock +sprit sprit +spydigt spydigt +stack stack +standigt standigt +stek stek +stif stif +stockholmsbo stockholmsbo +storskärmad storskärmad +stridig stridig +strängt strängt +stulit stulit +styng styng +stämd stämd +stånd stånd +stötvir stötvir +sutto sutto +svartklädd svartklädd +svikt svikt +svärd svärd +syfilidologi syfilidologi +syndigt syndigt +sysselsatt sysselsatt +sällsam sällsam +särskild särskild +sårtid sårtid +sönderplockad sönderplockad +tackladt tackladt +taligt taligt +tappert tappert +telefontrad telefontrad +ti ti +tiil tiil +tillfredsställd tillfredsställd +tillit tillit +tillslutit tillslutit +tillvaro tillvaro +tior tior +tjugo tjugo +tjänstfolk tjänstfolk +tokigt tokigt +torg torg +trakt trakt +trefalt trefalt +triumf triumf +trotsigt trotsigt +träbänk träbänk +trångt trångt +tukt tukt +tuvig tuvig +tvärt tvärt +tygel tygel +tänksamt tänksamt +tår tår +uff uff +underhållit underhållit +undersätsig undersätsig +undvarit undvarit +ungmö ungmö +uppfattning uppfattning +upphetsad upphetsad +upplysning upplysning +upprigtig upprigtig +uppslog uppslog +uppsåt uppsåt +uppå uppå +uråldrig uråldrig +utdelning utdelning +utfärdad utfärdad +utgöt utgöt +utomordentlig utomordentlig +utslag utslag +uttryck uttryck +vad vad +valdt valdt +vanhederligt vanhederligt +varandr varandr +vark vark +varseblivit varseblivit +vd vd +vems vems +vers vers +vidgår vidgår +viii viii +villrådig villrådig +vinterkväll vinterkväll +viskning viskning +vivo vivo +vredo vredo +vädur vädur +väldigt väldigt +välvand välvand +väntjenst väntjenst +värv värv +våldsam våldsam +våt våt +wuhlbom wuhlbom +xxviii xxviii +yr yr +äckel äckel +älskad älskad +ändamål ändamål +är är +ärvt ärvt +åh åh +ångslup ångslup +åstadkommit åstadkommit +återhållsam återhållsam +åtföljd åtföljd +öda öda +öfvergåfvo öfvergåfvo +ögmlell ögmlell +öm öm +öppnad öppnad +övat övat +övergår övergår +översh översh diff --git a/opennlp-distr/src/main/readme/LICENSE b/opennlp-distr/src/main/readme/LICENSE index 6c72d966ba..1efa144d0a 100644 --- a/opennlp-distr/src/main/readme/LICENSE +++ b/opennlp-distr/src/main/readme/LICENSE @@ -265,6 +265,39 @@ distributed under the BSD license: OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The following license applies to the UniNE light and minimal stemmer +algorithms in opennlp-core/opennlp-runtime, package +opennlp.tools.stemmer.light. They are adapted from Apache Lucene, which +based them on code by Jacques Savoy +(http://members.unine.ch/jacques.savoy/clef/index.html), distributed +under the BSD license: + + Copyright (c) 2005, Jacques Savoy + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. Redistributions in binary + form must reproduce the above copyright notice, this list of conditions and + the following disclaimer in the documentation and/or other materials + provided with the distribution. Neither the name of the author nor the names + of its contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + The CDDL 1.1 license applies to jersey and some of its dependencies: COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL)Version 1.1 diff --git a/opennlp-eval-tests/src/test/java/opennlp/tools/eval/MultiThreadedStemmerEval.java b/opennlp-eval-tests/src/test/java/opennlp/tools/eval/MultiThreadedStemmerEval.java new file mode 100644 index 0000000000..aaac3c4c2b --- /dev/null +++ b/opennlp-eval-tests/src/test/java/opennlp/tools/eval/MultiThreadedStemmerEval.java @@ -0,0 +1,175 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package opennlp.tools.eval; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Random; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import opennlp.tools.commons.ThreadSafe; +import opennlp.tools.stemmer.PorterStemmerFactory; +import opennlp.tools.stemmer.SharingStemmer; +import opennlp.tools.stemmer.Stemmer; +import opennlp.tools.stemmer.snowball.SnowballStemmer; +import opennlp.tools.stemmer.snowball.SnowballStemmer.ALGORITHM; +import opennlp.tools.util.normalizer.Dimension; +import opennlp.tools.util.normalizer.NormalizationProfiles; +import opennlp.tools.util.normalizer.Term; +import opennlp.tools.util.normalizer.TermAnalyzer; + +/** + * Tests that the thread-safe stemmer implementations really are thread-safe by hammering shared + * instances from many threads and comparing every result against a single-threaded reference. + * + * @see ThreadSafe + * @see MultiThreadedToolsEval + */ +public class MultiThreadedStemmerEval extends AbstractEvalTest { + + private static final int NUM_THREADS = 8; + private static final int RUNS_PER_THREAD = 500; + + /** + * Words across scripts and languages, including apostrophes, diacritics, Greek, Cyrillic and + * Arabic. Stemming is deterministic for any input, so every algorithm is run over the whole + * list; a mismatch signals cross-thread corruption of the stemmer's internal buffers. + */ + private static final List WORDS = List.of( + "running", "accompanying", "malediction", "softeners", "declining", + "importantíssimes", "besar", "accidentalment", + "abbattimento", "aborrecimentos", "importantísimas", + "esiintymispaikasta", "aabenbaringen", "skrøbeligheder", "aftonringningen", + "buchbindergesellen", "mitverursacht", "prévoyant", "examinateurs", + "ab'yle", "kaçmamaktadır", "sarayı'nı", + "abbahagynám", "konstrukciójából", "vliegtuigtransport", + "absurdităţilor", "saracilor", "peledakan", "bhfeidhm", + "επιστροφή", "στρατιωτών", "красивая", "яблоками", + "استفتياكما", "استنتاجاتهما"); + + @Test + public void runSharedSnowballStemmersMultiThreaded() throws Exception { + for (ALGORITHM algorithm : ALGORITHM.values()) { + List expected = referenceStems(new SnowballStemmer(algorithm)); + hammer(new SnowballStemmer(algorithm), expected, "Snowball " + algorithm); + } + } + + @Test + public void runSharedPorterStemmerMultiThreaded() throws Exception { + SharingStemmer shared = new SharingStemmer(new PorterStemmerFactory()); + List expected = referenceStems(new PorterStemmerFactory().newStemmer()); + hammer(shared, expected, "SharingStemmer(Porter)"); + } + + @Test + public void runMatchingAnalyzersMultiThreaded() throws Exception { + for (String language : NormalizationProfiles.supportedLanguages()) { + TermAnalyzer analyzer = + NormalizationProfiles.forLanguage(language).orElseThrow().matchingAnalyzer(); + + List expected = new ArrayList<>(WORDS.size()); + for (String word : WORDS) { + expected.add(stemDimension(analyzer, word)); + } + + runInThreads(threadIndex -> { + List order = shuffledIndexes(threadIndex); + for (int run = 0; run < RUNS_PER_THREAD / 10; run++) { + for (int i : order) { + Assertions.assertEquals(expected.get(i), stemDimension(analyzer, WORDS.get(i)), + () -> "matchingAnalyzer(" + language + ") corrupted under concurrency"); + } + } + }); + } + } + + private static String stemDimension(TermAnalyzer analyzer, String word) { + List terms = analyzer.analyze(word); + if (terms.isEmpty()) { + return ""; + } + StringBuilder sb = new StringBuilder(); + for (Term term : terms) { + sb.append(term.at(Dimension.STEM)).append(' '); + } + return sb.toString(); + } + + private static List referenceStems(Stemmer reference) { + List expected = new ArrayList<>(WORDS.size()); + for (String word : WORDS) { + expected.add(reference.stem(word).toString()); + } + return expected; + } + + private static void hammer(Stemmer shared, List expected, String label) throws Exception { + runInThreads(threadIndex -> { + List order = shuffledIndexes(threadIndex); + for (int run = 0; run < RUNS_PER_THREAD; run++) { + for (int i : order) { + Assertions.assertEquals(expected.get(i), shared.stem(WORDS.get(i)).toString(), + () -> label + " corrupted under concurrency for input '" + WORDS.get(i) + "'"); + } + } + }); + } + + /** + * Each thread visits the word list in its own order so that different threads are (almost) + * always inside different words at the same time, maximizing the chance of exposing shared + * mutable state. + */ + private static List shuffledIndexes(int seed) { + List order = new ArrayList<>(WORDS.size()); + for (int i = 0; i < WORDS.size(); i++) { + order.add(i); + } + Collections.shuffle(order, new Random(seed)); + return order; + } + + private interface ThreadBody { + void run(int threadIndex) throws Exception; + } + + private static void runInThreads(ThreadBody body) throws Exception { + try (ExecutorService pool = Executors.newFixedThreadPool(NUM_THREADS)) { + List> tasks = new ArrayList<>(NUM_THREADS); + for (int t = 0; t < NUM_THREADS; t++) { + final int threadIndex = t; + tasks.add(pool.submit(() -> { + body.run(threadIndex); + return null; + })); + } + for (Future task : tasks) { + task.get(120, TimeUnit.SECONDS); + } + } + } +} diff --git a/rat-excludes b/rat-excludes index 5a5d86b90c..c359333ed3 100644 --- a/rat-excludes +++ b/rat-excludes @@ -70,3 +70,6 @@ src/main/resources/opennlp/tools/tokenize/uax29/WordBreakProperty.txt src/main/resources/opennlp/tools/tokenize/uax29/ExtendedPictographic.txt src/main/resources/opennlp/tools/util/normalizer/confusables.txt src/test/resources/opennlp/tools/tokenize/uax29/WordBreakTest.txt + + +src/test/resources/opennlp/tools/stemmer/light/*.tsv