diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index a107b35b7dcc0f2dfad8b1098ac5a0300dd8b373..050b24739d623399c790880dc3d0743149a83817 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -2,10 +2,7 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="d7dd36ca-85ef-4a59-9db5-8b1ee4993a4e" name="Default Changelist" comment="">
-      <change beforePath="$PROJECT_DIR$/trans2es/mapping/topic.json" beforeDir="false" afterPath="$PROJECT_DIR$/trans2es/mapping/topic.json" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/trans2es/models/pictorial.py" beforeDir="false" afterPath="$PROJECT_DIR$/trans2es/models/pictorial.py" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/trans2es/models/topic.py" beforeDir="false" afterPath="$PROJECT_DIR$/trans2es/models/topic.py" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/trans2es/utils/topic_transfer.py" beforeDir="false" afterPath="$PROJECT_DIR$/trans2es/utils/topic_transfer.py" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
     </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
@@ -68,36 +65,36 @@
       <usages-collector id="statistics.file.extensions.open">
         <counts>
           <entry key="json" value="3" />
-          <entry key="py" value="9" />
+          <entry key="py" value="13" />
         </counts>
       </usages-collector>
       <usages-collector id="statistics.file.types.open">
         <counts>
           <entry key="JSON" value="3" />
-          <entry key="Python" value="9" />
+          <entry key="Python" value="13" />
         </counts>
       </usages-collector>
       <usages-collector id="statistics.file.extensions.edit">
         <counts>
           <entry key="json" value="42" />
-          <entry key="py" value="205" />
+          <entry key="py" value="305" />
         </counts>
       </usages-collector>
       <usages-collector id="statistics.file.types.edit">
         <counts>
           <entry key="JSON" value="42" />
-          <entry key="Python" value="205" />
+          <entry key="Python" value="305" />
         </counts>
       </usages-collector>
     </session>
   </component>
   <component name="FileEditorManager">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
-      <file pinned="false" current-in-tab="true">
+      <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/trans2es/models/pictorial.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="417">
-              <caret line="74" column="12" selection-start-line="74" selection-start-column="12" selection-end-line="74" selection-end-column="12" />
+            <state relative-caret-position="891">
+              <caret line="80" column="53" selection-start-line="80" selection-start-column="53" selection-end-line="80" selection-end-column="53" />
               <folding>
                 <element signature="e#0#28#0" expanded="true" />
               </folding>
@@ -106,41 +103,50 @@
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/trans2es/models/topic.py">
+        <entry file="file://$PROJECT_DIR$/trans2es/utils/pictorial_transfer.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="226">
-              <caret line="93" selection-start-line="93" selection-end-line="93" />
+            <state relative-caret-position="484">
+              <caret line="38" column="25" lean-forward="true" selection-start-line="38" selection-start-column="25" selection-end-line="38" selection-end-column="25" />
               <folding>
-                <element signature="e#46#118#0" expanded="true" />
+                <element signature="e#46#55#0" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/trans2es/utils/pictorial_transfer.py">
+      <file pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/trans2es/type_info.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="370">
-              <caret line="33" column="64" selection-start-line="33" selection-start-column="64" selection-end-line="33" selection-end-column="64" />
+            <state relative-caret-position="1232">
+              <caret line="325" column="34" selection-start-line="325" selection-start-column="18" selection-end-line="325" selection-end-column="34" />
               <folding>
-                <element signature="e#46#55#0" expanded="true" />
+                <element signature="e#15#87#0" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/trans2es/models/group.py">
+        <entry file="file://$PROJECT_DIR$/trans2es/management/commands/trans2es_data2es_parallel.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="328">
-              <caret line="35" column="37" selection-start-line="35" selection-start-column="25" selection-end-line="35" selection-end-column="37" />
+            <state relative-caret-position="690">
+              <caret line="129" column="42" selection-start-line="129" selection-start-column="42" selection-end-line="129" selection-end-column="42" />
               <folding>
-                <element signature="e#47#79#0" expanded="true" />
+                <element signature="e#1025#1811#0" />
+                <element signature="e#1850#3438#0" />
+                <element signature="e#1917#3438#0" />
+                <element signature="e#5182#8141#0" />
+                <element signature="e#8191#9199#0" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/trans2es/management/commands/trans2es_mapping2es.py">
+          <provider selected="true" editor-type-id="text-editor" />
+        </entry>
+      </file>
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/trans2es/mapping/pictorial.json">
           <provider selected="true" editor-type-id="text-editor">
