Pull to refresh
40
0.1
Юрий Бабуров @buriy

Web, AI, Deep Learning, Python

Send message
А цвет красной куртки и красной рукавицы — это разные красные квалиа? Мне кажется, вы искусственно придумываете, какая квалиа какой идентична, и мне кажется, идентичность у вас устроена на основе вербального понятия «красный цвет».
Почему вы берёте именно такую идентичность? Как она сформировалась у вас?
Про алкоголь — отличный комментарий, спасибо. А одно ли это квалиа — «находиться под алкоголем»? Или, может, оно делится на компоненты, и часть их воспроизводима через воспоминания и психологические практики, а часть нет? Никто и не говорит, что воспоминания работают со всем мозгом, они работают лишь с корой больших полушарий, и то как-то частично. Но для красного цвета работают, и это нам даёт интересный способ лучше узнать конструкцию квалиа.
>Само слово «quale» означает «какого рода», то есть тип ощущений.
Ну причём тут это? Определитесь уже. Согласно википедии, определение другое: «meaning „of what sort“ or „of what kind“ in a specific instance, such as „what it is like to taste a specific apple, this particular apple now“. То есть, тип ощущений не при чём, и два чувствования красного цвета могут отличаться. (Вообще, классически, изучается возникновение самих чувственных ощущений в сознании.)
Смотрите в чём вопрос: вы постулируете, что есть какое-то универсальное „чувствование красного цвета видящим красный цвет глазами“, и утверждаете, что у не видящих глазами такого чувствования нет, а также, что для двух чувствующих это одно и то же чувствование. Доказать вы это никак не можете, это предмет веры для вас, или, вполне можно сказать, аксиоматического определения.
При таком определении вполне можно указать место в мозге, где находятся такие нейрончики — V1, V2, V4, VT, таламус, гиппокамм, базальные ганглии — везде или в каком-то конкретном, в зависимости от размеров объекта красного цвета и степени его осознанности.
То есть, локализация „квалиа“ вполне устанавливается при фиксировании определения.
Далее, при представлении красного цвета, те же самые нейрончики активизируются, лишь у мозга появляется флажок „это воспоминание“. Таким образом, физиологически квалиа воспроизводится при воспоминании, как бы вам не хотелось не считать это квалиа.
Поэтому так же определением вы постулируете, что квалиа — это только когда человек *видит красный цвет* и *у него загораются эти нейрончики* и может даже *красный цвет возникает в сознании*, т.е. на него направлено сознательное внимание.
Вот почему квалиа ощущения красного цвета у вас и отличается от ощущения вибрации, порождающей воспоминание красного цвета, или от воспоминания, порождающего абстракцию красного цвета (у людей, не видевших Дженифер Лопес, есть абстракция Дженифер Лопес, так же, как у людей, не видевших красный цвет, есть абстракция красного цвета): вы так сформулировали своё определение квалиа, чтобы воспоминания не считались за квалиа, а непосредственные виденья картинки — считались.
Конечно, после такого вы не можете их найти — то они есть, то их нет, ведь это определение управляет, называть ли какие-то нейроны или части процесса виденья „квалиа“.
P.S.
>>Фактически, вы ищете «нейрон бабушки», только это у вас нейрон для красного цвета.
>Ничего подобного.
Ищете как раз. Ну хорошо, считайте, что я вас прошу их поискать, ведь это как раз и будет удовлетворять большей части вашего определения понятия „квалиа“.
>Я говорю о том, что надо разобраться, почему возникает ощущение красного цвета и почему оно отличается от ощущения вибрации, хотя и там и там одинаковые электрические сигналы, и может организоваться одинаковая структура нейронов.

