Python / PHP için isimleri önceden belirlenmiş bir liste ile Named varlık tanıma

0 Cevap php

Ben yapılandırılmamış metin olarak, bu örgüt içinde örgüt ve bireyin konumunu adı ile her satırda gibi bir metin alanı olan bir CSV dosyasını işlemeye çalışıyorum. Bu alan genellikle bu gibi metnin bir karmaşa:

Assoc. Research Professor  Dept. Psychology  Univ. California  Santa Barbara

Ben konumu ve kuruluş adını dışarı çekmek gerekir. Pozisyon için, ben farklı meslekler için yaklaşık 60 farklı düzenli ifadeler bir dizi için preg_match kullanmak, ve ben (benim tahminim yaklaşık% 80 yakalar olduğunu) oldukça iyi çalıştığını düşünüyorum. Ama sorun kuruluş adını alıcı yaşıyorum. Ben basit bir preg_match gerçekleştirebilirsiniz kabaca 16.000 organizasyon isimleri ile MySQL tablo var, ama nedeniyle yaygın imla hataları ve kısaltmalar için, sadece kuruluşların yaklaşık% 30 yakalıyor. Örneğin, benim veritabanı var

University of California Santa Barbara

Ama CSV dosyası seçeneklerden herhangi birine sahip olabilir:

Univ Cal Santa Barbara
University Cal-Santa Barbara
University California-Santa Barbara
Cal University, Santa Barbara

Ben birkaç yüz bin kayıtları işlemek gerekiyor, ve ben şu anda doğru işlenmesini veya özenle her kuruluş için birden çok takma ad oluşturmak edilmemesi kayıtların% 70 düzeltmek için zaman harcamak değil. Ne yapmak mümkün olmak istiyorum (örneğin küçük imla hataları, boşluk karşı tire ve ortak kısaltmalar gibi) küçük farklılıkları yakalamak için, ve hala hiçbir sonuç bulunamadı ise, ideal bir örgütsel adını tanımak ve yeni bir kayıt oluşturmak için Bunun için.

  • Ne Python veya PHP kütüphaneleri veya araçları geniş bir erişime sahip olacak bir benzerlik maç yapmak için izin verecek?
  • Python yakalamak imla hataları NLTK misiniz?
  • Yanlış yazılmış örgütleri yakalamak için AlchemyAPI kullanmak mümkün mü? Şimdiye kadar sadece doğru yazıldığından örgütlerini yakalamak için kullanmak mümkün oldum
  • PHP'nin similar_text işlevini kullanarak herhangi bir umut var (ki ismi artı gereksiz bilgileri içeren) daha uzun bir dize kısa bir dize (organizasyon adı) karşılaştırarak kulüpler yana?

Herhangi bir yardım veya fikir mutluluk duyacağız.

0 Cevap