Twitterプロフィールからスパムみたいなアカウントかを機械学習で判定してみた。
2021.06.28
Twitterプロフィールからスパムみたいなアカウントかを機械学習で判定してみました。
何故、このような事を考えたかはスパムみたいなアカウントってぱっと見で人は区別できるよねって思ったのでLobeというソフトを使って画像解析(機械学習)してモデルをエクスポートし、そのモデルをテンソルフローで使用して動作確認してみました。
結果は、まぁまぁの精度だったのでモデルをお裾分けしますね。因みにTwitterのプロフィール画像のスクリーンショットを行った時のソースコードも提供します。
尚、機械学習に使用したプロフィール画像は400枚ほど(少ない?)です、ok-image(一般人)とng-image(スパムみたいなアカウント)というラベルを付けて学習させてます。
model::https://zip358.com/ai-model/tw-profile/saved_model.pb (?モデルの中身はtensorboardでご確認を!)
zip358com
zip358
# Generated by Selenium IDE
import time
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.support.ui import Select
class twss():
def setup_method(self):
self.driver = webdriver.Chrome(ChromeDriverManager().install())
self.vars = {}
def teardown_method(self):
self.driver.quit()
def screenshots(self):
self.driver.get("https://twitter.com/")
self.driver.set_window_size(945, 900)
with open('twname.dat','r',encoding="utf-8") as f:
for line in f:
FILENAME = "X:\\var\\www\\html\\labo_ai\\twss\\image\\screen_" + line.replace('\n', '') +".png.webp"
self.driver.get("https://twitter.com/" + line.replace('\n', ''))
time.sleep(2)
self.driver.save_screenshot(FILENAME)
f.close()
self.driver.quit()
twss = twss()
twss.setup_method()
twss.screenshots()
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
358, 400, ai-model, com, https, lobe, model, ng-image, ok-image, SA, tw-profile, Twitter, zip, アカウント, エクスポート, お裾分け, コード, ショット, スクリーン, スパム, ソース, ソフト, テンソル, フロー, プロフィール, モデル, ラベル, 一般人, 事, 人, 何故, 使用, 判定, 動作, 区別, 学習, 提供, 時, 機械, 画像, 確認, 精度, 結果, 解析,
TensorFlow Lite(テンソルフロー ライト)をインストールしモデル実行まで。
2021.06.14
ラズベリーパイ3にTensorFlow Lite(テンソルフロー ライト)をインストールしモデル実行まで軽く字幕で紹介した動画が下記になります。インストール方法は公式に書かれた通りに実行すれば上手くインストール出来るはずです。比較的に低スペックのマシンでも動くはずなのです、どうしてもエラーが出て動かないようであれば、それはおそらくあなたのマシンに問題があります?。
動画でハマりどころがあるという事をブログで解説しますと書いていますので、そのハマりどころを解説します。。。
TensorFlow Lite(テンソルフロー ライト)で動かす場合、label_image.pyの修正箇所が公式に書かれていると思いますが・・・?、ここで自分がハマり、実行するコマンドを打ってもパラメーターがどうたらというエラーが出力されて動きませんでした。結論から言うと原因はマスターのソースコードにあったのです。修正を要領よく修正しては駄目だった。直接的な原因となったのは–num_threadsのパラメーターを投げていたのが原因でした。
公式では下記の内容に変更しなさいと書かれています。tf.lite.Interpreterの部分を置き換えればよいだろうと思っていたのです。
interpreter = tf.lite.Interpreter(model_path=args.model_file)
マスターのソースコードは若干、公式とは違ってこのようなソースコードになっていました。
interpreter = tf.lite.Interpreter(
model_path=args.model_file, num_threads=args.num_threads)
渡す引数が一つ増えていたので、自分はそれを残していたのですが・・・?、これでは動かないのです。そう・・num_threads=args.num_threadsは削除してあげないとモデルを動かすことが出来なかったのです。それがわからず渡すパラメーターが駄目なんだとか思って四苦八苦していました。
自分みたいな修正方法している方も中にはいると思ったので、今回、初心者がハマった沼を紹介しました?。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
3, image, label, LITE, py, tensorflow, あなた, インストール, エラー, コード, ここ, コマンド, スペック, ソース, それ, テンソル, はい, パス, パラメーター, フロー, ブログ, マシン, マスター, モデル, ライド, ラズベリー, 下記, 事, 修正, 公式, 出力, 動画, 原因, 問題, 場合, 字幕, 実行, 方法, 箇所, 紹介, 結論, 自分, 解説, 通り,
人工知能のお手軽モデル生成がGUIで出来るやつtensorflow対応。
2021.05.12
人工知能のお手軽モデル生成がGUIで出来るやつtensorflow対応しているからね。本当に便利だと思います。以前ブログで紹介したかもしれません、もしくはツイートしたか記憶が定かではないのですが再度改めて記載します。このlobeというソフト(アプリ)は人工知能の学習を行い、学習データからテストもできるのです。一番良いところは学習データ=モデルをエクスポートしてテンソルフロー(tensorflow)で動かせるところです。
テンソルフロー(tensorflow)で動かし方を解説している記事がありますので、そちらのリンクを貼っときますね。
https://dev.classmethod.jp/articles/lobe-lobe-export-tensorflow-lite/
これから先、人工知能の学習は誰でもできるようになり誰でも人工知能を使ったものがお手軽で作れるようになっていくと思います。あと数年後で自分が思うにはエクセルでも人工知能の学習で判定できるような関数が搭載されてもおかしくはないと思います。それぐらい人工知能は浸透してきていますね。因みに人工知能(教師あり機械学習)ってデータが多いほど、精度の良い結果を出してくれます、なのでデータは結構大事になりますよ!
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
articles, classmethod, dev, GUI, https, jp, lobe, lobe-lobe-export-tensorflow-lite, tensorflow, アプリ, エクスポート, これ, そちら, ソフト, ツイート, データ, テスト, テンソル, ところ, フロー, ブログ, モデル, もの, やつ, リンク, 人工, 以前, 便利, 先, 再度, 学習, 対応, 本当, 生成, 知能, 紹介, 解説, 記事, 記憶, 記載, 誰,
FF14を自動起動させてパスワード入力を
2021.03.23
Power Automate Desktop使用してFF14を自動起動させてパスワード入力する事を試みる。パスワード入力の動作を録画して再現して実行してみると動かないので自分で直しました。当初はUI Pathを活用して試してみたけど結局、うまく行かないので凄く単純な方法で動作をさせました。因みにこの方法はFF14が開いている最中に他のアプリを開いたりすると上手く動作することが出来ないので悪しからず。
上記のような設定をします。ウェイト(待ち時間)はご自身のPCによって調整が必要です。キーの送信部分は下記のように設定ください。
これで超長いパスワードを入力することもなくワンパスワードを入力すれば良いようになりました。ワンパスを設定していない方やフリープレイの方は送信するテキストを入力して保存するだけで後は、Power Automate Desktopを起動してフローを再生(実行)することで自動的にFF14が起動してパスワードを入力してくれます。
※前手順としてID保存状態にした状態で上記を実行ください!!!
https://flow.microsoft.com/ja-jp/desktop/
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
14, Automate, Desktop, FF, path, PC, Power, UI, アプリ, ウェイト, キー, こと, これ, ご自身, テキスト, パス, パスワ, パスワード, フリー, プレイ, フロー, ワン, 上記, 下記, 事, 他, 使用, 保存, 入力, 再現, 再生, 動作, 単純, 実行, 当初, 待ち時間, 後, 必要, 方, 方法, 最中, 活用, 自分, 自動, 設定, 調整, 起動, 送信, 部分, 録画,