1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/baidu-familia

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 8.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 13:17 9431f15

Familia: открытый исходный код проекта для тематического моделирования

Проект Familia включает в себя инструменты для определения темы документа, инструменты семантического сопоставления и три модели тем на основе промышленных данных: Latent Dirichlet Allocation (LDA), SentenceLDA и Topical Word Embedding (TWE). Эти инструменты позволяют пользователям проводить исследования и применять их в различных сценариях, таких как классификация текста, кластеризация текста и персонализированные рекомендации.

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

Новости!

Недавно мы выпустили модель LDA в PaddleHub версии 1.8. Модель LDA разделена на lda_news, lda_novel и lda_webpage в зависимости от набора данных.

PaddleHub очень прост в использовании. Мы приведём пример использования lda_news.

  1. Сначала необходимо установить PaddlePaddle, фреймворк глубокого обучения. Подробные инструкции по установке можно найти на сайте.
  2. Установите Paddlehub с помощью команды pip install paddlehub.
  3. Установите модель lda_news с помощью команды hub install lda_news.
  4. Конкретное использование:
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. Если вы хотите визуализировать эти приложения на веб-странице, см. Familia-Visualization.

Компиляция кода

Зависимости включают gflags-2.0, glogs-0.3.4, protobuf-2.5.0. Компилятор должен поддерживать C++11, g++ >= 4.8 и работать на Linux или Mac. По умолчанию скрипт 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 Issues. Или отправьте запрос по электронной почте в { familia } at baidu.com

Docker

docker run -d \
    --name familia \
    -e MODEL_NAME=news \
    -p 5000:5000 \
    orctom/familia

MODEL_NAME может быть одним из news/novel/webpage/webo

API

http://localhost:5000/swagger/

Цитирование

Следующая статья описывает проект Familia и промышленные случаи, основанные на тематическом моделировании. Она объединяет и переводит китайскую документацию сайта. Рекомендуется цитировать эту статью по умолчанию.

Di Jiang, Yuanfeng Song, Rongzhong Lian, Siqi Bao, Jinhua Peng, Huang He, Hua Wu. 2018. [Familia: A Configurable Topic Modeling Framework for Industrial Text Engineering][8]. arXiv preprint arXiv:1808.03733.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/baidu-familia.git
git@api.gitlife.ru:oschina-mirror/baidu-familia.git
oschina-mirror
baidu-familia
baidu-familia
master