![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: нет Всего: 165 |
А прикол в том что каждый третий захочет помочь нашей системе со словарным запасом...
--------------------
|
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 6 Всего: 360 |
|
|||
|
||||
| chipset |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: нет Всего: 165 |
ИМХО, не следует пока... Пусть просто в топике поживет, а то ещё один мертвый раздел делать... --------------------
|
||||
|
|||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 6 Всего: 360 |
Говорю же, если кто серьёзно решит. Просто помогать я смогу, а ещё один проект тянуть - нет.
Хотя ужасть как хочется |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Давайте пока попробуем накидать общую концепцию, а там посмотрим как и на чем реализовывать. Как вам мое предложени по поводу схемы анализа. У меня пока нет полной ясности по поводу не регистрозависимого анализа, а в остальном вроде вопросов у меня нет.
sergej.z Расскажи поподробнее про "кластерингм документов в последнее время занимаюсь с использованием онтологий. ну и wordprocessings всякие тоже туда принадлежат". А то я только онтологию знаю и то как раздел философии P.S. Поскольку тему начал Се ля ви, предалгю его и назначить крайним за все это дело
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: нет Всего: 165 |
LSD
ИМХО, должен быть словарь матерных слов (бл*) и словарь защищеных слов (гребля, сабля и т.д.). Далее, один из вариантов: определяем последовательность из буквы которые находятся недалеко друг от друга (f_u_c_k), проверяем - соответствует ли словарю защищеных слов и если нет - ... Естественно всё это заоптимизируется и т.д и т.п.. Кстати: предлагаю модераторам снять ограничения на мат в этом топике Это сообщение отредактировал(а) chipset - 22.1.2005, 15:15 --------------------
|
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 6 Всего: 360 |
Как Альтернатива можно пробелы сразу удалять, а потом искать подозрительные корни. Найдя восстанавливать слово, проверять в словаре. |
|||
|
||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: нет Всего: 165 |
sergej.z, а где в твоем алгоритме средства для распознования слов типа: "f^u_c^k"?
Добавлено @ 17:05 Вижу.. --------------------
|
|||
|
||||
| sergejzr |
|
||||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 6 Всего: 360 |
Там много рассказывать Берётся онтология - дерево или граф. Как повезёт. Скорее на хватит просто таксономии, потому что онтологические связи я в алгоритме(пока) не учитываю.
Это очень грубое разделение. В ральной жизни я пытаюс кластеровать мат. и физ. документы. Каждый узел рассматривается ка концепт. для каждого документа создаётся вектор из концептов. v(i)= |поездки|перемещение|проживание|самлёт|поезд|отель|квартира| i - порядковый номер документа Теперь мы пробегаем по документам и изменяем значение компоненты вектора, если находим в тексте подходящее словосочетание. Например "Гостинница Россия" -> v(i)[отель]++ "Ту 154" -> v(i)[самлёт]++ итд. Затем мы редуцируем количество компонентов в векторах хитрым алгоритмом коллег из Karlsruhe. Таким образом сокращаем кол-во измерений в нашем документном пространстве. То, что получилось кластеруем каким нибудь K-means'ом. Вот вкратце и всё Извиняюсь, но я многих терминов по русски не знаю, так что мог где нить чушь написать |
||||
|
|||||
| Се ля ви |
|
||||||||||||||||
![]() Java/SOAрхитектор ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2016 Регистрация: 5.6.2004 Где: place without tim e and space Репутация: 8 Всего: 127 |
Ок, давайте порулю я. :-) sergej.z Схема хорошая. Надо решить, на каких этапах всё делать регэкспами, а где можно и вручную(для быстроты)... Думаю, сначала можно всё сделать регэкспами, а потом какие-то этапы переписывать, оптимизируя. Итак, фазы: 1.
2.
3.
4.
5.
6.
7.
Думаю, это должен быть класс без конструктора и все его медоды должны быть статичными и более того - private`ными, кроме одного, который возвращает уже отфильтрованный текст. В качестве входного параметра можно ему передавать объект JavaBean с библиотекой регэкспов и, собственно, слово, на которое мы заменяем весь мат. JavaBean (не Enterprise, конечно) - в свою очередь может быть интерфейсом к файлу, к БД или вообще наполняться программой извне через setter`ы - это уже как usr`у будет удобней. Какие будут встречные предложения? Прежде всего - относительно того, на каких фазах мы пользуемся RegExp`ами... P.S. sergej.z вот только я не понял - что такое stammer?... Добавлено @ 17:40 Да, собственно, все его методы этого главного класса должны соответствовать фазам. :-) -------------------- |
||||||||||||||||
|
|||||||||||||||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 6 Всего: 360 |
stammer оставляет от слова лишь его корень.
обрезаются приставки и окончания. посмотрим действие на практике... RegExp можно применять в конце не стандартизированный текст. ИМХО в ручную лучше регулировать мелочи можно Добавлено @ 17:56 Надо еще функцию, которая возвращает процент мата в тексте. PS: Сейчас в голову пришло: Заменять мат можно на "Гав, гав" как у старика Хоттабыча |
|||
|
||||
| LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Таким макаром мы исключим весь текс типа: nJIaksa.spb. На мой взгляд надо текст разбить на атомарные единицы: токены. А далее анализировать: если токен состоит из букв одного алфавита, то просто анализировать его, независимо от регистра. Если нет, то надо попробовать его транслитерировать (тут есть над чем поработать). Все возможные варианты транслитерации сохраняются, как возможные варианты толкования токена. А затем они анализируются по словарю. Так же надо анализировать возможные варианты когда сами токены не несут орицательной нагрузки, но вот их последовательность имеет негативный смысл:
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
| sergejzr |
|
||||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 6 Всего: 360 |
По этому в нижний регистр переводится в самом конце. До этого фильтруются знако и буквосочетания. Mы кстати мысленно при чтении делаем так же LSD На практике не знаю, можно ли будет такой анализатор реализовать. Особенно
Я просто боюсь, что такое не реализуется, потому что всем надоест проект до того, как будут интересные результаты. Т.е идею вижу, реализацию концепта - нет. |
||||
|
|||||
| Се ля ви |
|
|||
![]() Java/SOAрхитектор ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2016 Регистрация: 5.6.2004 Где: place without tim e and space Репутация: 8 Всего: 127 |
Мне вот тут вдруг стало непонятно другое - ну перелопатили мы текст, всё вбили в нижний регистр, да ещё и пробелы убрали - отфильстровали мат - и что с этим месивом делать? Это ведь всё восстановить в нормальном виде ещё надо... Это сообщение отредактировал(а) Се ля ви - 23.1.2005, 01:01 -------------------- |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 6 Всего: 360 |
см. пункт 1
каждая буква в стандартизированном массиве соответстует индексу в настоящей мессаге. Его мы запоминаем. Это сделсть очень легко, если например вести параллельный массив. Добавлено @ 01:08 По индексам и находим нехорошие слова. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |