TC: Machine Learning in Automated Text Categorization (Sebastiani)

P
На сайте с 05.12.2004
Offline
121
2107

Предлагаю обсудить эту статью по TC, которую в прошлом треде предложил Rusl:

http://www.cis.uni-muenchen.de/kurse/pmaier/ML_05/material/ACMCS02.pdf

У меня несколько вопросов, может кому тоже интересно обсудить.

Первый вопрос довольно простой:

стр.14-15

<<

5.4.1. Document Frequency. A simple and

effective global TSR function is the document

frequency #Tr(tk) of a term tk, that is,

only the terms that occur in the highest
number of documents are retained
. In a

series of experiments Yang and Pedersen

[1997] have shown that with #Tr(tk) it is

possible to reduce the dimensionality by a

factor of 10 with no loss in effectiveness (a

reduction by a factor of 100 bringing about

just a small loss).

This seems to indicate that the terms
occurring most frequently in the collection
are the most valuable
for TC. As such, this

would seem to contradict a well-known

“law” of IR, according to which the terms

with low-to-medium document frequency

are the most informative ones [Salton and

Buckley 1988]. But these two results do

not contradict each other, since it is well

known (see Salton et al. [1975]) that the

large majority of the words occurring in

a corpus have a very low document frequency;

this means that by reducing the

term set by a factor of 10 using document

frequency, only such words are removed,

while the words from low-to-medium to

high document frequency are preserved.

Of course, stop words need to be removed

in advance, lest only topic-neutral words

are retained [Mladeni&#180;c 1998]

>>

Как может быть эффективной такая функция? Я понимаю еще если бы брались самые частые слова по каждому документу (я так делал). Или если частоты приводятся относительно средней статистической частоты слова для языка. Но если тупо берутся самые частые слова по всей коллекции?

То что он далее пишет про то, что нет противоречия, как-то непонятно. Как же нет, если есть.

Dappros: your private business blockchain in the cloud (https://www.dappros.com/)
B
На сайте с 02.09.2002
Offline
42
bvd
#1

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

P
На сайте с 05.12.2004
Offline
121
#2
bvd:
можно обсуждать или не обсуждать, без проведения экспериментов, такая функция ничем не хуже других

Мне эта функция кажется очевидно нелогичной.

Конечно, наверное можно и для неё датасет найти подходящий, но в большинстве случаев такое должно выдавать какие-то общие слова, их же все в stopwords не запишешь.

Но как-то странно это утверждение выбивается из всей статьи, вроде бы все так по делу написано, а тут такое утверждение. Я надеялся что кто-то пояснит.

B
На сайте с 02.09.2002
Offline
42
bvd
#3
PHWizard:
То что он далее пишет про то, что нет противоречия, как-то непонятно. Как же нет, если есть.

кто его знает, что он здесь имел в виду - напишите ему лично письмо, он наверняка вежливо ответит - затем нам расскажете

PHWizard:

Как может быть эффективной такая функция? Я понимаю еще если бы брались самые частые слова по каждому документу (я так делал). Или если частоты приводятся относительно средней статистической частоты слова для языка. Но если тупо берутся самые частые слова по всей коллекции?

обосновать теоретически можно все, что угодно (есть такой анекдот про физиков теоретиков, легко объясняющих как прямой, так и перевернутый верх ногами экспериментальный график)

Ну, например (все дальнейшее может быть и неправильно, но теоретически неопровержимо):

- рассмотрим типичную новостную коллекцию (типа news.яндекс) - абсолютное большинство документов содержит слова Россия, российский, Москва - но это не стоп-слова - сами по себе они самостоятельно мало, что значат, но в запросах из нескольких слов (или при сборке новостных сюжетов) их выкинуть нельзя

- есть еще слабоисследованная теория про предлоги - весьма частотны, но иногда очень важны

R
На сайте с 29.04.2003
Offline
37
#4

Я думаю тут речь о другом. Есть такой закон распределения Ципфа (-Мандельброта). Если утрировать, то наибольшее количество слов в языке это низкоранговые слова (иными словами - основная масса слов встречается в текстах чрезвычайно редко).

Тут он говорит, что сократив размерность исходного пр-ва признаков в 10 раз качество практически не ухудшилось. Естественно, если, к примеру в народовской коллекции РОМИПа словарь (уже после стемминга и удаления слов, встречающихся реже чем в 5 документах) составляет около 500 000 термов, то сократив его в 10 раз (до 50 000 за счет удаления более низкоранговых термов) мы вряд ли особо потеряем в качестве. Тем более если количество рубрик невелико.

Так, что думаю, здесь речь шла именно об этом (если я правильно понял Себастиани), а не о том, чтобы оставить 100 наиболее высокоранговых слов.

P
На сайте с 05.12.2004
Offline
121
#5

Написал. Товарищ Себастьяни ответил, представляете :)

вот его ответ (cиним - мой квоттинг):


> The question is how this can be that most frequent words are most
> valuable? I can't see how the contradiction with the law you mention
> is resolved in this case.

> If the most frequent words were indexed for each document - it
> would make sense. But when the most frequent words of the whole
> collection are taken - does it really work? Could you please comment > on this?

The basic observation is that a large proportion (say, 60%) of the
words that occur at least once in a collection occur exactly once
(these words are called Hapax Legomena in the computational
linguistics literature). And it may be that another 30% of the words
that occur at least once in a collection occur exactly twice. If so,
if you only keep the 10% of the words that occur most frequently in
your training set, you are keeping those that occur three times or
more. And you may safely assume that it is to this set that the
really useful words belong, since the words that occur only once or
twice are hardly useful (their occurrence statistics is not robust
enough to guarantee that if you use them in your derived model they
will give a sensible contribution). Of course, the set you have kept
also contains the words that occur zillions of times in the training
set, and they are unlikely to be of interest; but the words that
occur zillions of times are really, really few, and they are
inoffensive.

Hope this helps

Cheers Fabrizio

R
На сайте с 29.04.2003
Offline
37
#6

Собственно, чтд.

P
На сайте с 05.12.2004
Offline
121
#7
Rusl:
Собственно, чтд.

всем спасибо

теперь начинаю понимать :)

