Базовый дизайн LittleWhiteOne

машинное обучение

LittleWhite One

Новая версия Xiaobai, реализованная с помощью фреймворка magic chatterbot~

Введение

  • ядро: базовая структура, волшебная версия болтающего бота
  • корпус: английский и китайский учебный корпус
  • nltk_data: используемый набор данных nltk

Алгоритм подобия текста

  • LevenshteinDistance
  • SpacySimilarity
  • JaccardSimilarity

Алгоритм расстояния Левенштейна

Китайское название: расстояние Левенштейна Использованная литература:Итак, Wikipedia.org/wiki/leven…

Расстояние Левенштейна – это понятие, которое характеризует или измеряет степень различия между двумя строками. Взяв в качестве примера слова "котенок" и "сидеть", оно определяется как три стандартных метода редактирования: замена, вставка и удаление для устранения этих двух Для различия между словами , расстояние Левенштейна увеличивается один раз после каждого стандартного метода редактирования, и котенку нужно пройти через 2 замены и 1 вставку новых символов, чтобы получить слово «сидит», поэтому так называемое расстояние Левенштейна должно быть равно 3. По определению, расстояние пропорционально степени непохожести строк.

определение: Расстояние Левенштейна между двумя строками a, b

Расстояние редактирования — это основной алгоритм измерения сходства текста в НЛП. Его можно использовать как одну из важных функций задач на сходство текста. Его можно применять ко многим аспектам, таким как проверка орфографии, проверка дублирования бумаги и анализ последовательности генов. Однако очевидны и его недостатки: алгоритм вычисляет исходя из структуры самого текста, и нет возможности получить информацию на семантическом уровне.

Алгоритм SpacySimilarity

SpacySimilarity относится к методу расчета семантического сходства.

Использованная литература:Из-за боязни участия.IO/API/doc/#4…

Векторы слов предложений усредняются для получения семантического представления предложения, а затем вычисляется косинусное сходство семантических представлений двух предложений.

Алгоритм JaccardSimilarity

Использованная литература:En. Wikipedia.org/wiki/J ACCA позволяет…

Для двух множеств A, B коэффициент Жаккара определяется как отношение размера пересечения A и B к размеру объединения A и B, определяемому следующим образом:

Когда оба множества A и B пусты, J(A,B) определяется как 1.

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

todo

Оптимизация алгоритма

  • Попробуйте несколько других методов вычисления схожести текста на основе векторов слов:
    • Вычислить сходство, используя среднее значение векторов слов
    • Word vector tfidf расчет средневзвешенного сходства
    • Взвешивание векторов слов — PCA для вычисления подобия
  • Вычислить семантическое сходство предложений на основе глубокого обучения

оптимизация обучения

  • Обучение с новым корпусом большой емкости
  • Доступ к tai для извлечения корпуса чата
  • В сочетании с двойным движком LittleWhite v3 для обучения диалогу с пользователем