2012-01-13 8 views
16

Quiero saber, en varios idiomas, si dos palabras son:¿Cómo saber si dos palabras tienen la misma base?

  • o bien la misma palabra,
  • o las variantes gramaticales de la misma palabra.

Por ejemplo:

  • had y has tiene la misma base: en ambos casos, es el verbo have,
  • city y cities tiene la misma base.
  • went y gone tiene la misma base.

¿Hay alguna manera de utilizar la API de Microsoft Word no solo para revisar la ortografía del texto, sino también para normalizar una palabra o determinar si dos palabras tienen la misma base?

Si no es así, ¿cuáles son las bibliotecas (gratuito o de pago) (no de servicios web) que permiten que lo haga (una vez más, en varios idiomas)?

+0

Cuando usted dice que quiere hacer esto en varios idiomas, ¿Quiere decir que las palabras que usted está comparando pueden ser diferentes idiomas en una sola comparación? Por ejemplo, ¿debería encontrarse la palabra en inglés 'city' como coincidente con la palabra alemana, 'Stadt'? ¿O espera que las dos palabras que está comparando al menos vivan en el mismo diccionario? –

+0

@ M.Babcock: comparo solo inglés con inglés, alemán con alemán, por lo que solo necesito un diccionario a la vez. –

+3

Si se ayuda a su búsqueda - el término usual para que se "derivadas" (ver http://en.wikipedia.org/wiki/Stemming). – ruakh

Respuesta

2

Inflector.NET es una biblioteca de código abierto que puede usar para normalizar la inflexión de sustantivos en inglés. Disponible en: https://github.com/davidarkemp/Inflector/tree/master/Inflector

+0

(1) Parece disponible solo para inglés.(2) Incluso para inglés, no funcionará: incluso si funciona para uno (ciudad/ciudad) de los tres ejemplos que he dado en mi pregunta, falla para otros dos, sin contar todos los casos extremos que existen en Gramática inglesa. –

+0

@MainMa, la clase permite incluir "casos extremos" adicionales. Esta clase solo funciona para ** sustantivos ** (He actualizado mi respuesta para reflejar esto). Tiene razón en que esto es solo en inglés, pero puede aprovechar los patrones de diseño en una implementación más localizada. Buena suerte – smartcaveman

Cuestiones relacionadas