Для начала Вы понимаете, что японская грамматика полностью основывается на определении + определяемом? Даже сложные предложения (сложносочинённые и сложноподчинённые) можно рассматривать как определение одного предложения другим. Причём определение всегда стоит перед определяемым (на самом деле есть исключения, но мы здесь их рассматривать не будем — с ними итак всё понятно, можно будет расширить алгоритм по аналогии).
Если понимаете, я бы предложил такой алгоритм:
1. Вначале разбираем предложение на слова. Делается это от первого символа к последнему. Для реализации алгоритма нужны:
1) Словарь со списком слов, причём в словаре должны быть пометки о частях речи + дополнительная информация, например, v1/v5 для глаголов.
2) Список правил для всех форм для всех частей речи в Вашей программе (делается вручную). Например, прошедшая форма v1-глагола 食べる образуется взятием основы (кот. здесь образуется отбросом る) и добавлением た. Получится 食べた. Благодаря этому, когда мы встретим в речи 食べた, мы сможем понять, что это прошедшая форма глагола 食べる. Именно такой принцип используется в расширении Rikaichan для браузера (которое позволяет наводить указатель мыши на слова и смотреть их значения, а также говорит, в какой форме стоит слово).
3) Список исключений (очень мал)
В Вашем случае после разбора на слова получится такое предложение:
私たちは 彼を よき 先輩として 尊敬 している
2. Идём с конца (можно и с начала, но для реализации будет проще с конца). В конце у нас ожидаемо стоит сказуемое, являющееся определяемым. Для разбора предложения мы хотим установить зависимости между словами. Это сродно расстановке круглых скобок, чтобы явно обозначить, какое слово/предложение зависит от какого.
Итак, вот пример разбора:
私たちは彼をよき先輩として尊敬している — исходная фраза.
私たちは彼をよき先輩として尊敬 している — выделение первого определяемого. Мы знаем, что это определяемое, т. к. это глагол.
私たちは彼をよき先輩として 尊敬 している — выделение определения. 尊敬 является определением слову している. Мы это узнали, т. к. сущ + する говорит о том, что определение определяет прямо следующее за ним слово, а не более позднее слово или определённую фразу. Скобки не ставим: будем считать, что когда скобок нет, все определения являются определениями последнему слову в этой группе.
私たちは彼をよき 先輩として 尊敬 している — 先として является вторым определением к слову している, т. к. сущとして + глагол говорит о том, что сущとして определяет этот глагол. Аналогично, скобки пока не нужны, т. к. оба этих определения относятся к последнему слову в данной группе.
私たちは彼を よき 先輩として 尊敬 している — よき является третьим определением к слову している, т. к. наречение + глагол говорит нам об этом.
私たちは 彼を よき 先輩として 尊敬 している — 彼を является четвёртым определением к слову している, т. к. сущを + глагол говорит нам об этом.
私たちは (彼を よき 先輩として 尊敬 している) — 私たちは является определением ко всей впереди-стоящей фразы до конца части сложносочинённого или сложноподчинённого предложения. Об этом нам говорит частица は. Соответственно, мы обязаны поставить здесь скобки, т. к. в противном случае 私たちは указывало бы на слово している, а мы хотим, чтобы оно указывало на фразу 彼をよき先輩として尊敬している. Ну вот и готово, мы сделали разбор фразы!
私たちは(彼をよき先輩として尊敬している) — тоже самое без пробелов.
Пример 2 (более сложный):
趣味を仕事にしたら趣味は無くなることになるだろう (после разбития на слова: 趣味を 仕事に したら 趣味は 無く なる ことに なるだろう)
趣味を仕事にしたら趣味は無くなることに なるだろう — выделение первого определяемого.
趣味を仕事にしたら趣味は無くなる ことに なるだろう — слово ことに является определением для なるだろう (об этом нам говорит конструкция "сущに + глагол").
趣味を仕事にしたら趣味は無く (なる ことに) なるだろう — слово なる является определением для こと (об этом нам говорит конструкция "глагол + сущ"). Поскольку なる относится не к последнему слову в данной группе, мы вынуждены поставить скобки, чтобы было видно, что なる относится к ことに. Как результат у нас вышло, что вся фраза なることに является определением слова なるだろう. В реальной жизни оно так и есть, значит мы всё делаем правильно.
趣味を仕事にしたら趣味は ((無く なる) ことに) なるだろう — слово 無く является определением для なる (об этом нам говорит конструкция "наречие + глагол"). Обозначаем это с помощью скобок, т. к. если бы мы их не поставили, 無く прилегало бы к конечному слову なるだろう. Кстати, ВАЖНО: мы видим, что это третье слово подряд, которое прилегает прямо к следующему слову (т. е. имеем конструкцию вида a → b → c → d → e и т. д.). В этом нет ничего удивительного: большинство слов будут прилегать прямо к следующему, и есть только 4 исключения из этого правила (будут описаны ниже).
趣味を仕事にしたら 趣味は (((無く なる) ことに) なるだろう) — слово 趣味は прилегает к всей следующей части сложносочинённого предложения. Об этом нам говорит частица は — она вводит тему для всего последующего предложения, а значит сущは является определением для всего предложения. Обозначаем это скобками: явно стало видно, что 趣味は определяет всё, что стоит далее.
趣味を仕事に したら (趣味は (((無く なる) ことに) なるだろう)) — здесь мы видим глагол в условной форме, что говорит нам о сложносоч/сложноподч предложении, а значит данный глагол снова определяет всё предложение. Соответственно, берём всё предложение в скобки.
趣味を (仕事に したら) (趣味は (((無く なる) ことに) なるだろう)) — слово 仕事に определяет したら, ибо это сущに + глагол.
(趣味を 仕事に したら) (趣味は (((無く なる) ことに) なるだろう)) — слово 趣味を также определяет したら, ибо это сущを + глагол. Впихиваем его внутрь скобки.
Ну вот и готово. Мы получили все зависимости слов в предложении. Для каждого слова или подфразы мы можем сказать, какое слово/подфразу она определяет. Скобки полностью расставлены. Если убрать пробелы, получится (趣味を仕事にしたら)(趣味は(((無くなる)ことに)なるだろう)). Зная эти зависимости и значения слов, компьютер может понять смысл фразы.
В большинстве случаев определения определяли прямо следующее за ним слово. Но есть случаи, когда это не так:
1. は — влияет на всё последующее (до конца части сложного предложения).
2. Сложные предложения с помощью частиц けど、のに、から、ので и форм したら、すれば — также влияет на всё последующее.
3. Перечисления — несколько определений указывают на одно и тоже слово, т. к. принцип "влияет прямо на следующее слово" здесь немного нарушается.
4. Большая сложность с частицей が. Здесь уже объяснять не буду — додумайте сами. PS. Вроде, неодназностей нет в конструкциях типа сущのない/сущがない. Вероятно, кроме ない можно использовать и другие глаголы.
5. Может быть есть и другие случаи, про которые я не вспомнил.
В целом в итоге принцип должен понятен, думаю.
Разбирать предложение необязательно с конца, можно и с начала, но так может быть сложнее для реализации. Примеры:
私たちは彼をよき先輩として尊敬している — исходная фраза
私たちは <彼をよき先輩として尊敬している — отделяем первое определение. Также мы встретили частицу は, которая является особым случаем, поэтому введём треугольную скобку, которая говорит о том, что текущее определение влияет на всю фразу (до конца части сложного предложения). Закроем эту скобку, когда достигнем этой части. Положим эту скобку в стек: когда достигнем конца части сложного предложения, закроем скобку на этом месте и уберём её из стека.
私たちは <[彼を よき先輩として尊敬している — находим новое определение 彼を. Мы видим, что это именно определение, а не определяемое, т. к. это сущを. Поскольку текущая группа ещё не завершилось (определяемое ещё не найдено), введём квадратные скобки, которые сообщают нам, что мы в поиске определяемого. Аналогично, положим эту скобку в стек, чтобы успешно закрыть её, как только мы найдём первое определяемое. PS. На самом деле аналогичную операцию мы обязаны были проделать и с 私たちは, но поскольку в японском не бывает более одного определения на は (т. е. не бывает более одной темы), я опустил квадратную скобку — её роль итак успешно выполнит треугольная скобка.
私たちは <[彼を よき 先輩として尊敬している — находим новое определение (よき). Мы знаем, что это определение, т. к. это наречие.
私たちは <[彼を よき 先輩として 尊敬している — находим новое определение (先輩として).
私たちは <[彼を よき 先輩として 尊敬 している — находим новое определение (尊敬).
私たちは <[彼を よき 先輩として 尊敬 している] — наконец-то находим определяемое. Убираем из стека "[" и закрываем квадратную скобку. В стеке остаётся "<".
私たちは <[彼を よき 先輩として 尊敬 している]> — мы видим, что часть сложного или несложного предложения закончилась: это является триггером к закрытию треугольной скобки в стеке.
私たちは ((彼を よき 先輩として 尊敬 している)) — разбор предложения окончен. Заменяем треугольные и квадратные скобки на круглые.
私たちは (彼を よき 先輩として 尊敬 している) — упрощаем выражение (удаляем лишние скобки).
Готово. Без пробелов будет 私たちは(彼をよき先輩として尊敬している). Мы можем использовать этот результат для компьютерного понимания речи. Как видно, результат вышел аналогичным, как когда мы делали разбор с конца, а не с начала предложения. При этом писать алгоритм именно для компьютера было немного сложнее.
[ПРОДОЛЖЕНИЕ ОТВЕТА В ПЕРВЫХ КОММЕНТАРИЯХ]