JDBな人生  専門的なことから日常的なことまで~ まぁ自由きままに書いていきます。
2017年10月 / 09月<< 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 >>11月

アクセスランキング

[ジャンルランキング]
コンピュータ
231位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
35位
アクセスランキングを見る>>

Twitterの某BOTとのやりとり

先日、TwitterのとあるBOT(知らないうちにフォローされていた)と、くだらないやりとりを数往復したので、その内容を紹介したいと思います。

※多少文を変えてあります。
自分:ただいまの体温は約37℃、少し高め

BOT:おかえりなさい!寂しかったですよ~><

自分:ただいまじゃなくて「ただいま(now)」

BOT:おかえりなさい、マスター

自分:だからただいまじゃなくて「ただいま(now)」

BOT:おかえりなさいませ、ご主人様

まあこうなることは予想がついていたんですが、さすがBOT、という感じです。挨拶の「ただいま」と、今現在の「ただいま」の認識が、きちんとできていないようです。


とりあえず、「ただいま」が含まれていたら、自動で返信する、という感じでしょうか。
あまり字数が多いと返信されないようですが、そのことを除いて考えて、コードはシンプルで、こんな感じだと思います。(Perlの場合)
if ($txt =~ /ただいま/){
    #返信
}


改良するとしたら、こんな感じなら、誤った返信は減るのでは、と思います。
(複数の一致の組み合わせがある正規表現を書くのは慣れていないので、無駄&間違いがあるかもしれません)
if (($txt !~ /帰(.+?)しました/) && ($txt =~ /((ただいま|只今)[をにのお、])|((ただいま|只今)(.+?)(です|ます|しました))/)){
    #now
} elsif ($txt =~ /(ただいま$)|(ただいま\s)|((ただいま|只今)([帰。ー~]|です))|((ただいま|只今)(.+?)ました)/){
    #返信
} elsif ($txt =~ /ただいま/){
    #どうしよう
}


何が書きたいのかよくわからない記事になってしまいましたが、まあ、面白いBOTもいますよーって話です。
「ただいま」判定のサンプルコードは、もし参考になれば、ご自由に使ってください。
 


 
   Perl    TB(0)    CM(1)    EDIT    ページ↑

コメント投稿


 管理者だけに表示

コメント

[ とある人 ]
ちゃんと漢字変換すれば誤解もないはずなんだが。
2011年11月06日(日) 18:25

トラックバック

この記事へのトラックバック:

プロフィール

JDB Luigi

Author:JDB Luigi
どこにでもいるようなありふれた人間・・・という訳でもなく、かと言って怪しい宗教を信仰する変人という訳でも無い。

基本的に掲載しているコード等は煮ていただいても焼いていただいても結構ですが、利用は自己責任にてお願いいします。
また、バグ・アドバイス等もしあればよろしくお願いします。

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。