Представление пространства состояний и цели в проблеме сегментации слова
Мне дано слово без пробелов, моя цель состоит в том, чтобы сегментировать это слово, вставляя пробелы в нужное место.
Допустим, данное слово "ineedyou", тогда мой результат сегментации слова должен быть "я нуждаюсь в тебе".
Для этой задачи мне дали функцию беглости (скажем, f), которая берет слово и говорит, насколько часто это слово встречается в корпусе.
Таким образом, f('i') + f("нужно") + f ("вы") Я использую Унифицированный поиск стоимости (UCS), чтобы решить эту проблему, но мне трудно устанавливать свои состояния, действия и целевое состояние. Я решил проблему, установив, что мои состояния - это набор, в котором запятая представляет пробел, так что мое начальное состояние (ineedyou), и если мое действие заключается в вставке пробела после буквы "i", то мой следующий состояние будет ("я", "нуждаюсь"). Я представлял действие вставки пробела в виде целого числа, это целое число - позиция, где я нарушу свое слово. Полный пример: state_s0 = ('ineedyou') action_a0 = 1 Теперь мое действие будет представлять собой пробел в последнем элементе кортежа. state_s1 = ('i', 'needyou') action_a1 = 2 state_s2 = ('i', 'ne', 'dyou') В качестве цели для моего UCS я установил кортеж ('i', 'need', 'you'), и он прекрасно работает, однако, как мне решить эту проблему без необходимости устанавливать ('i', 'need' "Вы") как цель вручную?