:: Не фоксом единым
Про работу со словарями, но без флема
Вячеслав Клепинин
Автор

Сообщений: 1597
Откуда: Санкт-Петербург
Дата регистрации: 26.03.2004
Привет всем!

Господа! Может, кто нибудь из Вас занимался словарями? Хочу посоветоваться.
На фирме обрабатывается большое количество рекламных и информационных статей. Каждая статья либо вводится оператором, либо сканируется и обрабатывается Fine Reader'ом. В ASCII формате всё хранится в БД. В тексте каждой статьи программа должна находить ключевые слова, на основании которых определяется привязка к определённым категорим (их много).
Пока только задумка, но полагаю делать так:
1. Создаю три словарных таблицы: "Общий словарь", "Ключевые слова" и "Мусор"
2. "Общий словарь" содержит все возможные слова (существительные) во всех возможных склонениях.
3. "Ключевые слова" - это список слов (существительных) в именительном падеже.
4. "Мусор" - слова, не являющиеся существительными

Таблицы "Ключевые слова" и "Общий словарь" соотносятся как "один-ко-многим".

При разборе текста статьи сначала проверяется правописание (используется глоссарий MS WORD), затем просматривается таблица "Мусор" и отбрасываются все ненужные слова. Далее оставшиеся слова ищем в таблице "Общий словарь" и определяем соотнесённые с ними слова в таблице "Ключевые слова", на которые и делаем ссылки из статьи. Таким образом, каждая статья будет привязана к определённым ключевым словам (соответственно, через промежуточную таблицу индексов) и категориям.

Учитывая, что словарный запас журналистов и рекламодателей не превышает 1000 слов, размер таблиц должен быть не очень уж большим.

А теперь вопрос. Как понятно из вышеизложенного, таблица "Общий словарь", помимо собственного ID, должна быть проиндексирована и по словам. Размер CDX получается несколько больше самого DBF... Но скорость поиска по SEEK приемлемая. Существует ли некий алгоритм или методика, которая позволяла бы сразу определять ключевое слово, без использования таблицы "Общий словарь"? Например, выделять корень слова или как-то ещё?

Хотел сначала поместить это в основной форум, но потом решил сюда... Вопрос вроде и не совсем по фоксу...
Заранее спасибо.
Ratings: 0 negative/0 positive
Re: Про работу со словарями, но без флема
Равиль

Сообщений: 6549
Откуда: Уфа
Дата регистрации: 01.08.2003
Мнение - если такой алгоритм и существует, то не обойдется он без дополнительных таблиц с правилами и исключениями для расщепления слов на корни и другие части - уж больно он Велик и Могуч ... Думаю лучше оставить как есть Ваш подход.




------------------
Тяжело согнать курсором муху с монитора ...
Ratings: 0 negative/0 positive
Re: Про работу со словарями, но без флема
borman

Сообщений: 11046
Откуда: Москва
Дата регистрации: 29.07.2004

"Лучшее - враг хорошего"!
Согласен с Равилем. Вроде и так не плохо реализованно......
Ratings: 0 negative/0 positive
Re: Про работу со словарями, но без флема
PaulWist

Сообщений: 14618
Дата регистрации: 01.04.2004
Предложенный принцип известен (Солженицын "В круге первом"), насколько я помню там был ещё "Словарь синонимов" (как это прикрутить к задаче - не знаю).
По поводу морфологии слова, в принципе приставки, суфиксы, окончания итп известны и являются числом конечным, весь вопрос заключается - на каком этапе производить синтаксический разбор, каким образом происходит заполнение словарей (автоматически или интерактивно). Вообщем, необходимо описать принцип перевода разнородных документов в "человеческий" (фоксовый) вид.




------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Про работу со словарями, но без флема
Петров Андрей

Сообщений: 2506
Откуда: Химки (М.О.)
Дата регистрации: 17.04.2002
А может быть копнуть в сторону использования Lingvo как Com сервера? И не изобретать велосипед...
Ratings: 0 negative/0 positive
Re: Про работу со словарями, но без флема
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Hi, Вячеслав!

Думаю стоит всё-же делать на синтаксическом анализе - т.е. не хранить все
словоформы, а только "корни", но вот структура тогда должна как-то учитывать
и всякую прочую инфу - типа род слова - чтоб можно было генерить
словоформы...
Также если проект серьёзен, то очень советую почитать теорию - в частности
про тезаурусы, синтаксические анализаторы, нечёткий поиск и т.п.
P.S. Вообще возник интересный вопрос - а сколько примерно стоит такая
система (AFAIK на поисковых серверах как раз нечто подобное используется).
P.P.S. Кстати как быть с омографами? Вроде как слово одно, а реально
значений куча? Как быть с синонимами? Переложить на юзера все эти заботы (ну
типа ищешь "автомобиль" - ищи заодно и "машину")...




------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Про работу со словарями, но без флема
Вячеслав Клепинин
Автор

Сообщений: 1597
Откуда: Санкт-Петербург
Дата регистрации: 26.03.2004
Спасибо всем ответившим. В общем, дело ясное, что дело тёмное. Руководство всё пытается объяснить на пальцах...
Буду думать в свете предложенного Вами (и всё за одну зарплату, так как программа для внутреннего пользования).
А сделать надо всё красиво и удобно, так как потом вся эта инфа выкладывается на сайте...
Ratings: 0 negative/0 positive
Re: Про работу со словарями, но без флема
Snick

Сообщений: 5949
Откуда: Москва
Дата регистрации: 21.05.2001
Полностью согласен с Igor Korolyov-нужно почитать теорию. Когда-то достаточно давно мне пришлось решать подобную задачу, ох и намучился помню я пока нашел приемлемое решение.




------------------
www.sngsnick.com

Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 7 (Гостей: 7)

© 2000-2024 Fox Club 
Яндекс.Метрика