В любых задачах, связанных с обработкой текстов на естественном языке, так или иначе возникает небольшая проблема: какой максимальной длины может быть слово?
Ответ тут такой: если для небольшой коллекции документов этот лимит может быть посчитан, то для постоянно разрастающегося и потенциально бесконечного индекса всего интернета размеры слов могут быть любыми, к чему нужно быть готовым. Тут бывают и настоящие слова (к примеру, немецкие числительные), но в основном попадается всякий мусор, с которым тоже приходится работать. Естественно, что потом делать с длинными словами -- вопрос отдельный, их можно урезать, можно дробить, можно вообще не учитывать, но вот падать на них совершенно ни к чему.
Недавно столкнулся с ещё одним примером того, что если один человек чего-то сделал, то другой завсегда может это сломать. Ну и то что даже в русском языке слова могут быть любой длины (хотя в словарях их, конечно, не найти). На одном форуме один человек другому написал:
в 1032 символа.
И конечно же это слово оказалось чрезвычайно сложным для индексации! Какое коварство: длина слова не только больше 256, но даже 1024-х символов! Вокруг все опытные программисты, понятное дело. Но сколько же можно по одним и тем же граблям ходить? В одном месте эти ограничения учли, в другом месте забыли...
Ответ тут такой: если для небольшой коллекции документов этот лимит может быть посчитан, то для постоянно разрастающегося и потенциально бесконечного индекса всего интернета размеры слов могут быть любыми, к чему нужно быть готовым. Тут бывают и настоящие слова (к примеру, немецкие числительные), но в основном попадается всякий мусор, с которым тоже приходится работать. Естественно, что потом делать с длинными словами -- вопрос отдельный, их можно урезать, можно дробить, можно вообще не учитывать, но вот падать на них совершенно ни к чему.
Недавно столкнулся с ещё одним примером того, что если один человек чего-то сделал, то другой завсегда может это сломать. Ну и то что даже в русском языке слова могут быть любой длины (хотя в словарях их, конечно, не найти). На одном форуме один человек другому написал:
ДЭЭЭ....ЭЭЭЭБИЛ
в 1032 символа.
И конечно же это слово оказалось чрезвычайно сложным для индексации! Какое коварство: длина слова не только больше 256, но даже 1024-х символов! Вокруг все опытные программисты, понятное дело. Но сколько же можно по одним и тем же граблям ходить? В одном месте эти ограничения учли, в другом месте забыли...
Комментировать