Я пытаюсь найти строку, введенную пользователем, в список известных терминов для определения темы. То есть, я сохраняю свой собственный список тем и связанных с ними ключевых слов и хочу сопоставляться с введенной пользователем строкой, чтобы определить те темы, к которым она относится. Тем не менее, я хочу, чтобы несколько терминов были «удалены», чтобы избежать ложных срабатываний.сопоставление нескольких терминов в строке для определения темы
например. на основе коды:
//create a list of topic keywords
List<string> CivilWar = new List<string>()
{
"Confederacy", "Union", "Civil War", "Lincoln", "Stonewall Jackson"
};
//does the user agent string exist in the list?
bool isTopic = CivilWar.Exists(x => source.Contains(x));
return isTopic
строка «обструкция Джексон боролся за Конфедерацию» возвращает правильный положительный/истинный результат, но строка «Джон Кеннеди Тул написал Конфедерацию Остолопов» возвращает ложный положительный/истинный результат ,
Как я могу убедиться, что для получения положительного результата требуются несколько терминов?
Скорее всего, вы ищете StartsWith –
Нет, я определенно не так, поскольку ключевые слова могут появляться в любом месте строки. – Dave