Появилась возможность вкатиться в NLP - есть потенциальный заказчик на некого чат-бота. Для начала решил подзадрочить теорию и инструменты. Выбор пал, как несложно догадаться на NLTK и соответствующую книгу.Тема обработки естественных языков весьма обширна и вкатывание в нее займет немало времени, поэтому решил завести отдельный тред. Возможно, он будет полезен другим анонам, желающим разобраться с NLP. Если такие найдутся, предлагаю сделать тред номерным и начать пилить шапку. Для начала неплохо было бы составить список инструментов и литературы.То, с чего начал я: http://www.nltk.org/book/
а что за язык? если пидерский английский с его примитивно-уебищной грамматикой то это хуйня.
>>772995Да, английский, а в чем уёбищность?
>>773006>lol gays tfw you pwnd
>>773013ну че псоны пендосы соснулей штоле епту?
>>772995>пидерский английский с его примитивно-уебищной грамматикой то это хуйня. Ценитель изящной словесности закукарекал. Английский де-факто международный язык науки и техники как минимум.
>>773017К тому же, как я понимаю, в плане NLP английский - лучший выбор. Все инструменты под него заточены.
>>773016>ну чеСловестный мусор. Выбрасываем.>псоныПолнотекстовый поиск по словарю -> пацаны. Существительное, множественное число.>пендосыПолнотекстовый поиск по словарю сленга -> американцы. Существительное, множественное число. Второе подряд -> первое было обращением.>соснулейПолнотекстовый поиск по словарю сленга -> соснули. Глагол. >штолеПолнотекстовый поиск по словарю -> что-ли. Вопросительное слово. Возможно, предложение вопрос.>ептуСловестный мусор. Выбрасываем.>?Вопросительный знак + вопросительное слово - точно вопрос. Отбрасываем обращение, убираем вопросительное сслово, так как это и так вопрос. Результат:>американцы соснули?
>>773006во всем. уже есть куча вполне приемлемых чатботов без всей этой псевдонаучной кукаретической хуйни, но это не ии.
>>773020>в плане NLP английский - лучший выборнет, тебе нужен язык с четкой грамматикой, лучше конланг какой нибудь.
>>773023Есть и есть, для меня это просто возможность вкатиться в интересующую меня тему.>псевдонаучной кукаретической хуйниЭто ты о чем, об NLP? В чем антинаучность?
>>773017>международный язык науки и техники как минимум>по мнению британских ученых
>>773032так ты семантику хочешь понимать? если да, то ищи другой натуральный язык, туже латынь например. а антинаучность в том, что кроме пиздежа ничего толком они представить не могут.
>>773021>Полнотекстовый поиск по словарю -> пацаныИли пионы. Ну ты понел.>Полнотекстовый поиск по словарю сленга -> соснули. С большой вероятностью не найдет, сленг узкоспециализированный и исковерканный.И да, твои аргументы равно применимы к первому выражению на английском.
>>773034Я хочу задать пользователю заранее подготовленный вопрос, проанализировать его ответ, и, в зависимости от результата, задать следующий вопрос, выбранные из некоторого конечного множества вопросов. То есть, по сути, реализовать скрипт продаж, но с ботом вместо человека. Ну и сами вопросы должны кастомизоваться (тут имя вставили, там правильное обращение использовали, вот это вот все).
>>773034>латынь напримерРимлянин в треде, все в акведук.
>>773042ты пытаешься создать экспертную систему, CLIPS или Пролог тебе в помощь, тоже ии но не нлп в общем виде
>>773043хайль цезарь11
>>773046Да, в каком-то смысле это экспертная система, только очень простая. Ну и в любом случае, нужно распознавать тексты на естественных языках - вряд ли ты заставить американских бабушек писать боту sql запросы, лел.
>>773054там весь твой "нлп" будет заключаться в поиску по шаблонам
>NLP>пиструн пистонРодина дала язык обработки данных https://cran.r-project.org/web/views/NaturalLanguageProcessing.html нет, хочу костыли.
>>774703Я хочу разобраться с предметной областью, поэтому лучше не отвлекаться на изучение нового языка, а воспользоваться привычными инструментами. Потом, если питона станет недостаточно, буду искать альтернативы.
Ребзя, привет.Есть у меня небольшой текст из нескольких предложений на русском языке, хочу выбрать из него ключевые слова.Удаляю знаки препинания из текста, разбиваю на слова, удаляю всякий мусор (предлоги, союзы, и т.п.). Теперь надо привести все слова к общему виду (чтобы не было несколько разных слова "квартира"/"квартиру"/"квартире").Как проще всего это сделать? Никак?Извините, если не по теме, ну и читать книжки нет времени совсем, нужно сделать быстро. Есть готовые алгоритмы?
>>774988https://en.wikipedia.org/wiki/Stemming
>>774991я сравнивал со словарем из opencorpora.Там все слова в парадигме даны.Только вот один хуй слово типа "посол" в одной изпарадигм дает "после", что заставляет его путать с предлогом "после".Ну и прочая хуйня, куча таких примеров будет..
>>774994Стеммеры бывают разные - ты это хотел услышать?
seq2seq с моделью личности по критериям
>>774994Я тебе один умный вещь скажу: NLP, data mining, и прочая хуита не дают никогда 100%-ый результат. Всегда найдется случай для которого именно твоя система не сработает. Трэшхолд не тот или ещё чего. Изменишь его - отвалится в другом месте. Просто смирись. Это, конечно, не значит, что количество ложных срабатываний нельзя уменьшить, но и полностью их не исключить.Конкретно в твоем случае с "посол" - ищи другой стеммер (который будет работать "не так" для какого-нибудь другого случая).
>>774994Как сказали, можешь использовать стеммер. Он не будет ошибаться особо, процентов 85-97 тебе выдаст. Можешь посмотреть стеммер от яндекса, но сомневаюсь, что тот бинарник особо лучше Snowball stemmer, хотя в статье вроде так написано.Можно использовать pymorphy2. Сделано на словаре из опенкорпораМожешь сделать свой велосипед из биграмм, триграмм и обучить на данных из той же opencorpora, можешь нейронку забацать, обучить побуквенно, чтобы выдавала итоговую форму.
>>774703питон - стандарт для дейта саинс и нлп, тем более он обычно является прокладкой для библиотек на си. В R с текстом не так удобно работать.
>>775084pymorphy2 еще умеет предсказывать словоформы для незнакомых слов.
>>775084>Snowball stemmerЭто говно мамонта.
>>775086Для SOHO-дейтасайенса.Вво всех серьезных местах используют Torch7 на Lua.
>>775112Но работает же и быстрое, если просто убрать окончания, то сойдет>>775113theano для части задач быстрее и предпочтительнее http://fastml.com/torch-vs-theano/ . Многие (большинство?) вообще на спарке все гоняют.
>>775127Может и предпочтительнее, но все крупные используют TorchМожно и в PostgreSQL гонятьhttp://madlib.incubator.apache.org/Нужное из других недоБД подключать через его foreign data wrappers
Спасибо большое за ответы!Погуглю стеммеры.Особо высокая точность мне не нужна, пишу нативное приложение на Android (то есть на java), какой из вышеперечисленных мне подойдет?
https://www.youtube.com/watch?v=ZGIPmC6wi7E&feature=youtu.be