Эту конкретную проблему легко решить, но я не уверен, что решение, к которому я пришел, было бы вычислительно эффективным.Поэтому я спрашиваю экспертов!
Как лучше всего пройти по большому файлу, собирая статистику (для всего файла) о том, как часто два слова встречаются в одной строке?
Например, если текст содержал только следующие две строки:
«Это белый бейсбол».«У этих парней белые бейсбольные биты».
В конечном итоге вы получите следующую статистику: (это: 1), (это,: 1), (это, белые: 1), (это, бейсбол: 1), (есть,: 1), (есть, белый: 1), (есть, бейсбол: 1) ... и т. д.
Для входа (бейсбол, белый:2) значение будет равно 2, поскольку эта пара слов встречается в одной строке в общей сложности 2 раза.
В идеале статистику следует помещать в словарь, где ключи располагаются в алфавитном порядке в кортеже.уровень (т. е. вам не нужны отдельные записи для слов «это, есть» и «есть, это». Здесь нам не важен порядок: мы просто хотим выяснить, как часто каждая возможная пара слов встречается в одной строке).по всему тексту.