Giter VIP home page Giter VIP logo

liveai's Introduction

LiveAI (2016/06/12更新ver6.05)

Link

https://twitter.com/LiveAI_Umi https://twitter.com/LiveAI_Honoka https://twitter.com/LiveAI_Kotori https://twitter.com/LiveAI_Rin https://twitter.com/LiveAI_Maki https://twitter.com/LiveAI_Hanayo https://twitter.com/LiveAI_Eli https://twitter.com/LiveAI_Nozomi https://twitter.com/LiveAI_Nico

https://twitter.com/LiveAI_Chika https://twitter.com/LiveAI_You https://twitter.com/LiveAI_Ruby https://twitter.com/LiveAI_Riko https://twitter.com/LiveAI_Yoshiko https://twitter.com/LiveAI_Mari https://twitter.com/LiveAI_Kanan https://twitter.com/LiveAI_Hanamaru

https://twitter.com/LiveAI_Alisa https://twitter.com/LiveAI_Yukiho

https://twitter.com/LiveAI_Alpaca

Concept

  • 作者の「趣味的で私的な」プログラムのお勉強
  • AI?による定性的情報の定量的把握および実務支援
  • 手軽に外の環境からサーバーや各種API、DBおよび関数にアクセスする方策
  • プログラムとユーザー間のフィードバックシステムを考える。
  • 作者が海未推し。作者なりのコンテンツに対する貢献(のつもり)

  • 常に開発段階です。
  • キャラ崩壊、バグ、突然の停止など許してください。善処します。

会話について

以下6つのアルゴリズムを混合した独自アルゴリズムで返答します。

  • 自然言語処理
  • 品詞補正型トリグラム-マルコフ連鎖返答
  • ログ型返答
  • 手動学習イベントパターン返答

解説: 自然言語処理

  1. 相手からの文章を正規表現抽出、形態素解析、構文解析、重要語抽出を用いて分解します。
  2. これらの自然言語情報をベースにして、文章の意味推測を行います。
  3. 現在対応している意味: 要望、命令、希望、勧誘、否定。

解説: 品詞補正型トリグラム-マルコフ連鎖返答

  1. インターネット上に存在する会話を自動収集。
  2. ベクトル化して数10万次元のベクトル空間に配置します。
  3. 品詞と文法の補正をかけながら、確率に基づいて単語の連鎖を生成していきます。

解説: ログ型返答

  1. インターネット上に存在する会話を自動収集。
  2. 自分に対する文章と最も近い応答パターンをTFIDFおよびcos類似度を用いて検索します。
  3. 選択された過去ログから返答します。

解説: 手動学習イベントパターン返答

  1. 「@bot 〜を覚えて」などで、手動返答文を追加しておきます。
  2. 各種返答は、なにかしらの条件を満たした場合(後述)、イベントに割り振られます。
  3. あらかじめ登録されている当該イベントの返答文を返答します。

解説: 意味辞書ベース返答

  1. 相手の文章の中から重要語を判定して抽出します。
  2. wordnetに接続して、その語と関連する他の単語を探します。
  3. 単語同士の関わり合いを返答します。

解説: 簡易推論返答[ベータ]

  1. ユーザーが「AはBである」と断定したものを覚えます。この場合、覚えましたし...と某botリスペクトで返答します。
  2. 以降、AはBですか?と聞くとYes, Noで答えるようになります。

命令と反抗

命令口調で頼むと結構な確率で断られます。丁寧に頼んであげましょう。 また、助詞を抜かすなど日本語がおかしいとうまく受け取ってもらえないことが多いです。「~するな」という禁止には、従順です。

機能紹介

クソリプ送信機能

@bot @target にクソリプを送信してよ

@target └(՞ةڼ◔)」<ヌベヂョンヌゾジョンwヌベッテョヌンジョョベリンスオッピョーwwwwww

ターゲットにクソリプを送信します。@はなくても可能ですが、botとFFである必要があります。成功すると、依頼ツイートにファボをつけます。送信する‎クソリプは、タイムラインに流れているものから自動学習あるいは自動生成します。

モノマネ機能

@bot @target をモノマネしてよ

10分間、@target をまねっこします。

ターゲットのアイコン、名前、バナーをモノマネします。10分経過で元に戻ります。

@bot 元に戻ってよ

@you 元に戻りました。

モノマネ中でも元に戻ります。

教えて機能

@bot トレンドを教えてよ

@you [現在のトレンドワード]〜〜

トレンドワードを教えます。

