2017-01-25 7 views
-1

Я хочу сгруппировать набор твитов. Я уже извлек твиты, очистил их, применил к ним классификатор Naive Bayes и разделил их на два файла, положительные и отрицательные. Наконец, я сделал следующее, чтобы искать сходства между каждым чирикать:Tweet кластеризация после семантического анализа

with open("positive.txt", "r") as pt: 
     lines = pt.readlines() 
     for lineA in lines: 
      vectorA = text_to_vector(lineA) 
      for lineB in lines: 
       vectorB = text_to_vector(lineB) 
       cosine = get_cosine(vectorA, vectorB) 
       print lineA, "\n", lineB, "\n", "Cosine:", cosine 

Теперь это, как предполагается измерить сходство каждого предложения относительно другого, я думал, следующий шаг может быть сложить значения для всех фраз так складывают все значения косинуса для отношения предложения n ко всему предложению, и после этого нарисуйте их и примените что-то вроде KMeans, я не совсем уверен, что я правильно подхожу здесь, поэтому любая помощь очень ценится.

+1

Есть много вариантов, но, основываясь на моем опыте, все они не работают на Tweets. У вас есть дубликаты (простые), почти дубликаты (более сложные, в масштабе). Но кластеры - слишком много мусора в Твиттере, чтобы работать. –

ответ

1

Если у вас есть набор документов, которые вы хотите сгруппировать (на основе их содержимого), самым простым вариантом является использование инструмента Cluto. Вы в основном должны запускать его в два этапа.

Первым шагом является выполнение программы doc2mat, которая берет входной файл, который должен содержать все документы, по одному документу в каждой строке. Программа doc2mat выведет матричный файл, состоящий из векторного представления tf-idf для каждого документа.

Затем вам необходимо передать этот файл матрицы в программу vcluster, которая даст результаты кластеризации. Вы также можете оценить результаты кластеризации, если вы введете файл ссылочного класса в vcluster.

+0

Могу ли я применить k-середины после выполнения первого шага? Также не может найти vcluster вокруг ухода за предоставлением ссылки? Наконец, вы можете подробно рассказать о своем последнем заявлении, не думайте, что я полностью понимаю, что я плохо разбираюсь в этом и проверяю ответ, как только вижу, что он ищет! –

+0

Да ... вы можете применять K-средства ... Пройдите в документацию vcluster ... одним из параметров является «clmethod», который для K-средств должен быть «прямым» ... пройти через это руководство http://glaros.dtc.umn.edu/gkhome/fetch/sw/cluto/manual.pdf – Debasis