Пожалуйста, как мне генерировать предложения из форм?

Пользователь заполняет форму. Используя текст из формы, программа автоматически формирует предложения.

Например:

[enter name], [student/professor] из [enter name of university], получил награду [enter award] за исследование [name of topic]; награда была вручена [name of conference] в [name of country]. В конференции приняли участие видные ученые со всего мира.

Сгенерированный текст станет:

Мухаммад Афик, студент Технологического университета Петронас, получил награду за свои исследования в области трассировки нефтепроводов; награда была вручена на Конференции по экологичным технологиям в Малайзии. В конференции приняли участие видные ученые со всего мира.

Знаете ли вы, какую технологию или язык я могу использовать, чтобы научиться это делать? Я журналист. Поэтому я ищу способ разработать простую программу, которая позволит мне заполнять форму, когда мне не хочется писать.

Я немного знаком с Python, но мне не удалось использовать его для создания этой программы. Все мои поиски (в том числе на этом сайте) до сих пор возвращали результаты в НЛП и ИИ — не то, что я хочу. Может быть, я использую неправильные условия поиска?

Пожалуйста, не могли бы вы указать мне место, где я могу узнать, как это сделать, или где-нибудь есть модуль?

Спасибо.

Редактировать:

Я пробовал это с помощью Python:

full_name =input("enter name")
occupation =input("enter occupation")
name_of_university =input("enter name of university")
award= input("enter award received")
topic=input("enter topic")
conference =input("enter name of conference")
country =input("enter name of country")
display_concatenation =   full_name+occupation+name_of_university+award+topic+conference+country
print (display_concatenation)

Это не сработало.


person dooba    schedule 26.04.2012    source источник
comment
Это не сработало. обычно это худшее описание ошибки, которое можно получить.   -  person Uwe Keim    schedule 26.04.2012
comment
Уве Кейм, прости. Я совершенно новичок в этом жаргоне программирования. Я имел в виду, что после того, как пользователь введет всю информацию, программа выдаст плохо отформатированный результат, подобный этому:   -  person dooba    schedule 26.04.2012


Ответы (2)


Я считаю, что почти все языки поддерживают строки. Итак, скажем, имя находится в поле «fullName», с которого вы начнете строить строку.

string sentence = fullName.Value() + ", a " + .. 

http://www.w3schools.com/ — хороший сайт, с которого вы можете начать. Java, .NET, Python, Ruby подойдут, так что это просто личный выбор.

person t3hn00b    schedule 26.04.2012
comment
строковое предложение = fullName.Value() + , a + .. Сэр, вы говорите, что решение заключается в конкатенации? - person dooba; 26.04.2012
comment
Несомненно. Если вы хотите генерировать этот тип предложений. Вы можете создать массив конструкций и использовать функцию Random (которая присутствует почти во всех языках), чтобы создавать какие-то странные вещи. К сожалению, у меня нет опыта работы с Python, поэтому я не могу помочь. - person t3hn00b; 26.04.2012

Если я понимаю вашу идею, разве это не должно быть так?

name = raw_input("Your name")
student_proff = raw_input("Student/proffessor")
s = "[enter name], a [student/professor] of [enter name of university], received the award of [enter award] in his research on [name of topic]; the award was given at the [name of conference] in [name of country]. The conference was attended by eminent scientists from all over the world."
print s
s = s.replace("[enter name]", name).replace("[student/professor]", student_proff)
print s

ОБНОВЛЕНО: Добавлен рабочий пример :)

person Aleksej Vasinov    schedule 26.04.2012
comment
Неа. Я не мог следовать вашему коду. В моем IDLE переменные и код были перепутаны. Пожалуйста, не могли бы вы еще раз ответить на вопрос - на этот раз объяснить, как будто я полный идиот? - person dooba; 26.04.2012
comment
Алексей, ты гений! Он работал с двумя переменными, которые вы использовали в качестве примеров. - person dooba; 26.04.2012