т.е. идея такая, что даже в случае с узкоспециализированными словами, они в большинстве случаев попадут в пространство, т.к. будут встречаться в документах довольно часто

получается, это просто оправдание, хотя и не лишенное смысла, для грубого метода уменьшения размерности

вопрос в том, где найти формулу оптимального размера словаря/пространства, когда выкидываются упомянутые Hapax Legomena (редкие, но неважные слова), но сохраняются узкоспециализированные, но важные слова

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

если бы была решена проблема с размерностью, синонимией и прочее, это всё было бы не нужно

R
На сайте с 29.04.2003
Offline
37
#8
PHWizard:
всем спасибо
теперь начинаю понимать :)

т.е. идея такая, что даже в случае с узкоспециализированными словами, они в большинстве случаев попадут в пространство, т.к. будут встречаться в документах довольно часто

получается, это просто оправдание, хотя и не лишенное смысла, для грубого метода уменьшения размерности

Да почему грубого?! Вы попробуйте на практике потроить классификатор по большой выборке и посмотрите что за слова будут встречаться 1-2 раза.

Вот, к примеру, что за слова на НАРОДовской коллекции (слово после стемминга, после двоеточия количество страниц коллекции, на которых оно встречается):

оелтпжймпч: 6

руссок: 6

2sd: 6

единк: 6

соправлен: 6

рaсстоян: 6

обрхзбмп: 6

elus: 6

бегyщ: 6

a420: 6

Так эти термы стречаются не 1-2 раза, а 6(!), и при этом размерность 450 000 (то есть, если оставить только слова, встречающиеся не реже чем в 6 документах, размерность про-ва будет 450 тысяч)! Зачем таскать этот мусор за собой и обсчитывать выборку по полгода?!

вопрос в том, где найти формулу оптимального размера словаря/пространства, когда выкидываются упомянутые Hapax Legomena (редкие, но неважные слова), но сохраняются узкоспециализированные, но важные слова

На опыте. Проверьте про-ва различной размерности и их влияние на полноту/точность/F-меру. А вообще, лично мне кажется, что использовать пр-ва выше 500 000 тысяч - заведомый перебор.

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

Существует куча методов. Себастиани о них (если ничего не путаю) также упоминает. МОжно еще посмотреть A comparative study on feature selection in text categorization

P
На сайте с 05.12.2004
Offline
121
#9
Rusl:

Так эти термы стречаются не 1-2 раза, а 6(!), и при этом размерность 450 000 (то есть, если оставить только слова, встречающиеся не реже чем в 6 документах, размерность про-ва будет 450 тысяч)! Зачем таскать этот мусор за собой и обсчитывать выборку по полгода?!

Верю.

Я написал "грубого", потому что вместе с мусором вылетит хоть и чуть-чуть, но полезных слов. В то же время, очень много незначащих слов попадает в пр-во, в топ, так сказать. Всё это имеет мало эффекта, в соответствии с тем что вы говорите с Себастьяни, но небольшая погрешность в итоге есть, я считаю.

Т.е. по-моему, "не грубый" метод должен распознавать где мусор, а где нет. Но это уже не статистический подход.

Rusl:

На опыте. Проверьте про-ва различной размерности и их влияние на полноту/точность/F-меру. А вообще, лично мне кажется, что использовать пр-ва выше 500 000 тысяч - заведомый перебор.

Было бы интересно сделать такой опыт, только это время, время :)

Rusl:

Существует куча методов. Себастиани о них (если ничего не путаю) также упоминает. МОжно еще посмотреть A comparative study on feature selection in text categorization

спасибо

не могу добавить вам к репутации, говорит что надо сначала еще кому-то :)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий