Я ищу некоторый вклад и теорию о том, как подходить к лексической теме.
Допустим, у меня есть коллекция строк, которая может состоять из одного или нескольких предложений. Я хотел бы проанализировать эти строки и вырвать наиболее важные слова, возможно, с оценкой, которая указывает, насколько вероятно, что слово должно быть важным.
Давайте посмотрим на несколько примеров того, что я имею в виду.
Пример № 1:
«Я действительно хочу Кейрига, но я не могу себе его позволить!»
Это очень простой пример, всего одно предложение. Как человек, я легко вижу, что «Keurig» является самым важным словом здесь. Кроме того, «позволить» является относительно важным, хотя это явно не основной пункт предложения. Слово «я» появляется дважды, но оно совсем не важно, поскольку на самом деле оно не сообщает нам никакой информации. Я мог бы ожидать увидеть хэш слова / оценки примерно так:
"Keurig" => 0.9
"afford" => 0.4
"want" => 0.2
"really" => 0.1
etc...
Пример № 2:
«У меня была одна из лучших плавательных практик в моей жизни. Надеюсь, я смогу выдержать мои соревнования. Если бы я только вспомнил, как взять свои водонепроницаемые часы».
В этом примере несколько предложений, поэтому повсюду будут более важные слова. Не повторяя упражнение из примера № 1, я, вероятно, ожидал бы увидеть два или три действительно важных слова: «плавание» (или «практика плавания»), «соревнование» и «смотреть» (или «водонепроницаемый»). смотреть "или" не водонепроницаемый часы "в зависимости от того, как обрабатывается дефис).
Приведя пару таких примеров, как бы вы поступили так же? Существуют ли какие-либо (с открытым исходным кодом) библиотеки или алгоритмы в программировании, которые уже делают это?