Skip to content

Repository files navigation

Babel Street Logo

Analytics by Babel Street


NuGet version

Our product is a full text processing pipeline from data preparation to extracting the most relevant information and analysis utilizing precise, focused AI that has built-in human understanding. Text Analytics provides foundational linguistic analysis for identifying languages and relating words. The result is enriched and normalized text for high-speed search and processing without translation.

Text Analytics extracts events and entities — people, organizations, and places — from unstructured text and adds the structure of associating those entities into events that deliver only the necessary information for near real-time decision making. Accompanying tools shorten the process of training AI models to recognize domain-specific events.

The product delivers a multitude of ways to sharpen and expand search results. Semantic similarity expands search beyond keywords to words with the same meaning, even in other languages. Sentiment analysis and topic extraction help filter results to what’s relevant.

Analytics API Access

Migrating from C# Binding

There are breaking changes between the C# Binding and the Dotnet Binding. In order to improve concurrency each endpoint is now its own class and requires an api object in order to execute a call. Additionally, required parameters are enforced in the constructor, while optional parameters are provided through a builder pattern.

Example (C# Binding):

Scene: On-Premise retrieval of entities

stringalturl="localhost:1234/rest/v1";CAPIapi=newCAPI(apikey,alturl);// C# sets the url parameter at the api level, affecting all endpoints until resetapi.SetUrlParameter("output","rosette");stringentities_text_data=@"The Securities and Exchange Commission today announced  the leadership of the agency’s trial unit. Bridget Fitzpatrick has been named Chief  Litigation Counsel of the SEC and David Gottesman will continue to serve as the agency’s  Deputy Chief Litigation Counsel. Since December 2016, Ms. Fitzpatrick and Mr. Gottesman  have served as Co-Acting Chief Litigation Counsel. In that role, they were jointly responsible  for supervising the trial unit at the agency’s Washington D.C. headquarters as well as coordinating  with litigators in the SEC’s 11 regional offices around the country.";EntitiesResponseresponse=api.Entity(entities_text_data,null,null,null,"social-media");foreach(KeyValuePair<string,string>hinresponse.Headers){Console.WriteLine(string.Format("{0}:{1}",h.Key,h.Value));}Console.WriteLine(response.ToString());

Dotnet Binding:

stringaltUrl="localhost:1234/rest/v1";// The alternate URL is set via a method, rather than through the constructorRosetteAPIapi=newRosetteAPI(apiKey).UseAlternateURL(altUrl);stringentities_text_data=@"The Securities and Exchange Commission today announced  the leadership of the agency’s trial unit. Bridget Fitzpatrick has been named Chief  Litigation Counsel of the SEC and David Gottesman will continue to serve as the agency’s  Deputy Chief Litigation Counsel. Since December 2016, Ms. Fitzpatrick and Mr. Gottesman  have served as Co-Acting Chief Litigation Counsel. In that role, they were jointly responsible  for supervising the trial unit at the agency’s Washington D.C. headquarters as well as coordinating  with litigators in the SEC’s 11 regional offices around the country.";// Create the endpoint. Note that the url parameters are set for the endpoint only, so other endpoints// are not affected.EntitiesEndpointendpoint=newEntitiesEndpoint(entities_text_data).SetGenre("social-media").SetUrlParameter("output","rosette");RosetteResponseresponse=endpoint.Call(api);// Print out the response headersforeach(KeyValuePair<string,string>hinresponse.Headers){Console.WriteLine(string.Format("{0}:{1}",h.Key,h.Value));}// Print out the content in JSON format. The Content property returns an IDictionary.Console.WriteLine(response.ContentAsJson(pretty:true));

Synchronous

usingRosette.Api.Client;usingRosette.Api.Client.Endpoints;usingRosette.Api.Client.Models;ApiClientapi=new("YOUR_API_KEY");stringtext=@"The Securities and Exchange Commission today announced the leadership of the agency's trial unit. Bridget Fitzpatrick has been named Chief Litigation Counsel of the SEC.";Entitiesendpoint=newEntities(text).SetGenre("social-media");Responseresponse=endpoint.Call(api);foreach(KeyValuePair<string,string>hinresponse.Headers){Console.WriteLine($"{h.Key}:{h.Value}");}Console.WriteLine(response.ContentAsJson(pretty:true));

Async (Recommended)

usingRosette.Api.Client;usingRosette.Api.Client.Endpoints;usingRosette.Api.Client.Models;ApiClientapi=new("YOUR_API_KEY");stringtext_data1=@"The Securities and Exchange Commission today announced  the leadership of the agency’s trial unit. Bridget Fitzpatrick has been named Chief  Litigation Counsel of the SEC and David Gottesman will continue to serve as the agency’s  Deputy Chief Litigation Counsel.";stringtext_data2=@"Since December 2016, Ms. Fitzpatrick and Mr. Gottesman  have served as Co-Acting Chief Litigation Counsel.";stringtext_data3=@"In that role, they were jointly responsible  for supervising the trial unit at the agency’s Washington D.C. headquarters as well as coordinating  with litigators in the SEC’s 11 regional offices around the country.";string[]texts=new[]{text_data1,text_data2,text_data3};usingvarcts=newCancellationTokenSource(TimeSpan.FromSeconds(30));Task<Response>[]tasks=texts.Select(text =>newEntities(text).SetGenre("social-media").CallAsync(api,cts.Token)).ToArray();Response[]responses=awaitTask.WhenAll(tasks);foreach(varresponseinresponses){Console.WriteLine(response.ContentAsJson(pretty:true));}

Documentation

View the documentation

Packing the build

Packing the build will breate a nupkg file that can be used when running the examples. This is the same file that is published to NuGet From the root directory of the source tree, dotnet pack. Note the output directory if you want to run examples against it later. It will be something like rosette_api/bin/Debug.

Publishing

TODO: Coming soon

Building, Testing and Examples

The easiest way to build and test the source and run the examples against it is to use rosette/docker-dotnet

  1. cd to the root of the dotnet source
  2. docker run --rm -it -e <your api key> -v $(PWD):/source rosette/docker-dotnet

If you would like to run against an alternate URL, add -e <alternate url> before the -v

If you would prefer the manual approach, install dotnet on your computer and reference the following:

Building the source

From the root directory of the source tree, dotnet build. Note that .NET 10 SDK is a prerequisite for building the source.

Running the tests

From the root directory of the source tree, dotnet test tests/tests.csproj

Examples

View small example programs for each Analytics endpoint in the examples directory.

Documentation & Support

About

Babel Street Analytics Client Library for .Net

Resources

Stars

0 stars

Watchers

10 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - rosette-api/dotnet: Babel Street Analytics Client Library for .Net · GitHub
Skip to content

Repository files navigation

Babel Street Logo

Analytics by Babel Street


NuGet version

Our product is a full text processing pipeline from data preparation to extracting the most relevant information and analysis utilizing precise, focused AI that has built-in human understanding. Text Analytics provides foundational linguistic analysis for identifying languages and relating words. The result is enriched and normalized text for high-speed search and processing without translation.

Text Analytics extracts events and entities — people, organizations, and places — from unstructured text and adds the structure of associating those entities into events that deliver only the necessary information for near real-time decision making. Accompanying tools shorten the process of training AI models to recognize domain-specific events.

The product delivers a multitude of ways to sharpen and expand search results. Semantic similarity expands search beyond keywords to words with the same meaning, even in other languages. Sentiment analysis and topic extraction help filter results to what’s relevant.

Analytics API Access

Migrating from C# Binding

There are breaking changes between the C# Binding and the Dotnet Binding. In order to improve concurrency each endpoint is now its own class and requires an api object in order to execute a call. Additionally, required parameters are enforced in the constructor, while optional parameters are provided through a builder pattern.

Example (C# Binding):

Scene: On-Premise retrieval of entities

stringalturl="localhost:1234/rest/v1";CAPIapi=newCAPI(apikey,alturl);// C# sets the url parameter at the api level, affecting all endpoints until resetapi.SetUrlParameter("output","rosette");stringentities_text_data=@"The Securities and Exchange Commission today announced  the leadership of the agency’s trial unit. Bridget Fitzpatrick has been named Chief  Litigation Counsel of the SEC and David Gottesman will continue to serve as the agency’s  Deputy Chief Litigation Counsel. Since December 2016, Ms. Fitzpatrick and Mr. Gottesman  have served as Co-Acting Chief Litigation Counsel. In that role, they were jointly responsible  for supervising the trial unit at the agency’s Washington D.C. headquarters as well as coordinating  with litigators in the SEC’s 11 regional offices around the country.";EntitiesResponseresponse=api.Entity(entities_text_data,null,null,null,"social-media");foreach(KeyValuePair<string,string>hinresponse.Headers){Console.WriteLine(string.Format("{0}:{1}",h.Key,h.Value));}Console.WriteLine(response.ToString());

Dotnet Binding:

stringaltUrl="localhost:1234/rest/v1";// The alternate URL is set via a method, rather than through the constructorRosetteAPIapi=newRosetteAPI(apiKey).UseAlternateURL(altUrl);stringentities_text_data=@"The Securities and Exchange Commission today announced  the leadership of the agency’s trial unit. Bridget Fitzpatrick has been named Chief  Litigation Counsel of the SEC and David Gottesman will continue to serve as the agency’s  Deputy Chief Litigation Counsel. Since December 2016, Ms. Fitzpatrick and Mr. Gottesman  have served as Co-Acting Chief Litigation Counsel. In that role, they were jointly responsible  for supervising the trial unit at the agency’s Washington D.C. headquarters as well as coordinating  with litigators in the SEC’s 11 regional offices around the country.";// Create the endpoint. Note that the url parameters are set for the endpoint only, so other endpoints// are not affected.EntitiesEndpointendpoint=newEntitiesEndpoint(entities_text_data).SetGenre("social-media").SetUrlParameter("output","rosette");RosetteResponseresponse=endpoint.Call(api);// Print out the response headersforeach(KeyValuePair<string,string>hinresponse.Headers){Console.WriteLine(string.Format("{0}:{1}",h.Key,h.Value));}// Print out the content in JSON format. The Content property returns an IDictionary.Console.WriteLine(response.ContentAsJson(pretty:true));

Synchronous

usingRosette.Api.Client;usingRosette.Api.Client.Endpoints;usingRosette.Api.Client.Models;ApiClientapi=new("YOUR_API_KEY");stringtext=@"The Securities and Exchange Commission today announced the leadership of the agency's trial unit. Bridget Fitzpatrick has been named Chief Litigation Counsel of the SEC.";Entitiesendpoint=newEntities(text).SetGenre("social-media");Responseresponse=endpoint.Call(api);foreach(KeyValuePair<string,string>hinresponse.Headers){Console.WriteLine($"{h.Key}:{h.Value}");}Console.WriteLine(response.ContentAsJson(pretty:true));

Async (Recommended)

usingRosette.Api.Client;usingRosette.Api.Client.Endpoints;usingRosette.Api.Client.Models;ApiClientapi=new("YOUR_API_KEY");stringtext_data1=@"The Securities and Exchange Commission today announced  the leadership of the agency’s trial unit. Bridget Fitzpatrick has been named Chief  Litigation Counsel of the SEC and David Gottesman will continue to serve as the agency’s  Deputy Chief Litigation Counsel.";stringtext_data2=@"Since December 2016, Ms. Fitzpatrick and Mr. Gottesman  have served as Co-Acting Chief Litigation Counsel.";stringtext_data3=@"In that role, they were jointly responsible  for supervising the trial unit at the agency’s Washington D.C. headquarters as well as coordinating  with litigators in the SEC’s 11 regional offices around the country.";string[]texts=new[]{text_data1,text_data2,text_data3};usingvarcts=newCancellationTokenSource(TimeSpan.FromSeconds(30));Task<Response>[]tasks=texts.Select(text =>newEntities(text).SetGenre("social-media").CallAsync(api,cts.Token)).ToArray();Response[]responses=awaitTask.WhenAll(tasks);foreach(varresponseinresponses){Console.WriteLine(response.ContentAsJson(pretty:true));}

Documentation

View the documentation

Packing the build

Packing the build will breate a nupkg file that can be used when running the examples. This is the same file that is published to NuGet From the root directory of the source tree, dotnet pack. Note the output directory if you want to run examples against it later. It will be something like rosette_api/bin/Debug.

Publishing

TODO: Coming soon

Building, Testing and Examples

The easiest way to build and test the source and run the examples against it is to use rosette/docker-dotnet

  1. cd to the root of the dotnet source
  2. docker run --rm -it -e <your api key> -v $(PWD):/source rosette/docker-dotnet

If you would like to run against an alternate URL, add -e <alternate url> before the -v

If you would prefer the manual approach, install dotnet on your computer and reference the following:

Building the source

From the root directory of the source tree, dotnet build. Note that .NET 10 SDK is a prerequisite for building the source.

Running the tests

From the root directory of the source tree, dotnet test tests/tests.csproj

Examples

View small example programs for each Analytics endpoint in the examples directory.

Documentation & Support

About

Babel Street Analytics Client Library for .Net

Resources

Stars

0 stars

Watchers

10 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - rosette-api/dotnet: Babel Street Analytics Client Library for .Net · GitHub
Skip to content

Repository files navigation

Babel Street Logo

Analytics by Babel Street


NuGet version

Our product is a full text processing pipeline from data preparation to extracting the most relevant information and analysis utilizing precise, focused AI that has built-in human understanding. Text Analytics provides foundational linguistic analysis for identifying languages and relating words. The result is enriched and normalized text for high-speed search and processing without translation.

Text Analytics extracts events and entities — people, organizations, and places — from unstructured text and adds the structure of associating those entities into events that deliver only the necessary information for near real-time decision making. Accompanying tools shorten the process of training AI models to recognize domain-specific events.

The product delivers a multitude of ways to sharpen and expand search results. Semantic similarity expands search beyond keywords to words with the same meaning, even in other languages. Sentiment analysis and topic extraction help filter results to what’s relevant.

Analytics API Access

Migrating from C# Binding

There are breaking changes between the C# Binding and the Dotnet Binding. In order to improve concurrency each endpoint is now its own class and requires an api object in order to execute a call. Additionally, required parameters are enforced in the constructor, while optional parameters are provided through a builder pattern.

Example (C# Binding):

Scene: On-Premise retrieval of entities

stringalturl="localhost:1234/rest/v1";CAPIapi=newCAPI(apikey,alturl);// C# sets the url parameter at the api level, affecting all endpoints until resetapi.SetUrlParameter("output","rosette");stringentities_text_data=@"The Securities and Exchange Commission today announced  the leadership of the agency’s trial unit. Bridget Fitzpatrick has been named Chief  Litigation Counsel of the SEC and David Gottesman will continue to serve as the agency’s  Deputy Chief Litigation Counsel. Since December 2016, Ms. Fitzpatrick and Mr. Gottesman  have served as Co-Acting Chief Litigation Counsel. In that role, they were jointly responsible  for supervising the trial unit at the agency’s Washington D.C. headquarters as well as coordinating  with litigators in the SEC’s 11 regional offices around the country.";EntitiesResponseresponse=api.Entity(entities_text_data,null,null,null,"social-media");foreach(KeyValuePair<string,string>hinresponse.Headers){Console.WriteLine(string.Format("{0}:{1}",h.Key,h.Value));}Console.WriteLine(response.ToString());

Dotnet Binding:

stringaltUrl="localhost:1234/rest/v1";// The alternate URL is set via a method, rather than through the constructorRosetteAPIapi=newRosetteAPI(apiKey).UseAlternateURL(altUrl);stringentities_text_data=@"The Securities and Exchange Commission today announced  the leadership of the agency’s trial unit. Bridget Fitzpatrick has been named Chief  Litigation Counsel of the SEC and David Gottesman will continue to serve as the agency’s  Deputy Chief Litigation Counsel. Since December 2016, Ms. Fitzpatrick and Mr. Gottesman  have served as Co-Acting Chief Litigation Counsel. In that role, they were jointly responsible  for supervising the trial unit at the agency’s Washington D.C. headquarters as well as coordinating  with litigators in the SEC’s 11 regional offices around the country.";// Create the endpoint. Note that the url parameters are set for the endpoint only, so other endpoints// are not affected.EntitiesEndpointendpoint=newEntitiesEndpoint(entities_text_data).SetGenre("social-media").SetUrlParameter("output","rosette");RosetteResponseresponse=endpoint.Call(api);// Print out the response headersforeach(KeyValuePair<string,string>hinresponse.Headers){Console.WriteLine(string.Format("{0}:{1}",h.Key,h.Value));}// Print out the content in JSON format. The Content property returns an IDictionary.Console.WriteLine(response.ContentAsJson(pretty:true));

Synchronous

usingRosette.Api.Client;usingRosette.Api.Client.Endpoints;usingRosette.Api.Client.Models;ApiClientapi=new("YOUR_API_KEY");stringtext=@"The Securities and Exchange Commission today announced the leadership of the agency's trial unit. Bridget Fitzpatrick has been named Chief Litigation Counsel of the SEC.";Entitiesendpoint=newEntities(text).SetGenre("social-media");Responseresponse=endpoint.Call(api);foreach(KeyValuePair<string,string>hinresponse.Headers){Console.WriteLine($"{h.Key}:{h.Value}");}Console.WriteLine(response.ContentAsJson(pretty:true));

Async (Recommended)

usingRosette.Api.Client;usingRosette.Api.Client.Endpoints;usingRosette.Api.Client.Models;ApiClientapi=new("YOUR_API_KEY");stringtext_data1=@"The Securities and Exchange Commission today announced  the leadership of the agency’s trial unit. Bridget Fitzpatrick has been named Chief  Litigation Counsel of the SEC and David Gottesman will continue to serve as the agency’s  Deputy Chief Litigation Counsel.";stringtext_data2=@"Since December 2016, Ms. Fitzpatrick and Mr. Gottesman  have served as Co-Acting Chief Litigation Counsel.";stringtext_data3=@"In that role, they were jointly responsible  for supervising the trial unit at the agency’s Washington D.C. headquarters as well as coordinating  with litigators in the SEC’s 11 regional offices around the country.";string[]texts=new[]{text_data1,text_data2,text_data3};usingvarcts=newCancellationTokenSource(TimeSpan.FromSeconds(30));Task<Response>[]tasks=texts.Select(text =>newEntities(text).SetGenre("social-media").CallAsync(api,cts.Token)).ToArray();Response[]responses=awaitTask.WhenAll(tasks);foreach(varresponseinresponses){Console.WriteLine(response.ContentAsJson(pretty:true));}

Documentation

View the documentation

Packing the build

Packing the build will breate a nupkg file that can be used when running the examples. This is the same file that is published to NuGet From the root directory of the source tree, dotnet pack. Note the output directory if you want to run examples against it later. It will be something like rosette_api/bin/Debug.

Publishing

TODO: Coming soon

Building, Testing and Examples

The easiest way to build and test the source and run the examples against it is to use rosette/docker-dotnet

  1. cd to the root of the dotnet source
  2. docker run --rm -it -e <your api key> -v $(PWD):/source rosette/docker-dotnet

If you would like to run against an alternate URL, add -e <alternate url> before the -v

If you would prefer the manual approach, install dotnet on your computer and reference the following:

Building the source

From the root directory of the source tree, dotnet build. Note that .NET 10 SDK is a prerequisite for building the source.

Running the tests

From the root directory of the source tree, dotnet test tests/tests.csproj

Examples

View small example programs for each Analytics endpoint in the examples directory.

Documentation & Support

About

Babel Street Analytics Client Library for .Net

Resources

Stars

0 stars

Watchers

10 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - rosette-api/dotnet: Babel Street Analytics Client Library for .Net · GitHub
Skip to content

Repository files navigation

Babel Street Logo

Analytics by Babel Street


NuGet version

Our product is a full text processing pipeline from data preparation to extracting the most relevant information and analysis utilizing precise, focused AI that has built-in human understanding. Text Analytics provides foundational linguistic analysis for identifying languages and relating words. The result is enriched and normalized text for high-speed search and processing without translation.

Text Analytics extracts events and entities — people, organizations, and places — from unstructured text and adds the structure of associating those entities into events that deliver only the necessary information for near real-time decision making. Accompanying tools shorten the process of training AI models to recognize domain-specific events.

The product delivers a multitude of ways to sharpen and expand search results. Semantic similarity expands search beyond keywords to words with the same meaning, even in other languages. Sentiment analysis and topic extraction help filter results to what’s relevant.

Analytics API Access

Migrating from C# Binding

There are breaking changes between the C# Binding and the Dotnet Binding. In order to improve concurrency each endpoint is now its own class and requires an api object in order to execute a call. Additionally, required parameters are enforced in the constructor, while optional parameters are provided through a builder pattern.

Example (C# Binding):

Scene: On-Premise retrieval of entities

stringalturl="localhost:1234/rest/v1";CAPIapi=newCAPI(apikey,alturl);// C# sets the url parameter at the api level, affecting all endpoints until resetapi.SetUrlParameter("output","rosette");stringentities_text_data=@"The Securities and Exchange Commission today announced  the leadership of the agency’s trial unit. Bridget Fitzpatrick has been named Chief  Litigation Counsel of the SEC and David Gottesman will continue to serve as the agency’s  Deputy Chief Litigation Counsel. Since December 2016, Ms. Fitzpatrick and Mr. Gottesman  have served as Co-Acting Chief Litigation Counsel. In that role, they were jointly responsible  for supervising the trial unit at the agency’s Washington D.C. headquarters as well as coordinating  with litigators in the SEC’s 11 regional offices around the country.";EntitiesResponseresponse=api.Entity(entities_text_data,null,null,null,"social-media");foreach(KeyValuePair<string,string>hinresponse.Headers){Console.WriteLine(string.Format("{0}:{1}",h.Key,h.Value));}Console.WriteLine(response.ToString());

Dotnet Binding:

stringaltUrl="localhost:1234/rest/v1";// The alternate URL is set via a method, rather than through the constructorRosetteAPIapi=newRosetteAPI(apiKey).UseAlternateURL(altUrl);stringentities_text_data=@"The Securities and Exchange Commission today announced  the leadership of the agency’s trial unit. Bridget Fitzpatrick has been named Chief  Litigation Counsel of the SEC and David Gottesman will continue to serve as the agency’s  Deputy Chief Litigation Counsel. Since December 2016, Ms. Fitzpatrick and Mr. Gottesman  have served as Co-Acting Chief Litigation Counsel. In that role, they were jointly responsible  for supervising the trial unit at the agency’s Washington D.C. headquarters as well as coordinating  with litigators in the SEC’s 11 regional offices around the country.";// Create the endpoint. Note that the url parameters are set for the endpoint only, so other endpoints// are not affected.EntitiesEndpointendpoint=newEntitiesEndpoint(entities_text_data).SetGenre("social-media").SetUrlParameter("output","rosette");RosetteResponseresponse=endpoint.Call(api);// Print out the response headersforeach(KeyValuePair<string,string>hinresponse.Headers){Console.WriteLine(string.Format("{0}:{1}",h.Key,h.Value));}// Print out the content in JSON format. The Content property returns an IDictionary.Console.WriteLine(response.ContentAsJson(pretty:true));

Synchronous

usingRosette.Api.Client;usingRosette.Api.Client.Endpoints;usingRosette.Api.Client.Models;ApiClientapi=new("YOUR_API_KEY");stringtext=@"The Securities and Exchange Commission today announced the leadership of the agency's trial unit. Bridget Fitzpatrick has been named Chief Litigation Counsel of the SEC.";Entitiesendpoint=newEntities(text).SetGenre("social-media");Responseresponse=endpoint.Call(api);foreach(KeyValuePair<string,string>hinresponse.Headers){Console.WriteLine($"{h.Key}:{h.Value}");}Console.WriteLine(response.ContentAsJson(pretty:true));

Async (Recommended)

usingRosette.Api.Client;usingRosette.Api.Client.Endpoints;usingRosette.Api.Client.Models;ApiClientapi=new("YOUR_API_KEY");stringtext_data1=@"The Securities and Exchange Commission today announced  the leadership of the agency’s trial unit. Bridget Fitzpatrick has been named Chief  Litigation Counsel of the SEC and David Gottesman will continue to serve as the agency’s  Deputy Chief Litigation Counsel.";stringtext_data2=@"Since December 2016, Ms. Fitzpatrick and Mr. Gottesman  have served as Co-Acting Chief Litigation Counsel.";stringtext_data3=@"In that role, they were jointly responsible  for supervising the trial unit at the agency’s Washington D.C. headquarters as well as coordinating  with litigators in the SEC’s 11 regional offices around the country.";string[]texts=new[]{text_data1,text_data2,text_data3};usingvarcts=newCancellationTokenSource(TimeSpan.FromSeconds(30));Task<Response>[]tasks=texts.Select(text =>newEntities(text).SetGenre("social-media").CallAsync(api,cts.Token)).ToArray();Response[]responses=awaitTask.WhenAll(tasks);foreach(varresponseinresponses){Console.WriteLine(response.ContentAsJson(pretty:true));}

Documentation

View the documentation

Packing the build

Packing the build will breate a nupkg file that can be used when running the examples. This is the same file that is published to NuGet From the root directory of the source tree, dotnet pack. Note the output directory if you want to run examples against it later. It will be something like rosette_api/bin/Debug.

Publishing

TODO: Coming soon

Building, Testing and Examples

The easiest way to build and test the source and run the examples against it is to use rosette/docker-dotnet

  1. cd to the root of the dotnet source
  2. docker run --rm -it -e <your api key> -v $(PWD):/source rosette/docker-dotnet

If you would like to run against an alternate URL, add -e <alternate url> before the -v

If you would prefer the manual approach, install dotnet on your computer and reference the following:

Building the source

From the root directory of the source tree, dotnet build. Note that .NET 10 SDK is a prerequisite for building the source.

Running the tests

From the root directory of the source tree, dotnet test tests/tests.csproj

Examples

View small example programs for each Analytics endpoint in the examples directory.

Documentation & Support

About

Babel Street Analytics Client Library for .Net

Resources

Stars

0 stars

Watchers

10 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - rosette-api/dotnet: Babel Street Analytics Client Library for .Net · GitHub
Skip to content

Repository files navigation

Babel Street Logo

Analytics by Babel Street


NuGet version

Our product is a full text processing pipeline from data preparation to extracting the most relevant information and analysis utilizing precise, focused AI that has built-in human understanding. Text Analytics provides foundational linguistic analysis for identifying languages and relating words. The result is enriched and normalized text for high-speed search and processing without translation.

Text Analytics extracts events and entities — people, organizations, and places — from unstructured text and adds the structure of associating those entities into events that deliver only the necessary information for near real-time decision making. Accompanying tools shorten the process of training AI models to recognize domain-specific events.

The product delivers a multitude of ways to sharpen and expand search results. Semantic similarity expands search beyond keywords to words with the same meaning, even in other languages. Sentiment analysis and topic extraction help filter results to what’s relevant.

Analytics API Access

Migrating from C# Binding

There are breaking changes between the C# Binding and the Dotnet Binding. In order to improve concurrency each endpoint is now its own class and requires an api object in order to execute a call. Additionally, required parameters are enforced in the constructor, while optional parameters are provided through a builder pattern.

Example (C# Binding):

Scene: On-Premise retrieval of entities

stringalturl="localhost:1234/rest/v1";CAPIapi=newCAPI(apikey,alturl);// C# sets the url parameter at the api level, affecting all endpoints until resetapi.SetUrlParameter("output","rosette");stringentities_text_data=@"The Securities and Exchange Commission today announced  the leadership of the agency’s trial unit. Bridget Fitzpatrick has been named Chief  Litigation Counsel of the SEC and David Gottesman will continue to serve as the agency’s  Deputy Chief Litigation Counsel. Since December 2016, Ms. Fitzpatrick and Mr. Gottesman  have served as Co-Acting Chief Litigation Counsel. In that role, they were jointly responsible  for supervising the trial unit at the agency’s Washington D.C. headquarters as well as coordinating  with litigators in the SEC’s 11 regional offices around the country.";EntitiesResponseresponse=api.Entity(entities_text_data,null,null,null,"social-media");foreach(KeyValuePair<string,string>hinresponse.Headers){Console.WriteLine(string.Format("{0}:{1}",h.Key,h.Value));}Console.WriteLine(response.ToString());

Dotnet Binding:

stringaltUrl="localhost:1234/rest/v1";// The alternate URL is set via a method, rather than through the constructorRosetteAPIapi=newRosetteAPI(apiKey).UseAlternateURL(altUrl);stringentities_text_data=@"The Securities and Exchange Commission today announced  the leadership of the agency’s trial unit. Bridget Fitzpatrick has been named Chief  Litigation Counsel of the SEC and David Gottesman will continue to serve as the agency’s  Deputy Chief Litigation Counsel. Since December 2016, Ms. Fitzpatrick and Mr. Gottesman  have served as Co-Acting Chief Litigation Counsel. In that role, they were jointly responsible  for supervising the trial unit at the agency’s Washington D.C. headquarters as well as coordinating  with litigators in the SEC’s 11 regional offices around the country.";// Create the endpoint. Note that the url parameters are set for the endpoint only, so other endpoints// are not affected.EntitiesEndpointendpoint=newEntitiesEndpoint(entities_text_data).SetGenre("social-media").SetUrlParameter("output","rosette");RosetteResponseresponse=endpoint.Call(api);// Print out the response headersforeach(KeyValuePair<string,string>hinresponse.Headers){Console.WriteLine(string.Format("{0}:{1}",h.Key,h.Value));}// Print out the content in JSON format. The Content property returns an IDictionary.Console.WriteLine(response.ContentAsJson(pretty:true));

Synchronous

usingRosette.Api.Client;usingRosette.Api.Client.Endpoints;usingRosette.Api.Client.Models;ApiClientapi=new("YOUR_API_KEY");stringtext=@"The Securities and Exchange Commission today announced the leadership of the agency's trial unit. Bridget Fitzpatrick has been named Chief Litigation Counsel of the SEC.";Entitiesendpoint=newEntities(text).SetGenre("social-media");Responseresponse=endpoint.Call(api);foreach(KeyValuePair<string,string>hinresponse.Headers){Console.WriteLine($"{h.Key}:{h.Value}");}Console.WriteLine(response.ContentAsJson(pretty:true));

Async (Recommended)

usingRosette.Api.Client;usingRosette.Api.Client.Endpoints;usingRosette.Api.Client.Models;ApiClientapi=new("YOUR_API_KEY");stringtext_data1=@"The Securities and Exchange Commission today announced  the leadership of the agency’s trial unit. Bridget Fitzpatrick has been named Chief  Litigation Counsel of the SEC and David Gottesman will continue to serve as the agency’s  Deputy Chief Litigation Counsel.";stringtext_data2=@"Since December 2016, Ms. Fitzpatrick and Mr. Gottesman  have served as Co-Acting Chief Litigation Counsel.";stringtext_data3=@"In that role, they were jointly responsible  for supervising the trial unit at the agency’s Washington D.C. headquarters as well as coordinating  with litigators in the SEC’s 11 regional offices around the country.";string[]texts=new[]{text_data1,text_data2,text_data3};usingvarcts=newCancellationTokenSource(TimeSpan.FromSeconds(30));Task<Response>[]tasks=texts.Select(text =>newEntities(text).SetGenre("social-media").CallAsync(api,cts.Token)).ToArray();Response[]responses=awaitTask.WhenAll(tasks);foreach(varresponseinresponses){Console.WriteLine(response.ContentAsJson(pretty:true));}

Documentation

View the documentation

Packing the build

Packing the build will breate a nupkg file that can be used when running the examples. This is the same file that is published to NuGet From the root directory of the source tree, dotnet pack. Note the output directory if you want to run examples against it later. It will be something like rosette_api/bin/Debug.

Publishing

TODO: Coming soon

Building, Testing and Examples

The easiest way to build and test the source and run the examples against it is to use rosette/docker-dotnet

  1. cd to the root of the dotnet source
  2. docker run --rm -it -e <your api key> -v $(PWD):/source rosette/docker-dotnet

If you would like to run against an alternate URL, add -e <alternate url> before the -v

If you would prefer the manual approach, install dotnet on your computer and reference the following:

Building the source

From the root directory of the source tree, dotnet build. Note that .NET 10 SDK is a prerequisite for building the source.

Running the tests

From the root directory of the source tree, dotnet test tests/tests.csproj

Examples

View small example programs for each Analytics endpoint in the examples directory.

Documentation & Support

About

Babel Street Analytics Client Library for .Net

Resources

Stars

0 stars

Watchers

10 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - rosette-api/dotnet: Babel Street Analytics Client Library for .Net · GitHub
Skip to content

Repository files navigation

Babel Street Logo

Analytics by Babel Street


NuGet version

Our product is a full text processing pipeline from data preparation to extracting the most relevant information and analysis utilizing precise, focused AI that has built-in human understanding. Text Analytics provides foundational linguistic analysis for identifying languages and relating words. The result is enriched and normalized text for high-speed search and processing without translation.

Text Analytics extracts events and entities — people, organizations, and places — from unstructured text and adds the structure of associating those entities into events that deliver only the necessary information for near real-time decision making. Accompanying tools shorten the process of training AI models to recognize domain-specific events.

The product delivers a multitude of ways to sharpen and expand search results. Semantic similarity expands search beyond keywords to words with the same meaning, even in other languages. Sentiment analysis and topic extraction help filter results to what’s relevant.

Analytics API Access

Migrating from C# Binding

There are breaking changes between the C# Binding and the Dotnet Binding. In order to improve concurrency each endpoint is now its own class and requires an api object in order to execute a call. Additionally, required parameters are enforced in the constructor, while optional parameters are provided through a builder pattern.

Example (C# Binding):

Scene: On-Premise retrieval of entities

stringalturl="localhost:1234/rest/v1";CAPIapi=newCAPI(apikey,alturl);// C# sets the url parameter at the api level, affecting all endpoints until resetapi.SetUrlParameter("output","rosette");stringentities_text_data=@"The Securities and Exchange Commission today announced  the leadership of the agency’s trial unit. Bridget Fitzpatrick has been named Chief  Litigation Counsel of the SEC and David Gottesman will continue to serve as the agency’s  Deputy Chief Litigation Counsel. Since December 2016, Ms. Fitzpatrick and Mr. Gottesman  have served as Co-Acting Chief Litigation Counsel. In that role, they were jointly responsible  for supervising the trial unit at the agency’s Washington D.C. headquarters as well as coordinating  with litigators in the SEC’s 11 regional offices around the country.";EntitiesResponseresponse=api.Entity(entities_text_data,null,null,null,"social-media");foreach(KeyValuePair<string,string>hinresponse.Headers){Console.WriteLine(string.Format("{0}:{1}",h.Key,h.Value));}Console.WriteLine(response.ToString());

Dotnet Binding:

stringaltUrl="localhost:1234/rest/v1";// The alternate URL is set via a method, rather than through the constructorRosetteAPIapi=newRosetteAPI(apiKey).UseAlternateURL(altUrl);stringentities_text_data=@"The Securities and Exchange Commission today announced  the leadership of the agency’s trial unit. Bridget Fitzpatrick has been named Chief  Litigation Counsel of the SEC and David Gottesman will continue to serve as the agency’s  Deputy Chief Litigation Counsel. Since December 2016, Ms. Fitzpatrick and Mr. Gottesman  have served as Co-Acting Chief Litigation Counsel. In that role, they were jointly responsible  for supervising the trial unit at the agency’s Washington D.C. headquarters as well as coordinating  with litigators in the SEC’s 11 regional offices around the country.";// Create the endpoint. Note that the url parameters are set for the endpoint only, so other endpoints// are not affected.EntitiesEndpointendpoint=newEntitiesEndpoint(entities_text_data).SetGenre("social-media").SetUrlParameter("output","rosette");RosetteResponseresponse=endpoint.Call(api);// Print out the response headersforeach(KeyValuePair<string,string>hinresponse.Headers){Console.WriteLine(string.Format("{0}:{1}",h.Key,h.Value));}// Print out the content in JSON format. The Content property returns an IDictionary.Console.WriteLine(response.ContentAsJson(pretty:true));

Synchronous

usingRosette.Api.Client;usingRosette.Api.Client.Endpoints;usingRosette.Api.Client.Models;ApiClientapi=new("YOUR_API_KEY");stringtext=@"The Securities and Exchange Commission today announced the leadership of the agency's trial unit. Bridget Fitzpatrick has been named Chief Litigation Counsel of the SEC.";Entitiesendpoint=newEntities(text).SetGenre("social-media");Responseresponse=endpoint.Call(api);foreach(KeyValuePair<string,string>hinresponse.Headers){Console.WriteLine($"{h.Key}:{h.Value}");}Console.WriteLine(response.ContentAsJson(pretty:true));

Async (Recommended)

usingRosette.Api.Client;usingRosette.Api.Client.Endpoints;usingRosette.Api.Client.Models;ApiClientapi=new("YOUR_API_KEY");stringtext_data1=@"The Securities and Exchange Commission today announced  the leadership of the agency’s trial unit. Bridget Fitzpatrick has been named Chief  Litigation Counsel of the SEC and David Gottesman will continue to serve as the agency’s  Deputy Chief Litigation Counsel.";stringtext_data2=@"Since December 2016, Ms. Fitzpatrick and Mr. Gottesman  have served as Co-Acting Chief Litigation Counsel.";stringtext_data3=@"In that role, they were jointly responsible  for supervising the trial unit at the agency’s Washington D.C. headquarters as well as coordinating  with litigators in the SEC’s 11 regional offices around the country.";string[]texts=new[]{text_data1,text_data2,text_data3};usingvarcts=newCancellationTokenSource(TimeSpan.FromSeconds(30));Task<Response>[]tasks=texts.Select(text =>newEntities(text).SetGenre("social-media").CallAsync(api,cts.Token)).ToArray();Response[]responses=awaitTask.WhenAll(tasks);foreach(varresponseinresponses){Console.WriteLine(response.ContentAsJson(pretty:true));}

Documentation

View the documentation

Packing the build

Packing the build will breate a nupkg file that can be used when running the examples. This is the same file that is published to NuGet From the root directory of the source tree, dotnet pack. Note the output directory if you want to run examples against it later. It will be something like rosette_api/bin/Debug.

Publishing

TODO: Coming soon

Building, Testing and Examples

The easiest way to build and test the source and run the examples against it is to use rosette/docker-dotnet

  1. cd to the root of the dotnet source
  2. docker run --rm -it -e <your api key> -v $(PWD):/source rosette/docker-dotnet

If you would like to run against an alternate URL, add -e <alternate url> before the -v

If you would prefer the manual approach, install dotnet on your computer and reference the following:

Building the source

From the root directory of the source tree, dotnet build. Note that .NET 10 SDK is a prerequisite for building the source.

Running the tests

From the root directory of the source tree, dotnet test tests/tests.csproj

Examples

View small example programs for each Analytics endpoint in the examples directory.

Documentation & Support

About

Babel Street Analytics Client Library for .Net

Resources

Stars

0 stars

Watchers

10 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - rosette-api/dotnet: Babel Street Analytics Client Library for .Net · GitHub
Skip to content

Repository files navigation

Babel Street Logo

Analytics by Babel Street


NuGet version

Our product is a full text processing pipeline from data preparation to extracting the most relevant information and analysis utilizing precise, focused AI that has built-in human understanding. Text Analytics provides foundational linguistic analysis for identifying languages and relating words. The result is enriched and normalized text for high-speed search and processing without translation.

Text Analytics extracts events and entities — people, organizations, and places — from unstructured text and adds the structure of associating those entities into events that deliver only the necessary information for near real-time decision making. Accompanying tools shorten the process of training AI models to recognize domain-specific events.

The product delivers a multitude of ways to sharpen and expand search results. Semantic similarity expands search beyond keywords to words with the same meaning, even in other languages. Sentiment analysis and topic extraction help filter results to what’s relevant.

Analytics API Access

Migrating from C# Binding

There are breaking changes between the C# Binding and the Dotnet Binding. In order to improve concurrency each endpoint is now its own class and requires an api object in order to execute a call. Additionally, required parameters are enforced in the constructor, while optional parameters are provided through a builder pattern.

Example (C# Binding):

Scene: On-Premise retrieval of entities

stringalturl="localhost:1234/rest/v1";CAPIapi=newCAPI(apikey,alturl);// C# sets the url parameter at the api level, affecting all endpoints until resetapi.SetUrlParameter("output","rosette");stringentities_text_data=@"The Securities and Exchange Commission today announced  the leadership of the agency’s trial unit. Bridget Fitzpatrick has been named Chief  Litigation Counsel of the SEC and David Gottesman will continue to serve as the agency’s  Deputy Chief Litigation Counsel. Since December 2016, Ms. Fitzpatrick and Mr. Gottesman  have served as Co-Acting Chief Litigation Counsel. In that role, they were jointly responsible  for supervising the trial unit at the agency’s Washington D.C. headquarters as well as coordinating  with litigators in the SEC’s 11 regional offices around the country.";EntitiesResponseresponse=api.Entity(entities_text_data,null,null,null,"social-media");foreach(KeyValuePair<string,string>hinresponse.Headers){Console.WriteLine(string.Format("{0}:{1}",h.Key,h.Value));}Console.WriteLine(response.ToString());

Dotnet Binding:

stringaltUrl="localhost:1234/rest/v1";// The alternate URL is set via a method, rather than through the constructorRosetteAPIapi=newRosetteAPI(apiKey).UseAlternateURL(altUrl);stringentities_text_data=@"The Securities and Exchange Commission today announced  the leadership of the agency’s trial unit. Bridget Fitzpatrick has been named Chief  Litigation Counsel of the SEC and David Gottesman will continue to serve as the agency’s  Deputy Chief Litigation Counsel. Since December 2016, Ms. Fitzpatrick and Mr. Gottesman  have served as Co-Acting Chief Litigation Counsel. In that role, they were jointly responsible  for supervising the trial unit at the agency’s Washington D.C. headquarters as well as coordinating  with litigators in the SEC’s 11 regional offices around the country.";// Create the endpoint. Note that the url parameters are set for the endpoint only, so other endpoints// are not affected.EntitiesEndpointendpoint=newEntitiesEndpoint(entities_text_data).SetGenre("social-media").SetUrlParameter("output","rosette");RosetteResponseresponse=endpoint.Call(api);// Print out the response headersforeach(KeyValuePair<string,string>hinresponse.Headers){Console.WriteLine(string.Format("{0}:{1}",h.Key,h.Value));}// Print out the content in JSON format. The Content property returns an IDictionary.Console.WriteLine(response.ContentAsJson(pretty:true));

Synchronous

usingRosette.Api.Client;usingRosette.Api.Client.Endpoints;usingRosette.Api.Client.Models;ApiClientapi=new("YOUR_API_KEY");stringtext=@"The Securities and Exchange Commission today announced the leadership of the agency's trial unit. Bridget Fitzpatrick has been named Chief Litigation Counsel of the SEC.";Entitiesendpoint=newEntities(text).SetGenre("social-media");Responseresponse=endpoint.Call(api);foreach(KeyValuePair<string,string>hinresponse.Headers){Console.WriteLine($"{h.Key}:{h.Value}");}Console.WriteLine(response.ContentAsJson(pretty:true));

Async (Recommended)

usingRosette.Api.Client;usingRosette.Api.Client.Endpoints;usingRosette.Api.Client.Models;ApiClientapi=new("YOUR_API_KEY");stringtext_data1=@"The Securities and Exchange Commission today announced  the leadership of the agency’s trial unit. Bridget Fitzpatrick has been named Chief  Litigation Counsel of the SEC and David Gottesman will continue to serve as the agency’s  Deputy Chief Litigation Counsel.";stringtext_data2=@"Since December 2016, Ms. Fitzpatrick and Mr. Gottesman  have served as Co-Acting Chief Litigation Counsel.";stringtext_data3=@"In that role, they were jointly responsible  for supervising the trial unit at the agency’s Washington D.C. headquarters as well as coordinating  with litigators in the SEC’s 11 regional offices around the country.";string[]texts=new[]{text_data1,text_data2,text_data3};usingvarcts=newCancellationTokenSource(TimeSpan.FromSeconds(30));Task<Response>[]tasks=texts.Select(text =>newEntities(text).SetGenre("social-media").CallAsync(api,cts.Token)).ToArray();Response[]responses=awaitTask.WhenAll(tasks);foreach(varresponseinresponses){Console.WriteLine(response.ContentAsJson(pretty:true));}

Documentation

View the documentation

Packing the build

Packing the build will breate a nupkg file that can be used when running the examples. This is the same file that is published to NuGet From the root directory of the source tree, dotnet pack. Note the output directory if you want to run examples against it later. It will be something like rosette_api/bin/Debug.

Publishing

TODO: Coming soon

Building, Testing and Examples

The easiest way to build and test the source and run the examples against it is to use rosette/docker-dotnet

  1. cd to the root of the dotnet source
  2. docker run --rm -it -e <your api key> -v $(PWD):/source rosette/docker-dotnet

If you would like to run against an alternate URL, add -e <alternate url> before the -v

If you would prefer the manual approach, install dotnet on your computer and reference the following:

Building the source

From the root directory of the source tree, dotnet build. Note that .NET 10 SDK is a prerequisite for building the source.

Running the tests

From the root directory of the source tree, dotnet test tests/tests.csproj

Examples

View small example programs for each Analytics endpoint in the examples directory.

Documentation & Support

About

Babel Street Analytics Client Library for .Net

Resources

Stars

0 stars

Watchers

10 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - rosette-api/dotnet: Babel Street Analytics Client Library for .Net · GitHub
Skip to content

Repository files navigation

Babel Street Logo

Analytics by Babel Street


NuGet version

Our product is a full text processing pipeline from data preparation to extracting the most relevant information and analysis utilizing precise, focused AI that has built-in human understanding. Text Analytics provides foundational linguistic analysis for identifying languages and relating words. The result is enriched and normalized text for high-speed search and processing without translation.

Text Analytics extracts events and entities — people, organizations, and places — from unstructured text and adds the structure of associating those entities into events that deliver only the necessary information for near real-time decision making. Accompanying tools shorten the process of training AI models to recognize domain-specific events.

The product delivers a multitude of ways to sharpen and expand search results. Semantic similarity expands search beyond keywords to words with the same meaning, even in other languages. Sentiment analysis and topic extraction help filter results to what’s relevant.

Analytics API Access

Migrating from C# Binding

There are breaking changes between the C# Binding and the Dotnet Binding. In order to improve concurrency each endpoint is now its own class and requires an api object in order to execute a call. Additionally, required parameters are enforced in the constructor, while optional parameters are provided through a builder pattern.

Example (C# Binding):

Scene: On-Premise retrieval of entities

stringalturl="localhost:1234/rest/v1";CAPIapi=newCAPI(apikey,alturl);// C# sets the url parameter at the api level, affecting all endpoints until resetapi.SetUrlParameter("output","rosette");stringentities_text_data=@"The Securities and Exchange Commission today announced  the leadership of the agency’s trial unit. Bridget Fitzpatrick has been named Chief  Litigation Counsel of the SEC and David Gottesman will continue to serve as the agency’s  Deputy Chief Litigation Counsel. Since December 2016, Ms. Fitzpatrick and Mr. Gottesman  have served as Co-Acting Chief Litigation Counsel. In that role, they were jointly responsible  for supervising the trial unit at the agency’s Washington D.C. headquarters as well as coordinating  with litigators in the SEC’s 11 regional offices around the country.";EntitiesResponseresponse=api.Entity(entities_text_data,null,null,null,"social-media");foreach(KeyValuePair<string,string>hinresponse.Headers){Console.WriteLine(string.Format("{0}:{1}",h.Key,h.Value));}Console.WriteLine(response.ToString());

Dotnet Binding:

stringaltUrl="localhost:1234/rest/v1";// The alternate URL is set via a method, rather than through the constructorRosetteAPIapi=newRosetteAPI(apiKey).UseAlternateURL(altUrl);stringentities_text_data=@"The Securities and Exchange Commission today announced  the leadership of the agency’s trial unit. Bridget Fitzpatrick has been named Chief  Litigation Counsel of the SEC and David Gottesman will continue to serve as the agency’s  Deputy Chief Litigation Counsel. Since December 2016, Ms. Fitzpatrick and Mr. Gottesman  have served as Co-Acting Chief Litigation Counsel. In that role, they were jointly responsible  for supervising the trial unit at the agency’s Washington D.C. headquarters as well as coordinating  with litigators in the SEC’s 11 regional offices around the country.";// Create the endpoint. Note that the url parameters are set for the endpoint only, so other endpoints// are not affected.EntitiesEndpointendpoint=newEntitiesEndpoint(entities_text_data).SetGenre("social-media").SetUrlParameter("output","rosette");RosetteResponseresponse=endpoint.Call(api);// Print out the response headersforeach(KeyValuePair<string,string>hinresponse.Headers){Console.WriteLine(string.Format("{0}:{1}",h.Key,h.Value));}// Print out the content in JSON format. The Content property returns an IDictionary.Console.WriteLine(response.ContentAsJson(pretty:true));

Synchronous

usingRosette.Api.Client;usingRosette.Api.Client.Endpoints;usingRosette.Api.Client.Models;ApiClientapi=new("YOUR_API_KEY");stringtext=@"The Securities and Exchange Commission today announced the leadership of the agency's trial unit. Bridget Fitzpatrick has been named Chief Litigation Counsel of the SEC.";Entitiesendpoint=newEntities(text).SetGenre("social-media");Responseresponse=endpoint.Call(api);foreach(KeyValuePair<string,string>hinresponse.Headers){Console.WriteLine($"{h.Key}:{h.Value}");}Console.WriteLine(response.ContentAsJson(pretty:true));

Async (Recommended)

usingRosette.Api.Client;usingRosette.Api.Client.Endpoints;usingRosette.Api.Client.Models;ApiClientapi=new("YOUR_API_KEY");stringtext_data1=@"The Securities and Exchange Commission today announced  the leadership of the agency’s trial unit. Bridget Fitzpatrick has been named Chief  Litigation Counsel of the SEC and David Gottesman will continue to serve as the agency’s  Deputy Chief Litigation Counsel.";stringtext_data2=@"Since December 2016, Ms. Fitzpatrick and Mr. Gottesman  have served as Co-Acting Chief Litigation Counsel.";stringtext_data3=@"In that role, they were jointly responsible  for supervising the trial unit at the agency’s Washington D.C. headquarters as well as coordinating  with litigators in the SEC’s 11 regional offices around the country.";string[]texts=new[]{text_data1,text_data2,text_data3};usingvarcts=newCancellationTokenSource(TimeSpan.FromSeconds(30));Task<Response>[]tasks=texts.Select(text =>newEntities(text).SetGenre("social-media").CallAsync(api,cts.Token)).ToArray();Response[]responses=awaitTask.WhenAll(tasks);foreach(varresponseinresponses){Console.WriteLine(response.ContentAsJson(pretty:true));}

Documentation

View the documentation

Packing the build

Packing the build will breate a nupkg file that can be used when running the examples. This is the same file that is published to NuGet From the root directory of the source tree, dotnet pack. Note the output directory if you want to run examples against it later. It will be something like rosette_api/bin/Debug.

Publishing

TODO: Coming soon

Building, Testing and Examples

The easiest way to build and test the source and run the examples against it is to use rosette/docker-dotnet

  1. cd to the root of the dotnet source
  2. docker run --rm -it -e <your api key> -v $(PWD):/source rosette/docker-dotnet

If you would like to run against an alternate URL, add -e <alternate url> before the -v

If you would prefer the manual approach, install dotnet on your computer and reference the following:

Building the source

From the root directory of the source tree, dotnet build. Note that .NET 10 SDK is a prerequisite for building the source.

Running the tests

From the root directory of the source tree, dotnet test tests/tests.csproj

Examples

View small example programs for each Analytics endpoint in the examples directory.

Documentation & Support

About

Babel Street Analytics Client Library for .Net

Resources

Stars

0 stars

Watchers

10 watching

Forks

Releases

Packages

Used by

Contributors

Languages