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

9

Я пытаюсь создать интеллектуальную модель, которая может сканировать набор слов или строк и классифицировать их как имена, мобильные номера, адреса, города, штаты, страны и другие объекты, используя машинное обучение или глубокое обучение.

Я искал подходы, но, к сожалению, не нашел подходов. Я пытался с моделью слова мешок и вложения слова перчатки, чтобы предсказать, является ли строка имя или город и т. Д ..

Но у меня не получилось с моделью bag of words, а с GloVe есть много имен, которые не описаны в примере встраивания: - lauren присутствует в Glove, а laurena нет

Я нашел здесь этот пост , на который был дан разумный ответ, но я не мог использовать подход, используемый для решения этой проблемы, за исключением того факта, что для ее решения использовались NLP и SVM.

Любые предложения приветствуются

Спасибо и всего наилучшего, Саи Чаран Адуртхи.

Сай Чаран Адурти
источник
4
Не ответ, но это называется распознаванием именованных объектов. Поиск по этим терминам может привести к появлению полезной информации.
kbrose
Спасибо @kbrose, рассмотрим методы распознавания именованных сущностей.
Саи Чаран Адуртхи

Ответы:

1

Вы могли бы применять граммы символов - Интуитивно, может быть огромная разница в наборе символов между номером телефона и адресом электронной почты. и затем передайте вектор грамм символов в SVM, чтобы сделать прогноз. Вы можете реализовать это, используя в sklearn, используя следующие экстракторы функций.

  1. TfIdfVectorizer (анализатор = 'символ')

  2. CountVectorizer (анализатор = 'символ')

Перекрестная проверка диапазона ngram и слабых переменных SVM для точной настройки вашей модели.

karthikbharadwaj
источник
Спасибо! @karthikbharadwaj. В настоящее время я работаю с использованием R, посмотрю на sklearn и посмотрю, работает ли он.
Саи Чаран Адурти
@Sai Charan Adurthi - Пожалуйста, подтвердите, если вы нашли это полезным, и примите ответы, если вы нашли их полезными.
karthikbharadwaj
конечно, обязательно сделаю это, как только я проверю это на Python ...
Саи Чаран Адурти
0

Применение общих категориальных меток к словам обычно называется распознаванием именованных объектов (NER) .

NER может быть сделан статическими правилами (например, регулярными выражениями) или изученными правилами (например, деревьями решений). Эти правила часто являются хрупкими и не обобщают. Условные случайные поля (CRF) часто являются лучшим решением, поскольку они способны моделировать скрытые состояния языков. Современное состояние NER достигается с помощью комбинации моделей глубокого обучения .

Stanford Названного Entity распознаватель и Spacy пакеты для выполнения ЯЭРА.

Брайан Спиеринг
источник
Спасибо, доктор Брейн! ... но я хочу построить модель, которая берет только одно слово или слово из строк и предсказывает, является ли это имя, адрес и т. д. Я пробовал NER с использованием openNLP от Apache в R. У меня не получилось в этом. Для этого нужен абзац слов, чтобы использовать грамматику и части речи, я хочу иметь модель, которая может даже понимать такие вещи, как почтовые индексы, почтовые индексы и коды штатов. Собираюсь с правильным подходом здесь доктор мозг?
Саи Чаран Адуртхи
Вы не должны думать о наличии единой общей модели. Вы должны построить модель для каждого типа элемента. Например, большинство почтовых индексов можно найти с помощью регулярного выражения. Также контекст имеет решающее значение, модель, заданная одним словом, плохо справится с прогнозированием NER. Лучше иметь большие разделы текста.
Брайан Спиеринг
Привет, @Dr. Мозг, я попробовал с пакетом text2vec для R, я использовал вложения Glove Word, чтобы проверить, насколько похожи слова. Пример: у меня есть данные поезда из 1000 строк с категориями: имя, город, штат, страна и т. Д., Тестовые данные с разными значениями. Я использовал text2vec для построения TCM для обоих поездов, значений тестовых данных, затем подгонял модель перчаток к этим TCM и проверял сходство каждого слова в тестовых данных для обучения данных по категориям, используя функцию сходства косинусов. Но я не мог добиться хорошей точности и даже ее переменной каждый раз, когда я генерирую модели перчаток и проверяю на сходство.
Саи Чаран Адуртхи
Спасибо, доктор Брайан, это работает, если я использую предложения, чтобы получить контекст и использовать NER. Но я хочу сделать это только с помощью слов и посмотреть, сможет ли какая-либо модель выучить шаблоны из слов.
Саи Чаран Адурти
Привет, мозг, я использовал Apache Open NLP, чтобы использовать предварительно обученные модели NER. И да, это работает и над словами.
Саи Чаран Адуртхи