Browse Source

修改xx年、至

zfrr 2 months ago
parent
commit
1a77d1e81a

+ 0 - 109
final/ByRules/LSTM/LSTM.py

@@ -1,109 +0,0 @@
-import torch
-import torch.nn as nn
-import torch.optim as optim
-from sklearn.model_selection import train_test_split
-from collections import defaultdict
-import numpy as np
-from tqdm import tqdm
-
-# 1. 数据读取
-def load_data(filename):
-    sentences, labels = [], []
-    sentence, label = [], []
-    with open(filename, encoding='utf-8') as f:
-        for line in f:
-            if line.strip() == "":
-                if sentence:
-                    sentences.append(sentence)
-                    labels.append(label)
-                    sentence, label = [], []
-            else:
-                char, tag = line.strip().split()
-                sentence.append(char)
-                label.append(tag)
-    if sentence:  # 最后一条
-        sentences.append(sentence)
-        labels.append(label)
-    return sentences, labels
-
-sentences, labels = load_data('data.txt')
-
-# 2. 构建词表 & 标签表
-word2idx = {'PAD': 0, 'UNK': 1}
-tag2idx = {'PAD':0, 'B-TIME':1, 'I-TIME':2, 'O':3}  # 手动加PAD
-for s in sentences:
-    for word in s:
-        if word not in word2idx:
-            word2idx[word] = len(word2idx)
-
-idx2tag = {v: k for k, v in tag2idx.items()}
-
-# 3. 数据编码
-def encode(sentences, labels, max_len=32):
-    X, Y = [], []
-    for s, l in zip(sentences, labels):
-        x = [word2idx.get(w, word2idx['UNK']) for w in s]
-        y = [tag2idx.get(t, tag2idx['O']) for t in l]
-        x = x + [word2idx['PAD']] * (max_len - len(x))
-        y = y + [tag2idx['PAD']] * (max_len - len(y))
-        X.append(x[:max_len])
-        Y.append(y[:max_len])
-    return torch.LongTensor(X), torch.LongTensor(Y)
-
-X, Y = encode(sentences, labels)
-# 划分训练集,训练比验证 = 8:2
-X_train, X_val, Y_train, Y_val = train_test_split(X, Y, test_size=0.2)
-
-# 4. LSTM模型
-class NERLSTM(nn.Module):
-    def __init__(self, vocab_size, embed_dim, hidden_dim, tag_size):
-        super(NERLSTM, self).__init__()
-        self.embedding = nn.Embedding(vocab_size, embed_dim, padding_idx=word2idx['PAD'])
-        self.lstm = nn.LSTM(embed_dim, hidden_dim, batch_first=True, bidirectional=True)
-        self.fc = nn.Linear(hidden_dim * 2, tag_size)
-
-    def forward(self, x):
-        x = self.embedding(x)
-        x, _ = self.lstm(x)
-        x = self.fc(x)
-        return x  # [batch_size, seq_len, tag_size]
-
-# 5. 训练配置
-model = NERLSTM(len(word2idx), embed_dim=64, hidden_dim=128, tag_size=len(tag2idx))
-criterion = nn.CrossEntropyLoss(ignore_index=tag2idx['PAD'])  # PAD忽略
-optimizer = optim.Adam(model.parameters(), lr=0.0005)
-
-# 6. 训练
-epochs = 5
-for epoch in range(epochs):
-    model.train()
-    total_loss = 0
-    for i in range(len(X_train)):
-        x_batch = X_train[i].unsqueeze(0)
-        y_batch = Y_train[i].unsqueeze(0)
-        output = model(x_batch)
-        loss = criterion(output.view(-1, len(tag2idx)), y_batch.view(-1))
-
-        optimizer.zero_grad()
-        loss.backward()
-        torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm=5.0)  # 防梯度爆炸
-        optimizer.step()
-        total_loss += loss.item()
-    print(f"Epoch {epoch + 1}, Loss: {total_loss / len(X_train):.4f}")
-
-# 7. 推理
-def predict(sentence):
-    model.eval()
-    s = [word2idx.get(w, word2idx['UNK']) for w in sentence]
-    s = s + [word2idx['PAD']] * (32 - len(s))
-    input_tensor = torch.LongTensor([s[:32]])  # 取32以内
-    with torch.no_grad():
-        output = model(input_tensor)
-        pred = torch.argmax(output, dim=2).squeeze(0)
-    return [idx2tag[i.item()] for i in pred[:len(sentence)]]  # 只取实际句长
-
-# 8. 测试
-test_sentence = list("2024年12月省间交易电量是多少?")
-result = predict(test_sentence)
-for w, t in zip(test_sentence, result):
-    print(f"{w} => {t}")

+ 0 - 4184
final/ByRules/LSTM/data.txt

