tf-idf: правилно ли го разбирам?

Интересувам се от групиране на документи и точно сега обмислям да използвам TF-IDF за това.

Ако не греша, TF-IDF се използва по-специално за оценка на уместността на документ при зададена заявка. Ако нямам конкретна заявка, как мога да приложа tf-idf към групиране?


person alskndalsnd    schedule 29.03.2010    source източник


Отговори (3)


За групиране на документи. най-добрият подход е да използвате алгоритъм за k-средства. Ако знаете колко вида документи имате, знаете какво е k.

За да работи върху документи:

а) кажете произволно изберете начални k документа.

b) Присвоете всеки документ на клъстер, като използвате минималното разстояние за документ с клъстера.

c) След като документите са присвоени на клъстера, направете K нови документа като клъстер, като вземете центроида на всеки клъстер.

Сега въпросът е

a) Как да изчислим разстоянието между 2 документа: Не е нищо друго освен косинусово сходство на условията на документи с първоначалния клъстер. Условията тук не са нищо друго освен TF-IDF (изчислени по-рано за всеки документ)

b) Centroid трябва да бъде: сбор от TF-IDF на даден член/бр. на документи. Направете това за всички възможни условия в клъстер. това ще ви даде други n-измерни документи.

Надявам се това да помогне!

person Kapil D    schedule 02.04.2010
comment
можете ли да помогнете за това stackoverflow.com/questions /28642930/how-can-i-compute-mtf-idf - person ; 21.02.2015
comment
така че да кажем, че имам 3 документа като този {1.1, 0, 3.3, 4} {0, 2, 0, 3} {1, 1, 1, 1} и центроидът им е {2.1/3, 3/3, 4.3/3, 8/3} нали? - person MonsterMMORPG; 06.09.2015

Не точно: tf-idf ви дава уместността на даден термин в даден документ.
Така че можете перфектно да го използвате за вашето групиране чрез изчисляване близосткоето би било нещо подобно

proximity(document_i, document_j) = sum(tf_idf(t,i) * tf_idf(t,j))

за всеки термин t както в doc i, така и в doc j.

person PierrOz    schedule 29.03.2010

TF-IDF служи за различна цел; освен ако не възнамерявате да изобретите колелото, по-добре е да използвате инструмент като Carrot. Търсенето в Google за клъстериране на документи може да ви даде много алгоритми, ако искате да приложите такъв сами.

person Mikos    schedule 02.04.2010
comment
как TF-IDF не е свързан с групирането? как ще групирате текстови документи? - person MonsterMMORPG; 06.09.2015