Представление пространства состояний и цели в проблеме сегментации слова

Мне дано слово без пробелов, моя цель состоит в том, чтобы сегментировать это слово, вставляя пробелы в нужное место.

Допустим, данное слово "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' "Вы") как цель вручную?

0 ответов

Другие вопросы по тегам