Doc2Vec - Paragraflar nasıl etiketlenir (gensim)


17

Ben gensim doc2vec ile cümleler / paragraflar / belgeleri nasıl etiketlemek (etiket) merak ediyorum - pratik bir bakış açısından.

Her cümlenin / paragrafın / belgenin kendine özgü etiketi (örneğin "Sent_123") olması gerekiyor mu? "Hangi sözcüklerin veya cümlelerin" Sent_123 "etiketli tek bir cümleyle en çok benzediğini söylemek istiyorsanız bu yararlı görünüyor.

Etiketleri içeriğe göre tekrarlayabilir misiniz? Örneğin, her cümle / paragraf / belge belirli bir ürün kalemi ile ilgiliyse (ve belirli bir ürün kalemi için birden fazla cümle / paragraf / belge varsa) cümleleri öğeye dayalı olarak etiketleyebilir ve ardından bir kelime veya bir kelime arasındaki benzerliği hesaplayabilirsiniz cümle ve bu etiket (sanırım ürün ile ilgili tüm bu cümlelerin ortalaması gibi olurdu)?

Yanıtlar:


10

Her ikisi de mümkündür. Her belgeye, belge etiketi olarak benzersiz bir kimlik (sıralı seri numarası gibi) veya bununla ilgili başka bir şeyi temsil eden paylaşılan bir dize belgesi veya her ikisini aynı anda verebilirsiniz.

TaggedDocument yapıcısı bir etiket listesi alır. (Kendinizi 0'dan artan düz girişlerle sınırlarsanız, Doc2Vec modeli bunları destek dizisine doğrudan dizin olarak kullanır ve aksi takdirde bir dizeye ayrılacak çok fazla bellek tasarrufu yaparsınız -> dizin araması Ancak bu, büyük veri kümeleri için önemli olabilir.

İhtiyaçlarınız için en uygun olanı denemeniz gerekir.

Bazı sınıflandırma görevleri için, bazen beklediğimden daha iyi çalışan bir yaklaşım, metin başına kimlikleri tamamen atlamak ve sadece Doc2Vec modelini bilinen sınıf örnekleriyle, istenen sınıflarla dokümanlar olarak eğitmektir. Daha sonra 'doc vector'ları sadece sınıf dokümanları için alırsınız - her belge için değil - potansiyel olarak daha küçük bir model. Daha sonra yeni metinler için vektörlerin çıkarılması, ilgili sınıf doktor vektörlerine anlamlı derecede yakın vektörlerle sonuçlanır.


Bu çok teşekkürler! Genim ile oynamaya başladığım bir kenara - bir doktor (benzersiz veya paylaşılan etiketler kullanılıp kullanılmadığına bakılmaksızın) ve bir kelime arasındaki benzerliği hesaplamanın mümkün olup olmadığını merak ediyorum - bu sizin deneyiminizde yapılabilir mi?
B_Miner

1
Bazı eğitim modları 'aynı alanın içinde kelime ve belge vektörleri oluşturur ve bu nedenle benzerlikler anlamlı olabilir. Örneğin , doc-vektörleri (Wikipedia makaleleri) ve kelime-vektörlerini içeren bir tür 'analoji aritmetiği' bile yapan bu makaleye - arxiv.org/abs/1507.07998 - bakın . Bu yazıda eğitim eşzamanlı atlama gram kelime eğitim ile gensim en DBOW modu gibi: dm=0, dbow_words=1.
gojomo

Teşekkürler @gojomo! Bunu gensim listesine nasıl yapacağınızla ilgili bir sorgu ekledim: groups.google.com/forum/#!topic/gensim/RLRfY6k3ulw
B_Miner

Yanlışım varsa lütfen düzelt. Son paragrafınızda, her bir belgenin bu sitedeki soruları etiketlediğimiz gibi etiketlenmesini öneriyorsunuz. Ve eğitimden sonra, her bir etiketin vektör temsilini alacağız. Yeni bir doküman geldiğinde, yeni doküman için etiket önermek üzere benzerlik metriğini kullanabiliriz.
kullanıcı

@ kullanıcı - evet, gerekli olmasa da, bunu yapmak mümkündür ve bazen yararlıdır.
gojomo

9

doc2vecmodel algoritmasını alır word2vec.

Gelen word2vecher kelime kelime kendi semantik anlamı vardır, çünkü kelimeleri etiket gerek yoktur. Ancak, durumda doc2vec, algoritmanın tek bir varlık olarak tanımlayabilmesi için kaç kelime veya cümlenin anlamsal bir anlam taşıdığını belirtmeye ihtiyaç vardır. Bu nedenle, biz belirtiyorsanız labelsveya tagssemantik anlam iletti ait cümle veya paragraf düzeyine bağlı.

Bir paragraftaki birden çok cümleye tek bir etiket belirtirsek, paragraftaki tüm cümlelerin anlamı ifade etmesi gerektiği anlamına gelir. Öte yandan, bir paragraftaki tüm cümlelere değişken etiketler belirtirsek, her biri anlamsal bir anlam ifade eder ve aralarında benzerlik gösterebilir veya etmeyebilir.

Basit anlamda, bir labelşeyin anlamsal anlamı anlamına gelir.


If we specify a single label to multiple sentences in a paragraph, it means that all the sentences in the paragraph are required to convey the meaning.Bunu doğru anladığımdan emin değilim. POV algoritmalarından semantik tanım için aynı etikete sahip tüm cümleler gerekli mi, yoksa aynı etikete sahip tüm cümleler aynı şeyi tarif ediyor mu? İlk durumda, tek bir cümle kendi kendine yeterli değildir, ikinci durumda, tek bir cümle kendi kendine yeterlidir.
kullanıcı

@user: İkinci durum, POV algoritmasından bir etiket, tek bir cümlede kullanıldığında tüm kelimelerin anlamını yakalayan bir varlık olarak tanımlanır. Aynı şekilde birden fazla cümlede kullanıldığında diğer tüm cümlelerdeki kelimeleri de yakalar.
yazhi
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.