Ну это примерно как в процессоре ткнуть в разные транзисторы в разных местах и сказать, что транзисторы одинаковые, сигналы одинаковые, так почему же эти транзисторы выполняют разные функции? Один часть операции суммирования, другой часть операции взятия по адресу, третий вообще управляет доступом в кеш, а четвёртый лишь часть цепи питания.
(Про одинаковую структуру — отдельный вопрос, дело в том, что в мозгу тоже структуры разные в разных местах для разных задач...)
>Ощущения красного цвета разные по уровню, но одинаковые по типу.
Ага, вот вы и попались.
Получается, другой человек не чувствует красный цвет кожей, но видит только глазами лишь ПО ОПРЕДЕЛЕНИЮ.
Понимаете теперь, почему так важно определить, что такое квалиа?
Я не играюсь словами, я лишь говорю, что под квалиа люди подразумевают разные вещи, но если это определение сделать, то всегда есть конкретный ответ, где находится квалиа. И ответ будет разный, в зависимости от определения.
У вас, оказывается, совсем другое определение этого понятия, вы считаете, что зрительные квалиа возникают лишь при наблюдении предмета зрячим человеком. См ниже, как
> Образ при чтении слова «красный» это воспоминание о ранее испытанном ощущении, а не само ощущение.
… Которое, как мы теперь знаем из нейрофизиологии, для другой части мозга ничем не отличается от ощущения красного…

Фактически, вы ищете «нейрон бабушки», только это у вас нейрон
для красного цвета.

Известны эксперименты, когда ставшие слепыми люди на основе эхолокации (скажем, стучат тростью по полу и слушают ответ) получают в голове примерные картинки помещений, в которых находятся. По вашему, они эти картинки не ощущают, или же это не квалиа, хотя такие люди могут сознательно принимать решения на основе данных картинок. В википедии определение немного другое.
>Да. Только это разные ощущения. Почему одна структура нейронов дает ощущение красного цвета, а аналогичная структура нейронов, воспринимающая ту же самую картинку, но через кожу, не дает?
Тоже наблюдения лишь по собственному опыту? А почему кожное и глазное — это разные ощущения, и почему все глазные ощущения красного цвета — одинаковые? Потому что вы так решили их определить?

>>Так что это к вам вопрос, откуда вы уверены, в какой именно ситуации возникает квалиа красного цвета, а в какой не возникает?
>Из собственного опыта. Кинестетические ощущения отличаются от зрительных.
Неужели, читая книжку, у вас не возникает в голове образов? ;)
>Какой красноречие не используй, слепой человек не поймет, как ОЩУЩАЕТСЯ пуппурный цвет.
Мда. А вы поймёте, как мной ощущается пурпурный цвет? Давайте, рассказывайте. Или же вы вообще можете говорить лишь про собственные ощущения, но почему-то пытаетесь этот опыт обобщать на других людей?

>>Вот phenik проанализировал, и говорит, что нет такого места, где бы ваше квалиа находилось: habr.com/ru/post/500732/#comment_21586244
>А никто и не знает, где qualia находится
Для конструктивного анализа это приговор. Откуда тогда вы уверены вообще, что это явление есть, если не знаете, где его найти?

>Вы видимо имели в виду вот это: ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BD%D0%B0%D1%82%D0%B0_%D0%9C%D0%B0%D1%80%D0%B8%D0%B8
>Как вы видите, само наличие такого мысленного эксперимента говорит о том, что огромное число людей считает, что разница ЕСТЬ
Миллионы людей верят в бога, не забывайте об этом, когда строите псевдо-логические аргументы.

А, подождите, то есть, ваша версия квалиа не присутствует в физическом мире?
Ну с этого и надо было начинать… А то связали тут науку и квалиа…

Напомню ваши слова, с которых начался этот тред: «Что касается текущего состояния науки, все можно выразить коротко: прогресс в области hard problem of consciousness пока нулевой»

