Сохранен 37
https://2ch.su/pr/res/772957.html
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Natural language processing

 Аноним 18/06/16 Суб 12:58:31 #1 №772957 
14662439116240.jpg
Появилась возможность вкатиться в NLP - есть потенциальный заказчик на некого чат-бота. Для начала решил подзадрочить теорию и инструменты. Выбор пал, как несложно догадаться на NLTK и соответствующую книгу.
Тема обработки естественных языков весьма обширна и вкатывание в нее займет немало времени, поэтому решил завести отдельный тред. Возможно, он будет полезен другим анонам, желающим разобраться с NLP. Если такие найдутся, предлагаю сделать тред номерным и начать пилить шапку. Для начала неплохо было бы составить список инструментов и литературы.
То, с чего начал я: http://www.nltk.org/book/
Аноним 18/06/16 Суб 13:41:45 #2 №772995 
а что за язык? если пидерский английский с его примитивно-уебищной грамматикой то это хуйня.
Аноним 18/06/16 Суб 13:53:48 #3 №773006 
>>772995
Да, английский, а в чем уёбищность?
Аноним 18/06/16 Суб 13:56:27 #4 №773013 
>>773006
>lol gays tfw you pwnd
Аноним 18/06/16 Суб 14:01:54 #5 №773016 
>>773013
ну че псоны пендосы соснулей штоле епту?
Аноним 18/06/16 Суб 14:02:43 #6 №773017 
14662477638810.jpg
>>772995
>пидерский английский с его примитивно-уебищной грамматикой то это хуйня.
Ценитель изящной словесности закукарекал. Английский де-факто международный язык науки и техники как минимум.
Аноним 18/06/16 Суб 14:06:07 #7 №773020 
>>773017
К тому же, как я понимаю, в плане NLP английский - лучший выбор. Все инструменты под него заточены.
Аноним 18/06/16 Суб 14:08:24 #8 №773021 
>>773016
>ну че
Словестный мусор. Выбрасываем.
>псоны
Полнотекстовый поиск по словарю -> пацаны. Существительное, множественное число.
>пендосы
Полнотекстовый поиск по словарю сленга -> американцы. Существительное, множественное число. Второе подряд -> первое было обращением.
>соснулей
Полнотекстовый поиск по словарю сленга -> соснули.
Глагол.
>штоле
Полнотекстовый поиск по словарю -> что-ли. Вопросительное слово. Возможно, предложение вопрос.
>епту
Словестный мусор. Выбрасываем.
>?
Вопросительный знак + вопросительное слово - точно вопрос.

Отбрасываем обращение, убираем вопросительное сслово, так как это и так вопрос. Результат:
>американцы соснули?
Аноним 18/06/16 Суб 14:08:47 #9 №773023 
>>773006
во всем. уже есть куча вполне приемлемых чатботов без всей этой псевдонаучной кукаретической хуйни, но это не ии.
Аноним 18/06/16 Суб 14:11:35 #10 №773025 
>>773020
>в плане NLP английский - лучший выбор
нет, тебе нужен язык с четкой грамматикой, лучше конланг какой нибудь.
Аноним 18/06/16 Суб 14:14:32 #11 №773032 
>>773023
Есть и есть, для меня это просто возможность вкатиться в интересующую меня тему.
>псевдонаучной кукаретической хуйни
Это ты о чем, об NLP? В чем антинаучность?
Аноним 18/06/16 Суб 14:14:46 #12 №773033 
>>773017
>международный язык науки и техники как минимум
>по мнению британских ученых
Аноним 18/06/16 Суб 14:17:09 #13 №773034 
>>773032
так ты семантику хочешь понимать? если да, то ищи другой натуральный язык, туже латынь например. а антинаучность в том, что кроме пиздежа ничего толком они представить не могут.
Аноним 18/06/16 Суб 14:17:16 #14 №773035 
>>773021
>Полнотекстовый поиск по словарю -> пацаны
Или пионы. Ну ты понел.
>Полнотекстовый поиск по словарю сленга -> соснули.
С большой вероятностью не найдет, сленг узкоспециализированный и исковерканный.

