тензор потока для классификации струн против эластичного поиска - PullRequest
0 голосов
/ 27 апреля 2018

Итак, немного о моей проблеме.

TL; DR

Могу ли я использовать машинное обучение вместо Elastic Search для поиска результатов в зависимости от ввода текста пользователем? Это хорошая идея?

Я работаю над проектом автомобильных запчастей, и мы разделили автомобиль на 300 частей, которые мы храним в базе данных, с некоторыми данными для каждой детали (вес, доступность и т. Д.).

Когда клиент вводит текст своей детали, мы должны иметь возможность классифицировать деталь и сопоставить ее с одной в нашей базе данных.

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

Мы пытались использовать текстовый поиск MongoDB, но он часто был неточным, так как детали имеют разные названия в разных частях страны.

Итак, мы хотели получить что-то, что получало бы более точные результаты и улучшалось по мере того, как у нас было больше данных, мы сразу же рассмотрели TensorFlow, после некоторого исследования и участия в Ускоренном курсе машинного обучения Google , я дошел до та точка где указано:

Модели не могут учиться на строковых значениях, поэтому вам придется выполнить некоторую разработку функций, чтобы преобразовать эти значения во что-то числовое

Это было бы полезно в случае, если у нас есть ограниченное количество функций в виде строк, но мы не знаем, что пользователь будет вводить как текст.

Итак, мои вопросы:

1- Можем ли мы использовать машинное обучение для сопоставления ввода текста пользователем с некоторыми документами в нашей базе данных?

2 - Если мы сможем это сделать, будет ли хорошей идеей отдать предпочтение этому по сравнению с другими инструментами поиска, такими как ElasticSearch?

3- Может ли ElasticSearch улучшить свои результаты, чем больше у нас данных? Как?

4- Как бы вы решили эту проблему?

Примечание: я бы делал это в Node.js, и поскольку TensorFlow.js является новым, я склоняюсь к поиску других решений, но если толчок наступит, и результаты будут намного лучше, я бы определенно иди туда.

1 Ответ

0 голосов
/ 27 апреля 2018

TL; DR: да и да.

TS; WM: Это идеально подходящая проблема для машинного обучения. Особенно, если у вас есть база данных прошлых текстов клиентов, которые уже были сопоставлены с частями. В идеале, у вас есть сотни текстов, сопоставленных с каждой частью. Если это присутствует, вы можете спроектировать и обучить сеть. И модели могут учиться на строковых значениях с некоторой инженерией, и это не так уж плохо.

Я не уверен, что ElasticSearch значительно улучшит сеть. Я не очень разбираюсь в торговле автозапчастями, но, как ни странно, "большая круглая вещь, которая помогает менять направление" никогда не будет сопоставлена ​​с "рулевым колесом" от ES но может быть легко изучено сетью - при условии, что есть хотя бы несколько примеров людей, использующих этот текст для указания рулевого колеса.

Вы можете, но не обязательно, использовать tensorflow.js для своей сети. AI может работать на вашем сервере как веб-сервис, и вы просто отправите ему текст клиента и отправите свои рекомендации по артикулам и именам деталей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...