@bot 経験値を教えてよ

@you あなたの経験値は100 EXPです。

経験値を教えます。

(増える予定?)

#とは

新田恵海#とは

@you 新田恵海は、日本の声優〜〜

単語のあとに「#とは」をつけると説明してくれます。wikipediaの重要部分をツイート字数に調整して返答します。@はなくてもTL上の発言すべてに反応します。

画像判定機能

@bot [画像添付]

@you 海未ですね!!

アニメキャラの場合、μ'sメンバー+αのなかから判定します。

@you あっ猫、可愛いです。

猫画像の場合、猫を可愛がります。

@you [QR内容] QRコードの場合、解析します。

アイコン更新機能

画像を添付して「icon」や「アイコン」と書くと10分間アイコンを変更します。 画像を添付して「banner」や「背景」と書くと10分間バナーを変更します。 管理者が実行した場合は、基本データベースが書き換えられます。

QRコード作成機能

@bot QRを作って。

@you QR_img

QRを作ってというとQRコードを返します。使えますが、調整中です。

勧誘機能

@bot 勧誘したい

スクフェスの勧誘を行います。経験値が500減少します。

フィードバックのお手伝い

@bot お手伝いしたい

@you 課題モード... お願いします。

各種課題が出ます。フィードバック機能です。経験値がたくさんもらえます。

おみくじ機能

@bot おみくじしてよ!

@you 今日の運勢は大吉ですっ!!

フォロバ機能

@bot フォロバしてください

フォロバします。

しりとり

しりとりをしたい旨を投げかけると「しりとりモード」に移行します。 相手の単語をどんどん覚えていきます。 しりとり開始の方法。 「しりとりする」+ [希望, 勧誘]

@bot しりとりしようよ。

@you わかりました。それではしりとりの「り」からスタートしましょう。

対戦機能

某ポケ○ンゲームのような遊びができます。ユーザー間の勝負も可能です。

@bot 対戦したい。

で戦闘開始。

「@bot @XXX と対戦したい」

といえば、対戦が出来ます。ない場合は野生のアルパカなどが出てきます。 対戦が始まった後は、リプライの文章が「わざ」として計算されます。文章ごとにわざポイントを計算しています。なお、ここで貯めた経験値は他の各種機能で用いることができます。

ver履歴(tweetと同じ)

v6.05

  • あとで追加しときます。

v5.57

  • フィードバック機能!
    • 【画像ツイート】→判定
    • 【タグ付き画像ツイート】→学習 -「判定」なくても判定します。
      • 会話の中で、自動分類・学習します。
      • 学習は4枚まで行けます!

ver5.56(微アプデ)

  • コメントなしでも画像登録可能に。(複数枚対応はこの後。)
  • しりとり等のバグ修正
  • ユーザーフラグ管理

ver5.55

  • プログラムの9割を書き直し Pythonへ改めて一本化。
  • データリセット
  • ディープラーニング画像判定
  • パクツイ便乗
  • 俳句判定機能
  • クイックレスポンス関数
  • リストフィルター
  • ツイートプーリング

ver5.54

  • サーバーをRPiからMBAに移行
  • 80万の表現パターン
  • データベースインデックス導入
  • 回答スピードアップ(130s→10s)
  • 対応単語更新
  • 連続品詞情報の補正
  • 人名対策

ver5.53

  • 会話システムの拡張
  • 学習ツイート数を1万から6万に
  • メタセンテンスの抽出を補正
  • 品詞情報の補正
  • 数値のランダム化
  • 文脈応答と文章構築を重み付確率に
  • C言語による高速化(3言語運用) 会話を表示 2件のリツイート 7 いいね

ver5.52

  • 会話システムを全面変更!
  • 会話の中から発言を学びます!
  • パクツイでなく、その場で生成
  • 知らない言葉を尋ねてきます 返答してあげると「学びます」
  • 顔文字もクソリプも覚えます

ver5.51

  • 「おみくじ」導入! 「おみくじ」で今日のあなたを占います。《__M4Fさんの提案、感謝》
  • 「TF-IDFアルゴリズムの内部実装」 キーワード抽出に使われる予定。

ver5.50

  • 表現を自動変換するプログラムを改良。単語の活用とか行うようにしました。日本語は難しい… β機能における不適切表現と文脈把握はまだX
  • 穂乃果好きすぎバグ(既知)

ver5.49

  • 学習先を全てのツイートにしました
  • 表現を自動変換するプログラムを1500行ほど追加。柔らかめな表現になるとおもいます。順次改良予定。
  • 顔文字を抽出するように。