@@ -1,4184 +0,0 @@
-近 O
-5 O
-年 O
-浙 O
-江 O
-交 O
-易 O
-电 O
-量 O
-走 O
-势 O
-是 O
-怎 O
-样 O
-? O
-
-四 O
-川 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-全 O
-年 O
-交 O
-易 O
-电 O
-量 O
-是 O
-多 O
-少 O
-? O
-
-近 O
-5 O
-年 O
-山 O
-东 O
-购 O
-送 O
-差 O
-价 O
-走 O
-势 O
-是 O
-怎 O
-样 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-均 O
-价 O
-预 O
-计 O
-已 O
-成 O
-交 O
-未 O
-结 O
-算 O
-电 O
-量 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-至 O
-3 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-多 O
-少 O
-? O
-
-四 O
-川 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-全 O
-年 O
-均 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-浙 O
-江 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-全 O
-年 O
-交 O
-易 O
-电 O
-量 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-近 O
-3 O
-年 O
-山 O
-东 O
-均 O
-价 O
-走 O
-势 O
-是 O
-怎 O
-样 O
-? O
-
-近 O
-3 O
-年 O
-浙 O
-江 O
-购 O
-送 O
-差 O
-价 O
-走 O
-势 O
-是 O
-怎 O
-样 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-购 O
-送 O
-差 O
-价 O
-预 O
-计 O
-已 O
-成 O
-交 O
-未 O
-结 O
-算 O
-电 O
-量 O
-是 O
-情 O
-况 O
-? O
-
-近 O
-5 O
-年 O
-广 O
-东 O
-均 O
-价 O
-走 O
-势 O
-是 O
-怎 O
-样 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-均 O
-价 O
-预 O
-计 O
-已 O
-成 O
-交 O
-未 O
-结 O
-算 O
-电 O
-量 O
-是 O
-多 O
-少 O
-? O
-
-近 O
-4 O
-年 O
-山 O
-东 O
-均 O
-价 O
-走 O
-势 O
-是 O
-怎 O
-样 O
-? O
-
-江 O
-苏 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-全 O
-年 O
-均 O
-价 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-均 O
-价 O
-预 O
-计 O
-已 O
-成 O
-交 O
-未 O
-结 O
-算 O
-电 O
-量 O
-是 O
-走 O
-势 O
-? O
-
-近 O
-5 O
-年 O
-江 O
-苏 O
-购 O
-送 O
-差 O
-价 O
-走 O
-势 O
-是 O
-怎 O
-样 O
-? O
-
-近 O
-4 O
-年 O
-江 O
-苏 O
-交 O
-易 O
-电 O
-量 O
-走 O
-势 O
-是 O
-怎 O
-样 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-交 O
-易 O
-电 O
-量 O
-预 O
-计 O
-已 O
-成 O
-交 O
-未 O
-结 O
-算 O
-电 O
-量 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-至 O
-3 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-至 O
-1 B-TIME
-2 I-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-至 O
-9 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-交 O
-易 O
-电 O
-量 O
-预 O
-计 O
-已 O
-成 O
-交 O
-未 O
-结 O
-算 O
-电 O
-量 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-至 O
-1 B-TIME
-2 I-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-至 O
-1 B-TIME
-2 I-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-至 O
-9 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-近 O
-3 O
-年 O
-山 O
-东 O
-均 O
-价 O
-走 O
-势 O
-是 O
-怎 O
-样 O
-? O
-
-近 O
-4 O
-年 O
-广 O
-东 O
-交 O
-易 O
-电 O
-量 O
-走 O
-势 O
-是 O
-怎 O
-样 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-至 O
-6 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-情 O
-况 O
-? O
-
-近 O
-3 O
-年 O
-江 O
-苏 O
-交 O
-易 O
-电 O
-量 O
-走 O
-势 O
-是 O
-怎 O
-样 O
-? O
-
-近 O
-3 O
-年 O
-江 O
-苏 O
-购 O
-送 O
-差 O
-价 O
-走 O
-势 O
-是 O
-怎 O
-样 O
-? O
-
-近 O
-3 O
-年 O
-四 O
-川 O
-购 O
-送 O
-差 O
-价 O
-走 O
-势 O
-是 O
-怎 O
-样 O
-? O
-
-近 O
-4 O
-年 O
-浙 O
-江 O
-均 O
-价 O
-走 O
-势 O
-是 O
-怎 O
-样 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-走 O
-势 O
-? O
-
-近 O
-4 O
-年 O
-四 O
-川 O
-购 O
-送 O
-差 O
-价 O
-走 O
-势 O
-是 O
-怎 O
-样 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-均 O
-价 O
-预 O
-计 O
-已 O
-成 O
-交 O
-未 O
-结 O
-算 O
-电 O
-量 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-至 O
-1 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-购 O
-送 O
-差 O
-价 O
-预 O
-计 O
-已 O
-成 O
-交 O
-未 O
-结 O
-算 O
-电 O
-量 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-至 O
-1 B-TIME
-2 I-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-至 O
-9 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-四 O
-川 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-全 O
-年 O
-购 O
-送 O
-差 O
-价 O
-是 O
-变 O
-化 O
-? O
-
-江 O
-苏 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-全 O
-年 O
-均 O
-价 O
-是 O
-情 O
-况 O
-? O
-
-广 O
-东 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-全 O
-年 O
-均 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-变 O
-化 O
-? O
-
-近 O
-5 O
-年 O
-四 O
-川 O
-交 O
-易 O
-电 O
-量 O
-走 O
-势 O
-是 O
-怎 O
-样 O
-? O
-
-近 O
-4 O
-年 O
-江 O
-苏 O
-交 O
-易 O
-电 O
-量 O
-走 O
-势 O
-是 O
-怎 O
-样 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-至 O
-1 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-至 O
-1 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-广 O
-东 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-全 O
-年 O
-交 O
-易 O
-电 O
-量 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-均 O
-价 O
-预 O
-计 O
-已 O
-成 O
-交 O
-未 O
-结 O
-算 O
-电 O
-量 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-购 O
-送 O
-差 O
-价 O
-预 O
-计 O
-已 O
-成 O
-交 O
-未 O
-结 O
-算 O
-电 O
-量 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-交 O
-易 O
-电 O
-量 O
-预 O
-计 O
-已 O
-成 O
-交 O
-未 O
-结 O
-算 O
-电 O
-量 O
-是 O
-情 O
-况 O
-? O
-
-近 O
-5 O
-年 O
-江 O
-苏 O
-购 O
-送 O
-差 O
-价 O
-走 O
-势 O
-是 O
-怎 O
-样 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-均 O
-价 O
-预 O
-计 O
-已 O
-成 O
-交 O
-未 O
-结 O
-算 O
-电 O
-量 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-近 O
-5 O
-年 O
-山 O
-东 O
-交 O
-易 O
-电 O
-量 O
-走 O
-势 O
-是 O
-怎 O
-样 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-交 O
-易 O
-电 O
-量 O
-预 O
-计 O
-已 O
-成 O
-交 O
-未 O
-结 O
-算 O
-电 O
-量 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-均 O
-价 O
-预 O
-计 O
-已 O
-成 O
-交 O
-未 O
-结 O
-算 O
-电 O
-量 O
-是 O
-多 O
-少 O
-? O
-
-近 O
-5 O
-年 O
-浙 O
-江 O
-购 O
-送 O
-差 O
-价 O
-走 O
-势 O
-是 O
-怎 O
-样 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-均 O
-价 O
-预 O
-计 O
-已 O
-成 O
-交 O
-未 O
-结 O
-算 O
-电 O
-量 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-至 O
-3 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-均 O
-价 O
-预 O
-计 O
-已 O
-成 O
-交 O
-未 O
-结 O
-算 O
-电 O
-量 O
-是 O
-多 O
-少 O
-? O
-
-浙 O
-江 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-全 O
-年 O
-交 O
-易 O
-电 O
-量 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-购 O
-送 O
-差 O
-价 O
-预 O
-计 O
-已 O
-成 O
-交 O
-未 O
-结 O
-算 O
-电 O
-量 O
-是 O
-变 O
-化 O
-? O
-
-近 O
-5 O
-年 O
-山 O
-东 O
-购 O
-送 O
-差 O
-价 O
-走 O
-势 O
-是 O
-怎 O
-样 O
-? O
-
-四 O
-川 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-全 O
-年 O
-均 O
-价 O
-是 O
-变 O
-化 O
-? O
-
-近 O
-3 O
-年 O
-广 O
-东 O
-购 O
-送 O
-差 O
-价 O
-走 O
-势 O
-是 O
-怎 O
-样 O
-? O
-
-近 O
-3 O
-年 O
-江 O
-苏 O
-购 O
-送 O
-差 O
-价 O
-走 O
-势 O
-是 O
-怎 O
-样 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-至 O
-1 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-情 O
-况 O
-? O
-
-山 O
-东 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-全 O
-年 O
-均 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-均 O
-价 O
-预 O
-计 O
-已 O
-成 O
-交 O
-未 O
-结 O
-算 O
-电 O
-量 O
-是 O
-情 O
-况 O
-? O
-
-浙 O
-江 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-全 O
-年 O
-交 O
-易 O
-电 O
-量 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-均 O
-价 O
-预 O
-计 O
-已 O
-成 O
-交 O
-未 O
-结 O
-算 O
-电 O
-量 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-购 O
-送 O
-差 O
-价 O
-预 O
-计 O
-已 O
-成 O
-交 O
-未 O
-结 O
-算 O
-电 O
-量 O
-是 O
-变 O
-化 O
-? O
-
-近 O
-5 O
-年 O
-广 O
-东 O
-购 O
-送 O
-差 O
-价 O
-走 O
-势 O
-是 O
-怎 O
-样 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-至 O
-9 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-均 O
-价 O
-预 O
-计 O
-已 O
-成 O
-交 O
-未 O
-结 O
-算 O
-电 O
-量 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-均 O
-价 O
-预 O
-计 O
-已 O
-成 O
-交 O
-未 O
-结 O
-算 O
-电 O
-量 O
-是 O
-变 O
-化 O
-? O
-
-近 O
-4 O
-年 O
-四 O
-川 O
-均 O
-价 O
-走 O
-势 O
-是 O
-怎 O
-样 O
-? O
-
-四 O
-川 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-全 O
-年 O
-均 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-近 O
-3 O
-年 O
-浙 O
-江 O
-购 O
-送 O
-差 O
-价 O
-走 O
-势 O
-是 O
-怎 O
-样 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-至 O
-9 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-广 O
-东 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-全 O
-年 O
-均 O
-价 O
-是 O
-情 O
-况 O
-? O
-
-四 O
-川 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-全 O
-年 O
-购 O
-送 O
-差 O
-价 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-购 O
-送 O
-差 O
-价 O
-预 O
-计 O
-已 O
-成 O
-交 O
-未 O
-结 O
-算 O
-电 O
-量 O
-是 O
-变 O
-化 O
-? O
-
-山 O
-东 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-全 O
-年 O
-均 O
-价 O
-是 O
-变 O
-化 O
-? O
-
-浙 O
-江 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-全 O
-年 O
-购 O
-送 O
-差 O
-价 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-至 O
-1 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-均 O
-价 O
-是 O
-变 O
-化 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-情 O
-况 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-9 B-TIME
-月 I-TIME
-交 O
-易 O
-电 O
-量 O
-是 O
-走 O
-势 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-2 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-3 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-1 B-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-多 O
-少 O
-? O
-
-2 B-TIME
-0 I-TIME
-2 I-TIME
-3 I-TIME
-年 I-TIME
-6 B-TIME
-月 I-TIME
-至 O
-2 B-TIME
-0 I-TIME
-2 I-TIME
-4 I-TIME
-年 I-TIME
-1 B-TIME
-2 I-TIME
-月 I-TIME
-购 O
-送 O
-差 O
-价 O
-是 O
-变 O
-化 O
-? O
-

+ 0 - 84
final/ByRules/LSTM/generate_data.py

@@ -1,84 +0,0 @@
-import random
-
-# 样本词汇
-years = ['2022年', '2023年', '2024年']
-months = ['1月', '3月', '6月', '9月', '12月']
-provinces = ['广东', '江苏', '浙江', '四川', '山东']
-indicators = ['交易电量', '均价', '购送差价']
-calc_words = ['多少', '情况', '变化', '走势']
-others = ['是', '的', '?', '与', '相比', '增加', '降低', '预计', '未结算', '已成交', '完成']
-
-def ner_tag_time(word):
-    """只标注时间实体(TIME),其他全O"""
-    if len(word) == 1:
-        return [(word, 'B-TIME')]
-    else:
-        return [(word[0], 'B-TIME')] + [(w, 'I-TIME') for w in word[1:]]
-
-def generate_cross_year_sentence():
-    """生成跨年跨月时间句子,仅标注TIME"""
-    year1 = random.choice(years)
-    year2 = random.choice(years)
-    while year2 == year1:  # 确保跨年
-        year2 = random.choice(years)
-    month1 = random.choice(months)
-    month2 = random.choice(months)
-    indicator = random.choice(indicators)
-    calc = random.choice(calc_words)
-
-    sentence = []
-    sentence.extend(ner_tag_time(year1))
-    sentence.extend(ner_tag_time(month1))
-    sentence.append(('至', 'O'))
-    sentence.extend(ner_tag_time(year2))
-    sentence.extend(ner_tag_time(month2))
-
-    # 其他非时间实体全部标O
-    other_words = list(indicator) + ['是'] + list(calc) + ['?']
-    for word in other_words:
-        sentence.append((word, 'O'))
-
-    return sentence
-
-def generate_sentence():
-    """生成普通模板句子,仅标注TIME"""
-    year = random.choice(years)
-    month = random.choice(months)
-    prov = random.choice(provinces)
-    indicator = random.choice(indicators)
-    calc = random.choice(calc_words)
-
-    structure = random.choice([
-        [year, month, indicator, '是', calc, '?'],
-        [prov, year, '全年', indicator, '是', calc, '?'],
-        [year, indicator, '预计', '已成交', '未结算', '电量', '是', calc, '?'],
-        [year, month, '至', month, indicator, '是', calc, '?'],
-        ['近', str(random.randint(3,5))+'年', prov, indicator, '走势', '是', '怎样', '?']
-    ])
-
-    sentence = []
-    for token in structure:
-        if token in years:
-            sentence.extend(ner_tag_time(token))
-        elif token in months:
-            sentence.extend(ner_tag_time(token))
-        else:  # 其他全标O
-            for char in token:
-                sentence.append((char, 'O'))
-
-    return sentence
-
-# 生成并保存 data.txt
-with open('data.txt', 'w', encoding='utf-8') as f:
-    for _ in range(100):  # 100条普通样本
-        sent = generate_sentence()
-        for word, label in sent:
-            f.write(f"{word} {label}\n")
-        f.write('\n')  # 句子间空行
-    for _ in range(100):  # 100条跨年样本
-        sent = generate_cross_year_sentence()
-        for word, label in sent:
-            f.write(f"{word} {label}\n")
-        f.write('\n')
-
-print("✅ 仅标注TIME实体的 data.txt 已生成,共200条样本。")

BIN
final/ByRules/__pycache__/extract_by_am.cpython-39.pyc


BIN
final/ByRules/__pycache__/similarity_answer_json.cpython-39.pyc


+ 4 - 5
final/ByRules/app.py

@@ -4,7 +4,6 @@ from flask import Flask, request, jsonify
 
 from commonUtil import fill_template, fill_template_auto
 from responseUtil import *
-from final.ByRules.extract_by_am import EntityExtractor
 from similarity_answer_json import *
 from util import *
 import os
@@ -47,10 +46,10 @@ def process_query_route():
         return jsonify(error_response("Query cannot be empty"))
     try:
         # 按照模板匹配的方法
-        # result = process_query(query, template_dict, TEMPLATE_FOLDER)
-        # 按照自动机提取模板的方式进行匹配
-        extractor = EntityExtractor()
-        result = extractor.extract(query)
+        result = process_query(query, template_dict, TEMPLATE_FOLDER)
+        # # 按照自动机提取模板的方式进行匹配
+        # extractor = EntityExtractor()
+        # result = extractor.extract(query)
 
         #  如果没有该问题模板
         if result['play'] == '疑问':

+ 0 - 215
final/ByRules/extract_by_am.py

@@ -1,215 +0,0 @@
-import json
-import os
-import re
-
-from final.ByRules.similarity_answer_json import load_template_info
-
-
-class EntityExtractor:
-    def __init__(self):
-        self.entity_patterns = {
-            "time": [
-                r'\d{4}年\d{1,2}月到\d{4}年\d{1,2}月',
-                r'\d{4}年\d{1,2}月到\d{1,2}月',
-                r'\d{4}年\d{1,2}月',
-                r'\d{4}年',
-                r'\d{1,2}月',
-                r'去年|今年|前年|明年|上个月|本月|上季度|下季度',
-                r'过去\d+年|过去\d+个月|近\d+年|近\d+个月'
-            ],
-            "market": ["山东省", "河南省", "山西省", "江苏省"],
-            "indicator": {
-                "1": "累计省间交易电量",
-                "2": "交易电量",
-            },
-            "calculation": ["累计", "均值", "是多少", "有多少"],
-            "constraint": [
-                r'最高|最低|超过|低于|不少于',
-                r'第[零一二三四五六七八九十百千万\d]+名到第[零一二三四五六七八九十百千万\d]+名',
-                r'第[零一二三四五六七八九十百千万\d]+名',
-                r'前[零一二三四五六七八九十百千万\d]+名'
-            ]
-        }
-        self.states = ["time", "market", "indicator", "calculation", "constraint"]
-
-        # 这里取出 indicator 字典的所有指标名,方便匹配
-        self.indicator_dict = self.entity_patterns["indicator"]
-        self.indicator_list = list(self.indicator_dict.values())
-
-    def extract(self, text):
-        # 用question来保留问句
-        question = text
-        extracted_entities = {state: [] for state in self.states}
-
-        for state in self.states:
-            # indicator 不用按正则匹配,单独处理
-            if state == "indicator":
-                matched_indicators = []
-                for indicator_name in self.indicator_list:
-                    if indicator_name in text:
-                        matched_indicators.append(indicator_name)
-                        text = text.replace(indicator_name, "")  # 去掉已匹配,防止重复匹配
-                extracted_entities[state] = matched_indicators
-            else:
-                patterns = self.entity_patterns[state]
-                for pattern in patterns:
-                    matches = re.findall(pattern, text)
-                    if matches:
-                        extracted_entities[state].extend(matches)
-                        for match in matches:
-                            text = text.replace(match, "")
-
-        conditions = {}
-        # 时间实体处理
-        extracted_entities["time"] = self._process_time_entities(extracted_entities["time"])
-        time_entity = extracted_entities["time"]
-
-        # 如果是list,取第一个元素
-        if isinstance(time_entity, list):
-            ti = time_entity[0]
-        else:
-            ti = time_entity
-
-        # 处理具体时间字段
-        if 'start_year' in ti and 'end_year' in ti:
-            conditions['start_year'] = ti.get('start_year')
-            conditions['start_month'] = ti.get('start_month')
-            conditions['end_year'] = ti.get('end_year')
-            conditions['end_month'] = ti.get('end_month')
-        else:
-            if 'year' in ti:
-                conditions['年'] = ti['year']
-            if 'month' in ti:
-                conditions['月'] = ti['month']
-
-        # 指标实体处理,转换为 key: name 字典形式
-        extracted_entities["indicator"] = self._process_indicator_entities(extracted_entities["indicator"])
-        print(extracted_entities["indicator"])
-        # 获取序列号
-        keys = extracted_entities["indicator"].keys()
-        keys_list = list(keys)
-        key = keys_list[0]
-        print(key)
-        # 获取templatesJson中的数据
-        json_folder = "templatesJson"
-        template_info = load_template_info(key, json_folder)
-        keywords = template_info.get("keyword")
-        target = template_info.get("target")
-        type_ = template_info.get("type", "")
-        dataJsonName = template_info.get("dataJsonName", "")
-        value_key = template_info.get("value_key", "")
-        name_key = template_info.get("name_key", "")
-        find_max = template_info.get("find_max")
-        name = template_info.get("name", "")
-        content = template_info.get("content", "")
-        play = template_info.get("play", "")
-        qcode = template_info.get("qcode", "")
-        unit = template_info.get("unit", "")
-        flag = template_info.get("flag", "")
-
-        return {
-            "type": type_,
-            "keywords": keywords,
-            "target": target,
-            "dataJsonName": dataJsonName,
-            "name": name,
-            "conditions": conditions,
-            "content": content,
-            "query": question,
-            "play": play,
-            "find_max": find_max,
-            "value_key": value_key,
-            "name_key": name_key,
-            "qcode": qcode,
-            "unit": unit,
-            "flag": flag
-        }
-
-
-        return extracted_entities
-
-    def _process_time_entities(self, time_entities):
-        conditions = []
-        for time_str in time_entities:
-            if re.match(r'\d{4}年\d{1,2}月到\d{4}年\d{1,2}月', time_str):
-                m = re.match(r'(\d{4})年(\d{1,2})月到(\d{4})年(\d{1,2})月', time_str)
-                if m:
-                    conditions.append({
-                        "start_year": int(m.group(1)),
-                        "start_month": int(m.group(2)),
-                        "end_year": int(m.group(3)),
-                        "end_month": int(m.group(4))
-                    })
-            elif re.match(r'\d{4}年\d{1,2}月到\d{1,2}月', time_str):
-                m = re.match(r'(\d{4})年(\d{1,2})月到(\d{1,2})月', time_str)
-                if m:
-                    conditions.append({
-                        "start_year": int(m.group(1)),
-                        "start_month": int(m.group(2)),
-                        "end_year": int(m.group(1)),  # 同年
-                        "end_month": int(m.group(3))
-                    })
-            elif re.match(r'\d{4}年\d{1,2}月', time_str):
-                m = re.match(r'(\d{4})年(\d{1,2})月', time_str)
-                if m:
-                    conditions.append({
-                        "year": int(m.group(1)),
-                        "month": int(m.group(2))
-                    })
-            elif re.match(r'\d{4}年', time_str):
-                m = re.match(r'(\d{4})年', time_str)
-                if m:
-                    conditions.append({
-                        "year": int(m.group(1))
-                    })
-            elif re.match(r'\d{1,2}月', time_str):
-                m = re.match(r'(\d{1,2})月', time_str)
-                if m:
-                    conditions.append({
-                        "month": int(m.group(1))
-                    })
-            else:
-                conditions.append({"text": time_str})
-
-        # 如果只提取到一个时间实体,直接返回字典,否则返回列表
-        if len(conditions) == 1:
-            return conditions[0]
-        else:
-            return conditions
-
-    def _process_indicator_entities(self, indicators):
-        # 返回 key: indicator_name 字典
-        # 根据已匹配的指标名称反查 key
-        result = {}
-        for indicator in indicators:
-            for key, name in self.indicator_dict.items():
-                if name == indicator:
-                    result[key] = name
-                    break
-        return result
-
-
-# ==== 测试 ====
-extractor = EntityExtractor()
-# # question = "请问2023年5月到2024年3月、2024年5月山东省、河南省的交易电量累计是多少?"
-# # question = "2024年全年累计省间交易电量是多少??"
-# question = "2023年12月交易电量是多少?"
-# question = "2024年1月到3月累计交易电量是多少?"
-question = "2023年省间交易电量按交易周期划分的电量是多少?"
-# # question = "2023年省间交易电量年度交易电量是多少?"
-# # question = "今年哪个省火电送出电量最多?分别是多少?"
-# # question = "哪个省送出电量最高?是多少?"
-# # question = "省间交易正在组织的交易有多少?"
-# # question = "2024年送出电量前十名的省份是?"
-#
-result = extractor.extract(question)
-
-print("类型:", result["type"])
-print("关键词:", result["keywords"])
-print("查询字段:", result["target"])
-print("模型名字", result["name"])
-print("条件", result["conditions"])
-print("返回的内容是:", result["content"])
-print("问句是:", result["query"])
-print("动作是:", result["play"])
-print("描述:", result["content"])

