en ı sonra varanahtar bir dize içine varsa Algoritma görmek için
{ "En iyi spor tenis" "olimpiyatlar", "tenis", "tenis kuralları"} Bir dizide bir dizi anahtar kelime var diyelim Dizeleri (veya aslında tweets) büyük bir liste (bir seferde 50'ye kadar), yani en fazla 140 karakterdir.
Her dizeye bakmak ve orada hangi anahtar sözcüklerin bulunduğunu görmek istiyorum. Bir anahtar kelimenin "spor tenisinin en iyisi" gibi birden fazla kelimeden oluştuğu durumlarda, kelimelerin dizide birlikte olması gerekmez, ancak hepsinin ortaya çıkması gerekir.
Bunu verimli şekilde yapan bir algoritma bulmakta zorlanıyorum.
Bunun için bir yol önerileriniz var mı? Teşekkürler!
Düzenleme: Anahtar kelimelerin her birinin bir kimliği daha iyi açıklamak gerekirse, bu nedenle {1: "olimpiyatlar", 2: "tenis sporu en iyi", 3: "tenis", 4: "tenis kuralları"}
Dizeler/tweet'ler listesini incelemek ve hangi anahtar kelime grubunun eşleştiğini görmek istiyorum. Çıkış olmalı, bu tweet # 4 anahtar kelimesine ait. (Birden fazla eşleşme yapılabilir, böylece 2 anahtar kelimesiyle eşleşen her şey, her ikisinin de tenis oynadığı 3 ile eşleşir). Anahtar sözcükte birden çok sözcük olduğunda, örn. "En iyi spor tenisleri" birlikte görünmek zorunda değiller ama hepsinin görünmesi gerekiyor. Örneğin. Bu doğru bir şekilde eşleşecek: "sadece tenis oynadım, sporu seviyorum, en iyisi" ... bu dizi "spor tenisinin en iyisi" ni içerdiği için eşleşecek ve anahtar kelimeyle ilişkilendirilecektir (bu örnek için 2'dir).
Düzenleme 2: Büyük/küçük harf duyarsız.
İstediğiniz çıktı nedir? Anahtar kelimeleri içeren dizelerin listesi? Ya da her bir anahtar kelimenin bir dizede kaç defa var olduğu Veya başka bir şey? –
Substring veya tüm kelime eşleşmesi? Harfe duyarlı? – RedFilter
Yukarıda biraz daha fazla açıklık ekledim, tüm kelime eşleşmesi ... ama boşlukla ayrılmış anahtar kelimeler mantıksal AND'ye eşdeğerdir. Yani "spor tenisinin en iyisi", "spor" ve "tenis" VE "en iyi" olan bir anahtar kelimeyle eşleşmelidir – rksprst