ver5.48

  • 感性解析を一時停止(API元に怒られた) 対応模索中
  • 一時的に質問への対応が鈍くなってます。#QA でお願いします。
  • 一定確率で他人のツイートを覚えるように。評価システムは後日追加予定…
  • #おて海未学習 でツイート内容を覚えます。

ver5.47

タグでよく使うことばを分析(サーバーが辛い。)。

  • 感性把握機能 対応表現はまだ少ないです。(求ム!)
  • 不適切表現の把握機能
  • 質問への対応力向上
  • バグ修正
  • 下ネタを下ネタと認識するように。
  • 凛botに向けた整備
  • 質問時、回答の確度の区別
  • 追加希望フレーズは@_alpkS まで。 (ユーザー感情)→(bot感情):発言 e.g.) 「怒り」→「怒り」: あなたは最低です!

ver5.46

  • 大幅な高速化(3秒程度で返答します)
  • データベースの設計を抜本見直し
  • サーバーのフォーマット見直し
  • 多数の細かな修正
  • しりとり機能修正完了!

ver5.45

データベースをmongoとSQliteの併用に変更

  • 制限機能導入 (引用RT, 会話介入, ツイ消し時)
  • 自動フォロー停止
  • リプライの改善
  • bot同士の無限しりとりを回避

ver5.44

コマンド方式を#ハッシュタグ に切替え

ver5.43

140字を超えるツイートを送れるようになりました。

  • 規制時に「凛bot」から対応するようにしました(上手く動作するかはまだ不明)。
  • アンケート、タグ優勢なので、タグコマンド機能を先んじて試験導入。雑談、Q&A、しりとりはそのままでも可。

ver5.42

  • 実現可能性評価法(Feasibility Assessment Technique; FAT)機能 「FAT」で発動します。 計画策定のおてつだい♪ 初回時は初期化のため、2回FATの必要あり。

ver5.41

  • 翻訳機能追加!
  • ロシア語リプ機能
  • ロシア語会話機能
  • botの謎言語?undバグ修正
  • 某AKRbotリスペクト。一定時間ごとにTL上の言葉から呟きます(実験です。このあと応用予定)。

ver5.40

  • ○○語リプ機能 一定時間、指定言語でリプライします。英 仏 独 露 韓朝 西 アラビア
  • △△語会話機能 英 独
  • 言語判定コマンド
  • 外国語自動翻訳返答

ver5.39

  • Node.jsをマルチコア・クラスタリング処理pm2に向上
  • 600秒ごとの自動再起動
  • stream取得漏れ(仕様)を2分ごとに再取得(DMのみ)
  • mongoDBの32bit制限で、データフレームデフラグ
  • 並列処理化
  • しりとりのバグフィックス

ver5.38

  • しりとりの字数縛り機能、開始時語彙指定機能
  • うみもんのバグ修正および改良。
  • 「つーる」から様々な機能にアクセス。多分、イケるはず。表示が変な場合は「リセット」大目に見て下さい
  • 「なんでも」に反応
  • 「フォロバ」機能
  • ツイ消に極々低確率で反応。ツイートのidを晒します(といっても、アカウントidではないので、何かあるわけではないです)。
  • ふぁぼに反応。よろこびます。

ver5.37

  • エラーでてました。修正。
  • ぬるぽ→ガッ 機能
  • うみもんの経験値調整 回復アイテム「ほむまん」と「炭酸」が使用可能に。
  • うみもんの経験値継続化
  • しりとりの改善(字数制限はまだ)
  • しりとり中に「show」で一覧

ver5.36

  • しりとり機能の開発。
  • APIを用いず独力で回答するようにしました。「しりとり」で開始できます。 まだまだデータベースがスカスカですが、しりとりで出会った単語は全て覚えます。
  • これ迄のも「しりとりしよう」などで使えます。

ver5.35

  • バグフィックス全般
  • 自動リフォローの整備
  • ふぁぼへの対応(準備)
  • 無限会話阻止の方策追加
  • 過去に遡ってのメンションは無視されます。
  • 引用リツイートの確率を1%→0.5%に下げました(多スギィと苦情があったので。)。

ver5.34

  • 対戦ゲーム機能を導入しました。 おとのきざかもんすたーず(仮) ツイッターの仕様度合やこのbotとの関わり方で強くなります。
  • 「うみもん」で開始できます。
  • まだまだバグが多いのでβ提供です。
  • メンションが晒されるバグ

