MATLAB ユーザーコミュニティー

matlab&si金宝appmulinkユーザーコミュニティー向けブログブログブログ

Matlab Expo Japan 2022への参加!!!!

「世の中には2種類の人がいる・・MATLAB を使う人と使わない人だ!」
~ライトニングトーク冒頭より(MC 飯田)~
こんにちは、井上@michio_mwj5/25に先先先にれたたたたたははははハイブリッドハイブリッド开催开催でしでしでしたたたた。年ぶり年ぶり年ぶり年ぶり対面対面ででののイベントイベントで,,,リアルリアル同僚同僚同僚久しぶり久しぶり久しぶり会ってててて」など楽しんました。惯れない移动体力の衰え衰えを感じ感じましましたたたがが,イベントイベントももいいいいいいですですですねね〜
MATLAB博览会面板

ライトニングトーク

コミュニティーの皆様のおかげで、ライトニングトークも今回で 6 回目。私も MATLAB 芸人見習いとしてはライトニングトークは見逃せないイベント。以前ブログでも紹介させて頂いたあぷらなーとさん(天体画像 x MATLAB Home)や,のツボにはまるはまるはまる芸芸披露てくださる西垣((Lightning Talk の舞台裏:”Camera de Mouse”)twitter twitterののタイムをに沸かてくださいました。。
後日、許可を頂いた方の発表は例年通り YouTube にアップ予定でございますので是非お楽しみに!

Lightning Talk Part 2 Opening

闪电谈话:mc饭田オープニングオープニングオープニング

Twitter でのリアクション

などなどリアクションありました。。の,,のの部部それぞれそれぞれでで拾え拾えだけだけだけだけだけだけだけだけだけだけににまとめましましまし
発表していただいた皆さんはもちろんのこと、オンライン+現場に聞きにきていただいた皆さん、そして Twitter のタイムラインを盛り上げてくださった皆さん、活気あふれるイベントにしていただきありがとうございました!

LT-adjective.png

Tweet に入っていた形容詞だけ拾ってきました。たしかに「面白くて」「すごい」発表ばかりでした。

さて、、せっかくなので

ライトニングトーク発表顶い相田先生::展覧会のSNSを利用した広報と評判のテキスト分析)にに受けさっそくさっそく期间期间期间ののをを简単にしてみることにし。。。。

期間中の Tweet 数。ライトニング中が特に盛り上がっていることが確認できます。

まずは推文の取得取得

