亚洲日韩av在线观看_日韩一级欧美一级_亚洲自偷自拍另类11p_久久午夜色播影院_中国黄色三级毛片_伊人久久一区二区三区小说_国产精品va无码二区_国产三区在线视频_69热视频_日本亚洲天堂_99精品少妇_国产区 在线观看_天堂一区二区三区_大片免费在线观看视频_免费看黄色一级片_黄色毛片特级_国产 麻豆 日韩 欧美 久久_国产一级淫片s片sss毛片s级_欧美爱爱视频_精品无码一区二区三区水蜜桃

當前位置: 首頁編程開發Java → Java實現影視劇搜索中中文文本自動糾錯

Java實現影視劇搜索中中文文本自動糾錯

更多

1.背景

  這周由于項目需要對搜索框中輸入的錯誤影片名進行校正處理,以提升搜索命中率和用戶體驗,研究了一下中文文本自動糾錯(專業點講是校對,proofread),并初步實現了該功能,特此記錄。

2.簡介

  中文輸入錯誤的校對與更正是指在輸入不常見或者錯誤文字時系統提示文字有誤,最簡單的例子就是在word里打字時會有紅色下劃線提示。實現該功能目前主要有兩大思路:

(1)  基于大量字典的分詞法:主要是將待分析的漢字串與一個很大的“機器詞典”中的詞條進行匹配,若在詞典中找到則匹配成功;該方法易于實現,比較適用于輸入的漢字串

      屬于某個或某幾個領域的名詞或名稱;

(2)  基于統計信息的分詞法:常用的是N-Gram語言模型,其實就是N-1階Markov(馬爾科夫)模型;在此簡介一下該模型:

上式是Byes公式,表明字符串X1X2……Xm出現的概率是每個字單獨出現的條件概率之積,為了簡化計算假設字Xi的出現僅與前面緊挨著的N-1個字符有關,則上面的公式變為:

這就是N-1階Markov(馬爾科夫)模型,計算出概率后與一個閾值對比,若小于該閾值則提示該字符串拼寫有誤。

3.實現

由于本人項目針對的輸入漢字串基本上是影視劇名稱以及綜藝動漫節目的名字,語料庫的范圍相對穩定些,所以這里采用2-Gram即二元語言模型與字典分詞相結合的方法;

先說下思路:

對語料庫進行分詞處理 —> 計算二元詞條出現概率(在語料庫的樣本下,用詞條出現的頻率代替) —> 對待分析的漢字串分詞并找出最大連續字符串和第二大連續字符串 —>

利用最大和第二大連續字符串與語料庫的影片名稱匹配 —> 部分匹配則現實拼寫有誤并返回更正的字符串(所以字典很重要)

備注:分詞這里用ICTCLAS Java API

 上代碼:

創建類ChineseWordProofread

3.1 初始化分詞包并對影片語料庫進行分詞處理

 1  public ICTCLAS2011 initWordSegmentation(){
 2         
 3         ICTCLAS2011 wordSeg = new ICTCLAS2011();
 4         try{
 5             String argu = "F:\\Java\\workspace\\wordProofread"; //set your project path
 6             System.out.println("ICTCLAS_Init");
 7             if (ICTCLAS2011.ICTCLAS_Init(argu.getBytes("GB2312"),0) == false)
 8             {
 9                 System.out.println("Init Fail!");
10                 //return null;
11             }
12 
13             /*
14              * 設置詞性標注集
15                     ID            代表詞性集 
16                     1            計算所一級標注集
17                     0            計算所二級標注集
18                     2            北大二級標注集
19                     3            北大一級標注集
20             */
21             wordSeg.ICTCLAS_SetPOSmap(2);
22             
23         }catch (Exception ex){
24             System.out.println("words segmentation initialization failed");
25             System.exit(-1);
26         }
27         return wordSeg;
28     }
29     
30     public boolean wordSegmentate(String argu1,String argu2){
31         boolean ictclasFileProcess = false;
32         try{
33             //文件分詞
34             ictclasFileProcess = wordSeg.ICTCLAS_FileProcess(argu1.getBytes("GB2312"), argu2.getBytes("GB2312"), 0);
35             
36             //ICTCLAS2011.ICTCLAS_Exit();
37             
38         }catch (Exception ex){
39             System.out.println("file process segmentation failed");
40             System.exit(-1);
41         }
42         return ictclasFileProcess;
43     }

