Обработка текста в реальном времени с использованием Python. Например, рассмотрите это сообщение
I am going to schol today
Я хочу сделать следующее (в режиме реального времени):
1) tokenize
2) check spellings
3) stem(nltk.PorterStemmer())
4) lemmatize (nltk.WordNetLemmatizer())
В настоящее время я использую библиотеку NLTK для выполнения этих операций, но не в режиме реального времени (то есть выполнение этих операций занимает несколько секунд). Я обрабатываю 1 предложение за раз, возможно ли сделать его эффективным
Обновление:
Профилирование:
Fri Jul 8 17:59:32 2011 srj.profile
105503 function calls (101919 primitive calls) in 1.743 CPU seconds
Ordered by: internal time
List reduced from 1797 to 10 due to restriction
ncalls tottime percall cumtime percall filename:lineno(function)
7450 0.136 0.000 0.208 0.000 sre_parse.py:182(__next)
602/179 0.130 0.000 0.583 0.003 sre_parse.py:379(_parse)
23467/22658 0.122 0.000 0.130 0.000 {len}
1158/142 0.092 0.000 0.313 0.002 sre_compile.py:32(_compile)
16152 0.081 0.000 0.081 0.000 {method 'append' of 'list' objects}
6365 0.070 0.000 0.249 0.000 sre_parse.py:201(get)
4947 0.058 0.000 0.086 0.000 sre_parse.py:130(__getitem__)
1641/639 0.039 0.000 0.055 0.000 sre_parse.py:140(getwidth)
457 0.035 0.000 0.103 0.000 sre_compile.py:207(_optimize_charset)
6512 0.034 0.000 0.034 0.000 {isinstance}
TIMIT:
t = timeit.Timer(main)
print t.timeit(1000)
=> 3.7256231308