Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Задача про слова

Автор myst, марта 16, 2011, 10:48

0 Пользователи и 1 гость просматривают эту тему.

myst

Это радует, что на форуме столько математиков развелось. :)
Не знаю, к какому разделу математики относится моя задача, поэтому напишу здесь.

Итак, есть некоторое множество слов A, из него необходимо выделить минимальное подмножество B, которое максимально покрывает исходное множество A. Коэффициент покрытия множества равен отношению суммы коэффициентов покрытия всех его слов к количеству слов. Коэффициент покрытия слова равен отношению длины покрытой части слова ко всей длине слова. Часть слова считается покрытой, если она содержится хотя бы в одном слове множества B.
Пример. Множество A: лес, дрова, камень; множество B: лесоповал, камыш.
Покрытия слов:
лес — 1
дрова — 0,6
камень — 0,5
Покрытие множества A = 2,1/3 = 0,7

hurufu

Накладываются ли ограничения на длину слов во множестве B?
Если мышь[tex]\in A[/tex], а камыш[tex]\in B[/tex] то покрытие ξ=0?
Задачу, думаю, можно свести к поиску слогов*. Множество слогов е минимальное множество "слов" которые покрывают остальные слова.


* Или односложных слов, также слоги надо бы включить во множество A.

hurufu

Цитата: myst от марта 16, 2011, 10:48
Это радует, что на форуме столько математиков развелось. :)
Ну ведь матматика и лингвистика — друзья.

myst

Цитата: hurufu от марта 16, 2011, 11:38
Накладываются ли ограничения на длину слов во множестве B?
Нет.

Цитата: hurufu от марта 16, 2011, 11:38
Если мышь[tex]\in A[/tex], а камыш[tex]\in B[/tex] то покрытие ξ=0?
Почему? 0,75

Цитата: hurufu от марта 16, 2011, 11:38
Задачу, думаю, можно свести к поиску слогов.
Сомневаюсь.

Цитата: hurufu от марта 16, 2011, 11:38
Множество слогов е минимальное множество "слов" которые покрывают остальные слова.
Мне надо слова выделить, а не слоги. Да и со слогоделением в русском языке есть проблемы.

myst

Цитата: hurufu от марта 16, 2011, 11:38
* Или односложных слов, также слоги надо бы включить во множество A.
Множество А — исходное множество слов. Оно не изменяемо в рамках задачи.

myst

Стоило выделить в отдельную тему, и всё протухло. :'(

RawonaM

Ну для начала можно сделать брут-форсом: делаешь повермножество (як то по росыйску?), подсчитываешь значения для всех подмножеств. По ходу решения может чего-нибудь интересного выйти.

myst


myst

Я в декабре пошёл по пути нечёткого сравнения, но потом нагрянули праздники, и... Ну ты понял.

RawonaM


hurufu

По поводу брут форса, можно:

  • упорядочить слова по длине
  • каждое слово длины n накладывать на каждое слово длины n+1
  • если слово длины n полностью накладывается на слово длины n+1, то удаляем из списка
  • иначе повторяем пункт 2 для слов длины n+2
  • ???
  • что-то должно выйти


Цитата: myst от марта 16, 2011, 14:51
Входные данные — 18000 слов. Смекаешь? :)
Правда многовато слов для брут форса.

Offtop
Почему тэг list type=decimal не работает?

myst


myst

Цитата: hurufu от марта 16, 2011, 15:13
По поводу брут форса, можно:
упорядочить слова по длине  каждое слово длины n накладывать на каждое слово длины n+1  если слово длины n полностью накладывается на слово длины n+1, то удаляем из списка  иначе повторяем пункт 2 для слов длины n+2  ???  что-то должно выйти
Это слишком грубо. Я использовал q-граммный нечёткий компаратор. На биграммах он выдаёт вполне релевантные коэффициенты подобия. Но для оценки покрытия он не годится. Хотя его алгоритм можно попробовать приспособить для нашей задачи...

hurufu

