Проект Familia с открытым исходным кодом включает в себя инструменты вывода темы документов, инструменты расчета семантического сопоставления и три модели темы, основанные на обучении корпуса промышленного класса: скрытое распределение Dirichlet (LDA), SERNENCELDA и актуальное встраивание слов (TWE). Он поддерживает пользователей для проведения исследований и применения различных сценариев, таких как классификация текста, кластеризация текста и персонализированная рекомендация по «готовому использованию». Учитывая высокую стоимость моделей тематических тематических тем и ограниченных ресурсов для моделей тематического исходного кода, мы постепенно откроем модели темы в нескольких вертикальных областях на основе обучения корпуса промышленного уровня, а также типичных методов применения этих моделей в отрасли, чтобы помочь научным исследованиям и внедрению технологии тематических моделей. ( Английский )
Недавно мы запустили модель LDA в Familia в Paddlehub 1.8. Согласно набору данных, он разделен на LDA_NEWS, LDA_NOVEL и LDA_WEBPAGE.
PaddleHub очень удобен в использовании, и мы будем использовать использование LDA_NEWS для представления примера.
Прежде всего, перед использованием PaddleHub вам нужно установить платформу глубокого обучения PaddlePaddle. Для получения дополнительных инструкций по установке, пожалуйста, обратитесь к быстрой установке PaddlePaddle.
Установите PaddleHub: pip install paddlehub
Установка модели LDA_NEWS: hub install lda_news
Конкретное использование:
import paddlehub as hub
lda_news = hub . Module ( name = "lda_news" )
jsd , hd = lda_news . cal_doc_distance ( doc_text1 = "今天的天气如何,适合出去游玩吗" , doc_text2 = "感觉今天的天气不错,可以出去玩一玩了" )
# jsd = 0.003109, hd = 0.0573171
lda_sim = lda_news . cal_query_doc_similarity ( query = '百度搜索引擎' , document = '百度是全球最大的中文搜索引擎、致力于让网民更便捷地获取信息,找到所求。百度超过千亿的中文网页数据库,可以瞬间找到相关的搜索结果。' )
# LDA similarity = 0.06826
results = lda_news . cal_doc_keywords_similarity ( '百度是全球最大的中文搜索引擎、致力于让网民更便捷地获取信息,找到所求。百度超过千亿的中文网页数据库,可以瞬间找到相关的搜索结果。' )
# [{'word': '百度', 'similarity': 0.12943492762349573},
# {'word': '信息', 'similarity': 0.06139783578769882},
# {'word': '找到', 'similarity': 0.055296603463188265},
# {'word': '搜索', 'similarity': 0.04270794098349327},
# {'word': '全球', 'similarity': 0.03773627056367886},
# {'word': '超过', 'similarity': 0.03478658388202199},
# {'word': '相关', 'similarity': 0.026295857219683725},
# {'word': '获取', 'similarity': 0.021313585287833996},
# {'word': '中文', 'similarity': 0.020187103312009513},
# {'word': '搜索引擎', 'similarity': 0.007092890537169911}]Более конкретный метод введения и использования можно найти здесь: https://www.paddlepaddle.org.cn/hublist?filter=en_category&value=semanticmodel
Для соответствующей статьи введения тематической модели, включенной в настоящее время в Familia, пожалуйста, обратитесь к соответствующим документам.
Парадигма приложений тематических моделей в промышленности может быть абстрактна в две категории: семантическое представление и семантическое сопоставление.
Семантическое представление (семантическое представление) уменьшает размеры предмета документа и получает семантические представления документа. Эти семантические представления могут быть применены к нижним приложениям, таким как классификация текста, анализ контента текста и прогноз CTR.
Семантическое соответствие
Чтобы рассчитать степень семантического сопоставления между текстами, мы предоставляем два метода расчета сходства для типов текстов:
Для получения более подробных случаев содержания и промышленных приложений, пожалуйста, обратитесь к Familia Wiki . Если вы хотите визуализировать приведенную выше парадигму приложения на основе Интернета, вы можете обратиться к семейной визуализации .
Сторонние зависимости включают gflags-2.0 , glogs-0.3.4 , protobuf-2.5.0 , а также требуют, чтобы компилятор поддерживал C ++ 11, g++ >= 4.8 и совместима с операционными системами Linux и Mac. По умолчанию выполнение следующего скрипта автоматически получит зависимости и установит их.
$ sh build.sh # 包含获取并安装第三方依赖的过程
$ cd model
$ sh download_model.sh
Мы постепенно откроем несколько тематических моделей в разных областях, чтобы удовлетворить более разные потребности сценария.
Демонстрация в Familia включает в себя следующие функции:
Расчет семантического представления Используйте тематическую модель, чтобы вывести темы для входного документа, чтобы получить представление о сокращении размерности темы документа.
Расчет семантического сопоставления рассчитывает сходство между текстами, включая сходство между коротким текстом текстом, длинным текстом.
Содержание модели отображает слова и близкие соседские слова модели, что облегчает пользователям интуитивное понимание темы модели.
Для конкретных демонстрационных инструкций, пожалуйста, обратитесь к документации об использовании.
Если в динамических библиотеках есть ошибка, такие как Libglog.so, libgflags.so и т. Д., Пожалуйста, добавьте Third_party в LD_LIBRARY_PATH переменной среды.
export LD_LIBRARY_PATH=./third_party/lib:$LD_LIBRARY_PATH
Простой инструмент сегментации слов FMM встроен в код, который только в прямом эфире соответствует спискам словарного запаса, которые появляются в модели темы. Если существуют более высокие требования к сегментации слов и семантической точности, рекомендуется использовать коммерческий инструмент сегментации слов и использовать функцию пользовательского списка слов для импорта списка слов в модели темы.
Добро пожаловать, чтобы отправить любые вопросы и отчеты об ошибках в проблемы GitHub. Или отправьте консультационное письмо в {Family} на baidu.com
docker run -d
--name familia
-e MODEL_NAME=news
-p 5000:5000
orctom/familia
Model_name может быть одной из news / novel / webpage / webo
http://localhost:5000/swagger/
В следующей статье описываются проект Familia и промышленные случаи, основанные на тематических моделировании. Он объединяет и переводит китайскую документацию веб -сайта. Мы рекомендуем ссылаться на эту статью по умолчанию.
Ди Цзян, Юанфенг Сонг, Ронгхонг Лиан, Сики Бао, Джинхуа Пэн, Хуан Х. Х., Хуа Ву. 2018. Familia: настраиваемая структура моделирования темы для промышленного текстового проектирования. Arxiv Preprint arxiv: 1808.03733.
@article{jiang2018familia,
author = {Di Jiang and Yuanfeng Song and Rongzhong Lian and Siqi Bao and Jinhua Peng and Huang He and Hua Wu},
title = {{Familia: A Configurable Topic Modeling Framework for Industrial Text Engineering}},
journal = {arXiv preprint arXiv:1808.03733},
year = {2018}
}
Дальнейшее чтение: федеративное моделирование темы
Familia предоставлена по лицензии BSD-3-CLAUSE.