"justify"> Тексти після обробки програмою Mystem поміщаються в директорії:
/ NormalizedTexts / MinusSamples - нормалізовані негативні тексти,
/ NormalizedTexts / PlusSamples - нормалізовані позитивні тексти,
/ NormalizedTexts / TauSamples - нормалізовані тексти, тональність яких потрібно визначити.
2.1.3 Вихідні дані
Результати процедури крос-валідації містяться в текстовому файлі ResultsCrossValidation.txt, результати класифікації - у файлі ResultsClassification.txt.
2.1.4 Діаграма класів і структури даних
Діаграма класів зображена на рис. 4.
Рис. 4 - Діаграма класів
У програмі використовуються наступні користувальницькі структури даних:
o Структура Hypothesis містить інформацію про ознаки, що характеризують гіпотезу, батьках цих ознак і класі тональності, до якого належить дана гіпотеза.
struct Hypothesis
{
/ / Безліч прізнаковHashSet setValues;
/ / Безліч родітелейHashSet setParents;
/ / Клас гіпотези:
/ / «-»- Негативний,
/ / «+»- Положітельнийchar type;
}
o Структура TextInfo містить характеристики тексту: ім'я файлу, безліч слів з тексту, що містяться в словнику, і клас тональності тексту.
public struct TextInfo
{
/ / Ім'я файлу, що містить текстstring name;
/ / Безліч слів зі словника, содержщіх в текстеHashSet setValues;
/ / Клас тексту:
/ / «-»- Негативний,
/ / «+»- Позитивний
/ / «t»- Невизначеною тональностіchar type;
}
Поле setValues ??містить індекси слів, присутніх у тексті.
o Структура EffectMeasure описує метрики якості.
struct EffectMeasure
{
/ / Точностьdouble precission;
/ / Полнотаdouble recall;
/ / F1-мераdouble f1_measure;
/ / Правільностьdouble accuracy;
}
Наведемо опис класів і реалізованих в них методів.
Клас Program відповідає за підготовку даних до обробки і виведення результатів у файл. Методи класу:
o BuildHashSet - формує безліч слів, що містяться в тексті;
o LoadDictionary - завантажує словник з файлу Dictionary.txt;
o NormText - здійснює нормалізацію текстів, тобто переводить кожне слово в початкову форму;
o PrintResultCrossValidation - виконує висновок метрик якості в файл ResultsCrossValidation.txt;
o PrintResultClassifications - виконує висновок метрик якості в файл ResultsClassifications.txt;
o RandomSort - виконує сортування навчальних текстів у випадковому поряд...