Цитата: myst от марта 16, 2011, 15:47
Цитата: hurufu от марта 16, 2011, 15:13
По поводу брут форса, можно: ...
Это слишком грубо.
Грубая сила — груба́.

Цитата: myst от марта 16, 2011, 15:47
Я использовал q-граммный нечёткий компаратор.
Это когда слово «камыш» разбивается на «ка-ам-мы-ыш»?

Цитата: myst от марта 16, 2011, 15:47
Хотя его алгоритм можно попробовать приспособить для нашей задачи...
А мне кажется, это только ее усложнит :???.

Покрытие должно быть 100%?

myst

Цитата: hurufu от марта 16, 2011, 20:01
Это когда слово «камыш» разбивается на «ка-ам-мы-ыш»?
Нет, это когда камыш разбивается на ка+ам+мы+ыш.

Цитата: hurufu от марта 16, 2011, 20:01
Покрытие должно быть 100%?
В идеале, да. Но размер множества B должен быть минимальным, поэтому несколькими процентами можно и пожертвовать, если это позволит заметно уменьшить мощность множества B.

myst

Цитата: hurufu от марта 16, 2011, 20:01
А мне кажется, это только ее усложнит :???.
Почему усложнит? Там берётся пересечение множества n-грамм двух слов. А нам надо пересечение множества n-грамм слова из A и объединения множеств n-грамм всех слов из B. Коэффициент покрытия в этом случае равен отношению мощности пересечения к мощности множества n-грамм слова из A.

Квас

Цитата: myst от марта 16, 2011, 10:48
Итак, есть некоторое множество слов A, из него необходимо выделить минимальное подмножество (выделено мной. — К.) B, которое максимально покрывает исходное множество A.
Цитата: myst от марта 16, 2011, 10:48
Пример. Множество A: лес, дрова, камень; множество B: лесоповал, камыш.

Это как это?
Пишите письма! :)

myst

Цитата: Квас от марта 16, 2011, 21:18
Это как это?
Этот пример иллюстрирует сущность покрытия, а не задачу.

Чайник777

Ну всё равно, раз  подмножество, то надо чтоб в примере было:
Множество A: лес, дрова, камень, лесоповал, камыш; множество B: лесоповал, камыш.
DAZU brauchte Hitler 12 Jahre Zeit.

Квас

Коэффициенты покрытия суммируются по A? Если слово имеет две покрытые части, то они обе учитываются для коэффициента?
Пишите письма! :)

myst

Цитата: Квас от марта 16, 2011, 21:28
Коэффициенты покрытия суммируются по A?
Не понял.

Цитата: Квас от марта 16, 2011, 21:28
Если слово имеет две покрытые части, то они обе учитываются для коэффициента?
Да. Совпадения отдельными буквами неинтересны, поэтому минимум биграммы.

Квас

Цитата: myst от марта 16, 2011, 21:31
Цитата: Квас от марта 16, 2011, 21:28
Коэффициенты покрытия суммируются по A?
Не понял.

Ну то есть для каждого слова из A вычисляем коэффициент покрытия словами из B, складываем все числа и делим на число элементов множества A? (В таком случае можно и не делить, потому что A фиксировано.)

Цитата: myst от марта 16, 2011, 10:48
Не знаю, к какому разделу математики относится моя задача, поэтому напишу здесь.

Дискретная математика, кстати.
Пишите письма! :)

RawonaM

Цитата: Квас от марта 16, 2011, 21:34
Дискретная математика, кстати.
Че-то у нас на дискретке ничего такого не видно.

myst

Цитата: Квас от марта 16, 2011, 21:34
Ну то есть для каждого слова из A вычисляем коэффициент покрытия словами из B, складываем все числа и делим на число элементов множества A?
Да.

Цитата: Квас от марта 16, 2011, 21:34
Дискретная математика, кстати.
Да в ней чего только нет. Хотелось что-то более конкретное.

myst

Цитата: RawonaM от марта 16, 2011, 21:39
Че-то у нас на дискретке ничего такого не видно.
Как говорил мой препод по дискретке: «Есть две математики: дискретная и непрерывная». Все задачи либо туда, либо сюда попадают. :)

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр