2012-08-01 26 views
5

Herkes iki dizeyi karşılaştırabilen ve eşleştirdikleri dereceye karşılık veren bir Perl modülünü önerebilir mi? Kapsamlı cpan aradı ve dize :: Yaklaşık ve Data gibi benzer modülleri olmasına rağmen :: onlar aradığım şey nedir karşılaştırın. Sana seviyorum ve sana boht: İki dizeleri olduğunu varsayalım. Ben hesap sayısız parametreleri dikkate alarak, bu iki dizeleri karşılaştırır işlevselliği istiyorum, doğru sırayla (bir dize ilk kelime olarak aşık kelimelerin eşleme olmamalı "maç" 2 dizesinde 4 kelime olarak aşk , her iki dizenin de bu kelimeye sahip olmasına rağmen, eşleşmeyen ancak neredeyse aynı şekilde yazılan kelimeler (örneğin, love ve loge), sözcük sayısı, vb. gibi bir ifadeyle, 0'dan 1'e kadar 1, iki dizge arasındaki benzerlik derecesini temsil eder. Böyle bir Perl modülü var mı?Metin karşılaştırması için Perl modülü

+2

http://search.cpan.org/dist/Text-Levenshtein/Levenshtein.pm Eğer aradığınızı yapardın için? –

+0

Eh, emin değilim, Levenshtein mesafe üzerinde örnek ve Vikipedi makale sadece kelime karşılaştırmalar, hiçbir dize karşılaştırma yok. Bu yüzden, dizeleri eşleştiren bazı kelimelerle nasıl kıyaslayacağını bilmiyorum, ama farklı pozisyonlarda, bir eşleşmeyle sonuçlanmamalıdır. – SexyBeast

+0

Bu tür bir dizgi karşılaştırması yapmak, insanların önemsiz bir şekilde yaptıkları, ancak bilgisayarla gerçekten uğraşmak zorunda oldukları bir şeydir. –

cevap

6

Bu tür birçok modül vardır. Yine de, çoğu zaman, kendi varsayımlarınızı hesaba katmak için bunları özel bir şekilde kullanmanız gerekir. Bunun gibi dize karşılaştırma araçlarının çoğu, bir dizeyi diğerine göre karşılaştırmak için bazı algoritmalar kullanır. Çoğu, yapacak belirli politika kararlarınız varsa bunları kendiniz kodlayacağınızı varsayar.

Şahsen ben çünkü böcek ve ut8 desteğinin eksikliği Text::Levenshtein öneriyoruz emin değilim. Yine de daha iyi bir tavsiyem yok.

Ancak, bu aramalar içine bakmak potansiyel modüllerin sürü açığa ve (bu tür bir şey yapmak için ortak algoritmalar adlarına göre) senin amaç için en iyi olanı belirleyecek:

, ayrıca i bakabilirsiniz Nto fonetik karşılaştırmalar:

+0

Vay. Pek çok kaynak, hepsini arıyor olacak. Teşekkürler! – SexyBeast

İlgili konular