2010-04-24 21 views
5

RDF formatında cümleleri temsil etmem gerekiyor. Başka bir deyişleRDF cümleleri gösterimi

"John kok sever" otomatik olarak temsil edilecektir: Ben nerede başlamalı

Subject : John 
Predicate : Likes 
Object : Coke 

bilen var mı? Bunu otomatik olarak yapabilecek veya her şeyi sıfırdan yapmam gereken programlar var mı?

+2

Not: Bu hala aktif bir araştırma alanıdır.En iyi ayrıştırıcılar, örneğiniz gibi küçük cümleler üzerinde iyi çalışma eğilimindedir, ancak "gerçek dünya" cümleleri üzerinde sefil bir şekilde başarısız olma eğiliminde olacaktır. – Cerin

+0

Bize gerçek, 10+ kelimelik uzun cümlenin amaçlanan temsilini verebilir misiniz? (ör. "Anarşizm, genellikle kendi kendini yöneten gönüllü kurumlar olarak tanımlanan vatansız toplumları savunan bir politik felsefedir.") [Bu soru] (http://stackoverflow.com/questions/3408867/representing-natural-language-as-rdf ? rq = 1) ne için sorduğunuzun mümkün olduğunu sormak gibi görünüyor ve cevap çok fazla değil. –

cevap

10

Bu örneğin görünüyor John likes coke için:

nsubj(likes-2, John-1) 
dobj(likes-2, coke-3) 

doğrudan RDF üreten herhangi bağımlılık ayrıştırıcı farkında değilim. Bununla birlikte, bunların çoğu, CoNLL-X olarak bilinen standartlaştırılmış sekme sınırlı gösterimde ayrıntılar üretir ve CoNLL-X'den RDF'ye dönüştürmek çok zor olmamalıdır.

Açık Kaynak Bağımlılığı ayrıştırıcılarda

aşağıdaki state-of-art açık kaynak seçenekleri de dahil olmak o özü daktilo bağımlılıkları, seçim ayrıştırıcıları vardır:

  • MaltParser
  • Stanford Ayrıştırıcı İngilizce ayrıştırmak için bir ön-eğitimli modeli içerir. Yazılı bağımlılıklar almak için -outputFormat typedDependencies bayrağını kullanmanız gerekir.

    MaltParser için bir İngilizce model here karşıdan yükleyebilirsiniz.

    MSTParser, kendi ingilizce ayrıştırma modelini oluşturmak için kullanabileceğiniz küçük bir 200 cümle İngilizce eğitim seti içerir. Bununla birlikte, bu küçük verilere ilişkin eğitim, sonuçlanan ayrıştırıcının doğruluğunu bozacaktır. Dolayısıyla, bu ayrıştırıcıyı kullanmaya karar verirseniz, muhtemelen here kullanılabilir pretrain modelini kullanmaktan daha iyidir.

    Yukarıda bağlanmış olan önceden hazırlanmış modellerin tümü, Stanford Bağımlılık biçimciliğine göre (ACL paper ve manual) ayrıntılar üretir. Bu üçten, Stanford Parser en doğru olanıdır. MaltParser en hızlıdır, bu paketin bazı yapılandırmaları 1800 sentences in only 8 seconds'u ayrıştırabilir.

    2

    Bir seçenek, GPL uyumlu lisans kapsamında Link Parser'dan gelen çıktıları kullanmaktır. Bu çıktılar ile RDF düğümleriniz arasında bir çeviri katmanı tanımlayabilirsiniz.

    "John likes coke" örneğinizde this demo'a bakın! Bir cümleninYazılan bağımlılıkları istedikleri gibi