Я намагаюся згрупувати, наприклад, рядки про програмування з іншими рядками про програмування, рядки про фізику з іншими рядками про фізику тощо, для широкого кола тем. Незважаючи на яскравий теоретичний лінгвістичний аспект проблеми, я хочу реально зробити це за допомогою програмування / програмного забезпечення.
Епізод: Зважаючи на велику кількість рядків, як би я міг згрупувати їх за семантичною темою?
Конкретний додаток: у мене є ~ 200k дрібниць питань, які я б хотів класифікувати в загальні групи (машини, комп'ютери, політика, Канада, їжа, Барак Обама тощо).
Що я розглянув: У Вікіпедії є список інструментальних інструментів для обробки природних мов (якщо припустити, що те, що я намагаюся зробити, насправді називається NLP), тому я переглянув декілька, але, здається, ніхто не робить нічого подібного до моїх потреб.
Примітки: Вказувалося, що для цього потрібні додаткові знання (наприклад, Porsche є автомобілем, C ++ є мовою програмування). Тоді я припускаю, що потрібні дані про навчання, але якщо у мене є лише перелік питань і відповідей, як я можу генерувати дані про навчання? Тоді як я можу використовувати дані про навчання?
Додаткові зауваження: Якщо поточне форматування моєї допомоги на запитання і відповіді (хоча воно виглядає як JSON, це в основному необроблений текстовий файл):
// row 1: is metadata
// row 2: is a very specific kind of "category"
// row 3: is the question
// row 4: is the answer
{
15343
A MUSICAL PASTICHE
Of classical music's "three B's", he was the one born in Hamburg in 1833
Johannes Brahms
}
Але перш ніж хтось зазначить, що категорія вже існує, зауважте, що є приблизно 200 тис. Запитань і відповідей, як це, і в основному стільки ж "категорій". Я намагаюся згрупувати їх у більш широкі групи, як перелічені вище. Також це форматування можна легко змінити для всіх питань, я це роблю програмно.
І ще зауваження: я насправді не знаю, скільки категорій мені знадобиться (принаймні 10-20), тому що я не перечитав усі питання. Я частково очікував, що під час категоризації якимось чином визначимо кінцеве число. У будь-якому випадку, я завжди можу вручну створити ряд категорій.