Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2015.09.10;
Скачать: CL | DM;

Вниз

выделение наиболее частых последовательностей   Найти похожие ветки 

 
[ВладОшин] ©   (2014-03-25 10:24) [0]

есть таблица
Name varchar
Flag char(1)
записей порядка миллиона.
было потрачено много человеко-часов, что бы по имени проставился флаг
т.е. оператор читает наименование и ставит признак. Буквально, да-нет
буквально
"иванов иван иванович" - оператор ставит "Ч" , т.е. человек
"скупка краденного, звони!" - оператор ставит "О" , т.е. объявление

Можно как-то теперь, имея порядка сотни тысяч проставленных признаков, по типичным последовательностям символов в name предположить флаг?

достаточно 90 %% точности.


 
clickmaker ©   (2014-03-25 10:27) [1]

> по типичным последовательностям символов

словарь имен-фамилий?


 
clickmaker ©   (2014-03-25 10:32) [2]

либо анализировать окончания слов на предмет человечности. -ов -ова -нко -вич -вна и т.д.


 
Konstantin   (2014-03-25 10:45) [3]

на абдурахмане-ибн-хассабе не сработает.


 
clickmaker ©   (2014-03-25 10:48) [4]

на Барнаби Мармадюк Алоизий Бенджи Кобвеб Дартаньяне тоже. Ну, попадут они в оставшиеся 10%


 
[ВладОшин] ©   (2014-03-25 10:50) [5]


> словарь имен-фамилий?

как подмножество, да.
конкретнее, интересует сейчас юр.лицо это или частник


> либо анализировать окончания слов на предмет человечности.
>  -ов -ова -нко -вич -вна и т.д.

Это есть :)
набрал 66 000 имен, написал ф-цию
getgenderbyfio("ошин влад виторович") = 1, т.е на 100% мужик
getgenderbyfio("иванова зульфия романовна") = -1, т.е на 100% сударыня.
ну и
getgenderbyfio("шевченко игорь батькович") = 0.66
getgenderbyfio("хаав валентина батьковна") = -0.66
и т.п.


 
[ВладОшин] ©   (2014-03-25 10:53) [6]

абдурахмане-ибн-хассабе - 33% мужик :)


 
clickmaker ©   (2014-03-25 10:55) [7]

> [6] [ВладОшин] ©   (25.03.14 10:53)

а почему? -ан - типично мужское окончание имени


 
Jeer ©   (2014-03-25 11:03) [8]

Taglite:
http://www.dialog-21.ru/archive/2005/kreidlin%20lg/kreydlinl.htm


 
[ВладОшин] ©   (2014-03-25 11:03) [9]

ну так остальные компоненты не дали вердикта - поэтому принижается ценность того кто дал. Если фамилия за мужика а имя нео пределилось - то пополам.
фамилия спорная - как делитель добавит, как знаменатель - 0. Тут более менее нормально. интересует сабж


 
Jeer ©   (2014-03-25 11:06) [10]

>[ВладОшин] ©   (25.03.14 10:53) [6]
>абдурахмане-ибн-хассабе - 33% мужик :)

Вырастет - само решит.


 
Дмитрий СС   (2014-03-25 12:19) [11]

Нейронные сети занимаются обобщением. Попробуйте организовать.


 
Konstantin   (2014-03-25 12:47) [12]

нейронные сети - зло.
см. терминатор


 
И. Павел ©   (2014-03-25 12:52) [13]

> Нейронные сети занимаются обобщением. Попробуйте организовать.

Если на такой задаче, обучаясь всего на миллионе примеров, нейронная сеть даст 90% правильных ответов, то это, скорее всего, будет дедушка терминатора и такое лучше не писать :) Вот цифру по 25 пикселям определить или прогноз изменения функции предсказать — это да.


 
Anatoly Podgoretsky ©   (2014-03-25 13:09) [14]


> clickmaker ©   (25.03.14 10:55) [7]

Регистрировать со снятым штанами


 
Дмитрий СС   (2014-03-25 17:53) [15]


> И. Павел ©   (25.03.14 12:52) [13]

Все так грустно что-ли в нейронных сетях?


 
й   (2014-03-26 07:43) [16]

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


 
й   (2014-03-26 08:23) [17]