Tweet の取得についてはConduct Sentiment Analysis Using Historical Tweetsがピンポイントの例題としてあるので、こちらを参照します。
ただそのまま使うと省略された Tweet 本文になっちゃうので‘tweet_mode’“扩展”にしておくことを忘れずに!
settokens%Twitter APIの利用は别途必要(は种种种种キーキーキー环境としてとして设定ししているとととし。。。。。。
consumerKey = getenv(“CONSUMERKEY”);
commuterSecret = getenv(“CONSUMERSECRET”);
AccessToken = getenv(“访问”);
AccessTokenSecret = getenv(“ACCESSTOKENSECRET”);
twitterオブジェクトオブジェクト作成((((f f f
C = Twitter(consumerKey,consumerSecret,accessToken,accessTokenSecret);
c.StatusCode
ans =

StatusCode の列挙値

好的

好的ということで無事繋がりました。search 関数でtweetのの结果をとってきます。试しににににににににににににとってとってとって
TweetQuery =‘”MATLAB” OR “Simulink” OR “MATLABExpo” lang:ja’;
s = search(c,tweetquery,‘count’,100,‘tweet_mode’,,,,“扩展”);
statusesに Tweet の情報が入ります。1 Tweet = 1 構造体で取得されるので、今回の呼び出しだと 100×1 のセル配列として返ってきます。
statuses = s.Body.Data.statuses;
谁是statuses

名称大小字节类属性

状态100×1 3435283单元格

search 関数は Twitter REST API を使用していますがこちらは最新の 7 日間の Tweet までしか遡れないことに注意。原理的にはもっと昔の Tweet も取れますが、学术研究访问が必要とのことなので、今回は使用しません。
また,一ののででで大大大大大大最しかしかませんので缲り返し缲り返し呼び出すがが。。。。‘max_id’でどこ先データ取得するか指定します。
% Retrieve All Available Tweets
尽管isfield(s.Body.Data.search_metadata,“ next_results”
%将结果转换为字符串
nextresults = string(s.Body.Data.search_metadata.next_results);
% Extract maximum Tweet identifier
max_id = extractbetween(nextresults,“max_id=”,,,,“&”);
% Convert maximum Tweet identifier to a character vector
cmax_id = char(max_id);
% Search for Tweets
s = search(c,tweetquery,‘count’,100,‘max_id’,cmax_id,‘tweet_mode’,,,,“扩展”);
%检索每条推文的推文短信
状态= [状态; s.body.data.statuses];
结尾
length(statuses)
ans =1350
Tweet が取れていますね。

时间表型型まとめる

全部取れたらから必要な情报だけ取り出しておきますます。。でははははははははささささされれたたたた时刻时刻时刻时刻时刻时刻时刻时刻时刻时刻时刻时刻时刻ととととととととと
如果iscell(statuses)
% Unstructured data
numTweets = length(statuses);%确定推文总数
tweetTimes = cell(numTweets,1);% Allocate space for Tweet times and Tweet text
TweetTexts = TweetTimes;
为了i = 1:numtweets
tweetTimes{i} = statuses{i}.created_at;% Retrieve the time each Tweet was created
TweetTexts {i} = statuses {i} .full_text;% Retrieve the text of each Tweet
结尾
别的
%结构化数据
tweetTimes = {statuses.created_at}’;
TweetTexts = {status.text}’;
结尾
时间表的时间表型型まとめてます。データのフォーマット要注意。。
Tweettimes {1}
ans =‘太阳5月29日19:22:00 +0000 2022’
こんな形入っいますますますますます型型変换するは‘Locale’'en_us’に設定することをお忘れなく。
Tweets =时间表(TweetTexts,‘RowTimes’,,,,
datetime(tweetTimes,‘Format’,,,,‘EEE MMM DD HH:MM:SS +SSSS Yyyy’,,,,‘Locale’,,,,'en_us’));
Tweet 時刻は +0000 と出ていることから分かるように UTC なので、東京時間に合わせておきます。datetime 型の TimeZone を UTC に設定後、Asia/Tokyo に変えるだけ。
tweets.Time.TimeZone =‘UTC’;
tweets.Time.TimeZone =‘Asia/Tokyo’;
tweets.time.format =‘yyyy/MM/dd HH:mm:ss’;
保存(“ tweets20220530.mat”,'Tweets’)
これでそのうちできなくなっのでは保存しておきます。

ワードクラウド

MATLAB EXPO开开开开催日日日日日(((ののののにににてワードクラウド表示し
trange = timerange(datetime(2022,5,25,‘TimeZone’,,,,‘Asia/Tokyo’), datetime(2022、5、26日‘TimeZone’,,,,‘Asia/Tokyo’));
このワードクラウドは文字列をそのまま入れているので MATLAB 本体の wordcloud 関数です。
WordCloud(tweets {trange,“ TweetTexts”})
「ケロケロボイス」「ネクタイ」など、あ~というキーワードが見えています。

せっかくなのでちょっと細かい前処理を

上のを见るいくつか気なるががますます。
  • MATLABExpo や #matlabexpo など大文字小文字の揺らぎ
  • RTって何
  • @によるメンション
この辺を処理します。
まず RT。これは Retweet された Tweet が例えば RT @michio_MWJ: ではじまることから登場回数が多くなります。この辺はアカウント名も含めて取り除いておきます。
加载tweets20220530.mat
tweets = tweets(trange,:);
Tweets.tweetTexts =字符串(Tweets.tweetTexts);
Wildcardpatternを使って RT @[アカウント名]: ではじまる Tweet を探して、対象の者はextractAfterでその後に続く本文だけを残す処理にします。
pat =“ RT @”+ wildcardPattern(“除了”,,,,“:”)+ (“:”);
idx =包含(tweets.tweettexts,pat);
tweets.tweetTexts(idx) = extractAfter(tweets.tweetTexts(idx),pat);
次に大文字小文字の揺らぎ。これは lower や upper を使って小文字か大文字に揃えてもよいのですが、Expo が冒頭だけ大文字なのでヤヤコシイ。
ここではcaseInsensitivePatternを使って大文字小文字関係なく検索した上で、特定の文字に置き換える処理をしてみます。
pat = caseinsentivepattern(“MATLAB”);% Matlab, matlab, matLAB も検索対象
tweets.tweettexts =替换(tweets.tweettexts,pat,“MATLAB”);%すべてmatlabに
pat = caseinsentivepattern(“Expo”);% expo, EXPO, Expo 検索も対象
tweets.tweettexts =替换(tweets.tweettexts,pat,“Expo”);% すべて Expo に
今回特に見えていませんが、画像の URL も邪魔ではあります。これはalphanumericsPatternで一掃します。
pat =“https://t.co/”+ AlphanumericsPattern;
tweets.tweettexts =替换(tweets.tweettexts,pat,“”);
そして再度ワードクラウド。ちょっと綺麗になったかな。
wordcloud(tweets{:,“ TweetTexts”})

もう少しだけ深掘り

いろいろ気になってきたのでもうちょっと深掘りしてみよう。
ここからは Text Analytics Toolbox を使って品詞(PartOfSpeech)を気にしてみます。MATLAB Expo であることは分かり切っているので関連ワードも削除しておきます。
doc = tokenizedDocument(tweets.tweettexts);% トークン化
doc = removeWords(doc,[“#MATLAB”,,,,“Expo”,,,,“#MATLABExpo”,,,,“MATLAB”]);
tdetails = tokenDetails(doc);
头(tdetails)
ans =8×8table
令牌 文件号码 LineNumber Type PartOfSpeech Lemma 实体
1 “も” 1 1 信件 JA 定位 “も” non-entity
2 “Python” 1 1 信件 JA 其他 “Python” non-entity
3 “も” 1 1 信件 JA 定位 “も” non-entity
4 “基本” 1 1 信件 JA 名词 “基本” non-entity
5 “同じ” 1 1 信件 JA 形容词 “同じ” non-entity
6 “こと” 1 1 信件 JA 名词 “こと” non-entity
7 “が” 1 1 信件 JA 定位 “が” non-entity
8 “でき” 1 1 信件 JA 动词 “できる” non-entity
((((((Adposition))))(辅助动物)(辅助动物)はははそうないら。。。。
idx = tdetails.partofspeech ==“依从性”|tdetails.PartOfSpeech ==“助动词”;
words2display = tdetails(〜IDX,“Token”);
wordcloud(words2display.Token)
なんだか!気がする前向きが出てきまし。
(形容词)(名词)(noun),,,,,,,,,,,,,,,,,,,,,,,,,,动词动词动词动词动词ををををを
lists = [“adverb”,,,,“adjective”,,,,“名词”,,,,“动词”];
t = tiledlayout(‘flow’,,,,“ tilespacing’,,,,'袖珍的');
为了零件=列表
nexttile;
idx = tdetails.partofspeech == parts;
单词= tdetails(idx,“Token”);
WordCloud(words.token);
标题(零件);
结尾
「いよいよすごい「発表」「」ライトニング,来年来年楽しみですです
twitter twitterのののライン盛り上げくださった皆さん,改めてありがとうござい。。

|

コメント

コメントを残すは,ここをクリックしてMathWorksアカウントにサインインするか新しい MathWorks アカウントを作成します。