Colorful Scoop

Chatbots change the world!😉

chat-balloon>

convmodel

会話モデル学習・推論フレームワーク

GitHub PyPI Document

convmodelは、 GPT-2といった transformersデコーダモデル のファインチューニングによる会話モデルの学習・推論フレームワークです。

一般的な会話システムでは事前に返答を用意する必要がありますが、会話の流れは様々であるため用意は予想以上に難しいものです。
convmodelでは、あらかじめ用意した返答を返すのではなく、会話の流れに応じてその場で適切な返答を生成するモデルを採用しています。

シンプルなインターフェースでマルチターンの会話を実現します。

>>> from convmodel import ConversationModel
>>> model = ConversationModel.from_pretrained("model")
>>> model.generate(context=["こんにちは", "こんにちは!お元気ですか?"], do_sample=True, top_p=0.9, top_k=50)
ConversationModelOutput(responses=['はい、元気です。'], context=['こんにちは', 'こんにちは!お元気ですか?'])

日本語会話を学習した convmodel はページトップからお試しできます。

いい会話ができたら「会話をSNSで共有」を押して Twitter で共有しましょう!

学習済みモデル

自然言語処理向け事前学習モデル

gpt2-small-ja

GPT-2 の small サイズを日本語 Wikipedia データセットで学習したモデルです。 トークナイザには SentencePiece を利用しています。

用途: 文の生成

🤗Model Hub 学習コード
sbert-base-ja

bert-base-ja を日本語の Sentence BERT 用にファインチューニングしたモデルです。

用途: 文の類似度計算、意味が似た文を検索

🤗Model Hub 学習コード
bert-base-ja

BERT の base サイズのモデルを日本語 Wikipedia データセットで学習したモデルです。 トークナイザには SentencePiece を利用しています。

用途: 単語の穴埋め、ファインチューニング用の学習済みモデルとして利用

🤗Model Hub 学習コード

Software

会話AI開発をサポートするソフトウェア

convf

convf は、会話データの前処理ライブラリです。

一連のフィルターと変換を YAML フォーマットで定義することで、読みやすく再現性に優れた前処理を提供します。 フィルターや変換は拡張可能であるため、必要に応じて自前のフィルターや変換を実装して追加することができます。

GitHub
msgflow

msgFlow はPython製のシンプルなチャットボットフレームワークです。

決められたインターフェースを実装することでコマンドライン上で動く物から Slack 等のサービス上で動くものまでを一つのチャットボット実装で作成可能です。

GitHub PyPI

ドキュメント

自然言語処理関連のドキュメント

PyTorchでの言語モデル学習

モデルの学習では、モデル自体の実装に比べて、データのロードや学習ループの作成といった箇所が大部分を占めます。

そこでこのドキュメントでは、言語モデル自体の詳細に踏み込むことはせず、 それ以外の Dataset, DataLoader, 学習ループの作成について解説します。 言語モデルは 🤗Transformers の OpenAI GPT2 モデルを使います。

Colorful Scoop Docs