И да, твои аргументы равно применимы к первому выражению на английском.
Аноним 18/06/16 Суб 14:24:03 #15 №773042 
>>773034
Я хочу задать пользователю заранее подготовленный вопрос, проанализировать его ответ, и, в зависимости от результата, задать следующий вопрос, выбранные из некоторого конечного множества вопросов. То есть, по сути, реализовать скрипт продаж, но с ботом вместо человека. Ну и сами вопросы должны кастомизоваться (тут имя вставили, там правильное обращение использовали, вот это вот все).
Аноним 18/06/16 Суб 14:25:06 #16 №773043 
>>773034
>латынь например
Римлянин в треде, все в акведук.
Аноним 18/06/16 Суб 14:32:28 #17 №773046 
>>773042
ты пытаешься создать экспертную систему, CLIPS или Пролог тебе в помощь, тоже ии но не нлп в общем виде
Аноним 18/06/16 Суб 14:32:49 #18 №773048 
>>773043
хайль цезарь11
Аноним 18/06/16 Суб 14:36:28 #19 №773054 
>>773046
Да, в каком-то смысле это экспертная система, только очень простая. Ну и в любом случае, нужно распознавать тексты на естественных языках - вряд ли ты заставить американских бабушек писать боту sql запросы, лел.
Аноним 18/06/16 Суб 14:39:06 #20 №773057 
>>773054
там весь твой "нлп" будет заключаться в поиску по шаблонам
Аноним 19/06/16 Вск 19:44:09 #21 №774703 
14663546495350.jpg
>NLP
>пиструн пистон
Родина дала язык обработки данных https://cran.r-project.org/web/views/NaturalLanguageProcessing.html нет, хочу костыли.
Аноним 19/06/16 Вск 19:47:40 #22 №774704 
>>774703
Я хочу разобраться с предметной областью, поэтому лучше не отвлекаться на изучение нового языка, а воспользоваться привычными инструментами. Потом, если питона станет недостаточно, буду искать альтернативы.
Аноним 20/06/16 Пнд 07:45:17 #23 №774988 
Ребзя, привет.
Есть у меня небольшой текст из нескольких предложений на русском языке, хочу выбрать из него ключевые слова.
Удаляю знаки препинания из текста, разбиваю на слова, удаляю всякий мусор (предлоги, союзы, и т.п.). Теперь надо привести все слова к общему виду (чтобы не было несколько разных слова "квартира"/"квартиру"/"квартире").
Как проще всего это сделать? Никак?
Извините, если не по теме, ну и читать книжки нет времени совсем, нужно сделать быстро. Есть готовые алгоритмы?
Аноним 20/06/16 Пнд 07:53:10 #24 №774991 
>>774988
https://en.wikipedia.org/wiki/Stemming
Аноним 20/06/16 Пнд 08:03:46 #25 №774994 
>>774991
я сравнивал со словарем из opencorpora.
Там все слова в парадигме даны.
Только вот один хуй слово типа "посол" в одной изпарадигм дает "после", что заставляет его путать с предлогом "после".
Ну и прочая хуйня, куча таких примеров будет..
Аноним 20/06/16 Пнд 08:10:38 #26 №774996 
>>774994
Стеммеры бывают разные - ты это хотел услышать?
Аноним 20/06/16 Пнд 08:48:37 #27 №775009 
seq2seq с моделью личности по критериям
Аноним 20/06/16 Пнд 11:09:44 #28 №775061 
>>774994
Я тебе один умный вещь скажу: NLP, data mining, и прочая хуита не дают никогда 100%-ый результат. Всегда найдется случай для которого именно твоя система не сработает. Трэшхолд не тот или ещё чего. Изменишь его - отвалится в другом месте. Просто смирись. Это, конечно, не значит, что количество ложных срабатываний нельзя уменьшить, но и полностью их не исключить.

Конкретно в твоем случае с "посол" - ищи другой стеммер (который будет работать "не так" для какого-нибудь другого случая).
Аноним 20/06/16 Пнд 12:05:13 #29 №775084 
>>774994
Как сказали, можешь использовать стеммер. Он не будет ошибаться особо, процентов 85-97 тебе выдаст. Можешь посмотреть стеммер от яндекса, но сомневаюсь, что тот бинарник особо лучше Snowball stemmer, хотя в статье вроде так написано.

Можно использовать pymorphy2. Сделано на словаре из опенкорпора

Можешь сделать свой велосипед из биграмм, триграмм и обучить на данных из той же opencorpora, можешь нейронку забацать, обучить побуквенно, чтобы выдавала итоговую форму.
Аноним 20/06/16 Пнд 12:06:59 #30 №775086 
>>774703
питон - стандарт для дейта саинс и нлп, тем более он обычно является прокладкой для библиотек на си. В R с текстом не так удобно работать.
Аноним 20/06/16 Пнд 12:08:20 #31 №775088 
>>775084
pymorphy2 еще умеет предсказывать словоформы для незнакомых слов.
Аноним 20/06/16 Пнд 12:34:52 #32 №775112 
>>775084
>Snowball stemmer
Это говно мамонта.
Аноним 20/06/16 Пнд 12:36:01 #33 №775113 
>>775086
Для SOHO-дейтасайенса.
Вво всех серьезных местах используют Torch7 на Lua.
Аноним 20/06/16 Пнд 12:49:45 #34 №775127 
>>775112
Но работает же и быстрое, если просто убрать окончания, то сойдет
>>775113
theano для части задач быстрее и предпочтительнее http://fastml.com/torch-vs-theano/ . Многие (большинство?) вообще на спарке все гоняют.
Аноним 20/06/16 Пнд 12:57:14 #35 №775139 
>>775127
Может и предпочтительнее, но все крупные используют Torch

Можно и в PostgreSQL гонять
http://madlib.incubator.apache.org/
Нужное из других недоБД подключать через его foreign data wrappers
Аноним 20/06/16 Пнд 18:05:56 #36 №775360 
Спасибо большое за ответы!
Погуглю стеммеры.
Особо высокая точность мне не нужна, пишу нативное приложение на Android (то есть на java), какой из вышеперечисленных мне подойдет?
Аноним 20/06/16 Пнд 20:05:26 #37 №775417 
https://www.youtube.com/watch?v=ZGIPmC6wi7E&feature=youtu.be
comments powered by Disqus