NamedEntityExtractorSK.Finder.GetMatches C# (CSharp) Method

GetMatches() public method

Get matches - result is location/person/organization
public GetMatches ( string word, int take ) : List>
word string
take int
return List>
		public List<Tuple<string, double, NamedEntityType>> GetMatches(string word, int take)
		{
			var l = Locations.Select(x =>
			{
				var sim = CompareStrings(word, RemoveDiacritics(x));
				return new Tuple<string, double, NamedEntityType>(string.Format("'{0}' is location (sim: {1:0.0%})", x, sim), sim, NamedEntityType.Location);
			})
			.OrderByDescending(t => t.Item2).Take(take).ToList();

			var p = Persons.Select(x =>
			{
				var sim = CompareStrings(word, RemoveDiacritics(x));
				return new Tuple<string, double, NamedEntityType>(string.Format("'{0}' is person (sim: {1:0.0%})", x, sim), sim, NamedEntityType.Person);
			})
			.OrderByDescending(t => t.Item2).Take(take).ToList();

			var o = Organizations.Select(x =>
			{
				var sim = CompareStrings(word, RemoveDiacritics(x));
				return new Tuple<string, double, NamedEntityType>(string.Format("'{0}' is organization (sim: {1:0.0%})", x, sim), sim, NamedEntityType.Organization);
			})
			.OrderByDescending(t => t.Item2).Take(take).ToList();

			l.AddRange(p);
			l.AddRange(o);

			return l.OrderByDescending(x => x.Item2).ToList();
		}