Page 251 - 6734
P. 251
йклмнопрстуфхцчшщъыьэюя'
print(Word(alphasUA).parseString("привіт world!")[0])
#привіт
# іменовані регулярні вирази
print(Regex(r"hello
(?P<name>.*)").parseString(s).name)
#world!
print(SkipTo(Literal("world")).parseString(s)) # все
що до літералу "world"
#['hello ']
p=Combine(Word(alphas)+Literal(" ")+Word(alphas)) #
об'єднати
print(p.parseString(s))
#['hello world']
w = Word(nums)
p = Forward() # попередня декларація
p << ('['+OneOrMore(Group(p)^w)+']') # рекурсія
print(p.parseString('[1 2 [3 4]]'))
#['[', '1', '2', ['[', '3', '4', ']'], ']']
pymorphy2 – морфологічний аналізатор
pymorphy2 (https://github.com/kmike/pymorphy2) –
морфологічний аналізатор для російської і української мови.
Повертає граматичну інформацію про слово (число, рід, відмінок,
частина мови і т.д.), приводить слово до нормальної форми, ставить
слово в потрібну форму. Використовує словник opencorpora.org.
Для незнайомих слів будуються гіпотези. Дивись також NLTK
(www.nltk.org) – пакет для обробки природної мови. Ці пакети
широко застосувуються у галузі штучного інтелекту.
import pymorphy2
250