Наука же принципиально таким не занимается.
Да вы же знаете это, вам философию преподавали.
Но сознание — это не воображаемое явление, поэтому тут дело совсем другое.
Ощущения у нас есть по конкретной причине: мы их ощущаем. А ощущаем мы их ощущением изменения внутреннего состояния. То, что мы можем следить за собственным состоянием, даёт нам ощущения, а возможность этим процессом управлять (и сохранять наши наблюдения) даёт нам сознание.
(А ощущения красного цвета таким образом у всех разные, и соответствуют их изменениям состояния в тот момент, когда они видят красный цвет.)
Так нет же, квалиа есть, ведь у человека есть ощущения, правильно?
Тогда почему при передаче информации о цвете через кожу у вас эти ощущения пропадут? У вас будут ощущения кожи, соответствующие ощущениям цвета, так же, как у вас до этого были ощущения глаза, соответствующие ощущениям этого цвета.
А вот будут ли они другие или нет в этом случае — это уже третий вопрос, но можно считать, что они и у одного и того же человека каждый раз разные, и тем более, разные у разных людей. И вы мне не докажете, что они каждый раз одинаковые, потому что сканировать мозг целиком мы пока не умеем. А если и сумеем, то я уверен, что окажусь прав, и ощущения будут каждый раз хоть немного, но разными.
Так что это к вам вопрос, откуда вы уверены, в какой именно ситуации возникает квалиа красного цвета, а в какой не возникает?
>Имеено. Как объснить слепому от рождению человеку, чем КРАСНЫЙ отличается от СИНЕГО?
>Любые физические объяснения ни на йоту не приблизят его. В этом то и пропасть.
Нету пропасти.
Вот у вас нейроны отличаются от моих — получается, вы мне не можете ничего объяснить, и вообще никому не можете объяснить? Нет, можете. Получается, проблема не в том, что вычислители отличаются, да? Копаем дальше. В каком же месте тогда будет различие между тем, как понимается цвет одним существом и другим? Вот какой вопрос вы должны задавать каждый раз.
Конструктивные определения. Помните? И вопросы тогда будем задавать тоже конструктивные, на определение места «поломки» механизма (механизма «смотрения» и механизма «понимания», в данном случае).
Вот phenik проанализировал, и говорит, что нет такого места, где бы ваше квалиа находилось: habr.com/ru/post/500732/#comment_21586244
А я ещё дополню как ответ, так и механизм получения ответа.

Известно, что, при рассмотрении средними человеческими глазами, что реальный красный отличается от реального синего, и большего не будет известно, пока мы не будем делать эксперименты со смешением красного и синего в фиолетовый. Вот тогда по этой метрике «фиолетовости» мы сможем сказать, насколько этот красный отличается от этого синего. Это можно объяснить слепому.
Объяснение же, почему красный отличается от синего — это физика.
(Притом, есть «наличие красного», и различные «наличие оранжевого + фиолетового», которые глаз среднего человека не сможет отличить друг от друга, при том, что это бесконечное количество разных цветов — не забывайте об этом!)

А вот если касаться соотношения воображаемого красного/синего и реального красного/синего — то эта проблема лишь у вас в голове, и она примерно эквивалентна проблеме определения нашего мира как солипсизма/объективной реальности/субъективной реальности. Или проблеме наличия/отсутствия бога.
Вы можете считать так, можете считать иначе. Какая разница? Какая разница, есть ли на марсе невидимые черти, если это не влияет на результат никакого возможного предсказания в мире?
Слепой просто должен знать, что красный — не такой, как синий, и как устроено зрение и про компоненты цвета, и он сможет вычислять всё то же, что и видящий — а значит, отличия между «виденьем» и «невиденьем» на практике не будет (останется лишь то отличие, что слепой этот цвет не увидит глазами, а, скажем, услышит словами, звуками или прочитает руками… — но тут какая разница, мозг конвертирует нам это ощущение цвета через глаз, через ухо или через язык? Просто сравните с чтением книги про цвета зрячим.)
>>Поймите, если у вас нет определения — у вас нет и проблемы
>Это еще почему? Человек издревле сталкивался и решал проблемы без четких определений. Четкие определения — это вообще последние несколько сто лет.
Конечно, решать проблемы индивидуально без определений можно. Просто вместо определений тогда выступают внутренние образы понятий у вас в голове. Но без определений вы не сможете рассказать мне и всем другим людям, какую именно проблему вы хотите и можете/не можете решить. А значит, можно считать, что у вас нет проблемы.
Если вы не видели огонь, как я нормально объясню вам, что это такое?
Внимание у человека вполне описано, но не определением из 5 слов, а гораздо более длинным образом: теоретическими и экспериментальными моделями. Скажем, посмотрите на www.sciencedaily.com/releases/2019/05/190501153354.htm, на en.wikipedia.org/wiki/Cortico-basal_ganglia-thalamo-cortical_loop как один из основных способов построения и выделения этой единой картинки среди списка альтернатив.
Можно и на определение сослаться: en.wikipedia.org/wiki/Attention, ru.wikipedia.org/wiki/Внимание.
Внимание в искусственных нейросетях тоже вполне описано.
Тут бы я вам порекомендовал arxiv.org/abs/1610.02391 в первую очередь, там наиболее хорошая аналогия процессу верхнеуровнего внимания.
По объёму понятий «внимание» и «сознание» отличаются, но это нормально, т.к. «внимание» это общий механизм и даже набор механизмов, а сознание — лишь часть этих механизмов, которую тоже чётко не разграничить на уровне определений без хорошей точки опоры на другие детали устройства мозга, а у нас здесь сложности, так как сейчас есть только верхнеуровневое описания строения и процессов мозга (и очень низкоуровневое тоже есть, но проблема с промежуточными уровнями, которые как раз вас и интересуют).
В общем, если кратко, то внимание — это определённый набор механизмов, разных по устройству у человека и компьютеров, но выполняющий некоторые функции.
Внимание позволяет, как минимум: строить и поддерживать единую цельную картинку, выделять какие-то области интереса в этой картинке, в случае наличия манипуляторов — выбирать способы манипулирования этой картинкой (или на основе этой картинки, но это одно и то же). В основе внимания — конкуренция между нейронами (подавление одного сигнала с нейронов другими). Там, где есть конкуренция — есть и внимание.
Но сознание — это не любое внимание, а лишь та его часть, за которой мы можем проследить (да, внимание за вниманием!) и куда-то информацию об этом потом записать.
Ещё раз: конструктивное определение — описывает явление через его устройство и описание его механизма работы. Лишь в таком случае вы можете сделать grounding: сопоставить определение и описываемый механизм с действительностью. Неконструктивное — зачастую, определяет через другие понятия, и там действительно полно рекурсий!
>сам Чалмерс говорил, что нет ни одного определения qualia, к которому нельзя было бы подкопаться.
Поймите, если у вас нет определения — у вас нет и проблемы. Вы не можете решать конкретную проблему, не имея конкретного определения. При этом определение может не быть 100%-точным, главное лишь чтобы стороны его понимали более-менее однозначно, а в спорных случаях, влияющих на выводы, добавляли бы эти неточности к определению.
Говоря «проблема qualia не решена» — вы отказываетесь сообщить нам, что за qualia вы имеете в виду, и лишь пудрите нам таким образом мозги.
Перестаньте. Любой приличный человек эту hard problem может объяснить, и лишь только философы никак не определятся, какую часть психических, физических и физиологических процессов считать qualia, а какую не считать.
Вы примерно как схоласт, спорящий, сколько же ангелов умещается на кончике иглы. Определите же размер ангела, максимальную плотность размещения, определите размер иглы, подставьте в формулу и получите ответ.
Квалиа — это то, на что направлен процесс внимания у человека. Для некоторых определений qualia — процесс внимания лишь эмоциональных областей, для других определений — сознательного внимания, для третих определений — любого сознательного и бессознательного внимания (пример для разграничения этих определений: мы отдёргиваем руку от горячего, значит, мы это горячее почувствовали? или же нет? ведь мы могли не понять, что это ещё горячее...).
Да, а идеальный модельный пример — тамагочи — разве не переживает, что он голоден? ;)