3.2 計算詞條(tokens)出現的頻率

 1 public Map<String,Integer> calculateTokenCount(String afterWordSegFile){
 2         Map<String,Integer> wordCountMap = new HashMap<String,Integer>();
 3         File movieInfoFile = new File(afterWordSegFile);
 4         BufferedReader movieBR = null;
 5         try {
 6             movieBR = new BufferedReader(new FileReader(movieInfoFile));
 7         } catch (FileNotFoundException e) {
 8             System.out.println("movie_result.txt file not found");
 9             e.printStackTrace();
10         }
11         
12         String wordsline = null;
13         try {
14             while ((wordsline=movieBR.readLine()) != null){
15                 String[] words = wordsline.trim().split(" ");
16                 for (int i=0;i<words.length;i++){
17                     int wordCount = wordCountMap.get(words[i])==null ? 0:wordCountMap.get(words[i]);
18                     wordCountMap.put(words[i], wordCount+1);
19                     totalTokensCount += 1;
20                     
21                     if (words.length > 1 && i < words.length-1){
22                         StringBuffer wordStrBuf = new StringBuffer();
23                         wordStrBuf.append(words[i]).append(words[i+1]);
24                         int wordStrCount = wordCountMap.get(wordStrBuf.toString())==null ? 0:wordCountMap.get(wordStrBuf.toString());
25                         wordCountMap.put(wordStrBuf.toString(), wordStrCount+1);
26                         totalTokensCount += 1;
27                     }
28                     
29                 }                
30             }
31         } catch (IOException e) {
32             System.out.println("read movie_result.txt file failed");
33             e.printStackTrace();
34         }
35         
36         return wordCountMap;
37     }

3.3 找出待分析字符串中的正確tokens

 1 public Map<String,Integer> calculateTokenCount(String afterWordSegFile){
2         Map<String,Integer> wordCountMap = new HashMap<String,Integer>();
3         File movieInfoFile = new File(afterWordSegFile);
4         BufferedReader movieBR = null;
5         try {
6             movieBR = new BufferedReader(new FileReader(movieInfoFile));
7         } catch (FileNotFoundException e) {
8             System.out.println("movie_result.txt file not found");
9             e.printStackTrace();
10         }
11        
12         String wordsline = null;
13         try {
14             while ((wordsline=movieBR.readLine()) != null){
15                 String[] words = wordsline.trim().split(" ");
16                 for (int i=0;i<words.length;i++){
17                     int wordCount = wordCountMap.get(words[i])==null ? 0:wordCountMap.get(words[i]);
18                     wordCountMap.put(words[i], wordCount+1);
19                     totalTokensCount += 1;
20                    
21                     if (words.length > 1 && i < words.length-1){
22                         StringBuffer wordStrBuf = new StringBuffer();
23                         wordStrBuf.append(words[i]).append(words[i+1]);
24                         int wordStrCount = wordCountMap.get(wordStrBuf.toString())==null ? 0:wordCountMap.get(wordStrBuf.toString());
25                         wordCountMap.put(wordStrBuf.toString(), wordStrCount+1);
26                         totalTokensCount += 1;
27                     }
28                    
29                 }               
30             }
31         } catch (IOException e) {
32             System.out.println("read movie_result.txt file failed");
33             e.printStackTrace();
34         }
35        
36         return wordCountMap;
37     }

3.4 得到最大連續和第二大連續字符串(也可能為單個字符)

 1 public String[] getMaxAndSecondMaxSequnce(String[] sInputResult){
 2         List<String> correctTokens = getCorrectTokens(sInputResult);
 3         //TODO
 4         System.out.println(correctTokens);
 5         String[] maxAndSecondMaxSeq = new String[2];
 6         if (correctTokens.size() == 0) return null;
 7         else if (correctTokens.size() == 1){
 8             maxAndSecondMaxSeq[0]=correctTokens.get(0);
 9             maxAndSecondMaxSeq[1]=correctTokens.get(0);
10             return maxAndSecondMaxSeq;
11         }
12         
13         String maxSequence = correctTokens.get(0);
14         String maxSequence2 = correctTokens.get(correctTokens.size()-1);
15         String littleword = "";
16         for (int i=1;i<correctTokens.size();i++){
17             //System.out.println(correctTokens);
18             if (correctTokens.get(i).length() > maxSequence.length()){
19                 maxSequence = correctTokens.get(i);
20             } else if (correctTokens.get(i).length() == maxSequence.length()){
21                 
22                 //select the word with greater probability for single-word
23                 if (correctTokens.get(i).length()==1){
24                     if (probBetweenTowTokens(correctTokens.get(i)) > probBetweenTowTokens(maxSequence)) {
25                         maxSequence2 = correctTokens.get(i);
26                     }
27                 }
28                 //select words with smaller probability for multi-word, because the smaller has more self information
29                 else if (correctTokens.get(i).length()>1){
30                     if (probBetweenTowTokens(correctTokens.get(i)) <= probBetweenTowTokens(maxSequence)) {
31                         maxSequence2 = correctTokens.get(i);
32                     }
33                 }
34                 
35             } else if (correctTokens.get(i).length() > maxSequence2.length()){
36                 maxSequence2 = correctTokens.get(i);
37             } else if (correctTokens.get(i).length() == maxSequence2.length()){
38                 if (probBetweenTowTokens(correctTokens.get(i)) > probBetweenTowTokens(maxSequence2)){
39                     maxSequence2 = correctTokens.get(i);
40                 }
41             }
42         }
43         //TODO
44         System.out.println(maxSequence+" : "+maxSequence2);
45         //delete the sub-word from a string
46         if (maxSequence2.length() == maxSequence.length()){
47             int maxseqvaluableTokens = maxSequence.length();
48             int maxseq2valuableTokens = maxSequence2.length();
49             float min_truncate_prob_a = 0 ;
50             float min_truncate_prob_b = 0;
51             String aword = "";
52             String bword = "";
53             for (int i=0;i<correctTokens.size();i++){
54                 float tokenprob = probBetweenTowTokens(correctTokens.get(i));
55                 if ((!maxSequence.equals(correctTokens.get(i))) && maxSequence.contains(correctTokens.get(i))){
56                     if ( tokenprob >= min_truncate_prob_a){
57                         min_truncate_prob_a = tokenprob ;
58                         aword = correctTokens.get(i);
59                     }
60                 }
61                 else if ((!maxSequence2.equals(correctTokens.get(i))) && maxSequence2.contains(correctTokens.get(i))){
62                     if (tokenprob >= min_truncate_prob_b){
63                         min_truncate_prob_b = tokenprob;
64                         bword = correctTokens.get(i);
65                     }
66                 }
67             }
68             //TODO
69             System.out.println(aword+" VS "+bword);
70             System.out.println(min_truncate_prob_a+" VS "+min_truncate_prob_b);
71             if (aword.length()>0 && min_truncate_prob_a < min_truncate_prob_b){
72                 maxseqvaluableTokens -= 1 ;
73                 littleword = maxSequence.replace(aword,"");
74             }else {
75                 maxseq2valuableTokens -= 1 ;
76                 String temp = maxSequence2;
77                 if (maxSequence.contains(temp.replace(bword, ""))){
78                     littleword =  maxSequence2;
79                 }
80                 else littleword =  maxSequence2.replace(bword,"");
81                 
82             }
83             
84             if (maxseqvaluableTokens < maxseq2valuableTokens){
85                 maxSequence = maxSequence2;
86                 maxSequence2 = littleword;
87             }else {
88                 maxSequence2 = littleword;
89             }
90             
91         }
92         maxAndSecondMaxSeq[0] = maxSequence;
93         maxAndSecondMaxSeq[1] = maxSequence2;
94         
95         return maxAndSecondMaxSeq ;
96     }

