Familia Open Sourceプロジェクトには、ドキュメントトピック推論ツール、セマンティックマッチング計算ツール、および産業用グレードのコーパストレーニングに基づく3つのテーマモデルが含まれています。ユーザーは、テキスト分類、テキストクラスタリング、「使用可能な使用」方法でのパーソナライズされた推奨事項など、さまざまなシナリオの調査と適用を実施することをサポートします。トレーニングテーマモデルの高コストとオープンソーステーマモデルの限られたリソースを考慮すると、産業グレードのコーパストレーニングに基づいて複数の垂直フィールドでテーマモデルを徐々に開き、テーマモデルテクノロジーの科学的研究と実装を支援するために、業界のこれらのモデルの典型的なアプリケーション方法を開きます。 (英語)
最近、パドルハブ1.8でファミリアのLDAモデルを発売しました。データセットによると、LDA_News、LDA_NOVEL、LDA_WEBPAGEに分かれています。
Paddlehubは使用するのに非常に便利であり、LDA_Newsの使用を使用して例を紹介します。
まず、PaddleHubを使用する前に、PaddlePaddle Deep Learning Frameworkをインストールする必要があります。インストールの詳細については、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に含まれているトピックモデルの対応する論文紹介については、関連する論文を参照してください。
業界のトピックモデルのアプリケーションパラダイムは、セマンティック表現とセマンティックマッチングの2つのカテゴリに抽象化できます。
セマンティック表現(セマンティック表現)は、ドキュメントの主題の寸法を減らし、ドキュメントのセマンティック表現を取得します。これらのセマンティック表現は、テキスト分類、テキストコンテンツ分析、CTR予測などのダウンストリームアプリケーションに適用できます。
セマンティックマッチング
テキスト間のセマンティックマッチング度を計算するために、テキストタイプの2つの類似性計算方法を提供します。
より詳細なコンテンツおよび産業用アプリケーションのケースについては、ファミリアウィキを参照してください。上記のアプリケーションのパラダイムをWebに基づいて視覚化する場合は、 Familia-Visualizationを参照できます。
サードパーティの依存関係には、 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
さまざまなシナリオニーズを満たすために、さまざまな分野で複数のテーマモデルを徐々に開きます。
ファミリアのデモには、次の機能が含まれています。
セマンティック表現の計算 トピックモデルを使用して、入力ドキュメントにトピックを推測して、ドキュメントのトピック次元削減表現を取得します。
セマンティックマッチング計算により、テキスト間の類似性が計算されます。これには、短いテキストのテキスト、長いテキストのテキストの類似性が含まれます。
モデルコンテンツは、テーマの単語を表示し、モデルの近隣の単語を閉じます。これにより、ユーザーはモデルのテーマを直感的に理解できるようになります。
特定のデモの指示については、使用法のドキュメントを参照してください。
libglog.so、libgflags.soなどの動的ライブラリにエラーがある場合は、環境変数のLD_LIBRARY_PATHにthird_partyを追加してください。
export LD_LIBRARY_PATH=./third_party/lib:$LD_LIBRARY_PATH
シンプルなFMMワードセグメンテーションツールは、テーマモデルに表示される語彙リストとのみ一致するコードに組み込まれています。単語セグメンテーションとセマンティックの精度には高い要件がある場合は、商用ワードセグメンテーションツールを使用して、カスタムワードリストの関数を使用してテーマモデルに単語リストをインポートすることをお勧めします。
質問やバグレポートをGitHubの問題に送信することをお勧めします。または、baidu.comで{family}に相談メールを送信します
docker run -d
--name familia
-e MODEL_NAME=news
-p 5000:5000
orctom/familia
model_nameはnews / novel / webpage / weboの1つになることができます
http://localhost:5000/swagger/
次の記事では、ファミリアプロジェクトとトピックモデリングを搭載した産業事例について説明しています。ウェブサイトの中国の文書を束ねて翻訳します。この記事をデフォルトとして引用することをお勧めします。
Di Jiang、Yuanfeng Song、Rongzhong Lian、Siqi Bao、Jinhua Peng、Huang He、Hua Wu。 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}
}
さらなる読書:フェデレーショントピックモデリング
ファミリアは、BSD-3-Clauseライセンスの下で提供されます。