... возможно, сработает и простое среднеарифметическое


 
И. Павел ©   (2014-03-26 09:25) [18]

> [15] Дмитрий СС   (25.03.14 17:53)
Все так грустно что-ли в нейронных сетях?

Не все. Но в данной задаче у цепи будет много входных параметров. А чем больше входов, тем сложнее подобрать оптимальную структуру цепи и тем медленнее ее обучить.
В моей задаче был всего 1 вход типа int (прогноз функции), и то еле подобрал более или менее приемлемую структуру. Ради интереса можете попробовать сделать цепь, которая прогнозирует поведение функции sin(x) на 10000 примерах — далеко не любая структура цепи подойдет и выдаст хоть что-то, похожее на синусоиду.


 
Константин 1   (2014-03-26 09:29) [19]


> и простое среднеарифметическое

в делфи есть уже подобное. для английских. по звучанию сравнение.


 
clickmaker ©   (2014-03-26 12:51) [20]

> [19] Константин 1   (26.03.14 09:29)

в дельфи есть soundex?


 
clickmaker ©   (2014-03-26 13:02) [21]

да, есть, однако. в 2010.
Можно русские имена/фамилии транслитерировать и натравить на них буржуйский soundex


 
Jeer ©   (2014-03-26 13:03) [22]

soundex или его аналог здесь не подойдет.


 
И. Павел ©   (2014-03-26 13:58) [23]

> > либо анализировать окончания слов на предмет человечности.
> >  —ов —ова —нко —вич —вна и т.д.
>
> Это есть :)

И какая точность получилась?
В сети полно примеров алгоритмов определения пола. ИМХО, на обычных именах 90% точности получится:
Вот, например: http://wiki.kint.ru/index.php/Определение_рода_по_ФИО_(1С)
А вот теория: http://ivan.begtin.name/2010/05/04/систематизация-распознавания-пола-и/

> В моей задаче был всего 1 вход типа int
:
Ну, точнее, 1 величина + еще несколько предыдущих значений этой величины.


 
ВладОшин ©   (2014-03-27 10:40) [24]


> И какая точность получилась?

мне нужно было 300 000 разделенных, брал только с вероятностью > 0.5
Просмотрелось около 400 000 человек, когда 300 000 набралось
т.е. 75% гарантировано, можно сказать.

Если брать 33% - а таких много, то к 90% выйти можно, думаю.

Но не это главное..


 
ВладОшин ©   (2014-03-27 10:45) [25]

как такой алгоритм:
Заводим таблицу Ценности слов

Берем строку таблицы. Разбиваем на слова. По тем строкам, которые уже оператором распознаны и поставлен признак, по каждому совпадению в таблицу ценности пишем слово и кол-во совпадений, как по признаку Организация, так и по признаку Человек.

Берем след строку таблицы
--

на не распознанных строках разбиваем по словам и все слова ищем в таблице соответствий. Каких признаков больше - то и есть


 
ВладОшин ©   (2014-03-27 10:58) [26]

поясню
Пусть есть "Загс московская область"
имеем: Загс, московская, область
до этого около 20 разных загсов операторы определили как юр.лицо
и пусть 3-4 имеют фамилию типа Загсов, Загсович  и т.п.
имеем 20 / 4 в пользу юриков.
т.е. в таблицу соответствий запишем
NAME = Загс
Legal = 20
Private = 4
и т.п.

Потом, следующего, уже тестируемого, разобьем на слова и поищем эти слова в таблице соответствий. sum() where like "%одно_слово_из_имени_тестируемого%"

т.о. каждое слово даст некий коэффициент за/против юрика/физика
суммируем, смотрим


 
ВладОшин ©   (2014-03-27 11:00) [27]

как бы к вероятности привязаться таким алгоритмом.. что бы от -1 до 1 ответ давало, где abs() вероятность, а знак - юрик/физик

что на что бы поделить такое :)


 
clickmaker ©   (2014-03-27 11:05) [28]

Sign(JurProb - PhysProb)*JurProb/PhysProb


 
ВладОшин ©   (2014-03-27 11:16) [29]

не понял..

