9

“Canon D1000 4MP Fotoğraf Makinesi 2X Zoom LCD” gibi yapılandırılmamış ürün başlıklarını {brand: canon, model number: d1000, lens: 4MP zoom: 2X, display type: LCD} gibi yapılandırılmış verilere ayırmak istiyorum.Ürün başlıklarını (yapılandırılmamış) yapısal veriler nasıl ayrıştırılır?

  1. Kaldırılan engellenecek kelimeleri ve
  2. kelimelere uzun dizeleri tokenizing (-;:/ gibi karakterler kaldırmak) temizlenmiş:

    Şimdiye kadar var.

Herhangi teknikleri/kitaplık/yöntem/algoritmalar çok takdir!

DÜZENLEME: Ürün başlıkları için bir buluşsal yöntem yoktur. Bir satıcı, numaralı herhangi bir şeyi bir başlık olarak girebilir. Örneğin: 'Canon D1000' sadece başlık olabilir. Ayrıca, bu alıştırma sadece kamera veri setleri için değil, başlık herhangi bir üründe olabilir. Yalnızca (amazon ürünleri gibi) başlıkları alıyorsanız

+0

Herhangi bir eğitim verisi var mı? 1000 ürün için ürün özelliklerini belirtin mi? – Jirka

+0

Çok fazla eğitim verisi var. Bunu 100 milyon ürün için yapmam gerekiyor, ancak şu anda Kameralarla ilgili yaklaşık 10.000 ürün içeren bir prototip oluşturmaya çalışıyorum. – stealthspy

+1

Aynı sorunu çözmeye çalışıyorum. 50K ürünüm var, hepsi yapılandırılmamış, eğitim verisi yok. Benim için ilk adım, tanımlanmış özelliklere sahip ürünler anlamında eğitim için veri bulmaktır: marka, model vb. Ürünler elektronik eşyalara (telefonlar, dizüstü bilgisayarlar, kameralar) aittir. Nitelikli ürünler nerede bulunur? – dzeno

cevap

6

(Ben çiftleri başlığı + yapılandırılmış json şartnamenin bir şey var varsayalım), bir Named Entity Recognizer yetiştirmek için çalışacaktı.

Örneğin, Stanford NER'u eğitebilirsiniz. Nasıl yapılacağını açıklayan bu FAQ entry'a bakın. Açıkçası, ürün başlıkları tam olarak cümle olmadığından, parametrelerle uğraşmak zorunda kalacaksınız.

