Кластеризация новостей

Я бы рекомендовал избегать VBA для этого процесса, поскольку это легко сделать с помощью функций Excel. Если вы хотите сделать это через VBA, можно просто просмотреть список продуктов и найти ключевое слово, добавив его в массив, если «Cheetos» содержится в определенном значении ячейки с использованием подстановочного знака, например, так:

Это может быть изменено, чтобы запускаться при смене ячейки D4, если это необходимо, и, конечно, могут быть сделаны некоторые модификации, чтобы гарантировать, что форматирование и т. Д. Может быть выполнено по вашему вкусу.

Sub test()
Dim wb As Workbook
Dim rng As Range, cell As Range
Dim s_key As String, s_find() As String
Dim i As Long

Set wb = Application.ThisWorkbook


Set rng = wb.Sheets("Sheet1").Range("B2:B8")
s_key = wb.Sheets("Sheet2").Range("D4").Value
wb.sheets("Sheet2").Range("C6:F9999").clearcontents
i = 0

For Each cell In rng
    If cell.Value Like "*" & s_key & "*" Then
        ReDim Preserve s_find(3, i)
        s_find(0, i) = cell.Offset(0, -1).Value
        s_find(1, i) = cell.Value
        s_find(2, i) = cell.Offset(0, 1).Value
        s_find(3, i) = cell.Offset(0, 2).Value
        i = i + 1

    End If

Next cell


wb.Sheets("Sheet2").Range("C6:F" & 5 + i).Value = Application.WorksheetFunction.Transpose(s_find)

End Sub
13
задан niraj 24 April 2009 в 05:23
поделиться

2 ответа

Одним из довольно распространенных способов кластеризации текста на основе содержимого является использование Принципиального компонентного анализа для векторов слов (вектор из n измерений, где каждое возможное слово представляет одно измерение и величина в каждом направлении (для каждого вектора - это число вхождений слова в этой конкретной статье), за которым следует простая кластеризация, такая как K-средние.

9
ответ дан 2 December 2019 в 00:19
поделиться

Алгоритмическая основа - агломерационная кластеризация или что-то подобное. Но есть еще много эвристик. Например, векторное пространство обязательно состоит из слов и фраз (n-граммы слова). Ограничение поиска в строгий период времени также очень важно. И определение имен, и взвешивание заголовка и заголовка абзаца также являются ключевыми частями.

На тангенциально связанной ноте. Если вы заинтересованы в поиске почти повторяющихся статей, существует ряд более простых для реализации подходов, например, описанный здесь

5
ответ дан 2 December 2019 в 00:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: