Belirli bir kelimeyi ad, cep telefonu numarası, adres, e-posta, eyalet, ilçe, şehir vb. olarak sınıflandırmak için hangi makine / derin öğrenme / nlp teknikleri kullanılır?


9

Bir dizi kelimeyi veya dizeyi tarayabilen ve bunları makine öğrenimi veya derin öğrenme kullanarak adlar, cep telefonları, adresler, şehirler, eyaletler, ülkeler ve diğer varlıklar olarak sınıflandırabilen akıllı bir model oluşturmaya çalışıyorum.

Yaklaşım aramıştım ama maalesef alacak bir yaklaşım bulamadım. Ben bir dize adı veya şehir vb olup olmadığını tahmin etmek için çanta modeli modeli ve eldiven kelime gömme ile denemişti ..

Ama, kelime çantası modeli ile başarılı olamadım ve GloVe ile gömme örneğinde yer almayan birçok isim var: - lauren Glove'da mevcut ve laurena değil

Makul bir cevabı olan bu yazıyı burada buldum, ancak NLP ve SVM'nin bunu çözmek için kullanılması dışında bu sorunu çözmek için kullanılan yaklaşımı bulamadım.

Herhangi bir öneri takdir

Teşekkürler ve Saygılar, Sai Charan Adurthi.


4
Bir cevap değil, ama buna Adlandırılmış Varlık Tanıma denir. Bu terimlerle arama yapmak yararlı bilgiler sağlayabilir.
kbrose

Teşekkür @kbrose, Adlandırılmış Varlık Tanıma tekniklerini inceleyecektir.
Sai Charan Adurthi

Yanıtlar:


1

Karakter gramları uygulayabilirsiniz - Sezgisel olarak, bir telefon numarası ile e-posta adresi arasında karakter kümesinde büyük bir fark olabilir. ve bir tahmin yapmak için karakter gram vektörünü SVM'ye iletin. Aşağıdaki özellik çıkarıcıları kullanarak sklearn kullanarak bunu uygulayabilirsiniz.

  1. TfIdfVectorizer (analizörü = 'karakter')

  2. CountVectorizer (analizörü = 'karakter')

Modelinize ince ayar yapmak için ngram aralığında ve SVM'nin gevşek değişkenlerinde çapraz doğrulayın.


Teşekkürler! @karthikbharadwaj. Şu anda R kullanarak çalışıyorum, sklearn içine bakmak ve çalışıp çalışmadığını görmek ..
Sai Charan Adurthi

@Sai Charan Adurthi - Yararlı bulduysanız lütfen oy verin ve faydalı bulduysanız cevapları kabul edin.
karthikbharadwaj

emin, Python kontrol kez kesinlikle yapacak ...
Sai Charan Adurthi

0

Kelimelere ortak kategorik etiketlerin uygulanmasına genellikle Adlandırılmış varlık tanıma (NER) denir .

NER, statik kurallar (örn. Düzenli ifadeler) veya öğrenilmiş kurallar (örn. Karar ağaçları) ile yapılabilir. Bu kurallar genellikle kırılgandır ve genelleme yapmaz. Koşullu Rastgele Alanlar (CRF) genellikle daha iyi bir çözümdür çünkü dillerin gizli durumlarını modelleyebilirler. NER'deki son teknoloji performans , Derin Öğrenme modellerinin bir kombinasyonu ile yapılır .

Stanford Named Varlık Tanıyıcı ve clean NER gerçekleştirmek için paketlerdir.


Teşekkürler Dr. Brain! .. ama, sadece tek bir kelime ya da bir kelime dizisi alıp bir isim, adres, vs. olup olmadığını tahmin etmek istiyorum. NER'i R'de Apache tarafından openNLP kullanarak denedim. içinde. Bu dilbilgisi ve konuşma bölümlerini kullanmak için kelime b paragraf gerekli, posta kodları, posta kodları ve devlet kodları gibi şeyleri bile anlayabilecek bir model istiyorum. Burada doğru yaklaşıma mı gidiyorum Dr. beyin?
Sai Charan Adurthi

Tek bir genel modele sahip olmayı düşünmemelisiniz. Her öğe türü için bir model oluşturmalısınız. Örneğin, çoğu posta kodu normal bir ifadeyle bulunabilir. Ayrıca bağlam kraldır, tek bir kelime verilen bir model NER'i tahmin etmek için kötü bir iş çıkarır. Metnin büyük bölümlerine sahip olmak daha iyidir.
Brian Spiering

Merhaba, @Dr. Beyin, R için text2vec paketini denedim, kelimelerin ne kadar benzer olduğunu kontrol etmek için Glove Word düğünlerini kullandım. Örn: İsim, şehir, eyalet, ülke vb. Kategorilere sahip 1000 satırlık tren verilerim var, farklı değerlere sahip test verileri. Hem tren, test veri değerleri için TCM oluşturmak için text2vec kullandım, sonra eldiven modelini bu TCM'lere uydurdum ve kosinüs benzerlik işlevini kullanarak verileri kategoriye göre eğitmek için test verilerindeki her kelimenin benzerliğini kontrol ettim. Ancak, eldiven modelleri her ürettiğimde ve benzerliği kontrol ettiğimde iyi bir doğruluk ve hatta değişkenliği elde edemedim.
Sai Charan Adurthi

Teşekkürler Dr.Brian, bağlamı almak ve NER'leri kullanmak için cümleler kullanırsam çalışır. Ama bunu sadece kelimeleri kullanarak yapmak ve herhangi bir modelin kelimelerden kalıpları öğrenip öğrenemeyeceğini görmek istiyorum.
Sai Charan Adurthi

Merhaba Beyin, önceden eğitilmiş NER modellerini kullanmak için Apache Open NLP kullandım. Ve evet kelimeler üzerinde de çalışıyor.
Sai Charan Adurthi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.