И вообще, как проблема определения понятия квалиа связана с проблематикой ИИ и теориями сознания? Разве что, той же общей проблемой недостаточности подготовки исследователей для работы над задачами, в частности, отсутствием определения сознания и интеллекта у многих исследователей (или даже отказом от того, чтобы давать определения).
Я придерживаюсь простых определений:
Сознание — это управляемое внутреннее и внешнее внимание у организма.
Интеллект — это способность системы выполнять действия, которые нами считаются интеллектуальными.
и бонусное:
Философ — человек, неспособный мыслить конструктивно.
>В razdel разве есть датасет для французского языка?
Так вам для французского правильный ответ нужен? Как-то так будет норм, преимущественно апостроф влево докладывается, кажется, иногда всё же вправо бывает что ли… не помню уже: On|nous|dit|qu'|aujourd'|hui|c'|est|le|cas|,|encore|faudra|-|t|-|il|l'| évaluer. Но иногда лучше восстанавливать изначальные слова: qu' -> que, для тех же ASR LM.
А в английском где-то налево, где-то направо, в принципе часто можно склеивать.
А как разделять -t -il — по-разному можно, в идеале я бы дефис слева доложил к этим словам, а не отдельно сложил, и уж точно не превращал в [punct]. Вообще, для ASR пунктуацию удаляют, для OCR обычно оставляют, для spell checking оставляют. Нужно смотреть. И так же нужно смотреть особенности каждого европейского языка.
Конечно, это максимум единицы процентов качества, но в некоторых более популярных случаях будет очень обидно, если LM будет косячить из-за токенайзера, а починить это потом крайне трудно, поэтому я считаю, что уж если делать кастомный токенайзер, то делать хороший, а иначе можно взять любой готовый.
Датасеты для кучи языков можно взять в датасетах universaldependencies.org для морфо-синтаксического парсинга. Правда, там не будет слитного написания знаков препинания (но можно вручную рандомно зааугментировать датасет), но вот дефисы там будут, и предложения можно будет посклеивать и посмотреть, правильно ли ваша либа их потом разрезает.
Как я его сейчас протестирую сам? Это надо его ставить долго сейчас, запускать. Подождём pip install хотя бы. Далее, какой смысл тестировать руками на нескольких предложениях? Надо делать датасет для тестирования.
«Если будут ошибки, я буду исправлять.» — очень медленный процесс, и я считаю его несколько бестолковым в ИИ-задачах, уж извините.
Слишком много примеров парсеров на правилах, которые люди дописывают годами, а потом «внезапно» их существенно обходят нейросети. Да и свой такой же опыт есть, и с правилами, и с нейросетями. Токенайзер типа вашего я делал, представьте себе. Многоязычный. Давно, лет 6 назад, наверное.
И вообще, возьмите датасет из razdel, да протестируйте. Всё открыто, там сотни тысяч предложений.
А вот скажите, какой алфавит должен быть у английского? Какой у французского? Какой у русского? Одинаковый? Как вы будете обрабатывать документ со смесью языков? А датасет? У вас «don't» и «c'est» будут неправильно токенизироваться, и, кстати, вы не сможете наверное нормализовать don't до do not. И умляуты обработать… Прямая речь оформляется по-разному, значит, у вас будут проблемы с границами предложений. Дефисы…
В «l'astronomie» обычно должно выделяться «l'» как токен, например. А попробуйте теперь токенизировать «On nous dit qu'aujourd'hui c'est le cas, encore faudra-t-il l'évaluer» вашей библиотекой.
Прям эффект Даннинга — Крюгера в чистом виде. Мало знаете про токенизацию в разных языках, но думаете, что всё знаете.
>Хочу заметить, что очевидно перед данным решением стояла не только задача токенизации, а более объемная задача статистической языковой модели. Жаль это осталось без рассмотрения.
Надеюсь, теперь вы понимаете, как ваша разработка видится со стороны.
При продуктивизации пользователи всегда фокусируются на одной части продукта.
У вас же — два, а в перспективе даже три разных продукта, с разным позиционированием и разными пользователями.
ALM как LM — международный продукт для N-gram LM для замены KenLM,
русский токенайзер — российский продукт с более широким применением, чем LM — ведь хорошая токенизация нужна любому парсингу и пониманию текста.
А потом ещё будут и статистические модели, снова будет отдельный продукт: какие-то готовые модели, наверное, будете делать и распространять.