+ 0 - 119
final/ByRules/extract_by_am_copy.py

@@ -1,119 +0,0 @@
-import json
-import os
-import re
-
-from final.ByRules.similarity_answer_json import load_template_info
-
-
-class EntityExtractor:
-    def __init__(self):
-        self.entity_patterns = {
-            "time": [
-                r'\d{4}年\d{1,2}月到\d{4}年\d{1,2}月',  # 2023年5月到2024年3月
-                r'\d{4}年\d{1,2}月到\d{1,2}月',        # 2023年5月到6月
-                r'\d{4}年\d{1,2}月',                 # 2023年5月
-                r'\d{4}年',                          # 2023年
-                r'\d{1,2}月',                        # 5月
-                r'去年|今年|前年|明年|上个月|本月|上季度|下季度',
-                r'过去\d+年|过去\d+个月|近\d+年|近\d+个月'
-            ],
-            "market": ["山东省", "河南省", "山西省", "江苏省"],
-            "indicator": ["火电送出电量","按交易周期划分", "按交易类型划分", "按发电类型划分", "按交易方式划分","年度交易","送出电量", "受入电量","累计省间交易电量", "交易电量", "正在组织的交易"],
-            "calculation": ["累计", "均值", "是多少", "有多少"],
-            "constraint": [
-                r'最高|最低|超过|低于|不少于',
-                r'第[零一二三四五六七八九十百千万\d]+名到第[零一二三四五六七八九十百千万\d]+名',  # 第1名到第3名、第一名到第三名
-                r'第[零一二三四五六七八九十百千万\d]+名',  # 第1名、第一名
-                r'前[零一二三四五六七八九十百千万\d]+名'  # 前5名、前五名
-            ]
-        }
-        self.states = ["time", "market", "indicator", "calculation", "constraint"]
-
-    def normalize_time(self, item):
-        # 处理"某年某月到某年某月"
-        if re.match(r'\d{4}年\d{1,2}月到\d{4}年\d{1,2}月', item):
-            return "某年某月到某年某月"
-        # 处理"某年某月到某月"
-        elif re.match(r'\d{4}年\d{1,2}月到\d{1,2}月', item):
-            return "某年某月到某月"
-        # 处理"某年某月"
-        elif re.match(r'\d{4}年\d{1,2}月', item):
-            return "某年某月"
-        # 处理"某年"
-        elif re.match(r'\d{4}年', item):
-            return "某年"
-        # 处理"某月"
-        elif re.match(r'\d{1,2}月', item):
-            return "某月"
-
-    def extract(self, text):
-        extracted_entities = {state: [] for state in self.states}
-        state_index = 0
-
-        while state_index < len(self.states):
-            state = self.states[state_index]
-            patterns = self.entity_patterns[state]
-
-            for pattern in patterns:
-                matches = re.findall(pattern, text)
-                if matches:
-                    extracted_entities[state].extend(matches)
-                    for match in matches:
-                        text = text.replace(match, "")
-
-            state_index += 1
-
-        # 结果归一化处理
-        final_list = []
-        for state in self.states:
-            for item in extracted_entities[state]:
-                if state == "time":
-                    final_list.append(self.normalize_time(item))
-                elif state == "market":
-                    final_list.append("某省")
-                else:
-                    final_list.append(item)
-
-        best_template = match_template(final_list, template_dict)
-        print("最接近模板ID:", best_template)
-        return final_list
-
-
-def calculate_similarity(list1, list2):
-    return len(set(list1) & set(list2))
-
-
-def match_template(extracted_list, template_dict):
-    max_similarity = -1
-    best_template_id = None
-
-    for template_id, template in template_dict.items():
-        similarity = calculate_similarity(extracted_list, template)
-        if similarity > max_similarity:
-            max_similarity = similarity
-            best_template_id = template_id
-
-    return best_template_id
-
-# 定义问题模板
-template_dict = {
-    "1": ["某年","累计省间交易电量","是多少"],
-    "2": ["某年","累计省间交易电量","是多少"],
-}
-
-# ==== 测试 ====
-extractor = EntityExtractor()
-# question = "请问2023年5月到2024年3月、2024年5月山东省、河南省的交易电量累计是多少啊?"
-# question = "2024年全年累计省间交易电量是多少?"
-# question = "2023年12月交易电量是多少?"
-# question = "2024年1月到3月累计交易电量是多少?"
-question = "2024年1月到2024年3月累计交易电量是多少?"
-# question = "2023年省间交易电量按交易周期划分的电量是多少?"
-# # question = "2023年省间交易电量年度交易电量是多少?"
-# # question = "今年哪个省火电送出电量最多?分别是多少?"
-# # question = "哪个省送出电量最高?是多少?"
-# # question = "省间交易正在组织的交易有多少?"
-# # question = "2024年送出电量前十名的省份是?"
-#
-result = extractor.extract(question)
-print(result)

+ 22 - 6
final/ByRules/similarity_answer_json.py

@@ -10,10 +10,10 @@ def jieba_tokenizer(text):
     return list(jieba.cut(text))
 # 定义问题模板
 template_dict = {
-    # "1": ["某年全年累计省间交易电量是多少?"],
-    "1": ["某年全年累计XXX是多少?"],
-    "2": ["某年某月交易电量是多少?"],
-    "3": ["某年某月到某月累计交易电量是多少?"],
+    "1": ["某年省间交易电量是多少?","某年年累计省间交易电量是多少?","某年累计省间交易电量是多少?","某年一整年累计省间交易电量是多少?"],
+    # "1": ["某年全年累计XXX是多少?"],
+    "2": ["某年某月交易电量是多少?","某年某月完成了多少交易电量?"],
+    "3": ["某年某月至某月的交易电量合计多少?","某年某月某月累计交易电量是多少?","某年某月至某月累计交易电量是多少?"],
     "8.1": ["某年省间交易电量按交易周期划分的电量是多少?"],
     "8.2": ["某年省间交易电量按交易类型划分的电量是多少?"],
     "8.3": ["某年省间交易电量按发电类型划分的电量是多少?"],
@@ -72,7 +72,23 @@ from typing import Tuple, List, Dict
 from datetime import datetime
 import re
 
+# 对时间进行预处理,例如用户输入24年则变成2024年
+def normalize_year(question: str) -> str:
+    # 匹配类似“24年”,“99年”这样的年份,排除“2014年”“1999年”这类四位数
+    def replace_func(match):
+        year = int(match.group(1))
+        # 根据需要设定规则:00-30算2000年以后,其余算1900年以后(你可改为你自己的需求)
+        if year <= 30:   # 例如30年以内默认2000+
+            return f'20{year:02d}年'
+        else:
+            return f'19{year:02d}年'
+
+    # 正则匹配两位数年份,但前面不能有数字(避免2014变20142014)
+    return re.sub(r'(?<!\d)(\d{2})年', replace_func, question)
+
+
 def extract_time_location(question: str) -> Tuple[List[Dict], List[str]]:
+    question = normalize_year(question)
     current_date = datetime.now()
     current_year = current_date.year
     current_month = current_date.month
@@ -111,7 +127,7 @@ def extract_time_location(question: str) -> Tuple[List[Dict], List[str]]:
     used_keywords = set()
 
     # 🆕 处理“起止时间段”,格式:2023年1月到2024年2月、去年1月到今年2月、2023年1月到1月等
-    range_pattern = r'(?P<start>(\d{4}|今|去|前|明)年(\d{1,2})?月?)到(?P<end>(\d{4}|今|去|前|明)年(\d{1,2})?月?)'
+    range_pattern = r'(?P<start>(\d{4}|今|去|前|明)年(\d{1,2})?月?)(|至)(?P<end>(\d{4}|今|去|前|明)年(\d{1,2})?月?)'
     for match in re.finditer(range_pattern, question):
         start_raw, end_raw = match.group('start'), match.group('end')
 
@@ -156,7 +172,7 @@ def extract_time_location(question: str) -> Tuple[List[Dict], List[str]]:
         used_keywords.add(match.group())
 
     # 🆕 新增匹配“2024年1月到2月”,结束时间没有写年份,默认与开始时间同年
-    partial_range_pattern = r'(?P<year>\d{4})年(?P<start_month>\d{1,2})月到(?P<end_month>\d{1,2})月'
+    partial_range_pattern = r'(?P<year>\d{4})年(?P<start_month>\d{1,2})月(|至)(?P<end_month>\d{1,2})月'
     for match in re.finditer(partial_range_pattern, question):
         # 避免重复匹配已经被上面时间段匹配使用过的字符串
         if match.group() in used_keywords: