tutorial stopwords graphs functions espaƱol ejemplo python nlp nltk

python - stopwords - Extraiga la lista de compras del texto libre



nltk stopwords (2)

Estoy buscando una biblioteca / algoritmo / papel de Python para extraer una lista de comestibles de texto libre.

Por ejemplo:

"Una ensalada y dos cervezas"

Debería convertirse a:

{''salad'':1, ''beer'': 2}


Sugiero usar WordNet . Puede llamarlo desde Java (biblioteca JWNL), etc. Aquí está la sugerencia: para cada palabra, compruebe que es hipernym. Para comestibles en el nivel superior de la jerarquía hypernymy encontrará "alimentos, nutrientes". Que es probablemente lo que quieres Ahora para probar esto, consulte la palabra "cerveza" en la versión en línea . Haga clic en "S", y luego haga clic en "hypernym heredado". Encontrarás esto en algún lugar de la jerarquía:

.... S: (n) beverage, drink, drinkable, potable (any liquid suitable for drinking) "may I take your beverage order?" S: (n) food, nutrient (any substance that can be metabolized by an animal to give energy and build tissue) ....

Puede recorrer esta jerarquía usando el lenguaje de programación que elija, etc. Una vez que haya marcado todos los comestibles, puede capturar el número, es decir, 2 en "2 cervezas", y tiene toda la información que necesita. Tenga en cuenta que capturar los números en sí mismo puede ser una tarea de codificación de descenso. ¡Espero eso ayude!


In [1]: from word2number import w2n In [2]: print w2n.word_to_num("One") 1 In [3]: print w2n.word_to_num("Two") 2 In [4]: print w2n.word_to_num("Thirty five") 35

Puede convertir al número con el uso de este paquete y el resto de cosas que puede implementar según sus necesidades.

Instalación de este paquete

pip install word2number

Actualizar

Puedes implementar de esta manera.

from word2number import w2n result = {} input = "One salad and two beers" b = input.split() for i in b: if type(w2n.word_to_num(i)) is int: result[b[b.index(i)+1]] = w2n.word_to_num(i)

Resultado

{''cervezas'': 2, ''ensalada'': 1}