Если же вы будете совмещать эти вещи вместе, то кто-то будет на него смотреть как на «токенизатор с хардкодом для русского языка без API на питоне и зачем-то сбоку прикрученной LM», кто-то — как на «неплохую LM с зачем-то сбоку прикрученным токенизатором», и так далее.
Один продукт должен хорошо решать одну задачу, а не две, но средненько.
Продукты могут друг с другом взаимодействовать, но зачем им при этом быть одним неделимым продуктом? К тому же, в вашем случае, даже взаимодействия между ними никакого нет, просто один продукт использует результаты другого.
Пожалуйста, уберите лишний вывод, ну мешает же! Оставьте только две строчки: вход и выход. Детокенизация не нужна, картинки тоже.
Во-первых, одни и те же правила не смогут отличить «г.» от «рис.», разве что вы как-то отдельно обрабатываете эти слова или же у вас не система на правилах, а что-то иное.
Давайте добавим сразу все варианты, с запятой после слова, и без неё:
«Так. Я люблю г. Волгоград, я люблю рис. Волгоград, расположенный на реке, красив.
Я люблю гор. Волгоград, я люблю лес. Волгоград, расположенный на реке, красив.»
И да, в вашем коде без дебаггера хрен разберёшься, как я и думал:
github.com/anyks/alm/blob/master/src/tokenizer.cpp#L988
Даже несмотря на комментарии. Чего стоит только эвристика на слова длиной 4 символа.
И, кажется, «я.» будет считать аббревиатурой.
Да и классы символов захардкожены.
В общем, поддерживать кроме вас такой код никто не сможет, а уж тем более, добавить в токенайзер поддержку другого языка…
А так — правила для русского языка вроде бы вы неплохие сделали, можно будет попробовать их использовать.

Во-вторых, тут ошибка:
>[[«Наш»,«сайт»,«выпивка.рф»,«объявляет»,«набор»,«гостей»,"."],[«Ваш»,«адрес»,":",«выпивка.рф/1,2»,«человека»,«уже»,«зашли»,",",«будь»,«третьим»,"!"],["(",«Напоминаю»,":",«выпивка.рф/1»,")"]]
А должно быть «выпивка.рф/1»,«2», «человека».
К тексту из социальных сетей ваш токенайзер ещё рано подпускать, там с расположением пробелов проблемы, да и с большими буквами тоже. Туда — только нейросети.
К любым правилам легко подбирается контрпример.
Если у вас правило разбиения предложений на ". [Большая буква]" идёт первым, то оно будет глючить на таких примерах:
Люди любят г. Волгоград, имеющий историю, уходящую в века.
Если вы его сдвинете позже выделения слов, то токенизация для «Люди любят рис. Нью-дели имеет историю, уходящую в века» сломается.
А правило на ссылки будет глючить на часто встречающихся прилепленных буквах и скобочках к ссылке:
Наш сайт выпивка.рф объявляет набор гостей. Ваш адрес: выпивка.рф/1,2 человека уже зашли, будь третьим! (Напоминаю: выпивка.рф/1)
А уж сколько у вас будет проблем с прямой и косвенной речью… И мы ещё не касались токенизации слов с дефисом (и в целом проблемы разделения дефисов и тире).
Ну и руками тестировать токенизацию бесперспективно, посмотрите хотя бы на github.com/natasha/razdel и их метрики.

P.S. и было бы более продуктивно, если бы вы убрали скриншоты, и оставили только вход и выход программы в текстовом виде. Тяжело листать 3 страницы, в которых лишь 3 уникальных строки, а всё остальное — их повторы. Скажем, так:
Вход:
На рис. 1 изображена ваза, см. наш каталог. Заходи к нам на сайт https://example.com/1,2,3#сноска-1 за более подробной информацией
Результат:
[["На","рис.","1","изображена","ваза",",","см.","наш","каталог","."],["Заходи","к","нам","на","сайт","https://example.com/1,2,3#сноска-1","за","более","подробной","информацией"]]

Классно, что появляется много новых открытых проектов. Спасибо вам за открытый проект.
Но… я бы не доверил делать качественную токенизацию какой-то плохо понимаемой мной библиотеке на С, когда вместо этого можно написать простой и понятный скрипт на питоне.

