本文整理汇总了C#中IMatcher.Interpretations方法的典型用法代码示例。如果您正苦于以下问题:C# IMatcher.Interpretations方法的具体用法?C# IMatcher.Interpretations怎么用?C# IMatcher.Interpretations使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IMatcher
的用法示例。
在下文中一共展示了IMatcher.Interpretations方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ReadPhrases
static void ReadPhrases(string path, IMatcher matcher)
{
var timer = Stopwatch.StartNew();
int count = 0;
using (var stream = new StreamReader(path))
{
var splitter = new Regex("(?:^|,)(?:(?:\"((?:[^\"]|\"\")*)\")|([^,\"]*))", RegexOptions.Compiled);
Func<string, string[]> split = (input) => (from Match match in splitter.Matches(input) select match.Groups[1].Success ? match.Groups[1].Value : match.Groups[2].Value).ToArray();
var columns = split(stream.ReadLine());
while (!stream.EndOfStream)
{
var line = stream.ReadLine();
var values = split(line);
matcher.AddEntities("DVD", values[0]);
++count;
}
}
matcher.Compute();
matcher.Interpretations("dkjkjh", 1, 0.0).ToList();
Console.WriteLine($"Reading {count} phrases from {path} took {timer.Elapsed.TotalSeconds}s");
}
示例2: TestLoop
static void TestLoop(IMatcher matcher)
{
int spansPerPosition = 1;
double threshold = 0.25;
string input;
Console.WriteLine($"-threshold {threshold} will set the threshold for dropping matches.");
Console.WriteLine($"-spans {spansPerPosition} will control how many matches per range.");
Console.Write("\nInput: ");
while (!string.IsNullOrWhiteSpace(input = Console.ReadLine()))
{
if (input.StartsWith("-threshold"))
{
if (double.TryParse(input.Substring("-threshold".Length), out threshold))
{
Console.WriteLine($"Set threshold to {threshold}");
}
else
{
Console.WriteLine("Could not parse threshold");
}
}
else if (input.StartsWith("-spans"))
{
if (int.TryParse(input.Substring("-spans".Length), out spansPerPosition))
{
Console.WriteLine($"Set spans to {spansPerPosition}");
}
else
{
Console.WriteLine("Could not parse spans");
}
}
else
{
var timer = Stopwatch.StartNew();
var interpretations = matcher.Interpretations(input, spansPerPosition, threshold).ToList();
Console.WriteLine($"Interpretation took {timer.Elapsed.TotalSeconds}s");
foreach (var interpretation in interpretations)
{
Console.WriteLine($"{interpretation}");
}
}
Console.Write("\nInput: ");
}
}