Kalıcı doğal dil işleme ayrıştırılmış verileri


12

Son zamanlarda Stanford'un CoreNLP'sini kullanarak doğal dil işleme (NLP) ile denemeye başladım ve NLP ayrıştırılmış verileri bir metin madenciliği uygulaması gibi bir şey için depolamanın standart yollarının neler olduğunu merak ediyorum?

İlginç olabileceğini düşündüğüm bir yol, çocukları bir bitişik liste olarak saklamak ve özyinelemeli sorguları iyi kullanmaktır (Postgres bunu destekliyor ve gerçekten iyi çalıştığını gördüm).

Ancak, sanırım bu alanda yıllar boyunca alanda çalışan insanlar tarafından benimsenen ne tür analizlerin yapıldığına bağlı olarak bunu yapmanın birçok standart yolu olduğunu varsayıyorum. Peki NLP çözümlü veriler için standart kalıcılık stratejileri nelerdir ve nasıl kullanılır?

Yanıtlar:


3

Bir keresinde bir NLP araç kiti ile çalıştım ve tarif ettiğiniz problemle karşılaştım. Bence (en azından) iki yaklaşım var:

  • (dolaylı yaklaşımı), kullanım memoization

    İşlevlerin birinci sınıf nesneler olduğu programlama dillerinde (Lua, Python veya Perl 1 gibi ), belirli bir değer için bir değer hesaplandıktan sonra bir işlev hesaplanan değeriyle değiştirilerek (çalışma zamanında) otomatik notlama uygulanabilir. parametreler kümesi.

    Kullandığım yaklaşım buydu ve hızlı bir şekilde uygulanabilir; dezavantajı, bazı daha büyük veri yapılarının disk üzerinde kalması ve yükleme işleminin yeniden hesaplamadan daha hızlı büyüklük sıraları olmasına rağmen, yine de zamanını aldı.

  • (açık) olarak, gelecekte umursadığınız tüm sonuçları saklamak için ilişkisel veya belge odaklı olsun, bazı veritabanlarını kullanın. Bu başlangıçta daha fazla dikkat gerektirir, ancak daha uzun vadede karşılığını verir.

İlginizi çekebilir:


Düzenleme: Son zamanlarda çok aşamalı uzun çalışan hesaplamalar için kullandığım başka bir şey, düzinelerce olan bir iş akışı çerçevesidir . Bu gerçekten kalıcılık ile ilgili değildir, ancak kalıcılık iş akışında bir adımdır. Bunun için luigi deniyorum ve geliyor, örneğin Hadoop ve Postgres yardımcı sınıfları ile, bir sürü demirbaş kod ortadan kaldırabilir.


2

İyi bir strateji iyi bir Küçült / Harita özellikli veritabanı kullanmaktır, ayrıca MongoDB veya CouchDB gibi NOSQL veritabanı gibi bilinir.
Bu veritabanı, harita terimlerinin ve bitişiklerinin üzerinde basit kodlanmış kurallar ve bilgileri (ayrıca "grup") azaltmak için basit kodlanmış kurallar oluşturulmasına izin verir .

Buradan başlayabilirsiniz:
http://www.mongodb.org/
http://wiki.apache.org/couchdb/

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.