вот например "ЗАГС ПРИОКСКОГО РАЙОНА ГЛАВНОЕ УПРАВЛ."
посчитанные совпадения (NAME, Legal , Private )

ЗАГС 8 3
ПРИОКСКОГО 8 0
РАЙОНА 555 0
ГЛАВНОЕ 26 0
УПРАВЛ. 17 0
тут более 90% должно быть юр.лицо


 
ВладОшин ©   (2014-03-27 11:26) [30]

блин, конечно!

(@PRIVAT_SUM -  @LEGAL_SUM) / (@PRIVAT_SUM +  @LEGAL_SUM)


 
ВладОшин ©   (2014-03-27 12:12) [31]

вроде, работает! :)
только вот что странно

word legal privat
ООО 24294 11

уж ООО - всегда было юриком, сколько процедур под это дело писалось..
ан нет :) 11 человек нашлось таки


 
ВладОшин ©   (2014-03-27 16:14) [32]

статистика пока собирается, но уже неплохо

из 85 748 - 5 ошибок когда физика юриком назвала
а наоборот хуже
из 31 766 - 1 310 ошибок когда юрика физиком назвала
ну там сложно - это в основном "ИП ИВАНОВ ИВАН БАТЬКОВИЧ"

хотя.. если только потом искусственно ценность слов типа "ИП" поднять в ту или другую сторону.. проапдейтить LEGAL в 999999, и с любым сочетанием остальных слов будет юр лицо..


 
Inovet ©   (2014-03-27 16:20) [33]

> [32] ВладОшин ©   (27.03.14 16:14)
> "ИП ИВАНОВ ИВАН БАТЬКОВИЧ"

предприниматель
ИП ИВАНОВ ИВАН
сетевой IP
ИП ИВАНОВА ИВАНА
прдпринимательница
ИП ИВАНОВА ИВАНА


 
clickmaker ©   (2014-03-27 16:26) [34]

> прдпринимательница

ИП Головач Лена


 
ТНЕ картман   (2014-03-27 16:27) [35]


> ВладОшин ©   (27.03.14 12:12) [31]


> ну там сложно - это в основном "ИП ИВАНОВ ИВАН БАТЬКОВИЧ"

"ИП тра-ля-ля " - может быть физиком? Сделай словарь исключений: ООО, ОАО...


 
ВладОшин ©   (2014-03-27 16:56) [36]

думаю, как Гарднер описывал самообучающую машину по игре в крестики нолики из спичечных коробков, провести обучение.

Пусть "ИП Головач Лена" склонилась к физику
ИП - 100
Головач  - 50
Лена - 51
тогда "наказываем" Головач и Лена - умножаем вес этих слов на 0.99
а те слова, кто правильно предсказывал, умножаются на 1.01, допустим

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

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


 
Кщд   (2014-03-27 21:36) [37]

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


 
Styx   (2014-03-27 23:48) [38]

ИМХО, ИП с чисто философской точки зрения - не понятно, то ли одно, то ли другое. Зависит от задачи, конечно, но вне контекста я бы считал физлицом. Если надо обратное - только жёсткое правило, попытка обучить приведёт к перекосу жизненных ценностей у робота :-)


 
Jeer ©   (2014-03-28 00:27) [39]

Робот имеет право поменять безболезненно даже политическую платформу.


 
turbouser ©   (2014-03-28 00:30) [40]

Ип Ман - китаец такой был, мастер боевых искусств :)
http://ru.wikipedia.org/wiki/%D0%98%D0%BF_%D0%9C%D0%B0%D0%BD



Страницы: 1 2 вся ветка

Текущий архив: 2015.09.10;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.035 c
2-1393855269
Михаил
2014-03-03 18:01
2015.09.10
FireBird View с параметрами.


1-1332746450
CRLF
2012-03-26 11:20
2015.09.10
Подружить IXMLDOMDocument2 и MS SQL XML


15-1414578228
qpash
2014-10-29 14:23
2015.09.10
Скриншот произвольной области


15-1417444886
Trylok
2014-12-01 17:41
2015.09.10
Перевести на английский


6-1255352020
minomorf
2009-10-12 16:53
2015.09.10
Как сделать аутификацию после подключения клиента к TServerSocket