Хэширование слов

lagif
На сайте с 15.12.2004
Offline
30
#61

Artisan,

се зависит от точной постановки задачи, можно вообще обойтись без явных идентификаторов и вместо них использовать номера слов в массивах отдельно для каждой длины слова.

Ну так это и будут идентификаторы :)

Кстати, а вы пробовали? :/

Это тоже пройдет...
Artisan
На сайте с 04.03.2005
Offline
354
#62
Как писал lagif
Artisan,
Ну так это и будут идентификаторы :)

При неявных идентификаторах слов система получается простой что хорошо для скорости и памяти но очень жесткой, и если например надо обновлять словарь для поисковой системы то придется обновлять его связь с инвертированным индексом, в отличии от случая когда идентификаторы слов явные и используются как указатели на инвертированный индекс то есть являются идентификаторами частей инвертированного индекса для слов, а самим словам идентификаторы нужны только для восстановления текста из прямого индекса но возможно проще хранить сам текст, то есть неявные идентификаторы слов есть смысл применять только в том случае когда словарь не планируется часто обновлять или можно обойтись обновлением отдельного малого словаря пользователя.

Как писал lagif
Artisan,
Кстати, а вы пробовали? :/

Все это написано в учебниках, а для Вашей задачи для начала было бы полезно точно ее задать и уже потом думать как ее решать, здесь много важных переменных которые влияют на выбор алгоритмов и их применение.

www.leak.info / ДАРОМ линки конкурентов и забытых доменов
lagif
На сайте с 15.12.2004
Offline
30
#63

Гм... что-то я не совсем поняла, чем неявные идентификаторы лучше...

а насчет того, что "идентификаторы нужны только для восстановления текста из прямого индекса" - вот тут я крупно сомневаюсь. :)

Может вы того... знаков препинания бы больше ставили для разнообразия. А то мысль нечитабельна.

Об учебниках: там вообще много чего понаписано. Практика же отличается от теории во многом. А если точно - какие вообще учебники вы имеете в виду? Насчет же задачи - мне, по крайней мере, она ясна очень даже сильно. Маячит уже вторую неделю.

Artisan
На сайте с 04.03.2005
Offline
354
#64
Как писал lagif
что-то я не совсем поняла, чем неявные идентификаторы лучше...

Проще реализовать, быстрее искать, экономится память, но их не всегда есть смысл использовать.

Как писал lagif
а насчет того, что "идентификаторы нужны только для восстановления текста из прямого индекса" - вот тут я крупно сомневаюсь. :)

У меня написано "самим словам идентификаторы нужны только для восстановления текста из прямого индекса" причем для поисковой системы а не про общий случай.

Как писал lagif
Может вы того... знаков препинания бы больше ставили для разнообразия. А то мысль нечитабельна.

Может Вы того, объясните что значит слово "нечитабельна" по поводу мысли, а то я такого слова в словаре не нашел.

Как писал lagif
Об учебниках: там вообще много чего понаписано. Практика же отличается от теории во многом.

Вы вечный двигатель еще случаем не изобрели?

Как писал lagif
А если точно - какие вообще учебники вы имеете в виду?

Любой нормальный учебник по проектированию баз данных причем самое его начало, декомпозиция, нормальная форма Бойса-Кодда, нормализация, почитайте внимательно для чего все это делается.

Как писал lagif
Насчет же задачи - мне, по крайней мере, она ясна очень даже сильно. Маячит уже вторую неделю.

Мне Ваша путеводная задача пока что даже слабо не ясна.

lagif
На сайте с 15.12.2004
Offline
30
#65

Artisan,

Вообще, путеводная моя задача в целом вас интересовать и не должна. Я же не спрашиваю вас, как ее реализовать :D

А вечный двигатель, увы, невозможен. Так, по крайней мере, утверждает первый закон термодинамики. Не представляется возможным его обойти :D

В этом треде мы рассматривали возможность присвоения слову(или точнее, нормальной форме слова) уникального идентификатора - заметьте, не псевдоуникального, не в рамках массива слов определенной длины (потому что такое решение не представляется мне оптимальным, да и не подойдет) - с помощью независимой от БД и массивов данных функции...

Углубившись в проблему, сделала вывод, что ни одна из рассмотренных в учебниках хэш-функций не подходит для задачи идеально.

Более возможным представляется мне вариант, предложенный ранее euhenio: скорее всего, самым быстрым способом получения идентификатора будет подобие дерева (скорее всего, основанного на словаре), свободно загружаемого в память.

Подобный алгоритм лежит в основе морф. анализатора Коваленко. Быстро и удобно - пробовала.

Может Вы того, объясните что значит слово "нечитабельна" по поводу мысли, а то я такого слова в словаре не нашел.

Жаргон, однако :) Знаков препинания в ваших предложениях панически не хватает. Боюсь, я неправильно поняла больше половины из написанного...

B
На сайте с 10.11.2004
Offline
11
#66

Моё мнение, как новичка, лучше иметь словарь, чем хэшировать

по 2 причинам

1. просто не теребить всю базу в поиске савподений, а для начало посмотреть есть ли это в словаре(в отдельной таблице)

2. так можно реализовавать "не точный поиск" а с хашами можно и не пытатся

lagif
На сайте с 15.12.2004
Offline
30
#67

bloodhound,

Что по второму пункту? Можно ведь к норм. форме слово приводить...

B
На сайте с 10.11.2004
Offline
11
#68

ладно, допустим у вас один сайт, с двумя языками, английский русский, можно конечно преводить в нф, но в моей ситуация языков немного больше 3, да и перевод в нф это тоже время нужно а время деньги... да и что вы будите делать с пунктуацией ? тиипа №%№;:*;%ЕПЗ

lagif
На сайте с 15.12.2004
Offline
30
#69

bloodhound,

А что с ней надо делать? Оставить ее в покое...

ну, я так смотрю на вещи...

S
На сайте с 06.04.2005
Offline
1
#70

Речь ведь идет о хешировании в рамках индексирования/поиска?

Тогда мне кажется, Вы (ladif) допускаете небольшую ошибку. Слово не есть единица индексации. Единица индексации - это как минимум документ, а чаще - множество документов. Поэтому Вам никогда не придется вставлять в индекс по одному слову. Вам надо будет слить списки, а для этой цели достаточно как-нибудь отсортировать ключи (можно лексикографически - по крайней мере Вам самой будет удобнее читать).

Что же касается поиска, то есть извлечения информации по ключу, то любая более менее нормальная организация ключей сойдет. В поисковой системе операции со ссылками занимают гораздо больше времени, чем непосредсвенное извлечение ссылок. Можно и деревья.

А норм. форм у слова может быть несколько. Чтобы избежать проблем, лучше наряду с норм. формой(ами) слова хранить и оригинальную.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий