Классический способ сделать это - определить набор ключевых слов, которые вы хотите алгоритмы найти для каждого абзаца, а затем проверить, насколько хорошо алгоритмы справляются с этим набором, например, (генерируется_правильно - генерировано_не правильно) / total_generated (см. обновление, это нонсенс). Это автоматически, как только вы определили эту основную истину. Я полагаю, что это то, что вы хотите автоматизировать, когда говорите о создании оценочного набора? Это немного сложнее.
Как правило, если был способ генерировать ключевые слова автоматически, это хороший способ использовать в качестве основной истины - вы должны использовать это в качестве алгоритма;). Звучит нахально, но это общая проблема. Когда вы оцениваете один алгоритм, используя выходные данные другого алгоритма, возможно, что-то идет не так (если вы не хотите специально сравнивать этот алгоритм).
Так что вы можете начать собирать ключевые слова из общих источников. Например:
Загрузить научные статьи, в которых есть раздел с ключевыми словами. Проверьте, действительно ли эти ключевые слова появляются в тексте, если они есть, возьмите раздел текста, включающий ключевые слова, используйте раздел ключевых слов как основную правду.
Получать сообщения в блоге, проверять, присутствуют ли термины в заголовке в тексте, а затем использовать слова в названии (всегда минус, конечно, стоп-слова) в качестве основной истины
...
Вы поняли идею. Если вы не хотите нанимать людей для генерации ключевых слов вручную, я полагаю, вам придется обходиться чем-то вроде описанного выше.
Обновление
Функция оценки, упомянутая выше, глупа. Он не включает, сколько из доступных ключевых слов было найдено. Вместо этого, способ оценить ранжированный список релевантных и нерелевантных результатов состоит в том, чтобы использовать точность и отзыв. Точность вознаграждает за отсутствие не относящихся к делу результатов, Напомним, вознаграждает за наличие соответствующих результатов. Это снова дает вам две меры. Чтобы объединить эти два параметра в одну меру, используйте либо F-меру, которая объединяет эти две меры в одну меру с необязательным взвешиванием. Либо используйте Precision @ X, где X - количество результатов, которые вы хотите рассмотреть. Точность @ X интересно эквивалентна Recall @ X. Однако здесь вам нужен разумный X, т. Е. Если в некоторых случаях у вас меньше ключевых слов X, эти результаты будут наказаны за то, что они никогда не предоставят ключевое слово Xth. Например, в литературе по рекомендации тегов, которая очень похожа на ваш случай, часто используются F-мера и P @ 5.
http://en.wikipedia.org/wiki/F1_score
http://en.wikipedia.org/wiki/Precision_and_recall