Фон:
Я пытаюсь сравнить пары слов, чтобы увидеть, какая пара "более вероятна" на английском языке, чем другая пара. Мой план состоял в том, чтобы использовать средства коллокации в NLTK для парных пар слов, причем наиболее вероятная пара с более высокой балльной оценкой.
Подход:
Я закодировал следующее в Python, используя NLTK (несколько шагов и импорт удалены для краткости):
bgm = nltk.collocations.BigramAssocMeasures()
finder = BigramCollocationFinder.from_words(tokens)
scored = finder.score_ngrams( bgm.likelihood_ratio )
print scored
Результаты:
Затем я исследовал результаты, используя пары из двух слов, одна из которых должна быть очень вероятной, и одна пара, которая не должна ( "обжаренная кешью" и "кешью из бензина" ). Я был удивлен, увидев одинаковое количество парных слов:
[(('roasted', 'cashews'), 5.545177444479562)]
[(('gasoline', 'cashews'), 5.545177444479562)]
Я бы ожидал, что "жареные кешью" заработают выше, чем "бензиновые кешью" в моем тесте.
Вопросы:
- Я не понимаю, как использовать коллокации?
- Неверен ли мой код?
- Является ли мое предположение, что оценки должны быть разными, и если да, то почему?
Большое спасибо за любую информацию или помощь!