Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Анализ текста на SQL / 10 сообщений из 10, страница 1 из 1
03.04.2006, 13:04
    #33640931
Iura
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ текста на SQL
Привет всем!

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

1.По какому принципу выделять предложения из текста? (Мое предположение что предложение на любом языке, включая и слэнг будет заканчиватся . или ! или ? или максимальный размер предложение не должен первышать более 4000 символов. В случае если не выполняется ни одно условие, то - ошибка. Оператор должен будет подправить исходный текст)


2. По какому принципу выделять слова из предложения? (Мой вариант, сначала из предложения выделить слова, которые находятся между пробелами. Потом каждое слово проверить, содержит ли он спец символы (точку, запятую и так далее). если да то проверит эти слова в списке зарезервированных слов что для данного слова такое написание допустимо. если нет то просто разбить слово на части до и после спец символов.)

3. Я также заинтерсован анализировать слэнги, укороченые слова и сокращения. Например: - :) данная комбинция должна считаться одним словом.

Надеюсь услышать дельные советы.

Юрий
...
Рейтинг: 0 / 0
03.04.2006, 13:39
    #33641063
рубль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ текста на SQL
IuraЮрийвам нуна по синтаксис/ликсемному анализу почитать чего нить...
а то долго советы довать нуна.
...
Рейтинг: 0 / 0
03.04.2006, 14:00
    #33641127
Серега
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ текста на SQL
IuraПишу программу на SQL...
Это невозможно.
...
Рейтинг: 0 / 0
03.04.2006, 14:20
    #33641184
Iura
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ текста на SQL
рубльвам нуна по синтаксис/ликсемному анализу почитать чего нить...
а то долго советы довать нуна.

А он привязан к конкретному языку? Мне нужно сделать универсальный анализатор.
...
Рейтинг: 0 / 0
03.04.2006, 15:05
    #33641347
Jimmy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ текста на SQL
Схожая (под)задача решается здесь (см. принципы и ER диаграмму) - тыНц
...
Рейтинг: 0 / 0
03.04.2006, 16:39
    #33641662
shuklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ текста на SQL
IuraМне нужно сделать универсальный анализатор.
А обязательно ли брать именно SQL? Может быть что то в духе http://www.shuklin.com/ai/ht/ru/ai00008f.aspx или http://www.shuklin.com/ai/ht/ru/cerebrum/lessons/Cerebrum.Samples.Objects-01.aspx ?
...
Рейтинг: 0 / 0
04.04.2006, 10:16
    #33642657
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ текста на SQL
IuraПривет всем!

Пишу программу на SQL для статистического анализа любого языка (русский, английский, турецкий, немецкий и так далее).

Не тот вы язык выбрали для этого. Это вам LISP или Schema надо, или еще чего-то такое. На SQL вообще программировать невозможно, поскольку это не язык программирования. Строго говоря, на нем нельзя реализовать машину Тьюринга, т.е. нельзя реализовать какой-то алгоритм. Вам придется использовать расширения SQL, предоставляемые конкретной СУБД.

Можно конечно (и видимо нужно) использовать БД для хранения слов, структур языка и т.п., но алгоритмы на SQL писать не надо.
...
Рейтинг: 0 / 0
04.04.2006, 10:24
    #33642683
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ текста на SQL
MasterZivНе тот вы язык выбрали для этого. Это вам LISP или Schema надо
Для статистического анализа-то? Schema не знаю, а LISP я бы для этого не советовал, в то время как SQL почти идеален. С понятными оговорками.

Другой вопрос, что я бы не стал писать на sql-

, или еще чего-то такое. На SQL вообще программировать невозможно, поскольку это не язык программирования. Строго говоря, на нем нельзя реализовать машину Тьюринга, т.е. нельзя реализовать какой-то алгоритм. Вам придется использовать расширения SQL, предоставляемые конкретной СУБД.

Можно конечно (и видимо нужно) использовать БД для хранения слов, структур языка и т.п., но алгоритмы на SQL писать не надо.[/quot]
...
Рейтинг: 0 / 0
04.04.2006, 10:29
    #33642700
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ текста на SQL
пардон, неудачно задел клавиатуру

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

Применимость теории компиляторов для анализа текстов на естественном языке - интересная область. В принципе естественная мысль, но со своими засадами. Я не уверен, что автору будет оптимален именно такой подход; имхо он нужен, если объектом анализа является, например, структура фраз. Конечно, можно попробовать парсить текст лексическим анализатором, но тут не все однозначно - скажем, как различать дефис и тире? Правда, и в ЯП есть аналогичная проблема - в частности, замечательный пример корректного кода на PL/1:

Код: plaintext
if then = else then else = if else if = then
...
Рейтинг: 0 / 0
04.04.2006, 23:52
    #33644878
VladiCh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ текста на SQL
softwarerпардон, неудачно задел клавиатуру

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

Применимость теории компиляторов для анализа текстов на естественном языке - интересная область. В принципе естественная мысль, но со своими засадами. Я не уверен, что автору будет оптимален именно такой подход; имхо он нужен, если объектом анализа является, например, структура фраз. Конечно, можно попробовать парсить текст лексическим анализатором, но тут не все однозначно - скажем, как различать дефис и тире? Правда, и в ЯП есть аналогичная проблема - в частности, замечательный пример корректного кода на PL/1:

Код: plaintext
if then = else then else = if else if = then

Scheme - это диалект LISP'а. Наверное MasterZiv имел в виду его применение для парсинга языка. Сперва, прежде чем браться за такую задачку, надо хорошенько теорию проштудировать, иначе вы наступите много раз на разные грабли и плюс к этому будете изобретать несколько разных велосипедов :). Судя по вопросам автора топика, тут еще непаханное поле. Поищите в гугле на тему "natural language processing", "обработка естественного языка" и т.п. Это в случае, если речь идет о каком-либо учете морфологии, контекста и т.п. Если же это просто тупое разбиение на слова и вычисление сколько раз какое где встречается, то можно это реализовать хоть на SQL.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Анализ текста на SQL / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]