根据文本生成输入向量
(self, txt)
| 150 | return instance |
| 151 | |
| 152 | def generate_xs(self, txt): |
| 153 | """ |
| 154 | 根据文本生成输入向量 |
| 155 | """ |
| 156 | x_s = [] |
| 157 | vectors = {} |
| 158 | seg_list = jieba.cut(txt) |
| 159 | for seg in seg_list: |
| 160 | seg_unicode = seg.encode('utf-8') |
| 161 | if seg_unicode in self.word_vector_dict: |
| 162 | word_id = self.word_id_dict[seg_unicode] |
| 163 | if word_id in self.maps.local_word_id_map: |
| 164 | local_word_id = self.maps.local_word_id_map[word_id] |
| 165 | vectors[local_word_id] = self.word_vector_dict[seg_unicode] |
| 166 | |
| 167 | x_array = np.zeros([self.dim_info.x_dim], dtype=np.float) |
| 168 | for word_id in vectors: |
| 169 | vector = vectors[word_id] |
| 170 | for index, weight in enumerate(vector): |
| 171 | x_array[word_id*self.dim_info.vec_dim+index] = weight |
| 172 | x_s.append(x_array) |
| 173 | return x_s |
| 174 | |
| 175 | |
| 176 | def next_batch(self, count): |