ver5.33

  • データベースをJSONからMongoDBにしました。
  • MongoDBでTLの全ツイートを保存し解析するようにしました。
  • 引用RTの確率を10%から5%に引き下げました。
  • バグフィックス

ver5.32

  • Pythonとの連携
  • Debian jessieeへのupgrade
  • numpyで構造化モデリング手法(Interpretive Structural Modeling; ISM法)を実装しました。複雑な要素間の関係を簡単に紐解きます。
  • バグフィックス

ver5.31

  • TLの2%に無差別に話しかけるようになりました。
  • 初回会話の際に、引用RTから始めることができるようになりました(10%)。
  • eStat検索機能からデータを取り出せるようになりました。まだ雑ですけれど。
  • 内部管理機能の追加
  • コードのスリム化

ver5.30

  • eStat検索機能が付きました(現在は、検索ワードの10件件名表示するだけです。)。(DMのみ)(クレジットは下)
  • TL内の話題の寄り方監視とリアルタイム描写サーバーへ接続出来るようになりました。応用を考えていきます。

ver5.29

  • キーワード抽出機能「キーワード」
  • 花陽モノマネ機能(半角カタカナ化機能)「半角」あるいは「花陽」(要望にお応えして)
  • リプライ回数のカウント機能の導入。一定回数を超えた連続リプライの場合、ストップします。

ver5.28

  • 感性解析機能を導入しました。100種類弱の感性を解すようになりました。現在は、感性解析モードのみで動作します。今後は、コア部分への応用を模索。
  • バグを修正しました。

ver5.27

  • 文脈を「忘却」する機能が付きました。
  • スパム攻撃を自動回避するようになりました。
  • 何度も会話し続けて迷惑かけると、拗ねて無視するようになりました(旧来の確率無視は削除。)。
  • 定期ツイートを再開しました。

ver5.26

  • 危険内容判定機能を充実。複数要素で構成されている場合、割合まで提示できるようになりました。
  • 形態素解析機能の追加。「形態素解析」で後ろの文を形態素解析します。
  • 循環参照問題を解決。

ver5.25

  • 鍵アカやDMでも即時返信ができるようになりました。
  • データ処理を簡略化して、かなり高速化しました(返信2〜3秒)。
  • 低確率で返信をサボるようにしました(対bot無限会話です。)。無視されたら、連投してみて下さい。

ver5.24

  • 絵文字や特殊文字が来ても対応できるようになりました。
  • しりとり時に他の機能に移行しないようにしました。しりとりは、「しりとりおわり」か「はじめまして」で初期化するかで強制終了できます。
  • 処理高速化安定化

ver5.23

  • バグフィックス
  • callbackベースからthenableベースへ全面移行。async処理の強化
  • コードのモジュール化
  • 高階関数による高速化と安定化
  • エラー処理能力向上

ver5.22

  • 文脈管理機能の導入。話し相手それぞれで文脈を使い分けるようになりました。「はじめまして」でリセットされます。
  • 自動要約機能の公開 DMでツイートサイズに要約してくれます。1万字まで対応。
  • 多分バグある…

ver5.17

  • 有害センシティブ情報のフィルタリング機能搭載。際どい言葉を回避します。
  • 危険度判定機能。「危険判定」という語を含めたツイート全体の危険度及びそのカテゴリーを返します。 e.g.) 宗教関連→一般宗教かカルト宗教か など。

ver5.12

  • 他Twitterアカウントの模倣機能が追加されました。そのうち、発言の幅が広がります。

ver5以降

  • node.js
  • javascript&typescriptに移行

ver5以前

  • python時代
  • pythonによるword2vec-modelを用いた連想機能
  • (現在は、サーバー計算能力を考慮して停止中)

それ以前...

かつては、凛botでした。wikipediaを回って学習するという機能。しかし、wikipediaの過学習という失敗とサーバー代が捻出できず停止しました。

API & credits etc...

  • mecab
  • cabocha
  • tensorflow & skflow
  • mecab-ipadic-neulogd (@overlast 様)
  • eStat API
    • credit:「このサービスは、次世代統計利用システムのAPI機能を使用していますが、サービスの内容は総務省統計局又は独立行政法人統計センターによって保証されたものではありません。」
  • 本programの生成する文章・情報等に基づいて被ったいかなる被害、損害、トラブルについて、 作成者は一切責任を負いかねます。
  • 本programの運営の永続性は保証できないです。

liveai's People

Watchers

Ebot Tabi avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.