Eğitim verilerini hazırlamanız gerekir, ancak bu o kadar da zor olmamalıdır. İki sütuna, kelimeye ve cevaba ihtiyacınız var ve etiket sütununu ekleyebilirsiniz (standart POS tagger'ının doğruluğu tipik olmayan bir metin olduğundan emin değilim). Ben sadece cevap sütununun değerini ilişkili json belirtiminden çıkarırdım, bazı belirsizlikler olacak, ama bunu görmezden gelebilmeniz için yeterince az olacağını düşünüyorum.

+0

Teşekkürler! Bunu araştıracağım. – stealthspy

1

, o zaman bir cümle ve sıralı etiketleme dikkate olarak görebilirsiniz. özellik (Nitelikler, marka gibi maket vs vardır) verilen veya bilinmeyen olup olmadığını

bağlı olarak, çeşitli konularda burada vardır:

1: Bu o zaman sorun "kolay" olduğunu ve ne verilen ise, Çalışmak için herhangi bir "sıralı etiketleme" yöntemini kullanabilir. Yöntemler arasında CRF (koşullu rasgele alanlar) ve Markov Modelleri (HMM, MEMM, vb.)

2: Aksi takdirde, ayrıştırma (bağımlılık ayrıştırma, tam ayrıştırma) ile aynı şekilde çiftleri (öznitelik, değer) ayıklamanız gerekir. . Ama bunun mümkün olup olmadığını merak ediyorum, çünkü öznitelikler hakkında çok az bilgi var. Diğer bir olasılık ise, çok sayıda dış bilginin (değerlendirmeler ve ürün açıklamaları) verilmiş olması, bu nitelikleri çözebilmeniz ve çiftleri başlıklardan çıkarmanızdır. Ör. yorumlarda "marka" ve "canon" arasında çok fazla ilişki olduğunu bulduktan sonra, "canon" kelimesini kameradan başka bir yerde görerek, "marka" için bir değer olduğunu biliyorsunuz.

+0

Ürün başlığı için herhangi bir sezgisel olmadığından bahsetmem gerek. Bu durumda sıralı etiketleme nasıl çalışır? Hiçbir şey satıcıyı "D1000 4MP Kamera Canon 2X LCD Zoom" – stealthspy

+2

girmek için durdurur, o zaman bu daha zor bir sorundur (bkz. Ikinci durumda). Değerlendirme/açıklamadan yararlanmanıza yardımcı olur. Aksi takdirde, sadece kamera ürünlerinde çalışıyorsanız (veriler seyrek değilse), muhtemelen denetimsiz olarak sıralı etiketleme yardımcı olabilir (HMM) yardımcı olabilir, ancak daha sonra sadece "canon" ve "nikon" aynı özellikte olduğunu bilirsiniz hala adlandırmak zor ("marka" nereden geliyor?) – dragonxlwang

0

Böyle serbest metin ayrıştırmak için bir sinir ağı ile daha başarılı olabilir, ama kelimelerin tane yok bir bağlam gerekir çünkü sen, sadece düz metin ayrıştırma başarısız olur.

Bununla birlikte, hassas düzeyine bağlı olarak Eğer (daha sonra insan post-işlem gerektirir) kısmi bir çözüm ile gelebilir elde etmek istiyorum. Ya da girdideki en az bir minimum yapıyı zorlayın (ürün adları her zaman belirli bir kalıbı takip etmelidir). Böylelikle, daha iyi bir başlangıç ​​yapabilirsiniz çünkü kalan girişi anlamak için size yeterli bağlam bilgisini veren ürünü daha iyi tanımlayabilirsiniz.

(hatta bir sinir ağı ile) mümkün hayır% 100 çözüm kesinlikle var, sanırım.

2

% 100 başarı yöntemi olmadığına katılıyorum. Muhtemel bir yaklaşım, bazı el ile açıklamalı verilerle özel bir NER (Adlandırılmış Varlık Tanıma) eğitmektir. Etiketler: MARKA/MODEL/TİPİ olacaktır. Model isimlerini/markalarını filtrelemenin yaygın bir yolu da sözlük kullanmaktır. Markalar/modeller genellikle sözlük dışı kelimelerdir. Eğer eğitim çok veri olduğundan

3

Bu türden bir ticari analizci geliştirdikten sonra, bu problem için kolay bir çözüm bulunmadığını söyleyebilirim. Ancak, özellikle alanınız kamera/elektronik ile sınırlıysa, birden fazla kısayol vardır.

İlk olarak, daha fazla siteye bakmalısınız. Birçoğu sayfada ürün notuna sahiptir (uygun html ek açıklamaları, kalın yazı tipi, adın başındaki tüm harfler). Bazı siteler, arama amaçları için marka seçicilere sahip tüm sayfalara sahiptir. Bu sayede marka isimleri oldukça iyi bir başlangıç ​​sözlüğü oluşturabilirsiniz. Ürün satırı isimleriyle ve hatta modellerle aynı. Alfasayısal modeller, normal ifadelerle toplu olarak çıkarılabilir ve çok hızlı bir şekilde filtrelenebilir.

Diğer pek çok hile vardır, ancak kısa olmaya çalışacağım. Burada sadece bir parça tavsiye: Her zaman el ile çalışma ve algoritmalar arasında bir denge vardır. Her iki yaklaşımın da karıştırılabildiğini ve her ikisinin de yatırım yapma-zamanı eğrilerine sahip olduklarını akılda tutun. Amacınız ürün markalarını ve modellerini çıkarmak için otomatik bir algoritma oluşturmak değilse, bu problem planınızda sınırlı bir zaman bütçesine sahip olmalıdır. Bir günde 1000 markanın bir sözlüğünü gerçekçi bir şekilde oluşturabilir ve elektronik ürünlerin bilinen veri kaynağı üzerindeki iyi performans için (burada Amazon’dan konuşmuyoruz değil miyiz?) 4000 markadan oluşan bir sözlük, işiniz için ihtiyacınız olan her şey olabilir. Bu nedenle, haftada varlık tanıyıcı adlı son sinir ağına yatırım yapmadan önce matematik yapın.

İlgili konular