Поэтому я бы вам предложил из одной библиотеки сделать две:
одну для токенизации (на питоне), вторую — для быстрого моделирования языка, на С или С++.
В качестве LM библиотеки сейчас вполне хорошо работает KenLM, особенно полезно его умение грузить 10 гб файлы с диска через mmap за долю секунды, потому что от языковой модели в первую очередь требуется скорость (как скорость работы, так и скорость загрузки!).
Я уверен, что ваша языковая модель ещё долго не будет дотягивать до такого уровня скорости, а вот хорошая токенизация из коробки — отличная штука даже сама по себе. Да и будет возможность сравнить вашу токенизацию с тем, что предлагают пользователю готовые питоновские библиотеки токенизации, скажем, razdel или nltk.
От токенизатора в первую очередь требуется управляемость, и для этого нет языка лучше питона.
Ведь, скорее всего, поиск сокращений (abbr), под которыми вы в одном месте документации почему-то понимаете слова типа «1-я», а в другом месте — «МВД», «СНИЛС» и «см.», будет неправильно работать на словах типа «рис.», «см.» (или слишком агрессивно, или никак), далее, наверняка у вас кривое правило для ссылок (https://example.com/1,2,3#сноска-1 — это ссылка до какого момента, и как учитывается остальная часть?), и тому подобное. Вообще, это всё лучше всего доверить быстрому NER, пусть он их правильно размечает. Работа на правилах здесь — полумера, ценность которой вообще непонятна: ну, половину сокращений оно найдет правильно, половину не найдёт. И как потом такой LM пользоваться?
Да и деление на предложения… скажем так, весьма нетривиальная штука. Всяко вы делаете это деление некачественно.
Если же не задумываться о токенизации, то, опять же, просто разбиваем текст по пробелам и знакам препинания, забиваем на деление на предложения, и живём счастливо… Возможно, удаляем знаки препинания, но явно не объединяем точку и запятую в один класс! У них же совсем разные роли!
Итак, чтобы не возиться с C, вы сейчас предлагаете медленное питоновское расширение для токенизации, чтобы делать её каждый раз при генерации LM — но токенизация, по сути, это отдельный этап, лучше её сделать один раз, а потом уже экспериментировать с настройками языковой модели. Да, про эту мысль разбиения на этапы мало написано (точнее, никак!) в документации к KenLM, но со временем все к этому приходят, и часть примеров по использованию KenLM именно так и говорит: сделайте отдельный скрипт для токенизации, а потом тренируйте kenlm на получившемся файле (и со стандартными настройками, ведь вы всё равно не понимаете, какой у этих настроек внутренний смысл, скажем, что такое backoff, и почему делить вероятности нужно только между не встречающимися словами, как у вас написано в тексте… и правда, почему? вероятности сочетающихся слов тоже как-то смещены, так что я вот тоже не понимаю научный смысл вашего smoothing...).

А ещё я пока что вообще не понимаю, как у вас работает питоновское расширение. Где декларируется, что есть тег "", но нету тега ""? Почему оно проверяет на наличие каждого тега независимо, это же медленнее в 10 раз, если у нас 10 тегов… И как сказать, что слова типа "" нужно полностью пропускать, вместо слов типа нужно поставить тег , а остальные слова нужно заменять на их леммы в словаре… И как это всё потом можно будет использовать из клиентского кода на питоне… там же во многих случаях нужно будет применять совпадающий с серверной версией токенизатор…
В общем, меня очень сильно смущает в вашем проекте то, что 90%, а может даже 100% всего проекта можно было бы и не делать, а взять готовые проверенные компоненты, и из них сделать всё то же самое…
Эх, не хватает ещё gradCAM или подобного алгоритма, чтобы показать, где именно сеть увидела собаку на картинке кошки (и на что до этого обращала внимание, чтобы понять, что это кошка). Ведь для простой сети обычно кошка — это лапа кошки или морда кошки или шерсть, похожая на кошачью, но не вся кошка целиком.
Я пока пользуюсь kinonavigator.ru, где имеющихся ползунков вполне для меня достаточно, и рекомендашка хорошая. Есть даже подбор для совместного просмотра. Попробуйте и вы.
посмотри LayerNorm, InstanceNorm, BatchNorm и прочие
посмотри различные методы оптимизации...
это всё по одной теме: как сделать так, чтобы одна и та же сетка лучше училась.

Information

Rating
3,333-rd
Location
Новосибирск, Новосибирская обл., Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Chief Technology Officer (CTO)
Lead