Google недавно открыл исходный код проекта seq2seq Google seq2seq
tensorflow запустил Dynamic_rnn вместо исходного сегмента. Этот проект основан на модели Dynamic_rnn seq2seq.
Здесь я построил несколько прогнозов разговоров. Китайский корпус сам по себе относительно скуден. Теоретически, чем больше корпуса, тем лучше будет модель, но она столкнется со многими новыми проблемами, поэтому я не буду их здесь объяснять.
Материалы диалога находятся в формате Q.txt A.txt в каталоге данных и могут быть заменены вашими собственными материалами диалога.
# 新增小黄鸡语料
# 添加
python prepare_dialog.py 5000
seq = Seq2seq()
# 训练
seq.train()
# 预测
seq.predict("天气")
# 重新训练
seq.retrain()
me > 天气
AI > 地点: 重庆
气温: 7
注意: 天气较凉,较易发生感冒,请适当增加衣服。体质较弱的朋友尤其应该注意防护。
В этом проекте добавлена поддержка действий, и вы можете настроить свои собственные функции. Поддержка нескольких раундов сеансов будет добавлена позже!
В файле action.py зарегистрируйте свой собственный тег действия и соответствующий интерфейс, например:
# 注意:参数为固定参数
def act_weather(model, output_str, raw_input):
#TODO: Get weather by api
page = requests.get("http://wthrcdn.etouch.cn/weather_mini?city=重庆")
data = page.json()
temperature = data['data']['wendu']
notice = data['data']['ganmao']
outstrs = "地点: %sn气温: %sn注意: %s" % ("重庆", temperature.encode("utf-8"), notice.encode("utf-8"))
return outstrs
actions = {
"__Weather__":act_weather
}
Советы: Параметры интерфейса временно исправлены и будут обновлены позже.
При этом учебный корпус построен следующим образом:
# Q.txt
天气
# A.txt
__Weather__