static void Main(string[] args) { try { Usage(); if (args.Length == 0) { Console.Write("> "); args = Console.ReadLine().Split(' '); } var learning = new DollsLib.Learning.Learning(); switch (args[0]) { case "fetch": DollsLib.Learning.TweetFetch.FetchFromTwitter(args[1]); break; case "update": learning.UpdateWorkAndEditData(); break; case "bag": learning.BagOfWords(); break; case "dl": learning.DeepLearning(); break; case "eval": learning.Eval(int.Parse(args[1])); break; default: Console.WriteLine("Invalid command"); break; } } catch (Exception e) { Console.WriteLine(e); } }
private void CheckMasterTimeline(string taskName) { const int SearchCount = 200; long masterId = TwitterManager.MasterTokens.Account.VerifyCredentials().Id ?? 0; var timeline = TwitterManager.MasterTokens.Statuses.HomeTimeline(count: SearchCount); // 判定器を使う if (dlNetwork != null) { var ln = new DollsLib.Learning.Learning(); var workDataList = ln.CreateWorkDataList(timeline); var result = ln.Execute(dlNetwork, workDataList); for (int i = 0; i < result.Count; i++) { var status = timeline[i]; // Black List filter if (Array.IndexOf(BlackList, status.User.ScreenName) < 0) { continue; } if (result[i] > DollsLib.Learning.LearningCommon.Threshold) { Log.Trace.TraceEvent(TraceEventType.Information, 0, "[{0}] Find by dl net {1:F3}: @{2} - {3}", taskName, result[i], status.User.ScreenName, status.Text); try { TwitterManager.Favorite(workDataList[i].Id); TwitterManager.Update( string.Format("@{0} ブラック #DollsLearning #試験中", status.User.ScreenName), status.Id); } catch (TwitterException e) { Log.Trace.TraceEvent(TraceEventType.Error, 0, e.Message); } } } } // ヒューリスティクスを使う foreach (var status in timeline) { if (IsBlack(status, masterId)) { Log.Trace.TraceEvent(TraceEventType.Information, 0, "[{0}] Find black: @{1} - {2}", taskName, status.User.ScreenName, status.Text); try { TwitterManager.Favorite(status.Id); TwitterManager.Update( string.Format("@{0} ブラック", status.User.ScreenName), status.Id); } catch (TwitterException e) { Log.Trace.TraceEvent(TraceEventType.Error, 0, e.Message); } } else if (IsWhite(status, masterId)) { Log.Trace.TraceEvent(TraceEventType.Information, 0, "[{0}] Find white: @{1} - {2}", taskName, status.User.ScreenName, status.Text); try { TwitterManager.Favorite(status.Id); TwitterManager.Update( string.Format("@{0} ホワイト!", status.User.ScreenName), status.Id); } catch (TwitterException e) { Log.Trace.TraceEvent(TraceEventType.Error, 0, e.Message); } } } }