как эффективно находить фразы в документах

1

У меня есть большой список фраз (одно и несколько слов, некоторые перекрываются), и у меня много документов. В конце я хочу только сохранить список фраз (из большого списка фраз) на документ, а не все документы. Какой эффективный способ добиться этого? (предпочтительно в python)

Пример:

phrase_list = ['cat', 'dog', 'tree', 'tree house'] // actually a few thousend if not million

// a list of a few thousend documents with longer text
doc_dictionary = {'doc1':"""the cat sat under the tree""",
                  'doc2':"""the dog chased the cat""",
                  'doc3':"""the boy loves his tree house"",}

result_dict = {'doc1': ['cat','tree'], 'doc2': ['dog', 'cat'], 'doc3': ['tree house']}
  • 1
    Приведите примеры...
  • 0
    Какой вид поиска вы выполняете? Полный текст, логическое, регулярное выражение?
Показать ещё 3 комментария
Теги:
language-agnostic

1 ответ

2
Лучший ответ

Похоже, вам нужен индекс и поисковая система, например Lucene для Java. Возможно, будет полезен PyLucene порт.

  • 0
    Хммм. Так что вы предлагаете? Индексировать все документы, а затем запрашивать каждый элемент в моем списке фраз?
  • 2
    Я тестировал Xapian, он имеет привязки к Python, прост в использовании и чрезвычайно быстр. И да.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню