首页 > 解决方案 > 使用 .json 项目获得未知的回溯?

问题描述

我目前正在使用 AI 制作我的第一个项目。我正在制作一个基本的聊天机器人,并尝试使用我的意图导入我的 .json 文件,但是遇到了一些错误。

import random
import json
import pickle
import numpy as np

import nltk
from nltk.stem import WordNetLemmatizer

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Activation, Dropout
from tensorflow.keras.optimizers import SGD

lemmatizer = WordNetLemmatizer

intents = json.loads(open('intents.json').read())

words = []
classes = []
docuements = []
ignore_letters = ['?','!', '.', ',']

for intent in intents['intents']:
    for pattern in intent['patterns']:
        word_list = nltk.word_tokenize(pattern)
        words.append(word_list)
        docuements.append((word_list, intent['tag']))
        if intent['tag'] not in classes:
            classes.append(intent['tag'])

print(docuements)





这是我得到的回溯

C:\Users\id4am\PycharmProjects\pythonProject1\venv\Scripts\python.exe C:/Users/id4am/PycharmProjects/pythonProject1/training.py
2021-02-19 01:53:52.558317: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudart64_110.dll
Traceback (most recent call last):
  File "C:/Users/id4am/PycharmProjects/pythonProject1/training.py", line 15, in <module>
    intents = json.loads(open('intents.json').read())
  File "C:\Users\id4am\AppData\Local\Programs\Python\Python38\lib\json\__init__.py", line 357, in loads
    return _default_decoder.decode(s)
  File "C:\Users\id4am\AppData\Local\Programs\Python\Python38\lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Users\id4am\AppData\Local\Programs\Python\Python38\lib\json\decoder.py", line 353, in raw_decode
    obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Expecting ',' delimiter: line 3 column 85 (char 123)

Process finished with exit code 1

标签: pythonjsonpython-3.xtensorflowpycharm

解决方案


intents.json如果分隔符有任何错误,请查看文件,并ignore_letters在代码中进行比较。可能这两个地方不统一。


推荐阅读