├── .gitignore ├── LICENSE ├── README.md ├── data_helper.py ├── examples.py ├── requirements.txt ├── test_data ├── test_classification.txt ├── test_data_cluster.txt ├── test_fasttext_cls.txt ├── test_keyphrase.txt ├── test_summarization.txt └── 水浒传.txt └── text_analysis_tools ├── __init__.py ├── __pycache__ └── __init__.cpython-36.pyc └── api ├── __init__.py ├── __pycache__ └── __init__.cpython-36.pyc ├── data ├── apple.png ├── map.png ├── simfang.ttf ├── stop_words.txt └── synonym.json ├── keyphrase ├── __init__.py ├── __pycache__ │ ├── __init__.cpython-36.pyc │ ├── __init__.cpython-38.pyc │ ├── keyphrase.cpython-36.pyc │ └── keyphrase.cpython-38.pyc └── keyphrase.py ├── keywords ├── __init__.py ├── __pycache__ │ ├── __init__.cpython-36.pyc │ ├── __init__.cpython-38.pyc │ ├── textrank.cpython-36.pyc │ ├── textrank.cpython-38.pyc │ ├── tfidf.cpython-36.pyc │ └── tfidf.cpython-38.pyc ├── textrank.py └── tfidf.py ├── sentiment ├── __init__.py ├── __pycache__ │ ├── __init__.cpython-36.pyc │ ├── __init__.cpython-38.pyc │ ├── sentiment.cpython-36.pyc │ └── sentiment.cpython-38.pyc ├── data │ ├── degreeDict.json │ ├── jieba.dic │ ├── notDict.json │ ├── sentimentDict.json │ └── stopwords.txt.json └── sentiment.py ├── spell_correct ├── __init__.py ├── __pycache__ │ ├── __init__.cpython-36.pyc │ ├── __init__.cpython-38.pyc │ ├── spell_correct.cpython-36.pyc │ └── spell_correct.cpython-38.pyc └── spell_correct.py ├── summarization ├── __init__.py ├── __pycache__ │ ├── __init__.cpython-36.pyc │ ├── __init__.cpython-38.pyc │ ├── textrank_summarization.cpython-36.pyc │ ├── textrank_summarization.cpython-38.pyc │ ├── tfidf_summarization.cpython-36.pyc │ └── tfidf_summarization.cpython-38.pyc ├── textrank_summarization.py └── tfidf_summarization.py ├── synonym ├── __init__.py ├── __pycache__ │ ├── __init__.cpython-36.pyc │ ├── __init__.cpython-38.pyc │ ├── synonym_dict.cpython-36.pyc │ ├── synonym_dict.cpython-38.pyc │ ├── word2vec.cpython-36.pyc │ └── word2vec.cpython-38.pyc ├── synonym_dict.py └── word2vec.py ├── text_classification ├── __init__.py ├── __pycache__ │ ├── __init__.cpython-36.pyc │ ├── __init__.cpython-38.pyc │ ├── fasttext.cpython-36.pyc │ └── fasttext.cpython-38.pyc └── fasttext.py ├── text_cluster ├── __init__.py ├── __pycache__ │ ├── __init__.cpython-36.pyc │ ├── __init__.cpython-38.pyc │ ├── dbscan.cpython-36.pyc │ ├── dbscan.cpython-38.pyc │ ├── kmeans.cpython-36.pyc │ └── kmeans.cpython-38.pyc ├── dbscan.py └── kmeans.py ├── text_similarity ├── __init__.py ├── __pycache__ │ ├── __init__.cpython-36.pyc │ ├── __init__.cpython-38.pyc │ ├── cosion.cpython-36.pyc │ ├── cosion.cpython-38.pyc │ ├── edit.cpython-36.pyc │ ├── edit.cpython-38.pyc │ ├── simhash.cpython-36.pyc │ └── simhash.cpython-38.pyc ├── cosion.py ├── edit.py └── simhash.py ├── topic_keywords ├── __init__.py ├── __pycache__ │ ├── __init__.cpython-36.pyc │ ├── __init__.cpython-38.pyc │ ├── topic_kwywords.cpython-36.pyc │ └── topic_kwywords.cpython-38.pyc └── topic_kwywords.py └── triple_extraction ├── __init__.py ├── __pycache__ ├── __init__.cpython-38.pyc └── triple_extraction_ltp.cpython-38.pyc └── triple_extraction_ltp.py /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | text_analysis_tools/__pycache__ 3 | text_analysis_tools/*/__pycache__ -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # text_analysis_tools 2 | > 文本分析工具包, 可以直接运行 “python examples.py” 进行样例测试。 3 | 4 | # 目录 5 | - test_data: 测试数据 6 | - text_analysis_tools: 功能API 7 | - examples.py: 使用样例 8 | 9 | 10 | # 功能 11 | - 文本分类 12 | - 文本聚类 13 | - 文本相似性 14 | - 关键词抽取 15 | - 关键短语抽取 16 | - 情感分析 17 | - 文本纠错 18 | - 文本摘要 19 | - 主题关键词 20 | - 同义词、近义词 21 | - 事件三元组抽取 22 | 23 | # 注意事项 24 | - 采用词向量生成同义词、近义词功能,需用户自己指定预训练词向量 -------------------------------------------------------------------------------- /data_helper.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import jieba 4 | import json 5 | 6 | 7 | def change_cls_data_to_fasttext(raw_data_path, fasttext_path): 8 | with open(raw_data_path, 'r', encoding='utf-8') as f: 9 | with open(fasttext_path, 'w', encoding='utf-8') as f_w: 10 | for line in f: 11 | lis = line.strip().split('\t') 12 | f_w.write("__label__{} {}\n".format(lis[0], " ".join(jieba.lcut(lis[1])))) 13 | 14 | def make_synonym_dict(text_file_path, text_file_path2, json_file_path): 15 | synonym_dict = {} 16 | 17 | with open(text_file_path, encoding='utf-8') as f_r: 18 | for line in f_r: 19 | lis = line.strip().split(' ') 20 | if len(lis) > 1: 21 | synonym_dict[lis[0]] = lis[1].split('、') 22 | 23 | with open(text_file_path2, encoding='utf-8') as f_r: 24 | for line in f_r: 25 | lis = line.strip().split() 26 | if lis[0] in synonym_dict.keys(): 27 | synonym_dict[lis[0]].append(lis[1]) 28 | else: 29 | synonym_dict[lis[0]] = [lis[1]] 30 | 31 | ret = {} 32 | for key, val in synonym_dict.items(): 33 | ret[key] = list(set(val)) 34 | with open(json_file_path, 'w', encoding='utf-8') as f_w: 35 | json.dump(ret, f_w, indent=4, ensure_ascii=False) 36 | 37 | print(ret) 38 | 39 | 40 | 41 | if __name__ == "__main__": 42 | # change_cls_data_to_fasttext("./test_data/test_classification.txt", "./test_data/test_fasttext_cls.txt") 43 | make_synonym_dict('./test_data/synonym.txt', './test_data/merge_syno.txt', './text_analysis_tools/api/data/synonym.json') 44 | 45 | -------------------------------------------------------------------------------- /examples.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | """ 4 | 以下是工具api的一些使用样例 5 | """ 6 | 7 | 8 | from text_analysis_tools import KmeansClustering 9 | from text_analysis_tools import DbscanClustering 10 | from text_analysis_tools import CosionSimilarity 11 | from text_analysis_tools import EditSimilarity 12 | from text_analysis_tools import SimHashSimilarity 13 | from text_analysis_tools import TfidfKeywords 14 | from text_analysis_tools import TextRankKeywords 15 | from text_analysis_tools import KeyPhraseExtraction 16 | from text_analysis_tools import SentimentAnalysis 17 | from text_analysis_tools import SpellCorrect 18 | from text_analysis_tools import TfidfSummarization 19 | from text_analysis_tools import TextRankSummarization 20 | from text_analysis_tools import TopicKeywords 21 | from text_analysis_tools import Fasttext 22 | from text_analysis_tools import Word2VecSynonym 23 | from text_analysis_tools import SynonymDict 24 | from text_analysis_tools import TripleExtraction 25 | 26 | 27 | """ 28 | 文本聚类: 29 | kmeans_cluster 30 | dbscan_cluster 31 | """ 32 | 33 | 34 | def kmeans_cluster(data_path="./test_data/test_data_cluster.txt", 35 | n_clusters=5): 36 | """ 37 | KMEANS文本聚类 38 | :param data_path: 需要聚类的文本路径,每条文本存放一行 39 | :param n_clusters: 聚类个数 40 | :return: {'cluster_0': [0, 1, 2, 3, 4], 'cluster_1': [5, 6, 7, 8, 9]} 0,1,2....为文本的行号 41 | """ 42 | Kmeans = KmeansClustering() 43 | result = Kmeans.kmeans(data_path, n_clusters=n_clusters) 44 | print("keams result: {}\n".format(result)) 45 | 46 | 47 | def dbscan_cluster(data_path="./test_data/test_data_cluster.txt", 48 | eps=0.05, min_samples=3, fig=False): 49 | """ 50 | 基于DBSCAN进行文本聚类 51 | :param data_path: 文本路径,每行一条 52 | :param eps: DBSCA中半径参数 53 | :param min_samples: DBSCAN中半径eps内最小样本数目 54 | :param fig: 是否对降维后的样本进行画图显示,默认False 55 | :return: {'cluster_0': [0, 1, 2, 3, 4], 'cluster_1': [5, 6, 7, 8, 9]} 0,1,2....为文本的行号 56 | """ 57 | dbscan = DbscanClustering() 58 | result = dbscan.dbscan(corpus_path=data_path, eps=eps, min_samples=min_samples, fig=fig) 59 | print("dbscan result: {}\n".format(result)) 60 | 61 | 62 | """ 63 | 文本相似性 64 | cosion_sismilarity 65 | edit_similarity 66 | simhash_similarity 67 | """ 68 | 69 | def cosion_sismilarity(): 70 | """ 71 | 基于余弦计算文本相似性 72 | :return: 余弦值 73 | """ 74 | text1 = "小明,你妈妈喊你回家吃饭啦" 75 | text2 = "回家吃饭啦,小明" 76 | cosion = CosionSimilarity() 77 | similiar = cosion.similarity(text1, text2) 78 | print("cosion similarity result: {}\n".format(similiar)) 79 | 80 | 81 | def edit_similarity(): 82 | """ 83 | 采用编辑距离计算文本之间的相似性 84 | :return: 编辑距离 85 | """ 86 | edit = EditSimilarity() 87 | edit_dis = edit.edit_dist("abc", "ab") 88 | print("edit distance: {}\n".format(edit_dis)) 89 | 90 | 91 | def simhash_similarity(): 92 | """ 93 | 采用simhash计算文本之间的相似性 94 | :return: 95 | """ 96 | simhash = SimHashSimilarity() 97 | sim = simhash.run_simhash("你妈妈叫你回家吃饭了,小明", "小明, 妈妈让你回家吃饭了") 98 | print("simhash result: {}\n".format(sim)) 99 | 100 | 101 | """ 102 | 关键词抽取 103 | """ 104 | 105 | 106 | def tfidf_keywords(delete_stopwords=True, topK=20, withWeight=True): 107 | """ 108 | tfidf 提取关键词 109 | :param delete_stopwords: 是否删除停用词 110 | :param topK: 输出关键词个数 111 | :param withWeight: 是否输出权重 112 | :return: [(word, weight), (word1, weight1)] 113 | """ 114 | tfidf = TfidfKeywords(delete_stopwords=delete_stopwords, topK=topK, withWeight=withWeight) 115 | keywords = tfidf.keywords("小明的妈妈让你回家吃饭了") 116 | print("tfidf keywords result: {}\n".format(keywords)) 117 | 118 | 119 | def textrank_keywords(delete_stopwords=True, topK=20, withWeight=True): 120 | """ 121 | tfidf 提取关键词 122 | :param delete_stopwords: 是否删除停用词 123 | :param topK: 输出关键词个数 124 | :param withWeight: 是否输出权重 125 | :return: [(word, weight), (word1, weight1)] 126 | """ 127 | textrank = TextRankKeywords(delete_stopwords=delete_stopwords, topK=topK, withWeight=withWeight) 128 | keywords = textrank.keywords("小明的妈妈让你回家吃饭了") 129 | print("textrank keywords result: {}\n".format(keywords)) 130 | 131 | """ 132 | 关键短语抽取 133 | """ 134 | 135 | def keyphrase_extract(topk=100, method='tfidf', with_word=True, save_pic="./wordcloud.png", with_mask=True): 136 | """ 137 | 关键短语抽取 138 | :param topk: 提取多少关键词组成短语 139 | :param method: 提取关键词的方法 140 | :param with_word: 关键词是否作为短语进行输出 141 | :param save_pic: 是否生成词云图片,保存路径 142 | :param with_mask: 生成图片是否使用背景 143 | :return: 144 | """ 145 | with open('./test_data/test_keyphrase.txt', encoding='utf-8') as f: 146 | text = f.read() 147 | key_phrase_extractor = KeyPhraseExtraction(topk=topk, method=method, with_word=with_word) 148 | key_phrase = key_phrase_extractor.key_phrase_extraction(text) 149 | print("keyphrase result: {}\n".format(key_phrase)) 150 | if save_pic: 151 | key_phrase_extractor.wordcloud(key_phrase, save_path=save_pic, with_mask=True) 152 | print("word cloud save to: {}\n".format(save_pic)) 153 | 154 | 155 | """ 156 | 情感分析 157 | """ 158 | def sentiment_analysis(): 159 | senti = SentimentAnalysis() 160 | senti = senti.analysis("今天天气好晴朗") 161 | print("sentiment result: {}".format(senti)) 162 | 163 | 164 | """ 165 | 文本纠错 166 | """ 167 | def spell_correct(corpus_path="./test_data/水浒传.txt", 168 | train=True, ret_num=10, model_dir="./spell_correct_model"): 169 | """ 170 | 中文文本纠错 171 | :param corpus_path: 训练文本路径,这里以水浒传作为测试 172 | :param train: 是否进行训练 173 | :param ret_num: 按照可能性返回纠错后词汇 174 | :param model_dir: 训练后生成文件存储路径 175 | :return: 176 | """ 177 | spell_correct = SpellCorrect(corpus_path=corpus_path, train=train, ret_num=ret_num, model_dir=model_dir) 178 | ret1 = spell_correct.correct('松江') 179 | ret2 = spell_correct.correct('李奎') 180 | print("spell correct result: {}=>{} {}=>{}\n".format('松江', ret1, '李奎', ret2)) 181 | 182 | 183 | """ 184 | 文本摘要 185 | tfidf_summarization 186 | """ 187 | def tfidf_summarization(ratio=0.2): 188 | """ 189 | 采用tfidf进行摘要抽取 190 | :param ratio: 摘要占文本长度的比例 191 | :return: 192 | """ 193 | with open('./test_data/test_summarization.txt', encoding="utf-8") as f: 194 | doc = f.read() 195 | summ = TfidfSummarization(ratio=ratio) 196 | summ = summ.analysis(doc) 197 | print("tfidf summarization result: {}\n".format(summ)) 198 | 199 | def textrank_summarization(ratio=0.2): 200 | """ 201 | 采用tfidf进行摘要抽取 202 | :param ratio: 摘要占文本长度的比例 203 | :return: 204 | """ 205 | with open('./test_data/test_summarization.txt', encoding="utf-8") as f: 206 | doc = f.read() 207 | summ = TextRankSummarization(ratio=ratio) 208 | summ = summ.analysis(doc) 209 | print("textrank summarization result: {}\n".format(summ)) 210 | 211 | 212 | """ 213 | 主题关键词提取 214 | """ 215 | def topic_keywords(n_components=5, n_top_words=10, max_iter=10): 216 | """ 217 | 根据LDA,提取文本主题关键词 218 | :param train_data: 文本数据,列表格式, 每条文本一行 219 | :param n_components: 划分成多少个主题 220 | :param n_top_words: 每个主题提取多少个关键词 221 | :param max_iter: 训练迭代次数 222 | :return: 223 | """ 224 | with open('./test_data/test_data_cluster.txt', encoding='utf-8') as f: 225 | train_data = f.readlines() 226 | topic_keywords = TopicKeywords(train_data=train_data, n_components=n_components, 227 | n_top_words=n_top_words, max_iter=max_iter) 228 | keywords = topic_keywords.analysis() 229 | print("topic keywords: {}\n".format(keywords)) 230 | 231 | 232 | """ 233 | 文本分类 234 | """ 235 | def fasttext_classification(): 236 | """ 237 | fasttext 文本分类 238 | fasttext 239 | :param save_model_path: 模型保存路径 240 | :param train_data_path: 训练样本路径 241 | :param test_data_path: 测试样本路径 242 | :param type: 模式:“train/predict” 243 | :param k: 返回结果个数 244 | :param threshold: 阈值 245 | :param epoch: 训练轮数 246 | :param pretrainedVectors: 预训练词向量路径 247 | :param label: 标签前缀 248 | :param lr: 学习率 249 | :param dim: 词向量维度 250 | """ 251 | # Train model 252 | train_data_path = "./test_data/test_fasttext_cls.txt" 253 | test_data_Path = train_data_path 254 | save_model_path = "fasttext.model.bin" 255 | fasttext = Fasttext(train_data_path=train_data_path, test_data_path=test_data_Path, 256 | save_model_path=save_model_path, type="train") 257 | fasttext.train() 258 | 259 | # Predict 260 | save_model_path = "fasttext.model.bin" 261 | fasttext = Fasttext(save_model_path=save_model_path, type="predict", k=2, threshold=0.0) 262 | ret = fasttext.predict(["黄蜂 vs 湖人 首发 : 科比 冲击 七 连胜 火箭 两旧 将 登场 新浪 体育讯 北京 时间 3 月 28 日 , NBA 常规赛 洛杉矶 湖人", 263 | "历届 华表奖 新人 浮沉 录 : 曾经 新 丁 今何在 ? 新浪 娱乐 讯 近日 , 第十四届 华表奖 十八个 奖项 提名 名单 公布 "], 264 | ) 265 | print(ret) 266 | 267 | 268 | """ 269 | 同义词,近义词 270 | word2vec_synonym: 采用预训练词向量,生成同义词、近义词 271 | synonym_dict: 根据词典返回同义词(收集词数较少...) 272 | """ 273 | 274 | def word2vec_synonym(): 275 | """ 276 | word_embedding_path: 预训练词向量路径,由于词向量太大,需用户自己下载 277 | 下载参考:https://github.com/Embedding/Chinese-Word-Vectors 278 | topn: 返回同义词个数 279 | :return: 同义词列表 [(word, score)],若查询词在词向量词表中不存在,返回[]. 280 | """ 281 | # 加载词向量 282 | word2vec = Word2VecSynonym(word_embedding_path="./test_data/sgns.target.word-word.dynwin5.thr10.neg5.dim300.iter5", 283 | topn=5) 284 | # 生成同义词 285 | ret = word2vec.synonym("苹果") 286 | print(ret) 287 | ret = word2vec.synonym("上海") 288 | print(ret) 289 | 290 | 291 | def synonym_dict(): 292 | """ 293 | 若词典中不存在查询词,返回[] 294 | :return: 295 | """ 296 | synonym = SynonymDict() 297 | ret = synonym.synonym("狗仗人势") 298 | print(ret) 299 | 300 | ret = synonym.synonym("人才济济") 301 | print(ret) 302 | 303 | 304 | """ 305 | 文本三元组抽取 306 | """ 307 | def triple_extraction(): 308 | text = "履行反洗钱义务的机构及其工作人员依法提交大额交易和可疑交易报告,受法律保护。" 309 | extractor = TripleExtraction() 310 | res = extractor.triples_main(text) 311 | print(res) 312 | 313 | if __name__ == "__main__": 314 | # kmeans_cluster() 315 | # dbscan_cluster() 316 | # cosion_sismilarity() 317 | # edit_similarity() 318 | # simhash_similarity() 319 | # tfidf_keywords() 320 | # textrank_keywords() 321 | # keyphrase_extract() 322 | # sentiment_analysis() 323 | # spell_correct() 324 | # tfidf_summarization() 325 | # textrank_summarization() 326 | # topic_keywords() 327 | # fasttext_classification() 328 | # word2vec_synonym() 329 | # synonym_dict() 330 | triple_extraction() 331 | 332 | 333 | 334 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | numpy==1.21.0 2 | wordcloud==1.8.1 3 | matplotlib==3.4.3 4 | jieba==0.42.1 5 | xpinyin==0.7.6 6 | ltp==4.1.5.post2 7 | nltk 8 | gensim==4.1.0 9 | Pillow==9.0.0 10 | scikit_learn==0.24.2 11 | fasttext==0.9.1 12 | -------------------------------------------------------------------------------- /test_data/test_classification.txt: -------------------------------------------------------------------------------- 1 | 体育 鲍勃库西奖归谁属? NCAA最强控卫是坎巴还是弗神新浪体育讯如今,本赛季的NCAA进入到了末段,各项奖项的评选结果也即将出炉,其中评选最佳控卫的鲍勃-库西奖就将在下周最终四强战时公布,鲍勃-库西奖是由奈史密斯篮球名人堂提供,旨在奖励年度最佳大学控卫。最终获奖的球员也即将在以下几名热门人选中产生。〈〈〈 NCAA疯狂三月专题主页上线,点击链接查看精彩内容吉梅尔-弗雷戴特,杨百翰大学“弗神”吉梅尔-弗雷戴特一直都备受关注,他不仅仅是一名射手,他会用“终结对手脚踝”一样的变向过掉面前的防守者,并且他可以用任意一支手完成得分,如果他被犯规了,可以提前把这两份划入他的帐下了,因为他是一名命中率高达90%的罚球手。弗雷戴特具有所有伟大控卫都具备的一点特质,他是一位赢家也是一位领导者。“他整个赛季至始至终的稳定领导着球队前进,这是无可比拟的。”杨百翰大学主教练戴夫-罗斯称赞道,“他的得分能力毋庸置疑,但是我认为他带领球队获胜的能力才是他最重要的控卫职责。我们在主场之外的比赛(客场或中立场)共取胜19场,他都表现的很棒。”弗雷戴特能否在NBA取得成功?当然,但是有很多专业人士比我们更有资格去做出这样的判断。“我喜爱他。”凯尔特人主教练多克-里弗斯说道,“他很棒,我看过ESPN的片段剪辑,从剪辑来看,他是个超级巨星,我认为他很成为一名优秀的NBA球员。”诺兰-史密斯,杜克大学当赛季初,球队宣布大一天才控卫凯瑞-厄尔文因脚趾的伤病缺席赛季大部分比赛后,诺兰-史密斯便开始接管球权,他在进攻端上足发条,在ACC联盟(杜克大学所在分区)的得分榜上名列前茅,但同时他在分区助攻榜上也占据头名,这在众强林立的ACC联盟前无古人。“我不认为全美有其他的球员能在凯瑞-厄尔文受伤后,如此好的接管球队,并且之前毫无准备。”杜克主教练迈克-沙舍夫斯基赞扬道,“他会将比赛带入自己的节奏,得分,组织,领导球队,无所不能。而且他现在是攻防俱佳,对持球人的防守很有提高。总之他拥有了辉煌的赛季。”坎巴-沃克,康涅狄格大学坎巴-沃克带领康涅狄格在赛季初的毛伊岛邀请赛一路力克密歇根州大和肯塔基等队夺冠,他场均30分4助攻得到最佳球员。在大东赛区锦标赛和全国锦标赛中,他场均27.1分,6.1个篮板,5.1次助攻,依旧如此给力。他以疯狂的表现开始这个赛季,也将以疯狂的表现结束这个赛季。“我们在全国锦标赛中前进着,并且之前曾经5天连赢5场,赢得了大东赛区锦标赛的冠军,这些都归功于坎巴-沃克。”康涅狄格大学主教练吉姆-卡洪称赞道,“他是一名纯正的控卫而且能为我们得分,他有过单场42分,有过单场17助攻,也有过单场15篮板。这些都是一名6英尺175镑的球员所完成的啊!我们有很多好球员,但他才是最好的领导者,为球队所做的贡献也是最大。”乔丹-泰勒,威斯康辛大学全美没有一个持球者能像乔丹-泰勒一样很少失误,他4.26的助攻失误在全美遥遥领先,在大十赛区的比赛中,他平均35.8分钟才会有一次失误。他还是名很出色的得分手,全场砍下39分击败印第安纳大学的比赛就是最好的证明,其中下半场他曾经连拿18分。“那个夜晚他证明自己值得首轮顺位。”当时的见证者印第安纳大学主教练汤姆-克雷恩说道。“对一名控卫的所有要求不过是领导球队、使球队变的更好、带领球队成功,乔丹-泰勒全做到了。”威斯康辛教练博-莱恩说道。诺里斯-科尔,克利夫兰州大诺里斯-科尔的草根传奇正在上演,默默无闻的他被克利夫兰州大招募后便开始刻苦地训练,去年夏天他曾加练上千次跳投,来提高这个可能的弱点。他在本赛季与杨斯顿州大的比赛中得到40分20篮板和9次助攻,在他之前,过去15年只有一位球员曾经在NCAA一级联盟做到过40+20,他的名字是布雷克-格里芬。“他可以很轻松地防下对方王牌。”克利夫兰州大主教练加里-沃特斯如此称赞自己的弟子,“同时他还能得分,并为球队助攻,他几乎能做到一个成功的团队所有需要的事。”这其中四名球员都带领自己的球队进入到了甜蜜16强,虽然有3个球员和他们各自的球队被挡在8强的大门之外,但是他们已经表现的足够出色,不远的将来他们很可能出现在一所你熟悉的NBA球馆里。(clay) 2 | 体育 麦基砍28+18+5却充满寂寞 纪录之夜他的痛阿联最懂新浪体育讯上天对每个人都是公平的,贾维尔-麦基也不例外。今天华盛顿奇才客场104-114负于金州勇士,麦基就好不容易等到“捏软柿子”的机会,上半场打出现象级表现,只可惜无法一以贯之。最终,麦基12投9中,得到生涯最高的28分,以及平生涯最佳的18个篮板,另有5次封盖。此外,他11次罚球命中10个,这两项也均为生涯最高。如果在赛前搞个竞猜,上半场谁会是奇才阵中罚球次数最多的球员?若有人答曰“麦基”,不是恶搞就是脑残。但半场结束,麦基竟砍下22分(第二节砍下14分)。更罕见的,则是他仅出手7次,罚球倒是有11次,并命中了其中的10次。此外,他还抢下11个篮板,和勇士首发五虎总篮板数持平;他还送出3次盖帽,竟然比勇士全队上半场的盖帽总数还多1次!麦基为奇才带来了什么?除了得分方面异军突起,在罚球线上杀伤对手,率队紧咬住比分,用封盖威慑对手外,他在篮板上的贡献最为关键。众所周知,篮板就是勇士的生命线。3月3日的那次交锋前,时任代理主帅的兰迪-惠特曼在赛前甚至给沃尔和尼克-杨二人下达“篮板不少于10个”的硬性指标。惠特曼没疯,他深知守住了篮板阵地,就如同扼住了勇士的咽喉。上次交锋拿下16个篮板的大卫-李就说:“称霸篮板我们取胜希望就大些。我投中多少球无所谓,但我一定要保护篮板”。最终,勇士总篮板数以54-40领先。但今天,半场结束麦基却让李仅有5个篮板进账。造成这种局面的关键因素是身高。在2.11米的安德里斯-比德林斯伤停后,勇士内线也更为迷你。李2.06米,弗拉迪米尔-拉德马诺维奇2.08米,艾派-乌杜2.08米,路易斯-阿蒙德森2.06米。由此,2.13米又弹跳出众的麦基也就有些鹤立鸡群了。翻开本赛季中锋篮板效率榜,比德林斯位居第13位,麦基第20,李则是第31。可惜,麦基出彩不但超出了勇士预期,也超出了奇才预期,注定不可长久。第三节李砍下12分,全场26投15中砍下33分12个篮板5次助攻,麦基的防守不利则被放大。2分11秒,奇才失误,蒙塔-埃利斯带球直冲篮下,面对麦基的防守,他华丽的篮下360度转身上篮命中。全场掌声雷动下,麦基的身影却无比落寞。下半场麦基有多困顿?篮板被对方追上,全场勇士篮板仅落后2个;上半场拉风的罚球,在下半场竟然一次也没有。和阿联此役先扬后抑的表现如出一辙,麦基也吃尽了奇才内线缺兵少将的苦头。(魑魅) 3 | 体育 黄蜂vs湖人首发:科比冲击七连胜 火箭两旧将登场新浪体育讯北京时间3月28日,NBA常规赛洛杉矶湖人主场迎战新奥尔良黄蜂,赛前双方也公布了首发阵容:点击进入新浪体育视频直播室点击进入新浪体育图文直播室点击进入新浪体育NBA专题点击进入新浪NBA官方微博双方首发阵容:湖人队:德里克-费舍尔、科比-布莱恩特、罗恩-阿泰斯特、保罗-加索尔、安德鲁-拜纳姆黄蜂队:克里斯-保罗、马科-贝里内利、特雷沃-阿里扎、卡尔-兰德里、埃梅卡-奥卡福(新浪体育) 4 | 体育 双面谢亚龙作秀终成做作 谁来为低劣行政能力埋单是谁任命了谢亚龙?谁放纵了谢亚龙?谁又该为谢亚龙、南勇们的倒掉负责?文/陈鹏“南勇进去了,谢亚龙还会远吗?”一语成谶,中国足坛的扫赌反黑风暴终于让谨小慎微、平庸“低调”的前足协掌门人谢亚龙“落网”,同时被立案侦查的还有原国足领队蔚少辉、原技术部主任李冬生。这场空前的风暴或许还将延续,谢亚龙的倒掉也再次见证中国足协难以洗刷的“体制原罪”。人们由衷期待中国足球的浴火重生、否极泰来。作秀与做作谢亚龙“过分低调”?不然,与其说低调不如说是对媒体的本能漠视和反感。笔者曾在2008年国足、国奥昆明海埂集训期间与谢亚龙偶遇,采访要求立即遭到谢极不耐烦的拒绝,“不说了不说了,我说什么说?有事你找领队!”在笔者多次采访国足的经历中,谢亚龙总给人诡异冷淡的印象,这也是不少媒体对谢亚龙的一贯感觉。唯一的例外,是笔者参与2007年男足亚洲杯报道赴吉隆坡、中国队小组赛0:3败给乌兹别克斯坦队未能从小组出线一役之后,谢亚龙主动凑到记者面前,“我说两句吧,我想起了吉鸿昌先生的一首诗,恨不抗日死,留作今日羞,国破尚如此,我何惜此头?”此诗一出,一片哗然——无论如何,中国队的丑陋死亡如何能与民族英雄吉鸿昌的慷慨悲歌相提并论?谢亚龙并非无名之辈,短跑出身的他历任北京体育大学副校长、国家体委群体司司长,田径运动管理中心主任、体育科研所副所长。期间,曾严查中国田径界兴奋剂问题,著名的马家军因此受到冲击。2002年,谢亚龙挂职陕西省安康市委副书记,2004年调回体育总局任电子信息中心党委书记;2005年,谢亚龙入主足协。但在他任职的3年内,中国男女足均出现前所未有的大滑坡,如男足止步亚洲杯小组赛、无缘世界杯亚洲区十强赛,女足止步世界杯、奥运会八强,甚至青少年比赛也一败涂地,国少、国青的亚洲区赛事纷纷出现“史上最差”。日前浙江省反黑斗士陈培德爆料,当年谢亚龙是主动请缨前往足协的,但履职后却对媒体诉苦,称自己从未想过要来足协,而是“组织安排,只能服从”。此举足见谢亚龙为人的“两面”;作为当年国家体委主任伍绍祖的秘书,这位不善业务的门外汉很快以低调甚至胆小的风格示人,但也时常按捺不住地蹦到前台,如在2008年国足备战世界杯前,他就喜欢在球队训练前后走上球场溜达,接受记者、球迷的啧啧嘘声;因对福拉多缺乏信心,很快在国足祭出世界罕见的“双头制”——同时起用杜伊、福拉多共同执掌,直接为国足的世预赛惨败埋下祸根;当国奥出师不利,谢又架空杜伊,拉来殷铁生救火,如此“失魂落魄”的球队怎么可能取得佳绩?一些惊世“名言”是谢亚龙不时作秀的佐证,如杜伊率国奥队在土伦杯上拿到亚军后,谢立即说,“让我们用热烈的掌声感谢杜伊,他就是国奥队的战神!”国奥队备战关口,谢亚龙要求杜伊按其要求加量,“我是非常专业的训练专家,我有科技部颁发的证书!”国足世预赛天津主场不敌卡塔尔,无缘亚洲十强赛,谢亚龙援引周总理的“生死态度”鼓励球队打好最后两场比赛:“即使死也要死得有气势一些!”最著名的当属中国女足不敌日本、无缘奥运会四强后,谢亚龙在总结会上指出中国女足最需要训练“叉腰肌”,迄今,人们还是无法找到这块肌肉到底在哪里。不合时宜的作秀终显做作,这种表现欲被一再放大为谢亚龙对中国足球的盲目乐观或盲目悲观,他似乎总是缺乏一位掌门人应有的清晰思路和价值判断,也因此成为中国足球2006~2008年间最腐败无能、最孱弱无力的诡异缩影。2007年后,谢亚龙现身任何球场,都会听到震耳欲聋的“谢亚龙下课”之声,而这位掌门人(笔者曾在奥运会现场亲见)却充耳不闻,任一丝牵强的微笑渐渐在嘴角冻结。谁的“足协”南勇之后,谢亚龙原本被外界猜测为“庸而不贪”,但随着谢、蔚、李三人被立案侦查,谢亚龙任期内经手的几件大事成为焦点——一、将中国之队原来的“开发商”——亚足联开发公司更换为盈方集团,其理由是盈方赞助费比亚足联开发公司多出200万美元。谢亚龙的提议一度遭到足协中层的反对,认为为了区区200万美元得罪亚足联实在不划算。果然,在之后的世界杯预选赛和亚洲杯小组赛,中国队连连“遭遇”死亡之组,亚洲杯丑陋铩羽、世预赛再次没能跻身十强赛,中国队屡屡不被裁判“待见”,不能不说与谢亚龙当初忽悠亚足联有关。谢亚龙究竟有没有从中收取好处?二、爱福克斯赞助中超联赛的悬案。在许多人看来,爱福克斯赞助中超联赛是南勇一手操办,但当时南勇的顶头上司是谢亚龙,在6000多万元赞助款没到账的情况下,经纪人却提前拿走巨额佣金,该案最终不了了之,其间,谢亚龙是否起到关键作用?三、2008年东亚四强赛期间,谢亚龙是否利用职务之便获取了一定利益?四、据传,国家队设立小金库,贿赂裁判、对手,同时向教练、教练向运动员收取“黑金”,是否与谢亚龙有莫大干系?谢亚龙任上重用的“四哥”蔚少辉出事似乎顺理成章。笔者在昆明采访国足集训期间,经常目睹蔚领队大声喝骂队员,架子比主教练福拉多、杜伊有过之而无不及;他任职期间,中国队前后多达百人入选。外界早有传言,俱乐部球员要进国家队就必须给蔚少辉等人送门槛费;“四哥”穿名牌、戴名表大多不需要自己掏腰包,只要授意自己的主力即可;中国队世预赛客场击败澳大利亚队后,蔚领队居然率领队员高喊“杜伊,傻×”,原因是杜伊没按照他的“推荐”安排位置;相比之下,担任过裁委会主任的李冬生则是各家俱乐部纷纷觊觎的目标,因为他不仅直接分配裁判,还能直接“告知”裁判应如何执法,他也被认为是职业联赛执法“最黑暗时期”的幕后推手。从范广鸣到吕锋、邵文忠,从南勇、杨一民、张建强到谢亚龙、蔚少辉、李冬生,中国足坛“大鱼”的纷纷落网勾勒出中国足球几年间的丑陋嘴脸和恶劣生态。最让人不解的是:谢亚龙上任3年来更换了8名国字号球队教练,换来的是男足连续输掉亚洲杯、世界杯和奥运会,女足则陷入从裴恩才到多曼斯基、从伊丽莎白到商瑞华的空前混乱期——谢亚龙履职期间的中国足球跌至冰点,频繁的人事漩涡加剧了内耗、豪赌世界杯奥运会、青少年足球被一再忽略、聘请的外籍教练都是廉价货色、完全没有长远规划……这批让中国男足排名从70多位跌至百位开外的足球官员竟不被问责,被全场高呼下课的足协掌门人去职之后竟能悠然前往中体公司任年薪百万的董事长。没有人为中国足协低劣的行政能力埋单,没有人为这两支耗费了大量纳税人的血汗钱的球队负责。以行政权力掌控了巨大市场资源的中国足协,在获得体制内外的双重保障之后,他们所领导的项目成绩却与其所享用的资源严重背离,所耗费的巨大投入得到的低级产出实在令人匪夷所思。当2006年意大利足坛爆出“电话门”(打假球)丑闻,足协主席立即引咎辞职,英格兰主帅埃里克森进了小报记者的圈套,英足总也赶紧交出辞职信;但在中国,1994年开展职业联赛以来的历次惨败、换帅、内乱统统只与球员、教练、俱乐部有关,却唯独与足协无关;无论各级国字号球队输得多惨、多难看、多丢脸,身为中国足球最高领导的足协官员们却超然物外、依然故我。谢亚龙等人落网后再次让人聚焦中国足协这一横跨官方与民间的怪胎,很多人似乎对谢亚龙颇感同情,认为他的悲剧是体制催生的“恶之花”,任何人“一肩三挑”(足协专职副主席兼足管中心主任、中超公司董事长)都难免“落马”,中国足协不过将中国诸多领域内权力失控的困境再次放大了,顶多是体制原罪的又一个突出版本。但人们不禁要问:是谁任命了谢亚龙?谁放纵了谢亚龙?谁又该为谢亚龙、南勇们的倒掉负责?中国足球能否“浴火重生”从王俊生、阎世铎到已经跌倒的南勇、谢亚龙,他们既是体制的推动者,更是体制的牺牲品,已逐渐淡出人们视线的谢亚龙的“罪与罚”更与现行体制无法剥离。韦迪上任之后,退无可退、输无可输的中国足球何妨推倒重来?实现体制突破亟需解决好四大疑难:首先应解决中国足协与足管中心一套人马两块牌子的现状。“行政足球”的干预使足协很难充分发挥它的民间组织职能,导致中国足球长期以来唯成绩论、唯政绩论,急功近利、忽略建设。作为市场化程度最高的运动项目,中国足球到了将市场化改革进行到底的时候了。其次急需完善法律监管机制。既要对足协的各项工作进行监督,也要对俱乐部运作、管理方式、球员行为进行监督,否则中国足球联赛仍将是假赌黑的温床、球员依然是缺乏保障的弱势群体,抓进再多“大鱼”也无法铲除腐败。再有,中国足球必须改变现有的竞训模式,青少年足球应当作为与联赛平行的一翼得到长足发展,应尊重足球运动的规律,扎扎实实培养后备人才。只有全力抓好各年龄层次的训练和比赛,才可能塑造中国足球的未来。同时,中国足球的市场化联赛机制需要不断完善,这就要求尊重投资人的热情与利益,共同建设与呵护良好的市场秩序,使联赛真正成为国家队的大后方和大本营。如今,反赌扫黑风暴正以摧枯拉朽之势涤荡污浊,韦迪上任以来也多有惊人之言和惊人之举,今年7月就在秦皇岛的中国足协会议上抛出“三大纲领”,就足协和足管中心的管办分离、国家队形象打造、青少年留洋等均有细致谋划。如果韦迪能坚决实施,中国足球或将在这个风雨飘摇的关口迎来真正转机。可以预见的是,自去年底进行的反赌扫黑风暴一定会进行到底,不排除新账旧账一起算。其实中国足球早就积重难返,从足协领导、足协中层到俱乐部领导、球员、知名教练、领队、裁判、经纪人谁能百分百干净?但迄今为止,还没有重量级球员牵扯其中,随着谢亚龙南勇们的纷纷落马,谁能肯定一批足球大佬也能全身而退?如果大面积追查,中国职业联赛不是没有停摆的可能——比之眼前的千疮百孔,又何妨推倒重来?正如马来西亚联赛,当年的反赌风暴伤筋动骨却也让该国的联赛组织、竞赛纪律更加完善健康,比之中国足球的未来,以一次惨烈的剧痛为代价是值得的,中国足球必须“浴火”之后才有望重新赢得球迷的原谅和尊重。 5 | 体育 兔年首战山西换帅后有虎胆 张学文用乔丹名言励志今晚客场挑战浙江稠州银行队,是山西汾酒男篮的兔年第一战。虽然在积分榜上两队有些差距,但目前的山西队已经不惧怕任何对手,依然有取胜希望。浙江队目前9胜11负,位居第10名;山西汾酒队6胜13负,位居第15名。单从排名上看,山西队似乎不及浙江队,但两队实力不相上下,而且山西队还有心理优势,在山西队取胜的6场中,有一场就来自于浙江队。在主场,凭借罗杰斯的神勇发挥,山西队大胜对手,取得了主场首胜。联赛初期,浙江队屡战屡败,积分垫底。在裁掉大牌球星詹姆斯,召回上赛季的外援威廉姆斯后,球队找到了取胜的钥匙,成绩突飞猛进。而拥有3名外援的山西队实力其实并不弱,但由于种种原因,目前只取得了 6场胜利。用球迷王晖的话 来 讲 :“我悲伤的不是山西队屡战屡败,而是有实力却没有发挥出来。”从另一个角度来讲,山西队更多依赖外援的发挥,一旦外援状态正佳,可以战胜任何强队,否则,连佛山这样的弱旅也拿不下来。今晚,3名外援的表现直接决定着球队的胜负。春节前,杨学增入主球队后,全队空前团结,正呈现出上升势头。正月初二,全队集结后进行了恢复性训练,目前,球队士气旺盛,张学文用球星乔丹的话来激励自己:“我可以接受失败,但绝对不能接受自己都未曾奋斗过。”对于今晚的兔年首战,即便是客场征战,全队上下信心满满,都有取胜的决心。本报记者 王建光 6 | 体育 一场失利造就两大英雄 戈塔特:我会成为太阳领袖新浪体育讯北京时间3月29日消息,据《亚利桑那共和报》报道,周日比赛虽然输给小牛,但我们也看到了太阳可喜的变化。首发阵容中,球队主帅阿尔文-金特里一下换了两名队员,马尔钦-戈塔特和摇摆人贾里德-杜德利被委以重任。而事实上,两人的表现也没有辜负金特里的期望。杜德利在对阵小牛的比赛中,顶替文斯-卡特出任球队先发后卫。那场比赛,他共出战38分钟,得到20分,5个篮板,5次助攻和3次抢断的数据,表现十分抢眼。而相比较杜德利,另外一位晋升首发的戈塔特则更令人眼前一亮。出战41分钟,贡献20分,15个篮板和3次盖帽,这完全是全明星中锋的数据。能够顶替罗宾-洛佩斯出任首发中锋,这让27岁的波兰中锋十分兴奋。在比赛结束后,信心提升的戈塔特甚至在面对媒体采访时坦言,自己还有很大的上升空间,并坚信能成为这支球队的未来领袖。“我还有很大的提升空间,”戈塔特说,“从球队现在的情况来看,我确信这一点。虽然这听起来有些疯狂,但也许有一天我能成为这支球队的领袖,并成为这个团队的主要领导人之一,我认为这能大大提升球队的实力。”戈塔特赛季中期之所以选择从东部劲旅魔术转投太阳,很大一方面,他是看中能够坐稳太阳先发的契机。但实际上,来到球队之后,主帅金特里并没有对他充分的信任,而是继续选择洛佩斯来担任球队内线支柱。但随着洛佩斯本赛季状态低迷,而戈塔特则在近来替补登场后,屡有上佳表现,这让金特里的思想有些转变。终于在对阵小牛的比赛中,金特里大胆启用戈塔特,而这位波兰的白人内线更是用近乎完美的数据回报了教练和球队。“我不害怕挑战,我非常自信。我知道我仍然要在夏天努力提高自己的能力,尤其是背身内线单打的技巧。我会做好准备。”戈塔特对自己的未来充满信心。仅仅通过一场比赛,金特里就为处在岔路口的太阳找到了未来前进的方向,虽然输给了小牛一场比赛,但相比较他们得到的,太阳并不亏。(小林) 7 | 体育 专家预测最后9战6胜3负 火箭闯入前八概率只三成新浪体育讯北京时间3月29日消息,美国网站ESPN专家约翰-霍林格给出了他自己的季后赛出线预测,根据他的预测,主要竞争西部季后赛席位的几支球队晋级概率如下:开拓者96.3%、黄蜂93.0%、灰熊87.5%、火箭22.6%、太阳0.6%。换句话说,霍林格认为火箭晋级季后赛的希望已经不足三成了。霍林格的这项预测是基于各队目前的状况,以及随后的赛程。霍林格认为还有9场比赛没打的火箭,最佳战绩可能是9胜0负,而最差战绩有可能是1胜8负。最可能的战绩是44胜38负,也就是在这9场比赛中取得6胜3负的成绩。而霍林格预测火箭的竞争对手在常规赛结束后最可能出现的战绩分别是开拓者47胜35负,黄蜂46胜36负,灰熊46胜36负,火箭将以两场的差距无缘季后赛。应该说,这项分析还是合情合理的,除非有奇迹出现,否则火箭晋级季后赛的希望确实只有不到三成了。该项数据还给出了火箭打进总决赛的概率,是1.9%,而夺取总冠军的概率只有0.6%。当然,这些微小的概率只是理论上的,如果火箭连季后赛都打不进去,这些概率也只能成为大家饭后的谈资。再来看看其他球队的情况,根据这项数据预测,西部晋级总决赛概率最高的是湖人,达到23.7%,随后依次是掘金、马刺和小牛。东部晋级总决赛概率最高的是公牛,达到49.3%,随后依次是热火、凯尔特人和魔术。在夺冠概率上,公牛一马当先,达到了31.1%,湖人和热火平分秋色,都是11.6%。显然,在霍林格眼中,东部异军突起的公牛已经成为了夺冠第一热门,罗斯将带领他的球队走上芝加哥复兴之路,而热火和湖人依然是他们最强劲的竞争者。至于年纪稍大的凯尔特人、马刺,则不被霍林格所看好。(肥仔) 8 | 体育 东部冲刺观察:绿军放水太荒谬 年轻公牛冠军的心新浪体育讯尽管有安东尼、德隆东游,相对西部激烈的竞争环境,东部还是较为轻松,下面来看看东部季后赛形势。凯尔特人放水抢热火第三?凯尔特人近期表现低迷,11场比赛只拿到5场胜利,这还要考虑对手实力平平,所输的6个对手包括有快船、76人、篮网、火箭、灰熊和山猫,球队一度在末节领先13分遭山猫逆转,和森林狼一战球队同样在领先25分的情况下险些翻盘,最终3分险胜。于是有球迷开始揣测,凯尔特人近期输球是故意放水,力图避开尼克斯。笔者以为,这种说法有点可笑,至少欠缺逻辑。NBA有没有过选择对手而故意放水的前科呢?有!但这种情况只发生赛季结束前几天,而凯尔特人可能会提前20场放水吗?谁能这么早预料到尼克斯会下跌到第七位?即使是现在,凯尔特人也断无放水之理,请问,对一个以总冠军为目标的球队,是在季后赛开始前找回最佳状态重要,还是在首轮选择一个轻松的对手重要呢?在外界揣测凯尔特人“放水”之时,反倒是凯尔特人主教练道格-里弗斯对队员大发雷霆,大骂球员变得非常自私。或许有人会说凯尔特人去年也只是东部第四,但仍然打到总决赛,并认为主场优势并不重要,看看里弗斯怎么回答这个问题的:“去年他们休息,是因为他们满身伤病,但现在没有受伤,只是打得不好。主场无用?我们去年可是输掉了第七场(在客场)。”基本上,我们可以确定,凯尔特人、热火在接下来还会全力以赴争取第二的位置,这将决定谁在半决赛拥有主场优势。凯尔特人领先热火0.5个胜场,并且在双方交手中占据上风,因此凯尔特人仍旧掌握主动,剩下的10场比赛,凯尔特人还要打马刺、老鹰、公牛、热火、尼克斯几支队伍,热火队则相对轻松,只有凯尔特人和老鹰两支季后赛队伍,以凯尔特人现在的状态和赛程来看,热火甚至有可能拿到第二位置,关键在于凯尔特人需要多久找到赛季前半段的状态。公牛的季后赛能走多远?湖人在全明星赛后15胜1负,冠军之相毕露,东部队的公牛同样不遑多让,过去13场只输掉1场比赛,且是加时惜败,13场比赛场均净胜对手13.6分,包括40分屠杀国王,33分血洗老鹰,可以说,他们现在正处在巅峰状态,完全不逊色于15胜1负的湖人队。防守是公牛的取胜之道,3月份热火、魔术对阵公牛得分均为超过90分,更有四个对手得分未达到80分。现在公牛的状态可谓遇神杀神,或许公牛崛起的速度太快,以致人们一时无法接受他们是东部第一的现实,而不禁要问上一句,季后赛他们能够一黑到底吗?提出这个质疑之前,我们应该换位思考,凭什么质疑东部领头羊,战绩联盟第二的球队在季后赛走多远?战绩含金量?公牛在强敌交手中2-1领先魔术,3-0领先热火,1-2凯尔特人,2-0马刺,1-1湖人,2-0马刺。这还是布泽尔、诺阿总共缺席54场的情况下做到的。欠缺经验?经验确实能有一定的影响,但这种影响有多大?历史上新锐球队夺冠并不多,但这是因为新锐球队往往由于自身实力不足无法走到总决赛,况且开拓者就曾做到过队史首次季后赛之旅即夺冠,湖人选来魔术师便夺魁的先例。仅仅因为公牛太年轻,显然不足以动摇他们的夺冠企图心。公牛并非是一支依靠罗斯、布泽尔、诺阿、洛尔-邓打天下的队伍,要知道他们的替补场均净胜分在联盟高居第二,仅次于小牛队。吉布森、托马斯、阿西克、布鲁尔等人总能打出比首发阵容更恐怖的防守效率,这是一支防守理念深入骨髓的队伍。东部第一并不能保证公牛队杀出东部甚至夺冠,但起码在被淘汰之前,他们不应该承担比其他夺冠热门更多的质疑。谁能抢到老八?相对火箭愈战愈勇却可能无法进入季后赛,东部这边则似乎在拼谁比谁犯错少。目前的东部抢八战中,步行者、山猫、雄鹿是主角。步行者32胜42负位列第八,领先山猫1场,领先雄鹿2场,但步行者接连输给国王、活塞。两场比赛总共只得到181分,丢掉210分,接下来还要迎战凯尔特人、黄蜂、老鹰、尼克斯、魔术以及季后赛竞争对手雄鹿。山猫近期遭遇过6连败和4连败,原本季后赛无望,但由于步行者的输球以及奇迹般的战胜凯尔特人和尼克斯,季后赛看起来并非奢望,然而剩余赛程同样不轻松,两战魔术,还要对阵老鹰、雄鹿。雄鹿同样要和魔术、热火和雷霆各打一场,好消息是,如果收官日西部四五位排位已定,雷霆很可能会选择放水。尽管从赛程上,步行者最为艰难,但步行者已经横扫了山猫,这意味着步行者对两支球队起码拥有2个胜场的优势,在剩余场次只有8-10场的情况下,胜场差比赛程更重要。(木瓜丁) 9 | 体育 两记钉板大帽!阿联速度不逊控卫 看傻斯隆继任者新浪体育讯华盛顿奇才100-95战胜犹他爵士,易建联拿下6分5个篮板,还有2次盖帽。上半场易建联攻防两端都没有什么表现,但没有想到的是下半场重新上场之后惊喜不断。第三节剩下最后1分钟,乔丹-克劳福德外线投篮不中,易建联冲到篮下补篮,但是同样未能命中。艾尔-杰弗森一把抓下篮板,厄尔-沃特森得到皮球之后飞奔发动快攻。奇才的退防非常慌乱,尽管这些年轻球员退的很快,但是手忙脚乱之下让沃特森直取篮筐。而这并不是易建联唯一的钉板大帽表演。第三节最后时刻,易建联吃到个人第四次犯规下场,第四节他再度披挂上阵,尽管犯规危机让他背上负担,但是关键时刻他依然不含糊。第四节剩下8分55秒,爵士再度发动快攻,持球队员换成了罗尼-普莱斯,而奇才篮下大锁还是易建联。科尔宾肯定不相信自己能在4分钟之内在同一个地方栽倒两次,但是,易建联的巴掌告诉他:没有不可能。可惜此后易建联再次被犯规困扰,德里克-费沃斯上场之后,给易建联送上犯规大礼,比赛剩下3分半钟时,易建联领到自己第六次犯规,不得不下场休息。整个爵士队内,也只有基里洛-费森科比易建联高,尽管易建联和贾维尔-麦基的内线得分能力都一般,但是面对内线海拔偏低的爵士,他们依然能够利用自己的身高以及灵活机动的特点给对手造成麻烦。尽管麦基疲态尽显,今天再无劲爆表演,但是他还是拿下11分16个篮板,另外还有3次盖帽,足见在面对爵士时,长人有多么吃香。不过麦基今天并没有在防守方面发挥出自己应有的实力,反倒是易建联的盖帽表演更加精彩。只可惜受到犯规困扰,关键时刻易建联不能呆在场上,差点坐看奇才痛失好局。(春水方生) 10 | 体育 勒布朗准备重返克城作战 皇帝:胜骑士让我们腾飞新浪体育讯北京时间3月29日 上一次勒布朗-詹姆斯回到克利夫兰打球,整个热火上下是如临大敌。保安、戒严,这种常见于各国领导人出访的字眼一时间是层出不穷。据《太阳哨兵报》消息,明天再次回到快贷球馆,状况还会一样吗?詹姆斯还会像上次一样纠结吗?“不可能比第一次更糟了,”詹姆斯说,“这点我很确定。”在上一次前往克利夫兰的比赛中,詹姆斯拿到了38分,亲手将旧东家打入谷底。在那场比赛之前,热火战绩是11-8,骑士是7-10,两队差距并不明显。而眼下,热火战绩是51-22,高居东部第三,骑士则是14-58,东部垫底。“那场比赛之后,”詹姆斯回忆说,“我们就开始腾飞了。”不过,和上一场比赛相比,明天的比赛还是有些不同的。“上一次是背靠背,这次不是了,”詹姆斯说,“这次我会有机会回家看看,和老朋友叙叙旧,和家人多待一会,多陪陪我的孩子们,我已经有很长时间没在家里待过了。”不仅是詹姆斯,就连队友也对这次交手大感轻松。“上次的时候,他们弄了电视特别节目,搞的我都不能看电视,”克里斯-波什说,“每个频道,都有关于勒布朗造访克利夫兰的消息。这次不同了,应该会更有趣,我也能看电视了。”其实,在詹姆斯造访克利夫兰之后,热火和骑士还有过两次交手,不过都是在迈阿密,而骑士不出意外地两场尽墨。“我们很会严肃地对待这场比赛,”骑士新交易来的后卫拜伦-戴维斯说,“不会有任何大意的,我觉得每次碰上热火,气氛总会与众不同。”不过,对骑士方面发出的宣言,热火也是毫不含糊,“我们的职责就是力挺勒布朗,所以我们对待骑士不会有任何区别的,我们要让球迷为我们疯狂。”德维恩-韦德说。客观地说,指望骑士现在能击败热火,显然不现实。不过,詹姆斯回城,这倒有可能帮助骑士多卖几张球票。除此之外,骑士还能有啥期待呢?(XWT185) 11 | 娱乐 华语电影组团战金狮 威尼斯影节刮“中国风”水城今年将刮起一阵“中国风”。主竞赛单元有3部华语片,在展映单元、威尼斯日单元、地平线单元均可见华人身影。程小东执导的《白蛇传说》将在威尼斯展映;娄烨的新作《花》揭幕威尼斯日单元,赵涛主演的意大利影片《孙丽与诗人》也入围该单元;中国导演徐浩峰的导演处女作《倭寇的踪迹》入围地平线单元,贾樟柯导演担任该单元的评委会主席。这份名单让不少热爱华语电影的影迷们为之一振。相比起在戛纳电影节颗粒无收的惨淡状况,华语电影这次可谓兵强马壮,不少影迷期盼华语片可以在水城一雪戛纳“打酱油”之耻。不过,细心的影迷不难发现,“华语军团”看似强大,内地电影人的贡献却甚微。尤其是在主竞赛单元,在入围的三部华语片中,没有一部是内地导演的作品。许鞍华和杜琪峰这两位导演被称作“坚守香港最后一道防线”的导演,两部入围作品均是香港本土题材。杜Sir的《夺命金》更是一部纯粹的银河映像港产片。许鞍华导演的《桃姐》虽为合拍片,但从电影的阵容和故事上看,仍是一部港味十足的电影。台湾导演魏德圣从《海角七号》开始,目光就锁定在台湾本土情怀上,新作同样不例外。《赛德克·巴莱》即使在制作团队上有多方的力量参与,但都是来自台、日、韩的技术支持。从竞赛单元名单看,不少大师级的作品和本年度颇受瞩目的电影都位列其中,华语片虽然人多马壮,但强敌林立,擒狮之路可谓困难重重。不过,在上半年的两大国际电影节上(柏林、戛纳)华语电影集体失声后,华语军团的水城之行即使无法挽回颓势,起码也让关心华语电影的影迷们有所期盼。许鞍华终圆“水城梦”●作品:《桃姐》(ASim pleLife)●导演:许鞍华●主演:刘德华/叶德娴/秦沛●入选单元:主竞赛单元许鞍华的作品一贯充满了对社会现实的细腻关注。这次她继续把视角集中在都市小人物身上,将昔日T VB剧集中的母子档———刘德华和叶德娴搬上大银幕。《桃姐》这部电影讲述一位生长于大家庭的少爷Roger(刘德华饰)与自幼照顾自己长大的家佣桃姐(叶德娴饰)之间所发生的一段触动人心的主仆情。许鞍华是香港金像奖和台湾金马奖的常客,在国际电影节上也屡有斩获,1994年她就以《千言万语》被提名过柏林电影节的金熊奖,《女人四十》曾夺得了1999年柏林电影节的竞赛奖。2003年,她还曾担任威尼斯电影节评委会成员。但她的作品一直未获威尼斯肯定。此次凭借《桃姐》入围,许鞍华十分惊喜地说:“我一直跟自己说,希望退休之前有作品可以入围戛纳或威尼斯影展。现在终于给我等到了。”她表示,“《桃姐》以叶德娴为重心,但希望外界别给她太大压力,大家抱着支持香港电影的心态去看这部作品,就最完美不过了。”该片主演刘德华则表示:“《桃姐》是一部地道的香港题材电影,它的入围可以给更多香港情怀的作品及地道的香港制作带来鼓舞和信心。加油!香港电影!”威尼斯电影节主席马可·穆勒坦言,今年7月看完片后就深受感动,并第一时间通知许鞍华参加竞赛。许鞍华得以一圆水城梦。这部电影在一向重视人文艺术类电影的威尼斯电影节里具有一定的竞争力。杜琪峰三战威尼斯●作品《夺命金》(Lifew ithout Principle)●导演:杜琪峰●主演:刘青云/任贤齐/何韵诗●入选单元:主竞赛单元杜琪峰这部拍拍停停、耗时两年的黑色写实主义电影总算搭上了威尼斯的末班车。刚一杀青,后期都没完成,该片就火速进入了主竞赛单元的名单。这部电影讲述的是银行职员Teresa(何韵诗饰)、黑帮中人三脚豹(刘青云饰)及警队督察张正方(任贤齐饰),因一宗离奇劫案而串连起来。杜琪峰表示,这部电影意在展现这个动荡世界中的残酷生存游戏。个人风格强烈的杜琪峰早已是威尼斯的老朋友了。此前,杜琪峰分别有2007年《神探》、2006年《放·逐》参加竞赛单元,2004年《柔道龙虎榜》曾在威尼斯作为非竞赛作品进行展映。遗憾的是,之前三次闯水城都失望而归。这次再冲击金狮奖,杜琪峰仍对此行表示期待。杜琪峰和银河映像早已成为一众影迷心目中有品质、风格独特的代名词。《夺命金》的硬冷风格也是威尼斯电影节一贯喜爱的口味。魏德圣直奔金狮●作品《赛德克·巴莱》(SeediqBale)●导演:魏德圣●主演:马志翔/徐若?●入选单元:主竞赛单元2008年一部《海角七号》让魏德圣一战成名,名利双收。他并没有在成功的喜悦中停留太久,而是以最快速度用赚来的全部身家外加向周杰伦借来的4000万台币投入到《赛德克·巴莱》的拍摄中。这部电影堪称台湾的“大制作”,花了十二年的筹备、耗时十个月拍摄、动员了两万人投入拍摄。它反映的是台湾原住民种族赛德克族上世纪30年代反抗日本殖民者的著名的“雾社事件”———1930年,台湾在日本统治之下,原住民赛德克族马赫坡社头目莫那·鲁道,率众反抗日本政府而发动雾社事件。除了周杰伦的资金支持外,徐若?也以零片酬出演来支持魏德圣。在电影拍摄过程中,剧组遭遇过3个月没有发薪水、拍摄外景时遭遇水灾等等的困境。在经历千辛万苦之后,这部史诗式的电影终于杀青。剪接完毕的版本分为上下集,总片长达到4小时20分钟。魏德圣说,实在无法下手剪,因为每一帧都是重要的剧情。而进入威尼斯主竞赛单元后,魏德圣听取马可·穆勒的建议,将电影剪辑成135分钟,并且不分上下集。第二部长片就有机会角逐金狮,入围已经是对魏德圣的充分肯定。他的身上同时也寄托了很多台湾电影人的期望。有分析人士预测,在主竞赛名单中史诗电影缺席的情况下,《赛德克·巴莱》勇夺金狮的可能性也不小。其他华语力量《白蛇传说》由杨子出品,崔宝珠监制,程小东导演,李连杰、黄圣依、林峰、蔡卓妍、文章主演的《白蛇传说》入围展映单元,影片出品人杨子获悉电影入围竞赛单元的消息后,非常高兴,表示将邀请李连杰以及全体主创一起亮相电影节,并准备举办《白蛇传说》全球大型首映活动。如果这次李连杰可以出现在威尼斯的红毯上,也将是这位功夫巨星近十年来首次亮相国际顶级电影节。《花》娄烨执导的新片《花》(L oveandBruises)将为今年的第67届威尼斯国际电影节“威尼斯日”竞赛单元揭幕。《花》一片其实并非华语片,而是由娄烨执导的法语电影,片中男主角由凭《预言者》获得恺撒影帝的塔哈·拉希姆担纲,女主角则是一位华裔法国演员。中国演员赵涛出演的意大利电影《孙丽与诗人》也入围“威尼斯日单元”。《倭寇的踪迹》中国导演徐浩峰的处女作《倭寇的踪迹》成功入围地平线单元,成为该单元的唯一一部华语电影。《倭寇的踪迹》讲述的是明朝一把有着真实历史背景的战刀从军营流落到江湖后的传奇故事。导演徐浩峰此前的公开身份是小说家,他也是王家卫新片《一代宗师》的编剧之一。地平线单元的评委会主席为中国导演贾樟柯。(南方都市报) 12 | 娱乐 庾澄庆刘若英《星空》扮失和夫妻上演离婚战新浪娱乐讯 庾澄庆(微博)和刚闪婚嫁富商的刘若英(微博)近来在电影《星空》里扮“假面”夫妻,他虽不是首次跨足电影,但片中为保护女儿徐娇,努力塑造家庭美满的假象,彷佛戏如人生,其中一个向徐娇宣告离婚的镜头,他迟迟无法说出“离婚”2字,最后交由奶茶开口,一度拍到鼻酸泛泪。庾澄庆这回跟刘若英是对失和夫妻,2人不时上演火爆戏码,刘若英朝他砸东西,吵到激烈处甚至摔破鱼缸,原本剧组怕不成功,准备多个鱼缸备用,没想到一次完成,庾澄庆笑说:“我不是专业演员,但奶茶很容易让我融入情境。”疼惜剧中女儿徐娇他片中为不让女儿受伤害,拚命维系婚姻假象,最后仍破功,夫妻俩向女儿宣布离婚消息,台词不多,却让他特别有感触,拍摄时数度红了眼眶。庾澄庆向来给人温柔好爸爸形象,这次拍戏也很呵护徐娇,为拉近“父女”关系,还请她吃饭谈心。 13 | 娱乐 微博联播:王晶斥《无价》过度炒作 与宣传大吵点击进入导演王晶的微博>>>>新浪娱乐讯 8月19日上午,欢乐传媒宣传推广总监廖宝军发微博指,张柏芝未携子Lucas出席电影《无价之宝》的内地宣传活动,属于违约,并表示已经送律师函给张柏芝,但“违约”和“已发律师函”的说法均遭张柏芝经纪人否认。19日晚,该片导演王晶(微博)也发微博指《无价之宝》宣传方过度炒作:“炒完霆锋炒柏芝。”更与宣传人员大吵。19日上午,廖宝军发微博指,张柏芝未携子Lucas出席电影《无价之宝》的内地宣传活动,属于违约,并表示已经送律师函给张柏芝方面。随后张柏芝经纪人通过新浪娱乐称,张柏芝已参加过一次内地宣传,且合约中并没有要求Lucas来内地宣传的内容,也未收到律师函。而此前,《无价之宝》也传出谢霆锋要求删减Lucas戏份的消息,此说法被导演王晶否认。19日晚21:08,王晶也发微博指宣传方此举是过度宣传:“宣传人员连炒两条消息,炒完霆锋炒柏芝。”让他“反感”及“鄙视”,更自曝与宣传人员吵了一架。截止20日上午10点10分,该微博已被转发235次,评论331条。 周文韬/文点击进入微博联播微博 14 | 娱乐 《巴黎宝贝》首映邓超获封“三好爸爸”(图)邓超在片中饰演中国留学生Leo,并因“捐精”意外当上爸爸。生活中即将升为人父的他也借此见习了一把当爹的酸甜苦辣,在片中与女玩起了“猫和老鼠“的游戏,“因为只有她认同我是她爸爸,我才能留下来,所以我就像猫一次次接近这只老鼠,结果被她整得一塌糊涂。”谈及“爱女“纽扣,邓超坦言对她很是喜爱,“我很喜欢孩子,纽扣把我当爸爸,我也把她当成女儿。”纽扣则以一张“三好爸爸”的奖状为“外语好、厨艺好、脾气好”的邓超爸爸打出高分。为了迎接即将出世的宝宝,邓超表示已停工数月陪伴孙俪,“我主要的工作都停下来了,几个月都没有工作,只是宣传。”而照顾孙俪有什么心得,他则认为:“不用照顾,做好每一天就行。”另外值得一提的是,在首映红毯上,导演王菁携片中外籍演员珍·玛琪、多米尼克亮相;明星情侣李小璐(微博)、贾乃亮(微博),于荣光、李幼斌、马景涛(微博)及编剧海岩等也纷纷前来为影片助阵。覃覃/文 郑福德/图 邹建 冯冰洋/视频 15 | 娱乐 甄子丹获好莱坞力邀 悠闲度假暂未决定新浪娱乐讯 北京时间8月21日消息,据香港媒体报道,甄子丹(微博)近日获好莱坞“吸金”监制Avi Lerner诚邀演出《轰天猛将2》,除与国际影星布鲁斯-威利斯及阿诺-史瓦辛格等一齐担任男主角外,更获片商度身订造角色,不过甄子丹虽然大把剧本在手,却仍在度假中暂未决定是否接拍。甄子丹休息半年片约仍如雪片纷飞,早前他抽空到美国探望家人,更获正在筹备十月开工的好莱坞大片《轰天猛将2》投资方及监制Avi Lerner邀请饭聚,称很想邀其合作。饭聚双方言谈甚欢,对方承诺为甄子丹度身打造角色,加上《轰》片首集全球收二亿七千万美元票房,又有布鲁斯-威利斯及阿诺-史瓦辛格,以及李连杰(微博)等大腕助阵,对甄子丹来说可谓信心保证,不过由于甄子丹手头上还有其他剧本同时正在洽谈中,暂时拿不定主意。甄子丹子丹重游中学校园,雀跃不已。记者昨联络上甄子丹公司的张小姐求证,她响应说:“是有这样的事,不过甄子丹不会因为是好莱坞片就优先,最紧要是看剧本吸不吸引。”谈到早前有报道提及甄子丹接下来的片约及工作档期,张小姐不讳言:“目前只有黄百鸣(微博)的贺岁片是签了约的。”强烈否认想演杨家将对于有传古天乐(微博)辞演《忠烈杨家将》后,甄子丹对该角色虎视眈眈。张小姐强烈否认,称甄子丹本身要选的剧本已经好多,他根本一点兴趣也没有,整件事好荒谬。至于上月的美国探亲之旅,甄子丹过回普通人生活,要求太太开车,带他重游儿时的故居,以及曾入读的中学校园。他禁不住兴奋,不时拍照留念及自娱,期间更在校园内跳跃及翻筋斗,恍如大小孩。(苗菲) 16 | 娱乐 邓超:孙俪让我生活规律 正考虑给孩子起名新片《巴黎宝贝》8月25日即将上映,邓超首次在大银幕上挑大梁主演喜剧。影片在北京、上海、广州等地提前试片,多数女性观众在观影后都表示很喜欢邓超在片中塑造的搞笑奶爸角色。虽然试片是放映的普通话版本,但片方透露在广州上映时会有不少影院放映英文原版。届时,大家可以在大银幕上看到邓超首次全英文出演的效果。由于妻子孙俪正在待产,邓超除了宣传即将上映的新片《巴黎宝贝》和《画壁》外,大部分时间都用来陪伴妻子。本月26日,邓超还将来到广州与数家影院的观众“亲密接触”。此前,他接受了本报记者的电话采访,聊巴黎,聊宝贝,原来“准爸爸”拍完这场戏已积累了颇多与孩子交流的心得。文/记者 周昭邓氏交流秘诀:几句英文“打”遍欧洲广州日报:用英文来演戏对你来说难吗?邓超:很难。比如我现在跟你说事,怎么说你都能懂。但是变成英语,说实话我不知道自己有没有说明白。广州日报:知道《巴黎宝贝》是全英文对白时有没有想过放弃?邓超:我放弃过,但是朋友鼓励我说没问题,投资方海润的老总也特意打电话跟我聊这个问题,他说他很喜欢这个故事,觉得很独特,看完剧本就和导演王菁定了我来演。我看过剧本之后也确实觉得很不一样,包括他们提出的理念,拍摄的方式和很多情感的表达方式都和我们现在银幕上常见的不太一样,所以我特别想尝试一下。广州日报:这部影片是在法国拍摄的,剧组很多演员也应该是讲法语的。用英文拍摄对他们是不是也是个难题?邓超:是,法国人说英语也不多,而且他们说英语你也听不懂。我觉得欧洲都这样,反正我去欧洲就三四句话,但是基本能打遍欧洲。知道是哪几句吗?一句是:so good,so great。这样,你一上来先把人拥抱住,抱懵了,然后说:you are beautiful或者ok或者very good、very nice……再然后呢,就拿着杯子点头:yeah!不会说赶紧看别人。如果实在听不懂就转身自己喝起来。(笑)广州日报:在巴黎拍戏好玩吗?邓超:好玩儿,我之前说过很多次要去那个地方,这次能待这么长时间,很有意思,而且我们每天在那里都是日戏,没有夜戏,我们在那里全都是外景,所以确实是看了很多很多,很多梦寐以求想看的、期待看的,还有很多意外看到的。广州日报:拍这种片子会不会感觉顺便就当旅游了?邓超:没有没有,拍这个戏实在是太困难了,口语整得我快成口吃了,这是一块儿很大的心病,真的是到拍完那天,确定没有英文台词了,心中的石头才落下来。但问题是还要配音,你想……我是一个很较真儿的人,就会给自己预支这种压力——如果你说不好怎么办?如果因为你耽误进度怎么办?你在现场就是说不出来怎么办?所以内心很纠结。广州日报:片子即将上映,会不会担心你的英文不被观众接受?邓超:这个我倒不担心,我觉得我已经试图用说中文的自如状态去说英文,只是口语方面可能还有欠缺吧。邓氏带孩子秘诀:完全是一场猫和老鼠的游戏广州日报:拍这部戏除了语言上比较困难之外,听说跟小孩子拍戏也挺困难的。邓超:其实不困难,“纽扣”(对同剧组童星刘宸希的昵称)非常优秀。在片中跟她相处完全就是猫和老鼠的感觉。我不知道这样形容准不准确,这个电影一开始就是猫和老鼠,做“老窦”刚开始被孩子控制得一塌糊涂。我觉得很有意思,初时会觉得我演的角色LEO是孩子的爸爸,但他居然能那么狠地对孩子,那么不负责任,那么不懂事儿,用中国的传统视角来看LEO,就会有很多不合时宜的地方,但到了影片最后的时候你就会看到一个男孩到男人的转变。当然我觉得他依旧还是会男孩气下去。但是在机场重聚的那一刻,那个感动和成长是很重要的。跟“纽扣”拍戏并不困难,她很神奇,会自己酝酿情绪。演父亲感觉很奇妙广州日报:你是怎样跟刘宸希交流的呢?邓超:我真的试图把她当做自己的女儿,而她也试图把我当做自己的爸爸。我们两个拍戏的时候老是黏在一块儿,她动不动就说“爸爸亲亲”。她爸爸就在旁边,我还问她爸爸会不会吃醋呢。她总是远远地就跑过来紧紧地抱着你。感觉很窝心。广州日报:如果搭戏时刘宸希哭,有办法哄她吗?邓超:会哄。“纽扣”比常人更懂事儿,她爸爸也会在旁边“威逼利诱”。我们其实都很理解她,她有时候会想念幼儿园的伙伴、玩具。总的来说她已经是很懂事了,有时候累了就睡了。面对这些情况,我觉得我特别能体会小孩子的心情。广州日报:戏拍完了还会跟刘宸希保持联系吗?邓超:会啊。广州日报:因为你本人也即将为人父,这次拍摄《巴黎宝贝》有没有一种见习做父亲的感觉?邓超:这个纯属巧合,感觉很奇妙。因为戏里面的角色就是一个不知道自己当了父亲的男孩要学会怎么去当父亲。广州日报:对于即将出世的孩子,你会不会常常想象他(她)长大了会是什么样子?邓超:有,但不强烈。我希望他(她)自己的独立性强一点。因为我们这代人受到溺爱比较重,导致我们真的去面对很多事情的时候没有足够的勇气和能力去处理,如果一个人的一生不能认识自己的价值或自己明白一些东西,那真是白活了。我希望他(她)享受每一段时间,比如童年。我一定要让他(她)快乐,其实家长是他的一棵树,仰着头看着爸爸妈妈怎么做事怎么说话。正考虑给孩子取啥名广州日报:即将做爸爸了,是什么样的心情?邓超:很多人问我紧不紧张。真的不紧张,都是很自然的事情。不说只是希望大家不要觉得这是一件不自然或需要加重色彩的事。孩子也要有自己的空间成长,需要最单纯的成长环境。我们现在要做的事情也就是想想该取个什么样的名字,把该准备的准备好。广州日报:有人说结婚之后,男孩变成男人,做父亲能让男人变成成熟的男人,你认同吗?邓超:我觉得没必要分,本身就是一个人,男人的生命就是混搭型的,我80岁的时候也会有男孩的一面。不需要一个明确的界限。经历得多了,生活的课堂一课一课给你上得越来越多,但是我永远都会是一个大男孩,就算满头白发时,也是一个老开心果,我也希望我的孩子开心,好好享受每一天,好好成长。广州日报:孙俪带给你最大的改变是什么?邓超:她让我从一个月亮男孩变成了太阳男孩。起居很有规律,生活习惯变得很好,七八时就起床,然后慢跑,锻炼身体。 17 | 娱乐 《光棍终结者》开机 主创为剩男剩女支招新浪娱乐讯   8月21日,由赵非执导,李艾,周晓欧,罗家英(微博),赵英俊、周纬彤等联袂主演的都市爆笑喜剧片《光棍终结者》在北京举行开机发布会,并高调宣布该片将要进驻2011年11月11日这百年一遇的“世纪光棍节”档期,欲终结天下所有的光棍的孤单。而主创们也现场为剩男剩女们支招。为剩男剩女支招导演赵非表示,拍这部喜剧片初衷就是希望能教大龄单身男女摆脱孤单:“有关情感的故事也是非常能引起人们共鸣的”。说到对单身男女寻爱的建议,尚未脱离光棍行列的主演李艾李艾也为现在相亲的人们支了一个“狠招”:“我觉得女方还是要尽量素颜,或者朴素一点。就是说如果男生能接受你那样算是最差的一面,那以后肯定也不会有‘退货’的情况发生”。导演赵非则说:“找另一半有很多方法,可能每个人的方法也都不一样。但就我个人感觉,‘真心’和‘坚持’是能‘抱得美人归’的良药”。周晓欧作为这次演员阵容里唯一的“非光棍”,登台后也被主持人问到有何追女生的办法?对此,他满脸疑惑,“我认为这件事对我来说已经不行了,因为12年前我就结了婚。这种问题应该去问年轻人,像我这样的的确没什么想法”。李艾自曝曾相亲赵非导演开玩笑的透露,剧组大概统计了一下,约有2/3的人都是光棍,既有男光棍也有女光棍,而拍这部片子的同时,剧组也给所有人下了任务,努力在光棍节影片上映前终结单身,“随手拍片解救光棍青年”。而李艾被问及在工作之余,私下是否曾与异性相亲过,她说:“有啊,以前妈妈为我安排过(相亲)。可还是缘分没到吧,自己也实在是太忙,现在仍然是一个人”。近年来在荧屏上涌现了许多的相亲节目,这也直接为许多“剩男剩女”们找到了各自的爱情。李艾是否也曾考虑过参加这类节目?李艾笑着回应:“当然没有啦!而且如果就我这种艺人身份去上节目,肯定会让人感觉不真实。”范晨/文 18 | 娱乐 《南京!南京!》东京公映 观众称需要反省历史8月21日,中国电影《南京!南京!》在日本东京首次公开上映。上映地点在远离市中心的中野车站附近一个有550个座席的剧场。本报记者赶到剧场时,警察已开始在周围布岗。《南京!南京!》放映的主办方是一个民间团体“守护史实会”,其事务局长熊谷伸一郎告诉记者,两年来他一直为这部电影在日上映努力。“电影发行公司都不愿做代理发行,原因是担心右翼团体捣乱。右翼团体也并未看过这部电影,阻止上映的原因很简单:唯恐暴露日本的耻辱和污点。”目前这部电影在东京仅上映两场,熊谷伸一郎说:“商业发行上映不能实现,我们就自办上映。由于没有钱登广告,影片宣传是在网上展开的。我们希望今后在日本实现这部电影的商业发行。”第一场电影放映是在12时30分,观众提前半小时入场。然而电影海报只能在11时以后才能张贴在剧场门前。记者看到,时近12时,剧场门前已经站满了人。到电影开始上映时,剧场内已座无虚席。邻座的铃木先生对记者说:“我曾经以为这是一部反日电影,现在看来这是一部精心制作、发人深省的影片,也是一本上乘的教科书。它让我们去思考日本人是什么样的,战争是什么。”正在护士学校读书的女学生竹村说:“这是一部沉痛的影片。我的爷爷参加了南京的屠杀。他生前很少说话,但他去世前说的话令我至今难忘。他说战争能把人变成野兽。在影片中看到的一些场面,正像我爷爷说的那样。”从?玉县来的山口女士说:“今天看了这部影片,深受启发。听说这部影片在中国引起讨论,其实我们日本人更需要讨论和反省历史,不能再重演战争悲剧,要与邻国和平友好地相处。”影片放映后,导演陆川(微博)与观众举行了对话会。有观众问:“经常有日本政界人物否认南京大屠杀,导演怎样回答他们?”陆川回答说:“我希望他们看看这部电影。关于影片中的日本人,我阅读过当年日本兵的家书、日记和当时日本人拍摄的4万张照片。影片的情节都是历史事实,我没有进行创作。德国人在战后向犹太人诚心道歉,赢得了世界的尊重。伟大的民族并不意味不做错事,而在于勇于承认错误。”陆川的回答赢得了在场观众的阵阵掌声。还有观众问:“影片中有日本兵击鼓跳舞庆祝胜利的场景,请问导演的意图是什么?”“战争中利用文化也是历史事实,例如德国的游行唱歌等。统治者用文化控制民众,让他们做可怕的事情。舞蹈和仪式等像酒精,麻醉不能正确判断是非的普通人。我希望提醒观众自问:你是不是清醒的、独立思考的人。”陆川导演向日本观众说:“这部电影已经在中国、美国和欧洲国家上映。日本应该是这部电影旅程的终点。但今天的上映不是画上句号,而是新的开始。” 记者 于青(人民网东京8月21日电)  19 | 娱乐 《窃听2》热映 导演称古天乐叶璇有“夫妻相”新浪娱乐讯 由尔冬升监制、麦兆辉、庄文强(微博)执导,古天乐(微博)、刘青云、吴彦祖、叶璇(微博)、黄奕(微博)领衔主演的《窃听风云2(微博)》正在全国各大影院热映,更每日打破暑期票房纪录,捷报连连。古天乐、叶璇作为贯穿影片的关键情感线索,在片中结成夫妻,共同演绎了一段爱恨纠缠的悲情绝恋。而叶璇作为片中的“红花”,演技更是丝毫不逊于三大“型男”主演,导演麦兆辉更是称其与古天乐很有“夫妻相”。古天乐叶璇演绎“虐爱夫妻”古天乐与叶璇饰演的这对夫妻将成为贯穿影片的关键线索,这场欲罢不能、令人绝望而缠绵的感情戏是本剧的一大看点。督察何智强(古天乐 饰)刚直不阿,将金融犯案的妻子(叶璇 饰)亲手送入监狱。妻子出狱后,仍然对当年的事情耿耿于怀,两个人明明彼此倾心却又欲爱不能,直到何志强不顾自身安危解救妻子于危难之中时,二人才真正抛开过去的心结,流下掺杂感动与喜悦的泪水……古天乐与叶璇的心理暗战桥段紧张刺激,紧紧抓住了观众的眼球。其中叶璇的演技大爆发让人眼前一亮。片中有一幕,叶璇虽然是在笑着说台词,观众却能直观的感受到她内心的痛苦,足以可见其扎实的表演功底。特别值得称道的叶璇的哭戏,在片中她时而啜泣,时而嚎啕,不仅被老公古天乐赞“哭功”了得,就连编剧兼导演庄文强也忍不住开玩笑表示,叶璇的“反复无常”常常让他措手不及,“前一秒还在笑,后一秒就马上大哭”。而在这在这部男人戏中,叶璇的出现并不只是点缀,更堪称“锦上添花”。 更有网友观众称,“个人偏爱的古天乐和叶璇的感情线昙花一现般灿烂,剧本再深化一些更好,别浪费了两人声泪俱下的好演技啊!”导演称古天乐叶璇有“夫妻相”此次在《窃听风云2》中饰演夫妻的古天乐与叶璇并不是第一次合作,此前二人曾在杜琪峰监制的影片《意外》中大演对手戏,叶璇还凭借此片荣臻香港电影金像奖。当时首次合作的二人惺惺相惜,双双期待能够再度银幕携手。如今二人在《窃听风云2》中再续前缘,可谓“心想事成”。从“黄金拍档”变“虐爱夫妻”,二人的默契程度有增无减,古天乐在接受媒体采访时更形容叶璇的演技令人惊艳,叶璇则称赞古天乐在片中的表演内敛生动、层次分明有致,是非常优秀的男演员。而导演麦兆辉称,之所以找叶璇来演古仔的妻子,正是觉得二人很有“夫妻相”:“我看过《意外》之后,觉得他们做拍档不做夫妻太可惜,事实证明我果然没有看走眼!” 20 | 娱乐 历届华表奖新人浮沉录:曾经新丁今何在?新浪娱乐讯 近日,第十四届华表奖十八个奖项提名名单公布,其中入围优秀新人演员奖的不仅有已经凭借在电视剧领域的出色表现而积攒下超高人气的文章(微博),还有一出道就头顶谋女郎的光环,让人不关注都不行的周冬雨(微博),以及凭借电影《80’后》获得一定知名度的刘冬(微博)。纵览华表奖历届新人奖入围名单,有人出道至今未获得新人奖,却并不能阻碍他们的成名之路;有人笑捧华表,并以此为杠杆,撬动更辉煌的前程;当然也有人拿下优秀新人之后就湮没无闻了。曾经的小星星们如今星途如何?不妨来盘点一下。入围新人奖开启明星之路代表人物:章子怡(微博)、范冰冰、周冬雨、刘冬章子怡早在2000年的时候,章子怡便与华表奖结下了不解之缘。当时,章子怡凭借老谋子的转型之作《我的父亲母亲》入围了华表奖优秀新人女演员奖,虽然最终与此奖项失之交臂,但随后章子怡接连出演由李安执导的《卧虎藏龙》和成龙(微博)电影《尖峰时刻2》,这两部既卖座又叫好的大片一经上映,章子怡迅速蹿升至一线女星行列,风头一时无两。随后章子怡又连续出演老谋子的《十面埋伏》和陈凯歌(微博)导演的《梅兰芳》,凭借在这两部大片中的精彩演出,章子怡连夺第十一届和第十三届华表奖优秀女演员奖,正所谓失之东隅,收之桑榆。范冰冰范冰冰也曾凭借电影《手机》获得华表奖优秀新人女演员奖的提名,虽最终未曾获奖,但这丝毫不影响大家对她的肯定。之后,范冰冰更是获得了东京电影节最佳女主角奖、大众电影百花奖最佳女主角奖等一系列国内外奖项。有意思的是,范冰冰虽然没有拿过华表奖,却因为她在电影事业上做出的努力而获得了成为开奖嘉宾的资格。在第十二届华表奖上她受邀与著名导演陈可辛一起,颁发典礼的重头大奖“优秀女演员奖”,为她的好朋友李冰冰(微博)和前辈丁嘉莉开出了大奖。周冬雨凭借着饰演张艺谋执导的电影《山楂树之恋》中“静秋”一角而一炮走红的周冬雨也入围了本届华表奖的优秀新人女演员奖,虽说鹿死谁手还尚未可知,但可以断言的是,在华表奖的红毯上,这位年纪轻轻的“谋女郎”必将是各大媒体竞相追捧的对象。华表奖颁奖典礼被定在8月28号,而3天后的8月31号便是各大院校开学的日子,对于顺利考入北京电影学院表演系的周冬雨来说,也算是一个重大的日子,那么这会不会将是周冬雨的又一次“双喜临门”呢?让我们拭目以待。刘冬凭借电影《80’后》入围华表奖优秀新人女演员奖的刘冬算是演艺界的新人。在拍摄完《80’后》之后,刘冬近期接拍了云集张柏芝、任贤齐(微博)、周海媚(微博)等港台明星的古装电影《杨门女将》,在片中饰演英姿飒爽能文能武的杨九妹。由于该片将于近期上映,目前已进入宣传期。据圈内人透露,刘冬签约公司正在为她量身定制电影,种种迹象表明刘冬正在“爆发”的行军路上,整体实力不容小觑。看来本届在刘冬和周冬雨之间的新人奖之争或许会是一番势均力敌的龙争虎斗。入围拿奖 星途一帆风顺  代表人物:张静初、徐静蕾凭借《花腰新娘》获得第十一届华表奖优秀新人女演员奖的张静初,她的星途可谓一帆风顺。之后张静初的片约不断,先后接拍了《七剑》《窃听风云》《门徒》《唐山大地震》等一系列叫好又叫座的电影,她的演技也获得了顾长卫、徐克、尔冬升等大牌导演的认可,顺理成章的跻身国内一线女星的行列。徐静蕾在2003年华表奖的颁奖典礼上,徐静蕾因饰演张元(微博)导演电影《我爱你》片中杜小桔一角获得了优秀新人女演员奖,之后便一发而不可收拾,先后接拍了《投名状》《新宿事件》《将爱情进行到底》等一系列大家耳熟能详的电影。而徐静蕾又因为自导自演了电影《一个陌生女人的来信》《梦想照进现实》《杜拉拉升职记》,更因《杜拉拉升职记》跻身亿元名导俱乐部,演艺事业的突飞猛进也为她带来了极高的社会关注度,其博客点击率在中国大陆地区长期排名第一,因此被誉为大陆影视圈的“才女”。风光一时 昙花一现 代表人物:陈曦、邱林陈曦《冰与火》是1999年上映的一部体育佳作,职业滑冰运动员陈曦因饰演该片女主人公邓羚一角获得了第六届华表奖优秀新人女演员奖,至此之后再也没有接拍任何影视作品。邱林说到张艺谋的电影《千里走单骑》,相信大家都不会陌生,那么大家还记得片中那个本色演出的地下导游邱林么?虽然是非职业演员,但也算是名噪一时的“谋男郎”,紧接着邱林因在《香巴拉信使》中饰演男主角王大河一角而受到评委们的青睐,一举夺得了第十二届华表奖优秀新人男演员奖,成为了当时最大的一匹黑马。如此看来,“谋男郎”邱林的星途貌似是一片坦途,但其实不然。邱林在演完《千里走单骑》之后失业了,以前是干“地下工作”,现在成了公众人物,大家都知道他没有导游证,也因此丢了工作投身到电影艺术里。邱林签下经纪人后才发现,这碗饭并不好吃,3年过去了才签下第二部戏,而继《香巴拉信使》之后又是三年,邱林终于能在武侠喜剧《刀客外传》中饰演角色,虽然只是一个小配角。邱林自己也常常调侃地说:“后来我慢慢想通了,我其实只是第二个魏敏芝。”新浪娱乐讯 近日,第十四届华表奖十八个奖项提名名单公布,其中入围优秀新人演员奖的不仅有已经凭借在电视剧领域的出色表现而积攒下超高人气的文章(微博),还有一出道就头顶谋女郎的光环,让人不关注都不行的周冬雨(微博),以及凭借电影《80’后》获得一定知名度的刘冬(微博)。纵览华表奖历届新人奖入围名单,有人出道至今未获得新人奖,却并不能阻碍他们的成名之路;有人笑捧华表,并以此为杠杆,撬动更辉煌的前程;当然也有人拿下优秀新人之后就湮没无闻了。曾经的小星星们如今星途如何?不妨来盘点一下。入围新人奖开启明星之路代表人物:章子怡(微博)、范冰冰、周冬雨、刘冬章子怡早在2000年的时候,章子怡便与华表奖结下了不解之缘。当时,章子怡凭借老谋子的转型之作《我的父亲母亲》入围了华表奖优秀新人女演员奖,虽然最终与此奖项失之交臂,但随后章子怡接连出演由李安执导的《卧虎藏龙》和成龙(微博)电影《尖峰时刻2》,这两部既卖座又叫好的大片一经上映,章子怡迅速蹿升至一线女星行列,风头一时无两。随后章子怡又连续出演老谋子的《十面埋伏》和陈凯歌(微博)导演的《梅兰芳》,凭借在这两部大片中的精彩演出,章子怡连夺第十一届和第十三届华表奖优秀女演员奖,正所谓失之东隅,收之桑榆。范冰冰范冰冰也曾凭借电影《手机》获得华表奖优秀新人女演员奖的提名,虽最终未曾获奖,但这丝毫不影响大家对她的肯定。之后,范冰冰更是获得了东京电影节最佳女主角奖、大众电影百花奖最佳女主角奖等一系列国内外奖项。有意思的是,范冰冰虽然没有拿过华表奖,却因为她在电影事业上做出的努力而获得了成为开奖嘉宾的资格。在第十二届华表奖上她受邀与著名导演陈可辛一起,颁发典礼的重头大奖“优秀女演员奖”,为她的好朋友李冰冰(微博)和前辈丁嘉莉开出了大奖。周冬雨凭借着饰演张艺谋执导的电影《山楂树之恋》中“静秋”一角而一炮走红的周冬雨也入围了本届华表奖的优秀新人女演员奖,虽说鹿死谁手还尚未可知,但可以断言的是,在华表奖的红毯上,这位年纪轻轻的“谋女郎”必将是各大媒体竞相追捧的对象。华表奖颁奖典礼被定在8月28号,而3天后的8月31号便是各大院校开学的日子,对于顺利考入北京电影学院表演系的周冬雨来说,也算是一个重大的日子,那么这会不会将是周冬雨的又一次“双喜临门”呢?让我们拭目以待。刘冬凭借电影《80’后》入围华表奖优秀新人女演员奖的刘冬算是演艺界的新人。在拍摄完《80’后》之后,刘冬近期接拍了云集张柏芝、任贤齐(微博)、周海媚(微博)等港台明星的古装电影《杨门女将》,在片中饰演英姿飒爽能文能武的杨九妹。由于该片将于近期上映,目前已进入宣传期。据圈内人透露,刘冬签约公司正在为她量身定制电影,种种迹象表明刘冬正在“爆发”的行军路上,整体实力不容小觑。看来本届在刘冬和周冬雨之间的新人奖之争或许会是一番势均力敌的龙争虎斗。入围拿奖 星途一帆风顺  代表人物:张静初、徐静蕾凭借《花腰新娘》获得第十一届华表奖优秀新人女演员奖的张静初,她的星途可谓一帆风顺。之后张静初的片约不断,先后接拍了《七剑》《窃听风云》《门徒》《唐山大地震》等一系列叫好又叫座的电影,她的演技也获得了顾长卫、徐克、尔冬升等大牌导演的认可,顺理成章的跻身国内一线女星的行列。徐静蕾在2003年华表奖的颁奖典礼上,徐静蕾因饰演张元(微博)导演电影《我爱你》片中杜小桔一角获得了优秀新人女演员奖,之后便一发而不可收拾,先后接拍了《投名状》《新宿事件》《将爱情进行到底》等一系列大家耳熟能详的电影。而徐静蕾又因为自导自演了电影《一个陌生女人的来信》《梦想照进现实》《杜拉拉升职记》,更因《杜拉拉升职记》跻身亿元名导俱乐部,演艺事业的突飞猛进也为她带来了极高的社会关注度,其博客点击率在中国大陆地区长期排名第一,因此被誉为大陆影视圈的“才女”。风光一时 昙花一现 代表人物:陈曦、邱林陈曦《冰与火》是1999年上映的一部体育佳作,职业滑冰运动员陈曦因饰演该片女主人公邓羚一角获得了第六届华表奖优秀新人女演员奖,至此之后再也没有接拍任何影视作品。邱林说到张艺谋的电影《千里走单骑》,相信大家都不会陌生,那么大家还记得片中那个本色演出的地下导游邱林么?虽然是非职业演员,但也算是名噪一时的“谋男郎”,紧接着邱林因在《香巴拉信使》中饰演男主角王大河一角而受到评委们的青睐,一举夺得了第十二届华表奖优秀新人男演员奖,成为了当时最大的一匹黑马。如此看来,“谋男郎”邱林的星途貌似是一片坦途,但其实不然。邱林在演完《千里走单骑》之后失业了,以前是干“地下工作”,现在成了公众人物,大家都知道他没有导游证,也因此丢了工作投身到电影艺术里。邱林签下经纪人后才发现,这碗饭并不好吃,3年过去了才签下第二部戏,而继《香巴拉信使》之后又是三年,邱林终于能在武侠喜剧《刀客外传》中饰演角色,虽然只是一个小配角。邱林自己也常常调侃地说:“后来我慢慢想通了,我其实只是第二个魏敏芝。” 21 | 时尚 组图:秋冬魅力 日杂披肩搭配教学导语:喜欢日系风格的女生们秋冬一定要关注披肩斗篷类的单品哦,下面搜集的日杂披肩搭配教学,看日系风尚登场。 22 | 时尚 组图:蕾哈娜贝嫂 好莱坞秋季主打针织衫导语:独树一帜,与经典的针织系列一起处于不败之地,跟我们来看看好莱坞明星们的秋冬针织衫搭配,各有千秋却又同样的经典时尚。 23 | 时尚 组图:教你玩转本季流行帽子搭配法则导语:围巾和帽子是秋冬季两大人气单品,尤其是风格百变的帽子,在深秋与冬季最受女生喜爱。最近明星的街拍,她们将各种款式的帽子演绎出了不同的风格。天渐渐转凉,你是不是开始为自己准备起一些保暖小物了呢?先来看明星示范的大热单品吧。阿曼达-谢弗雷德(Amanda Seyfried)的黄色毛线帽绝对是那种街头一亮的色彩款式,超级可爱又保暖。帽子的款式简单实用,那就在刘海上做文章吧,像布莱克-弗莱利这样子的两边头发垂下而不留前刘海的其实挺美的。这款蓝绿色的帽子则显得很活泼青春,比起深色常见的款式在寒冷天气里更加抢眼,还有几分俏皮。黑色的毛线帽搭配藏蓝色的大衣,颇有一份名媛感觉。深颜色之间的巧妙搭配,更加奢华低调并且逃离沉闷。 24 | 时尚 组图:无需牺牲温度 小洋装展现优雅女人味导语:有过童话梦想的女孩大概都无法抗拒小洋装的诱惑,小洋装有西装的精致剪裁,却更称靓丽的色彩和修饰,秋冬时节无需牺牲温度,轻松穿出优雅女人味。黑色小洋装袖口衣边镶上白色珠边,多叠白色珠链来配合,高贵优雅自语不言。更加绝妙的是黑色皮裙和皮手套的搭配,将贵妇范儿推向极致。材质整齐的纹理显得非常有质感,袖口衣边的方形铆钉修饰出了小洋装的青春气息。搭配长款针织衫和牛仔裤,轻松穿出小女生的甜美味道。碎格子在小洋装中算是经典样式,袖口衣边的翻毛边设计将小洋装拉进田园风格,一侧前胸的真丝花朵更是配合地点缀着优雅的主题,不禁想让人搭配裙子了。同样一款格子小洋装,格子搭配条纹有了点异域的味道,类似味道的配件搭配必不可少。短小的款型正巧展现修长的身材,穿上长靴是一样的道理。双排扣边让领型有了更多的变化,更有保暖的感觉。袖口的微喇配合衣身的宽松感,小洋装有了与众不同的味道。绯闻女孩S穿着Lanvin2011春夏礼服和高跟鞋出席活动,性感的前开衩一直开到了大腿根部,性感得让人浮想联翩。大型昆虫胸针也展现了性感的强势一面。 25 | 时尚 组图:小J教你穿皮衣 跟绯闻女学潮搭导语:皮衣今年秋天大流行,只会欣赏不会搭配只能让你沦为潮流的看客,如何穿搭皮衣才会不落俗套呢?让我们来请教一下真正的“皮衣控”绯闻女孩中(Gossip Girls)的小J(Taylor Momsen)吧…… 26 | 时尚 组图:斑斓袜子 玩转多姿多彩腿部时尚导语:秋冬一到,袜子销售量绝对是成直线上升,面对五彩斑斓的袜子世界,怎么样的搭配可以让造型立刻出挑起来,是黑色、红色、还是彩色、卡通、格纹,如此眼花缭乱的缤纷色彩真是让腿部风光无限好。如果你是想要鞋子唱绝对的主角,那么袜子还是低调点好,选择质地厚实看不见肤色的长袜才是上品,黑色,暗紫,深蓝都是值得挑选的范围。古老的绅士高跟舞鞋,需要的就是这么一双带有英伦风情的刺绣棉袜,白色与暗红的组合,再加上梦境般蕾丝长裙,可爱又lady。红白撞色拼贴粗跟皮鞋,配上教堂般洛可可艺术镶花长袜,复古中不失摩登时尚风范,袜子后片黑色与前片肉色形成鲜明对比,让小腿看上去更加纤细。可爱的牛仔布木屐凉鞋,在灰色星星短袜的衬托下,青春阳光的少女味道呼之欲出,袜口可爱的翻边,绝对是你装嫩的必杀技。 27 | 时尚 组图:狗狗万圣节变装派对超级可爱 导语:当地时间2010年10月27日,美国迈阿密,世界上最高级最奢华的宠物酒店ChateauPoochie举办狗狗万圣节变装派对。只见可爱的doggie们穿上公主裙,戴上天使翅膀,甚至背上乌龟壳,超级可爱。 28 | 时尚 组图:精彩绝伦 天后王菲演唱会的经典造型大盘点导语:万众瞩目的王菲演唱会在北京五棵松体育馆拉开了序幕,追求完美的王菲每次开唱时也总不会忘记在造型上下足功夫。势要让歌迷弹落眼球,终生难忘。她的那些舞台造型所带来的视觉冲击力让我们感受到了来自王菲骨子里的激情澎湃及无限创意无限灵感。让我们还是再次重温下王菲当年的舞台造型有多么的精彩绝伦,惊世惊艳,让人叹为观止的吧。王菲这款造型的灵感来自于齐白石所画的牵牛花,不知道大家有没有联想到“牵牛花”。高高隆起的短发上倒扣着一只超高的高跟鞋,鞋跟还插着一根羽毛,造型一出万人惊叹。这个造型至今还有人模仿,不过是有的换成了千纸鹤有的继续用高跟鞋。绝对的特立独行绝对的吸人眼球。这款鸵鸟装远远超出人们对日常服饰的定义,生活中穿出去会被人误以为是在进行行为艺术表演。但是出现于王菲身上我们也懒得用别出心裁来形容了,如用见怪不怪来形容我们的感受则更为贴切。 29 | 时尚 组图:骷髅来袭 万圣节搞怪又迷人导语:10月31号晚上,当时钟指向12点,“毛骨悚然”的万圣节狂欢即将开始!喜欢恶搞“应节”的朋友已经开始物色骷髅配饰,打造搞怪好玩的派对氛围了。骷髅头丝巾作为已故天才设计师Alexander McQueen最经典的设计,使骷髅元素在时尚界风生水起。今天我们推荐一些不同的骷髅单品,怀念Alexander McQueen的同时,也让你成为万圣节最靓丽的“鬼影”。漆黑的万圣节午夜,如果戴上这款亮晶晶的骷髅星星项链会怎么样呢?这条项链设计精巧,有点小可爱,骷髅头嵌满了小亮钻,在昏暗的街灯中会若隐若现着幽光,在万圣节的夜晚戴上它,一定让你成为全场瞩目的焦点。设计师以“Q+搞怪”的骷髅元素,邀你变身万圣节达人!骷髅头上顶着一个很Q的小花冠,让人耳目一新。强烈推荐!(骷髅T恤+围巾两件套)超值哦,在这个万圣节必然要拥有它。好东西怎能过把瘾就“死”?在这个秋冬穿上它一样那么潮,还不快快抢购!这款怪异的骷髅拉链连帽马甲,视觉冲击力强烈,酷劲十足。背后叼着一根香烟的骷髅,一副不羁的样子,让搞怪的同时又不乏可爱。虽然这件马甲不是专为万圣节设计的,但把它们搭配在一起,万圣夜你就可以直接跳进狂欢派对了。能营造万圣节派对气氛的系列单品,自然少不了这个伊之恋欧美风摩登骷髅多用女包了。蓝色牛皮与金属材质的设计经过巧妙的组合,中间呈现出了一个立体的骷髅形象。从细节着眼,向人们表明你的狂欢态度吧!怎样的简约着装可以在狂欢万圣节让你耀眼全场?TOFFEE 推出的魔幻系列单品“复古铆钉骷髅吊带”,在简约的外型中却洋溢着俏皮和甜美,生气勃勃的青春气息充满了少女味。在快乐的万圣节里它可以让你变成浪漫“小妖精”,狂欢时一个个骷髅头图案在风中随你飘动。普拉达的一款骷髅钱包。黑色皮革材,亮眼的手工镶嵌皮革铆钉拼贴一个大大的骷髅头LOGO,正巧契合现代人追求独行个性与流行美观的心态,这款骷髅钱包让你无论在什么地方买单都会吸引眼球哦,而这个万圣节就更不用说了,一出手你就是主角。 30 | 时尚 组图:15种皮衣搭配 让你倍显高贵导语:十几度的天气最需要的就是皮衣了!不仅挡风御寒,而且修身的设计能既保暖又显身材。百搭的黑色皮衣今年一定不能缺少,组合任何颜色的服装都不会让你失望;淑女们喜爱的白色皮衣在秋天也是不错的选择,硬朗中体现女人味;2010秋冬流行的驼色不仅体现在风衣上,在皮衣上同样很好选择与之搭配的单品。棕色的皮衣在对襟处加入古典宫廷元素设计,并以同款肩章做为呼应。袖口的奢华流苏点缀更是气场十足,搭配瘦腿裤与一款大号手包,气质无限。简单的机车皮衣搭配白色甜美洋装,硬朗与女人味相融合。小编大爱之款。推荐,推荐。“补丁”剪裁的黑色皮衣,搭配宽松破洞牛仔裤,街头感十足。半透的服装在今年走火,如果皮衣内搭一款透视感的内衫,绝对诱惑无限。 31 | -------------------------------------------------------------------------------- /test_data/test_data_cluster.txt: -------------------------------------------------------------------------------- 1 | 鲍勃库西奖归谁属? NCAA最强控卫是坎巴还是弗神新浪体育讯如今,本赛季的NCAA进入到了末段,各项奖项的评选结果也即将出炉,其中评选最佳控卫的鲍勃-库西奖就将在下周最终四强战时公布,鲍勃-库西奖是由奈史密斯篮球名人堂提供,旨在奖励年度最佳大学控卫。最终获奖的球员也即将在以下几名热门人选中产生。〈〈〈 NCAA疯狂三月专题主页上线,点击链接查看精彩内容吉梅尔-弗雷戴特,杨百翰大学“弗神”吉梅尔-弗雷戴特一直都备受关注,他不仅仅是一名射手,他会用“终结对手脚踝”一样的变向过掉面前的防守者,并且他可以用任意一支手完成得分,如果他被犯规了,可以提前把这两份划入他的帐下了,因为他是一名命中率高达90%的罚球手。弗雷戴特具有所有伟大控卫都具备的一点特质,他是一位赢家也是一位领导者。“他整个赛季至始至终的稳定领导着球队前进,这是无可比拟的。”杨百翰大学主教练戴夫-罗斯称赞道,“他的得分能力毋庸置疑,但是我认为他带领球队获胜的能力才是他最重要的控卫职责。我们在主场之外的比赛(客场或中立场)共取胜19场,他都表现的很棒。”弗雷戴特能否在NBA取得成功?当然,但是有很多专业人士比我们更有资格去做出这样的判断。“我喜爱他。”凯尔特人主教练多克-里弗斯说道,“他很棒,我看过ESPN的片段剪辑,从剪辑来看,他是个超级巨星,我认为他很成为一名优秀的NBA球员。”诺兰-史密斯,杜克大学当赛季初,球队宣布大一天才控卫凯瑞-厄尔文因脚趾的伤病缺席赛季大部分比赛后,诺兰-史密斯便开始接管球权,他在进攻端上足发条,在ACC联盟(杜克大学所在分区)的得分榜上名列前茅,但同时他在分区助攻榜上也占据头名,这在众强林立的ACC联盟前无古人。“我不认为全美有其他的球员能在凯瑞-厄尔文受伤后,如此好的接管球队,并且之前毫无准备。”杜克主教练迈克-沙舍夫斯基赞扬道,“他会将比赛带入自己的节奏,得分,组织,领导球队,无所不能。而且他现在是攻防俱佳,对持球人的防守很有提高。总之他拥有了辉煌的赛季。”坎巴-沃克,康涅狄格大学坎巴-沃克带领康涅狄格在赛季初的毛伊岛邀请赛一路力克密歇根州大和肯塔基等队夺冠,他场均30分4助攻得到最佳球员。在大东赛区锦标赛和全国锦标赛中,他场均27.1分,6.1个篮板,5.1次助攻,依旧如此给力。他以疯狂的表现开始这个赛季,也将以疯狂的表现结束这个赛季。“我们在全国锦标赛中前进着,并且之前曾经5天连赢5场,赢得了大东赛区锦标赛的冠军,这些都归功于坎巴-沃克。”康涅狄格大学主教练吉姆-卡洪称赞道,“他是一名纯正的控卫而且能为我们得分,他有过单场42分,有过单场17助攻,也有过单场15篮板。这些都是一名6英尺175镑的球员所完成的啊!我们有很多好球员,但他才是最好的领导者,为球队所做的贡献也是最大。”乔丹-泰勒,威斯康辛大学全美没有一个持球者能像乔丹-泰勒一样很少失误,他4.26的助攻失误在全美遥遥领先,在大十赛区的比赛中,他平均35.8分钟才会有一次失误。他还是名很出色的得分手,全场砍下39分击败印第安纳大学的比赛就是最好的证明,其中下半场他曾经连拿18分。“那个夜晚他证明自己值得首轮顺位。”当时的见证者印第安纳大学主教练汤姆-克雷恩说道。“对一名控卫的所有要求不过是领导球队、使球队变的更好、带领球队成功,乔丹-泰勒全做到了。”威斯康辛教练博-莱恩说道。诺里斯-科尔,克利夫兰州大诺里斯-科尔的草根传奇正在上演,默默无闻的他被克利夫兰州大招募后便开始刻苦地训练,去年夏天他曾加练上千次跳投,来提高这个可能的弱点。他在本赛季与杨斯顿州大的比赛中得到40分20篮板和9次助攻,在他之前,过去15年只有一位球员曾经在NCAA一级联盟做到过40+20,他的名字是布雷克-格里芬。“他可以很轻松地防下对方王牌。”克利夫兰州大主教练加里-沃特斯如此称赞自己的弟子,“同时他还能得分,并为球队助攻,他几乎能做到一个成功的团队所有需要的事。”这其中四名球员都带领自己的球队进入到了甜蜜16强,虽然有3个球员和他们各自的球队被挡在8强的大门之外,但是他们已经表现的足够出色,不远的将来他们很可能出现在一所你熟悉的NBA球馆里。(clay) 2 | 麦基砍28+18+5却充满寂寞 纪录之夜他的痛阿联最懂新浪体育讯上天对每个人都是公平的,贾维尔-麦基也不例外。今天华盛顿奇才客场104-114负于金州勇士,麦基就好不容易等到“捏软柿子”的机会,上半场打出现象级表现,只可惜无法一以贯之。最终,麦基12投9中,得到生涯最高的28分,以及平生涯最佳的18个篮板,另有5次封盖。此外,他11次罚球命中10个,这两项也均为生涯最高。如果在赛前搞个竞猜,上半场谁会是奇才阵中罚球次数最多的球员?若有人答曰“麦基”,不是恶搞就是脑残。但半场结束,麦基竟砍下22分(第二节砍下14分)。更罕见的,则是他仅出手7次,罚球倒是有11次,并命中了其中的10次。此外,他还抢下11个篮板,和勇士首发五虎总篮板数持平;他还送出3次盖帽,竟然比勇士全队上半场的盖帽总数还多1次!麦基为奇才带来了什么?除了得分方面异军突起,在罚球线上杀伤对手,率队紧咬住比分,用封盖威慑对手外,他在篮板上的贡献最为关键。众所周知,篮板就是勇士的生命线。3月3日的那次交锋前,时任代理主帅的兰迪-惠特曼在赛前甚至给沃尔和尼克-杨二人下达“篮板不少于10个”的硬性指标。惠特曼没疯,他深知守住了篮板阵地,就如同扼住了勇士的咽喉。上次交锋拿下16个篮板的大卫-李就说:“称霸篮板我们取胜希望就大些。我投中多少球无所谓,但我一定要保护篮板”。最终,勇士总篮板数以54-40领先。但今天,半场结束麦基却让李仅有5个篮板进账。造成这种局面的关键因素是身高。在2.11米的安德里斯-比德林斯伤停后,勇士内线也更为迷你。李2.06米,弗拉迪米尔-拉德马诺维奇2.08米,艾派-乌杜2.08米,路易斯-阿蒙德森2.06米。由此,2.13米又弹跳出众的麦基也就有些鹤立鸡群了。翻开本赛季中锋篮板效率榜,比德林斯位居第13位,麦基第20,李则是第31。可惜,麦基出彩不但超出了勇士预期,也超出了奇才预期,注定不可长久。第三节李砍下12分,全场26投15中砍下33分12个篮板5次助攻,麦基的防守不利则被放大。2分11秒,奇才失误,蒙塔-埃利斯带球直冲篮下,面对麦基的防守,他华丽的篮下360度转身上篮命中。全场掌声雷动下,麦基的身影却无比落寞。下半场麦基有多困顿?篮板被对方追上,全场勇士篮板仅落后2个;上半场拉风的罚球,在下半场竟然一次也没有。和阿联此役先扬后抑的表现如出一辙,麦基也吃尽了奇才内线缺兵少将的苦头。(魑魅) 3 | 黄蜂vs湖人首发:科比冲击七连胜 火箭两旧将登场新浪体育讯北京时间3月28日,NBA常规赛洛杉矶湖人主场迎战新奥尔良黄蜂,赛前双方也公布了首发阵容:点击进入新浪体育视频直播室点击进入新浪体育图文直播室点击进入新浪体育NBA专题点击进入新浪NBA官方微博双方首发阵容:湖人队:德里克-费舍尔、科比-布莱恩特、罗恩-阿泰斯特、保罗-加索尔、安德鲁-拜纳姆黄蜂队:克里斯-保罗、马科-贝里内利、特雷沃-阿里扎、卡尔-兰德里、埃梅卡-奥卡福(新浪体育) 4 | 双面谢亚龙作秀终成做作 谁来为低劣行政能力埋单是谁任命了谢亚龙?谁放纵了谢亚龙?谁又该为谢亚龙、南勇们的倒掉负责?文/陈鹏“南勇进去了,谢亚龙还会远吗?”一语成谶,中国足坛的扫赌反黑风暴终于让谨小慎微、平庸“低调”的前足协掌门人谢亚龙“落网”,同时被立案侦查的还有原国足领队蔚少辉、原技术部主任李冬生。这场空前的风暴或许还将延续,谢亚龙的倒掉也再次见证中国足协难以洗刷的“体制原罪”。人们由衷期待中国足球的浴火重生、否极泰来。作秀与做作谢亚龙“过分低调”?不然,与其说低调不如说是对媒体的本能漠视和反感。笔者曾在2008年国足、国奥昆明海埂集训期间与谢亚龙偶遇,采访要求立即遭到谢极不耐烦的拒绝,“不说了不说了,我说什么说?有事你找领队!”在笔者多次采访国足的经历中,谢亚龙总给人诡异冷淡的印象,这也是不少媒体对谢亚龙的一贯感觉。唯一的例外,是笔者参与2007年男足亚洲杯报道赴吉隆坡、中国队小组赛0:3败给乌兹别克斯坦队未能从小组出线一役之后,谢亚龙主动凑到记者面前,“我说两句吧,我想起了吉鸿昌先生的一首诗,恨不抗日死,留作今日羞,国破尚如此,我何惜此头?”此诗一出,一片哗然——无论如何,中国队的丑陋死亡如何能与民族英雄吉鸿昌的慷慨悲歌相提并论?谢亚龙并非无名之辈,短跑出身的他历任北京体育大学副校长、国家体委群体司司长,田径运动管理中心主任、体育科研所副所长。期间,曾严查中国田径界兴奋剂问题,著名的马家军因此受到冲击。2002年,谢亚龙挂职陕西省安康市委副书记,2004年调回体育总局任电子信息中心党委书记;2005年,谢亚龙入主足协。但在他任职的3年内,中国男女足均出现前所未有的大滑坡,如男足止步亚洲杯小组赛、无缘世界杯亚洲区十强赛,女足止步世界杯、奥运会八强,甚至青少年比赛也一败涂地,国少、国青的亚洲区赛事纷纷出现“史上最差”。日前浙江省反黑斗士陈培德爆料,当年谢亚龙是主动请缨前往足协的,但履职后却对媒体诉苦,称自己从未想过要来足协,而是“组织安排,只能服从”。此举足见谢亚龙为人的“两面”;作为当年国家体委主任伍绍祖的秘书,这位不善业务的门外汉很快以低调甚至胆小的风格示人,但也时常按捺不住地蹦到前台,如在2008年国足备战世界杯前,他就喜欢在球队训练前后走上球场溜达,接受记者、球迷的啧啧嘘声;因对福拉多缺乏信心,很快在国足祭出世界罕见的“双头制”——同时起用杜伊、福拉多共同执掌,直接为国足的世预赛惨败埋下祸根;当国奥出师不利,谢又架空杜伊,拉来殷铁生救火,如此“失魂落魄”的球队怎么可能取得佳绩?一些惊世“名言”是谢亚龙不时作秀的佐证,如杜伊率国奥队在土伦杯上拿到亚军后,谢立即说,“让我们用热烈的掌声感谢杜伊,他就是国奥队的战神!”国奥队备战关口,谢亚龙要求杜伊按其要求加量,“我是非常专业的训练专家,我有科技部颁发的证书!”国足世预赛天津主场不敌卡塔尔,无缘亚洲十强赛,谢亚龙援引周总理的“生死态度”鼓励球队打好最后两场比赛:“即使死也要死得有气势一些!”最著名的当属中国女足不敌日本、无缘奥运会四强后,谢亚龙在总结会上指出中国女足最需要训练“叉腰肌”,迄今,人们还是无法找到这块肌肉到底在哪里。不合时宜的作秀终显做作,这种表现欲被一再放大为谢亚龙对中国足球的盲目乐观或盲目悲观,他似乎总是缺乏一位掌门人应有的清晰思路和价值判断,也因此成为中国足球2006~2008年间最腐败无能、最孱弱无力的诡异缩影。2007年后,谢亚龙现身任何球场,都会听到震耳欲聋的“谢亚龙下课”之声,而这位掌门人(笔者曾在奥运会现场亲见)却充耳不闻,任一丝牵强的微笑渐渐在嘴角冻结。谁的“足协”南勇之后,谢亚龙原本被外界猜测为“庸而不贪”,但随着谢、蔚、李三人被立案侦查,谢亚龙任期内经手的几件大事成为焦点——一、将中国之队原来的“开发商”——亚足联开发公司更换为盈方集团,其理由是盈方赞助费比亚足联开发公司多出200万美元。谢亚龙的提议一度遭到足协中层的反对,认为为了区区200万美元得罪亚足联实在不划算。果然,在之后的世界杯预选赛和亚洲杯小组赛,中国队连连“遭遇”死亡之组,亚洲杯丑陋铩羽、世预赛再次没能跻身十强赛,中国队屡屡不被裁判“待见”,不能不说与谢亚龙当初忽悠亚足联有关。谢亚龙究竟有没有从中收取好处?二、爱福克斯赞助中超联赛的悬案。在许多人看来,爱福克斯赞助中超联赛是南勇一手操办,但当时南勇的顶头上司是谢亚龙,在6000多万元赞助款没到账的情况下,经纪人却提前拿走巨额佣金,该案最终不了了之,其间,谢亚龙是否起到关键作用?三、2008年东亚四强赛期间,谢亚龙是否利用职务之便获取了一定利益?四、据传,国家队设立小金库,贿赂裁判、对手,同时向教练、教练向运动员收取“黑金”,是否与谢亚龙有莫大干系?谢亚龙任上重用的“四哥”蔚少辉出事似乎顺理成章。笔者在昆明采访国足集训期间,经常目睹蔚领队大声喝骂队员,架子比主教练福拉多、杜伊有过之而无不及;他任职期间,中国队前后多达百人入选。外界早有传言,俱乐部球员要进国家队就必须给蔚少辉等人送门槛费;“四哥”穿名牌、戴名表大多不需要自己掏腰包,只要授意自己的主力即可;中国队世预赛客场击败澳大利亚队后,蔚领队居然率领队员高喊“杜伊,傻×”,原因是杜伊没按照他的“推荐”安排位置;相比之下,担任过裁委会主任的李冬生则是各家俱乐部纷纷觊觎的目标,因为他不仅直接分配裁判,还能直接“告知”裁判应如何执法,他也被认为是职业联赛执法“最黑暗时期”的幕后推手。从范广鸣到吕锋、邵文忠,从南勇、杨一民、张建强到谢亚龙、蔚少辉、李冬生,中国足坛“大鱼”的纷纷落网勾勒出中国足球几年间的丑陋嘴脸和恶劣生态。最让人不解的是:谢亚龙上任3年来更换了8名国字号球队教练,换来的是男足连续输掉亚洲杯、世界杯和奥运会,女足则陷入从裴恩才到多曼斯基、从伊丽莎白到商瑞华的空前混乱期——谢亚龙履职期间的中国足球跌至冰点,频繁的人事漩涡加剧了内耗、豪赌世界杯奥运会、青少年足球被一再忽略、聘请的外籍教练都是廉价货色、完全没有长远规划……这批让中国男足排名从70多位跌至百位开外的足球官员竟不被问责,被全场高呼下课的足协掌门人去职之后竟能悠然前往中体公司任年薪百万的董事长。没有人为中国足协低劣的行政能力埋单,没有人为这两支耗费了大量纳税人的血汗钱的球队负责。以行政权力掌控了巨大市场资源的中国足协,在获得体制内外的双重保障之后,他们所领导的项目成绩却与其所享用的资源严重背离,所耗费的巨大投入得到的低级产出实在令人匪夷所思。当2006年意大利足坛爆出“电话门”(打假球)丑闻,足协主席立即引咎辞职,英格兰主帅埃里克森进了小报记者的圈套,英足总也赶紧交出辞职信;但在中国,1994年开展职业联赛以来的历次惨败、换帅、内乱统统只与球员、教练、俱乐部有关,却唯独与足协无关;无论各级国字号球队输得多惨、多难看、多丢脸,身为中国足球最高领导的足协官员们却超然物外、依然故我。谢亚龙等人落网后再次让人聚焦中国足协这一横跨官方与民间的怪胎,很多人似乎对谢亚龙颇感同情,认为他的悲剧是体制催生的“恶之花”,任何人“一肩三挑”(足协专职副主席兼足管中心主任、中超公司董事长)都难免“落马”,中国足协不过将中国诸多领域内权力失控的困境再次放大了,顶多是体制原罪的又一个突出版本。但人们不禁要问:是谁任命了谢亚龙?谁放纵了谢亚龙?谁又该为谢亚龙、南勇们的倒掉负责?中国足球能否“浴火重生”从王俊生、阎世铎到已经跌倒的南勇、谢亚龙,他们既是体制的推动者,更是体制的牺牲品,已逐渐淡出人们视线的谢亚龙的“罪与罚”更与现行体制无法剥离。韦迪上任之后,退无可退、输无可输的中国足球何妨推倒重来?实现体制突破亟需解决好四大疑难:首先应解决中国足协与足管中心一套人马两块牌子的现状。“行政足球”的干预使足协很难充分发挥它的民间组织职能,导致中国足球长期以来唯成绩论、唯政绩论,急功近利、忽略建设。作为市场化程度最高的运动项目,中国足球到了将市场化改革进行到底的时候了。其次急需完善法律监管机制。既要对足协的各项工作进行监督,也要对俱乐部运作、管理方式、球员行为进行监督,否则中国足球联赛仍将是假赌黑的温床、球员依然是缺乏保障的弱势群体,抓进再多“大鱼”也无法铲除腐败。再有,中国足球必须改变现有的竞训模式,青少年足球应当作为与联赛平行的一翼得到长足发展,应尊重足球运动的规律,扎扎实实培养后备人才。只有全力抓好各年龄层次的训练和比赛,才可能塑造中国足球的未来。同时,中国足球的市场化联赛机制需要不断完善,这就要求尊重投资人的热情与利益,共同建设与呵护良好的市场秩序,使联赛真正成为国家队的大后方和大本营。如今,反赌扫黑风暴正以摧枯拉朽之势涤荡污浊,韦迪上任以来也多有惊人之言和惊人之举,今年7月就在秦皇岛的中国足协会议上抛出“三大纲领”,就足协和足管中心的管办分离、国家队形象打造、青少年留洋等均有细致谋划。如果韦迪能坚决实施,中国足球或将在这个风雨飘摇的关口迎来真正转机。可以预见的是,自去年底进行的反赌扫黑风暴一定会进行到底,不排除新账旧账一起算。其实中国足球早就积重难返,从足协领导、足协中层到俱乐部领导、球员、知名教练、领队、裁判、经纪人谁能百分百干净?但迄今为止,还没有重量级球员牵扯其中,随着谢亚龙南勇们的纷纷落马,谁能肯定一批足球大佬也能全身而退?如果大面积追查,中国职业联赛不是没有停摆的可能——比之眼前的千疮百孔,又何妨推倒重来?正如马来西亚联赛,当年的反赌风暴伤筋动骨却也让该国的联赛组织、竞赛纪律更加完善健康,比之中国足球的未来,以一次惨烈的剧痛为代价是值得的,中国足球必须“浴火”之后才有望重新赢得球迷的原谅和尊重。 5 | 兔年首战山西换帅后有虎胆 张学文用乔丹名言励志今晚客场挑战浙江稠州银行队,是山西汾酒男篮的兔年第一战。虽然在积分榜上两队有些差距,但目前的山西队已经不惧怕任何对手,依然有取胜希望。浙江队目前9胜11负,位居第10名;山西汾酒队6胜13负,位居第15名。单从排名上看,山西队似乎不及浙江队,但两队实力不相上下,而且山西队还有心理优势,在山西队取胜的6场中,有一场就来自于浙江队。在主场,凭借罗杰斯的神勇发挥,山西队大胜对手,取得了主场首胜。联赛初期,浙江队屡战屡败,积分垫底。在裁掉大牌球星詹姆斯,召回上赛季的外援威廉姆斯后,球队找到了取胜的钥匙,成绩突飞猛进。而拥有3名外援的山西队实力其实并不弱,但由于种种原因,目前只取得了 6场胜利。用球迷王晖的话 来 讲 :“我悲伤的不是山西队屡战屡败,而是有实力却没有发挥出来。”从另一个角度来讲,山西队更多依赖外援的发挥,一旦外援状态正佳,可以战胜任何强队,否则,连佛山这样的弱旅也拿不下来。今晚,3名外援的表现直接决定着球队的胜负。春节前,杨学增入主球队后,全队空前团结,正呈现出上升势头。正月初二,全队集结后进行了恢复性训练,目前,球队士气旺盛,张学文用球星乔丹的话来激励自己:“我可以接受失败,但绝对不能接受自己都未曾奋斗过。”对于今晚的兔年首战,即便是客场征战,全队上下信心满满,都有取胜的决心。本报记者 王建光 6 | 北美票房综述:《比赛计划》惊喜蝉联(附图)各位朋友国庆长假玩得是否开心?欢迎回到一周一度的北美票房榜。迪斯尼的橄榄球亲情喜剧《比赛计划》(The Game Plan)成功连庄,意味着施瓦辛格州长钦定的接班人——“岩石”早在《一酷到底》中便已初露峥嵘的讨喜演技,获得了更广泛的认可。从运动天王的出身,到格斗明星的一炮走红,再转型为人民群众喜闻乐见的开心果并趁势磨砺功底,……不难看出这一系列发展轨迹与阿诺德·施瓦辛格别无二致。一方面,有野心、有追求的“岩石”先生已然显示出超乎预期的才华和潜力;另一方面,我们也不得不叹服施瓦辛格大人的先见之明。再看另一位牛人乔治·克鲁尼。受此君大力提携(降薪主演的同时,还请来老哥们儿斯蒂文·索德伯格联合监制)的《迈克尔·克雷顿》(Michael Clayton,又译“英雄莫问出处”)本周在北美15家院线点映,获得华丽无比、众口一词的热烈追捧。评论界的赞不绝口一举抚平其参赛威尼斯电影节时彻底沦为“高级伴读书童”且颗粒无收的伤痛,更使“小金人”一词成为本片在今后几个月的关键语汇——又一位奥斯卡种子选手脱颖而出!讲罢两条喜讯再看堪忧之处。本周末Top 20的票房总和约6570万美元,居然刷新了21世纪以来的同期最低成绩,不仅比之《红龙》、《鲨鱼故事》、《无间道风云》等“重型火力”领衔时创造的1亿$级别高数据相去较远,甚至与2003年《摇滚学校》统帅三军时的8000万$亦不可同日而语。一个很重要的原因即:被各界瞩望为“救市主”的本周新片《我为蜜月狂》(The Heartbreak Kid)欲振乏力;而大盘再度下挫近14个百分点,则让“超越2004年度”的历史任务愈显艰巨(截至目前,今年的“总圈钱量”仍比2004年度同期高约3.9%左右)。暑期盘点本周为您细数夏季的总票房排名;另外,伴随颁奖季节的来临,自本星期起开设一个新板块——“2008奥斯卡战线”,欢迎大家赏脸支持、不吝赐教。二、奥斯卡战线:《迈克尔·克雷顿》高调驾临!!![返回目录]继《曾经》、《柳暗花明》、《料理鼠王》(CG动画)、《一望无际》(纪录片)、《发胶》、《巨塔杀机》(又译:东方承诺)之后(尽管娱乐色彩相对强一些的《谍影憧憧Ⅲ》和《一夜大肚》分别是技术奖、编剧奖的选手,但此处恕我暂时忽略不计……),又一位奥斯卡热门侯选《迈克尔·克雷顿》(Michael Clayton)于星期五从容浮出水面。由于为好莱坞贡献出“杰森·波恩三部曲”的精彩剧本而有机会自编自导该片的托尼·吉尔洛伊才子,处女作即有幸迎来克鲁尼这座巨大靠山,可算是才华井喷的同时人品爆发。这部讲述标题同名人物——纽约律师迈克尔·克雷顿(克鲁尼饰)被突如其来的“旧账”缠身、想摆脱黑暗的法律界却欲罢不能的犯罪惊悚剧,在北美15家院线点映,以单厅将近47000$的秀逸数字斩获70万$。当然,较之82分的媒体综评(Yahoo方面为A-、烂番茄网站新鲜度88%),票房方面小试牛刀的收益几乎可以无视。顺便一提,影片计划于下周末拓展至2400余家电影院,不知届时会有多少影迷赏光?下面来关注各大媒体的评语:“完全成熟的知性故事”、“脑不暇接的智力风暴”、“精心设计的几大看点交相辉映”、“犯罪惊悚片的超级范本!!!”、“精练缜密的剧本饱含着对人性的深入考察”、“厚重的社会派题材与贯穿全篇的紧凑调度实现了内容和形式的高度统一!”、“故事的趣味与魅力丝毫未因涉及复杂的法律条文而遭到削弱”、“硬朗坚实的风骨,简直堪比《惊天大阴谋》、《柳巷芳草》、《秃鹰72小时》等上世纪70年代的同类经典”……。《娱乐周刊》、《娱乐在线》、《今日美国》、《芝加哥太阳报》、《华盛顿邮报》、《洛杉矶周刊》、《芝加哥论坛报》、《滚石》、《纽约每日新闻》、《洛杉矶时报》、《纽约邮报》、《波士顿环球报》、《迈阿密先驱报》、《好莱坞报道者》、《西雅图邮迅报》等多家权威机构系数馈赠满分或A-,场面十分壮观。制片、主演兼于一身的克鲁尼“一哥”自己也捞到不少实惠——尽管在水城的影帝逐鹿中惜败经常较劲比酷的帅哥兄弟布拉德·皮特,但相较早前在《刺杀神枪侠》里亮相的小布,老乔显然更对北美影评人的胃口。“光是想象一下西服革履的乔帅慷慨陈词便已令人飘飘欲仙,何况这样的场景在《迈克尔·克雷顿》剧中还总是以最佳的状态出现在最佳的时机!”、“乔治·克鲁尼‘好莱坞黄金时期的传统星光’十二分地融入角色,不仅与蒂尔达·斯温顿、西德尼·波拉克等朴素的实力派相得益彰,更产生出奇妙的化学反应,为观众奉献了一场非凡的、激情洋溢的、震撼力满点的演技大会战!!!”……。本想说黑色刚硬的故事不是学院那杯茶,但考虑到《百万宝贝》、《晚安,好运》、《无间道风云》三回倒有两度得手的近期战绩——《百》、《晚》、《无》皆出自华纳,无独有偶,本片亦然——《迈克尔·克雷顿》亦不乏逐鹿终极大奖的机会。不过履历尚浅的托尼·吉尔洛伊进军最佳导演的希望渺茫,八成会以最佳原创剧本奖的提名进行补偿。演技部门:乔治·克鲁尼在最佳男主角、蒂尔达·斯温顿在最佳女配角均十足有力;而占据最大甜头的莫过于扮演全篇事件关键人物的汤姆·威尔金森——“把狂戾失控的角色表现得恍如恶灵附体一般惊世骇俗”、“连《电视台风云》的彼德·芬奇也黯然失色!”、“《不伦之恋》欠下威尔金森的小金人终于有了弥补的着落”……。三、新片《我为蜜月狂》:反映人类愈发不信任爱情、婚姻的爱情电影[返回目录]按照叙事习惯,还是先说数据——本部分主要想讨论的是:爱情片日益反映出的人类对爱情与婚姻的不信任——窃以为,这才是《我为蜜月狂》滞销的深层原因。言归正传,与《比赛计划》争夺榜首的新片《我为蜜月狂》(The Heartbreak Kid)尽管在多过对手的3229家电影院大打出手,且周五首日的收成高于《比》,但还是在周六的增长率一环大败(《比》周六的销售曲线飙升67%,《我》仅上扬17%)。最终单馆平均4300余$的《我为蜜月狂》以1400万$的首映成绩不敌本周跌幅仅29%的《比赛计划》而败下阵来,屈居榜眼;将被害程度抑制在最小限的《比赛计划》死守王座,不仅堪称“岩石”票房价值成长之路的稳固石阶,也再次擦亮了“迪斯尼家庭喜剧”的金字招牌,惹人刮目相看(关于《比赛计划》,在后文“其他影片的票房情况”部分还有简述)。今年为东家派拉蒙累计赢得七周票房冠军(《我老婆是巨无霸》、《冰刀双人组》、《后窗惊魂》、《怪物史莱克Ⅲ》)以至改嫁后的不公待遇甚至令其萌生退意的梦工厂,在本周首尝败绩。发迹于《我为玛丽狂》的本·斯蒂勒重归昔日恩师法拉利兄弟门下,演绎“草率拜堂的呆瓜结婚狂,时值蜜月旅行方才惊觉枕边人原来是足以让自己一生倒霉的女魔头!”的衰仔遭遇,本是一桩令喜剧迷们欢欣鼓舞的美事。但1400万$的开张结果无论是对去年刚刚领衔《博物馆之夜》傲人狂销的斯蒂勒、还是对往昔曾有《阿呆和阿瓜》等热卖记录的法拉利兄弟,均称不上理想。虽说翻拍勉强算是票房不尽人意的理由之一,但近两年尚有《最长的一码》、《新抢钱夫妇》、《粉红豹》三大反例财源广进,因而不足以作为解释。法拉利兄弟自《庸人哈尔》以来商业价值缩水的倾向日趋显著,《贴身兄弟》、《极度狂热》均难逃歉收之嫌;斯蒂勒的集客能力虽不乏《警界双雄》、《疯狂闪避球》之类的佐证,但《双层公寓》、《终极贱靶》等血本无归的情况夹杂其间多少显示出不及亚当·桑德勒平稳的高低起伏。三条不景气因素同时作用,加之偏巧赶上最不适宜谈情说爱的薄情时节(影史爱情片票房的Top 50中竟无一部10月份首映的作品……),有此结果亦无话可说。再深挖一点,《我为蜜月狂》的产量未如预期其实还体现出观众群潜在的审美疲劳。尽管同“婚姻”沾边的爱情喜剧从《我最好朋友的婚礼》到《我盛大的希腊婚礼》曾无往而不利,但近两年拿“婚姻”恶意开涮、向下作或淫贱方向借题发挥的笑弹过多,终于还是把影迷炸到了头大。《婚礼傲客》在觥筹交错时分醉翁之意不在酒;《同居三人行》则甘当洞房花烛夜的不速之客;及至《我盛大的同志婚礼》,连那“婚姻”本身都成了一场欺瞒、一坨闹剧、一汪化粪池。在此前提下,《我为蜜月狂》“蜜月期间出轨找真爱”的把戏即便不是翻拍都已倍感松稀乏味,何况还烙着“似曾相识”这个先天不足的胎记。但上述种种依然只是现象,窃以为:人民群众对爱情和婚姻的信任日渐丧失,才是左右爱情片发展方向的潜在航标。上世纪90年代,大家还愿意在电影里看到一见钟情、白头偕老,所以《风月俏佳人》和《诺丁山》的大嘴、《西雅图夜未眠》和《电子情书》的甜姐那样地让人如痴如醉,……雕栏玉砌今何在?只是朱颜改。随着全球离婚率的激增(我国也贡献了很大一部分),90年代末的爱情电影以《逃跑新娘》为标志,越来越不拿“婚姻”当回事儿;到新世纪初,游戏爱情的《十天丢个郎》和涉足网恋的《爱到房倒屋塌》已彻底取代了传统的两情相悦、海誓山盟,《初恋50次》用“失忆”来讽喻“来得快也去得快”的眼下爱情、每日速成一次的结局不可不谓辛辣,《全民情敌》干脆将求偶的方法量化,科普一样灌输着爱情是艺术更是技术的理念。影史发行奇迹《我盛大的希腊婚礼》貌似异数,但不妨归结为在爱情观和婚姻观日益变迁的当代“大龄青年的共鸣+对美满婚姻的怀念+对异域风情的猎奇”三者的结合——换言之,在即将到来的“爱情片新纪元”,《希腊婚礼》不啻前一个时代的回光返照、总结陈词。新的时代是什么呢?追求、信仰、膜拜婚姻的爱情电影走向放任、嘲讽、无视婚姻,从前贵为爱情电影最终章的婚姻,到《新婚告急》这里沦为起点。《史密斯夫妇》真刀真枪地解构夫妻关系;《分手》干脆把一刀两断的故事当爱情片兜售;而这两部戏的四位主角珍妮佛·安妮斯顿、布拉德·皮特、安吉丽娜·茱莉、文斯·沃恩上演的幕后故事,无疑惟恐天下不乱地刺激着人们对婚姻的怀疑情绪的疯长;何况还有甚至连电影都演不上的布兰妮·斯皮尔斯凭借“真人版”推波助澜……。糟糕的是,这些远远不是最糟糕的——至少它们都大卖了,说明纵使大家对婚姻和爱情没了信任,至少还有兴趣。可《伊丽莎白镇》、《同居三人行》、《休闲时光》、《结婚证书》乃至今天的《我为蜜月狂》越来越差的卖相,分明意味着观众群连兴趣也快丧失殆尽。曾经憧憬婚姻的粉丝在今天很可能是婚姻的受害者,他们当然不再接受童话故事;同理,拜他们所赐而从单亲家庭里成长起来的一代,愿意花钱“上当”才怪!最终,在这个爱情片的新时代,“婚姻电影”一步一步走向“性喜剧”。这个彼时脱胎于“青春片”的边缘类型(譬如《美国派》系列),仅用数年时间便迅速完成从异端到主流的蜕变:《四十岁老处男》、《一夜大肚》、《超级坏》堪称实现其当家作主的三级跳;就算不以“性”为卖点,调侃“性取向”的《我盛大的同志婚礼》同样居心叵测。总之,电影中的爱情和婚姻的变脸,直接映射出现代人相关理念和态度已大不一样。最后回头看《我为蜜月狂》的舆论反馈。“与法拉利兄弟的早期作品相比简直是天壤之别!”、“保守得既没进取心又缺乏锐气”、“冗长无聊的笑话四处冒尖,把仅存的几句有活力的台词挤兑得无立锥之地”、“乱感伤的故事‘哈欠效果’奇佳”、“唯一的亮点是米切尔·摩纳翰的表演”……,媒体综评45分(Yahoo方面为C、烂番茄网站新鲜度31%),恕我保守,最终票房貌似很难突破6000万$。四、“2007暑期档盘点”系列专题(八)[返回目录]2007年度暑期档Top 20排名(5月4日至9月3日)按老美的约定俗成委屈一下《谍影憧憧Ⅲ》、《尖峰时刻Ⅲ》、《超级坏》三位8月公映的作品,狠心将暑期期限严格划界于劳动感谢节,故而得出上述榜单。排序仅以北美票房为范畴,即便《海盗Ⅲ》、《料理鼠王》之类倚赖海外票房不仅能养家糊口而且收获颇丰的作品也一视同仁,参考本土成绩仍按“未如预期”如实处理。今后两周将详细分析暑期影市的各种特色和现象,本期碍于篇幅只将榜单列出,还请各位朋友海涵,^_^!五、“2008奥斯卡战线”系列专题(一)[返回目录]10月1日↑《野蛮人》(The Savages,塔玛拉·詹金斯执导)的劳拉·琳妮呼声日益高涨,甚至爆出“明年的影后之战将是劳拉·琳妮与茱莉·克里斯蒂(《柳暗花明》[Away from Her,萨拉·波莉])单挑”的业界观点。↑加拿大导演工会评选《柳暗花明》的萨拉·波莉为年度最佳导演。↑《追风筝的人》(The Kite Runner,马克·福斯特)是一部感动心灵之作,被指“有望斩获金球奖最佳外语片!”10月2日↑《未血绸缪》(There Will Be Blood,保罗·托马斯·安德森)呼声暴涨,试映会惊爆“21世纪的《公民凯恩》!!!”的诡异呼声。→《救赎之路》(Reservation Road,泰瑞·乔治)的珍妮佛·康纳莉确定按“女配角”报名,马克·鲁法洛目前计划按“男主角”报名,但不无变更为“男配角”的可能性。↓《蓝莓之夜》(My Blueberry Nights,王家卫)因在戛纳电影节被指冗长,而极有可能回炉重新剪辑。10月3日↑《伊丽莎白女王传Ⅱ:黄金时代》(Elizabeth: The Golden Age,谢加·凯普尔)的凯特·布兰切特荣膺桑塔巴巴拉电影节荣誉奖(最佳表演奖)。↓“史密斯夫妇”布拉德·皮特和安吉丽娜·茱莉今年各有一部作品竞争演技奖,但无论《刺杀神枪侠》(The Assassination of Jesse James by the Coward Robert Ford,安德鲁·多米尼克)还是《坚强的心》(A Mighty Heart,迈克尔·温特伯顿)目前均被指处于落选的边缘。↓今年西部题材过分扎堆,一举涌现出《未血绸缪》、《刺杀神枪侠》、《决斗犹马镇》(3:10 to Yuma,詹姆斯·门戈尔德)三部作品。现阶段已爆出“《刺杀神枪侠》和《决斗犹马镇》将被年底公映的《未血绸缪》彻底抢去风头!”的业界观点。10月4日↑《充气娃娃之恋》(Lars and the Real Girl,格雷格·吉雷斯佩)的看点据传是精巧的原创剧本和雷恩·高斯林的演技,后者甚至有望狙击金球奖音乐/喜剧类的影帝提名。↑《理发师陶德》(Sweeney Todd,蒂姆·波顿)虽然改编自同名音乐剧,却并非是一部令人联想到百老汇的作品,据传散发着“波顿的哥特世界观”。↑《婚礼上的玛戈》(Margot at the Wedding,诺亚·伯恩巴赫)据传“最有希望在今年的一干冲奥喜剧小品中杀出重围”。10月5日↑《发胶》(Hairspray,亚当·山克曼)的妮可·布伦斯基、《荒野生存》(Into the Wild,西恩·潘)的埃米尔·赫奇荣膺桑塔巴巴拉电影节突破表演奖。↑《野蛮人》的主打角色据传是劳拉·琳妮扮演的人物,“捍卫亲情的小人物+逆境中的强韧女性”非常有利于冲奖;菲利普·西摩尔·霍夫曼扮演的人物则着墨不多。↓《傻瓜》(Leatherheads ,乔治·克鲁尼)的公映日期由2007年12月7日推至2008年4月4日,……再见,小金人!10月6日↓《兽性诱惑》(Savage Grace,汤姆·凯林)的公映日期由2007年推至2008年,……再见,小金人!↑《Rockett》(帕特里克·西塞姆)据传为莎朗·斯通准备了凸显演技的众多戏眼。10月7日↑《自由驰骋》(I'm Not There,托德·海因斯)的凯特·布兰切特被指占据了凸显演技的众多戏眼。↑北美最大规模的影评人协会——广播影评人协会宣布《巨塔杀机》(Eastern Promises,大卫·柯南伯格)为9月份最佳影片。六、新片《黑暗崛起:召唤者》、《感受热浪》、《晚安好梦》[返回目录]20世纪福克斯赌上3141家院线的魔幻电影《黑暗崛起:召唤者》(The Seeker: The Dark is Rising)以不足1200$的惨淡平均值仅获372万$的首映收益,在第五位勉强登场。选择将苏珊·库珀的同名小说搬上大银幕,奇幻的世界观倒在其次,系列总计五本的“数量”恐怕才是老狐狸的真正所图。遗憾的是,去年拥有三部曲小说的《龙骑士》因首部的糟糕表现而取消继续制作续集计划的悲剧在《黑暗崛起》身上重演。预告片里已初露“毫无冲击力和原创性”的端倪,在正片中则进一步得以证实。媒体综评38分(Yahoo方面为C、烂番茄网站新鲜度17%),影评人拍砖毫不客气:“原著光明与黑暗对决的魔法魅力丧失殆尽”、“想在风潮退去之前赶上魔幻文学的‘时髦班车’固然可以理解,但拿出如此千疮百孔的改编剧本吓唬人,实在没脸见人”、“本应成为特色的英伦古典风情,被廉价的好莱坞三流车间的臭味取代”、“拍成这副样子,即便爆出电影制作方被原著粉丝谋杀的新闻也完全合情合理”……。索尼BMG的《感受热浪》(Feel the Noise)以1015家影院的小型规模开画,但340万$的首映数字同样不甚理想(单馆平均3300$)。尽管当初的摄制意图是“再现《街舞少年》的辉煌”,但无论首映级别抑或宣传水准均曝光了因《超级坏》热卖而止不住笑的索尼阵营明显对本片心不在焉。顺便说一句,“珍妮佛·洛佩兹担当监制”的噱头效果似乎为零……。媒体综评40分(Yahoo方面未统计、烂番茄网站新鲜度40%),除“大音量惹人耳鸣”、“新意、诚意双双欠奉”之外,倒也没有太多的批评。格温妮斯·帕特洛不惜客串黄脸婆也要倾力助阵的《晚安好梦》(The Good Night)在2家院线小范围点映,约6300$的“亩产”和这位奥斯卡影后的老弟杰克·帕特洛的处女作执导水平都很不成话,事前妄自尊大的小金人运程然也瞬间灰飞烟灭。“冰块似的题材倒进导演调度的凉白开,任实力派演员再怎么搅和也是清清冷冷、无滋无味”、“缚手缚脚的伪矜持徒劳无功地纠结,结局却过目即忘”、“马丁·弗里曼的喜剧天赋根本没被充分发挥、更遑论影后级佩内洛普·克鲁兹和格温妮斯·帕特洛”……,媒体综评48分(Yahoo方面为C、烂番茄网站新鲜度30%)。七、其他影片的票房情况:《色,戒》、《荒野生存》等稳步扩映![返回目录]↑《决斗犹马镇》在好口碑的保驾护航之下越战越勇,渐呈逼近6000万$之势,结合海外和DVD收入,回收5500万$的制作费不在话下。《韬光养晦》被击沉的拉塞尔·克劳终于借助本片重获票房浮力。↓《巨塔杀机》扩映后明显后劲不足,本周以197万$的收益位居排行榜第11位、单馆平均值1600$左右、迄今累计1400万$,该成绩对冲击奥斯卡奖而言俨然消极素材。↓《简·奥斯汀书友会》本周扩映失败,本周以153万$的收益位居排行榜第13位、在1232家院线的单馆平均值仅1200余$、迄今累计201万$。↑《荒野生存》本周扩映成功,本周以130万$的收益位居排行榜第16位、在135家院线的单馆平均值保持在近9600$、迄今累计246万$。↓《变形金刚》IMAX版上映之后并无剧烈反响,本周以93万$的收益下滑至排行榜第18位,距离《斯巴达300勇士》和《哈利·波特与凤凰社》爆棚IMAX的滚沸程度甚远。→《超级坏》本周突破1.2亿大关$,正是超越1.19亿的《我盛大的同志婚礼》。↑《穿越大吉岭》本周扩映成功,本周以56万$的收益位居排行榜第24位、在19家院线的单馆平均值保持在29100$左右、迄今累计78万$。↑《色,戒》本周扩映成功,本周以37万$的收益位居排行榜第26位、在17家院线的单馆平均值保持在近22000$、迄今累计48万$。八、下周预告[返回目录]票房系:1、犯罪惊悚剧《我们拥有夜晚》(We Own The Night);2、又拿婚姻开涮的《后悔莫及》(Tyler Perry's Why Did I Get Married);3、运动剧情片《最后赛季》(The Final Season) 。奥斯卡系:1、凯特·布兰切特再挑战女王题材的《伊丽莎白女王传Ⅱ:黄金时代》(Elizabeth: The Golden Age);2、雷恩·高斯林主演的爱情喜剧《充气娃娃之恋》(Lars and the Real Girl); 7 | 阿童木与七龙珠重生 经典卡通纷纷上大银幕(图)新报讯【记者 王轶斐】包括《七龙珠》《铁臂阿童木》这样的经典卡通故事都将在银幕上重装上阵。记者获悉,华裔导演黄毅瑜将拍摄《七龙珠》的电影版本——《龙珠Z》,并将展开全球演员海选。而曾经制作了《忍者神龟》的意马公司再度制作《铁臂阿童木》和《科学忍者队》的电影版,并由韦恩斯坦公司负责发行。《铁臂阿童木》不仅在日本取得巨大成功,而且在世界范围都很有影响,在亚洲“阿童木”的影响力可以与迪斯尼的米老鼠、唐老鸭相媲美。1981年中央电视台首次在内地播放了这部动画片,共52集,虽然没有多少人还能记得具体情节,但是只要“10万马力,7大神力,无私无畏的阿童木”的主题歌一响起,他们仿佛又回到了美好的童年时代。《铁臂阿童木》故事说的是天才科学家天马博士的儿子Tobyo在车祸中身亡。天马痛失爱子,伤心不已。随后以自己儿子的外形制造了拥有7大神力、10万马力的机器人替代他的儿子。后来由于Tobyo不能长大,天马把它卖给了马戏团;马戏团里虐待机器人,他被科学省长官茶水博士赎出,取名“阿童木”,并带回科学省。在以后的生活里,他有时候会因作为机器人而备受歧视,但他一直想在人类和机器人之间搭起友好的桥梁,并同恶势力做斗争。据悉,这部电影版CG动画片《阿童木》剧情是全新创作的,导演是科林·布莱迪,计划于2009年上映。《七龙珠》在日本漫画界具有不可动摇的地位。近日,好莱坞20世纪FOX公司宣布,将于明年在蒙特利尔拍摄《龙珠Z》真人电影版的消息。预计制作费用超过1亿美元,从明年7月开始进入拍摄阶段,如果顺利的话将会在2009年上映。曾经执导《死神来了》的华裔导演黄毅瑜将执导真人电影版《龙珠Z》。初步上映时间也定于2009年。两部日本漫画被搬上大银幕,似乎预示着日本漫画电影化的趋势,这对于影迷以及漫画迷来讲,无疑都是好消息。 8 | 传冯远征有望加盟《木乃伊3》 二度饰太监(图)新浪娱乐讯 10月22日,河北某古长城遗迹附近,好莱坞大片《木乃伊3》正火热拍摄秦朝军队战争场面。据剧组透露,本片除有李连杰(blog)和杨紫琼两位华裔演员加盟外,制片方还欲邀因饰演《不要和陌生人》成名的国内演员冯远征加盟,在片中饰演一个大内太监。就是否出演《木乃伊3》的问题,冯远征经纪人闫小姐表示,目前冯远征正在南京拍摄《江南往事》,与《木乃伊3》剧组曾有过初步接触,是否出演还要等冯远征的档期再决定。闫小姐说:“他在《张居正》中就饰演过大太监冯宝,《木乃伊3》的剧本我还没有看到,据我了解,这个角色是一个很有分量的配角。” 9 | 《木乃伊3》热拍 破例开放禁地允许探班(组图)新浪娱乐讯 好莱坞大片《木乃伊3》正在上海与河北天漠两地热拍,该片由中美双方投资,两国演员出演主要角色,并且在中国拍摄周期长达一个多月,是近年中美合拍片中极为突出的一部,因此受到了全国媒体的高度关注。《木乃伊3》剧组今日首次破例允许新浪娱乐探班河北天漠拍摄基地,这也是内地媒体对好莱坞片制作流程的一次初探,从工作人员规模、外景地设施安排,甚至只是一个食堂,都可以看到好莱坞这个电影工场的完善之处。好莱坞剧组首度开放“禁地”当日,一向风沙凌厉的天漠少有的天清气朗,与北京满城的浓雾形成对比。在进入天漠的路上,可以看到写着《木乃伊3》代称的"M3"字样挂牌吊在树枝上以作指示与引路。一路的黄沙与枯枝异常沉静,难以想象在这片荒漠公园里面竟有数百名中美工作人员正在忙于拍摄。当一进入工作场地,气氛就明显不同,虽然媒体只允许在拍摄场地外围参观,但已可小觑好莱坞制作之庞大与严谨。外场整齐地分布着数个巨大的帐篷和工作室,有化妆室、更衣室、训练营等等,少数工作人员正在分配着各自当日的任务。由于得到允许参观剧组,在场工作人员也显得比较放松。因此,我们得以任意在外场允许范围内参观拍摄。相信这也是好莱坞剧组极为破例的一次开放行为。李连杰(blog)巨人像耸立荒野此前曾有不少媒体试图一探《木乃伊3》外景地,却无奈于严密的保安措施。当日我们虽然未能进入拍摄主场地,但从外围可看到李连杰在片中的巨人像高高耸立在荒漠之中,散发出一种诡异的氛围。而主场地之外的化妆室的配置则可以看出,天漠公园拍摄的戏份集中于李连杰部分,更衣室里挂满了带盔甲的秦朝战衣,而化妆室里面每一面镜子都贴着仿秦代的发髻造型。似乎是为了"补偿"未能进入拍摄主场的遗憾,剧组人员特意带我们参观了食堂。并再三叮嘱不允许拍摄。这个"普通"的食堂,却正正体现了好莱坞完善的电影工业下。这些外景地由于客观环境恶劣,演员和工作人员一般对于工作餐只能将就着吃。但《木乃伊3》的随行外国厨师就有好几个,工作餐一点也不马虎,而且还特意分了中西餐两个食堂,迁就不同口味。同行的媒体看到食物后,感慨说,要拍下来让内地剧组学习学习……胡军客串一天戏份虽然李连杰、杨紫琼等主要演员当日均在天漠,但接受采访的只有杨紫琼一人。不过从知情人士口中依然了解到一些小花絮。据了解李连杰并没有带保镖在场,而与两位亲兄弟"并肩作战",他的兄弟会负责帮他处理各种事务,例如开车等。而各位演员都"受不了"天漠的荒芜,一拍完戏不管多晚马上就要回北京酒店休息。据知情人士保料,胡军也在天漠客串了一天的戏份,而黄秋生(听歌)等则已经完成了拍摄。谭争?/文图 10 | 日本翻拍黑泽明《战国英豪》 松本润主演(图)新浪娱乐讯 28日,日本方面宣布将翻拍黑泽明50年前的作品《战国英豪》,起用松本润担纲主演,?口真嗣执导。这是继《椿三十郎》后又一部黑泽明作品被翻拍。女主角雪姬定为长泽雅美,阿部宽出演大将真壁六郎太。黑泽明的《战国英豪》,据称美国经典电影《星球大战》的灵感亦来源于此。原作故事描述战国时代,秋月家族的传人雪姬公主,在一个忠心的大将(三船敏郎扮演)保护下,带着一批黄金逃出敌人的搜捕、投靠盟国的故事。原著电影获得1959年柏林电影节最佳导演奖。这次翻拍由刚刚翻拍完《日本沉没》的?口真嗣执导,日版《花样男子》中的道明寺扮演者松本润主演。?口导演说“一定会颠覆松本润一贯予人的印象!”而松本润也表示“我一定会全身心的投入,去挑战这个伟大的作品。”此前松本润一直是以华贵王子形象出现,还从未饰演过如此粗野的农民角色。《战国英豪》是黑泽明在昭和33年(1958年)拍摄公映的电影,讲述败军之将六郎太带领家族传人雪姬一边守护军费,一边与途中遇到的两个农民合作,一起突破敌阵的故事。不过与原作电影有比较大不同的是,日本这次决心将整个故事重新颠覆,把遇到的两个农民中的一个设为影片的主人公武藏,也就是松本润扮演的这个角色。?口导演在50年后重现这部电影时,表示基于“现代观众所关注的人物与主人公都会和原来的不一样”,所以新作的登场人物,角色关系以及故事背景都会发生变化。武藏决不是强者,也不是英雄,但是他希望脱离那种拜倒在别人脚下的生活,从毫无希望的生活中自拔出来,这个时候,六郎太所持有的军费就成为他的目标,这是个充满人间铜臭的男人。想刻画出这样的武藏,导演看中了松本润。松本润曾经在TBS电视台拍摄的《花样男子》中扮演了豪门贵公子的形象,也有塑造过梦想成为一流厨师的热血男儿,今年的《妹妹恋人》是他首次主演大电影,但?口导演笑着表示“他还有隐藏着的野性没被发掘,想要推翻他到现在为止给人的高贵印象,至少也是一个比较肮脏的新形象来出现。”第一次拍摄这样的历史时代大戏,松本润不敢怠慢,充分鼓起自己的热情,已经加紧开始马术训练,并且表示,“希望能够拍摄一部流传久远的经典电影,以后可以和自己的孩子甚至孙子一起观看。”偶像人气演员长泽雅美则出演影片中的雪姬公主,这也是她首次主演历史时代大戏。而阿部宽就将挑战三船敏郎,出演原作中就重力刻画的大将真壁六郎太。声明:新浪网独家稿件,转载请注明出处。 11 | 新品大作《神域OL》游戏画面欣赏由数字鱼即将推出的手机网游大作《神域》即将与广大玩家见面,在游戏正式公开之前,让我们先来欣赏一下来自《神域》的精彩游戏画面:经典的中国古典建筑风格看看宁静的幕沙月湾千万年来,女神孤独的守护着这个世界火焰肆虐,厄运天忌在咆哮!剑舞者战斗英姿杀戮之玫瑰华丽绽放美女与神仙海底世界的奇妙想体验更多的精彩吗?那么,请不要错过《神域》,在这个有些寒冷的日子里,《神域》必将带给你不同的惊喜! 12 | 《宝贝国度》梦网版 新开服装大抢购昨天宝贝梦网例行维护后,高级商人处随之新增了卡卡西头和海盗装。听到开服的通知,玩家们簇拥而至,跑到各村的高级商人处,看看新到的装扮!!就要过年了,海盗装,海盗帽这一套装扮,红通通,喜洋洋,一定会让你“红”福齐天!!!卡卡西头,多独特的发型,是多少人梦寐以求的!!有多少人能抵挡得了这些吸引人眼球的装扮!!新到服装即将抢售一空,走过路过千万不要错过哦!!!还没加入宝贝梦网的,赶快拿起手机,登陆 移动梦网-网游-《宝贝国度》专区免费下载吧!!!更多消息请关注官网web:http://baby.pri-song.com/Wap :http://b.pri-song.com客服座机:0731-82587029客服手机:15974181004客服QQ:569803881客服邮箱:kf@pri-game.com 13 | 《棒棒堂》打响你心爱的“小算盘”《棒棒堂》又出周二活动啦!!小算盘们,快点来!!嗯哼,这次的活动非常的简单,不过就是加减乘除四则混合运算呗~看你们的手动得快还是心算得快\(^ 0^)/活动时间:2010年1月19号20:30——2010年1月19号21:40 活动规则:活动期间,登录《棒棒堂》,进入社区,男女朋友版块的置顶活动贴。小棒会每5分钟出一题,共15题。由小棒说出游戏商城里商品的名称及数量(商品单价均按原价计算),你们来计算金币,每题答对的前3名奖1000金币红包。例:小棒所出问题为:“3个金钥匙+1个银钥匙,共多少金币?” 回复“8100”(不用回复标点符号)即为正确答案。答案必须完全正确,且其中不能包含其他任何字符,包括表情;每题1个帐号只能获奖1次;但不同的题目不限参与次数。活动期间答对题目最多的玩家将获得《棒棒堂小算盘》荣誉称号,并奖中国 移动全国通用30元充值卡1张;小算盘只评1名,如有多名玩家答对题目并列第一,奖选取游戏中最先答对题目的玩家当选。心算高手和计算器达人的巅峰对决(^_-)db(-_^) 啊哈~!就在《棒棒堂》周二活动之夜![开发公司/运营公司]:炯炯网络[官网网站]:www.17joyjoy.com[wap网站]:wap.91bbt.cn[客服电话]:400-6060-995 14 | 《武林笑传--三娶娇妻》之种瓜得豆大家好,家丁甲我又来和大家见面了。话说由拉阔游戏代理,天津视点科技米来米游戏制作2010开年巨作《武林笑传-三娶娇妻》即将发布,而本人就是游戏中三位美丽小姐家中的家丁甲……今天家丁甲要给大家爆料的是本武林游戏中的特色—菜园子游戏:主角家的门前有一片菜园子,这里是可以自由种植的,当然种子只有通过某种方式才可以获得种子。自己种的菜吃了之后会有神奇功效哦,有的可以增长HP或者mp,但是这都是随机的,也有可能会吃拉肚子哦……很多玩家不知道去哪里购买种子,其实到市场找到那个可爱的孟婆,就可以买到各种种子了哦!除此之外,随风家旁边河流中的鱼是可以通过垂钓获得的,当然游戏开始时会赠送玩家一些诱饵的,这样玩家就可以自己去垂钓了,当然能否钓上大鱼还得看玩家的运气喽! 当然,家丁甲还是要友情提示:此乃一月拉阔拉响的武林双响炮第二炮…… 15 | 《灵兽世界》1月21日更新客户端各位玩家好!灵兽世界将于年1月21日更新客户端,最新版本号为1.33。为配合客户端更新工作,将在1月21日上午8点至12点维护服务器。本次为强制更新客户端,请大家将原有客户端卸载并下载安装1.33版本客户端。卸载客户端之前,请大家记录好游戏账号及密码。更新后,装备体系将隆重上线,同时将开启新关卡——飞翼密林与不死迷城,角色与灵兽等级上限调整为150级。并在认真讨论玩家所提建议后将部分游戏内容优化调整,主菜单增加聊天菜单等都将在本次更次后上线。灵兽世界更多精彩内容尽在1.33版本,欢迎大家进入灵兽世界,灵兽世界因为有你更精彩!1月21日八点以后,大家可使用手机登陆以下网站下载《灵兽世界OL》1.33版本客户端,预祝大家在灵兽世界中度过愉快的游戏生活!网址一:www.joy-game.com/wap(打开网站,选择【下载】—下载安装)各位玩家好!灵兽世界将于年1月21日更新客户端,最新版本号为1.33。为配合客户端更新工作,将在1月21日上午8点至12点维护服务器。本次为强制更新客户端,请大家将原有客户端卸载并下载安装1.33版本客户端。卸载客户端之前,请大家记录好游戏账号及密码。更新后,装备体系将隆重上线,同时将开启新关卡——飞翼密林与不死迷城,角色与灵兽等级上限调整为150级。并在认真讨论玩家所提建议后将部分游戏内容优化调整,主菜单增加聊天菜单等都将在本次更次后上线。灵兽世界更多精彩内容尽在1.33版本,欢迎大家进入灵兽世界,灵兽世界因为有你更精彩!1月21日八点以后,大家可使用手机登陆以下网站下载《灵兽世界OL》1.33版本客户端,预祝大家在灵兽世界中度过愉快的游戏生活!网址一:www.joy-game.com/wap(打开网站,选择【下载】—下载安装) 16 | 120G硬盘高清DV 索尼XR500E单机8650元    作者:李金昊    [北京行情] 索尼新一代旗舰级民用摄像机XR500E,采用总像素为663万的“Exmor R” CMOS影像传感器。使用专业的“G镜头”具备12倍光学变焦性能并配备光学防抖功能,作为旗舰级产品,XR500E具有海量存储空间,120GB的容量可以满足长时间拍摄的需要。目前这款高端家用摄像机报价为8650元,搭配摄影包和国产备用充电器。    索尼XR500E使用了专业的索尼“G镜头”,这款镜头拥有出众的光学设计和质量控制体系。除此之外,这款镜头还经过优化处理,与影像传感器和影像处理技术之间兼容良好,从而充分地展现拍摄性能。同时XR500E还可以拍摄1200万像素的静态图像。    XR系列中各型号产品的硬盘存储空间相对于前作也有了显著的提升。HDR-XR500E配备了目前索尼中端的120GB硬盘,同时还支持记忆棒存储,用户可以根据自己的使用习惯选择介质记录动态和静态影像。    编辑观点:    作为一款民用级的旗舰产品,索尼XR500E具备出色的性能表现,G系列镜头为影像提供了更加出色的细节表现。120GB的硬盘则让长时间拍摄成为可能。总体来看,无论是从性能还是价格,这都是一款消费类高端产品。    索尼 HDR-XR500E    [参考价格] 8650元    [商家电话] 010-82536437 17 | 18-200mm原厂防抖镜头 佳能500D套机小涨(中关村在线数码相机行情报道)佳能E0S 500D是一款拥有1500万像素成像能力,使用DIGIC4图像处理器,拥有3英寸92万像素液晶屏,以及1080P高清摄像功能的入门级数码单反相机。国庆节后,配备佳能EF-S 18-200mm IS防抖镜头的500D套机,价格略有涨幅最新市场售价是8100元。编辑观点:无论是1500万的超高像素,92万像素LCD屏幕,还是在顶级机身中才能找到的1080P摄像功能,可以说佳能的EOS 500D在硬件水平上已经完全达到了中端单反的水平。而套机中的18-200mm镜头,拥有实用的焦段和不错的防抖性能,两者相搭配是一个不错的一镜走天下配置。 18 | 24mm广角5X光变 佳能卡片IXUS200节后降(中关村在线数码影像行情报道)佳能IXUS 200 IS 配备24mm超广角并采用3.0英寸“晶炫II”触摸液晶屏,在佳能数码相机的发展史上还是第一次。国庆节后,这款卡片机新品的售价也有了一百元的价格调整,由之前的2480元降至现在的2380元。 19 | iriver B30香港开卖 8GB容量售1500元    作者:曹锐    iriver B30加入了SRS WOW HD音效,支持Micro SD卡扩充容量,屏幕尺寸为2.8英寸,分辨率为240×320,支持MP3、WMA、OGG、ASF、FLAC、APE多种音频格式;支持AVI、WMV、MP4三种视频格式,码流高达30fps。前期该机仅于韩国进行限量销售,目前该机已于香港开卖,8GB容量产品的上市售价为139英镑,约合人民币1516.46元。    B30支持JPEG、BMP、PNG、GIF四种图片格式,支持TXT文档,FM收音、以及DMB功能。续航能力可提供40小时音频播放或者6小时视频播放。 20 | 低价又实用!尼康L19促销售价低至699元编辑观点:尼康L19拥有主流的拍摄性能,可以应对入门级用户的拍摄需要。突出的手柄设计让握持更加的稳定。两节AA电池的电力供应,让后备电源的选择更加方便。 21 | 肥水也流外人田金元比联申购别家基金本报讯 近日,金元比联基金公司的一则申购公告引起了多方注意。公告显示,12月4日该公司运用固有资金通过基金管理人直销机构申购货币市场基金。值得注意的是,金元比联此次投资的对象不是自家旗下的基金产品,而是涉及三家基金公司的货币型基金,分别为工银瑞信货币市场基金、大成货币A基金和海富通货币B基金。对于此次申购行为,该基金公司总经理易强表示,这次申购行为主要是基于公司目前手头有一笔闲置资金,而前不久的降息使现金存款的收益收窄,因此考虑利用这笔资金进行投资。同时考虑到现金流动性,选择货币型基金作为投资对象,因为金元比联旗下产品线并不完善,所以此次投资的对象为其他公司的基金。也有分析人士指出,此次金元比联的投资行为带有更多让人难以理解的成分。首先,作为一家以保本产品为主线的基金公司,目前公司的产品线也打破了它此前走专业保本之路的初衷,其公司本身也没有一个确定产品理念;其二,在进行此次投资时,公司没有选择旗下的保本产品也没有考虑新发的混合型基金,容易引发投资者对公司的各种猜想;第三是此次申购在三只货币基金的选择上也存在商榷之处,毕竟三只基金中有一只基金的排名在全部40只货币型基金中处于中游,并非货币基金的最优选择。(程俊琳) 22 | 降低营业税预期鼓舞 基金反手做多银行股张伟霖 在降低营业税传闻刺激下,A股银行股与H股的中资银行股集体上涨。 机构预期营业税率每下降1%,相当于增加了上市银行的净利差3.7-5.9 个基点,增加净利润1.5%-5.0%。 此前,众多基金一度减仓银行股,而在汇金增持以及降低营业税的预期鼓舞下,基金反手做多,回补银行股。而当此番以银行股为代表的大蓝筹企稳之后,基金也进一步憧憬后市行情的空间。 机构憧憬银行业减税利好 12月8日,H股的中资银行股全面暴涨。 招行H股领涨11.2%,至14.26港元,建行H股早盘涨幅一度在9.3%,工行H股当日的最高涨幅也至8.6%。 香港某券商人士则对记者表示,早在上周五,香港已经传出内地银行有可能降低营业税的消息。 该人士表示,如果上述传闻属实,将上调银行股评级至中性。因为降低营业税,将使中资银行利润提高6%-7%,净资产收益率也将上升0.9-1.0个百分点。 上述券商人士同时预计,目前内地银行股平均市净率在1.5倍左右,在利好消息刺激下,短期有望提高至2倍PB。 与此同时,在12月8日,国内银行股也小幅上扬,浦发银行和招商银行的涨幅均在8%以上,工商银行、建设银行的涨幅也分别为2.5%和2.73%。 记者获悉,目前分析师们普遍预期,当前如果对营业税进行调整,更有可能的是将税赋像上一轮宏观调控一般逐步降低,而非全部取消。 在2001年至2003间,银行业的营业税每年降低一个百分点,从原来8%降至5%,并沿用至今。 而目前营业税却仍是占据银行业成本的较大比重。根据中国银行业协会组织的数据,2007年,银行业金融机构缴纳税款达1979.54亿元,其中缴纳营业税及附加则是达到了683.83亿元,为2007年银行业税后利润4467亿的15.3%。 具体到各家上市银行股,根据银河证券银行业分析师张曦提供的数据,截至2008年中期,工商银行的营业税及其附加总金额达145亿、建设银行为123亿、招商银行为23.84亿、浦发银行为18.54亿、民生银行为20.47亿、兴业银行则为14.7亿,与当期净利润之比分别为22%、22%、17%、28%、30%、21%。 而根据相关机构预测,一旦进行营业税调整,将大幅减轻两次降息、尤其是10月的非对称降息所造成的银行净利差下降而对于整体业绩的影响。 此前机构曾预计,当前正处于降息周期中,银行净利差下降的趋势已经确定。中金公司预计,到2010年,上市银行的净利差将下降32~82个基点,基本回到加息前的水平。这一结论直接导致中金公司得出“2009、2010年上市银行业绩基本没有增长,部分银行出现负增长”这一目前市场上最悲观的预期。 如果商业银行的整体营业税率得以下调,根据交银国际的预测,则税率每下降1%,相当于增加了上市银行的净利差3.7-5.9个基点,增加净利润1.5%-5.0%;即使是仅下调商业银行利息收入的营业税而非息收入的营业税保持不动,则税率每下降1%,相当于增加上市银行的净利差2.6-5.3个基点,会增加净利润1.2%-4.9%。 国泰君安银行业分析师伍永刚对记者表示,以2007年的相关参数为依据,营业税每降低1个百分点,股份制上市银行的净利润将增加3-4个百分点;大行与城商行的净利润将增加2-3个百分点。 QFII抢先进场 与此同时,在12月3日以后,A股的银行股已经连续4日造好,机构投资者也开始调整在大幅降息后对银行股的悲观看法。 深圳某基金投研副总监对记者表示,从盘面上看,近日确实有逐利资金入场建仓银行股,相信有不少是冲着汇金增持消息过去的。 “据我了解的情况,基金在两次降息过程中,尤其是前期的非对称降息中针对银行股大肆调仓。而在当前市场相对稳定之下,也有部分调整过度的基金有重新回补的需要。” TOPVIEW数据显示,截至12月3日,银行股录得11天资金净流出。 而从11月27日到12月3日之间的五个交易日里,银行板块也是位居基金席位减仓金额之首,其中对浦发银行、招商银行、民生银行抛盘在8亿以上。而在3日传出有汇金增持利好的工商银行、建设银行、中国银行也是录得1-3亿左右的资金流出。 不同于基金同期对银行股的谨慎做法,QFII此番再次抢先一步,在银行股普涨之前就已经大肆做多银行股。 TOPVIEW数据显示,从11月27日到12月3日之间的五个交易日里,QFII云集的瑞银证券营业部大肆做多银行股,其中买入交通银行0.55亿、兴业银行0.38亿、工商银行0.32亿、民生银行0.31亿、建设银行0.22亿、招商银行0.2亿。 另一方面,当此番以银行股为代表的大蓝筹企稳之后,基金人士也进一步憧憬后市行情的空间。 上述基金投研副总监认为,银行股的企稳,一方面说明市场已经结束了单边下跌,同时对本轮反弹行情,尤其是反弹中的蓝筹股的支撑作用也十分明显。 汇丰晋信基金则在其投资周报表示,银行为代表的金融股全面启动,拉开了权重股走强的序幕。可以预见,在未来的一段时间内,蓝筹指标股的走势将成为影响今后市场走势的一个关键因素。 张伟霖 在降低营业税传闻刺激下,A股银行股与H股的中资银行股集体上涨。 机构预期营业税率每下降1%,相当于增加了上市银行的净利差3.7-5.9 个基点,增加净利润1.5%-5.0%。 此前,众多基金一度减仓银行股,而在汇金增持以及降低营业税的预期鼓舞下,基金反手做多,回补银行股。而当此番以银行股为代表的大蓝筹企稳之后,基金也进一步憧憬后市行情的空间。 机构憧憬银行业减税利好 12月8日,H股的中资银行股全面暴涨。 招行H股领涨11.2%,至14.26港元,建行H股早盘涨幅一度在9.3%,工行H股当日的最高涨幅也至8.6%。 香港某券商人士则对记者表示,早在上周五,香港已经传出内地银行有可能降低营业税的消息。 该人士表示,如果上述传闻属实,将上调银行股评级至中性。因为降低营业税,将使中资银行利润提高6%-7%,净资产收益率也将上升0.9-1.0个百分点。 上述券商人士同时预计,目前内地银行股平均市净率在1.5倍左右,在利好消息刺激下,短期有望提高至2倍PB。 与此同时,在12月8日,国内银行股也小幅上扬,浦发银行和招商银行的涨幅均在8%以上,工商银行、建设银行的涨幅也分别为2.5%和2.73%。 记者获悉,目前分析师们普遍预期,当前如果对营业税进行调整,更有可能的是将税赋像上一轮宏观调控一般逐步降低,而非全部取消。 在2001年至2003间,银行业的营业税每年降低一个百分点,从原来8%降至5%,并沿用至今。 而目前营业税却仍是占据银行业成本的较大比重。根据中国银行业协会组织的数据,2007年,银行业金融机构缴纳税款达1979.54亿元,其中缴纳营业税及附加则是达到了683.83亿元,为2007年银行业税后利润4467亿的15.3%。 具体到各家上市银行股,根据银河证券银行业分析师张曦提供的数据,截至2008年中期,工商银行的营业税及其附加总金额达145亿、建设银行为123亿、招商银行为23.84亿、浦发银行为18.54亿、民生银行为20.47亿、兴业银行则为14.7亿,与当期净利润之比分别为22%、22%、17%、28%、30%、21%。 而根据相关机构预测,一旦进行营业税调整,将大幅减轻两次降息、尤其是10月的非对称降息所造成的银行净利差下降而对于整体业绩的影响。 此前机构曾预计,当前正处于降息周期中,银行净利差下降的趋势已经确定。中金公司预计,到2010年,上市银行的净利差将下降32~82个基点,基本回到加息前的水平。这一结论直接导致中金公司得出“2009、2010年上市银行业绩基本没有增长,部分银行出现负增长”这一目前市场上最悲观的预期。 如果商业银行的整体营业税率得以下调,根据交银国际的预测,则税率每下降1%,相当于增加了上市银行的净利差3.7-5.9个基点,增加净利润1.5%-5.0%;即使是仅下调商业银行利息收入的营业税而非息收入的营业税保持不动,则税率每下降1%,相当于增加上市银行的净利差2.6-5.3个基点,会增加净利润1.2%-4.9%。 国泰君安银行业分析师伍永刚对记者表示,以2007年的相关参数为依据,营业税每降低1个百分点,股份制上市银行的净利润将增加3-4个百分点;大行与城商行的净利润将增加2-3个百分点。 QFII抢先进场 与此同时,在12月3日以后,A股的银行股已经连续4日造好,机构投资者也开始调整在大幅降息后对银行股的悲观看法。 深圳某基金投研副总监对记者表示,从盘面上看,近日确实有逐利资金入场建仓银行股,相信有不少是冲着汇金增持消息过去的。 “据我了解的情况,基金在两次降息过程中,尤其是前期的非对称降息中针对银行股大肆调仓。而在当前市场相对稳定之下,也有部分调整过度的基金有重新回补的需要。” TOPVIEW数据显示,截至12月3日,银行股录得11天资金净流出。 而从11月27日到12月3日之间的五个交易日里,银行板块也是位居基金席位减仓金额之首,其中对浦发银行、招商银行、民生银行抛盘在8亿以上。而在3日传出有汇金增持利好的工商银行、建设银行、中国银行也是录得1-3亿左右的资金流出。 不同于基金同期对银行股的谨慎做法,QFII此番再次抢先一步,在银行股普涨之前就已经大肆做多银行股。 TOPVIEW数据显示,从11月27日到12月3日之间的五个交易日里,QFII云集的瑞银证券营业部大肆做多银行股,其中买入交通银行0.55亿、兴业银行0.38亿、工商银行0.32亿、民生银行0.31亿、建设银行0.22亿、招商银行0.2亿。 另一方面,当此番以银行股为代表的大蓝筹企稳之后,基金人士也进一步憧憬后市行情的空间。 上述基金投研副总监认为,银行股的企稳,一方面说明市场已经结束了单边下跌,同时对本轮反弹行情,尤其是反弹中的蓝筹股的支撑作用也十分明显。 汇丰晋信基金则在其投资周报表示,银行为代表的金融股全面启动,拉开了权重股走强的序幕。可以预见,在未来的一段时间内,蓝筹指标股的走势将成为影响今后市场走势的一个关键因素。 23 | 首只创新型封闭式债券基金昨低调亮相作为首只创新型封闭式债券型基金,昨天上市的富国天丰(161010.SZ)以1.011元开盘后不久即进入调整,并一度跌破1元面值,且开盘价也成为该品种全天最高价。最终,富国天丰以1元报收,全天跌幅1.96%。由于富国天丰亮相前一日的单位净值为1.02元,因此该品种全天基本处于折价状态交易。根据国金证券基金研究中心的报告分析,由于富国天丰基金设置了“救生艇”条款,能够平衡投资者对基金收益率与流动性的需求,保护了基金持有人的利益,因此降低了该基金的深幅折价可能。而且,由于富国天丰基金的封闭期仅有3年,投资的债券品种的收益率也相对稳定,波动幅度较小,因此基金的折价幅度也不会太高。 24 | 12月基金和QFII上演多空互换□本报记者 刘兴龙 虽然昨日沪综指出现2.54%的下跌,不过12月以来大盘总体呈现出强势反弹的态势,面对市场的回暖,基金和QFII在增仓或减仓之间出现了分歧。基金、券商和保险整体做多在经历了11月份的“利好政策蜜月”之后,12月伊始沪综指走出6连阳。市场的反弹带动了基金、券商和保险等机构的做多热情。大智慧TopView数据显示,12月1日至8日,机构投资者买入金额合计543.98亿元,卖出金额合计490.14亿元,平均日成交金额为172.35亿元,与11月末平均交易金额相比高出四成。机构资金净流入总额为53.84亿元。而在此期间,基金买入金额合计447.84亿元,卖出金额合计409.84亿元,资金净流入总额合计38亿元。从数据分析来看,首先,基金资金流入金额占比仅为70.58%,也就是说券商和保险机构贡献了三成的增仓资金,改变了以往基金一家独大的局面,券商和保险机构越发积极的参与到了市场交易中;其次,纵观整个11月份,基金共计净卖出沪市A股68亿元,而进入12月份,基金已经由空转多,尤其是12月4日基金单日净买入沪市A股达61.76亿元。QFII借大宗交易减持今年四季度以来,在基金整体资金净流出的情况下,QFII始终保持着谨慎增仓的态势。不过进入12月份,随着QFII借助大宗交易平台频繁卖出股票,资金净流出金额放大,与基金资金回流形成了反差。近期中金席位在大宗交易的异动被市场广泛热议。据上交所公布的大宗交易信息显示,12月1日至今,QFII云集的中金淮海中路营业部以卖方的身份通过上交所的大宗交易平台完成112笔交易 ,涉及41家公司的42329万股股份,累计成交金额超过31.6亿元。12月份以来,大宗交易平台总计发生交易177笔,中金淮海中路营业部交易数就占到了63%,可见大宗交易成为了QFII的一个主要交易通道。而从Topview数据来看,四大QFII营业部12月以来买入25.4亿元、卖出13.23亿元、资金净流入11.17亿元。其中瑞银证券营业部是主要多头席位,5个交易日资金分别净流达7.05亿元; 两QFII巨头中金淮海中路营业部和申万新昌路营业部资金分别净流入2.91亿元、1.6亿元。而前期一直看空的高华证券北京金融街营业部也有1.35亿元的资金净流入。瑞银证券营业部作为QFII营业部是主要多头,其建仓的个股基本是金融股。包括中信证券0.52亿元、交通银行0.47亿元、兴业银行0.32亿元、中国平安0.51亿元等。大宗交易的减持和二级市场的做多似乎存在矛盾,由于目前交易数据只公开到营业部,具体操作主体只能依靠推断,这一进一出也许体现了不同主体的分歧。金融类个股资金明显回流银行和保险股是基金重仓持有的行业,在前期基金资金微量流出的影响下,金融类股票(不含券商股)是11月大盘出现反弹以来表现最弱的行业之一。自11月19日开始,金融类行业连续11个交易日出现资金净流出,成为机构资金抛压最重的板块。不过,随着12月4日基金单日净流入资金61.76亿元,银行和保险股一扫颓势,成为了近三日机构资金流入最密集的行业。TopView数据显示,12月1-3日,金融类股票的机构资金连续净流出,合计32.08亿元。而12月4日金融类行业资金净流入16.17亿元,12月5日资金净流入9.84亿元,12月8日资金净流入27.74亿元,连续三日成为机构投资者资金净流入金额最多的行业,合计流入资金53.75亿元。在12月1日以来基金资金净流入最多的10只股票中,金融类股票有3只。兴业银行、北京银行和中国平安的基金资金净流入分别为4.2亿元、2.71亿元和2.65亿元。 25 | 三九医药股改复牌 重仓基金有惊无险净值受益□本报记者 江沂 深圳报道 上周五,自9月18日起就因股改停牌的S三九(000999)宣告复牌,这只因为历史问题迟迟未能完成股改的股票,既是中药生产企业昔日的老大哥,也是今年三季度基金持有比例最高的医药股。在停牌两个多月才复牌后,三九医药并未遭遇跌停,反而于周二封于涨停,终结了今年以来长期停牌股票“复牌即跌停”的命运。重仓基金净值受益12月5日,是三九股权分置改革方案实施后的第一个交易日,开盘后,三九股价出现上涨,一度由开盘的13.05元涨到13.9元,最后以13.19收盘,加上10送3的股改承诺对价,苦候两个多月的基金当天可谓收获良多。三九医药三季报显示,基金共持有其8132万股,10送3就意味着基金将在此次股改中获赠2439万股。以上投摩根成长先锋为例,复牌当日,该基金持有的三九医药的市值由股改前的2.568亿元增加到4.085亿元。该股票当天交易额也空前放大,达到4.31亿元。当天,相关基金的净值也因此受益增长,上投摩根成长先锋、南方稳健、南方稳健二号等基金当天净值增长名列股票型基金日增长前列。12月6日,该股票继续发力,午盘封于涨停,不过这一天对提振基金净值的作用却不如前一日明显。三九医药前十大流通股东均为基金,其中以上投摩根系最为集中,旗下四只基金名列前十,上投摩根成长先锋持股比例最高,占流通股的9.16%;南方基金旗下的南方稳健、南方稳健二号对三九也情有独钟,两只基金加起来持有其流通股的9.52%。复牌未遭基金集中抛售事实上,三九也曾有过极其惊险的市场表现。S三九在9月3日公布股改方案后,曾有短暂的复牌,复牌后却连续四天出现跌停,那时基金出现了较大分歧。三季度该股票仅交易13天,其中有11天在9月的复牌后。对比该公司二、三季报基金持仓情况可以发现,基金在S三九股改冲刺阶段态度有所分歧:上投摩根在最后阶段倾向于做多,三季度共有两只基金持仓比例不变,上投摩根中国优势、上投摩根双息平衡则选择加仓,同样选择加仓的还有华夏优势增长,加仓达71万股,本月5号复牌后,三九医药也给这些果断加仓的基金带来了不错的收益;但也有基金选择了减仓,如东方精选、南方稳健、南方稳健二号的仓位都有所减少。“从以往经验看,基金在复牌首日多倾向逢高减仓,但5号以来集中抛售三九医药的情况却没有发生。”一位业内人士告诉记者。这位业内人士认为,究其原因,9月的复牌一定程度上化解了本次复牌的压力。不过他也提醒,从估值角度看,医药板块经过一轮上涨,已经显得有些高,不排除未来基金出于减少医药板块投资比例的考虑而卖出三九医药的可能。 -------------------------------------------------------------------------------- /test_data/test_keyphrase.txt: -------------------------------------------------------------------------------- 1 | 习近平出席北京大兴国际机场投运仪式 2 | 时间:2019-09-25 22:57:10来源:央视网新闻 3 | 4 | 央视网消息(新闻联播):凤凰展翅,逐梦蓝天。在新中国成立70周年之际,北京大兴国际机场投运仪式25日上午在北京举行。中共中央总书记、国家主席、中央军委主席习近平出席仪式,宣布机场正式投运并巡览航站楼,代表党中央向参与机场建设和运营的广大干部职工表示衷心的感谢、致以诚挚的问候。 5 | 6 | 习近平强调,大兴国际机场能够在不到5年的时间里就完成预定的建设任务,顺利投入运营,充分展现了中国工程建筑的雄厚实力,充分体现了中国精神和中国力量,充分体现了中国共产党领导和我国社会主义制度能够集中力量办大事的政治优势。新中国70年何等辉煌!中国共产党领导中国人民实现了一个又一个“不可能”,创造了一个又一个难以置信的奇迹。奇迹是干出来的,社会主义是干出来的。中国共产党和中国人民有雄心、有自信继续奋斗,朝着实现“两个一百年”奋斗目标、实现中华民族伟大复兴的中国梦奋勇前进。实践充分证明,中国人民一定能,中国一定行。 7 | 8 | 中共中央政治局常委、国务院副总理韩正出席仪式并致辞。 9 | 10 | 9时45分,习近平来到位于北京市丰台区的轨道交通大兴机场线草桥站,考察北京市轨道交通建设发展情况和大兴机场线运营准备情况。连接北京大兴国际机场和中心城区的轨道交通专线,一期工程41公里已建成投运。草桥站把地铁站功能和机场值机功能结合起来,让乘客在地铁站内就能实现国内国际值机,办理行李安检和托运,实现了城市交通同机场交通的无缝衔接,极大便利了广大乘客。 11 | 12 | 在草桥站进站大厅,习近平结合展板听取情况介绍。习近平强调,城市轨道交通是现代大城市交通的发展方向。发展轨道交通是解决大城市病的有效途径,也是建设绿色城市、智能城市的有效途径。北京要继续大力发展轨道交通,构建综合、绿色、安全、智能的立体化现代化城市交通系统,始终保持国际最先进水平,打造现代化国际大都市。 13 | 14 | 随后,习近平乘坐轨道列车前往北京大兴国际机场,在途中详细询问轨道列车的设计制造和票价、行李托运、同其他交通线路衔接等情况。习近平强调,城市现代化要交通先行,要发挥好大兴国际机场的辐射带动作用,联通京津冀世界级城市群、北京“四个中心”、雄安新区建设,服务好京津冀协同发展。 15 | 16 | 初秋的北京,秋高气爽,艳阳高照,阳光洒在古铜色的航站楼顶,闪耀出熠熠光彩,北京大兴国际机场犹如一只金凤凰展翅欲飞。 17 | 18 | 抵达北京大兴国际机场,习近平首先在综合交通中心听取机场综合交通体系建设情况介绍。大兴国际机场配套建设了现代化的立体交通体系,不仅在机场内部实现了公路、轨道交通、高速铁路、城际铁路等不同运输方式的立体换乘、无缝衔接,而且在外部配套建设了五纵两横的交通网络。目前,大兴机场高速、轨道交通新机场线、京雄城际铁路北京段等已同步开通。习近平对新机场配套交通设施建设表示肯定。他指出,建设内外部联通的综合交通体系,是提高机场运行效率的关键。要树立先进管理理念,运用现代信息技术,提高管理运营智能化、便利化水平。 19 | 20 | 大兴机场航站楼,是目前全球最大规模的单体航站楼,以其独特的造型设计、精湛的施工工艺、便捷的交通组织、先进的技术应用,创造了许多世界之最。航站楼里,流线型的空间结构十分宽敞明亮。习近平步行巡览站台大厅和值机大厅,实地了解值机、安检、登机和残疾人无障碍设施等情况,并结合沙盘和模型听取机场总体规划、设施建设等介绍。习近平强调,大兴国际机场是首都的重大标志性工程,是推动京津冀协同发展的骨干工程。京津冀三地要抓住机遇加强协同合作,加快推动地区高质量发展。民航业是国家重要的战略产业。要建设更多更先进的航空枢纽、更完善的综合交通运输系统,加快建设交通强国。 21 | 22 | 值机柜台前,习近平察看智能技术、全自助无纸化智慧值机的流程,对机场采用现代化设施为旅客提供便利服务的做法表示肯定。他强调,既要高质量建设大兴国际机场,更要高水平运营大兴国际机场。要把大兴国际机场打造成为国际一流的平安机场、绿色机场、智慧机场、人文机场,打造世界级航空枢纽,向世界展示中国人民的智慧和力量,展示中国开放包容和平合作的博大胸怀。 23 | 24 | 投运仪式在机场联检大厅举行。11时许,伴随着欢快的迎宾曲,习近平等步入仪式现场,全场起立鼓掌。 25 | 26 | 韩正在致辞中表示,北京大兴国际机场是习近平总书记特别关怀、亲自推动的首都重大标志性工程。这一重大工程建成投运,对提升我国民航国际竞争力、更好服务全国对外开放、推动京津冀协同发展具有重要意义。要着力构建运行顺畅、组织高效的集疏运体系,提升运行效率和管理水平,充分发挥辐射带动作用,将北京大兴国际机场打造成国际航空枢纽建设运营新标杆、世界一流便捷高效新国门、京津冀协同发展新引擎。 27 | 28 | 中国民航局负责同志向首都机场集团公司颁发北京大兴国际机场使用许可证。 29 | 30 | 11时28分,习近平走上主席台,宣布:“北京大兴国际机场正式投运!”全场响起热烈掌声。 31 | 32 | 投运仪式结束后,习近平来到机场国际出发大厅,看望参与机场建设和运营的工作人员代表。习近平同大家一一握手,代表党中央向大家并向所有参与机场规划、建设、运营的同志们表示热烈的祝贺和节日的问候。习近平指出,大兴国际机场建设标准高、建设工期紧、施工难度大,全体建设者辛勤劳动、共同努力,高质量地完成了任务,把大兴国际机场打造成为精品工程、样板工程、平安工程、廉洁工程,向党和人民交上了一份令人满意的答卷! 33 | 34 | 习近平强调,共和国的大厦是靠一块块砖垒起来的,人民是真正的英雄。大兴国际机场体现了中国人民的雄心壮志和世界眼光、战略眼光,体现了民族精神和现代水平的大国工匠风范。他希望广大建设者在新的征程上再接再厉、再立新功! 35 | 36 | 丁薛祥、刘鹤参加上述活动。何立峰主持投运仪式。 37 | 38 | 蔡奇、冯正霖、王东峰等也在仪式上致辞。 39 | 40 | 中央和国家机关有关部门,北京市、河北省、天津市和中央军委联合参谋部、空军有关负责同志,机场建设和运营单位代表等参加投运仪式。 41 | 42 | 据了解,2014年12月,北京大兴国际机场开工建设。本期工程主要建设“三纵一横”4条跑道、70万平方米的航站楼、268个机位的站坪以及相关配套设施。2018年12月,飞行区4条跑道全面贯通,飞行校验工作于2019年2月圆满完成。机场建设践行新发展理念,立足自主创新,开发应用多项新专利新技术新工艺新工法,建设指标达到世界一流。 -------------------------------------------------------------------------------- /test_data/test_summarization.txt: -------------------------------------------------------------------------------- 1 | 习近平在主持学习时发表了讲话。他强调,人工智能是引领这一轮科技革命和产业变革的战略性技术,具有溢出带动性很强的“头雁”效应。在移动互联网、大数据、超级计算、传感网、脑科学等新理论新技术的驱动下,人工智能加速发展,呈现出深度学习、跨界融合、人机协同、群智开放、自主操控等新特征,正在对经济发展、社会进步、国际政治经济格局等方面产生重大而深远的影响。加快发展新一代人工智能是我们赢得全球科技竞争主动权的重要战略抓手,是推动我国科技跨越发展、产业优化升级、生产力整体跃升的重要战略资源。习近平指出,人工智能具有多学科综合、高度复杂的特征。我们必须加强研判,统筹谋划,协同创新,稳步推进,把增强原创能力作为重点,以关键核心技术为主攻方向,夯实新一代人工智能发展的基础。要加强基础理论研究,支持科学家勇闯人工智能科技前沿的“无人区”,努力在人工智能发展方向和理论、方法、工具、系统等方面取得变革性、颠覆性突破,确保我国在人工智能这个重要领域的理论研究走在前面、关键核心技术占领制高点。要主攻关键核心技术,以问题为导向,全面增强人工智能科技创新能力,加快建立新一代人工智能关键共性技术体系,在短板上抓紧布局,确保人工智能关键核心技术牢牢掌握在自己手里。要强化科技应用开发,紧紧围绕经济社会发展需求,充分发挥我国海量数据和巨大市场应用规模优势,坚持需求导向、市场倒逼的科技发展路径,积极培育人工智能创新产品和服务,推进人工智能技术产业化,形成科技创新和产业应用互相促进的良好发展局面。要加强人才队伍建设,以更大的决心、更有力的措施,打造多种形式的高层次人才培养平台,加强后备人才培养力度,为科技和产业发展提供更加充分的人才支撑。 -------------------------------------------------------------------------------- /text_analysis_tools/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from text_analysis_tools.api.text_cluster.kmeans import KmeansClustering 4 | from text_analysis_tools.api.text_cluster.dbscan import DbscanClustering 5 | from text_analysis_tools.api.text_similarity.cosion import CosionSimilarity 6 | from text_analysis_tools.api.text_similarity.edit import EditSimilarity 7 | from text_analysis_tools.api.text_similarity.simhash import SimHashSimilarity 8 | from text_analysis_tools.api.keywords.tfidf import TfidfKeywords 9 | from text_analysis_tools.api.keywords.textrank import TextRankKeywords 10 | from text_analysis_tools.api.keyphrase.keyphrase import KeyPhraseExtraction 11 | from text_analysis_tools.api.sentiment.sentiment import SentimentAnalysis 12 | from text_analysis_tools.api.spell_correct.spell_correct import SpellCorrect 13 | from text_analysis_tools.api.summarization.tfidf_summarization import TfidfSummarization 14 | from text_analysis_tools.api.summarization.textrank_summarization import TextRankSummarization 15 | from text_analysis_tools.api.topic_keywords.topic_kwywords import TopicKeywords 16 | from text_analysis_tools.api.text_classification.fasttext import Fasttext 17 | from text_analysis_tools.api.synonym.word2vec import Word2VecSynonym 18 | from text_analysis_tools.api.synonym.synonym_dict import SynonymDict 19 | from text_analysis_tools.api.triple_extraction.triple_extraction_ltp import TripleExtraction -------------------------------------------------------------------------------- /text_analysis_tools/__pycache__/__init__.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/__pycache__/__init__.cpython-36.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | 4 | -------------------------------------------------------------------------------- /text_analysis_tools/api/__pycache__/__init__.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/__pycache__/__init__.cpython-36.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/data/apple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/data/apple.png -------------------------------------------------------------------------------- /text_analysis_tools/api/data/map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/data/map.png -------------------------------------------------------------------------------- /text_analysis_tools/api/data/simfang.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/data/simfang.ttf -------------------------------------------------------------------------------- /text_analysis_tools/api/data/stop_words.txt: -------------------------------------------------------------------------------- 1 | ′ 2 | ° 3 | 4 | gov 5 | a 6 | b 7 | c 8 | d 9 | e 10 | f 11 | g 12 | an 13 | 50% 14 | 40% 15 | 30% 16 | 10% 17 | 60% 18 | 70% 19 | 80% 20 | 90% 21 | 100% 22 | https 23 | http 24 | 正 25 | 一步 26 | 一系列 27 | 一九九七年 28 | 一九八五年 29 | 一品 30 | 一大批 31 | 一行 32 | 万人 33 | 三年 34 | 两年 35 | 五年 36 | 四年 37 | 件 38 | 三月 39 | 中 40 | 外 41 | 两个 42 | 之日起 43 | 之间 44 | 予以 45 | 化 46 | 低于 47 | 元 48 | 先 49 | 前 50 | 全 51 | 十一 52 | 十 53 | 十二 54 | 十三 55 | 十四 56 | 十五 57 | 十六 58 | 十七 59 | 十八 60 | 十九 61 | 二十 62 | 二十一 63 | 四个 64 | 三个 65 | 二个 66 | 一个 67 | 五个 68 | 六个 69 | 七个 70 | 八个 71 | 九个 72 | 十个 73 | 含 74 | 外 75 | 内 76 | 多个 77 | 多种 78 | 万元 79 | 亿元 80 | 千元 81 | 三个 82 | 三万 83 | 一批 84 | 一项 85 | 一路 86 | 一级 87 | 一年 88 | 719 89 | ● 90 | ⅰ 91 | ○ 92 | 〇 93 | 上午 94 | 下午 95 | 一条 96 | 一匹 97 | 一瞬 98 | 一万 99 | 万 100 | 千 101 | 百 102 | 1990 103 | 1980 104 | 1970 105 | 1960 106 | 1950 107 | 1940 108 | 1930 109 | 1920 110 | 1910 111 | 1900 112 | 1800 113 | 1700 114 | 1600 115 | 1500 116 | 1981 117 | 1982 118 | 1983 119 | 1984 120 | 1985 121 | 1986 122 | 1987 123 | 1988 124 | 1989 125 | 1991 126 | 1992 127 | 1993 128 | 1994 129 | 1995 130 | 1996 131 | 1997 132 | 1998 133 | 1999 134 | 2000 135 | 2001 136 | 2002 137 | 2003 138 | 2004 139 | 2005 140 | 2006 141 | 2007 142 | 2008 143 | 2009 144 | 2010 145 | 2011 146 | 2012 147 | 2013 148 | 2014 149 | 2015 150 | 2016 151 | 2017 152 | 2018 153 | 2019 154 | 2020 155 | 2021 156 | 2022 157 | 2023 158 | 10 159 | 00 160 | 01 161 | 02 162 | 03 163 | 04 164 | 05 165 | 06 166 | 07 167 | 08 168 | 09 169 | www 170 | com 171 | cn 172 | jp 173 | 174 | 11 175 | 12 176 | 13 177 | 14 178 | 15 179 | 16 180 | 17 181 | 18 182 | 19 183 | 20 184 | 21 185 | 22 186 | 23 187 | 24 188 | 25 189 | 26 190 | 27 191 | 28 192 | 29 193 | 30 194 | 31 195 | 32 196 | 33 197 | 34 198 | 35 199 | 36 200 | 37 201 | 38 202 | 39 203 | 40 204 | 41 205 | 42 206 | 43 207 | 44 208 | 45 209 | 46 210 | 47 211 | 48 212 | 49 213 | 50 214 | 51 215 | 52 216 | 53 217 | 54 218 | 55 219 | 56 220 | 57 221 | 58 222 | 59 223 | 60 224 | 61 225 | 62 226 | 63 227 | 64 228 | 65 229 | 66 230 | 67 231 | 68 232 | 69 233 | 70 234 | 71 235 | 72 236 | 73 237 | 74 238 | 75 239 | 76 240 | 77 241 | 78 242 | 79 243 | 80 244 | 81 245 | 82 246 | 83 247 | 84 248 | 85 249 | 86 250 | 87 251 | 88 252 | 89 253 | 90 254 | 91 255 | 92 256 | 93 257 | 94 258 | 95 259 | 96 260 | 97 261 | 98 262 | 99 263 | 100 264 | 200 265 | 300 266 | 400 267 | 500 268 | 600 269 | 700 270 | 800 271 | 900 272 | 1000 273 | 2000 274 | 3000 275 | 4000 276 | 5000 277 | 6000 278 | 7000 279 | 8000 280 | 9000 281 | 10000 282 | 20000 283 | 30000 284 | 40000 285 | 50000 286 | 60000 287 | 70000 288 | 80000 289 | 90000 290 | 一是 291 | 二是 292 | 三是 293 | 四是 294 | 五是 295 | 六是 296 | 七是 297 | 八是 298 | 九是 299 | 十是 300 | ! 301 | " 302 | # 303 | $ 304 | % 305 | & 306 | ' 307 | ( 308 | ) 309 | * 310 | + 311 | , 312 | - 313 | -- 314 | . 315 | .. 316 | ... 317 | ...... 318 | ................... 319 | ./ 320 | .一 321 | .数 322 | .日 323 | / 324 | // 325 | 0 326 | 1 327 | 2 328 | 3 329 | 4 330 | 5 331 | 6 332 | 7 333 | 8 334 | 9 335 | : 336 | :// 337 | :: 338 | ; 339 | < 340 | = 341 | > 342 | >> 343 | ? 344 | @ 345 | A 346 | Lex 347 | [ 348 | \ 349 | ] 350 | ^ 351 | _ 352 | ` 353 | exp 354 | sub 355 | sup 356 | | 357 | } 358 | ~ 359 | ~~~~ 360 | · 361 | × 362 | ××× 363 | Δ 364 | Ψ 365 | γ 366 | μ 367 | φ 368 | φ. 369 | В 370 | — 371 | —— 372 | ——— 373 | ‘ 374 | ’ 375 | ’‘ 376 | “ 377 | ” 378 | ”, 379 | … 380 | …… 381 | …………………………………………………③ 382 | ′∈ 383 | ′| 384 | ℃ 385 | Ⅲ 386 | ↑ 387 | → 388 | ∈[ 389 | ∪φ∈ 390 | ≈ 391 | ① 392 | ② 393 | ②c 394 | ③ 395 | ③] 396 | ④ 397 | ⑤ 398 | ⑥ 399 | ⑦ 400 | ⑧ 401 | ⑨ 402 | ⑩ 403 | ── 404 | ■ 405 | ▲ 406 |   407 | 、 408 | 。 409 | 〈 410 | 〉 411 | 《 412 | 》 413 | 》), 414 | 」 415 | 『 416 | 』 417 | 【 418 | 】 419 | 〔 420 | 〕 421 | 〕〔 422 | ㈧ 423 | 一 424 | 一. 425 | 一一 426 | 一下 427 | 一个 428 | 一些 429 | 一何 430 | 一切 431 | 一则 432 | 一则通过 433 | 一天 434 | 一定 435 | 一方面 436 | 一旦 437 | 一时 438 | 一来 439 | 一样 440 | 一次 441 | 一片 442 | 一番 443 | 一直 444 | 一致 445 | 一般 446 | 一起 447 | 一转眼 448 | 一边 449 | 一面 450 | 七 451 | 万一 452 | 三 453 | 三天两头 454 | 三番两次 455 | 三番五次 456 | 上 457 | 上下 458 | 上升 459 | 上去 460 | 上来 461 | 上述 462 | 上面 463 | 下 464 | 下列 465 | 下去 466 | 下来 467 | 下面 468 | 不 469 | 不一 470 | 不下 471 | 不久 472 | 不了 473 | 不亦乐乎 474 | 不仅 475 | 不仅...而且 476 | 不仅仅 477 | 不仅仅是 478 | 不会 479 | 不但 480 | 不但...而且 481 | 不光 482 | 不免 483 | 不再 484 | 不力 485 | 不单 486 | 不变 487 | 不只 488 | 不可 489 | 不可开交 490 | 不可抗拒 491 | 不同 492 | 不外 493 | 不外乎 494 | 不够 495 | 不大 496 | 不如 497 | 不妨 498 | 不定 499 | 不对 500 | 不少 501 | 不尽 502 | 不尽然 503 | 不巧 504 | 不已 505 | 不常 506 | 不得 507 | 不得不 508 | 不得了 509 | 不得已 510 | 不必 511 | 不怎么 512 | 不怕 513 | 不惟 514 | 不成 515 | 不拘 516 | 不择手段 517 | 不敢 518 | 不料 519 | 不断 520 | 不日 521 | 不时 522 | 不是 523 | 不曾 524 | 不止 525 | 不止一次 526 | 不比 527 | 不消 528 | 不满 529 | 不然 530 | 不然的话 531 | 不特 532 | 不独 533 | 不由得 534 | 不知不觉 535 | 不管 536 | 不管怎样 537 | 不经意 538 | 不胜 539 | 不能 540 | 不能不 541 | 不至于 542 | 不若 543 | 不要 544 | 不论 545 | 不起 546 | 不足 547 | 不过 548 | 不迭 549 | 不问 550 | 不限 551 | 与 552 | 与其 553 | 与其说 554 | 与否 555 | 与此同时 556 | 专门 557 | 且 558 | 且不说 559 | 且说 560 | 两者 561 | 严格 562 | 严重 563 | 个 564 | 个人 565 | 个别 566 | 中小 567 | 中间 568 | 丰富 569 | 串行 570 | 临 571 | 临到 572 | 为 573 | 为主 574 | 为了 575 | 为什么 576 | 为什麽 577 | 为何 578 | 为止 579 | 为此 580 | 为着 581 | 主张 582 | 主要 583 | 举凡 584 | 举行 585 | 乃 586 | 乃至 587 | 乃至于 588 | 么 589 | 之 590 | 之一 591 | 之前 592 | 之后 593 | 之後 594 | 之所以 595 | 之类 596 | 乌乎 597 | 乎 598 | 乒 599 | 乘 600 | 乘势 601 | 乘机 602 | 乘胜 603 | 乘虚 604 | 乘隙 605 | 九 606 | 也 607 | 也好 608 | 也就是说 609 | 也是 610 | 也罢 611 | 了 612 | 了解 613 | 争取 614 | 二 615 | 二来 616 | 二话不说 617 | 二话没说 618 | 于 619 | 于是 620 | 于是乎 621 | 云云 622 | 云尔 623 | 互 624 | 互相 625 | 五 626 | 些 627 | 交口 628 | 亦 629 | 产生 630 | 亲口 631 | 亲手 632 | 亲眼 633 | 亲自 634 | 亲身 635 | 人 636 | 人人 637 | 人们 638 | 人家 639 | 人民 640 | 什么 641 | 什么样 642 | 什麽 643 | 仅 644 | 仅仅 645 | 今 646 | 今后 647 | 今天 648 | 今年 649 | 今後 650 | 介于 651 | 仍 652 | 仍旧 653 | 仍然 654 | 从 655 | 从不 656 | 从严 657 | 从中 658 | 从事 659 | 从今以后 660 | 从优 661 | 从古到今 662 | 从古至今 663 | 从头 664 | 从宽 665 | 从小 666 | 从新 667 | 从无到有 668 | 从早到晚 669 | 从未 670 | 从来 671 | 从此 672 | 从此以后 673 | 从而 674 | 从轻 675 | 从速 676 | 从重 677 | 他 678 | 他人 679 | 他们 680 | 他是 681 | 他的 682 | 代替 683 | 以 684 | 以上 685 | 以下 686 | 以为 687 | 以便 688 | 以免 689 | 以前 690 | 以及 691 | 以后 692 | 以外 693 | 以後 694 | 以故 695 | 以期 696 | 以来 697 | 以至 698 | 以至于 699 | 以致 700 | 们 701 | 任 702 | 任何 703 | 任凭 704 | 任务 705 | 企图 706 | 伙同 707 | 会 708 | 伟大 709 | 传 710 | 传说 711 | 传闻 712 | 似乎 713 | 似的 714 | 但 715 | 但凡 716 | 但愿 717 | 但是 718 | 何 719 | 何乐而不为 720 | 何以 721 | 何况 722 | 何处 723 | 何妨 724 | 何尝 725 | 何必 726 | 何时 727 | 何止 728 | 何苦 729 | 何须 730 | 余外 731 | 作为 732 | 你 733 | 你们 734 | 你是 735 | 你的 736 | 使 737 | 使得 738 | 使用 739 | 例如 740 | 依 741 | 依据 742 | 依照 743 | 依靠 744 | 便 745 | 便于 746 | 促进 747 | 保持 748 | 保管 749 | 保险 750 | 俺 751 | 俺们 752 | 倍加 753 | 倍感 754 | 倒不如 755 | 倒不如说 756 | 倒是 757 | 倘 758 | 倘使 759 | 倘或 760 | 倘然 761 | 倘若 762 | 借 763 | 借以 764 | 借此 765 | 假使 766 | 假如 767 | 假若 768 | 偏偏 769 | 做到 770 | 偶尔 771 | 偶而 772 | 傥然 773 | 像 774 | 儿 775 | 允许 776 | 元/吨 777 | 充其极 778 | 充其量 779 | 充分 780 | 先不先 781 | 先后 782 | 先後 783 | 先生 784 | 光 785 | 光是 786 | 全体 787 | 全力 788 | 全年 789 | 全然 790 | 全身心 791 | 全部 792 | 全都 793 | 全面 794 | 八 795 | 八成 796 | 公然 797 | 六 798 | 兮 799 | 共 800 | 共同 801 | 共总 802 | 关于 803 | 其 804 | 其一 805 | 其中 806 | 其二 807 | 其他 808 | 其余 809 | 其后 810 | 其它 811 | 其实 812 | 其次 813 | 具体 814 | 具体地说 815 | 具体来说 816 | 具体说来 817 | 具有 818 | 兼之 819 | 内 820 | 再 821 | 再其次 822 | 再则 823 | 再有 824 | 再次 825 | 再者 826 | 再者说 827 | 再说 828 | 冒 829 | 冲 830 | 决不 831 | 决定 832 | 决非 833 | 况且 834 | 准备 835 | 凑巧 836 | 凝神 837 | 几 838 | 几乎 839 | 几度 840 | 几时 841 | 几番 842 | 几经 843 | 凡 844 | 凡是 845 | 凭 846 | 凭借 847 | 出 848 | 出于 849 | 出去 850 | 出来 851 | 出现 852 | 分别 853 | 分头 854 | 分期 855 | 分期分批 856 | 切 857 | 切不可 858 | 切切 859 | 切勿 860 | 切莫 861 | 则 862 | 则甚 863 | 刚 864 | 刚好 865 | 刚巧 866 | 刚才 867 | 初 868 | 别 869 | 别人 870 | 别处 871 | 别是 872 | 别的 873 | 别管 874 | 别说 875 | 到 876 | 到了儿 877 | 到处 878 | 到头 879 | 到头来 880 | 到底 881 | 到目前为止 882 | 前后 883 | 前此 884 | 前者 885 | 前进 886 | 前面 887 | 加上 888 | 加之 889 | 加以 890 | 加入 891 | 加强 892 | 动不动 893 | 动辄 894 | 勃然 895 | 匆匆 896 | 十分 897 | 千 898 | 千万 899 | 千万千万 900 | 半 901 | 单 902 | 单单 903 | 单纯 904 | 即 905 | 即令 906 | 即使 907 | 即便 908 | 即刻 909 | 即如 910 | 即将 911 | 即或 912 | 即是说 913 | 即若 914 | 却 915 | 却不 916 | 历 917 | 原来 918 | 去 919 | 又 920 | 又及 921 | 及 922 | 及其 923 | 及时 924 | 及至 925 | 双方 926 | 反之 927 | 反之亦然 928 | 反之则 929 | 反倒 930 | 反倒是 931 | 反应 932 | 反手 933 | 反映 934 | 反而 935 | 反过来 936 | 反过来说 937 | 取得 938 | 取道 939 | 受到 940 | 变成 941 | 古来 942 | 另 943 | 另一个 944 | 另一方面 945 | 另外 946 | 另悉 947 | 另方面 948 | 另行 949 | 只 950 | 只当 951 | 只怕 952 | 只是 953 | 只有 954 | 只消 955 | 只要 956 | 只限 957 | 叫 958 | 叫做 959 | 召开 960 | 叮咚 961 | 叮当 962 | 可 963 | 可以 964 | 可好 965 | 可是 966 | 可能 967 | 可见 968 | 各 969 | 各个 970 | 各人 971 | 各位 972 | 各地 973 | 各式 974 | 各种 975 | 各级 976 | 各自 977 | 合理 978 | 同 979 | 同一 980 | 同时 981 | 同样 982 | 后 983 | 后来 984 | 后者 985 | 后面 986 | 向 987 | 向使 988 | 向着 989 | 吓 990 | 吗 991 | 否则 992 | 吧 993 | 吧哒 994 | 吱 995 | 呀 996 | 呃 997 | 呆呆地 998 | 呐 999 | 呕 1000 | 呗 1001 | 呜 1002 | 呜呼 1003 | 呢 1004 | 周围 1005 | 呵 1006 | 呵呵 1007 | 呸 1008 | 呼哧 1009 | 呼啦 1010 | 咋 1011 | 和 1012 | 咚 1013 | 咦 1014 | 咧 1015 | 咱 1016 | 咱们 1017 | 咳 1018 | 哇 1019 | 哈 1020 | 哈哈 1021 | 哉 1022 | 哎 1023 | 哎呀 1024 | 哎哟 1025 | 哗 1026 | 哗啦 1027 | 哟 1028 | 哦 1029 | 哩 1030 | 哪 1031 | 哪个 1032 | 哪些 1033 | 哪儿 1034 | 哪天 1035 | 哪年 1036 | 哪怕 1037 | 哪样 1038 | 哪边 1039 | 哪里 1040 | 哼 1041 | 哼唷 1042 | 唉 1043 | 唯有 1044 | 啊 1045 | 啊呀 1046 | 啊哈 1047 | 啊哟 1048 | 啐 1049 | 啥 1050 | 啦 1051 | 啪达 1052 | 啷当 1053 | 喀 1054 | 喂 1055 | 喏 1056 | 喔唷 1057 | 喽 1058 | 嗡 1059 | 嗡嗡 1060 | 嗬 1061 | 嗯 1062 | 嗳 1063 | 嘎 1064 | 嘎嘎 1065 | 嘎登 1066 | 嘘 1067 | 嘛 1068 | 嘻 1069 | 嘿 1070 | 嘿嘿 1071 | 四 1072 | 因 1073 | 因为 1074 | 因了 1075 | 因此 1076 | 因着 1077 | 因而 1078 | 固 1079 | 固然 1080 | 在 1081 | 在下 1082 | 在于 1083 | 地 1084 | 均 1085 | 坚决 1086 | 坚持 1087 | 基于 1088 | 基本 1089 | 基本上 1090 | 处在 1091 | 处处 1092 | 处理 1093 | 复杂 1094 | 多 1095 | 多么 1096 | 多亏 1097 | 多多 1098 | 多多少少 1099 | 多多益善 1100 | 多少 1101 | 多年前 1102 | 多年来 1103 | 多数 1104 | 多次 1105 | 够瞧的 1106 | 大 1107 | 大不了 1108 | 大举 1109 | 大事 1110 | 大体 1111 | 大体上 1112 | 大凡 1113 | 大力 1114 | 大多 1115 | 大多数 1116 | 大大 1117 | 大家 1118 | 大张旗鼓 1119 | 大批 1120 | 大抵 1121 | 大概 1122 | 大略 1123 | 大约 1124 | 大致 1125 | 大都 1126 | 大量 1127 | 大面儿上 1128 | 失去 1129 | 奇 1130 | 奈 1131 | 奋勇 1132 | 她 1133 | 她们 1134 | 她是 1135 | 她的 1136 | 好 1137 | 好在 1138 | 好的 1139 | 好象 1140 | 如 1141 | 如上 1142 | 如上所述 1143 | 如下 1144 | 如今 1145 | 如何 1146 | 如其 1147 | 如前所述 1148 | 如同 1149 | 如常 1150 | 如是 1151 | 如期 1152 | 如果 1153 | 如次 1154 | 如此 1155 | 如此等等 1156 | 如若 1157 | 始而 1158 | 姑且 1159 | 存在 1160 | 存心 1161 | 孰料 1162 | 孰知 1163 | 宁 1164 | 宁可 1165 | 宁愿 1166 | 宁肯 1167 | 它 1168 | 它们 1169 | 它们的 1170 | 它是 1171 | 它的 1172 | 安全 1173 | 完全 1174 | 完成 1175 | 定 1176 | 实现 1177 | 实际 1178 | 宣布 1179 | 容易 1180 | 密切 1181 | 对 1182 | 对于 1183 | 对应 1184 | 对待 1185 | 对方 1186 | 对比 1187 | 将 1188 | 将才 1189 | 将要 1190 | 将近 1191 | 小 1192 | 少数 1193 | 尔 1194 | 尔后 1195 | 尔尔 1196 | 尔等 1197 | 尚且 1198 | 尤其 1199 | 就 1200 | 就地 1201 | 就是 1202 | 就是了 1203 | 就是说 1204 | 就此 1205 | 就算 1206 | 就要 1207 | 尽 1208 | 尽可能 1209 | 尽如人意 1210 | 尽心尽力 1211 | 尽心竭力 1212 | 尽快 1213 | 尽早 1214 | 尽然 1215 | 尽管 1216 | 尽管如此 1217 | 尽量 1218 | 局外 1219 | 居然 1220 | 届时 1221 | 属于 1222 | 屡 1223 | 屡屡 1224 | 屡次 1225 | 屡次三番 1226 | 岂 1227 | 岂但 1228 | 岂止 1229 | 岂非 1230 | 川流不息 1231 | 左右 1232 | 巨大 1233 | 巩固 1234 | 差一点 1235 | 差不多 1236 | 己 1237 | 已 1238 | 已矣 1239 | 已经 1240 | 巴 1241 | 巴巴 1242 | 带 1243 | 帮助 1244 | 常 1245 | 常常 1246 | 常言说 1247 | 常言说得好 1248 | 常言道 1249 | 平素 1250 | 年复一年 1251 | 并 1252 | 并不 1253 | 并不是 1254 | 并且 1255 | 并排 1256 | 并无 1257 | 并没 1258 | 并没有 1259 | 并肩 1260 | 并非 1261 | 广大 1262 | 广泛 1263 | 应当 1264 | 应用 1265 | 应该 1266 | 庶乎 1267 | 庶几 1268 | 开外 1269 | 开始 1270 | 开展 1271 | 引起 1272 | 弗 1273 | 弹指之间 1274 | 强烈 1275 | 强调 1276 | 归 1277 | 归根到底 1278 | 归根结底 1279 | 归齐 1280 | 当 1281 | 当下 1282 | 当中 1283 | 当儿 1284 | 当前 1285 | 当即 1286 | 当口儿 1287 | 当地 1288 | 当场 1289 | 当头 1290 | 当庭 1291 | 当时 1292 | 当然 1293 | 当真 1294 | 当着 1295 | 形成 1296 | 彻夜 1297 | 彻底 1298 | 彼 1299 | 彼时 1300 | 彼此 1301 | 往 1302 | 往往 1303 | 待 1304 | 待到 1305 | 很 1306 | 很多 1307 | 很少 1308 | 後来 1309 | 後面 1310 | 得 1311 | 得了 1312 | 得出 1313 | 得到 1314 | 得天独厚 1315 | 得起 1316 | 心里 1317 | 必 1318 | 必定 1319 | 必将 1320 | 必然 1321 | 必要 1322 | 必须 1323 | 快 1324 | 快要 1325 | 忽地 1326 | 忽然 1327 | 怎 1328 | 怎么 1329 | 怎么办 1330 | 怎么样 1331 | 怎奈 1332 | 怎样 1333 | 怎麽 1334 | 怕 1335 | 急匆匆 1336 | 怪 1337 | 怪不得 1338 | 总之 1339 | 总是 1340 | 总的来看 1341 | 总的来说 1342 | 总的说来 1343 | 总结 1344 | 总而言之 1345 | 恍然 1346 | 恐怕 1347 | 恰似 1348 | 恰好 1349 | 恰如 1350 | 恰巧 1351 | 恰恰 1352 | 恰恰相反 1353 | 恰逢 1354 | 您 1355 | 您们 1356 | 您是 1357 | 惟其 1358 | 惯常 1359 | 意思 1360 | 愤然 1361 | 愿意 1362 | 慢说 1363 | 成为 1364 | 成年 1365 | 成年累月 1366 | 成心 1367 | 我 1368 | 我们 1369 | 我是 1370 | 我的 1371 | 或 1372 | 或则 1373 | 或多或少 1374 | 或是 1375 | 或曰 1376 | 或者 1377 | 或许 1378 | 战斗 1379 | 截然 1380 | 截至 1381 | 所 1382 | 所以 1383 | 所在 1384 | 所幸 1385 | 所有 1386 | 所谓 1387 | 才 1388 | 才能 1389 | 扑通 1390 | 打 1391 | 打从 1392 | 打开天窗说亮话 1393 | 扩大 1394 | 把 1395 | 抑或 1396 | 抽冷子 1397 | 拦腰 1398 | 拿 1399 | 按 1400 | 按时 1401 | 按期 1402 | 按照 1403 | 按理 1404 | 按说 1405 | 挨个 1406 | 挨家挨户 1407 | 挨次 1408 | 挨着 1409 | 挨门挨户 1410 | 挨门逐户 1411 | 换句话说 1412 | 换言之 1413 | 据 1414 | 据实 1415 | 据悉 1416 | 据我所知 1417 | 据此 1418 | 据称 1419 | 据说 1420 | 掌握 1421 | 接下来 1422 | 接着 1423 | 接著 1424 | 接连不断 1425 | 放量 1426 | 故 1427 | 故意 1428 | 故此 1429 | 故而 1430 | 敞开儿 1431 | 敢 1432 | 敢于 1433 | 敢情 1434 | 数/ 1435 | 整个 1436 | 断然 1437 | 方 1438 | 方便 1439 | 方才 1440 | 方能 1441 | 方面 1442 | 旁人 1443 | 无 1444 | 无宁 1445 | 无法 1446 | 无论 1447 | 既 1448 | 既...又 1449 | 既往 1450 | 既是 1451 | 既然 1452 | 日复一日 1453 | 日渐 1454 | 日益 1455 | 日臻 1456 | 日见 1457 | 时候 1458 | 昂然 1459 | 明显 1460 | 明确 1461 | 是 1462 | 是不是 1463 | 是以 1464 | 是否 1465 | 是的 1466 | 显然 1467 | 显著 1468 | 普通 1469 | 普遍 1470 | 暗中 1471 | 暗地里 1472 | 暗自 1473 | 更 1474 | 更为 1475 | 更加 1476 | 更进一步 1477 | 曾 1478 | 曾经 1479 | 替 1480 | 替代 1481 | 最 1482 | 最后 1483 | 最大 1484 | 最好 1485 | 最後 1486 | 最近 1487 | 最高 1488 | 有 1489 | 有些 1490 | 有关 1491 | 有利 1492 | 有力 1493 | 有及 1494 | 有所 1495 | 有效 1496 | 有时 1497 | 有点 1498 | 有的 1499 | 有的是 1500 | 有着 1501 | 有著 1502 | 望 1503 | 朝 1504 | 朝着 1505 | 末##末 1506 | 本 1507 | 本人 1508 | 本地 1509 | 本着 1510 | 本身 1511 | 权时 1512 | 来 1513 | 来不及 1514 | 来得及 1515 | 来看 1516 | 来着 1517 | 来自 1518 | 来讲 1519 | 来说 1520 | 极 1521 | 极为 1522 | 极了 1523 | 极其 1524 | 极力 1525 | 极大 1526 | 极度 1527 | 极端 1528 | 构成 1529 | 果然 1530 | 果真 1531 | 某 1532 | 某个 1533 | 某些 1534 | 某某 1535 | 根据 1536 | 根本 1537 | 格外 1538 | 梆 1539 | 概 1540 | 次第 1541 | 欢迎 1542 | 欤 1543 | 正值 1544 | 正在 1545 | 正如 1546 | 正巧 1547 | 正常 1548 | 正是 1549 | 此 1550 | 此中 1551 | 此后 1552 | 此地 1553 | 此处 1554 | 此外 1555 | 此时 1556 | 此次 1557 | 此间 1558 | 殆 1559 | 毋宁 1560 | 每 1561 | 每个 1562 | 每天 1563 | 每年 1564 | 每当 1565 | 每时每刻 1566 | 每每 1567 | 每逢 1568 | 比 1569 | 比及 1570 | 比如 1571 | 比如说 1572 | 比方 1573 | 比照 1574 | 比起 1575 | 比较 1576 | 毕竟 1577 | 毫不 1578 | 毫无 1579 | 毫无例外 1580 | 毫无保留地 1581 | 汝 1582 | 沙沙 1583 | 没 1584 | 没奈何 1585 | 没有 1586 | 沿 1587 | 沿着 1588 | 注意 1589 | 活 1590 | 深入 1591 | 清楚 1592 | 满 1593 | 满足 1594 | 漫说 1595 | 焉 1596 | 然 1597 | 然则 1598 | 然后 1599 | 然後 1600 | 然而 1601 | 照 1602 | 照着 1603 | 牢牢 1604 | 特别是 1605 | 特殊 1606 | 特点 1607 | 犹且 1608 | 犹自 1609 | 独 1610 | 独自 1611 | 猛然 1612 | 猛然间 1613 | 率尔 1614 | 率然 1615 | 现代 1616 | 现在 1617 | 理应 1618 | 理当 1619 | 理该 1620 | 瑟瑟 1621 | 甚且 1622 | 甚么 1623 | 甚或 1624 | 甚而 1625 | 甚至 1626 | 甚至于 1627 | 用 1628 | 用来 1629 | 甫 1630 | 甭 1631 | 由 1632 | 由于 1633 | 由是 1634 | 由此 1635 | 由此可见 1636 | 略 1637 | 略为 1638 | 略加 1639 | 略微 1640 | 白 1641 | 白白 1642 | 的 1643 | 的确 1644 | 的话 1645 | 皆可 1646 | 目前 1647 | 直到 1648 | 直接 1649 | 相似 1650 | 相信 1651 | 相反 1652 | 相同 1653 | 相对 1654 | 相对而言 1655 | 相应 1656 | 相当 1657 | 相等 1658 | 省得 1659 | 看 1660 | 看上去 1661 | 看出 1662 | 看到 1663 | 看来 1664 | 看样子 1665 | 看看 1666 | 看见 1667 | 看起来 1668 | 真是 1669 | 真正 1670 | 眨眼 1671 | 着 1672 | 着呢 1673 | 矣 1674 | 矣乎 1675 | 矣哉 1676 | 知道 1677 | 砰 1678 | 确定 1679 | 碰巧 1680 | 社会主义 1681 | 离 1682 | 种 1683 | 积极 1684 | 移动 1685 | 究竟 1686 | 穷年累月 1687 | 突出 1688 | 突然 1689 | 窃 1690 | 立 1691 | 立刻 1692 | 立即 1693 | 立地 1694 | 立时 1695 | 立马 1696 | 竟 1697 | 竟然 1698 | 竟而 1699 | 第 1700 | 第二 1701 | 等 1702 | 等到 1703 | 等等 1704 | 策略地 1705 | 简直 1706 | 简而言之 1707 | 简言之 1708 | 管 1709 | 类如 1710 | 粗 1711 | 精光 1712 | 紧接着 1713 | 累年 1714 | 累次 1715 | 纯 1716 | 纯粹 1717 | 纵 1718 | 纵令 1719 | 纵使 1720 | 纵然 1721 | 练习 1722 | 组成 1723 | 经 1724 | 经常 1725 | 经过 1726 | 结合 1727 | 结果 1728 | 给 1729 | 绝 1730 | 绝不 1731 | 绝对 1732 | 绝非 1733 | 绝顶 1734 | 继之 1735 | 继后 1736 | 继续 1737 | 继而 1738 | 维持 1739 | 综上所述 1740 | 缕缕 1741 | 罢了 1742 | 老 1743 | 老大 1744 | 老是 1745 | 老老实实 1746 | 考虑 1747 | 者 1748 | 而 1749 | 而且 1750 | 而况 1751 | 而又 1752 | 而后 1753 | 而外 1754 | 而已 1755 | 而是 1756 | 而言 1757 | 而论 1758 | 联系 1759 | 联袂 1760 | 背地里 1761 | 背靠背 1762 | 能 1763 | 能否 1764 | 能够 1765 | 腾 1766 | 自 1767 | 自个儿 1768 | 自从 1769 | 自各儿 1770 | 自后 1771 | 自家 1772 | 自己 1773 | 自打 1774 | 自身 1775 | 臭 1776 | 至 1777 | 至于 1778 | 至今 1779 | 至若 1780 | 致 1781 | 般的 1782 | 良好 1783 | 若 1784 | 若夫 1785 | 若是 1786 | 若果 1787 | 若非 1788 | 范围 1789 | 莫 1790 | 莫不 1791 | 莫不然 1792 | 莫如 1793 | 莫若 1794 | 莫非 1795 | 获得 1796 | 藉以 1797 | 虽 1798 | 虽则 1799 | 虽然 1800 | 虽说 1801 | 蛮 1802 | 行为 1803 | 行动 1804 | 表明 1805 | 表示 1806 | 被 1807 | 要 1808 | 要不 1809 | 要不是 1810 | 要不然 1811 | 要么 1812 | 要是 1813 | 要求 1814 | 见 1815 | 规定 1816 | 觉得 1817 | 譬喻 1818 | 譬如 1819 | 认为 1820 | 认真 1821 | 认识 1822 | 让 1823 | 许多 1824 | 论 1825 | 论说 1826 | 设使 1827 | 设或 1828 | 设若 1829 | 诚如 1830 | 诚然 1831 | 话说 1832 | 该 1833 | 该当 1834 | 说明 1835 | 说来 1836 | 说说 1837 | 请勿 1838 | 诸 1839 | 诸位 1840 | 诸如 1841 | 谁 1842 | 谁人 1843 | 谁料 1844 | 谁知 1845 | 谨 1846 | 豁然 1847 | 贼死 1848 | 赖以 1849 | 赶 1850 | 赶快 1851 | 赶早不赶晚 1852 | 起 1853 | 起先 1854 | 起初 1855 | 起头 1856 | 起来 1857 | 起见 1858 | 起首 1859 | 趁 1860 | 趁便 1861 | 趁势 1862 | 趁早 1863 | 趁机 1864 | 趁热 1865 | 趁着 1866 | 越是 1867 | 距 1868 | 跟 1869 | 路经 1870 | 转动 1871 | 转变 1872 | 转贴 1873 | 轰然 1874 | 较 1875 | 较为 1876 | 较之 1877 | 较比 1878 | 边 1879 | 达到 1880 | 达旦 1881 | 迄 1882 | 迅速 1883 | 过 1884 | 过于 1885 | 过去 1886 | 过来 1887 | 运用 1888 | 近 1889 | 近几年来 1890 | 近年来 1891 | 近来 1892 | 还 1893 | 还是 1894 | 还有 1895 | 还要 1896 | 这 1897 | 这一来 1898 | 这个 1899 | 这么 1900 | 这么些 1901 | 这么样 1902 | 这么点儿 1903 | 这些 1904 | 这会儿 1905 | 这儿 1906 | 这就是说 1907 | 这时 1908 | 这样 1909 | 这次 1910 | 这点 1911 | 这种 1912 | 这般 1913 | 这边 1914 | 这里 1915 | 这麽 1916 | 进入 1917 | 进去 1918 | 进来 1919 | 进步 1920 | 进而 1921 | 进行 1922 | 连 1923 | 连同 1924 | 连声 1925 | 连日 1926 | 连日来 1927 | 连袂 1928 | 连连 1929 | 迟早 1930 | 迫于 1931 | 适应 1932 | 适当 1933 | 适用 1934 | 逐步 1935 | 逐渐 1936 | 通常 1937 | 通过 1938 | 造成 1939 | 逢 1940 | 遇到 1941 | 遭到 1942 | 遵循 1943 | 遵照 1944 | 避免 1945 | 那 1946 | 那个 1947 | 那么 1948 | 那么些 1949 | 那么样 1950 | 那些 1951 | 那会儿 1952 | 那儿 1953 | 那时 1954 | 那末 1955 | 那样 1956 | 那般 1957 | 那边 1958 | 那里 1959 | 那麽 1960 | 部分 1961 | 都 1962 | 鄙人 1963 | 采取 1964 | 里面 1965 | 重大 1966 | 重新 1967 | 重要 1968 | 鉴于 1969 | 针对 1970 | 长期以来 1971 | 长此下去 1972 | 长线 1973 | 长话短说 1974 | 问题 1975 | 间或 1976 | 防止 1977 | 阿 1978 | 附近 1979 | 陈年 1980 | 限制 1981 | 陡然 1982 | 除 1983 | 除了 1984 | 除却 1985 | 除去 1986 | 除外 1987 | 除开 1988 | 除此 1989 | 除此之外 1990 | 除此以外 1991 | 除此而外 1992 | 除非 1993 | 随 1994 | 随后 1995 | 随时 1996 | 随着 1997 | 随著 1998 | 隔夜 1999 | 隔日 2000 | 难得 2001 | 难怪 2002 | 难说 2003 | 难道 2004 | 难道说 2005 | 集中 2006 | 零 2007 | 需要 2008 | 非但 2009 | 非常 2010 | 非徒 2011 | 非得 2012 | 非特 2013 | 非独 2014 | 靠 2015 | 顶多 2016 | 顷 2017 | 顷刻 2018 | 顷刻之间 2019 | 顷刻间 2020 | 顺 2021 | 顺着 2022 | 顿时 2023 | 颇 2024 | 风雨无阻 2025 | 饱 2026 | 首先 2027 | 马上 2028 | 高低 2029 | 高兴 2030 | 默然 2031 | 默默地 2032 | 齐 2033 | ︿ 2034 | ! 2035 | # 2036 | $ 2037 | % 2038 | & 2039 | ' 2040 | ( 2041 | ) 2042 | )÷(1- 2043 | )、 2044 | * 2045 | + 2046 | +ξ 2047 | ++ 2048 | , 2049 | ,也 2050 | - 2051 | -β 2052 | -- 2053 | -[*]- 2054 | . 2055 | / 2056 | 0 2057 | 0:2 2058 | 1 2059 | 1. 2060 | 12% 2061 | 2 2062 | 2.3% 2063 | 3 2064 | 4 2065 | 5 2066 | 5:0 2067 | 6 2068 | 7 2069 | 8 2070 | 9 2071 | : 2072 | ; 2073 | < 2074 | <± 2075 | <Δ 2076 | <λ 2077 | <φ 2078 | << 2079 | = 2080 | =″ 2081 | =☆ 2082 | =( 2083 | =- 2084 | =[ 2085 | ={ 2086 | > 2087 | >λ 2088 | ? 2089 | @ 2090 | A 2091 | LI 2092 | R.L. 2093 | ZXFITL 2094 | [ 2095 | [①①] 2096 | [①②] 2097 | [①③] 2098 | [①④] 2099 | [①⑤] 2100 | [①⑥] 2101 | [①⑦] 2102 | [①⑧] 2103 | [①⑨] 2104 | [①A] 2105 | [①B] 2106 | [①C] 2107 | [①D] 2108 | [①E] 2109 | [①] 2110 | [①a] 2111 | [①c] 2112 | [①d] 2113 | [①e] 2114 | [①f] 2115 | [①g] 2116 | [①h] 2117 | [①i] 2118 | [①o] 2119 | [② 2120 | [②①] 2121 | [②②] 2122 | [②③] 2123 | [②④ 2124 | [②⑤] 2125 | [②⑥] 2126 | [②⑦] 2127 | [②⑧] 2128 | [②⑩] 2129 | [②B] 2130 | [②G] 2131 | [②] 2132 | [②a] 2133 | [②b] 2134 | [②c] 2135 | [②d] 2136 | [②e] 2137 | [②f] 2138 | [②g] 2139 | [②h] 2140 | [②i] 2141 | [②j] 2142 | [③①] 2143 | [③⑩] 2144 | [③F] 2145 | [③] 2146 | [③a] 2147 | [③b] 2148 | [③c] 2149 | [③d] 2150 | [③e] 2151 | [③g] 2152 | [③h] 2153 | [④] 2154 | [④a] 2155 | [④b] 2156 | [④c] 2157 | [④d] 2158 | [④e] 2159 | [⑤] 2160 | [⑤]] 2161 | [⑤a] 2162 | [⑤b] 2163 | [⑤d] 2164 | [⑤e] 2165 | [⑤f] 2166 | [⑥] 2167 | [⑦] 2168 | [⑧] 2169 | [⑨] 2170 | [⑩] 2171 | [*] 2172 | [- 2173 | [] 2174 | ] 2175 | ]∧′=[ 2176 | ][ 2177 | _ 2178 | a] 2179 | b] 2180 | c] 2181 | e] 2182 | f] 2183 | ng昉 2184 | { 2185 | {- 2186 | | 2187 | } 2188 | }> 2189 | ~ 2190 | ~± 2191 | ~+ 2192 | ¥ -------------------------------------------------------------------------------- /text_analysis_tools/api/keyphrase/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import os 4 | 5 | CURRENT_PATH = os.path.abspath(__file__) 6 | DATA_PATH = os.path.dirname(os.path.dirname(CURRENT_PATH)) 7 | FONT_PATH = os.path.join(DATA_PATH, "data", "simfang.ttf") 8 | MASK_PATH = os.path.join(DATA_PATH, "data", "map.png") -------------------------------------------------------------------------------- /text_analysis_tools/api/keyphrase/__pycache__/__init__.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/keyphrase/__pycache__/__init__.cpython-36.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/keyphrase/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/keyphrase/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/keyphrase/__pycache__/keyphrase.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/keyphrase/__pycache__/keyphrase.cpython-36.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/keyphrase/__pycache__/keyphrase.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/keyphrase/__pycache__/keyphrase.cpython-38.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/keyphrase/keyphrase.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | 4 | import jieba 5 | import jieba.analyse 6 | import re 7 | import numpy as np 8 | from wordcloud import WordCloud 9 | from PIL import Image 10 | from text_analysis_tools.api.keyphrase import FONT_PATH, MASK_PATH 11 | 12 | 13 | class KeyPhraseExtraction(): 14 | def __init__(self, topk=50, method='tfidf', with_word=True): 15 | """ 16 | :param topk: 根据前多少关键词生成短语 17 | :param method: tfidf / textrank 18 | :param with_word: 最后输出结果是否包含关键词 19 | """ 20 | self.topk = topk 21 | self.method = method 22 | self.with_word = with_word 23 | 24 | def cut_sentences(self, text): 25 | """文本分句,然后分词""" 26 | sentences = re.findall(".*?[。?!]", text) 27 | cut_sentences = [jieba.lcut(sent) for sent in sentences] 28 | return cut_sentences 29 | 30 | def key_words_extraction(self, text): 31 | """提取关键词""" 32 | keywords_score = [] 33 | if self.method == 'tfidf': 34 | keywords_score = jieba.analyse.extract_tags(text, topK=self.topk, withWeight=True) 35 | elif self.method == 'textrank': 36 | keywords_score = jieba.analyse.textrank(text, topK=self.topk, withWeight=True) 37 | return {word: score for word, score in keywords_score} 38 | 39 | def key_phrase_extraction(self, text): 40 | keyword_score = self.key_words_extraction(text) 41 | keywords = keyword_score.keys() 42 | cut_sentences = self.cut_sentences(text) 43 | # print(keywords) 44 | # 将相邻的关键词进行拼接 45 | key_phrase = [] 46 | for sent in cut_sentences: 47 | temp = [] 48 | for word in sent: 49 | if word in keywords: 50 | temp.append(word) 51 | else: 52 | if len(temp) > 1: 53 | if temp not in key_phrase: 54 | key_phrase.append(temp) 55 | temp = [] 56 | 57 | # 短语之间可能存在冗余信息,进行过滤 58 | key_phrase_filter = [] 59 | for phrase in key_phrase: 60 | flag = False 61 | for item in key_phrase_filter: 62 | if len(set(phrase) & set(item)) >= min(len(set(phrase)), len(set(item)))/2.0: 63 | flag = True 64 | break 65 | if not flag: 66 | key_phrase_filter.append(phrase) 67 | 68 | # 给短语赋值权重, 设置短语最多包含三个关键词 69 | keyphrase_weight = {''.join(phrase[-3:]): np.mean([keyword_score[word] for word in phrase[-3:]]) 70 | for phrase in key_phrase_filter} 71 | 72 | if self.with_word: 73 | key_phrase_str = '|'.join(keyphrase_weight) 74 | for word, weight in keyword_score.items(): 75 | if word not in key_phrase_str: 76 | keyphrase_weight[word] = weight 77 | keyphrase_weight = dict(sorted(keyphrase_weight.items(), key=lambda x: x[1], reverse=True)[:self.topk]) 78 | 79 | return keyphrase_weight 80 | 81 | def wordcloud(self, keyphrrase_weight, save_path='./wordcloud.png', with_mask=False, mask_pic=MASK_PATH): 82 | font = FONT_PATH 83 | mask = mask_pic 84 | mask = np.array(Image.open(mask)) 85 | if with_mask: 86 | wc = WordCloud( 87 | background_color='white', 88 | width=800, 89 | height=800, 90 | mask=mask, 91 | font_path=font, 92 | # stopwords=stopword 93 | ) 94 | else: 95 | wc = WordCloud( 96 | background_color='white', 97 | width=800, 98 | height=800, 99 | # mask=mask, 100 | font_path=font, 101 | # stopwords=stopword 102 | ) 103 | wc.generate_from_frequencies(keyphrrase_weight) # 绘制图片 104 | wc.to_file(save_path) # 保存图片 105 | 106 | 107 | if __name__ == '__main__': 108 | with open('./data/test', encoding='utf-8') as f: 109 | text = f.read() 110 | key_phrase_extractor = KeyPhraseExtraction(topk=20) 111 | key_phrase = key_phrase_extractor.key_phrase_extraction(text) 112 | key_phrase_extractor.wordcloud(key_phrase) -------------------------------------------------------------------------------- /text_analysis_tools/api/keywords/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import os 4 | 5 | CURRENT_PATH = os.path.abspath(__file__) 6 | DATA_PATH = os.path.dirname(os.path.dirname(CURRENT_PATH)) 7 | STOPWORDS = os.path.join(DATA_PATH, "data", "stop_words.txt") -------------------------------------------------------------------------------- /text_analysis_tools/api/keywords/__pycache__/__init__.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/keywords/__pycache__/__init__.cpython-36.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/keywords/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/keywords/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/keywords/__pycache__/textrank.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/keywords/__pycache__/textrank.cpython-36.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/keywords/__pycache__/textrank.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/keywords/__pycache__/textrank.cpython-38.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/keywords/__pycache__/tfidf.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/keywords/__pycache__/tfidf.cpython-36.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/keywords/__pycache__/tfidf.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/keywords/__pycache__/tfidf.cpython-38.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/keywords/textrank.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import jieba 4 | import jieba.analyse 5 | from text_analysis_tools.api.keywords import STOPWORDS 6 | 7 | 8 | class TextRankKeywords: 9 | def __init__(self, delete_stopwords=True, topK=20, withWeight=False): 10 | if delete_stopwords: 11 | jieba.analyse.set_stop_words(STOPWORDS) 12 | 13 | self.topk = topK 14 | self.with_wight = withWeight 15 | 16 | def keywords(self, sentence): 17 | return jieba.analyse.textrank(sentence, topK=self.topk, withWeight=self.with_wight) 18 | -------------------------------------------------------------------------------- /text_analysis_tools/api/keywords/tfidf.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import os 4 | import jieba 5 | import jieba.analyse 6 | from text_analysis_tools.api.keywords import STOPWORDS 7 | 8 | 9 | class TfidfKeywords: 10 | def __init__(self, delete_stopwords=True, topK=20, withWeight=False): 11 | if delete_stopwords: 12 | jieba.analyse.set_stop_words(STOPWORDS) 13 | 14 | self.topk = topK 15 | self.with_wight = withWeight 16 | 17 | def keywords(self, sentence): 18 | return jieba.analyse.extract_tags(sentence, topK=self.topk, withWeight=self.with_wight) 19 | -------------------------------------------------------------------------------- /text_analysis_tools/api/sentiment/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- -------------------------------------------------------------------------------- /text_analysis_tools/api/sentiment/__pycache__/__init__.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/sentiment/__pycache__/__init__.cpython-36.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/sentiment/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/sentiment/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/sentiment/__pycache__/sentiment.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/sentiment/__pycache__/sentiment.cpython-36.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/sentiment/__pycache__/sentiment.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/sentiment/__pycache__/sentiment.cpython-38.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/sentiment/data/degreeDict.json: -------------------------------------------------------------------------------- 1 | {"满贯": 7.0, "十分": 7.0, "要死": 7.0, "多多": 6.0, "颇": 6.0, "那般": 5.0, "好生": 4.0, "远远": 5.0, "稍许": 4.0, "较比": 5.0, "溢": 2.0, "聊": 3.0, "满心": 7.0, "浮": 2.0, "不少": 6.0, "最为": 7.0, "一些": 4.0, "苦": 2.0, "如斯": 5.0, "良": 6.0, "不甚": 3.0, "超": 2.0, "逾常": 7.0, "绝": 7.0, "更": 5.0, "不胜": 6.0, "多么": 6.0, "十二分": 7.0, "更为": 5.0, "忒": 2.0, "已甚": 7.0, "很": 6.0, "过度": 2.0, "齁": 7.0, "无以复加": 7.0, "尤以": 6.0, "何止": 2.0, "分外": 6.0, "着实": 6.0, "尤其": 6.0, "甚": 6.0, "没怎么": 3.0, "愈": 5.0, "满": 7.0, "这样": 5.0, "还要": 5.0, "过热": 2.0, "过甚": 2.0, "稍微": 4.0, "碜": 6.0, "超额": 2.0, "更加": 5.0, "那么": 5.0, "挺": 4.0, "过分": 2.0, "过": 2.0, "超外差": 2.0, "有点": 4.0, "出奇": 6.0, "何啻": 2.0, "还": 4.0, "一点儿": 4.0, "万分": 7.0, "不得了": 7.0, "极端": 7.0, "愈来愈": 5.0, "这般": 5.0, "有些": 4.0, "超微结构": 2.0, "老": 2.0, "佼佼": 7.0, "无可估量": 7.0, "死": 7.0, "大不了": 5.0, "卓绝": 7.0, "尤甚": 5.0, "够戗": 6.0, "更进一步": 5.0, "怪": 4.0, "格外": 6.0, "那样": 5.0, "贼": 7.0, "入骨": 7.0, "痛": 7.0, "不堪": 7.0, "惊人地": 7.0, "至极": 7.0, "过火": 2.0, "出头": 2.0, "越发": 5.0, "綦": 7.0, "过头": 2.0, "略": 4.0, "甚为": 7.0, "不大": 3.0, "过了头": 2.0, "太": 6.0, "实在": 6.0, "莫大": 7.0, "太甚": 6.0, "进一步": 5.0, "一点": 4.0, "极": 7.0, "愈发": 5.0, "稍为": 4.0, "百分之百": 7.0, "越是": 5.0, "尤为": 6.0, "半点": 3.0, "偏": 2.0, "沉沉": 6.0, "点点滴滴": 4.0, "特别": 6.0, "逾": 5.0, "已极": 7.0, "不怎么": 3.0, "何等": 6.0, "万": 7.0, "特": 6.0, "绝对": 7.0, "完全": 7.0, "不折不扣": 7.0, "相当": 4.0, "非常": 7.0, "备至": 7.0, "益": 5.0, "大为": 6.0, "足足": 5.0, "过逾": 2.0, "之至": 7.0, "地地道道": 7.0, "过劲": 2.0, "充分": 7.0, "好": 6.0, "弱": 3.0, "愈益": 5.0, "坏": 6.0, "颇为": 6.0, "到头": 7.0, "足": 5.0, "开外": 2.0, "超物质": 2.0, "透": 7.0, "略加": 4.0, "丝毫": 3.0, "刻骨": 7.0, "远": 6.0, "奇": 7.0, "过猛": 2.0, "稍稍": 4.0, "极其": 7.0, "最": 7.0, "愈加": 5.0, "无以伦比": 7.0, "微": 3.0, "异常": 7.0, "很是": 6.0, "较为": 5.0, "绝对化": 7.0, "略略": 4.0, "万般": 7.0, "些微": 4.0, "截然": 7.0, "有点儿": 4.0, "略为": 4.0, "倍加": 7.0, "十足": 7.0, "无度": 7.0, "好不": 6.0, "越加": 5.0, "不可开交": 7.0, "多多少少": 4.0, "些小": 4.0, "较": 5.0, "过于": 2.0, "越": 5.0, "彻头彻尾": 7.0, "越来越": 5.0, "万万": 7.0, "绝顶": 7.0, "沉": 6.0, "惨": 6.0, "些": 4.0, "不为过": 2.0, "极为": 7.0, "或多或少": 4.0, "曷": 6.0, "强": 2.0, "酷": 7.0, "够瞧的": 6.0, "尽": 7.0, "滔天": 7.0, "多加": 6.0, "不亦乐乎": 7.0, "要命": 7.0, "极度": 7.0, "无比": 7.0, "轻度": 3.0, "完完全全": 7.0, "不过": 6.0, "多": 2.0, "未免": 4.0, "尤": 6.0, "稍": 4.0, "略微": 4.0, "不丁点儿": 3.0, "可": 6.0, "益发": 5.0, "蛮": 4.0, "相对": 3.0, "郅": 7.0, "之极": 7.0, "老大": 6.0} -------------------------------------------------------------------------------- /text_analysis_tools/api/sentiment/data/notDict.json: -------------------------------------------------------------------------------- 1 | {"没有": -1, "缺乏": -1, "远非": -1, "从未有过": -1, "弗": -1, "木有": -1, "不会": -1, "从不": -1, "毫无": -1, "禁止": -1, "不怎么": -1, "难以": -1, "很少": -1, "未": -1, "不": -1, "非": -1, "永不": -1, "几乎不": -1, "拒绝": -1, "不要": -1, "聊": -1, "毋": -1, "尚无": -1, "绝不": -1, "缺少": -1, "并非": -1, "毫不": -1, "不甚": -1, "终止": -1, "不是": -1, "别": -1, "切莫": -1, "决不": -1, "反": -1, "甭": -1, "不该": -1, "否": -1, "休想": -1, "怎么不": -1, "请勿": -1, "尚未": -1, "绝非": -1, "不曾": -1, "从没": -1, "扼杀": -1, "忌": -1, "极少": -1, "未曾": -1, "不可以": -1, "无": -1, "莫": -1, "勿": -1, "放弃": -1, "放下": -1, "反对": -1, "停止": -1, "不大": -1, "不必": -1, "无须": -1, "杜绝": -1, "没怎么": -1, "并未": -1, "不好": -1, "没": -1, "一无": -1, "不能": -1, "从未": -1, "未尝": -1, "从来不": -1, "不用": -1, "不丁点儿": -1} -------------------------------------------------------------------------------- /text_analysis_tools/api/sentiment/data/stopwords.txt.json: -------------------------------------------------------------------------------- 1 | ["--", "?", "<", ">", "!", ",", ".", "\"", "/", "~", "`", "-", "=", "+", "(", ")", "*", ":", ";", "--", "、", "。", "“", "”", "《", "》", "(", ")", "【", "】", "[", "]", "!", ",", ":", ";", "?", "able", "about", "above", "according", "accordingly", "across", "actually", "after", "afterwards", "again", "against", "ain't", "all", "allow", "allows", "almost", "alone", "along", "already", "also", "although", "always", "am", "among", "amongst", "an", "and", "another", "any", "anybody", "anyhow", "anyone", "anything", "anyway", "anyways", "anywhere", "apart", "appear", "appreciate", "appropriate", "are", "aren't", "around", "as", "a's", "aside", "ask", "asking", "associated", "at", "available", "away", "awfully", "be", "became", "because", "become", "becomes", "becoming", "been", "before", "beforehand", "behind", "being", "believe", "below", "beside", "besides", "best", "better", "between", "beyond", "both", "brief", "but", "by", "came", "can", "cannot", "cant", "can't", "cause", "causes", "certain", "certainly", "changes", "clearly", "c'mon", "co", "com", "come", "comes", "concerning", "consequently", "consider", "considering", "contain", "containing", "contains", "corresponding", "could", "couldn't", "course", "c's", "currently", "definitely", "described", "despite", "did", "didn't", "different", "do", "does", "doesn't", "doing", "done", "don't", "down", "downwards", "during", "each", "edu", "eg", "eight", "either", "else", "elsewhere", "enough", "entirely", "especially", "et", "etc", "even", "ever", "every", "everybody", "everyone", "everything", "everywhere", "ex", "exactly", "example", "except", "far", "few", "fifth", "first", "five", "followed", "following", "follows", "for", "former", "formerly", "forth", "four", "from", "further", "furthermore", "get", "gets", "getting", "given", "gives", "go", "goes", "going", "gone", "got", "gotten", "greetings", "had", "hadn't", "happens", "hardly", "has", "hasn't", "have", "haven't", "having", "he", "hello", "help", "hence", "her", "here", "hereafter", "hereby", "herein", "here's", "hereupon", "hers", "herself", "he's", "hi", "him", "himself", "his", "hither", "hopefully", "how", "howbeit", "however", "i'd", "ie", "if", "ignored", "i'll", "i'm", "immediate", "in", "inasmuch", "inc", "indeed", "indicate", "indicated", "indicates", "inner", "insofar", "instead", "into", "inward", "is", "isn't", "it", "it'd", "it'll", "its", "it's", "itself", "i've", "just", "keep", "keeps", "kept", "know", "known", "knows", "last", "lately", "later", "latter", "latterly", "least", "less", "lest", "let", "let's", "like", "liked", "likely", "little", "look", "looking", "looks", "ltd", "mainly", "many", "may", "maybe", "me", "mean", "meanwhile", "merely", "might", "more", "moreover", "most", "mostly", "much", "must", "my", "myself", "name", "namely", "nd", "near", "nearly", "necessary", "need", "needs", "neither", "never", "nevertheless", "new", "next", "nine", "no", "nobody", "non", "none", "noone", "nor", "normally", "not", "nothing", "novel", "now", "nowhere", "obviously", "of", "off", "often", "oh", "ok", "okay", "old", "on", "once", "one", "ones", "only", "onto", "or", "other", "others", "otherwise", "ought", "our", "ours", "ourselves", "out", "outside", "over", "overall", "own", "particular", "particularly", "per", "perhaps", "placed", "please", "plus", "possible", "presumably", "probably", "provides", "que", "quite", "qv", "rather", "rd", "re", "really", "reasonably", "regarding", "regardless", "regards", "relatively", "respectively", "right", "said", "same", "saw", "say", "saying", "says", "second", "secondly", "see", "seeing", "seem", "seemed", "seeming", "seems", "seen", "self", "selves", "sensible", "sent", "serious", "seriously", "seven", "several", "shall", "she", "should", "shouldn't", "since", "six", "so", "some", "somebody", "somehow", "someone", "something", "sometime", "sometimes", "somewhat", "somewhere", "soon", "sorry", "specified", "specify", "specifying", "still", "sub", "such", "sup", "sure", "take", "taken", "tell", "tends", "th", "than", "thank", "thanks", "thanx", "that", "thats", "that's", "the", "their", "theirs", "them", "themselves", "then", "thence", "there", "thereafter", "thereby", "therefore", "therein", "theres", "there's", "thereupon", "these", "they", "they'd", "they'll", "they're", "they've", "think", "third", "this", "thorough", "thoroughly", "those", "though", "three", "through", "throughout", "thru", "thus", "to", "together", "too", "took", "toward", "towards", "tried", "tries", "truly", "try", "trying", "t's", "twice", "two", "un", "under", "unfortunately", "unless", "unlikely", "until", "unto", "up", "upon", "us", "use", "used", "useful", "uses", "using", "usually", "value", "various", "very", "via", "viz", "vs", "want", "wants", "was", "wasn't", "way", "we", "we'd", "welcome", "well", "we'll", "went", "were", "we're", "weren't", "we've", "what", "whatever", "what's", "when", "whence", "whenever", "where", "whereafter", "whereas", "whereby", "wherein", "where's", "whereupon", "wherever", "whether", "which", "while", "whither", "who", "whoever", "whole", "whom", "who's", "whose", "why", "will", "willing", "wish", "with", "within", "without", "wonder", "won't", "would", "wouldn't", "yes", "yet", "you", "you'd", "you'll", "your", "you're", "yours", "yourself", "yourselves", "you've", "zero", "zt", "ZT", "zz", "ZZ", "一", "一下", "一些", "一切", "一则", "一天", "一定", "一方面", "一旦", "一时", "一来", "一样", "一次", "一片", "一直", "一致", "一般", "一起", "一边", "一面", "万一", "上下", "上升", "上去", "上来", "上述", "上面", "下列", "下去", "下来", "下面", "不一", "不久", "不仅", "不会", "不但", "不光", "不单", "不变", "不只", "不可", "不同", "不够", "不如", "不得", "不怕", "不惟", "不成", "不拘", "不敢", "不断", "不是", "不比", "不然", "不特", "不独", "不管", "不能", "不要", "不论", "不足", "不过", "不问", "与", "与其", "与否", "与此同时", "专门", "且", "两者", "严格", "严重", "个", "个人", "个别", "中小", "中间", "丰富", "临", "为", "为主", "为了", "为什么", "为什麽", "为何", "为着", "主张", "主要", "举行", "乃", "乃至", "么", "之", "之一", "之前", "之后", "之後", "之所以", "之类", "乌乎", "乎", "乘", "也", "也好", "也是", "也罢", "了", "了解", "争取", "于", "于是", "于是乎", "云云", "互相", "产生", "人们", "人家", "什么", "什么样", "什麽", "今后", "今天", "今年", "今後", "仍然", "从", "从事", "从而", "他", "他人", "他们", "他的", "代替", "以", "以上", "以下", "以为", "以便", "以免", "以前", "以及", "以后", "以外", "以後", "以来", "以至", "以至于", "以致", "们", "任", "任何", "任凭", "任务", "企图", "伟大", "似乎", "似的", "但", "但是", "何", "何况", "何处", "何时", "作为", "你", "你们", "你的", "使得", "使用", "例如", "依", "依照", "依靠", "促进", "保持", "俺", "俺们", "倘", "倘使", "倘或", "倘然", "倘若", "假使", "假如", "假若", "做到", "像", "允许", "充分", "先后", "先後", "先生", "全部", "全面", "兮", "共同", "关于", "其", "其一", "其中", "其二", "其他", "其余", "其它", "其实", "其次", "具体", "具体地说", "具体说来", "具有", "再者", "再说", "冒", "冲", "决定", "况且", "准备", "几", "几乎", "几时", "凭", "凭借", "出去", "出来", "出现", "分别", "则", "别", "别的", "别说", "到", "前后", "前者", "前进", "前面", "加之", "加以", "加入", "加强", "十分", "即", "即令", "即使", "即便", "即或", "即若", "却不", "原来", "又", "及", "及其", "及时", "及至", "双方", "反之", "反应", "反映", "反过来", "反过来说", "取得", "受到", "变成", "另", "另一方面", "另外", "只是", "只有", "只要", "只限", "叫", "叫做", "召开", "叮咚", "可", "可以", "可是", "可能", "可见", "各", "各个", "各人", "各位", "各地", "各种", "各级", "各自", "合理", "同", "同一", "同时", "同样", "后来", "后面", "向", "向着", "吓", "吗", "否则", "吧", "吧哒", "吱", "呀", "呃", "呕", "呗", "呜", "呜呼", "呢", "周围", "呵", "呸", "呼哧", "咋", "和", "咚", "咦", "咱", "咱们", "咳", "哇", "哈", "哈哈", "哉", "哎", "哎呀", "哎哟", "哗", "哟", "哦", "哩", "哪", "哪个", "哪些", "哪儿", "哪天", "哪年", "哪怕", "哪样", "哪边", "哪里", "哼", "哼唷", "唉", "啊", "啐", "啥", "啦", "啪达", "喂", "喏", "喔唷", "嗡嗡", "嗬", "嗯", "嗳", "嘎", "嘎登", "嘘", "嘛", "嘻", "嘿", "因", "因为", "因此", "因而", "固然", "在", "在下", "地", "坚决", "坚持", "基本", "处理", "复杂", "多", "多少", "多数", "多次", "大力", "大多数", "大大", "大家", "大批", "大约", "大量", "失去", "她", "她们", "她的", "好的", "好象", "如", "如上所述", "如下", "如何", "如其", "如果", "如此", "如若", "存在", "宁", "宁可", "宁愿", "宁肯", "它", "它们", "它们的", "它的", "安全", "完全", "完成", "实现", "实际", "宣布", "容易", "密切", "对", "对于", "对应", "将", "少数", "尔后", "尚且", "尤其", "就", "就是", "就是说", "尽", "尽管", "属于", "岂但", "左右", "巨大", "巩固", "己", "已经", "帮助", "常常", "并", "并不", "并不是", "并且", "并没有", "广大", "广泛", "应当", "应用", "应该", "开外", "开始", "开展", "引起", "强烈", "强调", "归", "当", "当前", "当时", "当然", "当着", "形成", "彻底", "彼", "彼此", "往", "往往", "待", "後来", "後面", "得", "得出", "得到", "心里", "必然", "必要", "必须", "怎", "怎么", "怎么办", "怎么样", "怎样", "怎麽", "总之", "总是", "总的来看", "总的来说", "总的说来", "总结", "总而言之", "恰恰相反", "您", "意思", "愿意", "慢说", "成为", "我", "我们", "我的", "或", "或是", "或者", "战斗", "所", "所以", "所有", "所谓", "打", "扩大", "把", "抑或", "拿", "按", "按照", "换句话说", "换言之", "据", "掌握", "接着", "接著", "故", "故此", "整个", "方便", "方面", "旁人", "无宁", "无法", "无论", "既", "既是", "既然", "时候", "明显", "明确", "是", "是否", "是的", "显然", "显著", "普通", "普遍", "更加", "曾经", "替", "最后", "最大", "最好", "最後", "最近", "最高", "有", "有些", "有关", "有利", "有力", "有所", "有效", "有时", "有点", "有的", "有着", "有著", "望", "朝", "朝着", "本", "本着", "来", "来着", "极了", "构成", "果然", "果真", "某", "某个", "某些", "根据", "根本", "欢迎", "正在", "正如", "正常", "此", "此外", "此时", "此间", "毋宁", "每", "每个", "每天", "每年", "每当", "比", "比如", "比方", "比较", "毫不", "没有", "沿", "沿着", "注意", "深入", "清楚", "满足", "漫说", "焉", "然则", "然后", "然後", "然而", "照", "照着", "特别是", "特殊", "特点", "现代", "现在", "甚么", "甚而", "甚至", "用", "由", "由于", "由此可见", "的", "的话", "目前", "直到", "直接", "相似", "相信", "相反", "相同", "相对", "相对而言", "相应", "相当", "相等", "省得", "看出", "看到", "看来", "看看", "看见", "真是", "真正", "着", "着呢", "矣", "知道", "确定", "离", "积极", "移动", "突出", "突然", "立即", "第", "等", "等等", "管", "紧接着", "纵", "纵令", "纵使", "纵然", "练习", "组成", "经", "经常", "经过", "结合", "结果", "给", "绝对", "继续", "继而", "维持", "综上所述", "罢了", "考虑", "者", "而", "而且", "而况", "而外", "而已", "而是", "而言", "联系", "能", "能否", "能够", "腾", "自", "自个儿", "自从", "自各儿", "自家", "自己", "自身", "至", "至于", "良好", "若", "若是", "若非", "范围", "莫若", "获得", "虽", "虽则", "虽然", "虽说", "行为", "行动", "表明", "表示", "被", "要", "要不", "要不是", "要不然", "要么", "要是", "要求", "规定", "觉得", "认为", "认真", "认识", "让", "许多", "论", "设使", "设若", "该", "说明", "诸位", "谁", "谁知", "赶", "起", "起来", "起见", "趁", "趁着", "越是", "跟", "转动", "转变", "转贴", "较", "较之", "边", "达到", "迅速", "过", "过去", "过来", "运用", "还是", "还有", "这", "这个", "这么", "这么些", "这么样", "这么点儿", "这些", "这会儿", "这儿", "这就是说", "这时", "这样", "这点", "这种", "这边", "这里", "这麽", "进入", "进步", "进而", "进行", "连", "连同", "适应", "适当", "适用", "逐步", "逐渐", "通常", "通过", "造成", "遇到", "遭到", "避免", "那", "那个", "那么", "那么些", "那么样", "那些", "那会儿", "那儿", "那时", "那样", "那边", "那里", "那麽", "部分", "鄙人", "采取", "里面", "重大", "重新", "重要", "鉴于", "问题", "防止", "阿", "附近", "限制", "除", "除了", "除此之外", "除非", "随", "随着", "随著", "集中", "需要", "非但", "非常", "非徒", "靠", "顺", "顺着", "首先", "高兴", "是不是", "说说"] -------------------------------------------------------------------------------- /text_analysis_tools/api/sentiment/sentiment.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | 4 | import os 5 | import json 6 | import jieba.analyse 7 | import jieba 8 | 9 | 10 | CURRENT_PATH = os.path.dirname(os.path.abspath(__file__)) 11 | sentiment_path = os.path.join(CURRENT_PATH, 'data', 'sentimentDict.json') 12 | stopwords_path = os.path.join(CURRENT_PATH, 'data', 'stopwords.txt.json') 13 | degree_path = os.path.join(CURRENT_PATH, 'data', 'degreeDict.json') 14 | not_path = os.path.join(CURRENT_PATH, 'data', 'notDict.json') 15 | jieba_dic_path = os.path.join(CURRENT_PATH, 'data', 'jieba.dic') 16 | 17 | # 加载情感词典 18 | jieba.load_userdict(jieba_dic_path) 19 | 20 | 21 | class SentimentAnalysis(): 22 | def __init__(self): 23 | self.sentiment_score_dic = self.load_json(sentiment_path) 24 | self.degree_score = self.load_json(degree_path) 25 | self.notwords = self.load_json(not_path) 26 | 27 | def load_json(self, json_file_path): 28 | with open(json_file_path, 'r', encoding='utf-8') as f: 29 | return json.loads(f.read(), encoding='utf-8') 30 | 31 | def analysis(self, sentence): 32 | words = jieba.lcut(sentence) 33 | score = self.sentiment_score_dic.get(words[0], 0) 34 | if len(words) > 1: 35 | score += self.sentiment_score_dic.get(words[1], 0) * self.notwords.get(words[0], 1) * self.degree_score.get(words[0], 1) 36 | if len(words) > 2: 37 | for i in range(2, len(words)): 38 | score += self.sentiment_score_dic.get(words[i], 0) * self.notwords.get(words[i-1], 1) * \ 39 | self.degree_score.get(words[i-1], 1) * self.degree_score.get(words[i-2], 1) * \ 40 | self.notwords.get(words[i-2], 1) 41 | if score < 0: 42 | return {'negative': score} 43 | if score > 0: 44 | return {'positive': score} 45 | return {'middle': score} -------------------------------------------------------------------------------- /text_analysis_tools/api/spell_correct/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import os 4 | 5 | CURRENT_PATH = os.path.abspath(__file__) 6 | DATA_PATH = os.path.dirname(os.path.dirname(CURRENT_PATH)) 7 | STOPWORDS = os.path.join(DATA_PATH, "data", "stop_words.txt") -------------------------------------------------------------------------------- /text_analysis_tools/api/spell_correct/__pycache__/__init__.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/spell_correct/__pycache__/__init__.cpython-36.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/spell_correct/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/spell_correct/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/spell_correct/__pycache__/spell_correct.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/spell_correct/__pycache__/spell_correct.cpython-36.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/spell_correct/__pycache__/spell_correct.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/spell_correct/__pycache__/spell_correct.cpython-38.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/spell_correct/spell_correct.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import os 4 | import re 5 | import jieba 6 | import json 7 | from xpinyin import Pinyin 8 | from collections import Counter 9 | from text_analysis_tools.api.spell_correct import STOPWORDS 10 | 11 | 12 | stopwords_path = STOPWORDS 13 | 14 | 15 | class SpellCorrect: 16 | def __init__(self, corpus_path, train=True, ret_num=10, model_dir="spell_correct_model"): 17 | """ 18 | :param corpus_path: 文本路径 19 | :param train: 是否根据文本,生成纠错词库,默认文本为《水浒传》 20 | :param ret_num: 返回可能的纠错结果数目 21 | """ 22 | self.p = Pinyin() 23 | self.corpus_path = corpus_path 24 | self.ret_num = ret_num 25 | self.model_dir = model_dir 26 | 27 | if not os.path.exists(model_dir): 28 | os.mkdir(model_dir) 29 | 30 | self.pinyin_word_path = os.path.join(self.model_dir, 'pinyin_word.json') 31 | self.word_count_path = os.path.join(self.model_dir, 'word_count.json') 32 | 33 | if train: 34 | self.split_text() 35 | 36 | self.pinyin_word = self.load_json(self.pinyin_word_path) 37 | self.word_count = self.load_json(self.word_count_path) 38 | self.WORDS = self.pinyin_word.keys() 39 | 40 | def load_stopwords(self): 41 | with open(stopwords_path, encoding='utf-8') as f: 42 | return [line.strip() for line in f] 43 | 44 | def split_text(self): 45 | pinyin_word = {} # 存放拼音对应词 46 | stopwords = self.load_stopwords() 47 | with open(self.corpus_path, encoding='utf-8') as f: 48 | words = jieba.lcut(re.sub("[\sa-z0-9\r\n]+", "", f.read())) 49 | word_count = dict(Counter(words)) # 词对应词频 50 | for key in word_count: 51 | if key not in stopwords: 52 | pinyin = self.p.get_pinyin(key, splitter='') 53 | if pinyin not in pinyin_word: 54 | pinyin_word[pinyin] = [key] 55 | else: 56 | pinyin_word[pinyin].append(key) 57 | self.dump_json(word_count, self.word_count_path) 58 | self.dump_json(pinyin_word, self.pinyin_word_path) 59 | 60 | def candidates(self, word): 61 | "Generate possible spelling corrections for word." 62 | return (self.known([word]) or self.known(self.edits1(word)) or self.known(self.edits2(word)) or [word]) 63 | 64 | def known(self, words): 65 | "The subset of `words` that appear in the dictionary of WORDS." 66 | return set(w for w in words if w in self.WORDS) 67 | 68 | def edits1(self, word): 69 | "All edits that are one edit away from `word`." 70 | letters = 'abcdefghijklmnopqrstuvwxyz' 71 | splits = [(word[:i], word[i:]) for i in range(len(word) + 1)] 72 | deletes = [L + R[1:] for L, R in splits if R] 73 | transposes = [L + R[1] + R[0] + R[2:] for L, R in splits if len(R) > 1] 74 | replaces = [L + c + R[1:] for L, R in splits if R for c in letters] 75 | inserts = [L + c + R for L, R in splits for c in letters] 76 | return set(deletes + transposes + replaces + inserts) 77 | 78 | def edits2(self, word): 79 | "All edits that are two edits away from `word`." 80 | return (e2 for e1 in self.edits1(word) for e2 in self.edits1(e1)) 81 | 82 | def load_json(self, json_file_path): 83 | with open(json_file_path, encoding='utf-8') as f: 84 | return json.loads(f.read(), encoding='utf-8') 85 | 86 | def dump_json(self, content, json_file_path): 87 | with open(json_file_path, 'w', encoding='utf-8') as f: 88 | json.dump(content, f, ensure_ascii=False, indent=4) 89 | 90 | def correct(self, word): 91 | word_pinyin = self.p.get_pinyin(word, splitter='') 92 | candidate_pinyin = self.candidates(word_pinyin) 93 | ret_dic = {} 94 | words = [] 95 | for pinyin in candidate_pinyin: 96 | words.extend(self.pinyin_word[pinyin]) 97 | for word in words: 98 | ret_dic[word] = self.word_count.get(word, 0) 99 | sort_word = sorted(ret_dic.items(), key=lambda x: x[1], reverse=True) 100 | return [item[0] for item in sort_word[:self.ret_num]] 101 | 102 | 103 | if __name__ == '__main__': 104 | spell_correct = SpellCorrect() 105 | print(spell_correct.correct('宋江')) 106 | print(spell_correct.correct('松江')) 107 | print(spell_correct.correct('李奎')) 108 | print(spell_correct.correct('吴宋')) 109 | print(spell_correct.correct('送三连')) 110 | 111 | 112 | 113 | -------------------------------------------------------------------------------- /text_analysis_tools/api/summarization/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import os 4 | 5 | CURRENT_PATH = os.path.abspath(__file__) 6 | DATA_PATH = os.path.dirname(os.path.dirname(CURRENT_PATH)) 7 | STOPWORDS = os.path.join(DATA_PATH, "data", "stop_words.txt") -------------------------------------------------------------------------------- /text_analysis_tools/api/summarization/__pycache__/__init__.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/summarization/__pycache__/__init__.cpython-36.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/summarization/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/summarization/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/summarization/__pycache__/textrank_summarization.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/summarization/__pycache__/textrank_summarization.cpython-36.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/summarization/__pycache__/textrank_summarization.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/summarization/__pycache__/textrank_summarization.cpython-38.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/summarization/__pycache__/tfidf_summarization.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/summarization/__pycache__/tfidf_summarization.cpython-36.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/summarization/__pycache__/tfidf_summarization.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/summarization/__pycache__/tfidf_summarization.cpython-38.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/summarization/textrank_summarization.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | 4 | import jieba 5 | import numpy as np 6 | from nltk.cluster.util import cosine_distance 7 | from text_analysis_tools.api.summarization import STOPWORDS as STOPWORDS_PATH 8 | 9 | MIN_SEQ_LEN = 0 10 | 11 | 12 | def load_stopwords(file_path): 13 | with open(file_path, encoding='utf-8') as f: 14 | return [line.strip() for line in f] 15 | 16 | 17 | def split_doc(doc, stopwords=None): 18 | if not stopwords: 19 | stopwords = [] 20 | 21 | sentences = [] 22 | cut_sentences = [] 23 | origin_sentences = [] 24 | 25 | while len(doc) > 0: 26 | for i in range(len(doc)): 27 | if doc[i] in ['。', '!', '?', '?']: 28 | sentences.append(doc[:i+1]) 29 | doc = doc[i+1:] 30 | break 31 | for sent in sentences: 32 | if len(sent) > MIN_SEQ_LEN: 33 | cut_sentences.append([word for word in jieba.lcut(sent) if word not in stopwords]) 34 | origin_sentences.append(sent) 35 | return origin_sentences, cut_sentences 36 | 37 | 38 | def sentence_similarity(sent1, sent2): 39 | """ 40 | 计算两个句子之间的相似性 41 | :param sent1: 42 | :param sent2: 43 | :return: 44 | """ 45 | all_words = list(set(sent1 + sent2)) 46 | 47 | vector1 = [0] * len(all_words) 48 | vector2 = [0] * len(all_words) 49 | 50 | for word in sent1: 51 | vector1[all_words.index(word)] += 1 52 | 53 | for word in sent2: 54 | vector2[all_words.index(word)] += 1 55 | 56 | # cosine_distance 越大越不相似 57 | return 1-cosine_distance(vector1, vector2) 58 | 59 | 60 | def build_similarity_matrix(sentences): 61 | """ 62 | 构建相似矩阵 63 | :param sentences: 64 | :return: 65 | """ 66 | S = np.zeros((len(sentences), len(sentences))) 67 | for idx1 in range(len(sentences)): 68 | for idx2 in range(len(sentences)): 69 | if idx1 == idx2: 70 | continue 71 | S[idx1][idx2] = sentence_similarity(sentences[idx1], sentences[idx2]) 72 | # 将矩阵正则化 73 | for idx in range(len(S)): 74 | if S[idx].sum == 0: 75 | continue 76 | S[idx] /= S[idx].sum() 77 | 78 | return S 79 | 80 | 81 | def pagerank(A, eps=0.0001, d=0.85): 82 | P = np.ones(len(A)) / len(A) 83 | while True: 84 | new_P = np.ones(len(A)) * (1 - d) / len(A) + d * A.T.dot(P) 85 | delta = abs(new_P - P).sum() 86 | if delta <= eps: 87 | return new_P 88 | P = new_P 89 | 90 | class TextRankSummarization: 91 | def __init__(self, ratio): 92 | self.ratio = ratio 93 | self.stopwords = load_stopwords(STOPWORDS_PATH) 94 | 95 | def analysis(self, doc): 96 | origin_sentences, cut_sentences = split_doc(doc, stopwords=self.stopwords) 97 | 98 | S = build_similarity_matrix(cut_sentences) 99 | 100 | sentences_ranks = pagerank(S) 101 | 102 | sentences_ranks = [item[0] for item in sorted(enumerate(sentences_ranks), key=lambda item: -item[1])] 103 | 104 | selected_sentences_index = sorted(sentences_ranks[:int(len(origin_sentences)*self.ratio)]) 105 | 106 | summary = [] 107 | for idx in selected_sentences_index: 108 | summary.append(origin_sentences[idx]) 109 | 110 | return ''.join(summary) -------------------------------------------------------------------------------- /text_analysis_tools/api/summarization/tfidf_summarization.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | 4 | import jieba.analyse 5 | from text_analysis_tools.api.summarization import STOPWORDS 6 | 7 | 8 | def load_stopwords(stopwords_path): 9 | """ 10 | 加载停用词词典 11 | :param stopwords_path: 12 | :return: 13 | """ 14 | with open(stopwords_path, encoding='utf-8') as f: 15 | return [line.strip() for line in f] 16 | 17 | 18 | def split_doc(doc): 19 | separators = ['。', '!', '!', '?', '?'] 20 | for sep in separators: 21 | doc = doc.replace(sep, sep+'##') 22 | sentences = doc.split('##') 23 | return sentences[:-1] 24 | 25 | 26 | def calculate_sentence_score(sentence, stopwords): 27 | jieba_ret = jieba.analyse.extract_tags(sentence, topK=100, withWeight=True, allowPOS=('ns', 'n', 'vn', 'v')) 28 | sentence_score = 0 29 | for word, score in jieba_ret: 30 | if word not in stopwords: 31 | sentence_score += score 32 | return sentence_score 33 | 34 | 35 | class TfidfSummarization: 36 | def __init__(self, ratio=0.2): 37 | self.ratio = ratio 38 | 39 | def analysis(self, doc): 40 | stopwords = load_stopwords(STOPWORDS) 41 | 42 | # 对文本进行分割 43 | sentences = split_doc(doc) 44 | 45 | # 存放句子顺序 46 | sentences_order = {sent: idx for idx, sent in enumerate(sentences)} 47 | 48 | # 存放句子得分 49 | sentences_score = {sent: calculate_sentence_score(sent, stopwords) for sent in sentences} 50 | 51 | # 根据得分,选出较高得分的句子 52 | sentences_score_order = sorted(sentences_score.items(), key=lambda item: -item[1])[: int(len(sentences) * self.ratio)] 53 | 54 | # 将较高的分的句子按原文本进行排序输出 55 | selected_sentences = {sent: sentences_order[sent] for sent, score in sentences_score_order} 56 | summary = ''.join([sent for sent, order in sorted(selected_sentences.items(), key=lambda item: item[1])]) 57 | 58 | return summary 59 | 60 | 61 | if __name__ == '__main__': 62 | doc = """习近平在主持学习时发表了讲话。他强调,人工智能是引领这一轮科技革命和产业变革的战略性技术,具有溢出带动性很强的“头雁”效应。在移动互联网、大数据、超级计算、传感网、脑科学等新理论新技术的驱动下,人工智能加速发展,呈现出深度学习、跨界融合、人机协同、群智开放、自主操控等新特征,正在对经济发展、社会进步、国际政治经济格局等方面产生重大而深远的影响。加快发展新一代人工智能是我们赢得全球科技竞争主动权的重要战略抓手,是推动我国科技跨越发展、产业优化升级、生产力整体跃升的重要战略资源。习近平指出,人工智能具有多学科综合、高度复杂的特征。我们必须加强研判,统筹谋划,协同创新,稳步推进,把增强原创能力作为重点,以关键核心技术为主攻方向,夯实新一代人工智能发展的基础。要加强基础理论研究,支持科学家勇闯人工智能科技前沿的“无人区”,努力在人工智能发展方向和理论、方法、工具、系统等方面取得变革性、颠覆性突破,确保我国在人工智能这个重要领域的理论研究走在前面、关键核心技术占领制高点。要主攻关键核心技术,以问题为导向,全面增强人工智能科技创新能力,加快建立新一代人工智能关键共性技术体系,在短板上抓紧布局,确保人工智能关键核心技术牢牢掌握在自己手里。要强化科技应用开发,紧紧围绕经济社会发展需求,充分发挥我国海量数据和巨大市场应用规模优势,坚持需求导向、市场倒逼的科技发展路径,积极培育人工智能创新产品和服务,推进人工智能技术产业化,形成科技创新和产业应用互相促进的良好发展局面。要加强人才队伍建设,以更大的决心、更有力的措施,打造多种形式的高层次人才培养平台,加强后备人才培养力度,为科技和产业发展提供更加充分的人才支撑。""" -------------------------------------------------------------------------------- /text_analysis_tools/api/synonym/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | 4 | import os 5 | 6 | CURRENT_PATH = os.path.abspath(__file__) 7 | DATA_PATH = os.path.dirname(os.path.dirname(CURRENT_PATH)) 8 | SYNONYM_DICT = os.path.join(DATA_PATH, "data", "synonym.json") -------------------------------------------------------------------------------- /text_analysis_tools/api/synonym/__pycache__/__init__.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/synonym/__pycache__/__init__.cpython-36.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/synonym/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/synonym/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/synonym/__pycache__/synonym_dict.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/synonym/__pycache__/synonym_dict.cpython-36.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/synonym/__pycache__/synonym_dict.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/synonym/__pycache__/synonym_dict.cpython-38.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/synonym/__pycache__/word2vec.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/synonym/__pycache__/word2vec.cpython-36.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/synonym/__pycache__/word2vec.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/synonym/__pycache__/word2vec.cpython-38.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/synonym/synonym_dict.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import json 4 | from text_analysis_tools.api.synonym import SYNONYM_DICT 5 | 6 | 7 | class SynonymDict: 8 | def __init__(self): 9 | self.synonym_dict = self.load_json() 10 | 11 | def load_json(self): 12 | with open(SYNONYM_DICT, encoding='utf-8') as f: 13 | return json.loads(f.read()) 14 | 15 | def synonym(self, word): 16 | try: 17 | ret = self.synonym_dict[word] 18 | except: 19 | ret = [] 20 | return ret 21 | -------------------------------------------------------------------------------- /text_analysis_tools/api/synonym/word2vec.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | 4 | import gensim 5 | 6 | 7 | class Word2VecSynonym: 8 | def __init__(self, word_embedding_path, topn=10): 9 | print("loading word embedding ......") 10 | self.word_embedding = gensim.models.KeyedVectors.load_word2vec_format(word_embedding_path, binary=False) 11 | self.topn = topn 12 | print("DONE !!!") 13 | 14 | def synonym(self, words): 15 | try: 16 | ret = self.word_embedding.most_similar(words, topn=self.topn) 17 | except: 18 | ret = [] 19 | return ret 20 | 21 | 22 | -------------------------------------------------------------------------------- /text_analysis_tools/api/text_classification/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- -------------------------------------------------------------------------------- /text_analysis_tools/api/text_classification/__pycache__/__init__.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/text_classification/__pycache__/__init__.cpython-36.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/text_classification/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/text_classification/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/text_classification/__pycache__/fasttext.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/text_classification/__pycache__/fasttext.cpython-36.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/text_classification/__pycache__/fasttext.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/text_classification/__pycache__/fasttext.cpython-38.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/text_classification/fasttext.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import os 4 | import sys 5 | import fasttext.FastText as ff 6 | 7 | 8 | class Fasttext: 9 | def __init__(self, save_model_path=None, train_data_path=None, test_data_path=None, type="train", 10 | k=1, threshold=0.0, epoch=5, pretrainedVectors="", label="__label__", 11 | lr=0.1, dim=100): 12 | """ 13 | fasttext 14 | :param save_model_path: 模型保存路径 15 | :param train_data_path: 训练样本路径 16 | :param test_data_path: 测试样本路径 17 | :param type: 模式:“train/predict” 18 | :param k: 返回结果个数 19 | :param threshold: 阈值 20 | :param epoch: 训练轮数 21 | :param pretrainedVectors: 预训练词向量路径 22 | :param label: 标签前缀 23 | :param lr: 学习率 24 | :param dim: 词向量维度 25 | """ 26 | self.train_data_path = train_data_path 27 | self.test_data_path = test_data_path 28 | self.save_model_path = save_model_path 29 | self.type = type 30 | self.k = k 31 | self.threshold = threshold 32 | self.epoch = epoch 33 | self.pretrainedVectors = pretrainedVectors 34 | self.label = label 35 | self.lr = lr 36 | self.dim = dim 37 | 38 | if self.type == "predict": 39 | if not os.path.exists(self.save_model_path): 40 | print("MODEL: {} is not EXIST ....") 41 | sys.exit() 42 | print("LOAD MODEL FROM: {}".format(self.save_model_path)) 43 | self.classifier = ff.load_model(self.save_model_path) 44 | else: 45 | self.classifier = None 46 | 47 | def train(self): 48 | classifier = ff.train_supervised(input=self.train_data_path, label="__label__", epoch=self.epoch, 49 | pretrainedVectors=self.pretrainedVectors, lr=self.lr, dim=self.dim) 50 | classifier.save_model(self.save_model_path) 51 | train_result = classifier.test(self.train_data_path) 52 | 53 | print("### TRAIN RESULT ###") 54 | print("Train Samples: {}".format(train_result[0])) 55 | print("Train Precision: {}".format(train_result[1])) 56 | print("Train Recall: {}\n\n".format(train_result[2])) 57 | 58 | if self.test_data_path: 59 | test_result = classifier.test(self.test_data_path) 60 | 61 | print("### TEST RESULT ###") 62 | print("Test Samples: {}".format(test_result[0])) 63 | print("Test Precision: {}".format(test_result[1])) 64 | print("Test Recall: {}\n\n".format(test_result[2])) 65 | 66 | print("model save to {}".format(self.save_model_path)) 67 | 68 | def predict(self, list_str): 69 | result = self.classifier.predict(list_str, k=self.k, threshold=self.threshold) 70 | return {"label": result[0], "probability": result[1].tolist()} 71 | 72 | 73 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /text_analysis_tools/api/text_cluster/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | 4 | import os 5 | 6 | CURRENT_PATH = os.path.abspath(__file__) 7 | DATA_PATH = os.path.dirname(os.path.dirname(CURRENT_PATH)) 8 | STOPWORDS = os.path.join(DATA_PATH, "data", "stop_words.txt") -------------------------------------------------------------------------------- /text_analysis_tools/api/text_cluster/__pycache__/__init__.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/text_cluster/__pycache__/__init__.cpython-36.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/text_cluster/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/text_cluster/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/text_cluster/__pycache__/dbscan.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/text_cluster/__pycache__/dbscan.cpython-36.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/text_cluster/__pycache__/dbscan.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/text_cluster/__pycache__/dbscan.cpython-38.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/text_cluster/__pycache__/kmeans.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/text_cluster/__pycache__/kmeans.cpython-36.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/text_cluster/__pycache__/kmeans.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/text_cluster/__pycache__/kmeans.cpython-38.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/text_cluster/dbscan.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import jieba 4 | from sklearn.feature_extraction.text import CountVectorizer 5 | from sklearn.feature_extraction.text import TfidfTransformer 6 | from sklearn.cluster import DBSCAN 7 | from sklearn.decomposition import PCA 8 | import matplotlib.pyplot as plt 9 | from text_analysis_tools.api.text_cluster import STOPWORDS 10 | 11 | class DbscanClustering: 12 | def __init__(self): 13 | self.stopwords = self.load_stopwords(STOPWORDS) 14 | self.vectorizer = CountVectorizer() 15 | self.transformer = TfidfTransformer() 16 | 17 | def load_stopwords(self, stopwords=None): 18 | """ 19 | 加载停用词 20 | :param stopwords: 21 | :return: 22 | """ 23 | if stopwords: 24 | with open(stopwords, 'r', encoding='utf-8') as f: 25 | return [line.strip() for line in f] 26 | else: 27 | return [] 28 | 29 | def preprocess_data(self, corpus_path): 30 | """ 31 | 文本预处理,每行一个文本 32 | :param corpus_path: 33 | :return: 34 | """ 35 | corpus = [] 36 | with open(corpus_path, 'r', encoding='utf-8') as f: 37 | for line in f: 38 | corpus.append(' '.join([word for word in jieba.lcut(line.strip()) if word not in self.stopwords])) 39 | return corpus 40 | 41 | def get_text_tfidf_matrix(self, corpus): 42 | """ 43 | 获取tfidf矩阵 44 | :param corpus: 45 | :return: 46 | """ 47 | tfidf = self.transformer.fit_transform(self.vectorizer.fit_transform(corpus)) 48 | 49 | # 获取词袋中所有词语 50 | # words = self.vectorizer.get_feature_names() 51 | 52 | # 获取tfidf矩阵中权重 53 | weights = tfidf.toarray() 54 | return weights 55 | 56 | def pca(self, weights, n_components=2): 57 | """ 58 | PCA对数据进行降维 59 | :param weights: 60 | :param n_components: 61 | :return: 62 | """ 63 | pca = PCA(n_components=n_components) 64 | return pca.fit_transform(weights) 65 | 66 | def dbscan(self, corpus_path, eps=0.1, min_samples=3, fig=False): 67 | """ 68 | DBSCAN:基于密度的文本聚类算法 69 | :param corpus_path: 语料路径,每行一个文本 70 | :param eps: DBSCA中半径参数 71 | :param min_samples: DBSCAN中半径eps内最小样本数目 72 | :param fig: 是否对降维后的样本进行画图显示 73 | :return: 74 | """ 75 | corpus = self.preprocess_data(corpus_path) 76 | weights = self.get_text_tfidf_matrix(corpus) 77 | 78 | pca_weights = self.pca(weights) 79 | 80 | clf = DBSCAN(eps=eps, min_samples=min_samples) 81 | 82 | y = clf.fit_predict(pca_weights) 83 | 84 | if fig: 85 | plt.scatter(pca_weights[:, 0], pca_weights[:, 1], c=y) 86 | plt.show() 87 | 88 | # 中心点 89 | # centers = clf.cluster_centers_ 90 | 91 | # 用来评估簇的个数是否合适,距离约小说明簇分得越好,选取临界点的簇的个数 92 | # score = clf.inertia_ 93 | 94 | # 每个样本所属的簇 95 | result = {} 96 | for text_idx, label_idx in enumerate(y): 97 | key = "cluster_{}".format(label_idx) 98 | if key not in result: 99 | result[key] = [text_idx] 100 | else: 101 | result[key].append(text_idx) 102 | return result 103 | 104 | 105 | if __name__ == '__main__': 106 | dbscan = DbscanClustering(stopwords_path='../data/stop_words.txt') 107 | result = dbscan.dbscan('../data/test_data.txt', eps=0.05, min_samples=3) 108 | print(result) 109 | -------------------------------------------------------------------------------- /text_analysis_tools/api/text_cluster/kmeans.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import jieba 4 | from sklearn.feature_extraction.text import CountVectorizer 5 | from sklearn.feature_extraction.text import TfidfTransformer 6 | from sklearn.cluster import KMeans 7 | from text_analysis_tools.api.text_cluster import STOPWORDS 8 | 9 | 10 | class KmeansClustering(): 11 | def __init__(self, stopwords_path=STOPWORDS): 12 | self.stopwords = self.load_stopwords(stopwords_path) 13 | self.vectorizer = CountVectorizer() 14 | self.transformer = TfidfTransformer() 15 | 16 | def load_stopwords(self, stopwords=None): 17 | """ 18 | 加载停用词 19 | :param stopwords: 20 | :return: 21 | """ 22 | if stopwords: 23 | with open(stopwords, 'r', encoding='utf-8') as f: 24 | return [line.strip() for line in f] 25 | else: 26 | return [] 27 | 28 | def preprocess_data(self, corpus_path): 29 | """ 30 | 文本预处理,每行一个文本 31 | :param corpus_path: 32 | :return: 33 | """ 34 | corpus = [] 35 | with open(corpus_path, 'r', encoding='utf-8') as f: 36 | for line in f: 37 | corpus.append(' '.join([word for word in jieba.lcut(line.strip()) if word not in self.stopwords])) 38 | return corpus 39 | 40 | def get_text_tfidf_matrix(self, corpus): 41 | """ 42 | 获取tfidf矩阵 43 | :param corpus: 44 | :return: 45 | """ 46 | tfidf = self.transformer.fit_transform(self.vectorizer.fit_transform(corpus)) 47 | 48 | # 获取词袋中所有词语 49 | # words = self.vectorizer.get_feature_names() 50 | 51 | # 获取tfidf矩阵中权重 52 | weights = tfidf.toarray() 53 | return weights 54 | 55 | def kmeans(self, corpus_path, n_clusters=5): 56 | """ 57 | KMeans文本聚类 58 | :param corpus_path: 语料路径(每行一篇),文章id从0开始 59 | :param n_clusters: :聚类类别数目 60 | :return: {cluster_id1:[text_id1, text_id2]} 61 | """ 62 | corpus = self.preprocess_data(corpus_path) 63 | weights = self.get_text_tfidf_matrix(corpus) 64 | 65 | clf = KMeans(n_clusters=n_clusters) 66 | 67 | # clf.fit(weights) 68 | 69 | y = clf.fit_predict(weights) 70 | 71 | # 中心点 72 | # centers = clf.cluster_centers_ 73 | 74 | # 用来评估簇的个数是否合适,距离约小说明簇分得越好,选取临界点的簇的个数 75 | # score = clf.inertia_ 76 | 77 | # 每个样本所属的簇 78 | result = {} 79 | for text_idx, label_idx in enumerate(y): 80 | key = "cluster_{}".format(label_idx) 81 | if key not in result: 82 | result[key] = [text_idx] 83 | else: 84 | result[key].append(text_idx) 85 | return result 86 | 87 | 88 | if __name__ == '__main__': 89 | Kmeans = KmeansClustering(stopwords_path='../data/stop_words.txt') 90 | result = Kmeans.kmeans('../data/test_data.txt', n_clusters=5) 91 | print(result) -------------------------------------------------------------------------------- /text_analysis_tools/api/text_similarity/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import os 4 | 5 | CURRENT_PATH = os.path.abspath(__file__) 6 | DATA_PATH = os.path.dirname(os.path.dirname(CURRENT_PATH)) 7 | STOPWORDS = os.path.join(DATA_PATH, "data", "stop_words.txt") -------------------------------------------------------------------------------- /text_analysis_tools/api/text_similarity/__pycache__/__init__.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/text_similarity/__pycache__/__init__.cpython-36.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/text_similarity/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/text_similarity/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/text_similarity/__pycache__/cosion.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/text_similarity/__pycache__/cosion.cpython-36.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/text_similarity/__pycache__/cosion.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/text_similarity/__pycache__/cosion.cpython-38.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/text_similarity/__pycache__/edit.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/text_similarity/__pycache__/edit.cpython-36.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/text_similarity/__pycache__/edit.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/text_similarity/__pycache__/edit.cpython-38.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/text_similarity/__pycache__/simhash.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/text_similarity/__pycache__/simhash.cpython-36.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/text_similarity/__pycache__/simhash.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/text_similarity/__pycache__/simhash.cpython-38.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/text_similarity/cosion.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | 4 | import jieba 5 | from sklearn.metrics.pairwise import cosine_similarity 6 | from text_analysis_tools.api.keywords import STOPWORDS 7 | 8 | 9 | class CosionSimilarity(): 10 | """ 11 | 根据余弦函数计算相似性 12 | one-hot编码 13 | """ 14 | def load_stopwords(self, stopwords_path): 15 | with open(stopwords_path, 'r', encoding='utf-8') as f: 16 | return [line.strip() for line in f] 17 | 18 | def cut_words(self, text, stopwords): 19 | return [word for word in jieba.lcut(text) if word not in stopwords] 20 | 21 | def similarity(self, text1, text2): 22 | stopwords = self.load_stopwords(STOPWORDS) 23 | text1_words = set(self.cut_words(text1, stopwords)) 24 | text2_words = set(self.cut_words(text2, stopwords)) 25 | 26 | all_words = list(text1_words | text2_words) 27 | 28 | text1_vector = [1 if word in text1_words else 0 for word in all_words] 29 | text2_vector = [1 if word in text2_words else 0 for word in all_words] 30 | 31 | return cosine_similarity([text1_vector], [text2_vector])[0][0] 32 | 33 | 34 | if __name__ == '__main__': 35 | text1 = "小明,你妈妈喊你回家吃饭啦" 36 | text2 = "回家吃饭啦,小明" 37 | similarity = CosionSimilarity() 38 | print(similarity.similarity(text1, text2)) -------------------------------------------------------------------------------- /text_analysis_tools/api/text_similarity/edit.py: -------------------------------------------------------------------------------- 1 | # coding:utf-8 2 | 3 | 4 | class EditSimilarity: 5 | def __init__(self): 6 | pass 7 | 8 | def edit_dist(self, str1, str2): 9 | matrix = [[i + j for j in range(len(str2) + 1)] for i in range(len(str1) + 1)] 10 | 11 | for i in range(1, len(str1) + 1): 12 | for j in range(1, len(str2) + 1): 13 | if str1[i - 1] == str2[j - 1]: 14 | d = 0 15 | else: 16 | d = 1 17 | matrix[i][j] = min(matrix[i - 1][j] + 1, matrix[i][j - 1] + 1, matrix[i - 1][j - 1] + d) 18 | 19 | return matrix[len(str1)][len(str2)] -------------------------------------------------------------------------------- /text_analysis_tools/api/text_similarity/simhash.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | 4 | import jieba 5 | import jieba.analyse 6 | 7 | 8 | def cut_words_weights(content): 9 | """ 10 | 根据jieba分词,提取关键词及其权重 11 | :param data: 12 | :return: 13 | """ 14 | # jieba提取关键词及其权重 15 | # 设置停用词 16 | # jieba.analyse.set_stop_words('path_of_stopwords') 17 | tags = jieba.analyse.extract_tags(content, topK=20, withWeight=True) 18 | tags = [(keyword, int(weight*10)) for keyword, weight in tags] 19 | return tags 20 | 21 | 22 | def hash_keyword_add_weight(keyword_weight, len_hash=64): 23 | """ 24 | 对关键词进行hash, 然后加权 25 | :param keyword_weight: 26 | :param len_hash: 27 | :return: 28 | """ 29 | # 关键词hash 30 | keyword_weight = [(bin(hash(keyword)).replace("0b", "").replace("-", "").zfill(len_hash)[-1*len_hash:], weight) 31 | for keyword, weight in keyword_weight] 32 | # 加权 33 | add_weight = [0] * len_hash 34 | for keyword, weight in keyword_weight: 35 | for i in range(len_hash): 36 | if keyword[i] == "1": 37 | add_weight[i] += weight 38 | else: 39 | add_weight[i] += -1 * weight 40 | result = "" 41 | for _ in add_weight: 42 | if _ >= 0: 43 | result += "1" 44 | else: 45 | result += "0" 46 | return result 47 | 48 | 49 | def cal_hamming_distance(hash_file1, hash_file2): 50 | """ 51 | 计算两篇文章的海明距离 52 | :param hash_file1: 53 | :param hash_file2: 54 | :return: 55 | """ 56 | hamming_dis = 0 57 | for i in range(len(hash_file1)): 58 | if hash_file1[i] != hash_file2[i]: 59 | hamming_dis += 1 60 | # print("海明距离:", hamming_dis) 61 | return hamming_dis 62 | 63 | 64 | class SimHashSimilarity(): 65 | def __init__(self): 66 | pass 67 | 68 | def run_simhash(self, str1, str2): 69 | """ 70 | 主程序 71 | :param str1: 72 | :param str2: 73 | :return: 74 | """ 75 | tags1 = cut_words_weights(str1) 76 | tags2 = cut_words_weights(str2) 77 | hash_file1 = hash_keyword_add_weight(tags1) 78 | hash_file2 = hash_keyword_add_weight(tags2) 79 | hamming_dis = cal_hamming_distance(hash_file1, hash_file2) 80 | return hamming_dis 81 | 82 | 83 | 84 | if __name__ == "__main__": 85 | simhash = SimHashSimilarity() 86 | print(simhash.run_simhash("你妈妈叫你回家吃饭了,小明", "小明的妈妈让你回家吃饭了")) -------------------------------------------------------------------------------- /text_analysis_tools/api/topic_keywords/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- -------------------------------------------------------------------------------- /text_analysis_tools/api/topic_keywords/__pycache__/__init__.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/topic_keywords/__pycache__/__init__.cpython-36.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/topic_keywords/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/topic_keywords/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/topic_keywords/__pycache__/topic_kwywords.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/topic_keywords/__pycache__/topic_kwywords.cpython-36.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/topic_keywords/__pycache__/topic_kwywords.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/topic_keywords/__pycache__/topic_kwywords.cpython-38.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/topic_keywords/topic_kwywords.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import jieba 4 | from sklearn.feature_extraction.text import CountVectorizer 5 | from sklearn.decomposition import LatentDirichletAllocation 6 | 7 | 8 | 9 | class TopicKeywords: 10 | """ 11 | 主题发现 12 | """ 13 | def __init__(self, train_data, n_components=10, n_top_words=50, max_iter=50): 14 | """ 15 | :param train_data: 训练数据 16 | 格式: ["张三在中国移动工作", "你是谁?"] 17 | :param n_components: 主题数目 18 | :param n_top_words: 每个主题提取的主题词数目 19 | :param max_iter: 迭代次数 20 | """ 21 | self.train_data = [" ".join(jieba.lcut(data)) for data in train_data] 22 | self.n_components = n_components 23 | self.n_top_words = n_top_words 24 | self.max_iter = max_iter 25 | 26 | def print_top_words(self, model, feature_names, n_top_words): 27 | ret = {} 28 | for topic_idx, topic in enumerate(model.components_): 29 | key = "topic_{}".format(topic_idx) 30 | val = [feature_names[i] for i in topic.argsort()[:-n_top_words - 1:-1]] 31 | ret[key] = val 32 | return ret 33 | 34 | def analysis(self): 35 | tf_vectorizer = CountVectorizer() 36 | 37 | tf = tf_vectorizer.fit_transform(self.train_data) 38 | 39 | lda = LatentDirichletAllocation(n_components=self.n_components, max_iter=self.max_iter, 40 | learning_method='online', 41 | learning_offset=50., 42 | random_state=0) 43 | lda.fit(tf) 44 | tf_feature_names = tf_vectorizer.get_feature_names() 45 | return self.print_top_words(lda, tf_feature_names, self.n_top_words) -------------------------------------------------------------------------------- /text_analysis_tools/api/triple_extraction/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | -------------------------------------------------------------------------------- /text_analysis_tools/api/triple_extraction/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/triple_extraction/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/triple_extraction/__pycache__/triple_extraction_ltp.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/murray-z/text_analysis_tools/d3ee6ad27c86cebd0f669213ea01c9d146687e2c/text_analysis_tools/api/triple_extraction/__pycache__/triple_extraction_ltp.cpython-38.pyc -------------------------------------------------------------------------------- /text_analysis_tools/api/triple_extraction/triple_extraction_ltp.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | """ 4 | 采用ltp进行三元组抽取 5 | 根据https://github.com/liuhuanyong/EventTriplesExtraction改编,替换pyltp为ltp; 6 | ltp: https://ltp.readthedocs.io/zh_CN/latest/appendix.html 7 | """ 8 | 9 | import os 10 | import pprint 11 | import re 12 | from ltp import LTP 13 | 14 | 15 | 16 | class LtpParser: 17 | def __init__(self): 18 | self.ltp = LTP() 19 | 20 | '''语义角色标注''' 21 | def format_labelrole(self, hidden): 22 | roles = self.ltp.srl(hidden, keep_empty=False) 23 | roles_dict = {} 24 | for role in roles[0]: 25 | roles_dict[role[0]] = {arg[0]: [arg[0], arg[1], arg[2]] for arg in role[1]} 26 | return roles_dict 27 | 28 | '''句法分析---为句子中的每个词语维护一个保存句法依存儿子节点的字典''' 29 | def build_parse_child_dict(self, words, postags, arcs): 30 | child_dict_list = [] 31 | format_parse_list = [] 32 | for index in range(len(words)): 33 | child_dict = dict() 34 | for arc_index in range(len(arcs)): 35 | if arcs[arc_index][1] == index+1: # arcs的索引从1开始 36 | if arcs[arc_index][2] in child_dict: 37 | child_dict[arcs[arc_index][2]].append(arc_index) 38 | else: 39 | child_dict[arcs[arc_index][2]] = [] 40 | child_dict[arcs[arc_index][2]].append(arc_index) 41 | child_dict_list.append(child_dict) 42 | rely_id = [arc[1] for arc in arcs] # 提取依存父节点id 43 | relation = [arc[2] for arc in arcs] # 提取依存关系 44 | heads = ['Root' if id == 0 else words[id - 1] for id in rely_id] # 匹配依存父节点词语 45 | for i in range(len(words)): 46 | # ['ATT', '李克强', 0, 'nh', '总理', 1, 'n'] 47 | a = [relation[i], words[i], i, postags[i], heads[i], rely_id[i]-1, postags[rely_id[i]-1]] 48 | format_parse_list.append(a) 49 | return child_dict_list, format_parse_list 50 | 51 | '''parser主函数''' 52 | def parser_main(self, sentence): 53 | words, hidden = self.ltp.seg([sentence]) 54 | postags = self.ltp.pos(hidden) 55 | arcs = self.ltp.dep(hidden) 56 | words, postags, arcs = words[0], postags[0], arcs[0] 57 | # print(words, '\n', postags, '\n', arcs) 58 | child_dict_list, format_parse_list = self.build_parse_child_dict(words, postags, arcs) 59 | roles_dict = self.format_labelrole(hidden) 60 | return words, postags, child_dict_list, roles_dict, format_parse_list 61 | 62 | 63 | class TripleExtraction(): 64 | def __init__(self): 65 | self.parser = LtpParser() 66 | 67 | '''文章分句处理, 切分长句,冒号,分号,感叹号等做切分标识''' 68 | def split_sents(self, content): 69 | return self.parser.ltp.sent_split([content]) 70 | 71 | '''利用语义角色标注,直接获取主谓宾三元组,基于A0,A1,A2''' 72 | def ruler1(self, words, postags, roles_dict, role_index): 73 | v = words[role_index] 74 | role_info = roles_dict[role_index] 75 | if 'A0' in role_info.keys() and 'A1' in role_info.keys(): 76 | s = ''.join([words[word_index] for word_index in range(role_info['A0'][1], role_info['A0'][2] + 1) if 77 | postags[word_index][0] not in ['w', 'u', 'x'] and words[word_index]]) 78 | o = ''.join([words[word_index] for word_index in range(role_info['A1'][1], role_info['A1'][2] + 1) if 79 | postags[word_index][0] not in ['w', 'u', 'x'] and words[word_index]]) 80 | if s and o: 81 | return '1', [s, v, o] 82 | return '4', [] 83 | 84 | '''三元组抽取主函数 85 | 关系类型 Tag Description Example 86 | 主谓关系 SBV subject-verb 我送她一束花 (我 <– 送) 87 | 动宾关系 VOB 直接宾语,verb-object 我送她一束花 (送 –> 花) 88 | 间宾关系 IOB 间接宾语,indirect-object 我送她一束花 (送 –> 她) 89 | 前置宾语 FOB 前置宾语,fronting-object 他什么书都读 (书 <– 读) 90 | 兼语 DBL double 他请我吃饭 (请 –> 我) 91 | 定中关系 ATT attribute 红苹果 (红 <– 苹果) 92 | 状中结构 ADV adverbial 非常美丽 (非常 <– 美丽) 93 | 动补结构 CMP complement 做完了作业 (做 –> 完) 94 | 并列关系 COO coordinate 大山和大海 (大山 –> 大海) 95 | 介宾关系 POB preposition-object 在贸易区内 (在 –> 内) 96 | 左附加关系 LAD left adjunct 大山和大海 (和 <– 大海) 97 | 右附加关系 RAD right adjunct 孩子们 (孩子 –> 们) 98 | 独立结构 IS independent structure 两个单句在结构上彼此独立 99 | 核心关系 HED head 指整个句子的核心 100 | ''' 101 | def ruler2(self, words, postags, child_dict_list, arcs, roles_dict): 102 | svos = [] 103 | for index in range(len(postags)): 104 | # print(index) 105 | tmp = 1 106 | # 先借助语义角色标注的结果,进行三元组抽取 107 | if index in roles_dict: 108 | flag, triple = self.ruler1(words, postags, roles_dict, index) 109 | if flag == '1': 110 | svos.append(triple) 111 | tmp = 0 112 | if tmp == 1: 113 | # 如果语义角色标记为空,则使用依存句法进行抽取 114 | if postags[index]: 115 | # 抽取以谓词为中心的事实三元组 116 | child_dict = child_dict_list[index] 117 | # 主谓宾 118 | if 'SBV' in child_dict and 'VOB' in child_dict: 119 | r = words[index] 120 | e1 = self.complete_e(words, postags, child_dict_list, child_dict['SBV'][0]) 121 | e2 = self.complete_e(words, postags, child_dict_list, child_dict['VOB'][0]) 122 | svos.append([e1, r, e2]) 123 | 124 | # 定语后置,动宾关系 125 | relation = arcs[index][0] 126 | head = arcs[index][2] 127 | if relation == 'ATT': 128 | if 'VOB' in child_dict: 129 | e1 = self.complete_e(words, postags, child_dict_list, head - 1) 130 | r = words[index] 131 | e2 = self.complete_e(words, postags, child_dict_list, child_dict['VOB'][0]) 132 | temp_string = r + e2 133 | if temp_string == e1[:len(temp_string)]: 134 | e1 = e1[len(temp_string):] 135 | if temp_string not in e1: 136 | svos.append([e1, r, e2]) 137 | # 含有介宾关系的主谓动补关系 138 | if 'SBV' in child_dict and 'CMP' in child_dict: 139 | e1 = self.complete_e(words, postags, child_dict_list, child_dict['SBV'][0]) 140 | cmp_index = child_dict['CMP'][0] 141 | r = words[index] + words[cmp_index] 142 | if 'POB' in child_dict_list[cmp_index]: 143 | e2 = self.complete_e(words, postags, child_dict_list, child_dict_list[cmp_index]['POB'][0]) 144 | svos.append([e1, r, e2]) 145 | return svos 146 | 147 | '''对找出的主语或者宾语进行扩展''' 148 | def complete_e(self, words, postags, child_dict_list, word_index, deep=0): 149 | deep += 1 150 | if deep == 3: 151 | return "" 152 | child_dict = child_dict_list[word_index] 153 | prefix = '' 154 | if 'ATT' in child_dict: 155 | for i in range(len(child_dict['ATT'])): 156 | prefix += self.complete_e(words, postags, child_dict_list, child_dict['ATT'][i], deep) 157 | postfix = '' 158 | if postags[word_index] == 'v': 159 | if 'VOB' in child_dict: 160 | postfix += self.complete_e(words, postags, child_dict_list, child_dict['VOB'][0], deep) 161 | if 'SBV' in child_dict: 162 | prefix = self.complete_e(words, postags, child_dict_list, child_dict['SBV'][0], deep) + prefix 163 | return prefix + words[word_index] + postfix 164 | 165 | '''程序主控函数''' 166 | 167 | def triples_main(self, content): 168 | sentences = self.split_sents(content) 169 | sentences = [sent for sent in sentences if len(sent.strip()) > 5] 170 | svos = [] 171 | for sentence in sentences: 172 | words, postags, child_dict_list, roles_dict, arcs = self.parser.parser_main(sentence) 173 | 174 | # print(words) 175 | # print(postags) 176 | # pprint.pprint(child_dict_list) 177 | # pprint.pprint(roles_dict) 178 | # pprint.pprint(arcs) 179 | 180 | svo = self.ruler2(words, postags, child_dict_list, arcs, roles_dict) 181 | svos += svo 182 | return svos 183 | 184 | 185 | if __name__ == '__main__': 186 | text = "履行反洗钱义务的机构及其工作人员依法提交大额交易和可疑交易报告,受法律保护。" 187 | extractor = TripleExtraction() 188 | res = extractor.triples_main(text) 189 | print(text) 190 | pprint.pprint(res) 191 | print("---------"*5) 192 | 193 | 194 | --------------------------------------------------------------------------------