@@ -162,8 +168,8 @@
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/trans2es/utils/topic_transfer.py">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="570">
-              <caret line="38" column="33" selection-start-line="38" selection-start-column="33" selection-end-line="38" selection-end-column="33" />
+            <state relative-caret-position="23">
+              <caret line="12" column="6" selection-start-line="12" selection-start-column="6" selection-end-line="12" selection-end-column="6" />
               <folding>
                 <element signature="e#46#55#0" expanded="true" />
               </folding>
@@ -183,6 +189,9 @@
   <component name="FindInProjectRecents">
     <findStrings>
       <find>grop</find>
+      <find>contrast_similar</find>
+      <find>topic</find>
+      <find>GroupTransfer</find>
     </findStrings>
   </component>
   <component name="Git.Settings">
@@ -204,13 +213,15 @@
         <option value="$PROJECT_DIR$/trans2es/mapping/pictorial.py" />
         <option value="$PROJECT_DIR$/trans2es/mapping/pictorial.json" />
         <option value="$PROJECT_DIR$/trans2es/models/pictorial.py" />
+        <option value="$PROJECT_DIR$/trans2es/type_info.py" />
       </list>
     </option>
   </component>
   <component name="ProjectFrameBounds" extendedState="6">
-    <option name="y" value="23" />
-    <option name="width" value="1280" />
-    <option name="height" value="724" />
+    <option name="x" value="-309" />
+    <option name="y" value="-1080" />
+    <option name="width" value="1920" />
+    <option name="height" value="1080" />
   </component>
   <component name="ProjectInspectionProfilesVisibleTreeState">
     <entry key="Project Default">
@@ -250,7 +261,14 @@
               <item name="physical" type="b2602c69:ProjectViewProjectNode" />
               <item name="physical" type="462c0819:PsiDirectoryNode" />
               <item name="trans2es" type="462c0819:PsiDirectoryNode" />
-              <item name="mapping" type="462c0819:PsiDirectoryNode" />
+              <item name="management" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="physical" type="b2602c69:ProjectViewProjectNode" />
+              <item name="physical" type="462c0819:PsiDirectoryNode" />
+              <item name="trans2es" type="462c0819:PsiDirectoryNode" />
+              <item name="management" type="462c0819:PsiDirectoryNode" />
+              <item name="commands" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
               <item name="physical" type="b2602c69:ProjectViewProjectNode" />
@@ -309,10 +327,9 @@
     <servers />
   </component>
   <component name="ToolWindowManager">
-    <frame x="0" y="23" width="1280" height="724" extended-state="6" />
-    <editor active="true" />
+    <frame x="-309" y="-1080" width="1920" height="1080" extended-state="6" />
     <layout>
-      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.12152502" />
+      <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.18114798" />
       <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
       <window_info id="DB Browser" order="2" />
       <window_info id="Favorites" order="3" side_tool="true" />
@@ -325,7 +342,7 @@
       <window_info anchor="bottom" id="TODO" order="6" />
       <window_info anchor="bottom" id="Version Control" order="7" show_stripe_button="false" />
       <window_info anchor="bottom" id="DB Execution Console" order="8" />
-      <window_info anchor="bottom" id="Terminal" order="9" visible="true" weight="0.0" />
+      <window_info active="true" anchor="bottom" id="Terminal" order="9" visible="true" weight="0.20725389" />
       <window_info anchor="bottom" id="Python Console" order="10" />
       <window_info anchor="bottom" id="Event Log" order="11" side_tool="true" />
       <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
@@ -344,13 +361,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/trans2es/management/commands/trans2es_data2es_parallel.py">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="364">
-          <caret line="129" column="63" selection-start-line="129" selection-start-column="54" selection-end-line="129" selection-end-column="63" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/app_conf.xml">
       <provider selected="true" editor-type-id="text-editor" />
     </entry>
@@ -422,13 +432,10 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/trans2es/utils/topic_transfer.py">
+    <entry file="file://$PROJECT_DIR$/trans2es/mapping/group.json">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="570">
-          <caret line="38" column="33" selection-start-line="38" selection-start-column="33" selection-end-line="38" selection-end-column="33" />
-          <folding>
-            <element signature="e#46#55#0" expanded="true" />
-          </folding>
+        <state>
+          <caret column="1" lean-forward="true" selection-start-column="1" selection-end-column="1" />
         </state>
       </provider>
     </entry>
@@ -439,49 +446,82 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/trans2es/mapping/group.json">
+    <entry file="file://$PROJECT_DIR$/trans2es/models/group.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state>
-          <caret column="1" lean-forward="true" selection-start-column="1" selection-end-column="1" />
+        <state relative-caret-position="525">
+          <caret line="35" column="37" selection-start-line="35" selection-start-column="25" selection-end-line="35" selection-end-column="37" />
+          <folding>
+            <element signature="e#47#79#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/trans2es/models/contrast_similar.py">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/trans2es/utils/pictorial_transfer.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="484">
+          <caret line="38" column="25" lean-forward="true" selection-start-line="38" selection-start-column="25" selection-end-line="38" selection-end-column="25" />
+          <folding>
+            <element signature="e#46#55#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/trans2es/models/topic.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="226">
-          <caret line="93" selection-start-line="93" selection-end-line="93" />
+        <state relative-caret-position="77">
+          <caret line="48" column="6" lean-forward="true" selection-start-line="48" selection-start-column="6" selection-end-line="48" selection-end-column="6" />
           <folding>
             <element signature="e#46#118#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/trans2es/utils/pictorial_transfer.py">
+    <entry file="file://$PROJECT_DIR$/trans2es/models/pictorial.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="370">
-          <caret line="33" column="64" selection-start-line="33" selection-start-column="64" selection-end-line="33" selection-end-column="64" />
+        <state relative-caret-position="891">
+          <caret line="80" column="53" selection-start-line="80" selection-start-column="53" selection-end-line="80" selection-end-column="53" />
+          <folding>
+            <element signature="e#0#28#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/trans2es/utils/topic_transfer.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="23">
+          <caret line="12" column="6" selection-start-line="12" selection-start-column="6" selection-end-line="12" selection-end-column="6" />
           <folding>
             <element signature="e#46#55#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/trans2es/models/group.py">
+    <entry file="file://$PROJECT_DIR$/trans2es/management/commands/trans2es_data2es_parallel.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="328">
-          <caret line="35" column="37" selection-start-line="35" selection-start-column="25" selection-end-line="35" selection-end-column="37" />
+        <state relative-caret-position="690">
+          <caret line="129" column="42" selection-start-line="129" selection-start-column="42" selection-end-line="129" selection-end-column="42" />
           <folding>
-            <element signature="e#47#79#0" expanded="true" />
+            <element signature="e#1025#1811#0" />
+            <element signature="e#1850#3438#0" />
+            <element signature="e#1917#3438#0" />
+            <element signature="e#5182#8141#0" />
+            <element signature="e#8191#9199#0" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/trans2es/models/pictorial.py">
+    <entry file="file://$PROJECT_DIR$/trans2es/management/commands/trans2es_mapping2es.py">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/trans2es/type_info.py">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="417">
-          <caret line="74" column="12" selection-start-line="74" selection-start-column="12" selection-end-line="74" selection-end-column="12" />
+        <state relative-caret-position="1232">
+          <caret line="325" column="34" selection-start-line="325" selection-start-column="18" selection-end-line="325" selection-end-column="34" />
           <folding>
-            <element signature="e#0#28#0" expanded="true" />
+            <element signature="e#15#87#0" expanded="true" />
           </folding>
         </state>
       </provider>
diff --git a/trans2es/models/pictorial.py b/trans2es/models/pictorial.py
index e0c853c393099931eb8397e2ca700ed5c0fbdd96..f5dd63d121acfa73ef80a50786f97a0b7188ac02 100644
--- a/trans2es/models/pictorial.py
+++ b/trans2es/models/pictorial.py
@@ -1,9 +1,8 @@
 from django.db import models
 import datetime
-from .topic import Topic
 import logging
 import traceback
-
+from .topic import Topic
 
 class PictorialTopic(models.Model):
     """画报帖子关系"""