Модераторы: korob2001, ginnie

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> сравнение файлов, странный результат 
:(
    Опции темы
Zuzu
Дата 18.1.2007, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 19.10.2006
Где: Екатеринбург

Репутация: 3
Всего: 4



LisaST, (можно на ты? - так быстрее), давай "вернемся к истокам" и попробуем перепоставить задачу. Может она решится быстрее? Постараемся описать ее в человеческих или, в крайнем случае, математических терминах.

Итак, описание.

Пусть:

W - множество тестируемых элементов - слов. p(W) - количество (число) элементов в этом множестве. Двух одинаковых элементов-слов во множестве нет, Будем считать, что, если мы во множество добавляем элемент-слово, которое уже было в этом множестве, множество не изменяется (классическое опредеделние множества).

С - множество частей речи. Например: {сущ., прил., глагол., причастие., деепричастие., } (вниманиию программистов! {} - здесь не хэш, а обозначение множества smile ). с - один из элементов С.

tagger() - некая процедура, которая для всякому (любому) w из W ставит в соответствие некий один c из C. Или, говоря, по-русски, для каждого слова (из тестируемых слов) определяет, к какой части речи оно принадлежит. Или, вернемся к математике, каждому w из W ставит в соответсвие двойку (w, c): w -> (w,c)  (здесь снова не список-массив, а обозначение упорядоченной двойки! будьте внимательны, господа программисты!)

Как работает эта процедура внутри - да нам по-барабану! Самое главное - ставит в соответсвие и все!

goldStandart - а это вот супер-таггер! Он не только ставит в соответствие (т.е. по сути является тэггером), но и делает это ПРАВИЛЬНО. Мало того, он должен быть определен для каждого w из W или, говоря по-русски, раз уж ты супер-тэггер - будь добр, выдай правильный результат для любого слова из нашего словаря.

Что же такое качество тэггера? Осмелюсь предположить, что это некое отношение кол-ва правильно определенных частей речи (для каждого w из W) к общему кол-ву вариантов, или, что то же самое, к кол-ву элементов-слов в нашем множестве W или p(W). Вспомните мое замечание про то, как мы условились определять разные элементы во множестве!

Как определить правильность работы тэггера для каждого конкретного слова? Да просто! Сравнить двойки, которые породил наш, исследуемый тэггер и goldStandart. Если эти двойки равны (т.е. первые элементы двоек и вторые элементы двоек попарно равны между собой - вспомните определение равенства векторов из математики!), то наш тэггер выдал правильный результат - ему плюс!

Считаем кол-во правильных вариантов, делим на число слов в исходном массиве - получаем характеристику тэггера.

Все. Славно, правда?

LisaST, на уровне описания модели все правильно?


Это сообщение отредактировал(а) Zuzu - 19.1.2007, 15:44
--------------------
Проводить эксперименты на живом сервере опасно, а на мертвом - бесполезно.
PM   Вверх
LisaST
Дата 19.1.2007, 01:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 8.4.2006
Где: Munich

Репутация: нет
Всего: нет



алгоритм описан совершенно точно. для amg помещаю пример из файлов (цифры я удалю для дальнейшей обработки, меня теперь просто интересует, делает ли 1 вариант программы amg иммено то, что описано выше, из-за проблемы с повторяющимися словами могут быть большие отклонения от верного результата ):
 и так 2 мегабайта предположительных существительных в обоих файлах




tagger_to_test.txt
Код
book
count
sellin
cattle
books
days
profit
seller
cattaloe
offspring
buffalo
cattle
stock
age
sex
bovines
givin
milk
chaw
tobacco
wound



goldstandard.txt
Код


book
count
sellin
cattle
books
days
profit
seller
cattaloe
offspring
buffalo
cattle
stock
age
sex
bovines
givin
milk
chaw
tobacco
wound

PM MAIL   Вверх
Zuzu
Дата 19.1.2007, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 19.10.2006
Где: Екатеринбург

Репутация: 3
Всего: 4



Цитата(LisaST @  19.1.2007,  04:00 Найти цитируемый пост)
алгоритм описан совершенно точно. для amg помещаю пример из файлов 


Стоп!

Где указано, к какой части речи принадлежит каждое слово?  tagger, по описанной выше модели должен сопоставить слову часть речи! Или tagger выбирает из исходного множества слов только те слова, которые он считает существительными (а про остальные слова нам ничего не скажет) и записывает в файл? В проектировании ПО это называется нарушением начальных условий и обычно приводит к неверному результату работы ПО. Как и здесь, собственно, произойдет.

Поясню.

Мы вообще правильной оценки работы tagger'a не получим! Я опираюсь только на описанную выше модель и элементарную математику. Приведу пример:

Код

1. Подсчет согласно модели

W                tagger(w)                       goldStandart
worm               сущ.                               сущ.
swim                глагол                           глагол.
student            глагол  (ошибка)          сущ.

Всего существительных в нашем множестве, согласно goldStandart: 2
Оценено правильно: 1
Качество таггера:     50%

2. Подсчет согласно "файловому методу"

W: {worm, swim, student}

Выбор сущ. из W, согласно tagger

TW: {worm}

Кол-во существительных в TW, которые являются сущ. согласно tagger: 1
Кол-во существительных в TW, которые на самом деле являются существительными (согласно goldStandart): 1

Качество таггера: 100% (!!!)


LisaST, опиши, пожалуйста, как получаются представленные тобой файлы. Может я чего неверно понял/ 

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




Это сообщение отредактировал(а) Zuzu - 19.1.2007, 11:36
--------------------
Проводить эксперименты на живом сервере опасно, а на мертвом - бесполезно.
PM   Вверх
LisaST
Дата 19.1.2007, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 8.4.2006
Где: Munich

Репутация: нет
Всего: нет



то, что находится в 2 тестируемых файлах - это только сущ.(были помечены теггерами как сущ), кот. я экстаргировала из текста,обработанного теггером, смотри пример, вот их кол-во и надо сравнить, потом я экстаргирую глаголы, прил. етц. Пример: 1 программа амг посчитала, что одинаковых слов в файлах с сущ 259227, по формуле получается, что Precision 0.93, а Recall 0.96 для моего тестируемого теггера, но я просто сомневаюсь насчет одинаковых слов (см мои посты выше)

iz goldstandard.txt
Код

The/at Fulton/np-tl County/nn-tl Grand/jj-tl Jury/nn-tl said/vbd Friday/nr an/at investigation/nn of/in Atlanta's/np$ recent/jj primary/nn election/nn produced/vbd ``/`` no/at evidence/nn ''/'' that/cs any/dti irregularities/nns took/vbd place/nn ./.


    The/at jury/nn further/rbr said/vbd in/in term-end/nn presentments/nns that/cs the/at City/nn-tl Executive/jj-tl Committee/nn-tl ,/, which/wdt had/hvd over-all/jj charge/nn of/in the/at election/nn ,/, ``/`` deserves/vbz the/at praise/nn and/cc thanks/nns of/in the/at City/nn-tl of/in-tl Atlanta/np-tl ''/'' for/in the/at manner/nn in/in which/wdt the/at election/nn was/bedz conducted/vbn ./.


    The/at September-October/np term/nn jury/nn had/hvd been/ben charged/vbn by/in Fulton/np-tl Superior/jj-tl Court/nn-tl Judge/nn-tl Durwood/np Pye/np to/to investigate/vb reports/nns of/in possible/jj ``/`` irregularities/nns ''/'' in/in the/at hard-fought/jj primary/nn which/wdt was/bedz won/vbn by/in Mayor-nominate/nn-tl Ivan/np Allen/np Jr./np ./.


    ``/`` Only/rb a/at relative/jj handful/nn of/in such/jj reports/nns was/bedz received/vbn ''/'' ,/, the/at jury/nn said/vbd ,/, ``/`` considering/in the/at widespread/jj interest/nn in/in the/at election/nn ,/, the/at number/nn of/in voters/nns and/cc the/at size/nn of/in this/dt city/nn ''/'' ./.


    The/at jury/nn said/vbd it/pps did/dod find/vb that/cs many/ap of/in Georgia's/np$ registration/nn and/cc election/nn laws/nns ``/`` are/ber outmoded/jj or/cc inadequate/jj and/cc often/rb ambiguous/jj ''/'' ./.


    It/pps recommended/vbd that/cs Fulton/np legislators/nns act/vb ``/`` to/to have/hv these/dts laws/nns studied/vbn and/cc revised/vbn to/in the/at end/nn of/in modernizing/vbg and/cc improving/vbg them/ppo ''/'' ./.


    The/at grand/jj jury/nn commented/vbd on/in a/at number/nn of/in other/ap topics/nns ,/, among/in them/ppo the/at Atlanta/np and/cc Fulton/np-tl County/nn-tl purchasing/vbg departments/nns which/wdt it/pps said/vbd ``/`` are/ber well/ql operated/vbn and/cc follow/vb generally/rb accepted/vbn practices/nns which/wdt inure/vb to/in the/at best/jjt interest/nn of/in both/abx governments/nns ''/'' ./.


PM MAIL   Вверх
Zuzu
Дата 19.1.2007, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 19.10.2006
Где: Екатеринбург

Репутация: 3
Всего: 4



LisaST. Согласно основам теории информации, экономия времени пишущего возможна только за счет "растраты" времени читающего. Пожалуйста, пиши понятно и простыми русскими, или в крайнем случае, математическими-общеупотребительными терминами. Давай исходить из предположения, что все программисты (и я, собственно, в их числе) ничего не смыслят в лингвистике и им все приходится объяснять, как детям малым. 

Мысли одну от другой лучше отделять абзацами - так понятнее.

Прости за замечание. Правда, очень тяжело твои тексты читать - я же не лингвист!

А теперь к делу.

LisaST, давай подождем с экстрагированием, а? (т.е. c извлечением из всего массива слов только тех, которые tagger пометил, как существительное, в частности). 

Итак, ура! Двойки есть. Двойки от goldStandart! Очевидно, подобный файл есть и от испытываемого tagger'a? Да?

1. LisaST, напомни пожалуйста, что такое 
Precision 
Recall

(одним словом, можно формулой, например: Precision = good_words / all_words, где good_words - количество правильно определенных слов, all_words - общее количество слов в нашем множестве.

Чтобы проверить, правильно ли это считает программа amg, нужно знать их определения (формулы).

2. Выходит, я зря потребовал отношения порядка на нашем множестве слов W. Из приведенных примеров мне стало видно, что оно нам не поможет в оптимизации. А жаль. И неверно определил, какие слова на нашем множестве необходимо считать разными. Будем пользоваться классическим определением. Если слово "собака" встречается два раза, то это одно слово. Каюсь, был неправ. Испправлю в своем первом топике.

было: 
Код

W - упорядоченное множество тестируемых элементов - слов. 
p(W) - количество (число) элементов в этом множестве. 
Для определенности будем считать, что если слово встречается в этом множестве два раза - 
то это два разных элемента множества.


С правильным определением множества исчезнут проблемы в повторяющимися элементами. Исчезнут на корню! Поверь!


Это сообщение отредактировал(а) Zuzu - 19.1.2007, 15:48
--------------------
Проводить эксперименты на живом сервере опасно, а на мертвом - бесполезно.
PM   Вверх
LisaST
Дата 19.1.2007, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 8.4.2006
Где: Munich

Репутация: нет
Всего: нет



sorry, если непонятно, сложно аналог каких-то терминов podobrat'

ответы на вопросы:

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

- если одно слово встречается 2 раза, то  нужно это учитывать

- формулы расписываются след. образом:
N - число одинаковых слов (помеченных как сущ в нашем случае) в Ф1 и Ф2 
G - число слов, помеченных как сущ в goldstandard
C - число слов, помеченных как сущ в тестфайле (обработан теггером, кот. я тестирую)

Precision = N/C     Recall =N/G
проясняет ситуацию?


PM MAIL   Вверх
Zuzu
Дата 20.1.2007, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 19.10.2006
Где: Екатеринбург

Репутация: 3
Всего: 4



LisaST, спасибо за ответ.

Заставило задуматься. Думал, ответ (в виде готовой программы) найдем уже сегодня. А вот нет... Появляются новые артефакты... Формулы заставили задуматься... Если так, модель определена не совсем корректно.

1. Можешь ли ты указать взаимно однозначное соответствие обозначений в файле-результате работы taggera и в файле от golgStandart? Хотя бы для тех частей речи, которые тебя интересуют. 

Пример: 
Пусть в файле, полученном в результате работы tagger'a части речи обозначены по-русски, тогда, сможешь ли ты указать взаимно однозначное соответсвие между ними в виде например:

артикль - at
глагол   - vb
глагол_в_прошедшем_времени - vbd

2. Может взаимно однозначного соответсвия совсем нет? 

Например, tagger помечает все существительные, а goldStandart различает существительные множественного и единственного числа.

3. Тебе для оценки таггера нужно объединить глаголы прошедшего времени с глаголами настоящего времени (назовем их просто_глаголы) или они должны быть разделены?

Пожалуйста, расскажи, как ты эти вопросы (1. 2. 3.) решила на этапе экстрагирования - извлечения нужных данных.

4. Если не трудно, кусок файла - результата работы taggera.

.... Еще пара вопросов будет по формулам... Чуть позже....
--------------------
Проводить эксперименты на живом сервере опасно, а на мертвом - бесполезно.
PM   Вверх
amg
Дата 20.1.2007, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 38
Всего: 50



LisaST, вот еще одна программка, может, пригодится. Она вычисляет 8 чисел: общее кол-во слов и кол-во уникальных слов в файлах goldstandard.txt и tagger_to_test.txt, а также те же самые величины, которые получатся после того как из этих файлов убрать общие слова (с учетом повторений). Может, из этих величин Вам удастся вычислить какие-нибудь Precision и Recall.
Код

my $file1 = 'goldstandard.txt';
my $file2 = 'tagger_to_test.txt';

my ($all,$unique,$word,$count,$diff);

my %hash1 = file2hash($file1);
($all,$unique) = count_hash(\%hash1);
print "In $file1 $all words ($unique unique words)\n";

my %hash2 = file2hash($file2);
($all,$unique) = count_hash(\%hash2);
print "In $file2 $all words ($unique unique words)\n";

while (($word, $count) = each %hash1) {
  if (exists $hash2{$word}) {
    $diff = $count - $hash2{$word};
    if    ($diff < 0) { delete $hash1{$word}; $hash2{$word} = $diff }
    elsif ($diff > 0) { delete $hash2{$word}; $hash1{$word} = $diff }
    else              { delete $hash1{$word}; delete $hash2{$word} };
  }
}

print "\nAfter removing the same words\n";
($all,$unique) = count_hash(\%hash1);
print "In $file1 $all words ($unique unique words)\n";
print "$_   $hash1{$_}\n" for (sort keys %hash1);

($all,$unique) = count_hash(\%hash2);
print "In $file2 $all words ($unique unique words)\n";
print "$_   $hash2{$_}\n" for (sort keys %hash2);


sub file2hash {
  my %hash;
  open(FILE, "$_[0]") or die "Can't open $_[0]: $!\n";
  while (<FILE>) { 
    # Разбор строки по словам. Слово здесь - последовательность букв
    $hash{lc($1)}++ while (/([^\W\d_]+)/g);
  }
  close(FILE);
  return %hash;
}

sub count_hash {
  my $all = 0;
  my $unique = 0;
  my ($word, $count);
  while (($word, $count) = each %{$_[0]}) {
    $unique++;
    $all += $count;
  }
  return ($all,$unique);
}

PM MAIL   Вверх
Zuzu
Дата 20.1.2007, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 19.10.2006
Где: Екатеринбург

Репутация: 3
Всего: 4



LisaST, давай вернемся к формулам. 

Пусть хороший tagger (good_tagger) выдал:

Мама/сущ. мыла/гл. раму/сущ. ./.  Мама/сущ. любит/гл. Лизу/сущ. ./.

goldStandart выдал:

Мама/сущ. мыла/гл. раму/сущ. ./. Мама/сущ. любит/гл. Лизу/сущ. ./.

(я не ошибся с частями речи? мои знания - только из средней школы, а это было давно!)

bad_tagger выдал:

Мама/сущ. мыла/гл. раму/гл. ./.  Мама/сущ. любит/гл. Лизу/гл.  ./.


Посчитай (на бумажке, пользуясь только определениями) значения N, G, C,  всех разумных частей речи (сущ., гл.) для случая good_tagger + goldStandart и bad_tagger + goldStandart. Всего должно быть 12 чисел smile

Это сообщение отредактировал(а) Zuzu - 20.1.2007, 14:43
--------------------
Проводить эксперименты на живом сервере опасно, а на мертвом - бесполезно.
PM   Вверх
Zuzu
Дата 20.1.2007, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 19.10.2006
Где: Екатеринбург

Репутация: 3
Всего: 4



LisaST, Стоп! Не нужно ничего считать! Но этот пример нам понадобится!

Секунду, дамы и господа! По второй ссылке, указанной LisaST, (  http://en.wikipedia.org/wiki/Information_retrieval)  сходить настоятельно рекомендую тем, кто интересуется работой всяких поисковых движков (типа яндекса, например)! В статье теоретическая чаcть всего этого, описанная на нормальном, математическом языке. Это круто!

Надеюсь сегодня у меня будет время прочитать и понять это и адекватно задать вопрос.

Вот еще славная ссылка, тут все объяснено на картинках:

http://www.hsl.creighton.edu/hsl/Searching...-Precision.html




Это сообщение отредактировал(а) Zuzu - 20.1.2007, 17:50
--------------------
Проводить эксперименты на живом сервере опасно, а на мертвом - бесполезно.
PM   Вверх
LisaST
Дата 20.1.2007, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 8.4.2006
Где: Munich

Репутация: нет
Всего: нет




Цитата


2. Может взаимно однозначного соответсвия совсем нет? 

Например, tagger помечает все существительные, а goldStandart различает существительные множественного и единственного числа.




да, ты прав, полного взаимного соответствия нет, в голдстандард примерно 85 тегов, а в тестуруемом файле намного меньше, но различие по мн и ед. числу сущ существует. 

Я эту проблему никак не решала, т.к. это бы неймоверно усложнило задачу, я просто экстрагирую все! виды сущ из обоих файлов не разделяя их по группам, конечно будут какие-то отклонения, например, если тег в test.txt определен неверно kak сущ и это был глагол с s на конце и это слово совпадает с сущ мн/ч в goldstandard.

Цитата
 3. Тебе для оценки таггера нужно объединить глаголы прошедшего времени с глаголами настоящего времени (назовем их просто_глаголы) или они должны быть разделены?

Пожалуйста, расскажи, как ты эти вопросы (1. 2. 3.) решила на этапе экстрагирования - извлечения нужных данных.

4. Если не трудно, кусок файла - результата работы taggera.



глаголы я пока еще не экстрагировала, но тут задача будет посложнее, чем с сущ, т.к. надо подумать, разделить ли например обычные гл. и гл to be, т.к. в голдстандард почти для каждого вида гл. существуют разные теги. 


test.txt
Код

A/DT ``/`` book/NN count/NN ``/`` was/VBD the/DT sellin/NN '/'' of/IN cattle/NNS by/IN the/DT books/NNS ,/, commonly/RB resorted/VBN to/TO in/IN the/DT early/JJ days/NNS ,/, sometimes/RB much/RB to/TO the/DT profit/NN of/IN the/DT seller/NN ./. 
A/DT ``/`` cattaloe/NN ``/`` was/VBD a/DT hybrid/JJ offspring/NN of/IN buffalo/NN and/CC cattle/NNS ./. ``/`` Dry/JJ stock/NN ``/`` denoted/VBN ,/, regardless/RB of/IN age/NN or/CC sex/NN ,/, such/JJ bovines/NNS as/IN were/VBD givin/NN '/'' no/DT milk/NN ./. 
A/DT ``/`` chaw/NN ``/`` of/IN tobacco/NN put/VBN on/IN an/DT open/JJ wound/NN was/VBD both/DT antiseptic/JJ and/CC healing/NN ./. 
A/DT ``/`` concert/NN of/IN free/JJ nations/NNS ``/`` should/MD take/VB its/PRP$ inspiration/NN from/IN the/DT traditions/NNS of/IN the/DT nineteenth/JJ century/NN Concert/NNP of/IN Europe/NNP with/IN its/PRP$ common/JJ values/NNS and/CC accepted/VBN ``/`` rules/NNS of/IN the/DT game/NN ``/`` ./. 
A/DT ``/`` lineback/NN ``/`` was/VBD an/DT animal/NN with/IN a/DT stripe/NN of/IN different/JJ color/NN from/IN the/DT rest/NN of/IN its/PRP$ body/NN runnin/NN '/'' down/IN its/PRP$ back/RB ,/, while/IN a/DT ``/`` lobo/JJ stripe/NN ``/`` was/VBD the/DT white/JJ ,/, yeller/NN ,/, or/CC brown/VBN stripe/NN runnin/NN '/'' down/IN the/DT back/RB ,/, from/IN neck/NN to/TO tail/VB ,/, a/DT characteristic/NN of/IN many/JJ panish/NN cattle/NNS ./. 
A/DT ``/`` mealynose/JJ ``/`` was/VBD a/DT cow/NN or/CC steer/NN of/IN the/DT longhorn/JJ type/NN ,/, with/IN lines/NNS and/CC dots/NNS of/IN a/DT color/JJ lighter'n/NN the/DT rest/NN of/IN its/PRP$ body/NN 'round/VBP the/DT eyes/NNS ,/, face/NN ,/, and/CC nose/NN ./. 
A/DT ``/`` mental/JJ image/NN ``/`` subconsciously/RB impressing/VBG us/PRP from/IN beneath/IN its/PRP$ language/NN symbols/NNS in/IN wakeful/JJ thought/NN ,/, or/CC consciously/RB in/IN light/JJ sleep/NN ,/, is/VBZ actually/RB not/RB an/DT image/NN at/IN all/DT but/CC is/VBZ comprised/VBN of/IN realities/NNS ,/, viewed/VBD not/RB in/IN the/DT concurrent/JJ sensory/JJ stream/NN ,/, but/CC within/IN the/DT depths/NNS of/IN the/DT fourth/JJ dimension/NN ./. 
A/DT ``/`` wet/JJ herd/NN ``/`` was/VBD a/DT herd/NN of/IN cattle/NNS made/VBN up/RP entirely/RB of/IN cows/NNS ,/, while/IN ``/`` wet/JJ stuff/NN ``/`` referred/VBD to/TO cows/NNS givin/NN '/POS milk/NN ./. 
A/DT $/$ 12/CD ,/, 500/CD payment/NN Leavitt/NNP ,/, as/IN he/PRP entered/VBD the/DT jury/NN room/NN ,/, said/VBD he/PRP was/VBD prepared/VBN to/TO answer/VB questions/NNS about/IN the/DT $/$ 12/CD ,/, 500/CD his/PRP$ liquor/NN firm/NN paid/VBD to/TO tein/VB for/IN ``/`` labor/NN consultant/NN work/NN ``/`` with/IN five/CD unions/NNS which/WDT organized/VBD Leavitt/NNP 's/POS workers/NNS ./. 
A/DT $/$ 25/CD billion/CD advertising/NN budget/NN in/IN an/DT $/$ 800/CD billion/CD economy/NN was/VBD envisioned/VBN for/IN the/DT 1970s/NNS here/RB Tuesday/NNP by/IN Peter/NNP G./NNP Peterson/NNP ,/, head/NN of/IN one/CD of/IN the/DT world/NN 's/POS greatest/JJS camera/NN firms/NNS ,/, in/IN a/DT key/JJ address/NN before/IN the/DT American/NNP Marketing/NNP Assn/NNP ./. ./. 
A/DT $/$ 500/CD reward/NN was/VBD offered/VBN by/IN the/DT association/NN 's/POS local/JJ in/IN Kansas/NNP City/NNP ,/, Kas/NNP ./. ./. 
A/DT &/CC M/NNP has/VBZ the/DT best/JJS defense/NN against/IN passes/NNS ,/, 34/CD ./. 7/CD yards/NNS per/IN game/NN ./. 
A/DT ./. 

PM MAIL   Вверх
Zuzu
Дата 20.1.2007, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 19.10.2006
Где: Екатеринбург

Репутация: 3
Всего: 4



Цитата(amg @  20.1.2007,  17:20 Найти цитируемый пост)
Может, из этих величин Вам удастся вычислить какие-нибудь Precision и Recall


amg, к сожалению, не удастся! В этих файлах меньше данных, чем нужно для этого! Будет время сегодня, разберусь с формулами и напишу.

LisaST,  

1. Напиши, пожалуйста, описания (тэги) для существительных для нашего тестируемого таггера и для goldStandart

должно быть что-то типа:

tagger:  сущ1 сущ2 сущ3 суще
goldStandart: susch-1 su_1 s===

2. Как принято поступать со словали (английского языка - его немного знаю...) которые могут быть разными частями речи и goldStandart честно об этом должен сказать.

Например: 

Computer (прил.) system -  Компьютерная система
My computer (сущ.) - мой компьютер

Или в английском языке computer - всегда существительное, вне зависимотси от контекста? И goldStandart так и скажет?



Это сообщение отредактировал(а) Zuzu - 20.1.2007, 16:10
--------------------
Проводить эксперименты на живом сервере опасно, а на мертвом - бесполезно.
PM   Вверх
LisaST
Дата 20.1.2007, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 8.4.2006
Где: Munich

Репутация: нет
Всего: нет



Цитата(Zuzu @ 20.1.2007,  14:38)
LisaST, давай вернемся к формулам. 

Пусть хороший tagger (good_tagger) выдал:

Мама/сущ. мыла/гл. раму/сущ. ./.  Мама/сущ. любит/гл. Лизу/сущ. ./.

goldStandart выдал:

Мама/сущ. мыла/гл. раму/сущ. ./. Мама/сущ. любит/гл. Лизу/сущ. ./.

(я не ошибся с частями речи? мои знания - только из средней школы, а это было давно!)

bad_tagger выдал:

Мама/сущ. мыла/гл. раму/гл. ./.  Мама/сущ. любит/гл. Лизу/гл.  ./.


Посчитай (на бумажке, пользуясь только определениями) значения N, G, C,  всех разумных частей речи (сущ., гл.) для случая good_tagger + goldStandart и bad_tagger + goldStandart. Всего должно быть 12 чисел smile

на этом примере ничего не удастся определить, т.к. для расчета P i R требуется большая выборка.

В этом случае для bad tagger получится P = 1, R = 0.5, но это не показательно, т.к. чем больше текст, тем тожнее можно определить P i R.

 


  
Цитата

1. Напиши, пожалуйста, описания (тэги) для существительных для нашего тестируемого таггера и для goldStandart

должно быть что-то типа:

tagger:  сущ1 сущ2 сущ3 суще
goldStandart: susch-1 su_1 s===



для goldstandard


http://www.comp.leeds.ac.uk/amalgam/tagsets/brown.html
------------------------------------------------
для testfile немного видоизменненный

http://www.ims.uni-stuttgart.de/projekte/C...TreebankTS.html

Цитата

2. Как принято поступать со словали (английского языка - его немного знаю...) которые могут быть разными частями речи и goldStandart честно об этом должен сказать.

Например: 

Computer (прил.) system -  Компьютерная система
My computer (сущ.) - мой компьютер

Или в английском языке computer - всегда существительное, вне зависимотси от контекста? И goldStandart так и скажет?



это будет зависеть от контекста, т.к. goldstandard был проверен вручную встречаются оба варианта, хотя Executive тоже может быть сущ, а state прил. Обычно такие проблемы решаются в теггерах с помощью вероятностей, напр вероятность, что перед сущ стоит артикл' выshе, чем для прил. и это учитывается в процессе обработки текста, но в моем случае это не суть важная проблема

Executive/jj-tl Committee
State/nn-tl Welfare
PM MAIL   Вверх
Zuzu
Дата 20.1.2007, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 19.10.2006
Где: Екатеринбург

Репутация: 3
Всего: 4



Цитата

Мама мыла раму. Лиза любит маму.


Страннно, по определениям описанным в указанных тобой источниках, у меня получилось:

Для существительных: Recall: 33,33% Precision: 100%
Для глаголов:  Recall: 100% Precision: 66,66%

Мы пользуемся разными формулами?

Для существительных: 
Recall:  есть отношение кол-ва правильно выбранных tagger'ом существительных к количеству всех существительных в нашем множестве (сколько сущ. показал goldStandart).

Presision: есть отношение кол-ва правильно выбранных tagger'ом существительных к общему кол-ву сущ., которые выбрал tagger

http://www.hsl.creighton.edu/hsl/Searching...-Precision.html )

Код


RECALL is the ratio of the number of relevant records retrieved to the total 
number of relevant records in the database. It is usually expressed as a percentage.

PRECISION is the ratio of the number of relevant records retrieved 
to the total number of irrelevant and relevant records retrieved. 
It is usually expressed as a percentage.




Цитата(LisaST @  20.1.2007,  20:05 Найти цитируемый пост)
это будет зависеть от контекста, т.к. goldstandard был проверен вручную встречаются оба варианта, хотя Executive тоже может быть сущ, а state прил. Обычно такие проблемы решаются в теггерах с помощью вероятностей, напр вероятность, что перед сущ стоит артикл' выshе, чем для прил. и это учитывается в процессе обработки текста, но в моем случае это не суть важная проблема

Executive/jj-tl Committee
State/nn-tl Welfare 


В определение Recall и Precision включено понятие релевантности, т.е. правильности выбора. Как ты решила определить правильно ли испытуемый tagger определил слово Computer, например. Он говорит, что это сущ., а в goldStandart - сущ и прил. ?

LisaST, про формулы. 

Эти определения полностью эквивалентны (я проверял) описанным в 
http://en.wikipedia.org/wiki/Information_retrieval )

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


Это сообщение отредактировал(а) Zuzu - 20.1.2007, 18:02
--------------------
Проводить эксперименты на живом сервере опасно, а на мертвом - бесполезно.
PM   Вверх
LisaST
Дата 20.1.2007, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 8.4.2006
Где: Munich

Репутация: нет
Всего: нет




мы пользуемся одинаковыми формулами, 

у меня Precision dlja "bad tagger" = 2/2  Recall = 2/4, (4 здесь число сущ в goldstandard)

Цитата

В определение Recall и Precision включено понятие релевантности, т.е. правильности выбора. Как ты решила определить правильно ли испытуемый tagger определил слово Computer, например. Он говорит, что это сущ., а в goldStandart - сущ и прил. ?


проблема в том, что я могу определить релевантность с точностью до 100% только вручную, но на текстах в 9 мегабайт это нереально. Поэтому тот алгоритм сравнения, кот. я хочу использовать довольно "груб", но пока ничего лучшего в голову не приходит. 
Напр, если в голдстандард комьютер встречается 4 раза и 3 раза определен как сущ, а 1 раз как прилагательное, а тестируемый теггер определили этоже слово как сущ 4 раза, то при сравнении должно получится, что в тестфайл на 1 occurrence of computer больше (будет учитываться в знаменателе Precision формулы)
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1377 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.