Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Данный алгоритм не учитывает транспозиционные ошибки, которыми являются 80% при наборе текста (данные с википедии).
приведенный алгоритм дла «CA» и «ABC» выдает 3, а нужно 2
тут вы тоже не правы, Дамерау в статье выдвигает гипотезу, что 80% всех типов опечаток входит в множество из 4 типов {удаление, вставка, замена, перестановка соседних}
public class Dictionary
{
protected RestClient _client = new RestClient("https://dictionary.yandex.net/api/v1/dicservice/");
protected string _key;
...
}
RestRequest request = new RestRequest("getLangs");
request.AddParameter("key", _key);
RestResponse response = (RestResponse)_client.Execute(request);
XmlAttributeDeserializer deserializer = new XmlAttributeDeserializer();
if (response.StatusCode == System.Net.HttpStatusCode.OK)
{
var strs = deserializer.Deserialize<List<string>>(response);
var allLangs = (Lang[])Enum.GetValues(typeof(Lang));
Lang[] result = allLangs.Where(lang => strs.Contains(lang.ToString().ToLowerInvariant())).ToArray();
return result;
}
else
{
var error = deserializer.Deserialize<YandexError>(response);
throw new YandexLinguisticsException(error);
}
RestResponse response = (RestResponse)_client.Execute(request);
XmlAttributeDeserializer deserializer = new XmlAttributeDeserializer();
if (response.StatusCode == System.Net.HttpStatusCode.OK)
{
...
}
else
{
...
}
Залил новую версию с асинхронными вызовами :) https://www.nuget.org/packages/YandexLinguistics.NET/2.0.0
var error = deserializer.Deserialize<YandexError>(response);
throw new YandexLinguisticsException(error);
System.NullReferenceException: Object reference not set to an instance of an object.
at YandexLinguistics.NET.YandexLinguisticsException..ctor(YandexError error) in c:\Users\юленька\Documents\Code\Yandex-Linguistics.NET\YandexLinguistics.NET\YandexLinguisticsException.cs:line 12
at YandexLinguistics.NET.Dictionary.Lookup(LangPair lang, String text, String ui, LookupOptions flags) in c:\Users\юленька\Documents\Code\Yandex-Linguistics.NET\YandexLinguistics.NET\Dictionary\Dictionary.cs:line 69
at YandexLinguistics.NET.Gui.frmMain.<UpdateDictionaryResult>b__13() in c:\Users\юленька\Documents\Code\Yandex-Linguistics.NET\YandexLinguistics.NET.Gui\frmMain.cs:line 332
RestResponse response = (RestResponse)_client.Execute(request);
XmlAttributeDeserializer deserializer = new XmlAttributeDeserializer();
if (response.StatusCode == System.Net.HttpStatusCode.OK)
{
var strs = deserializer.Deserialize<List<string>>(response);
var allLangs = (Lang[])Enum.GetValues(typeof(Lang));
HttpResponseMessage response = client.GetAsync("api/products").Result; // Blocking call!
if (response.IsSuccessStatusCode)
{
// Parse the response body. Blocking!
var products = response.Content.ReadAsAsync<IEnumerable<Product>>().Result;
API Яндекс Лингвистики под .NET