А курсовая пишется...
Mar. 7th, 2008 08:49 amНо медленно. Пока готовы основные части текстовых операций (текст, аннотация текстов, красивая печать аннотаций) и библиотеки для графематики, морфологии и синтаксиса (которые пришлось еще допиливать (что оказалось сложно) и писать к ним биндинги (что оказалось просто)), обертки над википедией (чтобы статьи доставать из нее) и над ОЕНТом, а также метод поиска текстовых входов в тексте. Из общих вещей осталось сохранением всех результатов в базу (либо через cl-sql, либо через elephant или что-то похожее). После этого можно приступать к экспериментам, что уже интереснее.
Вчера ускорил время работы этого метода с примерно 8 секунд до примерно 0.5 секунд на одну статью. Уже гораздо лучше. Надо подумать над тем, как это запустить на нескольких компах.
Заодно только что дошло, откуда при цифровой обработке звука берутся комплексные числа.
Вчера ускорил время работы этого метода с примерно 8 секунд до примерно 0.5 секунд на одну статью. Уже гораздо лучше. Надо подумать над тем, как это запустить на нескольких компах.
CL-USER> (defvar *text* (text-tags:make-string-text "Приступая к доказательству
следует безапелляционно заявить, что матожидание категорически стабилизирует
математический анализ, что известно даже школьникам."))
*TEXT*
CL-USER> (defvar *tags* (lemmatizer:lemmatize-text *text* (graphan:parse-graphan :russian *text*)))
*TAGS*
CL-USER> *tags*
(#<TEXT-TAGS:TAG [0, 9) 'Приступая' {TYPE => RUSSIAN-LEXEM, WORDS => ({ПРИСТУПАТЬ})}>
#<TEXT-TAGS:TAG [10, 11) 'к' {TYPE => RUSSIAN-LEXEM, WORDS => ({К})}>
#<TEXT-TAGS:TAG [12, 26) 'доказательству' {TYPE => RUSSIAN-LEXEM, WORDS => ({ДОКАЗАТЕЛЬСТВО})}>
#<TEXT-TAGS:TAG [27, 34) 'следует' {TYPE => RUSSIAN-LEXEM, WORDS => ({СЛЕДОВАТЬ} {СЛЕДОВАТЬ})}>
#<TEXT-TAGS:TAG [35, 50) 'безапелляционно' {TYPE => RUSSIAN-LEXEM, WORDS => ({БЕЗАПЕЛЛЯЦИОННЫЙ})}>
#<TEXT-TAGS:TAG [51, 58) 'заявить' {TYPE => RUSSIAN-LEXEM, WORDS => ({ЗАЯВИТЬ})}>
#<TEXT-TAGS:TAG [58, 59) ',' {TYPE => PUNCTUATION}>
#<TEXT-TAGS:TAG [60, 63) 'что' {TYPE => RUSSIAN-LEXEM, WORDS => ({ЧТО} {ЧТО} {ЧТО})}>
#<TEXT-TAGS:TAG [64, 75) 'матожидание' {TYPE => RUSSIAN-LEXEM, WORDS => ({МАТОЖИДАНИЕ})}>
#<TEXT-TAGS:TAG [76, 89) 'категорически' {TYPE => RUSSIAN-LEXEM, WORDS => ({КАТЕГОРИЧЕСКИ} {КАТЕГОРИЧЕСКИЙ})}>
#<TEXT-TAGS:TAG [90, 103) 'стабилизирует' {TYPE => RUSSIAN-LEXEM, WORDS => ({СТАБИЛИЗИРОВАТЬ})}>
#<TEXT-TAGS:TAG [104, 118) 'математический' {TYPE => RUSSIAN-LEXEM, WORDS => ({МАТЕМАТИЧЕСКИЙ})}>
#<TEXT-TAGS:TAG [119, 125) 'анализ' {TYPE => RUSSIAN-LEXEM, WORDS => ({АНАЛИЗ})}>
#<TEXT-TAGS:TAG [125, 126) ',' {TYPE => PUNCTUATION}>
#<TEXT-TAGS:TAG [127, 130) 'что' {TYPE => RUSSIAN-LEXEM, WORDS => ({ЧТО} {ЧТО} {ЧТО})}>
#<TEXT-TAGS:TAG [131, 139) 'известно' {TYPE => RUSSIAN-LEXEM, WORDS => ({ИЗВЕСТНЫЙ} {ИЗВЕСТНО} {ИЗВЕСТНО})}>
#<TEXT-TAGS:TAG [140, 144) 'даже' {TYPE => RUSSIAN-LEXEM, WORDS => ({ДАЖЕ} {ДАЖЕ})}>
#<TEXT-TAGS:TAG [145, 155) 'школьникам' {TYPE => RUSSIAN-LEXEM, WORDS => ({ШКОЛЬНИК})}>
#<TEXT-TAGS:TAG [0, 156) 'Приступая к ...' {TYPE => SENTENCE}>
#<TEXT-TAGS:TAG [155, 156) '.' {TYPE => PUNCTUATION}>)
Заодно только что дошло, откуда при цифровой обработке звука берутся комплексные числа.