Распознавание темы документа
От: АVА  
Дата: 30.06.04 12:26
Оценка:
Народ! Есть у кого реализация алгоритма распознавания темы документа, или какие нить соображения на эту тему?
Re: Распознавание темы документа
От: shurik13 Россия  
Дата: 30.06.04 19:57
Оценка:
АVА>Народ! Есть у кого реализация алгоритма распознавания темы документа, или какие нить соображения на эту тему?

Уточни, что именно ты хочешь.
Распознание, к какой из заданных заранее тем документ ближе?
Выделение основных тем документа (ведь их явно не одна), используя готовые иерархии тем?
Выделение основных тем документа вообще без предварительной информации?

А также, на каком языке хочется это делать (большинство решений в той или иной степени языкозависимы)?

P.S. А вообще, это большая тема, ищи по ключу text mining. Я диплом писал по некоторым ее отголоскам.
... << RSDN@Home 1.1.3 stable >>
---
Александр Ющенко
Re[2]: Распознавание темы документа
От: АVА  
Дата: 01.07.04 06:11
Оценка:
Здравствуйте, shurik13, Вы писали:

S>Уточни, что именно ты хочешь.


S>А также, на каком языке хочется это делать (большинство решений в той или иной степени языкозависимы)?


S>P.S. А вообще, это большая тема, ищи по ключу text mining. Я диплом писал по некоторым ее отголоскам.


В принципе распознавание темы используя базу знаний и веса я представляю себе реализацию, а вот как быть с теми темами, которые отсутствуют в БД — это пожалуй основной вопрос. В теории я понимаю что надо использовать лингвистские заморочи, но всё это очень сильно крышу сносит, хотелось бы что-нить конкретное и эффективное.
Реализация желательна на Delphi. ИБД на SQL Server, транспорт ADO.
Re[3]: Распознавание темы документа
От: shurik13 Россия  
Дата: 01.07.04 09:29
Оценка: +1
S>>Уточни, что именно ты хочешь.
АVА>В принципе распознавание темы используя базу знаний и веса

А база знаний уже есть, или ее хочется "как-нибудь по ходу получить"?

АVА>я представляю себе реализацию, а вот как быть с теми темами, которые отсутствуют в БД — это пожалуй основной вопрос.


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

Ближе к существу вопроса. Если все-таки попытаться на него ответить, ответ будет звучать как "что хочешь, то и делай".
Можно выделить принципиально два пути.
Первый — наиболее простой: постулировать, что у нас есть уже достаточно хорошая база знаний, и ограничится ей. То есть, считать, что тем вне ее просто не существует (ведь тема, как ты, наверно, понимаешь, понятие очень относительное).
Второй — называя вещи своими именами, пытаться дополнять базу знаний в процессе анализа (при этом не важно, будем ли мы сохранять результаты для других текстов или делать это для одного отдельно взятого). Эта область уже намного сложнее, и ничего путного без погружения с головой в лингвистику, боюсь, не получится. Разве что поступить как Oracle — объявлять новой темой любое неизвестное часто встречающееся слово, что не шибко информативно.

АVА>В теории я понимаю что надо использовать лингвистские заморочи, но всё это очень сильно крышу сносит, хотелось бы что-нить конкретное и эффективное.

АVА>Реализация желательна на Delphi. ИБД на SQL Server, транспорт ADO.

Если не секрет, а откуда корни растут? В смысле, откуда интерес?
Просто подавляющее большинство разработок в этой области коммерческие, за них денег хотят (и зачастую немалых).
Сам я год назад использовал Oracle 9i, пакет Oracle Text. У него есть английский тезаурус и он умеет выделять из английского текста темы с весами. Правда, делает он это весьма посредственно по описанной выше причине, однако это единственное, что у меня оказалось в тот момент под рукой.
... << RSDN@Home 1.1.3 stable >>
---
Александр Ющенко
Re[4]: Распознавание темы документа
От: АVА  
Дата: 01.07.04 09:57
Оценка:
S> Второй — называя вещи своими именами, пытаться дополнять базу знаний в процессе анализа (при этом не важно, будем ли мы сохранять результаты для других текстов или делать это для одного отдельно взятого). Эта область уже намного сложнее, и ничего путного без погружения с головой в лингвистику, боюсь, не получится. Разве что поступить как Oracle — объявлять новой темой любое неизвестное часто встречающееся слово, что не шибко информативно.

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

S> Если не секрет, а откуда корни растут? В смысле, откуда интерес?

S> Просто подавляющее большинство разработок в этой области коммерческие, за них денег хотят (и зачастую немалых).
S> Сам я год назад использовал Oracle 9i, пакет Oracle Text. У него есть английский тезаурус и он умеет выделять из английского текста темы с весами. Правда, делает он это весьма посредственно по описанной выше причине, однако это единственное, что у меня оказалось в тот момент под рукой.

На работе задолбали входящие документы разношерстные, просматривать всё вподряд нет времени, вот я и хочу ввести некий набор интересующих меня тем...(это в примитиве), кое что уже сделал
Re[5]: Удачи!
От: shurik13 Россия  
Дата: 01.07.04 17:43
Оценка:
АVА>На работе задолбали входящие документы разношерстные, просматривать всё вподряд нет времени, вот я и хочу ввести некий набор интересующих меня тем...(это в примитиве), кое что уже сделал

А для такой задачи не достаточно поиска по сотне ключевых слов?
Или это больше для души?
---
Александр Ющенко
Re[6]: Удачи!
От: АVА  
Дата: 02.07.04 10:43
Оценка:
АVА>>...вот я и хочу ввести некий набор интересующих меня тем...(это в примитиве), кое что уже сделал

S>А для такой задачи не достаточно поиска по сотне ключевых слов?

S>Или это больше для души?

Достаточно, но темы не постоянны и имеют свойство видоизменяться и образовываться навые, а набивать ключи к каждой теме ИМХО геморойно получится, проще просмотреть документ
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.