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 для обучения диалогу с пользователем