Я пытаюсь создать интеллектуальную модель, которая может сканировать набор слов или строк и классифицировать их как имена, мобильные номера, адреса, города, штаты, страны и другие объекты, используя машинное обучение или глубокое обучение.
Я искал подходы, но, к сожалению, не нашел подходов. Я пытался с моделью слова мешок и вложения слова перчатки, чтобы предсказать, является ли строка имя или город и т. Д ..
Но у меня не получилось с моделью bag of words, а с GloVe есть много имен, которые не описаны в примере встраивания: - lauren присутствует в Glove, а laurena нет
Я нашел здесь этот пост , на который был дан разумный ответ, но я не мог использовать подход, используемый для решения этой проблемы, за исключением того факта, что для ее решения использовались NLP и SVM.
Любые предложения приветствуются
Спасибо и всего наилучшего, Саи Чаран Адуртхи.
источник
Ответы:
Вы могли бы применять граммы символов - Интуитивно, может быть огромная разница в наборе символов между номером телефона и адресом электронной почты. и затем передайте вектор грамм символов в SVM, чтобы сделать прогноз. Вы можете реализовать это, используя в sklearn, используя следующие экстракторы функций.
TfIdfVectorizer (анализатор = 'символ')
CountVectorizer (анализатор = 'символ')
Перекрестная проверка диапазона ngram и слабых переменных SVM для точной настройки вашей модели.
источник
Применение общих категориальных меток к словам обычно называется распознаванием именованных объектов (NER) .
NER может быть сделан статическими правилами (например, регулярными выражениями) или изученными правилами (например, деревьями решений). Эти правила часто являются хрупкими и не обобщают. Условные случайные поля (CRF) часто являются лучшим решением, поскольку они способны моделировать скрытые состояния языков. Современное состояние NER достигается с помощью комбинации моделей глубокого обучения .
Stanford Названного Entity распознаватель и Spacy пакеты для выполнения ЯЭРА.
источник