Алгоритм, использующий soundex()или метафон()для создания фраз в стиле Mad Gab

Я пытаюсь создать алгоритм, который будет предлагать фразы в стиле Mad Gab .

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

  • переборе фраз (посимвольно)
    • если найдено ключевое слово
      • хранить ключевое слово и ветвь (рекурсия)
    • увеличивать количество символов

Однако проблемы, с которыми я сталкиваюсь, это:

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

Лучше всего я знаком с PHP и MySQL. Однако я открыт для другой технологии, если она обеспечивает лучшее решение.

Меня также интересуют любые дополнительные предложения. В частности, способы использования второго параметра metaphone(), чтобы сделать более сложные предложения.

14
задан Jason McCreary 23 March 2012 в 18:35
поделиться