Я пытаюсь реализовать алгоритм максимизации ожиданий для кластеризации документов.Я планирую использовать Lucene Term Vectors для нахождения сходства между 2 документами.Существует два вида ЭМ-алгоритмов, использующих наивный байесовский метод: многомерная модель и полиномиальная модель.Проще говоря, полиномиальная модель использует частоты различных слов в документах, а многомерная модель просто использует информацию о том, присутствует ли слово в документе (логический вектор).
Я знаю, чтовекторы терминов в Lucene хранят термины, представленные в текущем документе, вместе с их частотами.Это именно то, что нужно для полиномиальной модели.
Но многомерная модель требует следующего: Вектор, который хранит наличие или отсутствие определенного термина.Таким образом, все термины во всех документах должны обрабатываться этим вектором.
Например:
doc1: поле CONTENT имеет следующие термины: это мир удовольствия.
doc2: поле CONTENT имеет следующие термины: этот удивительный мир полон саркастических людей.
теперь вектор, который мне нужен, должен быть
<это мир удовольствия, удивительно полногосаркастические люди> (он содержит все слова во всех документах)
для doc1 значение этого вектора <1 1 1 1 1 1 0 0 0 0>
для doc2 vakueэтого вектора <1 1 0 1 0 0 1 1 1 1>
Есть ли способ сгенерировать такой булев вектор в Lucene?