Pytanie jak w temacie - Próbuję to zrobić w pythonie dla aplikacji w Google App Engine. Wiem, że biblioteka PyEnchant służy do rozpoznawania języka naturalnego, ale nie widzę, czy mogę go użyć do mojego problemu i jak.Jak sprawdzić, czy podane słowo jest w liczbie mnogiej lub w liczbie pojedynczej?
Odpowiedz
Zamówienie biblioteki inflect 0.2.4.
zaznaczenia 0.2.4
prawidłowo generuje liczby mnogiej liczby pojedynczej rzeczowników porządkowe, nieokreślone artykułów; konwertuj liczby na słowa
Nie mówisz, że jeśli Twoim problemem są pojedyncze słowa lub słowa w kontekście zdań w języku angielskim. Na przykład "owca" może być pojedyncza lub mnoga. Jednakże:
owiec był w zakresie
jest pojedyncza i
owce w dziedzinie
w liczbie mnogiej.
Do tego ostatniego potrzebujesz znacznika części mowy, który wskaże role rzeczowników w zdaniu. Istnieje wiele darmowych i komercyjnych i Wikipedia ma an excellent list. NLTK jest prawdopodobnie naturalnym wyborem dla Pythona.
Jeśli masz tylko wyodrębnione słowa, najlepiej jest odwołać się do wielu słowników (takich jak Wordnet, które będą wskazywać formy liczby pojedynczej i mnogiej rzeczowników).
Ashwini odniósł się do użytecznej biblioteki inflect, ale nie wyjaśnił, jak sprawdzić, czy dane słowo jest w liczbie mnogiej czy w liczbie pojedynczej.
Jeśli wiesz, że słowo jest albo w liczbie pojedynczej lub mnogiej można użyć:
singular_noun(word)
ten powróci False
jeśli słowo nie jest liczba mnoga, więc twoje słowo teoretycznie powinien być w liczbie pojedynczej.
Zwróć uwagę na niedociągnięcia pojawiające się w moich przykładach, jeśli chodzi o klasyczne formy liczby mnogiej, formy, które mogą być w liczbie pojedynczej lub mnogiej, oraz fakt, że zwrócą one fałsz dla nierozpoznanych formularzy w ogóle.
import inflect
inflect = inflect.engine()
english_words = ["hat", "hats",
"hero", "heroes",
"cherry", "cherries",
"dish", "dishes",
"stadium", "stadia", "stadiums",
"mitochondrion", "mitochondria",
"sheep", "a sheep", "the sheep",
"whjkjhkjh", "msipelling"]
for en in english_words:
if inflect.singular_noun(en) is False:
print (en, "is singular")
else:
print (en, "is plural")
>>>
hat is singular
hats is plural
hero is singular
heroes is plural
cherry is singular
cherries is plural
dish is singular
dishes is plural
stadium is singular
stadia is singular
stadiums is plural
mitochondrion is singular
mitochondria is singular
sheep is plural
a sheep is plural
the sheep is plural
whjkjhkjh is singular
'some_boolean_value is False' jest wzorcem przeciwnym, zamiast tego użyj wartości' not some_boolean_value' –
- 1. najlepsza praktyka (y) w liczbie pojedynczej lub liczbie mnogiej?
- 2. w liczbie pojedynczej lub mnogiej na kontrolerach modeli?
- 3. Terminy pisania w liczbie mnogiej bez redundancji
- 4. Tłumaczenie liczby mnogiej modelu Django, gdy liczba mnoga jest równa liczbie pojedynczej
- 5. Konwencja Ruby on Rails w liczbie mnogiej (kontroler) i pojedynczej (model) - wyjaśnienie
- 6. Jaki jest sposób Rails do obsługi możliwości liczby pojedynczej/mnogiej?
- 7. Jak posortować cyfry w liczbie?
- 8. Szyny: Obsługa rusztowania, takiego jak "Owca", który ma tę samą liczbę mnogą i w liczbie pojedynczej
- 9. RegEx, aby sprawdzić, czy cyfry w liczbie są takie same lub w kolejności
- 10. Ciągi konkatenacji w mniejszej liczbie
- 11. Wykonaj moduł w ogromnej liczbie?
- 12. Czy szyny Konwencja nazewnictwa MVC ze słowami, które są w liczbie mnogiej, to "-ies" (np. Odpowiedzi)?
- 13. Jak uzyskać ułamki w liczbie całkowitej?
- 14. Jak zapobiec największej liczbie oszustów w ankietach?
- 15. Jak zastąpić przecinek kropką w liczbie (lub jakiejkolwiek innej)
- 16. Jak złączyć $ 1 Przy liczbie w regex
- 17. Jak rozbroić określony bit w liczbie całkowitej
- 18. Jak sprawdzić, czy słowo jest japoński lub angielski PHP
- 19. Dlaczego CakePHP używa różnych konwencji nazewnictwa liczby mnogiej/pojedynczej?
- 20. o zmiennej liczbie argumentów szablony o zmiennej liczbie argumentów szablonu
- 21. Jak sprawdzić, czy istnieje słowo w zdaniu
- 22. Modyfikuj bity w liczbie całkowitej w Pythonie
- 23. jak sprawdzić, czy słowo jest palindromem?
- 24. Entity Framework Code Pierwsze konwencje nazewnictwa - powrót do tabel w liczbie mnogiej?
- 25. Funkcja o nieznanej liczbie parametrów w C
- 26. Czy istnieje sprytny sposób na "podwajanie" bitów w liczbie całkowitej?
- 27. Jak mogę sprawdzić, czy podane int istnieje w tablicy?
- 28. Zamień puste komórki na wartości NULL w dużej liczbie kolumn.
- 29. Jak zdefiniować zmiennej liczbie argumentów funkcji
- 30. Czy używasz liczby pojedynczej lub mnogiej w nazwach tablic, map, zestawów itp.?
może chcesz sprawdzić NLTK http://nltk.org/ –