Randomly extract non-overlapping sets
Generate content for a word game. Input is data about relations (A-to-B strength). Output is distant relationships.
For example:
GOOD: apple, airplane, dog, house
BAD: banana, cherry, peach, strawberry.
You do NOT need to speak very much English. This is purely data.
I have two source files. A list of ranked relationships between words, and a separate list of words which may be in the first file. This is real English word data, similar to a thesaurus. https://www.powerthesaurus.org/
Task is to randomly output sets of lines from the 2nd file, which are NON-overlapping concepts.
An ideal algorithm would create a multidimensional mesh, and then randomly extract distant nodes. I don't know how to do that. i.e. output sets of words which are all distant in vector space. See: https://dzone.com/articles/introduction-to-word-vectors
A non-ideal algorithm would randomly pull lines from file 2, measure similarity to other output lines, if dissimilar, keep and remove from file 2. If a line in file 2 is similar to too many test lines, remove it and return to file 2. i.e. a "bag of coins", and you keep randomly testing/replacing coins so they are all different.
No word pair should be more than 0.3 similar; and the total similarity of all words between sets should be <0.5.
Preferred programming language is: ruby, perl, python.
Two input files:
A) relations.txt
#aaa [syn]: aab | aac; [syn-score]: 100.0 | 8.0;
#aab [syn]: aaa | aac; [syn-score]: 75.0 | 5.0;
#bbb [syn]: bba | bbc; [syn-score]: 50.0 | 4.3;
#bba [syn]: bbb | bbc; [syn-score]: 150.0 | 1.2;
#ccc [syn]: ccd | ccz; [syn-score]: 150.0 | 0.4;
... etc.
B) lists.txt
#aaa = aab | aac
#bbb = bbd | bba
#bba = bbd | bbx
#ccc = cca | ccz
#cca = ccd | cce
#ddd = dda | ddb
... etc.
The real file A is 300+ MB, with 855k lines.
The real file B is ~15k lines.
I will want to be able to set N, number of sets; and Y number of packs. N will typically be around 25 sets; and Y will likely be 1000 packs.
Output, with N=2:
#aaa = aab | aac
#cca = ccd | cce
#bbb = bbd | bba
#ddd = dda | ddb
#bba = bbd | bbx
#ccc = cca | ccz
Output, with N=3:
#aaa = aab | aac
#ccc = cca | ccz
#bba = bbd | bbx
#bbb = bbd | bba
#ddd = dda | ddb
#cca = ccd | cce
Актуальные фриланс-проекты в категории Веб-программирование
Создание или корректировка сайта на opencartВсем привет! Предварительная ситуация для понимания: Заказал разработку сайта у Templatemonsters. Заранее согласовал ТЗ и купил у них шаблон. В итоге не соблюдены дэдлайны и вообще в итоге написали, что не могут сделать так, как согласовали. Хостинг купил по их рекомендации у… Веб-программирование, Интернет-магазины и электронная коммерция ∙ 7 часов 18 минут назад ∙ 9 ставок |
Разработка AI мобильного приложения детских сказокИщу опытного разработчика или команду для создания мобильного приложения с искусственным интеллектом, которое будет генерировать короткие, добрые и возрастные сказки для детей простой, красивый и безопасный продукт, где родитель за пару минут может создать персональную сказку… AI и машинное обучение, Веб-программирование ∙ 8 часов 20 минут назад ∙ 21 ставка |
Betting нужно сделать букмекерскую контору! С ОПЫТОМНужно разработать betting-платформу / букмекерский продукт на базе готового шаблона. Основная задача — адаптировать шаблон под полноценную букмекерскую контору: подключить парсинг спортивных событий и коэффициентов, реализовать личный кабинет пользователя, баланс, ставки,… Python, Веб-программирование ∙ 8 часов 26 минут назад ∙ 16 ставок |
Переводчик для вордпресс.Нужно перевести сайт вордпресс c wocommerce на 30 языков. Плагин для удобного автоматического перевода. Что бы не прокликивать каждую страницу для переводов и каждый товар. Что бы делать исключения на определенные фразы. Можно было корректировать перевод. Автоматичесий перевод… Веб-программирование, Создание сайта под ключ ∙ 8 часов 56 минут назад ∙ 13 ставок |
Правки для сайта на OpencartСайт veselkatm.com.ua на Опенкарт Version 3.0.3.8 1) Доработать корзину Сделать способы доставки: -Укрпочта -Новая почта Установить и настроить модули, чтобы все корректно работало Сделать способы оплаты: -Наложенный платеж -На счет -На карту 2) Установить и настроить… CMS, Веб-программирование ∙ 11 часов 56 минут назад ∙ 39 ставок |