Exemple #1
0
        static void SaveArtResults(SemtimentData _ArtData, SemtimentResult _ArtSent, EntitiesResult _ArtEnt)
        {
            List <QuickTypeSemtimentData.Document> list = new List <QuickTypeSemtimentData.Document>();
            SemtimentData _AzData = new SemtimentData();
            int           i       = 0;

            foreach (QuickTypeSemtimentResult.Document doc in _ArtSent.Documents)
            {
                if (doc.Score < .3)
                {
                    saveToDB(doc.Id.ToString(), _ArtData.Documents[i].Text, "Negative", _ArtEnt.Documents[i]);
                }
                else
                {
                    if (doc.Score > .7)
                    {
                        saveToDB(doc.Id.ToString(), _ArtData.Documents[i].Text, "Positive", _ArtEnt.Documents[i]);
                    }
                    else
                    {
                        saveToDB(doc.Id.ToString(), _ArtData.Documents[i].Text, "Nuetral", _ArtEnt.Documents[i]);
                    }
                }
                i++;
            }
        }
Exemple #2
0
        static SemtimentResult GetSentiment(string _Azuretoken, SemtimentData _Data)
        {
            String _JsonData = _Data.ToJson();
            var    client    = new RestClient("https://westus2.api.cognitive.microsoft.com/text/analytics/v2.0/sentiment");
            var    request   = new RestRequest(Method.POST);

            request.AddHeader("Ocp-Apim-Subscription-Key", _Azuretoken);
            request.AddHeader("Content-Type", "application/json");
            request.AddParameter("undefined", _JsonData, ParameterType.RequestBody);
            IRestResponse   response   = client.Execute(request);
            SemtimentResult _Sentement = SemtimentResult.FromJson(response.Content);

            return(_Sentement);
        }
Exemple #3
0
        static void Main(string[] args)
        {
            string RedditLogin       = ""; // Reddit user login
            string RedditPWD         = ""; // Reddit user password
            string RedditAppID       = ""; // Reddit App ID
            string RedditAppSecret   = ""; // Reddit App secret
            string redditAccessToken = ""; // Store key here if you going to build DB a few times it is good for 120min
            string AzureSentAppKey   = "[YourSetimentAppKey]";

            gremlinServer = new GremlinServer("[YourCosmoDB].gremlin.cosmos.azure.com", 443, enableSsl: true,
                                              username: $"/dbs/[database id]/colls/[Graph id]",
                                              password: "******");
            // Make sure the graph DB is empty to start
            using (var gremlinClient = new GremlinClient(gremlinServer, new GraphSON2Reader(), new GraphSON2Writer(), GremlinClient.GraphSON2MimeType))
            {
                var result = AzureAsync(gremlinClient, "g.V().drop()");      // Clear DB
                Console.WriteLine("\n{{\"Returned\": \"{0}\"}}", result.Result.Count);
            }

            if (redditAccessToken == "")
            {
                redditAccessToken = AuthToken(RedditLogin, RedditPWD, RedditAppID, RedditAppSecret); // Get Reddit access token
            }
            RedditArticles  myArt         = GetArticles(redditAccessToken);                          // Get Reddit articles
            EntitiesData    EntitiesData  = CreateEntitiesData(myArt);                               // Create sentiment entity data structure for entities
            EntitiesResult  ArtEntities   = GetEntities(AzureSentAppKey, EntitiesData);              // Get entities from Azure API
            SemtimentData   SentimentData = CreateSentimentData(myArt);                              // Create sentiment data structure
            SemtimentResult ArtSentiment  = GetSentiment(AzureSentAppKey, SentimentData);            // Get sentiment for article

            SaveArtResults(SentimentData, ArtSentiment, ArtEntities);                                // Save results in Cosmos DB

/*
 *          foreach(QuickTypeEntitiesResult.Entity artEnt in ArtEntities.Documents[0].Entities)
 *          {
 *              Console.WriteLine("e:" + artEnt.Name);
 *          }
 *          System.Threading.Thread.Sleep(1000);
 *          ParseComments(redditAccessToken, articl.Data.Name.Substring(3));
 */
        }