3.5 返回更正列表

 1 public List<String> proofreadAndSuggest(String sInput){
 2         //List<String> correctTokens = new ArrayList<String>();
 3         List<String> correctedList = new ArrayList<String>();
 4         List<String> crtTempList = new ArrayList<String>();
 5 
 6         //TODO 
 7         Calendar startProcess = Calendar.getInstance();
 8         char[] str2char = sInput.toCharArray();
 9         String[] sInputResult = new String[str2char.length];//cwp.wordSegmentate(sInput);
10         for (int t=0;t<str2char.length;t++){
11             sInputResult[t] = String.valueOf(str2char[t]);
12         }
13         //String[] sInputResult = cwp.wordSegmentate(sInput);
14         //System.out.println(sInputResult);
15         //float re = probBetweenTowTokens("非","誠");
16         String[] MaxAndSecondMaxSequnce = getMaxAndSecondMaxSequnce(sInputResult);
17         
18         // display errors and suggest correct movie name
19         //System.out.println("hasError="+hasError);
20         if (hasError !=0){
21             if (MaxAndSecondMaxSequnce.length>1){
22                 String maxSequence = MaxAndSecondMaxSequnce[0];
23                 String maxSequence2 = MaxAndSecondMaxSequnce[1];
24                 for (int j=0;j<movieName.size();j++){
25                     //boolean isThisMovie = false;
26                     String movie = movieName.get(j);
27                     
28                     
29                     //System.out.println("maxseq is "+maxSequence+", maxseq2 is "+maxSequence2);
30                     
31                     //select movie
32                     if (maxSequence2.equals("")){
33                         if (movie.contains(maxSequence)) correctedList.add(movie);
34                     }
35                     else {
36                         if (movie.contains(maxSequence) && movie.contains(maxSequence2)){
37                             //correctedList.clear();
38                             crtTempList.add(movie);
39                             //correctedList.add(movie);
40                             //break;
41                         }
42                         //else if (movie.contains(maxSequence) || movie.contains(maxSequence2)) correctedList.add(movie);
43                         else if (movie.contains(maxSequence)) correctedList.add(movie);
44                     }
45                     
46                 }
47                 
48                 if (crtTempList.size()>0){
49                     correctedList.clear();
50                     correctedList.addAll(crtTempList);
51                 }
52                 
53                 //TODO 
54                 if (hasError ==1) System.out.println("No spellig error,Sorry for having no this movie,do you want to get :"+correctedList.toString()+" ?");
55                 //TODO 
56                 else System.out.println("Spellig error,do you want to get :"+correctedList.toString()+" ?");
57             } //TODO 
58             else System.out.println("there are spellig errors, no anyone correct token in your spelled words,so I can't guess what you want, please check it again");
59             
60         } //TODO 
61         else System.out.println("No spelling error");
62         
63         //TODO
64         Calendar endProcess = Calendar.getInstance();
65         long elapsetime = (endProcess.getTimeInMillis()-startProcess.getTimeInMillis()) ;
66         System.out.println("process work elapsed "+elapsetime+" ms");
67         ICTCLAS2011.ICTCLAS_Exit();
68         
69         return correctedList ;
70     }

