/// <summary> /// 情感分析 /// </summary> /// <param name="input"></param> /// <returns></returns> public RES SentimentAnalysis(string input) { try { Credential cred = new Credential { SecretId = secretId, SecretKey = secretKey }; ClientProfile clientProfile = new ClientProfile(); HttpProfile httpProfile = new HttpProfile(); httpProfile.Endpoint = ("nlp.ap-shanghai.tencentcloudapi.com"); clientProfile.HttpProfile = httpProfile; NlpClient client = new NlpClient(cred, "ap-guangzhou", clientProfile); SentimentAnalysisRequest req = new SentimentAnalysisRequest(); string strParams = JSON.ToJson(new { Text = input }); req = SentimentAnalysisRequest.FromJsonString <SentimentAnalysisRequest>(strParams); SentimentAnalysisResponse resp = client.SentimentAnalysis(req). ConfigureAwait(false).GetAwaiter().GetResult(); return(RES.OK(resp)); } catch (Exception ex) { return(RES.FAIL(ex.Message)); } }
/// <summary> /// 情感分析接口能够对带有情感色彩的主观性文本进行分析、处理、归纳和推理,识别出用户的情感倾向,是积极还是消极,并且提供各自概率。 /// /// 该功能基于千亿级大规模互联网语料和LSTM、BERT等深度神经网络模型进行训练,并持续迭代更新,以保证效果不断提升。 /// </summary> /// <param name="req"><see cref="SentimentAnalysisRequest"/></param> /// <returns><see cref="SentimentAnalysisResponse"/></returns> public SentimentAnalysisResponse SentimentAnalysisSync(SentimentAnalysisRequest req) { JsonResponseModel <SentimentAnalysisResponse> rsp = null; try { var strResp = this.InternalRequestSync(req, "SentimentAnalysis"); rsp = JsonConvert.DeserializeObject <JsonResponseModel <SentimentAnalysisResponse> >(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return(rsp.Response); }
public SentimentAnalysisResponse Post(SentimentAnalysisRequest request) { if (request != null && request?.Sentiments.Count > 0) { List <SentimentData> sentimentDatas = new List <SentimentData>(); foreach (string s in request.Sentiments) { sentimentDatas.Add(new SentimentData() { SentimentText = s }); } SentimentAnalysis sentimentAnalysis = new SentimentAnalysis(); MLContext mlContext = new MLContext(); TrainTestData splitDataView = sentimentAnalysis.LoadData(mlContext); ITransformer model = sentimentAnalysis.BuildAndTrainModel(mlContext, splitDataView.TrainSet); sentimentAnalysis.Evaluate(mlContext, model, splitDataView.TestSet); //UseModelWithSingleItem(mlContext, model); return(sentimentAnalysis.PredictSentiments(mlContext, model, sentimentDatas)); } return(null); }
public async Task <CloudmersiveNLPResponse> CloudmersiveNLPResponseAsync(string type, string url) { string CloudmersiveApiKey = _config["CloudmersiveApiKey"]; string scrapeResult = await ScrapeNewsSiteByUrlAsync(url); // Configure API key authorization: Apikey Configuration.Default.AddApiKey("Apikey", CloudmersiveApiKey); // Get an API key at, https://account.cloudmersive.com/ var apiInstance = new AnalyticsApi(); if (type == "sentimentality") { var input = new SentimentAnalysisRequest(scrapeResult); // SentimentAnalysisRequest | Input sentiment analysis request try { // Perform Sentiment Analysis and Classification on Text SentimentAnalysisResponse cloudmersiveResult = apiInstance.AnalyticsSentiment(input); CloudmersiveNLPResponse cloudmersiveNLPResponse = new CloudmersiveNLPResponse { Successful = cloudmersiveResult.Successful, SentimentClassificationResult = cloudmersiveResult.SentimentClassificationResult, SentimentScoreResult = cloudmersiveResult.SentimentScoreResult, SentenceCount = cloudmersiveResult.SentenceCount, }; return(cloudmersiveNLPResponse); } catch (Exception e) { return(null); } } else if (type == "subjectivity") { var input = new SubjectivityAnalysisRequest(scrapeResult); // SentimentAnalysisRequest | Input sentiment analysis request try { // Perform Subjectivity Analysis and Classification on Text SubjectivityAnalysisResponse cloudmersiveResult = apiInstance.AnalyticsSubjectivity(input); CloudmersiveNLPResponse cloudmersiveNLPResponse = new CloudmersiveNLPResponse { Successful = cloudmersiveResult.Successful, SubjectivityScoreResult = cloudmersiveResult.SubjectivityScoreResult, SentenceCount = cloudmersiveResult.SentenceCount, }; return(cloudmersiveNLPResponse); } catch (Exception e) { return(null); } } else { return(null); } }
public async Task <ActionResult <SentimentAnalysisResponse> > Analyse([FromBody] SentimentAnalysisRequest sentimentAnalysisRequest) { var sentiment = await this.textAnalyticsService.AnalyseSentiment(sentimentAnalysisRequest.Content); return(this.MapResult(sentiment)); }