Я постараюсь подробно объяснить, что мне нужно:
Я разбираю RSS-канал в Python, используя feedparser. Этот канал, конечно же, содержит список элементов с заголовком, ссылкой и описанием, как обычный канал RSS.
С другой стороны, у меня есть список строк с некоторыми ключевыми словами, которые мне нужно найти в описании товара.
Что мне нужно сделать, это найти элемент, который имеет наибольшее количество соответствий ключевых слов
Пример:
RSS-лента
<channel>
<item>
<title>Lion</title>
<link>...</link>
<description>
The lion (Panthera leo) is one of the four big cats in the genus
Panthera, and a member of the family Felidae.
</description>
</item>
<item>
<title>Panthera</title>
<link>...</link>
<description>
Panthera is a genus of the Felidae (cats), which contains
four well-known living species: the tiger, the lion, the jaguar, and the leopard.
</description>
</item>
<item>
<title>Cat</title>
<link>...</link>
<description>
The domestic cat is a small, usually furry, domesticated,
carnivorous mammal. It is often called the housecat, or simply the
cat when there is no need to distinguish it from other felids and felines.
</description>
</item>
</channel>
Список ключевых слов
['cat', 'lion', 'panthera', 'family']
Таким образом, в этом случае элемент с наибольшим (уникальным) соответствием является первым, потому что он содержит все 4 ключевых слова (не важно, что он говорит «кошки» вместо просто «кошка», мне просто нужно найти ключевое слово внутри строки)
Позвольте мне уточнить, что даже если какое-то описание содержало ключевое слово «кошка» 100 раз (и ни одно из других ключевых слов), это не будет победителем, потому что я ищу большинство содержащихся ключевых слов, а не большинство раз. появляется ключевое слово.
Прямо сейчас я зацикливаюсь на элементах rss и делаю это "вручную", подсчитывая время появления ключевого слова (но у меня возникла проблема, упомянутая в предыдущем абзаце).
Я очень новичок в Python, и я из другого типа языка (C #), поэтому извините, если это довольно тривиально.
Как бы вы подошли к этой проблеме?