3.6 顯示校對結果

 1 public static void main(String[] args) {
 2         
 3         String argu1 = "movie.txt";          //movies name file
 4         String argu2 = "movie_result.txt";   //words after segmenting name of all movies
 5         
 6         SimpleDateFormat sdf=new SimpleDateFormat("HH:mm:ss");
 7         String startInitTime = sdf.format(new java.util.Date()); 
 8         System.out.println(startInitTime+" ---start initializing work---");
 9         ChineseWordProofread cwp = new ChineseWordProofread(argu1,argu2);
10     
11         String endInitTime = sdf.format(new java.util.Date());
12         System.out.println(endInitTime+" ---end initializing work---");
13         
14         Scanner scanner = new Scanner(System.in);
15         while(true){
16             System.out.print("請輸入影片名:");
17             
18             String input = scanner.next();
19             
20             if (input.equals("EXIT")) break;
21             
22             cwp.proofreadAndSuggest(input);
23             
24         }
25         scanner.close();
26     }

在我的機器上實驗結果如下:

最后要說的是我用的語料庫沒有做太多處理,所以最后出來的有很多正確的結果,比如非誠勿擾會有《非誠勿擾十二月合集》等,這些只要在影片語料庫上處理下即可;

還有就是該模型不適合大規模在線數據,比如說搜索引擎中的自動校正或者叫智能提示,即使在影視劇、動漫、綜藝等影片的自動檢測錯誤和更正上本模型還有很多提升的地方,若您不吝惜鍵盤,請敲上你的想法,讓我知道,讓我們開源、開放、開心,最后源碼在github上,可以自己點擊ZIP下載后解壓,在eclipse中創建工程wordproofread并將解壓出來的所有文件copy到該工程下,即可運行。

