Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2015.09.10;
Скачать: [xml.tar.bz2];

Вниз

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

 
[ВладОшин] ©   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.049 c
15-1415338310
SKIPtr
2014-11-07 08:31
2015.09.10
Серебряная Калоша2014


15-1356233809
Inovet
2012-12-23 07:36
2015.09.10
(3) О чём-то ещё


15-1416493349
aka
2014-11-20 17:22
2015.09.10
поворот отрезка


15-1414322069
Amir
2014-10-26 15:14
2015.09.10
обновление MS SQL


15-1415658031
Германн
2014-11-11 01:20
2015.09.10
Вот так умирают бэкапные HD





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский