Guest User

Untitled

a guest
Oct 23rd, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.73 KB | None | 0 0
  1. File "/home/yudai/Desktop/keras_test.py", line 24
  2. loaded_model = model_from json(loaded_model_json)
  3. ^
  4. SyntaxError: invalid syntax
  5.  
  6. from keras.models import Sequential
  7. from keras.layers import Dense
  8. from keras.models import model_from_json
  9. import json
  10. from collections import OrderedDict
  11. import MeCab
  12. import codecs
  13. from slackbot.bot import default_reply
  14. from slackbot.bot import Bot
  15. import numpy
  16. import os
  17. import io, sys
  18.  
  19. sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
  20. tagger = MeCab.Tagger('mecabrc')
  21. #モデルの構造を読む
  22. id2word = json.load(open('keras_AE.json', 'r'))
  23.  
  24. id2word = {int(key): value for key, value in id2word.items()}
  25. word2id
  26. id2word.close()
  27. #モデルをロードする
  28. loaded_model = model_from json(id2word)
  29. #重みを適用する
  30. loded_model.load_weights('AE.h5')
  31. model.train = False
  32.  
  33. @default_reply
  34. def replay_message(message):
  35. parsed_sentence = []
  36. try:
  37. for chunk in tagger.parse(message.body["text"].encode("utf-8")).splitlines()[:-1]:
  38. (surface, feature) = chunk.decode("utf-8").split('t')
  39. parsed_sentence.append(surface)
  40. parsed_sentence = ["<start>"] + parsed_sentence + ["<eos>"]
  41.  
  42. ids = []
  43. for word in parsed_sentence:
  44. if word in word2id:
  45. id = word2id[word]
  46. ids.append(id)
  47. else:
  48. ids.append(0)
  49. ids_question = ids
  50. sentence = "".join(model.generate_sentence(ids_question, dictionary=id2word)).encode("utf-8")
  51.  
  52. sentence = sentence.replace("◯", "")
  53. message.reply(sentence)
  54. except Exception as e:
  55. print (e)
  56. message.reply("解析できなかったのでもう一度おねがいします。")
  57.  
  58. def main():
  59. bot = Bot()
  60. bot.run()
  61.  
  62. if __name__ == "__main__":
  63. main()
Add Comment
Please, Sign In to add comment