熱門評論
最新評論
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字數: 0/500 (您的評論需要經過審核才能顯示)
主站蜘蛛池模板: 中玻北方新材料有限公司| 深圳市陆舟电动车有限公司| 博立尔化工有限公司| 艾普斯电源 苏州 有限公司| 宁波塑料模具有限公司| 北京鑫盛世有限公司怎么样| 广州市金属回收有限公司| 万里有限公司怎么样| 高能建设工程有限公司| 成都亚联财有限公司| 通泰 香港 有限公司| 安得利卫浴有限公司| 武汉史密斯挂车有限公司| 广州碳纤维有限公司| 人发 制品有限公司| 浙江电器有限公司 金华| 日立金属上海有限公司| 杭州可靠护理有限公司| 开封 木业有限公司| 合肥惠而浦有限公司| 深圳市麦路嘉食品有限公司| 拓恒机械设备有限公司| 巨能机器人有限公司| 合时自动化天津有限公司| 九方信息技术有限公司| 洛阳液压机械有限公司| 宁波市混凝土有限公司| 佛吉亚佛山有限公司| 利纳马(天津)有限公司| 讯芯电子(中山)有限公司| 积水置业沈阳有限公司| 鑫创塑胶制品有限公司| 国瑞兴业地产有限公司| 泉州乐泉贸易有限公司| 北京天健仪表有限公司| 轩明 香港 有限公司| 杭州樱之梦食品有限公司| 西安邦健电子有限公司| 中信 财务有限公司| 哈尔滨 机械 有限公司招聘| 一汽四环备品有限公司| 深圳市海鸿电子有限公司| 深圳利源贸易有限公司| 四方源实业有限公司| 邯郸市金业有限公司| 上海中正威有限公司| 佛山农产品有限公司| 广州虹宇物业有限公司| 宁波和协置业有限公司| 一汽四川专用汽车有限公司 | 天津机电维修有限公司| 深圳百维技术有限公司| 博士视听系统有限公司| 广州云辉包装有限公司| 中铝山西铝业有限公司| 康百实业 上海 有限公司| 贵腾汽车有限公司招聘| 宁波鑫达机械有限公司| 浙江兰溪 纺织有限公司| 广州芭莎化妆品有限公司| 嘉丰小额贷款有限公司| 绿新福建食品有限公司| 威海混凝土有限公司| 北京利德华福电气有限公司| 广兴牧业设备有限公司| 成都绿色发展有限公司| 东莞安塑胶机器有限公司| 泰瑞医疗器械有限公司| 郑州建材销售有限公司| 北京晓清环保工程有限公司| 安徽消防器材有限公司| 中海工业 江苏 有限公司| 深圳市鑫宝电子有限公司| 泰州中海油有限公司招聘| 鑫汇科电子有限公司| 山东润鲁工程有限公司| 北京医药产业有限公司| 北京华旅旅行社有限公司| 广东南方数码有限公司| 东风鸿泰销售有限公司| 林州顺丰电动车业有限公司 | 斯尔丽服饰有限公司| 友威光电惠州有限公司| 大通公路工程有限公司| 思彼思营销有限公司| 上海现代实业有限公司| 宏星紧固件有限公司| 大连中远货运有限公司| 深圳市林科电子有限公司| 中建蛇口发展有限公司| 宝鸡今麦郎有限公司| 天成电力工程有限公司| 长兴化学材料珠海有限公司| 轩悦行 北京有限公司| 新中源房产有限公司| 佛山市旭华有限公司| 仙津饮料食品有限公司| 兰州建筑材料有限公司| 上海海马汽车研发有限公司| 允升吉电子有限公司| 四川成蜀电力建设有限公司| 盛汇国际贸易有限公司| 拓阳新能源有限公司| 洛阳鹏实业有限公司| 合肥工业设计有限公司| 有限公司2850442Z空间| 麦西恩上海食品有限公司| 浙江鑫鑫食品有限公司| 富海电子深圳有限公司| 鸿昌机械制造有限公司| 美意阳食品有限公司| 百业建设顾问有限公司| 杭州市路桥有限公司| 上海新体育有限公司| 深圳市世明有限公司| 深圳金瑞材料有限公司| 立诚设计院有限公司| 广东纸品有限公司招聘| 浙江港都电子有限公司| 净健净水设备有限公司| 高迅(香港 )有限公司| 美新医疗器械有限公司| 北京金隅混凝土有限公司| ppg涂料(芜湖)有限公司| 广西鱼峰水泥有限公司| 深圳广铁土木工程有限公司| 和记黄埔地产上海有限公司| 泰辉电子 深圳 有限公司| 顺泰建筑工程有限公司| 铁路电务器材有限公司| 重庆市环保有限公司| 豪迈装饰工程有限公司| 佛山市包装机械有限公司招聘| 汕头市峰实业有限公司| 深圳精华隆有限公司| 四川建川机械有限公司| 才众电脑(深圳)有限公司| 青岛海产食品有限公司| 苏州建屋发展有限公司| 无锡格尔机械有限公司| 山东豪迈机械有限公司| 杭州金属屋面有限公司| 华普信息技术有限公司上海| 起凡数字技术有限公司| 乐通通信设备有限公司| 浙江迪安诊断有限公司| 防化设备 有限公司| 明远建设工程有限公司| 上海海运有限公司怎么样| 食品有限公司经销商| 西安开元电子有限公司| 无锡通用钢绳有限公司| 华源显示技术有限公司| 青禾人造草坪有限公司| 汽车软轴软管有限公司| 威达进出口有限公司| 安美达机械有限公司| 优德精密工业昆山有限公司| 泰宇电子 上海 有限公司| 亿达利电子有限公司| 仙维娜化妆品有限公司| 浙江金凤凰有限公司| 北京基础设施建设有限公司 | 郑州体育工程有限公司| 昊阳天宇深圳有限公司| 海南龙栖湾发展置业有限公司| 虹信通信技术有限公司| 南京园林景观设计有限公司| 徽品装饰工程有限公司| 诺贝尔福基机电有限公司| 深圳勘察测绘有限公司| 科丰新材料有限公司| 中色奥博特铜铝有限公司| 林州市车桥有限公司| 广州周立功单片机有限公司| 北京鲁能置业有限公司| 墟岗黄畜牧有限公司| 华信汽车零部件有限公司| 蓝然环境技术有限公司| 上海瑞雀服饰有限公司| 广州同乐岛有限公司| 广东东鹏陶瓷有限公司| 杭州精密机械有限公司招聘| 张家港箱包有限公司| 金腾装饰工程有限公司| 新疆建设与发展有限公司| 好日子装饰工程有限公司| 瑞科创电子有限公司| 广东鸿粤汽车销售有限公司| 冰熊专用汽车有限公司| 济南鑫捷瑞有限公司| 贝洱电子热控有限公司| 山西水塔醋业有限公司| 联德机械杭州有限公司| 法雷奥汽车传动系统有限公司| 上海友友涂料有限公司| 罗莱家用纺织有限公司| 廊坊市节能技术有限公司| 海日食品 有限公司| 翔森建设工程有限公司| 新疆凯源工程有限公司| 佛山九洲普惠风机有限公司| 中德塑钢型材有限公司| 河南华泰电缆有限公司| 一人有限公司的清算| 深圳市星辉电子有限公司| 库柏电气 常州 有限公司| 东森密封件有限公司| 亿鑫金属制品有限公司| 长兴汽车配件有限公司| 合肥壹加壹有限公司| 贵州防水工程有限公司| 青岛纺织品进出口有限公司| 迪士尼(北京)有限公司| 哥弟时装实业有限公司| 上海众业通电缆有限公司| 苏州万都部件有限公司| 华信技术有限公司待遇| 咸阳建筑工程有限公司| 米兰装饰设计工程有限公司| 瑞拓电气(上海)有限公司| 太阳宝新能源有限公司| 长白山制药有限公司| 北京科园信海医药有限公司| 宁波众茂杭州湾热电有限公司| 上海丰田汽车有限公司| 汉成广州电子有限公司| 博耳无锡电力成套有限公司| 精英电脑苏州有限公司| 深圳爱迪尔珠宝有限公司| 天津艺虹印刷有限公司| 天广汽车销售有限公司| 鑫坤建筑工程有限公司| 台祥机械设备有限公司| 张家港低温装备有限公司| 山东印染机械有限公司| 山东鲁重机械有限公司| 深圳一线电子有限公司| 英龙机电设备有限公司| 东莞市金顺电子有限公司| 青海农产品有限公司| 长沙华为技术有限公司| 兰亭集势贸易有限公司| 北京航天测控有限公司| 大泰信息技术有限公司| 南玻太阳能玻璃有限公司| 上海统一超商有限公司| 青岛众凯食品有限公司| 亿达包装制品有限公司| 欧品电子(昆山)有限公司| 深圳四季春有限公司| 欣瑞医疗器械有限公司| 中科机器人有限公司怎么样| 新盛机械设备有限公司| 光大环保(深圳)有限公司| 大连药业有限公司电话| 新泰信息技术有限公司| 重庆万和连锁有限公司| 天津锦泰电子有限公司| 有限公司的注销流程图| 深圳市公路养护有限公司| 佛山三水家具有限公司| 远东电缆 销售有限公司| 兴灿五金制品有限公司| 和其正食品有限公司| 深圳正合电子有限公司| 上海宝原物业有限公司| 有限公司2850442Z空间| 深圳超多维电子有限公司| 胶粘制品有限公司 广东| 深圳翰鼎电子有限公司| 北京知蜂堂有限公司| 瑞京电子有限公司招聘| 高利尔包装有限公司| 上海凯尔阀门有限公司| 乐斯装饰工程有限公司| 西安泰达电子有限公司| 天津九安电子有限公司| 天津锦泰电子有限公司| 南京中润钢铁有限公司| .南通绝缘材料有限公司| 道明有限公司怎么样| 凯丽达电器有限公司| 名人名家餐饮有限公司| 宁波先锋新材料有限公司| 伟业置业发展有限公司| 启明星电力有限公司| 宏大建设工程有限公司| 赛米控电子有限公司| 重庆华侨城实业有限公司| 利通国际货运有限公司| 温州鸿建设有限公司| 江苏瑞阳化工有限公司| 上海帝凡黎有限公司| 华东地质工程有限公司| 圳志恒塑胶有限公司| 河南 调料 有限公司| 润湖南医药有限公司| 安庆帝伯茨活塞环有限公司| 江苏晨光液压有限公司| 杭州华是化妆品有限公司| 北京 星洲 有限公司| 石家庄精晶药业有限公司| 安徽深燃天然气有限公司| 南昌的工业发展有限公司| 东盛国际贸易有限公司| 泛亚金属制造有限公司| 红天装饰工程有限公司| 北京爱芬食品有限公司| 惠州达鑫电子有限公司| 金牛小额贷款有限公司| 祥鼎机械设备有限公司| 南京科教仪器有限公司| 北京利康搬家有限公司| 麦士德热流道有限公司| 佛山市窗帘有限公司| 士商 上海 机械有限公司| 亚非国际贸易有限公司| 广东交通实业有限公司| 无锡万斯家居用品有限公司| 新居装饰工程有限公司| 东莞市安全生产培训有限公司| 天成医疗技术有限公司| 深圳市申投有限公司| 金进光电(天津)有限公司| 海天净管业有限公司| 上海以弈信息技术有限公司| 华润合肥纺织有限公司| 先锋商泰电子技术有限公司| 金铮自动冲压设备有限公司| 惠群工艺深圳有限公司| 华宁电气实业有限公司| 北京快跑信息有限公司| 永乐家用电器有限公司| 奥特斯有限公司电话| 轩飞扬贸易有限公司| 江汉石油机械有限公司| 中益油墨涂料有限公司| 高德(无锡)电子有限公司| 悦色化妆品有限公司| 迪爱生色料有限公司| 友达光电(上海)有限公司| 琢颜化妆品有限公司| 北京必胜客有限公司| 轩扬装饰工程有限公司| 邓川蝶泉乳业有限公司| 东方化妆品有限公司| 上海蓉易贸易有限公司| 深圳市华鑫塑胶有限公司| 艾礼富电子深圳有限公司| 河北印刷机械有限公司| 北京市国际旅行社有限公司| 上海尤顺汽车部件有限公司| 惠州璇璇精密有限公司| 天津金融租赁有限公司| 浙江石油销售有限公司| 胜斐迩仓储系统有限公司| 天津恒通钢铁有限公司| 时代海洋食品有限公司| 北京声望声电技术有限公司| 深圳瑞新电子有限公司| 深圳联宇华有限公司| 五行材料江苏有限公司| 江西省通讯有限公司| 江苏金安水利有限公司| 蓝星北京化工机械有限公司| 华强本邦照明有限公司| 湖南尚贸易有限公司| 内蒙古钢结构有限公司| 贵人鸟(厦门)有限公司| 北京市水利工程有限公司| 北京青云设备有限公司| 四川康贝大药房连锁有限公司| 惠万家食品有限公司| 广州明美光电有限公司| 广州安机械设备有限公司| 上海置业担保有限公司电话| 高要宏润陶瓷有限公司| 常州市管件有限公司| 北京市木业有限公司| 茂名石化有限公司招聘| 戴博水泵(青岛)有限公司| 汕头药业有限公司招聘| 南京年达炉业有限公司| 迈特通信设备 苏州 有限公司| 阿方提贸易有限公司| 三利中德美水设备有限公司| 京讯通讯设备有限公司| 合众自动化有限公司| 星光树脂昆山有限公司| 深圳市阳光电子有限公司| 天津中储粮有限公司| 上岛咖啡食品有限公司| 杭州汽车内饰件有限公司| 世家机构实业有限公司| 广西南宁矿业有限公司| 武汉天天新有限公司| 深圳市纽曼有限公司| 建滔(河北)化工有限公司| 延康汽车零部件有限公司| 伊顿液压系统有限公司| 山东冠一餐饮有限公司| 旭光聚合物有限公司| 常州英特曼电工有限公司| 雅克建筑设计有限公司| 华联汽车配件有限公司| 北京华泰建筑工程有限公司| 北京饰缘珠宝有限公司| 爱升精密电路有限公司| 北京信达科贸有限公司| 清华苑建筑设计有限公司| 太仓环琪塑胶工业有限公司| 太平人寿保险有限公司四川| 佛山服装有限公司招聘| 深圳市捷佳电子有限公司| 观唐上院装饰有限公司| 国际层压板有限公司| 杰成装饰工程有限公司| 大华医药化工有限公司| 森宇重工机械有限公司| 太平洋国际旅行社有限公司| 珠海德联工程有限公司| 中建二局土木工程有限公司| 邦宸服饰深圳有限公司| 贝特瑞石墨产业园有限公司| 上海于寒实业有限公司| 深圳市诚恒电子有限公司| 达州国电发电有限公司| 扬州润扬汽车销售有限公司| 精雕数控设备有限公司| 广州吉谊日用品有限公司| 江苏宏达新材料有限公司| 宏盛金属制品有限公司| 云南乐信息有限公司| 美的制冷设备有限公司招聘| 云南饮料食品有限公司| 伊顿电气(苏州)有限公司| 尊和电子技术有限公司| 意大利皮具有限公司| 湖北化工设备有限公司| 杭州电讯材有限公司| 上海纯的食品有限公司| 福建百利亨有限公司| 威得利电梯有限公司| 长沙市海 实业有限公司| 惠州大亚湾鸿有限公司| 漳州惠智信息有限公司| 锐珂 上海 医疗器材有限公司| 开拓汽车电子有限公司| 上海芯发威达有限公司| 广州州市欧亚床垫家具有限公司| 万利威电子有限公司| 张家港天合有限公司| 浙江光大国际旅游有限公司| 太阳宝新能源有限公司| 武汉凯迪环保有限公司| 东莞工业配件有限公司| 广东邦民制药有限公司| 万松堂康汇有限公司| 山东墨龙石油机械有限公司| 深圳耕创电子有限公司| 新南机械设备有限公司| 无锡卡特彼勒有限公司| 合肥爱爱食品有限公司| 佛山轩美家具有限公司| 小厨餐饮有限公司招聘| 罗姆电子(天津)有限公司| 宁波给力汽车部件有限公司| 华源显示技术有限公司| 中钢国际贸易有限公司| 派盛国际贸易有限公司| 乔山健身器材有限公司| 南阳路桥工程有限公司| 常州豪爵铃木有限公司| 广州莎丽皮具有限公司| 中铁物资华南有限公司| 东元国际贸易有限公司| 加福得食品有限公司| 康华生物技术有限公司| 深圳市车视电子有限公司| 祥云信息技术有限公司| 世纪达装饰有限公司| 大陆轮胎合肥有限公司| 顺德智能机械有限公司| 南亚工程机械有限公司| 苏州康力骨科有限公司| 上海五丰上食有限公司| 苏州三星显示器有限公司| 河南上上置业有限公司| 有限公司 国有一人| 上海盈达有限公司怎么样| 特福隆(上海)有限公司| 崂山青岛崂山矿泉水有限公司| 深圳华强动漫有限公司| 武汉友德电器有限公司| 诺柯佳贸易有限公司| 吉利和长城汽车有限公司| 宏齐光电子深圳有限公司| 江苏苏能电力工程有限公司| 东莞基化工有限公司| 上海 圆珠笔 有限公司| 凯新认证(北京)有限公司| 嘉业天成建设有限公司| 鑫阳制冷设备有限公司| 百事可乐南京有限公司| 江苏分金亭有限公司| 华强本邦照明有限公司| 阜阳市 农业有限公司| 中船消防设备有限公司| 装饰材料有限公司 壁纸| 御居装饰工程有限公司| 启明星食品有限公司| 鸿星电子深圳有限公司| 三和园食品有限公司| 威镇金属制品有限公司| 深圳市佳林电子有限公司| kec半导体有限公司| 仙桃市油脂有限公司| 施维英机械有限公司| 济南济奥电梯有限公司| 汉菱生物工程有限公司| 北京三元基因工程有限公司| 营养屋生物医药有限公司| 福斯特新能源有限公司| 上海特种石墨有限公司| 深圳创华实业有限公司| 美瑞新材料有限公司| 施泰力工具 苏州 有限公司| 福建坤兴海洋生物有限公司| 上海 馒 有限公司| 金秋装饰工程有限公司| 金华 塑料包装有限公司| 汉蔚(上海)有限公司| 金利达食品有限公司| 中铁隧道装备制造有限公司| 思威特电子有限公司| 德纳(无锡)技术有限公司| 优尚化妆品有限公司| 上海易初电缆电线有限公司| 中核工业建设有限公司| 哈尔滨龙江龙有限公司| 中海建设监理有限公司| 牡丹大酒楼有限公司| 广州本和食品有限公司| 汇智装饰工程有限公司| 兰州变压器有限公司| 虎霸建设机械有限公司| 杭州凯膜技术有限公司| 微山湖食品有限公司| 得力电子有限公司官网| 黄山生态农业有限公司| 市勤创电子有限公司| 新乡食品饮料有限公司| 凡纳克塑胶膜有限公司| 国电物资配送有限公司| 大安化学工业有限公司| 东莞全方位有限公司| 厦门青岛啤酒有限公司| 青岛 活性炭有限公司| 南京贝奇尔有限公司| 南安盈磊石材有限公司| 农业发展有限公司 简介| 广东美涂士建材有限公司| 快美特汽车精品有限公司| 温州瑞州建设有限公司| 深圳市明微电子有限公司| 重庆 橙汁有限公司| 徐州食品销售有限公司| 杭州康桥汽车有限公司| 河南永川建设工程有限公司| 戴维医疗器械有限公司| 德士达建材有限公司| 潍坊电器设备有限公司| 内蒙古鑫隆有限公司| 唐山市瑞丰钢铁有限公司| 上海体育场地工程有限公司| 赛思达机械设备有限公司| 苏州联网技术有限公司| 陕西益丰置业有限公司| 沈阳绿色食品有限公司| 苏州工业地坪工程有限公司| 上海 低温设备有限公司| 华迪装饰工程有限公司| 深圳明泰电讯有限公司| 浙江巨龙管业有限公司| 中山特灵空调有限公司| 现代制药海门有限公司| 中山交通客运有限公司| 安徽 坚 有限公司| 郑州新郑国际机场有限公司| 福建小额贷款有限公司| 晋江市安海食品有限公司| 山东临沂包装有限公司| 荣泰国际贸易有限公司| 思迈医疗器械有限公司| 上海阿瓦洛贸易有限公司| 上海克领贸易有限公司| 深圳星美电子有限公司| 无锡固废处置有限公司| 上海自控阀门有限公司招聘| 深圳美铭创有限公司| 哈尔滨汽车经销有限公司| 东方数码(武汉)有限公司| 现代摩比斯汽车零部件有限公司 | 玉环玉迪机械有限公司| 现代牙科器材有限公司| 新华盛置业有限公司| 中石油东北炼化工程有限公司| 仕达利恩南京光电有限公司| 青岛lg电子有限公司| 四川百年盛世有限公司| 广州好媳妇日用品有限公司| 马瑞利汽车电子广州有限公司| 日康食品饮料有限公司| 上海凡卓通讯有限公司| 西安市糖酒有限公司| 北京国润能源有限公司| 希革斯上海有限公司| 金钥匙物业有限公司| 湖南华良电器实业有限公司| 深圳宏齐光电子有限公司| 旺达自动化有限公司| 安利自动化有限公司| 合一电器 深圳 有限公司| 广州奥优电子有限公司| 鹤壁天海电器有限公司| 北京明航发展有限公司| 天津 医用设备有限公司| 大实验设备有限公司| 苏州机械加工有限公司| 上航国际旅行社有限公司| 维仕小额贷款有限公司| 东莞软木制品有限公司| 山西太原食品有限公司| 中山仓储设备有限公司| 宜兴方圆紫砂有限公司| 深圳市纳斯电子有限公司| 杭州富铭环境有限公司| 江苏停车设备有限公司| 万家信息技术有限公司| 天津铁路的发展有限公司| 杭州华电江东热电有限公司| 浙江电梯配件有限公司| 济南中辉机械有限公司| 烟台 苹果 有限公司| 深圳市利科达有限公司| 百路达工业有限公司| 政通新型铝材有限公司| 武汉百纳信息技术有限公司| 欧展国际货运有限公司上海| 惠州友威光电有限公司| 中交地产有限公司昆明| 上海应翔建筑设计有限公司| 天津二通阀门有限公司| 化工有限公司 草甘膦| 湖南千山制药机械有限公司| 张家港贝尔机械有限公司| 直流电机制造有限公司| 焦作铝鑫铝业有限公司| 安沃特种合金有限公司| 上海希爱化成有限公司| 番禺五金制品有限公司| 云南生物制品有限公司| 药业制药有限公司招聘| 天一阁医药有限公司|