{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## 利用信息抽取技术搭建知识库\n", "\n", "在这个notebook文件中,有些模板代码已经提供给你,但你还需要实现更多的功能来完成这个项目。除非有明确要求,你无须修改任何已给出的代码。以**'【练习】'**开始的标题表示接下来的代码部分中有你需要实现的功能。这些部分都配有详细的指导,需要实现的部分也会在注释中以'TODO'标出。请仔细阅读所有的提示。\n", "\n", ">**提示:**Code 和 Markdown 区域可通过 **Shift + Enter** 快捷键运行。此外,Markdown可以通过双击进入编辑模式。\n", "\n", "---\n", "\n", "### 让我们开始吧\n", "\n", "本项目的目的是结合命名实体识别、依存语法分析、实体消歧、实体统一对网站开放语料抓取的数据建立小型知识图谱。\n", "\n", "在现实世界中,你需要拼凑一系列的模型来完成不同的任务;举个例子,用来预测狗种类的算法会与预测人类的算法不同。在做项目的过程中,你可能会遇到不少失败的预测,因为并不存在完美的算法和模型。你最终提交的不完美的解决方案也一定会给你带来一个有趣的学习经验!\n", "\n", "\n", "---\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 步骤 1:实体统一" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "实体统一做的是对同一实体具有多个名称的情况进行统一,将多种称谓统一到一个实体上,并体现在实体的属性中(可以给实体建立“别称”属性)\n", "\n", "例如:对“河北银行股份有限公司”、“河北银行公司”和“河北银行”我们都可以认为是一个实体,我们就可以将通过提取前两个称谓的主要内容,得到“河北银行”这个实体关键信息。\n", "\n", "公司名称有其特点,例如后缀可以省略、上市公司的地名可以省略等等。在data/dict目录中提供了几个词典,可供实体统一使用。\n", "- company_suffix.txt是公司的通用后缀词典\n", "- company_business_scope.txt是公司经营范围常用词典\n", "- co_Province_Dim.txt是省份词典\n", "- co_City_Dim.txt是城市词典\n", "- stopwords.txt是可供参考的停用词\n", "\n", "### 练习1:\n", "编写main_extract函数,实现对实体的名称提取“主体名称”的功能。" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "import jieba\n", "import jieba.posseg as pseg\n", "import re\n", "import datetime\n", "\n", "\n", "# 从输入的“公司名”中提取主体\n", "def main_extract(input_str,stop_word,d_4_delete,d_city_province):\n", " # 开始分词并处理,相当于fool的实体识别\n", " seg = pseg.cut(input_str)\n", " #print(seg)\n", " seg_lst = remove_word(seg,stop_word,d_4_delete)\n", " seg_lst = city_prov_ahead(seg_lst,d_city_province)\n", " return seg_lst\n", "\n", " \n", "#TODO:实现公司名称中地名提前\n", "def city_prov_ahead(seg_lst,d_city_province):\n", " city_prov_lst = [word for word in seg_lst if word in d_city_province]\n", " seg_lst=[word for word in seg_lst if word not in d_city_province]\n", " # TODO ...\n", " #print(city_prov_lst+seg_lst)\n", " return city_prov_lst+seg_lst\n", "\n", "\n", "\n", "\n", "#TODO:替换特殊符号\n", "def remove_word(seg,stop_word,d_4_delete):\n", " # TODO ...\n", " seg_lst=[]\n", " for word,flag in seg:\n", " #print(word,flag)\n", " if word not in d_4_delete and word not in stop_word :\n", " seg_lst.append(word)\n", " return seg_lst\n", "\n", "\n", "# 初始化,加载词典\n", "def my_initial():\n", " fr1 = open(r\"../data/dict/co_City_Dim.txt\", encoding='utf-8')\n", " fr2 = open(r\"../data/dict/co_Province_Dim.txt\", encoding='utf-8')\n", " fr3 = open(r\"../data/dict/company_business_scope.txt\", encoding='utf-8')\n", " fr4 = open(r\"../data/dict/company_suffix.txt\", encoding='utf-8')\n", " #城市名\n", " lines1 = fr1.readlines()\n", " d_4_delete = []\n", " d_city_province = [re.sub(r'(\\r|\\n)*','',line) for line in lines1]\n", " #省份名\n", " lines2 = fr2.readlines()\n", " l2_tmp = [re.sub(r'(\\r|\\n)*','',line) for line in lines2]\n", " d_city_province.extend(l2_tmp)\n", " #公司后缀\n", " lines3 = fr3.readlines()\n", " l3_tmp = [re.sub(r'(\\r|\\n)*','',line) for line in lines3]\n", " lines4 = fr4.readlines()\n", " l4_tmp = [re.sub(r'(\\r|\\n)*','',line) for line in lines4]\n", " d_4_delete.extend(l4_tmp)\n", " #print(d_4_delete)\n", " #get stop_word\n", " fr = open(r'../data/dict/stopwords.txt', encoding='utf-8') \n", " stop_word = fr.readlines()\n", " stop_word_after = [re.sub(r'(\\r|\\n)*','',stop_word[i]) for i in range(len(stop_word))]\n", " stop_word_after[-1] = stop_word[-1]\n", " stop_word = stop_word_after\n", " return d_4_delete,stop_word,d_city_province\n" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "河北银行\n" ] } ], "source": [ "# TODO:测试实体统一用例\n", "d_4_delete,stop_word,d_city_province = my_initial()\n", "company_name = \"银行河北股份有限公司)LTD\"\n", "lst = main_extract(company_name,stop_word,d_4_delete,d_city_province)\n", "company_name = ''.join(lst) # 对公司名提取主体部分,将包含相同主体部分的公司统一为一个实体\n", "print(company_name)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 步骤 2:实体识别\n", "有很多开源工具可以帮助我们对实体进行识别。常见的有LTP、StanfordNLP、FoolNLTK等等。\n", "\n", "本次采用FoolNLTK实现实体识别,fool是一个基于bi-lstm+CRF算法开发的深度学习开源NLP工具,包括了分词、实体识别等功能,大家可以通过fool很好地体会深度学习在该任务上的优缺点。\n", "\n", "在‘data/train_data.csv’和‘data/test_data.csv’中是从网络上爬虫得到的上市公司公告,数据样例如下:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>id</th>\n", " <th>sentence</th>\n", " <th>tag</th>\n", " <th>member1</th>\n", " <th>member2</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>6461</td>\n", " <td>与本公司关系:受同一公司控制 2,杭州富生电器有限公司企业类型: 有限公司注册地址: 富阳市...</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>2111</td>\n", " <td>三、关联交易标的基本情况 1、交易标的基本情况 公司名称:红豆集团财务有限公司 公司地址:无...</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>9603</td>\n", " <td>2016年协鑫集成科技股份有限公司向瑞峰(张家港)光伏科技有限公司支付设备款人民币4,515...</td>\n", " <td>1</td>\n", " <td>协鑫集成科技股份有限公司</td>\n", " <td>瑞峰(张家港)光伏科技有限公司</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>3456</td>\n", " <td>证券代码:600777 证券简称:新潮实业 公告编号:2015-091 烟台新潮实业股份有限...</td>\n", " <td>0</td>\n", " <td>0</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>8844</td>\n", " <td>本集团及广发证券股份有限公司持有辽宁成大股份有限公司股票的本期变动系买卖一揽子沪深300指数...</td>\n", " <td>1</td>\n", " <td>广发证券股份有限公司</td>\n", " <td>辽宁成大股份有限公司</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " id sentence tag member1 \\\n", "0 6461 与本公司关系:受同一公司控制 2,杭州富生电器有限公司企业类型: 有限公司注册地址: 富阳市... 0 0 \n", "1 2111 三、关联交易标的基本情况 1、交易标的基本情况 公司名称:红豆集团财务有限公司 公司地址:无... 0 0 \n", "2 9603 2016年协鑫集成科技股份有限公司向瑞峰(张家港)光伏科技有限公司支付设备款人民币4,515... 1 协鑫集成科技股份有限公司 \n", "3 3456 证券代码:600777 证券简称:新潮实业 公告编号:2015-091 烟台新潮实业股份有限... 0 0 \n", "4 8844 本集团及广发证券股份有限公司持有辽宁成大股份有限公司股票的本期变动系买卖一揽子沪深300指数... 1 广发证券股份有限公司 \n", "\n", " member2 \n", "0 0 \n", "1 0 \n", "2 瑞峰(张家港)光伏科技有限公司 \n", "3 0 \n", "4 辽宁成大股份有限公司 " ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "train_data = pd.read_csv('../data/info_extract/train_data.csv', encoding = 'gb2312', header=0)\n", "train_data.head()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>id</th>\n", " <th>sentence</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>9259</td>\n", " <td>2015年1月26日,多氟多化工股份有限公司与李云峰先生签署了《附条件生效的股份认购合同》</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>9136</td>\n", " <td>2、2016年2月5日,深圳市新纶科技股份有限公司与侯毅先</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>220</td>\n", " <td>2015年10月26日,山东华鹏玻璃股份有限公司与张德华先生签署了附条件生效条件的《股份认购合同》</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>9041</td>\n", " <td>2、2015年12月31日,印纪娱乐传媒股份有限公司与肖文革签订了《印纪娱乐传媒股份有限公司...</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>10041</td>\n", " <td>一、金发科技拟与熊海涛女士签订《股份转让协议》,协议约定:以每股1.0509元的收购价格,收...</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " id sentence\n", "0 9259 2015年1月26日,多氟多化工股份有限公司与李云峰先生签署了《附条件生效的股份认购合同》\n", "1 9136 2、2016年2月5日,深圳市新纶科技股份有限公司与侯毅先\n", "2 220 2015年10月26日,山东华鹏玻璃股份有限公司与张德华先生签署了附条件生效条件的《股份认购合同》\n", "3 9041 2、2015年12月31日,印纪娱乐传媒股份有限公司与肖文革签订了《印纪娱乐传媒股份有限公司...\n", "4 10041 一、金发科技拟与熊海涛女士签订《股份转让协议》,协议约定:以每股1.0509元的收购价格,收..." ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "test_data = pd.read_csv('../data/info_extract/test_data.csv', encoding = 'gb2312', header=0)\n", "test_data.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "我们选取一部分样本进行标注,即train_data,该数据由5列组成。id列表示原始样本序号;sentence列为我们截取的一段关键信息;如果关键信息中存在两个实体之间有股权交易关系则tag列为1,否则为0;如果tag为1,则在member1和member2列会记录两个实体出现在sentence中的名称。\n", "\n", "剩下的样本没有标注,即test_data,该数据只有id和sentence两列,希望你能训练模型对test_data中的实体进行识别,并判断实体对之间有没有股权交易关系。\n", "\n", "### 练习2:\n", "将每句句子中实体识别出,存入实体词典,并用特殊符号替换语句。\n" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied: foolnltk in /Users/youngwells/opt/anaconda3/envs/forKG/lib/python3.7/site-packages (0.1.7)\n", "Requirement already satisfied: numpy>=1.12.1 in /Users/youngwells/opt/anaconda3/envs/forKG/lib/python3.7/site-packages (from foolnltk) (1.18.1)\n", "Requirement already satisfied: tensorflow>=1.3.0 in /Users/youngwells/opt/anaconda3/envs/forKG/lib/python3.7/site-packages (from foolnltk) (1.15.0)\n", "Requirement already satisfied: astor>=0.6.0 in /Users/youngwells/opt/anaconda3/envs/forKG/lib/python3.7/site-packages (from tensorflow>=1.3.0->foolnltk) (0.8.0)\n", "Requirement already satisfied: keras-preprocessing>=1.0.5 in /Users/youngwells/opt/anaconda3/envs/forKG/lib/python3.7/site-packages (from tensorflow>=1.3.0->foolnltk) (1.1.0)\n", "Requirement already satisfied: opt-einsum>=2.3.2 in /Users/youngwells/opt/anaconda3/envs/forKG/lib/python3.7/site-packages (from tensorflow>=1.3.0->foolnltk) (3.1.0)\n", "Requirement already satisfied: tensorboard<1.16.0,>=1.15.0 in /Users/youngwells/opt/anaconda3/envs/forKG/lib/python3.7/site-packages (from tensorflow>=1.3.0->foolnltk) (1.15.0)\n", "Requirement already satisfied: wrapt>=1.11.1 in /Users/youngwells/opt/anaconda3/envs/forKG/lib/python3.7/site-packages (from tensorflow>=1.3.0->foolnltk) (1.12.1)\n", "Requirement already satisfied: grpcio>=1.8.6 in /Users/youngwells/opt/anaconda3/envs/forKG/lib/python3.7/site-packages (from tensorflow>=1.3.0->foolnltk) (1.16.1)\n", "Requirement already satisfied: six>=1.10.0 in /Users/youngwells/opt/anaconda3/envs/forKG/lib/python3.7/site-packages (from tensorflow>=1.3.0->foolnltk) (1.15.0)\n", "Requirement already satisfied: tensorflow-estimator==1.15.1 in /Users/youngwells/opt/anaconda3/envs/forKG/lib/python3.7/site-packages (from tensorflow>=1.3.0->foolnltk) (1.15.1)\n", "Requirement already satisfied: wheel>=0.26 in /Users/youngwells/opt/anaconda3/envs/forKG/lib/python3.7/site-packages (from tensorflow>=1.3.0->foolnltk) (0.34.2)\n", "Requirement already satisfied: keras-applications>=1.0.8 in /Users/youngwells/opt/anaconda3/envs/forKG/lib/python3.7/site-packages (from tensorflow>=1.3.0->foolnltk) (1.0.8)\n", "Requirement already satisfied: protobuf>=3.6.1 in /Users/youngwells/opt/anaconda3/envs/forKG/lib/python3.7/site-packages (from tensorflow>=1.3.0->foolnltk) (3.12.3)\n", "Requirement already satisfied: google-pasta>=0.1.6 in /Users/youngwells/opt/anaconda3/envs/forKG/lib/python3.7/site-packages (from tensorflow>=1.3.0->foolnltk) (0.2.0)\n", "Requirement already satisfied: absl-py>=0.7.0 in /Users/youngwells/opt/anaconda3/envs/forKG/lib/python3.7/site-packages (from tensorflow>=1.3.0->foolnltk) (0.9.0)\n", "Requirement already satisfied: termcolor>=1.1.0 in /Users/youngwells/opt/anaconda3/envs/forKG/lib/python3.7/site-packages (from tensorflow>=1.3.0->foolnltk) (1.1.0)\n", "Requirement already satisfied: gast==0.2.2 in /Users/youngwells/opt/anaconda3/envs/forKG/lib/python3.7/site-packages (from tensorflow>=1.3.0->foolnltk) (0.2.2)\n", "Requirement already satisfied: werkzeug>=0.11.15 in /Users/youngwells/opt/anaconda3/envs/forKG/lib/python3.7/site-packages (from tensorboard<1.16.0,>=1.15.0->tensorflow>=1.3.0->foolnltk) (0.16.1)\n", "Requirement already satisfied: markdown>=2.6.8 in /Users/youngwells/opt/anaconda3/envs/forKG/lib/python3.7/site-packages (from tensorboard<1.16.0,>=1.15.0->tensorflow>=1.3.0->foolnltk) (3.1.1)\n", "Requirement already satisfied: setuptools>=41.0.0 in /Users/youngwells/opt/anaconda3/envs/forKG/lib/python3.7/site-packages (from tensorboard<1.16.0,>=1.15.0->tensorflow>=1.3.0->foolnltk) (47.1.1.post20200604)\n", "Requirement already satisfied: h5py in /Users/youngwells/opt/anaconda3/envs/forKG/lib/python3.7/site-packages (from keras-applications>=1.0.8->tensorflow>=1.3.0->foolnltk) (2.10.0)\n", "<generator object cut at 0x64221d3d0>\n", "李云峰 nr\n", "['李云峰']\n", "<generator object cut at 0x64221d3d0>\n", "多 m\n", "氟 n\n", "多 m\n", "化工 n\n", "股份 n\n", "有限公司 n\n", "['氟', '化工']\n", "<generator object cut at 0x64221d3d0>\n", "侯毅 nr\n", "['侯毅']\n", "<generator object cut at 0x64221d3d0>\n", "深圳市 ns\n", "新纶 nz\n", "科技股份 n\n", "有限公司 n\n", "['深圳市', '新纶', '科技股份']\n", "<generator object cut at 0x64221d250>\n", "张 q\n", "德华 nz\n", "['张', '德华']\n", "<generator object cut at 0x64221d250>\n", "山东 ns\n", "华鹏 nr\n", "玻璃 n\n", "股份 n\n", "有限公司 n\n", "['山东', '华鹏', '玻璃']\n", "<generator object cut at 0x64221d3d0>\n", "肖 nr\n", "文革 n\n", "['肖', '文革']\n", "<generator object cut at 0x64221d3d0>\n", "印纪 n\n", "娱乐 vn\n", "传媒 n\n", "股份 n\n", "有限公司 n\n", "['印纪', '娱乐', '传媒']\n", "<generator object cut at 0x64221d250>\n", "熊 nr\n", "海涛 nr\n", "['熊', '海涛']\n", "<generator object cut at 0x64221d250>\n", "金发 nz\n", "科技 n\n", "['金发', '科技']\n", "<generator object cut at 0x65e989c50>\n", "宋琳 nr\n", "['宋琳']\n", "<generator object cut at 0x65e989850>\n", "上海 ns\n", "新朋 n\n", "实业 n\n", "股份 n\n", "有限公司 n\n", "['上海', '新朋', '实业']\n", "<generator object cut at 0x65e989c50>\n", "康力 n\n", "电梯 n\n", "股份 n\n", "有限公司 n\n", "['康力', '电梯']\n", "<generator object cut at 0x65e989c50>\n", "王友林 nr\n", "['王友林']\n", "<generator object cut at 0x64221d3d0>\n", "神州 ns\n", "易桥 nr\n", "100 m\n", "% x\n", "股权 n\n", "['神州', '易桥', '100', '股权']\n", "<generator object cut at 0x64221d3d0>\n", "彭聪 nr\n", "['彭聪']\n", "<generator object cut at 0x64221d250>\n", "曹飞 nr\n", "['曹飞']\n", "<generator object cut at 0x64221d250>\n", "百川 ns\n", "能源 n\n", "股份 n\n", "有限公司 n\n", "['百川', '能源']\n", "<generator object cut at 0x64221d3d0>\n", "颜军 nr\n", "['颜军']\n", "<generator object cut at 0x64221d3d0>\n", "珠海 ns\n", "欧 ns\n", "比特 nrt\n", "控制工程 n\n", "股份 n\n", "有限公司 n\n", "['珠海', '欧', '比特', '控制工程']\n", "<generator object cut at 0x64221d250>\n", "宋睿 nrfg\n", "['宋睿']\n", "<generator object cut at 0x64221d250>\n", "成都 ns\n", "云图 nr\n", "控股 v\n", "股份 n\n", "有限公司 n\n", "['成都', '云图']\n", "<generator object cut at 0x64221d3d0>\n", "柯塞威 nr\n", "['柯塞威']\n", "<generator object cut at 0x64221d3d0>\n", "上海 ns\n", "岩石 n\n", "企业 n\n", "发展 vn\n", "股份 n\n", "有限公司 n\n", "['上海', '岩石', '企业']\n", "<generator object cut at 0x64221d250>\n", "邓冠华 nr\n", "['邓冠华']\n", "<generator object cut at 0x64221d250>\n", "广州 ns\n", "阳普 nr\n", "医疗 n\n", "科技股份 n\n", "有限公司 n\n", "['广州', '阳普', '医疗', '科技股份']\n", "<generator object cut at 0x64221d3d0>\n", "金固 nr\n", "股份 n\n", "['金固']\n", "<generator object cut at 0x64221d3d0>\n", "孙锋峰 nr\n", "['孙锋峰']\n", "<generator object cut at 0x64221d250>\n", "李云峰 nr\n", "['李云峰']\n", "<generator object cut at 0x64221d250>\n", "李云峰 nr\n", "['李云峰']\n", "<generator object cut at 0x64221d250>\n", "多 m\n", "氟 n\n", "多 m\n", "化工 n\n", "股份 n\n", "有限公司 n\n", "['氟', '化工']\n", "<generator object cut at 0x64221d3d0>\n", "曹飞 nr\n", "['曹飞']\n", "<generator object cut at 0x64221d3d0>\n", "百川 ns\n", "能源 n\n", "股份 n\n", "有限公司 n\n", "['百川', '能源']\n", "<generator object cut at 0x64221d250>\n", "林奇 nr\n", "['林奇']\n", "<generator object cut at 0x64221d250>\n", "游族 n\n", "网络 n\n", "股份 n\n", "有限公司 n\n", "['游族', '网络']\n", "<generator object cut at 0x64221d3d0>\n", "江斌 nr\n", "['江斌']\n", "<generator object cut at 0x64221d3d0>\n", "厦门 ns\n", "金达威 nr\n", "集团股份 nz\n", "有限公司 n\n", "['厦门', '金达威', '集团股份']\n", "<generator object cut at 0x64221d250>\n", "王友林 nr\n", "['王友林']\n", "<generator object cut at 0x64221d250>\n", "康力 n\n", "电梯 n\n", "股份 n\n", "有限公司 n\n", "['康力', '电梯']\n", "<generator object cut at 0x64221d3d0>\n", "林海峰 nr\n", "['林海峰']\n", "<generator object cut at 0x64221d3d0>\n", "东方 s\n", "日 m\n", "升 v\n", "新能源 n\n", "股份 n\n", "有限公司 n\n", "['东方', '日', '升', '新能源']\n", "<generator object cut at 0x64221d250>\n", "云科 ns\n", "服务 vn\n", "['云科', '服务']\n", "<generator object cut at 0x64221d250>\n", "郭为 nr\n", "['郭为']\n", "<generator object cut at 0x64221d250>\n", "神州数码 n\n", "集团股份 nz\n", "有限公司 n\n", "['神州数码', '集团股份']\n", "<generator object cut at 0x64221d3d0>\n", "吴 nr\n", "宏亮 a\n", "['吴', '宏亮']\n", "<generator object cut at 0x64221d3d0>\n", "浙江 ns\n", "唐德 nr\n", "影视 n\n", "股份 n\n", "有限公司 n\n", "['浙江', '唐德', '影视']\n", "<generator object cut at 0x64221d250>\n", "灵云 nr\n", "传媒 n\n", "['灵云', '传媒']\n", "<generator object cut at 0x64221d250>\n", "王利平 nr\n", "['王利平']\n", "<generator object cut at 0x64221d250>\n", "广博 ns\n", "股份 n\n", "['广博']\n", "<generator object cut at 0x64221d3d0>\n", "周旭辉 nr\n", "['周旭辉']\n", "<generator object cut at 0x64221d3d0>\n", "金亚 nr\n", "科技 n\n", "['金亚', '科技']\n", "<generator object cut at 0x64221d3d0>\n", "天象 n\n", "互动 d\n", "['天象', '互动']\n", "<generator object cut at 0x64221d3d0>\n", "成都 ns\n", "天象 n\n", "互动 d\n", "科技 n\n", "有限公司 n\n", "['成都', '天象', '互动', '科技']\n", "<generator object cut at 0x64221d3d0>\n", "周旭辉 nr\n", "['周旭辉']\n", "<generator object cut at 0x64221d3d0>\n", "金亚 nr\n", "科技 n\n", "['金亚', '科技']\n", "<generator object cut at 0x64221d3d0>\n", "金亚 nr\n", "科技股份 n\n", "有限公司 n\n", "['金亚', '科技股份']\n", "<generator object cut at 0x65e9898d0>\n", "汉鼎 nz\n", "宇佑 nz\n", "互联网 n\n", "股份 n\n", "有限公司 n\n", "['汉鼎', '宇佑', '互联网']\n", "<generator object cut at 0x65e9898d0>\n", "吴艳 nr\n", "['吴艳']\n", "<generator object cut at 0x65e9898d0>\n", "浙江 ns\n", "奥鑫 nr\n", "控股集团 nz\n", "有限公司 n\n", "['浙江', '奥鑫']\n", "<generator object cut at 0x65e9898d0>\n", "杭州 ns\n", "雄健 a\n", "投资 vn\n", "合伙 n\n", "企业 n\n", "['杭州', '雄健', '投资', '合伙', '企业']\n", "<generator object cut at 0x65e9898d0>\n", "和达 nz\n", "( x\n", "天津 ns\n", ") x\n", "股权 n\n", "投资 vn\n", "基金 n\n", "管理 vn\n", "合伙 n\n", "企业 n\n", "['天津', '和达', '股权', '投资', '基金', '管理', '合伙', '企业']\n", "<generator object cut at 0x65e9898d0>\n", "深圳市 ns\n", "方德 nr\n", "智联 ns\n", "投资 vn\n", "管理 vn\n", "有限公司 n\n", "['深圳市', '方德', '智联', '投资', '管理']\n", "<generator object cut at 0x65e9898d0>\n", "吴艳 nr\n", "['吴艳']\n", "<generator object cut at 0x65e9898d0>\n", "汉鼎 nz\n", "宇佑 nz\n", "互联网 n\n", "股份 n\n", "有限公司 n\n", "['汉鼎', '宇佑', '互联网']\n", "<generator object cut at 0x64221d250>\n", "衡胜 nr\n", "投资 vn\n", "['衡胜', '投资']\n", "<generator object cut at 0x64221d250>\n", "杜应流 nr\n", "['杜应流']\n", "<generator object cut at 0x64221d3d0>\n", "邓冠华 nr\n", "['邓冠华']\n", "<generator object cut at 0x64221d3d0>\n", "广州 ns\n", "阳普 nr\n", "医疗 n\n", "科技股份 n\n", "有限公司 n\n", "['广州', '阳普', '医疗', '科技股份']\n", "<generator object cut at 0x64221d250>\n", "江苏 ns\n", "亨通 nrt\n", "光电 j\n", "股份 n\n", "有限公司 n\n", "['江苏', '亨通', '光电']\n", "<generator object cut at 0x64221d250>\n", "崔根良 nr\n", "['崔根良']\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "<generator object cut at 0x64221d3d0>\n", "周 nr\n", "福海 ns\n", "['周', '福海']\n", "<generator object cut at 0x64221d3d0>\n", "江苏 ns\n", "亚太 nr\n", "轻 a\n", "合金 n\n", "科技股份 n\n", "有限公司 n\n", "['江苏', '亚太', '轻', '合金', '科技股份']\n", "<generator object cut at 0x64221d250>\n", "谭颂斌 nr\n", "['谭颂斌']\n", "<generator object cut at 0x64221d250>\n", "广东 ns\n", "银禧 nr\n", "科技股份 n\n", "有限公司 n\n", "['广东', '银禧', '科技股份']\n", "<generator object cut at 0x64221d3d0>\n", "赵东 nr\n", "日 m\n", "['赵东', '日']\n", "<generator object cut at 0x64221d3d0>\n", "山东 ns\n", "日 m\n", "科 n\n", "化学 n\n", "股份 n\n", "有限公司 n\n", "['山东', '日', '科', '化学']\n", "<generator object cut at 0x64221d250>\n", "钟烈华 nr\n", "['钟烈华']\n", "<generator object cut at 0x64221d250>\n", "广东 ns\n", "塔牌 nz\n", "集团股份 nz\n", "有限公司 n\n", "['广东', '塔牌', '集团股份']\n", "<generator object cut at 0x64221d3d0>\n", "郭金东 nr\n", "['郭金东']\n", "<generator object cut at 0x64221d3d0>\n", "金浦 nz\n", "钛业 nz\n", "股份 n\n", "有限公司 n\n", "['金浦', '钛业']\n", "<generator object cut at 0x64221d250>\n", "郭金东 nr\n", "['郭金东']\n", "<generator object cut at 0x64221d250>\n", "金浦 nz\n", "钛业 nz\n", "股份 n\n", "有限公司 n\n", "['金浦', '钛业']\n", "<generator object cut at 0x64221d3d0>\n", "金浦 nz\n", "钛业 nz\n", "股份 n\n", "有限公司 n\n", "['金浦', '钛业']\n", "<generator object cut at 0x64221d3d0>\n", "郭金东 nr\n", "['郭金东']\n", "<generator object cut at 0x64221d250>\n", "西水股份 nz\n", "['西水股份']\n", "<generator object cut at 0x64221d250>\n", "西水股份 nz\n", "['西水股份']\n", "<generator object cut at 0x64221d3d0>\n", "中国 ns\n", "电子 n\n", "财务 n\n", "有限责任 l\n", "公司 n\n", "['中国', '电子', '财务', '有限责任']\n", "<generator object cut at 0x64221d3d0>\n", "南京 ns\n", "熊猫 nr\n", "电子 n\n", "股份 n\n", "有限公司 n\n", "['南京', '熊猫', '电子']\n", "<generator object cut at 0x64221d250>\n", "腾达 ns\n", "建设 vn\n", "集团股份 nz\n", "有限公司 n\n", "['腾达', '建设', '集团股份']\n", "<generator object cut at 0x64221d250>\n", "腾达 ns\n", "建设 vn\n", " x\n", "['腾达', '建设', ' ']\n", "<generator object cut at 0x64221d3d0>\n", "东投能 j\n", " x\n", "源 ng\n", "投资 vn\n", "有限公司 n\n", "['东投能', ' ', '源', '投资']\n", "<generator object cut at 0x64221d3d0>\n", "上海 ns\n", "申华 nz\n", "风电 n\n", "新能源 n\n", "有限公司 n\n", "['上海', '申华', '风电', '新能源']\n", "<generator object cut at 0x64221d250>\n", "西安 ns\n", "大雁塔 nr\n", "支行 v\n", "['西安', '大雁塔', '支行']\n", "<generator object cut at 0x64221d250>\n", "中国银行 nt\n", "股份 n\n", "有限公司 n\n", "['中国银行']\n", "<generator object cut at 0x65e9890d0>\n", " x\n", "远东 ns\n", "公司 n\n", "[' ', '远东']\n", "<generator object cut at 0x65e9890d0>\n", "红豆集团 nt\n", "['红豆集团']\n", "<generator object cut at 0x65e9890d0>\n", "金地 n\n", "商置 n\n", "集团 n\n", "有限公司 n\n", "['金地', '商置']\n", "<generator object cut at 0x65e9898d0>\n", "深圳 ns\n", "威 nr\n", "新 a\n", "软件 n\n", "科技 n\n", "有限公司 n\n", "['深圳', '威', '新', '软件', '科技']\n", "<generator object cut at 0x65e9894d0>\n", "广发 nz\n", "银行 n\n", "['广发', '银行']\n", "<generator object cut at 0x65e9894d0>\n", "广发 nz\n", "银行 n\n", "股份 n\n", "有限公司 n\n", "淮安 ns\n", "分行 v\n", "['淮安', '广发', '银行', '分行']\n", "<generator object cut at 0x64221d3d0>\n", "锐 nr\n", "电国 n\n", " x\n", "际 ng\n", "贸易 vn\n", "有限公司 n\n", "['锐', '电国', ' ', '际', '贸易']\n", "<generator object cut at 0x64221d3d0>\n", "锐 nr\n", "电 n\n", "设计 vn\n", "研究所 n\n", "有限公司 n\n", "['锐', '电', '设计']\n", "<generator object cut at 0x64221d250>\n", "泰 ns\n", "格林 nr\n", "纸 n\n", "['泰', '格林', '纸']\n", "<generator object cut at 0x64221d250>\n", "泰格 nr\n", " x\n", "林纸 n\n", "集团股份 nz\n", "有限公司 n\n", "['泰格', ' ', '林纸', '集团股份']\n", "<generator object cut at 0x64221d3d0>\n", "大唐 nz\n", "塔山 ns\n", "第二 m\n", "发电 vn\n", "有限责任 l\n", "公司 n\n", "['大唐', '塔山', '发电', '有限责任']\n", "<generator object cut at 0x64221d3d0>\n", "大唐 nz\n", "国际 n\n", "发电 vn\n", "股份 n\n", "有限公司 n\n", "['大唐', '国际', '发电']\n", "<generator object cut at 0x64221d250>\n", "广发 nz\n", "证券 n\n", "['广发', '证券']\n", "<generator object cut at 0x64221d250>\n", "广发 nz\n", "证券 n\n", "['广发', '证券']\n", "<generator object cut at 0x64221d3d0>\n", "中航 j\n", "资本 n\n", "['中航', '资本']\n", "<generator object cut at 0x64221d3d0>\n", "中航 j\n", "工业 n\n", "['中航', '工业']\n", "<generator object cut at 0x65e9894d0>\n", "刘梦龙 nr\n", "['刘梦龙']\n", "<generator object cut at 0x65e9894d0>\n", "深圳市 ns\n", "易尚 nr\n", "展示 v\n", "股份 n\n", "有限公司 n\n", "['深圳市', '易尚', '展示']\n", "<generator object cut at 0x65e989550>\n", "北京市 ns\n", "盈科 n\n", "律师 n\n", "事务所 n\n", "['北京市', '盈科', '律师']\n", "<generator object cut at 0x65e989550>\n", "国盛 nz\n", "证券 n\n", "有限责任 l\n", "公司 n\n", "['国盛', '证券', '有限责任']\n", "<generator object cut at 0x64221d250>\n", "沈阳 ns\n", "和平 nz\n", "支行 v\n", "['沈阳', '和平', '支行']\n", "<generator object cut at 0x64221d250>\n", "中国工商银行 nt\n", "股份 n\n", "有限公司 n\n", "['中国工商银行']\n", "<generator object cut at 0x64221d3d0>\n", "广州 ns\n", "中石化 j\n", "大厦 n\n", "支行 v\n", "['广州', '中石化', '大厦', '支行']\n", "<generator object cut at 0x64221d3d0>\n", "平安 a\n", "银行 n\n", "['平安', '银行']\n", "<generator object cut at 0x64221d250>\n", "孚 nrt\n", "支行 v\n", "['孚', '支行']\n", "<generator object cut at 0x64221d250>\n", "浙江 ns\n", "南浔 ns\n", "农村 n\n", "商业银行 nt\n", "股份 n\n", "有限公司 n\n", "['浙江', '南浔', '农村', '商业银行']\n", "<generator object cut at 0x64221d3d0>\n", "亿阳信通 nz\n", "股份 n\n", "有限公司 n\n", "['亿阳信通']\n", "<generator object cut at 0x64221d3d0>\n", "亿 m\n", "阳 n\n", "集团股份 nz\n", "有限公司 n\n", "['亿', '阳', '集团股份']\n", "<generator object cut at 0x64221d250>\n", "维科 nz\n", "控股集团 nz\n", "股份 n\n", "有限公司 n\n", "['维科']\n", "<generator object cut at 0x64221d250>\n", "宁波 ns\n", "维科 nz\n", "精华 nz\n", "集团股份 nz\n", "有限公司 n\n", "['宁波', '维科', '精华', '集团股份']\n", "<generator object cut at 0x64221d3d0>\n", "柯罗尼 nr\n", "['柯罗尼']\n", "<generator object cut at 0x64221d3d0>\n", " x\n", "誉 ng\n", "德 j\n", "能源 n\n", "[' ', '誉', '德', '能源']\n", "<generator object cut at 0x64221d250>\n", "开封 v\n", "汽 n\n", "博园 n\n", "['开封', '汽', '博园']\n", "<generator object cut at 0x64221d250>\n", "申华 nz\n", "( x\n", "开封 v\n", ") x\n", "汽车 n\n", "博展 vn\n", "中心 n\n", "有限公司 n\n", "['开封', '申华', '汽车', '博展']\n", "<generator object cut at 0x64221d3d0>\n", "沈金彦 nr\n", "['沈金彦']\n", "<generator object cut at 0x64221d3d0>\n", "沈金彦 nr\n", "['沈金彦']\n", "<generator object cut at 0x64221d250>\n", "中国 ns\n", "信息 n\n", "信托投资公司 nt\n", "['中国', '信息', '信托投资公司']\n", "<generator object cut at 0x64221d250>\n", "中国 ns\n", "电子 n\n", "财务 n\n", "有限责任 l\n", "公司 n\n", "['中国', '电子', '财务', '有限责任']\n", "<generator object cut at 0x65e989a50>\n", "宁夏 ns\n", "隆基 nr\n", "['宁夏', '隆基']\n", "<generator object cut at 0x65e989a50>\n", "宁夏 ns\n", "隆基 nr\n", "['宁夏', '隆基']\n", "<generator object cut at 0x65e989a50>\n", "中国 ns\n", "证券 n\n", "登记 v\n", "结算 v\n", "有限责任 l\n", "公司 n\n", "上海 ns\n", "分公司 n\n", "['上海', '中国', '证券', '登记', '结算', '有限责任']\n", "<generator object cut at 0x65e989a50>\n", "中国 ns\n", "证券 n\n", "登记 v\n", "结算 v\n", "有限责任 l\n", "公司 n\n", "上海 ns\n", "分公司 n\n", "['上海', '中国', '证券', '登记', '结算', '有限责任']\n", "<generator object cut at 0x65e9894d0>\n", "深圳市 ns\n", "梅 nr\n", "江南 ns\n", "投资 vn\n", "发展 vn\n", "有限公司 n\n", "['深圳市', '梅', '江南', '投资']\n", "<generator object cut at 0x65e9894d0>\n", "深圳市 ns\n", "梅 nr\n", "江南 ns\n", "投资 vn\n", "发展 vn\n", "有限公司 n\n", "['深圳市', '梅', '江南', '投资']\n", "<generator object cut at 0x65e9894d0>\n", "上海 ns\n", "上 f\n", "实 v\n", "( x\n", "集团 n\n", ") x\n", "有限公司 n\n", "['上海', '实']\n", "<generator object cut at 0x65e9894d0>\n", "上海 ns\n", "国际 n\n", "集团 n\n", "有限公司 n\n", "['上海', '国际']\n", "<generator object cut at 0x65e989c50>\n", "博苑 nr\n", "公 n\n", " x\n", "司 nr\n", "['博苑', '公', ' ', '司']\n", "<generator object cut at 0x65e989c50>\n", " x\n", "天津 ns\n", "博苑 nr\n", "高新 d\n", "材料 n\n", "有限公司 n\n", "['天津', ' ', '博苑', '高新', '材料']\n", "<generator object cut at 0x65e989c50>\n", "中国 ns\n", "电力 n\n", "建设 vn\n", "股份 n\n", "有限公司 n\n", "['中国', '电力', '建设']\n", "<generator object cut at 0x65e989c50>\n", "中国 ns\n", "电建 n\n", " x\n", "['中国', '电建', ' ']\n", "<generator object cut at 0x65e9894d0>\n", "王忠岩 nr\n", "['王忠岩']\n", "<generator object cut at 0x65e9894d0>\n", "辽宁 ns\n", "时代 n\n", "万恒 nz\n", "控股集团 nz\n", "有限公司 n\n", "['辽宁', '时代', '万恒']\n", "<generator object cut at 0x65e9894d0>\n", "钱江 ns\n", "四桥 ns\n", "公司 n\n", "['钱江', '四桥']\n", "<generator object cut at 0x65e9894d0>\n", "杭州 ns\n", "钱江 ns\n", "四桥 ns\n", "经营 vn\n", "有限公司 n\n", "['杭州', '钱江', '四桥', '经营']\n", "<generator object cut at 0x65e9890d0>\n", "温州 ns\n", "民商 n\n", "银行 n\n", "['温州', '民商', '银行']\n", "<generator object cut at 0x65e9890d0>\n", "温州 ns\n", "民商 n\n", "银行 n\n", "['温州', '民商', '银行']\n", "<generator object cut at 0x65e9890d0>\n", "牡丹江 ns\n", "恒丰 nz\n", "纸业 n\n", "集团 n\n", "有限责任 l\n", "公司 n\n", "['牡丹江', '恒丰', '纸业', '有限责任']\n", "<generator object cut at 0x65e9890d0>\n", "牡丹江 ns\n", "恒丰 nz\n", "纸业 n\n", "股份 n\n", "有限公司 n\n", "['牡丹江', '恒丰', '纸业']\n", "<generator object cut at 0x65e9898d0>\n", "广东 ns\n", "四通集团 nt\n", "股份 n\n", "有限公司 n\n", "['广东', '四通集团']\n", "<generator object cut at 0x65e9898d0>\n", "四通 nz\n", "股份 n\n", " x\n", "['四通', ' ']\n", "<generator object cut at 0x65e9898d0>\n", "药业 n\n", "集团 n\n", "['药业']\n", "<generator object cut at 0x65e9898d0>\n", "五洲 ns\n", "松德 nr\n", "联合 v\n", "会计师 n\n", "事务所 n\n", "['五洲', '松德', '联合', '会计师']\n", "<generator object cut at 0x65e9898d0>\n", "康美 nr\n", "健康 a\n", "保险 n\n", "股份 n\n", "有限公司 n\n", "['康美', '健康', '保险']\n", "<generator object cut at 0x65e989850>\n", "康美 nr\n", "保险 n\n", "['康美', '保险']\n", "<generator object cut at 0x65e9894d0>\n", "广州 ns\n", "珠江 ns\n", "新城 ns\n", "支行 v\n", "['广州', '珠江', '新城', '支行']\n", "<generator object cut at 0x65e9894d0>\n", "广发 nz\n", "银行 n\n", "['广发', '银行']\n", "<generator object cut at 0x65e9894d0>\n", "天津 ns\n", "金岸 n\n", "重工 vn\n", "有限公司 n\n", "['天津', '金岸', '重工']\n", "<generator object cut at 0x65e9894d0>\n", "天津港 ns\n", "股份 n\n", "有限公司 n\n", "['天津港']\n", "<generator object cut at 0x65e9890d0>\n", "友 ng\n", "网络 n\n", "科技股份 n\n", "有限公司 n\n", "['友', '网络', '科技股份']\n", "<generator object cut at 0x65e9890d0>\n", "用友 n\n", "网络 n\n", "['用友', '网络']\n", "<generator object cut at 0x65e9890d0>\n", "澄星 nz\n", "集团 n\n", "['澄星']\n", "<generator object cut at 0x65e9890d0>\n", "江苏 ns\n", "澄星 nz\n", "磷 n\n", "化工 n\n", "股份 n\n", "有限公司 n\n", "['江苏', '澄星', '磷', '化工']\n", "<generator object cut at 0x65e9898d0>\n", "李一奎 nr\n", " x\n", "['李一奎', ' ']\n", "<generator object cut at 0x65e9898d0>\n", "东宝 nr\n", "实业集团 n\n", "有限公司 n\n", "['东宝', '实业集团']\n", "<generator object cut at 0x65e9898d0>\n", "张燕青 nr\n", " x\n", "['张燕青', ' ']\n", "<generator object cut at 0x65e9898d0>\n", "张园园 nr\n", "['张园园']\n", "<generator object cut at 0x65e9898d0>\n", "浙江 ns\n", "富润 n\n", "海茂 nr\n", "纺织 n\n", "布艺 nr\n", "有限公司 n\n", "['浙江', '富润', '海茂', '纺织', '布艺']\n", "<generator object cut at 0x65e9898d0>\n", "浙江 ns\n", "富润 n\n", "股份 n\n", "有限公司 n\n", "['浙江', '富润']\n", "<generator object cut at 0x65e989550>\n", "康美 nr\n", "保险 n\n", "['康美', '保险']\n", "<generator object cut at 0x65e989550>\n", "康美 nr\n", "保险 n\n", "['康美', '保险']\n", "<generator object cut at 0x65e9890d0>\n", "甘肃省 ns\n", "农垦 n\n", "房 n\n", "地 uv\n", " x\n", "产 n\n", "综合 vn\n", "开发 v\n", "公司 n\n", "['甘肃省', '农垦', '房', ' ', '产', '开发']\n", "<generator object cut at 0x65e9890d0>\n", "甘肃省 ns\n", "农垦 n\n", "房地产 j\n", "综合 vn\n", "开发 v\n", "公司 n\n", "['甘肃省', '农垦', '房地产', '开发']\n", "<generator object cut at 0x65e989a50>\n", "红豆集团 nt\n", "['红豆集团']\n", "<generator object cut at 0x65e989a50>\n", "红豆集团 nt\n", "['红豆集团']\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "<generator object cut at 0x65e989850>\n", "嘉兴 nr\n", "宜 vg\n", "租车 n\n", "联网 nz\n", "科技 n\n", "有限公司 n\n", "['嘉兴', '宜', '租车', '联网', '科技']\n", "<generator object cut at 0x65e989850>\n", "嘉兴 nr\n", "宜 vg\n", "租车 n\n", " x\n", "联网 nz\n", "科技 n\n", "有限公司 n\n", "['嘉兴', '宜', '租车', ' ', '联网', '科技']\n", "<generator object cut at 0x65e989850>\n", "天山 ns\n", "农牧业 n\n", "['天山', '农牧业']\n", "<generator object cut at 0x65e989850>\n", "方 n\n", "天山 ns\n", "农业 n\n", "['方', '天山', '农业']\n", "<generator object cut at 0x65e989850>\n", "中远 ns\n", "集团 n\n", "['中远']\n", "<generator object cut at 0x65e989850>\n", "中远 ns\n", "集团 n\n", "['中远']\n", "<generator object cut at 0x65e989a50>\n", "重庆 ns\n", "电力 n\n", "['重庆', '电力']\n", "<generator object cut at 0x65e989a50>\n", "国网 nz\n", "重庆市 ns\n", "电力公司 n\n", "['国网', '重庆市', '电力公司']\n", "<generator object cut at 0x65e9896d0>\n", "吴丽萍 nr\n", "['吴丽萍']\n", "<generator object cut at 0x65e9896d0>\n", "马鞍山 ns\n", "山鹰 nr\n", "纸业 n\n", "集团 n\n", "有限公司 n\n", "['马鞍山', '山鹰', '纸业']\n", "<generator object cut at 0x65e9896d0>\n", " x\n", "中国 ns\n", "华润 nz\n", "[' ', '中国', '华润']\n", "<generator object cut at 0x65e9896d0>\n", "北药 nt\n", "集团 n\n", "['北药']\n", "<generator object cut at 0x65e989a50>\n", "蒋衡杰 nr\n", "['蒋衡杰']\n", "<generator object cut at 0x65e989a50>\n", "五 m\n", ") x\n", " x\n", "公司 n\n", "['五', ' ']\n", "<generator object cut at 0x65e989850>\n", " x\n", "通策 n\n", "医疗 n\n", "投资 vn\n", "股份 n\n", "有限公司 n\n", "[' ', '通策', '医疗', '投资']\n", "<generator object cut at 0x65e989850>\n", "通策 n\n", "医疗 n\n", "['通策', '医疗']\n", "<generator object cut at 0x65e989550>\n", "安盛 nz\n", "船务 n\n", "['安盛', '船务']\n", "<generator object cut at 0x65e989550>\n", "安通 nz\n", "物流 n\n", "['安通', '物流']\n", "<generator object cut at 0x65e989550>\n", "天安 nz\n", "财险 n\n", "['天安', '财险']\n", "<generator object cut at 0x65e989550>\n", "天安 nz\n", "财险 n\n", "['天安', '财险']\n", "<generator object cut at 0x65e989550>\n", "陈谋亮 nr\n", "['陈谋亮']\n", "<generator object cut at 0x65e989550>\n", "江西 ns\n", "赣南 ns\n", "海欣 nr\n", "药业 n\n", "股份 n\n", "有限公司 n\n", "['江西', '赣南', '海欣', '药业']\n", "<generator object cut at 0x65e989550>\n", "上海浦东发展银行 nt\n", "利多 nrt\n", "多 m\n", "['上海浦东发展银行', '利多']\n", "<generator object cut at 0x65e989550>\n", "上海浦东发展银行 nt\n", "股份 n\n", "有限公司 n\n", "杭州 ns\n", "分行 v\n", "['杭州', '上海浦东发展银行', '分行']\n", "<generator object cut at 0x65e989550>\n", "天安 nz\n", "财险 n\n", "['天安', '财险']\n", "<generator object cut at 0x65e989550>\n", "天安 nz\n", "财险 n\n", "['天安', '财险']\n", "<generator object cut at 0x65e989550>\n", "许望生 nr\n", "['许望生']\n", "<generator object cut at 0x65e989550>\n", "许望生 nr\n", "['许望生']\n", "<generator object cut at 0x65e989850>\n", "东方 s\n", "商厦 n\n", "['东方', '商厦']\n", "<generator object cut at 0x65e9897d0>\n", "百联 nz\n", "集团 n\n", "['百联']\n", "<generator object cut at 0x65e9890d0>\n", "南山 ns\n", "集团公司 n\n", "['南山']\n", "<generator object cut at 0x65e9890d0>\n", "南 ns\n", "山铝业 nr\n", "['南', '山铝业']\n", "<generator object cut at 0x65e9898d0>\n", "国泰君安 nz\n", "['国泰君安']\n", "<generator object cut at 0x65e9898d0>\n", "深圳 ns\n", "能源 n\n", "集团股份 nz\n", "有限公司 n\n", "['深圳', '能源', '集团股份']\n", "<generator object cut at 0x65e9890d0>\n", "谭颂斌 nr\n", "['谭颂斌']\n", "<generator object cut at 0x65e9890d0>\n", "广东 ns\n", "银禧 nr\n", "科技股份 n\n", "有限公司 n\n", "['广东', '银禧', '科技股份']\n", "<generator object cut at 0x65e9898d0>\n", "中天 t\n", "合创 v\n", "能源 n\n", "有限责任 l\n", "公司 n\n", "['中天', '合创', '能源', '有限责任']\n", "<generator object cut at 0x65e9898d0>\n", "申能 v\n", "股份 n\n", "有限公司 n\n", "['申能']\n", "<generator object cut at 0x65e9898d0>\n", "吕建明 nr\n", "['吕建明']\n", "<generator object cut at 0x65e9898d0>\n", "杭州 ns\n", "海骏 nr\n", "科技 n\n", "有限公司 n\n", "['杭州', '海骏', '科技']\n", "<generator object cut at 0x65e9897d0>\n", "南通 nz\n", "科技 n\n", "投资 vn\n", "集团股份 nz\n", "有限公司 n\n", "['南通', '科技', '投资', '集团股份']\n", "<generator object cut at 0x65e9897d0>\n", "南通 nz\n", "科技 n\n", " x\n", "['南通', '科技', ' ']\n", "<generator object cut at 0x65e9897d0>\n", "秦文英 nr\n", "['秦文英']\n", "<generator object cut at 0x65e9897d0>\n", "美尚 n\n", "生态景观 l\n", "股份 n\n", "有限公司 n\n", "['美尚', '生态景观']\n", "<generator object cut at 0x65e9897d0>\n", "周镇科 nr\n", "['周镇科']\n", "<generator object cut at 0x65e9897d0>\n", "大晟 nr\n", "时代 n\n", "文化 n\n", "投资 vn\n", "股份 n\n", "有限公司 n\n", "['大晟', '时代', '文化', '投资']\n", "<generator object cut at 0x65e9898d0>\n", "广州 ns\n", "珠江 ns\n", "新城 ns\n", "支行 v\n", "['广州', '珠江', '新城', '支行']\n", "<generator object cut at 0x65e9898d0>\n", "广发 nz\n", "银行 n\n", "['广发', '银行']\n", "<generator object cut at 0x65e9890d0>\n", "上海银行 nt\n", "浦东 ns\n", " x\n", "分行 v\n", "['上海银行', '浦东', ' ', '分行']\n", "<generator object cut at 0x65e9890d0>\n", "上海 ns\n", "申达 nz\n", "投资 vn\n", "有限 a\n", " x\n", "公司 n\n", "['上海', '申达', '投资', ' ']\n", "<generator object cut at 0x65e9890d0>\n", "王 nr\n", "志成 nrfg\n", "['王', '志成']\n", "<generator object cut at 0x65e9890d0>\n", "兴 v\n", "民智 n\n", "通 v\n", "( x\n", "集团 n\n", ") x\n", "股份 n\n", "有限公司 n\n", "['兴', '民智', '通']\n", "<generator object cut at 0x65e9894d0>\n", "广州 ns\n", "维力 n\n", "医疗器械 n\n", "股份 n\n", "有限公司 n\n", "['广州', '维力', '医疗器械']\n", "<generator object cut at 0x65e9894d0>\n", "维力 n\n", "医疗 n\n", " x\n", "['维力', '医疗', ' ']\n", "<generator object cut at 0x65e9894d0>\n", "张振新 nr\n", "['张振新']\n", "<generator object cut at 0x65e9894d0>\n", "易乘 nz\n", "投资 vn\n", "['易乘', '投资']\n", "<generator object cut at 0x65e9894d0>\n", "东方 s\n", "国兴 b\n", "['东方', '国兴']\n", "<generator object cut at 0x65e9894d0>\n", "青鸟 n\n", "华光 nz\n", "['青鸟', '华光']\n", "<generator object cut at 0x65e989850>\n", "陈少鞍 nr\n", "['陈少鞍']\n", "<generator object cut at 0x65e989850>\n", "深圳市 ns\n", "中恒泰 nz\n", "控股集团 nz\n", "有限公司 n\n", "['深圳市', '中恒泰']\n", "<generator object cut at 0x65e989850>\n", "烟台 n\n", "新潮 n\n", "实业 n\n", "股份 n\n", "有限公司 n\n", "['烟台', '新潮', '实业']\n", "<generator object cut at 0x65e989850>\n", "新潮 n\n", "实业 n\n", " x\n", "['新潮', '实业', ' ']\n", "<generator object cut at 0x65e989850>\n", "西 f\n", " x\n", "水 n\n", "股份 n\n", "['西', ' ', '水']\n", "<generator object cut at 0x65e989850>\n", "西水股份 nz\n", "['西水股份']\n", "<generator object cut at 0x65e989550>\n", "深圳 ns\n", ") x\n", "基金 n\n", "发展 vn\n", "企业 n\n", "['深圳', '基金', '企业']\n", "<generator object cut at 0x65e989550>\n", "华夏 ns\n", "绿色 n\n", "['华夏', '绿色']\n", "<generator object cut at 0x65e989550>\n", "天泰 nz\n", "公司 n\n", "['天泰']\n", "<generator object cut at 0x65e989550>\n", "阳泉 nr\n", "煤业 n\n", "( x\n", "集团 n\n", ") x\n", "有限责任 l\n", "公司 n\n", "['阳泉', '煤业', '有限责任']\n", "<generator object cut at 0x65e9894d0>\n", "金鹰 nr\n", "股份 n\n", "['金鹰']\n", "<generator object cut at 0x65e9894d0>\n", "浙江 ns\n", "金鹰 nr\n", "集团 n\n", "有限公司 n\n", "['浙江', '金鹰']\n", "<generator object cut at 0x65e9894d0>\n", "红 a\n", " x\n", "豆 n\n", "网络 n\n", "['红', ' ', '豆', '网络']\n", "<generator object cut at 0x65e9894d0>\n", "红豆 n\n", "网络 n\n", " x\n", "['红豆', '网络', ' ']\n", "<generator object cut at 0x65e989850>\n", "广州 ns\n", "珠江 ns\n", "新城 ns\n", "支行 v\n", "['广州', '珠江', '新城', '支行']\n", "<generator object cut at 0x65e989850>\n", "广发 nz\n", "银行 n\n", "['广发', '银行']\n", "<generator object cut at 0x65e989c50>\n", "上海 ns\n", "崇明 nrt\n", "奥琰 nr\n", "内燃机 n\n", "配件 n\n", "有限公司 n\n", "['上海', '崇明', '奥琰', '内燃机', '配件']\n", "<generator object cut at 0x65e989c50>\n", "上海 ns\n", "奥柏 nr\n", "内燃机 n\n", "配件 n\n", "有限公司 n\n", "['上海', '奥柏', '内燃机', '配件']\n", "<generator object cut at 0x65e9897d0>\n", "上海 ns\n", "亚通 ns\n", "股份 n\n", "有限公司 n\n", "['上海', '亚通']\n", "<generator object cut at 0x65e9897d0>\n", "崇明 nrt\n", "房地产 j\n", "开发 v\n", "有限公司 n\n", "['崇明', '房地产', '开发']\n", "<generator object cut at 0x65e989a50>\n", "上海 ns\n", "金桥 nr\n", "出口 vn\n", "加工区 nt\n", "开发 v\n", "股份 n\n", "有限公司 n\n", "['上海', '金桥', '出口', '加工区', '开发']\n", "<generator object cut at 0x65e989a50>\n", "金桥 nr\n", " x\n", "B x\n", " x\n", "股 q\n", " x\n", "['金桥', ' ', 'B', ' ', '股', ' ']\n", "<generator object cut at 0x65e989550>\n", "天安 nz\n", "财险 n\n", "['天安', '财险']\n", "<generator object cut at 0x65e989550>\n", "西水股份 nz\n", "['西水股份']\n", "<generator object cut at 0x65e9890d0>\n", "甘肃 ns\n", "大 a\n", "有 v\n", "农业 n\n", "科技 n\n", "有限公司 n\n", "['甘肃', '农业', '科技']\n", "<generator object cut at 0x65e9890d0>\n", "甘肃 ns\n", "天润 n\n", "薯业 n\n", "有限责任 l\n", "公司 n\n", "['甘肃', '天润', '薯业', '有限责任']\n", "<generator object cut at 0x65e989c50>\n", "永鼎 nr\n", "集团 n\n", "['永鼎']\n", "<generator object cut at 0x65e989c50>\n", "永鼎 nr\n", "集团 n\n", "['永鼎']\n", "<generator object cut at 0x65e989a50>\n", "四川 ns\n", "沱牌 nz\n", "舍得 v\n", "酒业 n\n", "股份 n\n", "有限公司 n\n", "['四川', '沱牌', '舍得', '酒业']\n", "<generator object cut at 0x65e989a50>\n", "沱牌 nz\n", "舍得 v\n", " x\n", "['沱牌', '舍得', ' ']\n", "<generator object cut at 0x65e989a50>\n", "天堂 n\n", "硅谷 n\n", " x\n", "['天堂', '硅谷', ' ']\n", "<generator object cut at 0x65e989a50>\n", "天堂 n\n", "硅谷 n\n", "['天堂', '硅谷']\n", "<generator object cut at 0x65e9897d0>\n", "湖北 ns\n", "凯乐 nr\n", "科技股份 n\n", "有限公司 n\n", "['湖北', '凯乐', '科技股份']\n", "<generator object cut at 0x65e9897d0>\n", "凯乐 nr\n", "科技 n\n", "['凯乐', '科技']\n", "<generator object cut at 0x65e9897d0>\n", "甘肃省 ns\n", "农垦 n\n", "集团 n\n", "有限责任 l\n", "公司 n\n", "['甘肃省', '农垦', '有限责任']\n", "<generator object cut at 0x65e9897d0>\n", "甘肃省 ns\n", "农垦 n\n", "房地产 j\n", "综合 vn\n", "开发 v\n", "公司 n\n", "['甘肃省', '农垦', '房地产', '开发']\n", "<generator object cut at 0x65e9894d0>\n", "控股集团 nz\n", "[]\n", "<generator object cut at 0x65e9894d0>\n", "瑞华 ns\n", "会计师 n\n", "事务所 n\n", "['瑞华', '会计师']\n", "<generator object cut at 0x65e9898d0>\n", "天安 nz\n", "财险 n\n", "['天安', '财险']\n", "<generator object cut at 0x65e9898d0>\n", "天 q\n", " x\n", "安 v\n", "财险 n\n", "['天', ' ', '安', '财险']\n", "<generator object cut at 0x65e989c50>\n", "杨杰 nr\n", "['杨杰']\n", "<generator object cut at 0x65e989c50>\n", "天房 n\n", "( x\n", "苏州 ns\n", ") x\n", "投资 vn\n", "发展 vn\n", "有限公司 n\n", "['苏州', '天房', '投资']\n", "<generator object cut at 0x65e9897d0>\n", "北京 ns\n", "天 q\n", "源 ng\n", "建筑工程 n\n", "有限责任 l\n", "公司 n\n", "['北京', '天', '源', '建筑工程', '有限责任']\n", "<generator object cut at 0x65e9897d0>\n", "北京 ns\n", "空港 n\n", "科技园区 n\n", "股份 n\n", "有限公司 n\n", "['北京', '空港', '科技园区']\n", "<generator object cut at 0x65e989a50>\n", "张 q\n", "德华 nz\n", " x\n", "['张', '德华', ' ']\n", "<generator object cut at 0x65e989a50>\n", "山东 ns\n", "华鹏 nr\n", "玻璃 n\n", "股份 n\n", "有限公司 n\n", "['山东', '华鹏', '玻璃']\n", "<generator object cut at 0x65e989a50>\n", "庄敏 nr\n", "['庄敏']\n", "<generator object cut at 0x65e989a50>\n", "江苏 ns\n", "保 v\n", "千里 q\n", "视像 n\n", "科技 n\n", "集团股份 nz\n", "有限公司 n\n", "['江苏', '保', '千里', '视像', '科技', '集团股份']\n", "<generator object cut at 0x65e989850>\n", "中国建设银行 nt\n", "上海市分行 nt\n", "['中国建设银行', '上海市分行']\n", "<generator object cut at 0x65e989850>\n", "中国建设银行 nt\n", "上海市分行 nt\n", "['中国建设银行', '上海市分行']\n", "<generator object cut at 0x65e9897d0>\n", "天安 nz\n", "财险 n\n", "['天安', '财险']\n", "<generator object cut at 0x65e9897d0>\n", "天安 nz\n", "财险 n\n", "['天安', '财险']\n", "<generator object cut at 0x65e9897d0>\n", "合肥 n\n", "天星 nz\n", "['合肥', '天星']\n", "<generator object cut at 0x65e9897d0>\n", "滁州 ns\n", "天星 nz\n", "['滁州', '天星']\n", "<generator object cut at 0x65e989850>\n", "杨世梁 nr\n", "['杨世梁']\n", "<generator object cut at 0x65e989850>\n", "贵州 ns\n", "盘江 ns\n", "煤层气 n\n", "开发利用 l\n", "有限责任 l\n", "公司 n\n", "['贵州', '盘江', '煤层气', '开发利用', '有限责任']\n", "<generator object cut at 0x65e9897d0>\n", "中散 j\n", "集团 n\n", "['中散']\n", "<generator object cut at 0x65e9897d0>\n", "中远 ns\n", "集运 n\n", "['中远', '集运']\n", "<generator object cut at 0x65e9894d0>\n", "刘 nr\n", "觯 g\n", "段 q\n", "['刘', '觯', '段']\n", "<generator object cut at 0x65e9894d0>\n", "柯罗尼 nr\n", "['柯罗尼']\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "<generator object cut at 0x65e9897d0>\n", "宝钢股份 nz\n", "['宝钢股份']\n", "<generator object cut at 0x65e9897d0>\n", "东方 s\n", "钢铁 n\n", "电子商务 n\n", "有限公司 n\n", "['东方', '钢铁', '电子商务']\n", "<generator object cut at 0x65e989550>\n", "优化 vn\n", "阿波罗 nr\n", "公司 n\n", "['阿波罗']\n", "<generator object cut at 0x65e989550>\n", "阿波罗 nr\n", "公司 n\n", "['阿波罗']\n", "<generator object cut at 0x65e989550>\n", "秋林 nr\n", "集团 n\n", "['秋林']\n", "<generator object cut at 0x65e989550>\n", "秋林 nr\n", "集团 n\n", "['秋林']\n", "<generator object cut at 0x65e9894d0>\n", "上海 ns\n", "崇明 nrt\n", "奥琰 nr\n", "内燃机 n\n", "配件 n\n", "有限公司 n\n", "['上海', '崇明', '奥琰', '内燃机', '配件']\n", "<generator object cut at 0x65e9894d0>\n", "上 ns\n", "1 m\n", "海奥柏 nr\n", "内燃机 n\n", "配件 n\n", "有限公司 n\n", "['1', '海奥柏', '内燃机', '配件']\n", "<generator object cut at 0x65e989550>\n", "孚 nrt\n", "支行 v\n", "['孚', '支行']\n", "<generator object cut at 0x65e989550>\n", "浙江 ns\n", "南浔 ns\n", "农村 n\n", "商业银行 nt\n", "股份 n\n", "有限公司 n\n", "['浙江', '南浔', '农村', '商业银行']\n", "<generator object cut at 0x65e989550>\n", "桐昆 ns\n", "集团股份 nz\n", "有 v\n", " x\n", "限 v\n", "公司 n\n", "['桐昆', '集团股份', ' ', '限']\n", "<generator object cut at 0x65e989550>\n", "桐昆 ns\n", "控股 v\n", "['桐昆']\n", "<generator object cut at 0x65e9897d0>\n", "天安 nz\n", "财险 n\n", "['天安', '财险']\n", "<generator object cut at 0x65e9897d0>\n", "西 f\n", " x\n", "水 n\n", "股份 n\n", "['西', ' ', '水']\n", "<generator object cut at 0x65e9897d0>\n", "湖南省 ns\n", "分行 v\n", "['湖南省', '分行']\n", "<generator object cut at 0x65e9897d0>\n", "郴州市 ns\n", "城 n\n", " x\n", "市 n\n", "建设 vn\n", "投资 vn\n", "发展 vn\n", "集团 n\n", "有限公司 n\n", "['郴州市', '城', ' ', '市', '建设', '投资']\n", "<generator object cut at 0x65e9897d0>\n", "黄昌华 nr\n", "['黄昌华']\n", "<generator object cut at 0x65e9897d0>\n", "深圳 ns\n", "金信 nz\n", "诺 nz\n", "高新技术 n\n", "股份 n\n", "有限公司 n\n", "['深圳', '金信', '诺', '高新技术']\n", "<generator object cut at 0x65e9897d0>\n", "睿德 nrt\n", "电子 n\n", "['睿德', '电子']\n", "<generator object cut at 0x65e9897d0>\n", "深圳 ns\n", "兴飞 v\n", "控股 v\n", "睿德 nrt\n", "电子 n\n", " x\n", "['深圳', '兴飞', '睿德', '电子', ' ']\n", "<generator object cut at 0x65e9894d0>\n", "云南 ns\n", "文山 n\n", "电力 n\n", "股份 n\n", "有限公司 n\n", "['云南', '文山', '电力']\n", "<generator object cut at 0x65e9894d0>\n", "文山 n\n", "电力 n\n", " x\n", "['文山', '电力', ' ']\n", "<generator object cut at 0x65e9894d0>\n", "宁波 ns\n", "宋城 nr\n", "七 m\n", "弦 n\n", "投资 vn\n", "管理 vn\n", "有限公司 n\n", "['宁波', '宋城', '七', '弦', '投资', '管理']\n", "<generator object cut at 0x65e9894d0>\n", "宋城 nr\n", "演艺 n\n", "发展 vn\n", "股份 n\n", "有限公司 n\n", "['宋城', '演艺']\n", "<generator object cut at 0x65e9898d0>\n", "蔡鉴 nr\n", "蔡 nr\n", "['蔡鉴', '蔡']\n", "<generator object cut at 0x65e9898d0>\n", "李汉华 nr\n", "['李汉华']\n", "<generator object cut at 0x65e989550>\n", "三明 nz\n", "新能源 n\n", "与 p\n", "浦发银行 nt\n", "宿迁 nr\n", "分行 v\n", "['三明', '宿迁', '新能源', '浦发银行', '分行']\n", "<generator object cut at 0x65e989550>\n", "江苏 ns\n", "三明 nz\n", "新能源 n\n", "有限公司 n\n", "['江苏', '三明', '新能源']\n", "<generator object cut at 0x65e989550>\n", "中国农业银行 nt\n", "股份 n\n", "有限公司 n\n", "益阳 ns\n", "分行 v\n", "营业部 n\n", "['益阳', '中国农业银行', '分行']\n", "<generator object cut at 0x65e989550>\n", "中国农业银行 nt\n", "['中国农业银行']\n", "<generator object cut at 0x65e9897d0>\n", "萍 nr\n", "脊 ng\n", "镜 ng\n", "姆 x\n", "ǘ x\n", "['萍', '脊', '镜', '姆', 'ǘ']\n", "<generator object cut at 0x65e9897d0>\n", "李维 nr\n", "董 nr\n", "['李维', '董']\n", "<generator object cut at 0x65e9897d0>\n", "伊力特 nr\n", "糖业 n\n", "['伊力特', '糖业']\n", "<generator object cut at 0x65e9897d0>\n", "海泰 nz\n", "公司 n\n", "['海泰']\n", "<generator object cut at 0x65e9897d0>\n", "康欣 nr\n", "新材 n\n", " x\n", "['康欣', '新材', ' ']\n", "<generator object cut at 0x65e9897d0>\n", "康欣 nr\n", "新材 n\n", "['康欣', '新材']\n", "<generator object cut at 0x65e989850>\n", "凯马 nrt\n", "汽 n\n", " x\n", "车 zg\n", "['凯马', '汽', ' ', '车']\n", "<generator object cut at 0x65e989850>\n", "山东 ns\n", "凯马 nrt\n", "汽车 n\n", "制造 v\n", "有限公司 n\n", "['山东', '凯马', '汽车', '制造']\n", "<generator object cut at 0x65e989850>\n", "天安 nz\n", "财险 n\n", "['天安', '财险']\n", "<generator object cut at 0x65e989850>\n", "天 q\n", " x\n", "安 v\n", "财险 n\n", "['天', ' ', '安', '财险']\n", "<generator object cut at 0x65e9894d0>\n", "天津 ns\n", "振港 ns\n", "通信工程 l\n", "有限公司 n\n", "['天津', '振港', '通信工程']\n", "<generator object cut at 0x65e9894d0>\n", "天津港 ns\n", "股份 n\n", "有限公司 n\n", "['天津港']\n", "<generator object cut at 0x65e9894d0>\n", "重庆 ns\n", "润生 v\n", "科技 n\n", "有限公司 n\n", "['重庆', '润生', '科技']\n", "<generator object cut at 0x65e9894d0>\n", "重庆 ns\n", "博腾 nr\n", "制药 n\n", "科技股份 n\n", "有限公司 n\n", "['重庆', '博腾', '制药', '科技股份']\n", "<generator object cut at 0x65e9898d0>\n", "李 nr\n", "振国 ns\n", "['李', '振国']\n", "<generator object cut at 0x65e9898d0>\n", "宁夏 ns\n", "隆 nr\n", "基硅 n\n", "材料 n\n", "有限公司 n\n", "['宁夏', '隆', '基硅', '材料']\n", "<generator object cut at 0x65e9898d0>\n", "中国建设银行 nt\n", "股份 n\n", "有限公司 n\n", "['中国建设银行']\n", "<generator object cut at 0x65e9898d0>\n", "北海 ns\n", "国 n\n", "发 v\n", "海洋生物 nt\n", "产业 n\n", "股份 n\n", "有限公司 n\n", "['北海', '国', '发', '海洋生物', '产业']\n", "<generator object cut at 0x65e9898d0>\n", "刘道明 nr\n", "['刘道明']\n", "<generator object cut at 0x65e9898d0>\n", "美好 a\n", "置业 n\n", "集团股份 nz\n", "有限公司 n\n", "['美好', '置业', '集团股份']\n", "<generator object cut at 0x65e989a50>\n", "西 f\n", "水 n\n", " x\n", "股份 n\n", "['西', '水', ' ']\n", "<generator object cut at 0x65e989a50>\n", "西水股份 nz\n", "['西水股份']\n", "<generator object cut at 0x65e989550>\n", "德信 nz\n", "担保 v\n", "['德信', '担保']\n", "<generator object cut at 0x65e989550>\n", "德润 nr\n", "租赁 v\n", "['德润', '租赁']\n", "<generator object cut at 0x65e989a50>\n", "明匠 n\n", "智能 n\n", "['明匠', '智能']\n", "<generator object cut at 0x65e989a50>\n", "明匠 n\n", "智能 n\n", "['明匠', '智能']\n", "<generator object cut at 0x65e9896d0>\n", "川东 ns\n", "农场 n\n", "['川东', '农场']\n", "<generator object cut at 0x65e9896d0>\n", "上海 ns\n", "农场 n\n", "['上海', '农场']\n", "<generator object cut at 0x65e9896d0>\n", "天安 nz\n", "财险 n\n", "['天安', '财险']\n", "<generator object cut at 0x65e9896d0>\n", "天安 nz\n", "财险 n\n", "['天安', '财险']\n", "<generator object cut at 0x65e989850>\n", "松江 ns\n", "集团 n\n", "['松江']\n", "<generator object cut at 0x65e989850>\n", "天津 ns\n", "松江 ns\n", "集团 n\n", "有限公司 n\n", "['天津', '松江']\n", "<generator object cut at 0x65e989850>\n", "优材 n\n", "京航 j\n", "['优材', '京航']\n", "<generator object cut at 0x65e989850>\n", "中航 j\n", "复材 n\n", "['中航', '复材']\n", "<generator object cut at 0x65e989550>\n", "台州 ns\n", "星星 nz\n", "置业 n\n", "有限公司 n\n", "['台州', '星星', '置业']\n", "<generator object cut at 0x65e989550>\n", "浙江 ns\n", "水晶 n\n", "光电 j\n", "科技股份 n\n", "有限公司 n\n", "['浙江', '水晶', '光电', '科技股份']\n", "<generator object cut at 0x65e989550>\n", "长江 ns\n", "财富 n\n", "['长江', '财富']\n", "<generator object cut at 0x65e989550>\n", "长江 ns\n", "证券 n\n", "股份 n\n", "有限公司 n\n", "['长江', '证券']\n", "<generator object cut at 0x65e989550>\n", "孙伟 nr\n", "['孙伟']\n", "<generator object cut at 0x65e989550>\n", "徐潮 nr\n", "['徐潮']\n", "<generator object cut at 0x65e989850>\n", "鹏 nr\n", "翎 ng\n", "股份 n\n", "['鹏', '翎']\n", "<generator object cut at 0x65e989850>\n", "张洪 nr\n", "起 v\n", "['张洪']\n", "<generator object cut at 0x65e989850>\n", "常州 ns\n", "亿 m\n", "晶 n\n", "光电 j\n", "科技 n\n", "有限公司 n\n", "['常州', '亿', '晶', '光电', '科技']\n", "<generator object cut at 0x65e989850>\n", "常州 ns\n", "亿 m\n", "晶 n\n", "光电 j\n", "科技 n\n", "有限公司 n\n", "['常州', '亿', '晶', '光电', '科技']\n", "<generator object cut at 0x65e989c50>\n", "广州 ns\n", "珠江 ns\n", "新城 ns\n", "支行 v\n", "['广州', '珠江', '新城', '支行']\n", "<generator object cut at 0x65e989c50>\n", "广发 nz\n", "银行 n\n", "['广发', '银行']\n", "<generator object cut at 0x65e989c50>\n", "齐普生 nr\n", "公司 n\n", "['齐普生']\n", "<generator object cut at 0x65e989c50>\n", "齐普 nr\n", " x\n", "生 vn\n", "公司 n\n", "['齐普', ' ', '生']\n", "<generator object cut at 0x65e989c50>\n", "江苏 ns\n", "法尔 ns\n", "胜 v\n", "股份 n\n", "有限公司 n\n", "['江苏', '法尔', '胜']\n", "<generator object cut at 0x65e989c50>\n", "江苏 ns\n", "法尔 ns\n", "胜 v\n", "精细 a\n", "钢绳 n\n", "有限公司 n\n", "['江苏', '法尔', '胜', '精细', '钢绳']\n", "<generator object cut at 0x65e989850>\n", "康美 nr\n", "保险 n\n", "['康美', '保险']\n", "<generator object cut at 0x65e989850>\n", "康美 nr\n", "保险 n\n", "['康美', '保险']\n", "<generator object cut at 0x65e989a50>\n", "中晶 n\n", "股份 n\n", "['中晶']\n", "<generator object cut at 0x65e989a50>\n", "中晶 n\n", "股份 n\n", "['中晶']\n", "<generator object cut at 0x65e9898d0>\n", "上海 ns\n", "上 f\n", "投资 vn\n", "产 n\n", "经营 vn\n", "有限公司 n\n", "['上海', '投资', '产', '经营']\n", "<generator object cut at 0x65e9898d0>\n", "上海 ns\n", "实业 n\n", "发展 vn\n", "股份 n\n", "有限公司 n\n", "['上海', '实业']\n", "<generator object cut at 0x65e9898d0>\n", "西水股份 nz\n", "['西水股份']\n", "<generator object cut at 0x65e9898d0>\n", "天安 nz\n", "财险 n\n", "['天安', '财险']\n", "<generator object cut at 0x65e9898d0>\n", "刘梦龙 nr\n", "['刘梦龙']\n", "<generator object cut at 0x65e9898d0>\n", "深圳市 ns\n", "易尚 nr\n", "展示 v\n", "股份 n\n", "有限公司 n\n", "['深圳市', '易尚', '展示']\n", "<generator object cut at 0x65e9896d0>\n", "长江 ns\n", "精工 n\n", "钢结构 n\n", "( x\n", "集团 n\n", ") x\n", "股份 n\n", "有限公司 n\n", "['长江', '精工', '钢结构']\n", "<generator object cut at 0x65e9896d0>\n", "中建 ns\n", "信 n\n", "控股集团 nz\n", "上海 ns\n", "置业 n\n", "有限公司 n\n", "['上海', '中建', '信', '置业']\n", "<generator object cut at 0x65e9896d0>\n", "阳泉 nr\n", "煤业 n\n", "( x\n", "集团 n\n", ") x\n", "股份 n\n", "有限公司 n\n", "['阳泉', '煤业']\n", "<generator object cut at 0x65e9896d0>\n", "阳泉 nr\n", "煤业 n\n", "['阳泉', '煤业']\n", "<generator object cut at 0x65e9896d0>\n", "康欣 nr\n", "新材 n\n", "['康欣', '新材']\n", "<generator object cut at 0x65e9896d0>\n", "青鸟 n\n", "华光 nz\n", "['青鸟', '华光']\n", "<generator object cut at 0x65e989c50>\n", "天 q\n", "和 c\n", "机械 n\n", "['天', '机械']\n", "<generator object cut at 0x65e989c50>\n", "安徽 ns\n", "全柴 n\n", "天 q\n", "和 c\n", "机械 n\n", "有限公司 n\n", "['安徽', '全柴', '天', '机械']\n", "<generator object cut at 0x65e989c50>\n", "扬州 ns\n", "亚星 nz\n", "客车 n\n", "股份 n\n", "有限公司 n\n", "['扬州', '亚星', '客车']\n", "<generator object cut at 0x65e989c50>\n", "亚星 nz\n", "客车 n\n", " x\n", "['亚星', '客车', ' ']\n", "<generator object cut at 0x65e989a50>\n", "兰州 ns\n", "惠仁 nr\n", " x\n", "['兰州', '惠仁', ' ']\n", "<generator object cut at 0x65e989a50>\n", "兰州 ns\n", "惠仁 nr\n", " x\n", "['兰州', '惠仁', ' ']\n", "<generator object cut at 0x65e9897d0>\n", "陶昀 nr\n", "['陶昀']\n", "<generator object cut at 0x65e9897d0>\n", "南京 ns\n", "医药 n\n", "股份 n\n", "有限公司 n\n", "['南京', '医药']\n", "<generator object cut at 0x65e9897d0>\n", "天业 n\n", "集团 n\n", "['天业']\n", "<generator object cut at 0x65e9897d0>\n", "天伟 nr\n", "化工 n\n", "['天伟', '化工']\n", "<generator object cut at 0x65e989a50>\n", "河南 ns\n", "黄河旋风 nr\n", "股份 n\n", "有限公司 n\n", "['河南', '黄河旋风']\n", "<generator object cut at 0x65e989a50>\n", "河南 ns\n", "黄河旋风 nr\n", "股份 n\n", "有限公司 n\n", "['河南', '黄河旋风']\n", "<generator object cut at 0x65e989a50>\n", "远望 v\n", "谷 nr\n", "( x\n", "上海 ns\n", ") x\n", "信息技术 n\n", "有限公司 n\n", "['上海', '远望', '谷', '信息技术']\n", "<generator object cut at 0x65e989a50>\n", "顾清 nr\n", "['顾清']\n", "<generator object cut at 0x65e989550>\n", "张福喜 nr\n", "['张福喜']\n", "<generator object cut at 0x65e989550>\n", "白英 nr\n", "['白英']\n", "<generator object cut at 0x65e989550>\n", "广州 ns\n", "发展 vn\n", "集团股份 nz\n", "有限公司 n\n", "['广州', '集团股份']\n", "<generator object cut at 0x65e989550>\n", "长江 ns\n", "电力 n\n", "['长江', '电力']\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "<generator object cut at 0x65e9896d0>\n", "友 ng\n", "网络 n\n", "科技股份 n\n", "有限公司 n\n", "['友', '网络', '科技股份']\n", "<generator object cut at 0x65e9896d0>\n", "中华人民共和国 ns\n", "公司 n\n", "['中华人民共和国']\n", "<generator object cut at 0x65e9898d0>\n", "刘 zg\n", "大庆 ns\n", "['大庆', '刘']\n", "<generator object cut at 0x65e9898d0>\n", "天津 ns\n", "运河 n\n", "城 n\n", "投资 vn\n", "有限公司 n\n", "['天津', '运河', '城', '投资']\n", "<generator object cut at 0x65e989a50>\n", "国核 n\n", "浙 j\n", "能 v\n", "核能 n\n", "有限公司 n\n", "['国核', '浙', '核能']\n", "<generator object cut at 0x65e989a50>\n", "国核 n\n", "浙 j\n", "能 v\n", "核能 n\n", "有限公司 n\n", "['国核', '浙', '核能']\n", "<generator object cut at 0x65e989550>\n", "陈 nr\n", "清州 ns\n", "['陈', '清州']\n", "<generator object cut at 0x65e989550>\n", "海能达 nr\n", "通信 j\n", "股份 n\n", "有限公司 n\n", "['海能达', '通信']\n", "<generator object cut at 0x65e9898d0>\n", "秋 t\n", " x\n", "林 ng\n", "集团 n\n", "['秋', ' ', '林']\n", "<generator object cut at 0x65e9898d0>\n", "秋林 nr\n", "集团 n\n", "['秋林']\n", "<generator object cut at 0x65e9896d0>\n", "顾清 nr\n", "['顾清']\n", "<generator object cut at 0x65e9896d0>\n", "深圳市 ns\n", "远望 v\n", "谷 nr\n", "信息技术 n\n", "股份 n\n", "有限公司 n\n", "['深圳市', '远望', '谷', '信息技术']\n", "<generator object cut at 0x65e989a50>\n", "长江 ns\n", "养老保险 n\n", "股 q\n", " x\n", "份 q\n", "有限公司 n\n", "['长江', '养老保险', '股', ' ', '份']\n", "<generator object cut at 0x65e989a50>\n", "上海 ns\n", "汽车 n\n", "工业 n\n", "( x\n", "集团 n\n", ") x\n", "总公司 n\n", "['上海', '汽车', '工业']\n", "<generator object cut at 0x65e989a50>\n", "金洲 ns\n", "管道 n\n", "['金洲', '管道']\n", "<generator object cut at 0x65e989a50>\n", "北京 ns\n", "富贵花 nr\n", "开 v\n", "投资 vn\n", "管理 vn\n", "有限公司 n\n", "['北京', '富贵花', '开', '投资', '管理']\n", "<generator object cut at 0x65e989550>\n", "欧盛腾水 ns\n", "处理 v\n", "技术 n\n", "( x\n", "杭州 ns\n", ") x\n", "有限公司 n\n", "['杭州', '欧盛腾水', '技术']\n", "<generator object cut at 0x65e989550>\n", "成都 ns\n", "天翔 nz\n", "环境 n\n", "股份 n\n", "有限公司 n\n", "['成都', '天翔', '环境']\n", "<generator object cut at 0x65e989550>\n", "华远 nz\n", "地产 n\n", "股份 n\n", "有限公司 n\n", "['华远', '地产']\n", "<generator object cut at 0x65e989550>\n", "华远 nz\n", "地产 n\n", "['华远', '地产']\n", "<generator object cut at 0x65e989550>\n", "赵华涛 nr\n", "['赵华涛']\n", "<generator object cut at 0x65e989550>\n", "山东 ns\n", "矿机 n\n", "集团股份 nz\n", "有限公司 n\n", "['山东', '矿机', '集团股份']\n", "<generator object cut at 0x65e989850>\n", "陈志江 nr\n", "['陈志江']\n", "<generator object cut at 0x65e989850>\n", "福建 ns\n", "纳川 nr\n", "管材 n\n", "科技股份 n\n", "有限公司 n\n", "['福建', '纳川', '管材', '科技股份']\n", "<generator object cut at 0x65e989c50>\n", "桐乡市 ns\n", "临杭 ns\n", "经济区 n\n", "新市镇 ns\n", "开发 v\n", "建设 vn\n", "有限公司 n\n", "['桐乡市', '临杭', '经济区', '新市镇', '开发', '建设']\n", "<generator object cut at 0x65e989c50>\n", "中国 ns\n", "电建 n\n", "集团 n\n", "华东 ns\n", "勘测 vn\n", "设计 vn\n", "研究院 n\n", "有限 a\n", "公 n\n", " x\n", "司 nr\n", "['中国', '电建', '华东', '勘测', '设计', '研究院', '公', ' ', '司']\n", "<generator object cut at 0x65e989850>\n", "吉发 nr\n", " x\n", "智盈 n\n", "['吉发', ' ', '智盈']\n", "<generator object cut at 0x65e989850>\n", "吉祥 nr\n", "创赢 v\n", "['吉祥', '创赢']\n", "<generator object cut at 0x65e9897d0>\n", "黄金 n\n", "集团 n\n", "['黄金']\n", "<generator object cut at 0x65e9897d0>\n", "黄金 n\n", "集团 n\n", "['黄金']\n", "<generator object cut at 0x65e989c50>\n", "北京 ns\n", "福田 ns\n", "戴姆勒 nr\n", "汽车 n\n", "有限公司 n\n", "['北京', '福田', '戴姆勒', '汽车']\n", "<generator object cut at 0x65e989c50>\n", "北京 ns\n", "福田 ns\n", "戴姆勒 nr\n", "汽车 n\n", "有限公司 n\n", "['北京', '福田', '戴姆勒', '汽车']\n", "<generator object cut at 0x65e989850>\n", " x\n", "沧州 ns\n", "大化 n\n", "股份 n\n", "有限公司 n\n", "['沧州', ' ', '大化']\n", "<generator object cut at 0x65e989850>\n", " x\n", "沧州 ns\n", "大化 n\n", " x\n", "['沧州', ' ', '大化', ' ']\n", "<generator object cut at 0x65e989850>\n", "银杏树 nr\n", "信息技术 n\n", "服务 vn\n", "( x\n", "北京 ns\n", ") x\n", " x\n", "有限公司 n\n", "['北京', '银杏树', '信息技术', '服务', ' ']\n", "<generator object cut at 0x65e989850>\n", "德 j\n", "稻 ng\n", "资产 n\n", "公司 n\n", "['德', '稻', '资产']\n", "<generator object cut at 0x65e989850>\n", "西水股份 nz\n", "['西水股份']\n", "<generator object cut at 0x65e989850>\n", "西 f\n", "水 n\n", " x\n", "股份 n\n", "['西', '水', ' ']\n", "<generator object cut at 0x65e9897d0>\n", "马平 nr\n", "['马平']\n", "<generator object cut at 0x65e9897d0>\n", "上海 ns\n", "皓石 nz\n", "资产 n\n", "管理 vn\n", "有限公司 n\n", "['上海', '皓石', '资产', '管理']\n", "<generator object cut at 0x65e9890d0>\n", " x\n", "罗顿 nr\n", "发展 vn\n", "股份 n\n", "有限公司 n\n", "[' ', '罗顿']\n", "<generator object cut at 0x65e9890d0>\n", "罗顿 nr\n", "发 v\n", "['罗顿', '发']\n", "<generator object cut at 0x65e989c50>\n", "物产 n\n", " x\n", "集团 n\n", "['物产', ' ']\n", "<generator object cut at 0x65e989c50>\n", "浙江 ns\n", "物产 n\n", " x\n", "['浙江', '物产', ' ']\n", "<generator object cut at 0x65e989c50>\n", "天安 nz\n", "财险 n\n", "['天安', '财险']\n", "<generator object cut at 0x65e989c50>\n", "天安 nz\n", "财险 n\n", "['天安', '财险']\n", "<generator object cut at 0x65e989550>\n", "天津 ns\n", "环球 n\n", "磁卡 n\n", "股份 n\n", "有限公司 n\n", "['天津', '环球', '磁卡']\n", "<generator object cut at 0x65e989550>\n", "天津 ns\n", "磁卡 n\n", " x\n", "['天津', '磁卡', ' ']\n", "<generator object cut at 0x65e989550>\n", "华北电力 nz\n", "科学院 n\n", "有限责任 l\n", "公司 n\n", "['华北电力', '科学院', '有限责任']\n", "<generator object cut at 0x65e989550>\n", "大唐 nz\n", "国际 n\n", "发电 vn\n", "股份 n\n", "有限公司 n\n", "['大唐', '国际', '发电']\n", "<generator object cut at 0x65e9896d0>\n", "上海 ns\n", "联明 v\n", "机械 n\n", "股份 n\n", "有限公司 n\n", "['上海', '联明', '机械']\n", "<generator object cut at 0x65e9896d0>\n", "联明 v\n", "股份 n\n", "['联明']\n", "<generator object cut at 0x65e9896d0>\n", "江西 ns\n", "江中 ns\n", "物业 n\n", "有限责任 l\n", "公司 n\n", "['江西', '江中', '物业', '有限责任']\n", "<generator object cut at 0x65e9896d0>\n", "中 f\n", "江 nr\n", "地产 n\n", "['江', '地产']\n", "<generator object cut at 0x65e9897d0>\n", "兰州 ns\n", "惠仁 nr\n", "['兰州', '惠仁']\n", "<generator object cut at 0x65e9897d0>\n", "兰州 ns\n", "惠仁 nr\n", "['兰州', '惠仁']\n", "<generator object cut at 0x65e9897d0>\n", "西水股份 nz\n", "['西水股份']\n", "<generator object cut at 0x65e9897d0>\n", "西水股份 nz\n", "['西水股份']\n", "<generator object cut at 0x65e9894d0>\n", "安徽 ns\n", "山 n\n", " x\n", "鹰 n\n", "纸业 n\n", "股份 n\n", "有限公司 n\n", "['安徽', '山', ' ', '鹰', '纸业']\n", "<generator object cut at 0x65e9894d0>\n", "安徽 ns\n", "山鹰 nr\n", "纸业 n\n", "股份 n\n", "有限公司 n\n", "['安徽', '山鹰', '纸业']\n", "<generator object cut at 0x65e9896d0>\n", "廊坊 ns\n", "银行 n\n", "['廊坊', '银行']\n", "<generator object cut at 0x65e9896d0>\n", "廊坊 ns\n", "银行 n\n", "['廊坊', '银行']\n", "<generator object cut at 0x65e9890d0>\n", "中兆 nz\n", "投资 vn\n", "管理 vn\n", "有限公司 n\n", "['中兆', '投资', '管理']\n", "<generator object cut at 0x65e9890d0>\n", "黄茂如 nr\n", "['黄茂如']\n", "<generator object cut at 0x65e9890d0>\n", "浙江 ns\n", "置华 nz\n", "建设 vn\n", "有限公司 n\n", "['浙江', '置华', '建设']\n", "<generator object cut at 0x65e9890d0>\n", "宁波 ns\n", "建乐 vn\n", "建筑 n\n", "装潢 n\n", "有限公司 n\n", "['宁波', '建乐', '建筑', '装潢']\n", "<generator object cut at 0x65e989550>\n", "安盛 nz\n", "船务 n\n", "['安盛', '船务']\n", "<generator object cut at 0x65e989550>\n", "安通 nz\n", "物流 n\n", "['安通', '物流']\n", "<generator object cut at 0x65e989550>\n", "陈俊 nr\n", "['陈俊']\n", "<generator object cut at 0x65e989550>\n", "河南 ns\n", "黄河旋风 nr\n", "股 q\n", "有限公司 n\n", "['河南', '黄河旋风', '股']\n", "<generator object cut at 0x65e9897d0>\n", "申 v\n", "华东 ns\n", "投 vn\n", "['申', '华东', '投']\n", "<generator object cut at 0x65e9897d0>\n", "申 v\n", "华东 ns\n", "投 vn\n", "新能源 n\n", "投资 vn\n", "有限公司 n\n", "['申', '华东', '投', '新能源', '投资']\n", "<generator object cut at 0x65e9897d0>\n", "黑龙江 ns\n", "伊利 nz\n", "乳业 n\n", "有限责任 l\n", "公司 n\n", "['黑龙江', '伊利', '乳业', '有限责任']\n", "<generator object cut at 0x65e9897d0>\n", "内蒙古 ns\n", "伊利 nz\n", "实业集团 n\n", "股份 n\n", "有限公司 n\n", "['内蒙古', '伊利', '实业集团']\n", "<generator object cut at 0x65e9897d0>\n", "青鸟 n\n", "华光 nz\n", "['青鸟', '华光']\n", "<generator object cut at 0x65e9897d0>\n", "瑞华 ns\n", "会计师 n\n", "事务所 n\n", "['瑞华', '会计师']\n", "<generator object cut at 0x65e9890d0>\n", "新华联 ns\n", "控股 v\n", "['新华联']\n", "<generator object cut at 0x65e9890d0>\n", "新华联 ns\n", "文化 n\n", "旅游 vn\n", "发展 vn\n", "股份 n\n", "有限公司 n\n", "['新华联', '文化', '旅游']\n", "<generator object cut at 0x65e9890d0>\n", "深圳 ns\n", "威 ns\n", "['深圳', '威']\n", "<generator object cut at 0x65e9890d0>\n", "深圳 ns\n", "威 nr\n", "新 a\n", "共同 d\n", " x\n", "['深圳', '威', '新', ' ']\n", "<generator object cut at 0x65e9896d0>\n", "天安 nz\n", "财险 n\n", "['天安', '财险']\n", "<generator object cut at 0x65e9896d0>\n", "天安 nz\n", "财险 n\n", "['天安', '财险']\n", "<generator object cut at 0x65e989850>\n", "唐球 nr\n", "['唐球']\n", "<generator object cut at 0x65e989850>\n", "深圳市 ns\n", "赢 v\n", "时胜 n\n", "信息技术 n\n", "股份 n\n", "有限公司 n\n", "['深圳市', '赢', '时胜', '信息技术']\n", "<generator object cut at 0x65e9896d0>\n", "福州 ns\n", "百 n\n", " x\n", "洋 ag\n", "海味 n\n", "食品 n\n", "有限公司 n\n", "['福州', '百', ' ', '洋', '海味', '食品']\n", "<generator object cut at 0x65e9896d0>\n", "上海 ns\n", "大湖 ns\n", "优势 n\n", "投资 vn\n", "管理中心 n\n", "['上海', '大湖', '优势', '投资', '管理中心']\n", "<generator object cut at 0x65e9896d0>\n", "合肥 n\n", "天星 nz\n", "['合肥', '天星']\n", "<generator object cut at 0x65e9896d0>\n", "滁州 ns\n", "天星 nz\n", "['滁州', '天星']\n", "<generator object cut at 0x65e989850>\n", "优材 n\n", "京航 j\n", "['优材', '京航']\n", "<generator object cut at 0x65e989850>\n", "中航 j\n", " x\n", "复材 n\n", "['中航', ' ', '复材']\n", "<generator object cut at 0x65e989850>\n", "仪电 n\n", "电子 n\n", "集团 n\n", "['仪电', '电子']\n", "<generator object cut at 0x65e989850>\n", "飞乐 n\n", "股份 n\n", "['飞乐']\n", "<generator object cut at 0x65e989550>\n", "中国 ns\n", "电子科技 n\n", "集团 n\n", "海洋 ns\n", "信息技术 n\n", "研究院 n\n", "有限公司 n\n", "['中国', '电子科技', '海洋', '信息技术', '研究院']\n", "<generator object cut at 0x65e989550>\n", "太极 ns\n", "计算机 n\n", "股份 n\n", "有限公司 n\n", "['太极', '计算机']\n", "<generator object cut at 0x65e989850>\n", "苏州市 ns\n", "苏地 ns\n", " x\n", "['苏州市', '苏地', ' ']\n", "<generator object cut at 0x65e989850>\n", "天房 n\n", "( x\n", "苏州 ns\n", ") x\n", "投资 vn\n", "发展 vn\n", "有限公司 n\n", "['苏州', '天房', '投资']\n", "<generator object cut at 0x65e989850>\n", "开滦 ns\n", "财务 n\n", "公司 n\n", "['开滦', '财务']\n", "<generator object cut at 0x65e989850>\n", "唐 nr\n", "山中 s\n", "润 v\n", "公司 n\n", "['唐', '山中', '润']\n", "<generator object cut at 0x65e989850>\n", "蔡志奇 nr\n", "['蔡志奇']\n", "<generator object cut at 0x65e989850>\n", "南方 f\n", "汇通 nz\n", "股份 n\n", "有限公司 n\n", "['南方', '汇通']\n", "<generator object cut at 0x65e9894d0>\n", "蕴通 v\n", "财富 n\n", ". x\n", "['蕴通', '财富']\n", "<generator object cut at 0x65e9894d0>\n", "交通银行 nt\n", " x\n", "广州 ns\n", "白云 nr\n", "支行 v\n", "['广州', '交通银行', ' ', '白云', '支行']\n", "<generator object cut at 0x65e9894d0>\n", "黄海 ns\n", "造船 n\n", "有限公司 n\n", "['黄海', '造船']\n", "<generator object cut at 0x65e9894d0>\n", "渤海 ns\n", "轮渡 v\n", "股份 n\n", "有限公司 n\n", "['渤海', '轮渡']\n", "<generator object cut at 0x65e989a50>\n", "西水股份 nz\n", "['西水股份']\n", "<generator object cut at 0x65e989a50>\n", "西水股份 nz\n", "['西水股份']\n", "<generator object cut at 0x65e9894d0>\n", "桐昆 ns\n", "集团股份 nz\n", "有限公司 n\n", "['桐昆', '集团股份']\n", "<generator object cut at 0x65e9894d0>\n", "桐昆控 nz\n", " x\n", "['桐昆控', ' ']\n", "<generator object cut at 0x65e9894d0>\n", "苏州 ns\n", "高新 d\n", "创业投资 n\n", "集团 n\n", "有限公司 n\n", "['苏州', '高新', '创业投资']\n", "<generator object cut at 0x65e9894d0>\n", "苏州 ns\n", "新区 ns\n", "高新技术 n\n", "产业 n\n", "股份 n\n", "有限公司 n\n", "['苏州', '新区', '高新技术', '产业']\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "<generator object cut at 0x65e9890d0>\n", "烟台 n\n", "新潮 n\n", "实业 n\n", "股份 n\n", "有限公司 n\n", "['烟台', '新潮', '实业']\n", "<generator object cut at 0x65e9890d0>\n", "新潮 n\n", "实业 n\n", " x\n", "['新潮', '实业', ' ']\n", "<generator object cut at 0x65e9890d0>\n", "开封 v\n", "汽 n\n", "博园 n\n", "公司 n\n", "['开封', '汽', '博园']\n", "<generator object cut at 0x65e9890d0>\n", "安 v\n", "智勇 nr\n", "集团 n\n", "['安', '智勇']\n", "<generator object cut at 0x65e989a50>\n", "优材 n\n", "京航 j\n", " x\n", "['优材', '京航', ' ']\n", "<generator object cut at 0x65e989a50>\n", "优材 n\n", "京航 j\n", "部 n\n", "['优材', '京航', '部']\n", "<generator object cut at 0x65e989850>\n", "李维 nr\n", "['李维']\n", "<generator object cut at 0x65e989850>\n", "上海 ns\n", "德 j\n", "稻 ng\n", "集群 n\n", "文化 n\n", "创意 v\n", "产业 n\n", "( x\n", "集团 n\n", ") x\n", "有限公司 n\n", "['上海', '德', '稻', '集群', '文化', '创意', '产业']\n", "<generator object cut at 0x65e9896d0>\n", "方 n\n", "大锦 n\n", "化 n\n", "化工 n\n", "科技股份 n\n", "有限公司 n\n", "['方', '大锦', '化', '化工', '科技股份']\n", "<generator object cut at 0x65e9896d0>\n", "方大 nr\n", "炭素 n\n", "新 a\n", "材料 n\n", " x\n", "科技股份 n\n", "有限公司 n\n", "['方大', '炭素', '新', '材料', ' ', '科技股份']\n", "<generator object cut at 0x65e9896d0>\n", "凤凰 nr\n", "数媒 n\n", "['凤凰', '数媒']\n", "<generator object cut at 0x65e9896d0>\n", "杭州 ns\n", "凤侠 nr\n", "['杭州', '凤侠']\n", "<generator object cut at 0x65e9896d0>\n", "汇利丰 nz\n", "['汇利丰']\n", "<generator object cut at 0x65e9896d0>\n", "农业银行 nt\n", "['农业银行']\n", "<generator object cut at 0x65e989550>\n", "中国银行 nt\n", "西安 ns\n", "咸宁 ns\n", "路 n\n", "支行 v\n", "['西安', '咸宁', '中国银行', '路', '支行']\n", "<generator object cut at 0x65e989550>\n", "陕西 ns\n", "神 n\n", "渭 ns\n", "管道 n\n", "运输 vn\n", "有限责任 l\n", "公司 n\n", "['陕西', '神', '渭', '管道', '运输', '有限责任']\n", "<generator object cut at 0x65e989550>\n", "佛山 ns\n", "电器 n\n", "照明 v\n", "股份 n\n", "有限公司 n\n", "['佛山', '电器', '照明']\n", "<generator object cut at 0x65e989550>\n", "方佑 nz\n", "昌 nz\n", "灯光 n\n", "器材 n\n", "有限公司 n\n", "['方佑', '昌', '灯光', '器材']\n", "<generator object cut at 0x65e989850>\n", "浙江 ns\n", "东日 t\n", "股份 n\n", "有限公司 n\n", "['浙江', '东日']\n", "<generator object cut at 0x65e989850>\n", "浙江 ns\n", "东日 t\n", "['浙江', '东日']\n", "<generator object cut at 0x65e9898d0>\n", "陈星 nr\n", "题 n\n", "['陈星', '题']\n", "<generator object cut at 0x65e9898d0>\n", "格林 nr\n", "美 ns\n", "股份 n\n", "有限公司 n\n", "['格林', '美']\n", "<generator object cut at 0x65e9898d0>\n", "中 f\n", "天 q\n", "['天']\n", "<generator object cut at 0x65e9898d0>\n", "东海 ns\n", "证券 n\n", "股份 n\n", "有限公司 n\n", "['东海', '证券']\n", "<generator object cut at 0x65e989850>\n", "睿德 nrt\n", "电子 n\n", "['睿德', '电子']\n", "<generator object cut at 0x65e989850>\n", "深圳 ns\n", "兴飞 v\n", "['深圳', '兴飞']\n", "<generator object cut at 0x65e9898d0>\n", "恒泰 nz\n", "房地产 j\n", "['恒泰', '房地产']\n", "<generator object cut at 0x65e9898d0>\n", "岳阳林 nr\n", "纸 n\n", "股份 n\n", "有限公司 n\n", "['岳阳林', '纸']\n", "<generator object cut at 0x65e9894d0>\n", "建信 nz\n", "资本 n\n", "['建信', '资本']\n", "<generator object cut at 0x65e9894d0>\n", "建信 nz\n", " x\n", "资本 n\n", "管理 vn\n", "有限责任 l\n", "公司 n\n", "['建信', ' ', '资本', '管理', '有限责任']\n", "<generator object cut at 0x65e9894d0>\n", "崇明 nrt\n", "奥琰 nr\n", "['崇明', '奥琰']\n", "<generator object cut at 0x65e9894d0>\n", "上海 ns\n", "奥柏 nr\n", "内燃机 n\n", "配件 n\n", "有限公司 n\n", "['上海', '奥柏', '内燃机', '配件']\n", "<generator object cut at 0x65e9894d0>\n", "朱国锭 nr\n", "['朱国锭']\n", "<generator object cut at 0x65e9894d0>\n", "杭州 ns\n", "中恒 nz\n", "电气 n\n", "股份 n\n", "有限公司 n\n", "['杭州', '中恒', '电气']\n", "<generator object cut at 0x65e9896d0>\n", "赵瑞俊 nr\n", "['赵瑞俊']\n", "<generator object cut at 0x65e9896d0>\n", "台州 ns\n", "刚泰 ns\n", "黄金饰品 n\n", "有限公司 n\n", "['台州', '刚泰', '黄金饰品']\n", "<generator object cut at 0x65e9894d0>\n", "徐贺明 nr\n", "['徐贺明']\n", "<generator object cut at 0x65e9894d0>\n", "唐 nr\n", "山中 s\n", "润 v\n", "煤化工 n\n", "有限公司 n\n", "['唐', '山中', '润', '煤化工']\n", "<generator object cut at 0x65e9894d0>\n", "宁武 nr\n", "榆 ns\n", " x\n", "树坡 n\n", "煤业 n\n", "有限公司 n\n", "['宁武', '榆', ' ', '树坡', '煤业']\n", "<generator object cut at 0x65e9894d0>\n", "天泰 nz\n", "公司 n\n", "['天泰']\n", "<generator object cut at 0x65e9898d0>\n", "华润 nz\n", "赛科 nz\n", "['华润', '赛科']\n", "<generator object cut at 0x65e9898d0>\n", "华润 nz\n", "赛科 nz\n", "['华润', '赛科']\n", "<generator object cut at 0x65e9898d0>\n", "西水股份 nz\n", "['西水股份']\n", "<generator object cut at 0x65e9898d0>\n", "西水股份 nz\n", "['西水股份']\n", "<generator object cut at 0x65e989c50>\n", "四川 ns\n", "大西洋 ns\n", "焊接 v\n", "材料 n\n", "股份 n\n", "有限公司 n\n", "['四川', '大西洋', '焊接', '材料']\n", "<generator object cut at 0x65e989c50>\n", "大西洋 ns\n", " x\n", "['大西洋', ' ']\n", "<generator object cut at 0x65e989c50>\n", "雅戈尔集团 nz\n", "股份 n\n", "有限公司 n\n", "['雅戈尔集团']\n", "<generator object cut at 0x65e989c50>\n", "雅戈尔 nr\n", " x\n", "['雅戈尔', ' ']\n", "<generator object cut at 0x65e9894d0>\n", "李欣雨 nr\n", "['李欣雨']\n", "<generator object cut at 0x65e9894d0>\n", "上海 ns\n", "大西洋 ns\n", "焊接 v\n", "材料 n\n", "有限责任 l\n", "公司 n\n", "['上海', '大西洋', '焊接', '材料', '有限责任']\n", "<generator object cut at 0x65e9894d0>\n", "南京 ns\n", "奥特 nrt\n", "佳 a\n", "['南京', '奥特', '佳']\n", "<generator object cut at 0x65e9894d0>\n", "王进飞 nr\n", "['王进飞']\n", "<generator object cut at 0x65e9894d0>\n", "远东 ns\n", "控股 v\n", "['远东']\n", "<generator object cut at 0x65e9894d0>\n", "李洁 nr\n", "['李洁']\n", "<generator object cut at 0x65e9890d0>\n", " x\n", "秋林 nr\n", "集团 n\n", "[' ', '秋林']\n", "<generator object cut at 0x65e9890d0>\n", "秋林 nr\n", "集团 n\n", "['秋林']\n", "<generator object cut at 0x65e9890d0>\n", "蕴通 v\n", "财富 n\n", ". x\n", "['蕴通', '财富']\n", "<generator object cut at 0x65e9890d0>\n", "交通银行 nt\n", " x\n", "广州 ns\n", "白云 nr\n", "支行 v\n", "['广州', '交通银行', ' ', '白云', '支行']\n", "<generator object cut at 0x65e9890d0>\n", "盘江 ns\n", "股份 n\n", "['盘江']\n", "<generator object cut at 0x65e9890d0>\n", "杭州 ns\n", "汇 v\n", "智间 n\n", "['杭州', '汇', '智间']\n", "<generator object cut at 0x65e989850>\n", "吉林敖东 nr\n", "药业 n\n", "集团股份 nz\n", "有限公司 n\n", "['吉林敖东', '药业', '集团股份']\n", "<generator object cut at 0x65e9890d0>\n", "广发 nz\n", "证券 n\n", "股份 n\n", "有限公司 n\n", "['广发', '证券']\n", "<generator object cut at 0x65e9890d0>\n", "哈尔滨 ns\n", "秋林 nr\n", "集团股份 nz\n", "有限公司 n\n", "['哈尔滨', '秋林', '集团股份']\n", "<generator object cut at 0x65e9890d0>\n", "秋林 nr\n", "集团 n\n", "['秋林']\n", "<generator object cut at 0x65e9896d0>\n", "华林 nz\n", "证券 n\n", "['华林', '证券']\n", "<generator object cut at 0x65e9896d0>\n", "华林 nz\n", "证券 n\n", "['华林', '证券']\n", "<generator object cut at 0x65e9894d0>\n", "上海 ns\n", "锐 nr\n", "翎 ng\n", "投资 vn\n", "管理 vn\n", "有限公司 n\n", "['上海', '锐', '翎', '投资', '管理']\n", "<generator object cut at 0x65e9894d0>\n", "上海 ns\n", "锐 nr\n", "珩 g\n", "投资 vn\n", "管理 vn\n", "有限 a\n", " x\n", "公司 n\n", "['上海', '锐', '珩', '投资', '管理', ' ']\n", "<generator object cut at 0x65e9896d0>\n", "哈尔滨 ns\n", "银行 n\n", "股份 n\n", "有限公司 n\n", "天津 ns\n", "西青 nr\n", "支行 v\n", "['哈尔滨', '天津', '银行', '西青', '支行']\n", "<generator object cut at 0x65e9896d0>\n", "天津 ns\n", "松江 ns\n", "集团 n\n", "有限公司 n\n", "['天津', '松江']\n", "<generator object cut at 0x65e9896d0>\n", "内蒙古 ns\n", "伊利 nz\n", "实业集团 n\n", "股份 n\n", "有限公司 n\n", "['内蒙古', '伊利', '实业集团']\n", "<generator object cut at 0x65e9896d0>\n", "伊利 nz\n", "股份 n\n", "['伊利']\n", "<generator object cut at 0x65e9890d0>\n", "张忠 nr\n", "公司 n\n", "['张忠']\n", "<generator object cut at 0x65e9890d0>\n", "上海 ns\n", "亚通 ns\n", "股份 n\n", "有限公司 n\n", "['上海', '亚通']\n", "<generator object cut at 0x65e9890d0>\n", "孟寰 nr\n", "['孟寰']\n", "<generator object cut at 0x65e9890d0>\n", "杨川 nr\n", "['杨川']\n", "<generator object cut at 0x65e9890d0>\n", "东浩 ns\n", "['东浩']\n", "<generator object cut at 0x65e9890d0>\n", "上海 ns\n", "东浩 ns\n", "环保 j\n", "装备 n\n", "有限公司 n\n", "['上海', '东浩', '环保', '装备']\n", "<generator object cut at 0x65e9890d0>\n", "株洲市 ns\n", "金爽 nr\n", "资产 n\n", "有限责任 l\n", "公司 n\n", "['株洲市', '金爽', '资产', '有限责任']\n", "<generator object cut at 0x65e9890d0>\n", "湖南华 nz\n", "升 zg\n", "株洲 ns\n", "雪松 nr\n", "有限公司 n\n", "['株洲', '湖南华', '升', '雪松']\n", "<generator object cut at 0x65e989a50>\n", "德 j\n", "新 a\n", " x\n", "景 ng\n", "['德', '新', ' ', '景']\n", "<generator object cut at 0x65e989a50>\n", "绵 a\n", "世方 n\n", "达 v\n", "['绵', '世方', '达']\n", "<generator object cut at 0x65e989a50>\n", "叶仙玉 nr\n", "['叶仙玉']\n", "<generator object cut at 0x65e989a50>\n", "浙江 ns\n", "星星 nz\n", "科技股份 n\n", "有限公司 n\n", "['浙江', '星星', '科技股份']\n", "<generator object cut at 0x65e989850>\n", "峡星 n\n", "公司 n\n", "['峡星']\n", "<generator object cut at 0x65e989850>\n", "重庆市 ns\n", "涪陵区 ns\n", "峡星 n\n", "电力 n\n", "勘察 v\n", "设计 vn\n", "公司 n\n", "['涪陵区', '重庆市', '峡星', '电力', '勘察', '设计']\n", "<generator object cut at 0x65e989850>\n", "中远 ns\n", "散货 n\n", "运输 vn\n", "( x\n", "集团 n\n", ") x\n", "有限公司 n\n", "['中远', '散货', '运输']\n", "<generator object cut at 0x65e989850>\n", "中远 ns\n", "集装箱运输 i\n", "有限公司 n\n", "['中远', '集装箱运输']\n", "<generator object cut at 0x65e989850>\n", "陈燕 nr\n", "['陈燕']\n", "<generator object cut at 0x65e989850>\n", "河南 ns\n", "羚锐 n\n", "制药 n\n", "股份 n\n", "有限公司 n\n", "['河南', '羚锐', '制药']\n", "<generator object cut at 0x65e9890d0>\n", "双鹿 nr\n", "实业 n\n", "['双鹿', '实业']\n", "<generator object cut at 0x65e9890d0>\n", "双鹿 nr\n", "实业 n\n", "['双鹿', '实业']\n", "<generator object cut at 0x65e989a50>\n", "桐昆 ns\n", "控股 v\n", "['桐昆']\n", "<generator object cut at 0x65e989a50>\n", "陈士良 nr\n", " x\n", "['陈士良', ' ']\n", "<generator object cut at 0x65e989a50>\n", "上海 ns\n", "申达 nz\n", "股份 n\n", "有限公司 n\n", "['上海', '申达']\n", "<generator object cut at 0x65e989a50>\n", "上海 ns\n", "申达 nz\n", "股 q\n", " x\n", "份 q\n", "有限公司 n\n", "['上海', '申达', '股', ' ', '份']\n", "<generator object cut at 0x65e9896d0>\n", "上汽 j\n", "总公司 n\n", "['上汽']\n", "<generator object cut at 0x65e9896d0>\n", "德勤华 nr\n", "永 ns\n", "会计师 n\n", "事务所 n\n", "['德勤华', '永', '会计师']\n", "<generator object cut at 0x65e989550>\n", "上海 ns\n", "申华 nz\n", "控股 v\n", "股份 n\n", "有限公司 n\n", "['上海', '申华']\n", "<generator object cut at 0x65e989550>\n", "申华 nz\n", "控股 v\n", "['申华']\n", "<generator object cut at 0x65e9890d0>\n", "安盛 nz\n", "船务 n\n", "['安盛', '船务']\n", "<generator object cut at 0x65e9890d0>\n", "安通 nz\n", "物流 n\n", "['安通', '物流']\n", "<generator object cut at 0x65e9890d0>\n", "张福喜 nr\n", "['张福喜']\n", "<generator object cut at 0x65e9890d0>\n", "白英 nr\n", "['白英']\n", "<generator object cut at 0x65e989550>\n", "天安 nz\n", "财险 n\n", "['天安', '财险']\n", "<generator object cut at 0x65e989550>\n", "西水股份 nz\n", "['西水股份']\n", "<generator object cut at 0x65e989550>\n", "浙江 ns\n", "泰晟 nr\n", "新 a\n", "材料 n\n", "科技 n\n", "有限公司 n\n", "['浙江', '泰晟', '新', '材料', '科技']\n", "<generator object cut at 0x65e989550>\n", "民盛 a\n", "金科 nz\n", "控股 v\n", "股份 n\n", "有限公司 n\n", "['民盛', '金科']\n", "<generator object cut at 0x65e9894d0>\n", "广州 ns\n", "珠江 ns\n", "新城 ns\n", "支行 v\n", "['广州', '珠江', '新城', '支行']\n", "<generator object cut at 0x65e9894d0>\n", "广发 nz\n", "银行 n\n", "['广发', '银行']\n", "<generator object cut at 0x65e989c50>\n", "张福喜 nr\n", "['张福喜']\n", "<generator object cut at 0x65e989c50>\n", "白英 nr\n", "['白英']\n", "<generator object cut at 0x65e9890d0>\n", "西水股份 nz\n", "['西水股份']\n", "<generator object cut at 0x65e9890d0>\n", "西水股份 nz\n", "['西水股份']\n", "<generator object cut at 0x65e9894d0>\n", " x\n", "维格 nrt\n", "娜丝 nrt\n", "时装 n\n", "股份 n\n", "有限公司 n\n", "[' ', '维格', '娜丝', '时装']\n", "<generator object cut at 0x65e9894d0>\n", "维格 nrt\n", "娜丝 nrt\n", " x\n", "['维格', '娜丝', ' ']\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "<generator object cut at 0x65e9894d0>\n", "梁桂秋 nr\n", "['梁桂秋']\n", "<generator object cut at 0x65e9894d0>\n", "深圳市 ns\n", "尚荣 nr\n", "医疗 n\n", "股份 n\n", "有限公司 n\n", "['深圳市', '尚荣', '医疗']\n", "<generator object cut at 0x65e989550>\n", "广东 ns\n", "润 v\n", "和 c\n", "房地产 j\n", "投资 vn\n", "有限公司 n\n", "['广东', '润', '房地产', '投资']\n", "<generator object cut at 0x65e989550>\n", "广东明珠 nr\n", "集团股份 nz\n", "有限公司 n\n", "['广东明珠', '集团股份']\n", "<generator object cut at 0x65e989550>\n", "银龙 nr\n", "公司 n\n", "['银龙']\n", "<generator object cut at 0x65e989550>\n", "新疆 ns\n", "银龙 nr\n", "['新疆', '银龙']\n", "<generator object cut at 0x65e989a50>\n", "湖北 ns\n", "康欣 nr\n", "新 a\n", "材料 n\n", "科技 n\n", "有限责任 l\n", "公司 n\n", "['湖北', '康欣', '新', '材料', '科技', '有限责任']\n", "<generator object cut at 0x65e989550>\n", "康欣 nr\n", "新材 n\n", "['康欣', '新材']\n", "<generator object cut at 0x65e9898d0>\n", "广州 ns\n", "珠江 ns\n", "新城 ns\n", "支行 v\n", "['广州', '珠江', '新城', '支行']\n", "<generator object cut at 0x65e9898d0>\n", "广发 nz\n", "银行 n\n", "['广发', '银行']\n", "<generator object cut at 0x65e9898d0>\n", "天安 nz\n", "财险 n\n", "['天安', '财险']\n", "<generator object cut at 0x65e9898d0>\n", "天安 nz\n", "财险 n\n", "['天安', '财险']\n", "<generator object cut at 0x65e9890d0>\n", "黎阳 ns\n", "装备 n\n", "公司 n\n", "['黎阳', '装备']\n", "<generator object cut at 0x65e9890d0>\n", "贵州 ns\n", "黎阳 ns\n", "装备 n\n", "科技 n\n", "发展 vn\n", "有限公司 n\n", "['贵州', '黎阳', '装备', '科技']\n", "<generator object cut at 0x65e9896d0>\n", "邢舫 nr\n", "['邢舫']\n", "<generator object cut at 0x65e9896d0>\n", "云图 nr\n", "科技 n\n", "['云图', '科技']\n", "<generator object cut at 0x65e9896d0>\n", " x\n", "贵州 ns\n", "盘江 ns\n", "煤层气 n\n", "开发利用 l\n", "有限责任 l\n", "公司 n\n", "['贵州', ' ', '盘江', '煤层气', '开发利用', '有限责任']\n", "<generator object cut at 0x65e9896d0>\n", "浙银 nz\n", "汇智 n\n", "( x\n", "杭州 ns\n", ") x\n", "资本 n\n", "管理 vn\n", "有限 a\n", "公 n\n", " x\n", "司 nr\n", "['杭州', '浙银', '汇智', '资本', '管理', '公', ' ', '司']\n", "<generator object cut at 0x65e9896d0>\n", "浙江 ns\n", "稠 a\n", " x\n", "州 n\n", "商业银行 nt\n", "['浙江', '稠', ' ', '州', '商业银行']\n", "<generator object cut at 0x65e9896d0>\n", "浙江 ns\n", "义乌 nz\n", "购 v\n", "电子商务 n\n", "有限公司 n\n", "['浙江', '义乌', '购', '电子商务']\n", "<generator object cut at 0x65e9896d0>\n", "邢翰学 nr\n", "['邢翰学']\n", "<generator object cut at 0x65e9896d0>\n", "浙江 ns\n", "开尔新 nz\n", "材料 n\n", "股份 n\n", "有限公司 n\n", "['浙江', '开尔新', '材料']\n", "<generator object cut at 0x65e989550>\n", "上海 ns\n", "轮胎 n\n", "研究所 n\n", "有限公司 n\n", "['上海', '轮胎']\n", "<generator object cut at 0x65e989550>\n", "双 m\n", "钱 n\n", "集团 n\n", "['双', '钱']\n", "<generator object cut at 0x65e989550>\n", "合肥 n\n", "天星 nz\n", "['合肥', '天星']\n", "<generator object cut at 0x65e989550>\n", "顺 p\n", " x\n", "安徽 ns\n", "区域 n\n", "子公司 n\n", "['安徽', ' ', '区域']\n", "<generator object cut at 0x65e989550>\n", "上海 ns\n", "飞乐 n\n", "音响 n\n", "股份 n\n", "有限公司 n\n", "['上海', '飞乐', '音响']\n", "<generator object cut at 0x65e989550>\n", "上海 ns\n", "飞乐 n\n", "音响 n\n", "股份 n\n", "有限公司 n\n", "['上海', '飞乐', '音响']\n", "<generator object cut at 0x65e9897d0>\n", "武汉 ns\n", "海融 n\n", "['武汉', '海融']\n", "<generator object cut at 0x65e9897d0>\n", "北京 ns\n", "华联商厦 nt\n", "股份 n\n", "有限公司 n\n", "['北京', '华联商厦']\n", "<generator object cut at 0x65e9897d0>\n", "财务 n\n", "公司 n\n", "['财务']\n", "<generator object cut at 0x65e9897d0>\n", "天泰 nz\n", "公司 n\n", "['天泰']\n", "<generator object cut at 0x65e9898d0>\n", "陈虹 nr\n", "['陈虹']\n", "<generator object cut at 0x65e9898d0>\n", "上汽 j\n", "总公司 n\n", "['上汽']\n", "<generator object cut at 0x65e9896d0>\n", "上海 ns\n", " x\n", "国际 n\n", "集团 n\n", "有限公司 n\n", "['上海', ' ', '国际']\n", "<generator object cut at 0x65e9896d0>\n", "上海 ns\n", "国际 n\n", "集团 n\n", "投资 vn\n", "发展 vn\n", "有限公司 n\n", "['上海', '国际', '投资']\n", "<generator object cut at 0x65e9896d0>\n", "大众交通 nz\n", "( x\n", "集团 n\n", ") x\n", "股份 n\n", "有限公司 n\n", "['大众交通']\n", "<generator object cut at 0x65e9896d0>\n", "上海大众 nt\n", "企业 n\n", "管理 vn\n", "有限公司 n\n", "['上海大众', '企业', '管理']\n", "<generator object cut at 0x65e9896d0>\n", "苏州 ns\n", "高新 d\n", "创业投资 n\n", "集团 n\n", "有限公司 n\n", "['苏州', '高新', '创业投资']\n", "<generator object cut at 0x65e9896d0>\n", "苏州 ns\n", "新区 ns\n", "高新技术 n\n", "产业 n\n", "股份 n\n", "有限公司 n\n", "['苏州', '新区', '高新技术', '产业']\n", "<generator object cut at 0x65e9890d0>\n", "西水股份 nz\n", "['西水股份']\n", "<generator object cut at 0x65e9890d0>\n", "西水股份 nz\n", "['西水股份']\n", "<generator object cut at 0x65e989550>\n", "安盛 nz\n", "['安盛']\n", "<generator object cut at 0x65e989a50>\n", "安通 nz\n", "物流 n\n", "['安通', '物流']\n", "<generator object cut at 0x65e989a50>\n", "榆树 ns\n", "坡 n\n", "公司 n\n", "['榆树', '坡']\n", "<generator object cut at 0x65e989a50>\n", "天泰 nz\n", "公司 n\n", "['天泰']\n", "<generator object cut at 0x65e989a50>\n", "天然 b\n", "控股 v\n", "有限公司 n\n", "['天然']\n", "<generator object cut at 0x65e989a50>\n", "天然 b\n", "控股 v\n", "有限公司 n\n", "['天然']\n", "<generator object cut at 0x65e9890d0>\n", "福星 nz\n", "集团 n\n", "['福星']\n", "<generator object cut at 0x65e9890d0>\n", "湖北 ns\n", "福星 nz\n", "科技股份 n\n", "有限公司 n\n", "['湖北', '福星', '科技股份']\n", "<generator object cut at 0x65e9890d0>\n", "吉蔚娣 nr\n", "['吉蔚娣']\n", "<generator object cut at 0x65e9890d0>\n", "徐涛 nr\n", "明 t\n", "['徐涛', '明']\n", "<generator object cut at 0x65e9890d0>\n", "Ltd eng\n", "[]\n", "<generator object cut at 0x65e9890d0>\n", "郑州 ns\n", "煤矿 n\n", "机械 n\n", "集团股份 nz\n", "有限公司 n\n", "Zhengzhou eng\n", " x\n", "Coal eng\n", " x\n", "Mining eng\n", " x\n", "Machinery eng\n", " x\n", "Group eng\n", " x\n", "Co eng\n", ". m\n", "['郑州', '煤矿', '机械', '集团股份', 'Zhengzhou', ' ', 'Coal', ' ', 'Mining', ' ', 'Machinery', ' ', 'Group', ' ']\n", "<generator object cut at 0x65e989850>\n", "金发 nz\n", "科技 n\n", "['金发', '科技']\n", "<generator object cut at 0x65e989850>\n", "熊 nr\n", "海涛 nr\n", "['熊', '海涛']\n", "<generator object cut at 0x65e9890d0>\n", "中铭 n\n", "国际 n\n", "['中铭', '国际']\n", "<generator object cut at 0x65e9890d0>\n", "中铭 n\n", "国际 n\n", "['中铭', '国际']\n", "<generator object cut at 0x65e989950>\n", "博立信 nr\n", "支付 v\n", "['博立信', '支付']\n", "<generator object cut at 0x65e989950>\n", "钟化 nr\n", "['钟化']\n", "<generator object cut at 0x65e989950>\n", "靳晓堂 nr\n", "['靳晓堂']\n", "<generator object cut at 0x65e989950>\n", "上海 ns\n", "北特 ns\n", "科技股份 n\n", "有限公司 n\n", "['上海', '北特', '科技股份']\n", "<generator object cut at 0x65e989850>\n", "德 j\n", "稻 ng\n", "资产 n\n", "公司 n\n", "['德', '稻', '资产']\n", "<generator object cut at 0x65e989850>\n", "竞缘 n\n", "咀什 v\n", " x\n", "公司 n\n", "['竞缘', '咀什', ' ']\n", "<generator object cut at 0x65e989850>\n", "山西 ns\n", "漳泽 ns\n", "电力 n\n", "股份 n\n", "有限公司 n\n", "['山西', '漳泽', '电力']\n", "<generator object cut at 0x65e989850>\n", "同煤 j\n", "集团 n\n", "['同煤']\n", "<generator object cut at 0x65e989850>\n", "宏昌 nz\n", "电子 n\n", "材料 n\n", "股份 n\n", "有限公司 n\n", "['宏昌', '电子', '材料']\n", "<generator object cut at 0x65e989850>\n", "宏昌 nz\n", "电子 n\n", " x\n", "['宏昌', '电子', ' ']\n", "<generator object cut at 0x65e989c50>\n", "上海浦东发展银行 nt\n", "股份 n\n", "有限公司 n\n", "杭州 ns\n", "分行 v\n", "['杭州', '上海浦东发展银行', '分行']\n", "<generator object cut at 0x65e989c50>\n", "鼎力 n\n", "租赁 v\n", "['鼎力', '租赁']\n", "<generator object cut at 0x65e989850>\n", "李春刚 nr\n", "['李春刚']\n", "<generator object cut at 0x65e989850>\n", "天津 ns\n", "博苑 nr\n", "高新 d\n", "材料 n\n", "有限公司 n\n", "['天津', '博苑', '高新', '材料']\n", "<generator object cut at 0x65e9890d0>\n", "连云港 nr\n", "亚邦龙涛 nr\n", "置业 n\n", "有限公司 n\n", "['连云港', '亚邦龙涛', '置业']\n", "<generator object cut at 0x65e9890d0>\n", "江苏 ns\n", "亚邦 ns\n", "染料 n\n", "股份 n\n", "有限公司 n\n", "['江苏', '亚邦', '染料']\n", "<generator object cut at 0x65e9897d0>\n", "天安 nz\n", "财险 n\n", "['天安', '财险']\n", "<generator object cut at 0x65e9897d0>\n", "天安 nz\n", "财险 n\n", "['天安', '财险']\n", "<generator object cut at 0x65e989a50>\n", "中航 j\n", "高科 nr\n", "['中航', '高科']\n", "<generator object cut at 0x65e989a50>\n", "中航 j\n", "复材 n\n", "['中航', '复材']\n", "<generator object cut at 0x65e9890d0>\n", "王仁飞 nr\n", "['王仁飞']\n", "<generator object cut at 0x65e9890d0>\n", "绍兴 ns\n", "上虞 ns\n", "口腔医院 n\n", "有限公司 n\n", "['绍兴', '上虞', '口腔医院']\n", "<generator object cut at 0x65e9890d0>\n", "鼎欣 i\n", "房产 j\n", "['鼎欣', '房产']\n", "<generator object cut at 0x65e9890d0>\n", "鼎欣 i\n", "房产 j\n", "['鼎欣', '房产']\n", "<generator object cut at 0x65e9897d0>\n", "山东 ns\n", "黄金 n\n", "集团 n\n", "有限公司 n\n", "['山东', '黄金']\n", "<generator object cut at 0x65e9897d0>\n", "山东 ns\n", "黄金 n\n", "矿业 n\n", "股份 n\n", "有限公司 n\n", "['山东', '黄金', '矿业']\n", "<generator object cut at 0x65e9897d0>\n", "华润 nz\n", "赛科 nz\n", "['华润', '赛科']\n", "<generator object cut at 0x65e9897d0>\n", "华润 nz\n", "赛科 nz\n", "['华润', '赛科']\n", "<generator object cut at 0x65e989c50>\n", "江东 ns\n", "金具 n\n", "['江东', '金具']\n", "<generator object cut at 0x65e989c50>\n", "中 f\n", "天 q\n", "科技 n\n", "['天', '科技']\n", "<generator object cut at 0x65e989850>\n", "李慧慧 nr\n", " x\n", "['李慧慧', ' ']\n", "<generator object cut at 0x65e989850>\n", "浙江 ns\n", "济民 ns\n", "制药 n\n", "股份 n\n", "有限公司 n\n", "['浙江', '济民', '制药']\n", "<generator object cut at 0x65e989a50>\n", "中国 ns\n", "证券 n\n", "登记 v\n", "结算 v\n", "有限责任 l\n", "公司 n\n", "上海 ns\n", "分 v\n", " x\n", "公司 n\n", "['上海', '中国', '证券', '登记', '结算', '有限责任', '分', ' ']\n", "<generator object cut at 0x65e989a50>\n", "蓝星 nr\n", "新材 n\n", "['蓝星', '新材']\n", "<generator object cut at 0x65e989850>\n", "南山 ns\n", "集团公司 n\n", "['南山']\n", "<generator object cut at 0x65e989850>\n", "南 ns\n", "山铝业 nr\n", "['南', '山铝业']\n", "<generator object cut at 0x65e9890d0>\n", "诸暨 ns\n", "富润 n\n", "染整 vn\n", "有限公司 n\n", "['诸暨', '富润', '染整']\n", "<generator object cut at 0x65e9890d0>\n", "浙江 ns\n", "富润 n\n", "股份 n\n", "有限公司 n\n", "['浙江', '富润']\n", "<generator object cut at 0x65e9890d0>\n", "陈喜 nr\n", "彬 i\n", "['陈喜', '彬']\n", "<generator object cut at 0x65e9890d0>\n", "陈喜 nr\n", "彬 i\n", "['陈喜', '彬']\n", "<generator object cut at 0x65e9897d0>\n", "上投 j\n", "控股 v\n", "['上投']\n", "<generator object cut at 0x65e9897d0>\n", "上投 j\n", "控股 v\n", "['上投']\n", "<generator object cut at 0x65e9897d0>\n", "贺国英 nr\n", "['贺国英']\n", "<generator object cut at 0x65e9897d0>\n", "华斯 nz\n", "控股 v\n", "股份 n\n", "有限公司 n\n", "['华斯']\n", "<generator object cut at 0x65e989950>\n", "浙江 ns\n", "万 m\n", "好 a\n", "万家 m\n", "文化 n\n", "股份 n\n", "有限公司 n\n", "['浙江', '万', '好', '万家', '文化']\n", "<generator object cut at 0x65e989950>\n", "万家 m\n", "文化 n\n", " x\n", "['万家', '文化', ' ']\n", "<generator object cut at 0x65e989950>\n", "铁能 n\n", "电力公司 n\n", "['铁能', '电力公司']\n", "<generator object cut at 0x65e989950>\n", "四川 ns\n", "路桥 ns\n", " x\n", "['四川', '路桥', ' ']\n", "<generator object cut at 0x65e989c50>\n", "中航 j\n", "租赁 v\n", "['中航', '租赁']\n", "<generator object cut at 0x65e989c50>\n", "精铸 n\n", "公司 n\n", "['精铸']\n", "<generator object cut at 0x65e989c50>\n", "山东 ns\n", " x\n", "黄金 n\n", "集团 n\n", "有限公司 n\n", "['山东', ' ', '黄金']\n", "<generator object cut at 0x65e989c50>\n", "山东 ns\n", "黄金 n\n", "矿业 n\n", "股份 n\n", "有限公司 n\n", "['山东', '黄金', '矿业']\n", "<generator object cut at 0x65e989a50>\n", " x\n", "浙 j\n", "能 v\n", "电力 n\n", "[' ', '浙', '电力']\n", "<generator object cut at 0x65e989a50>\n", "国家 n\n", "核电 n\n", "技术 n\n", "有限公司 n\n", "['国家', '核电', '技术']\n", "<generator object cut at 0x65e989850>\n", "武汉 ns\n", "长江 ns\n", "通信产业 nt\n", "集团股份 nz\n", "有限公司 n\n", "['武汉', '长江', '通信产业', '集团股份']\n", "<generator object cut at 0x65e989850>\n", "长江 ns\n", "通信 j\n", " x\n", "['长江', '通信', ' ']\n", "<generator object cut at 0x65e989850>\n", "南通 nz\n", "耀荣 a\n", "玻璃 n\n", "股份 n\n", "有限公司 n\n", "['南通', '耀荣', '玻璃']\n", "<generator object cut at 0x65e989850>\n", "南通 nz\n", "耀荣 a\n", "玻璃 n\n", "股份有限 n\n", " x\n", "公司 n\n", "['南通', '耀荣', '玻璃', '股份有限', ' ']\n", "<generator object cut at 0x65e989c50>\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "叶仙玉 nr\n", "['叶仙玉']\n", "<generator object cut at 0x65e989c50>\n", "浙江 ns\n", "星星 nz\n", "科技股份 n\n", "有限公司 n\n", "['浙江', '星星', '科技股份']\n", "<generator object cut at 0x65e9890d0>\n", "平安 a\n", "银行 n\n", "股份 n\n", "有限公司 n\n", "['平安', '银行']\n", "<generator object cut at 0x65e9890d0>\n", "交通银行 nt\n", "股份 n\n", "有限公司 n\n", "['交通银行']\n", "<generator object cut at 0x65e989c50>\n", "浙报 nz\n", "控股 v\n", "['浙报']\n", "<generator object cut at 0x65e989c50>\n", "浙报 nz\n", "数字 n\n", "文化 n\n", "集团股份 nz\n", "有限公司 n\n", "['浙报', '数字', '文化', '集团股份']\n", "<generator object cut at 0x65e989c50>\n", "柳州 ns\n", "医药 n\n", "['柳州', '医药']\n", "<generator object cut at 0x65e989c50>\n", "广西 ns\n", "柳州 ns\n", "医药 n\n", "股份 n\n", "有限公司 n\n", "['广西', '柳州', '医药']\n", "<generator object cut at 0x65e989c50>\n", "朱麟 nr\n", "['朱麟']\n", "<generator object cut at 0x65e989c50>\n", "浙江 ns\n", "康恩贝 nr\n", "制药 n\n", "股份 n\n", "有限公司 n\n", "['浙江', '康恩贝', '制药']\n", "<generator object cut at 0x65e989550>\n", "烟台 n\n", "大地 n\n", "房地产 j\n", "开发 v\n", "有限公司 n\n", "['烟台', '大地', '房地产', '开发']\n", "<generator object cut at 0x65e989550>\n", "烟台 n\n", "大地 n\n", "房地产 j\n", "开发 v\n", "有限公司 n\n", "['烟台', '大地', '房地产', '开发']\n", "<generator object cut at 0x65e9898d0>\n", "北京市 ns\n", "盈科 n\n", "律师 n\n", "事务所 n\n", "['北京市', '盈科', '律师']\n", "<generator object cut at 0x65e9898d0>\n", "国盛 nz\n", "证券 n\n", "有限责任 l\n", "公司 n\n", "['国盛', '证券', '有限责任']\n", "<generator object cut at 0x65e9897d0>\n", "上海 ns\n", "申达 nz\n", "股份 n\n", "有限公司 n\n", "['上海', '申达']\n", "<generator object cut at 0x65e9897d0>\n", "申达 nz\n", "股份 n\n", "['申达']\n", "<generator object cut at 0x65e989950>\n", "杨世梁 nr\n", "['杨世梁']\n", "<generator object cut at 0x65e989950>\n", "贵州 ns\n", "盘江 ns\n", "煤层气 n\n", "开发利用 l\n", "有限责任 l\n", "公司 n\n", "['贵州', '盘江', '煤层气', '开发利用', '有限责任']\n", "<generator object cut at 0x65e989950>\n", "上投 j\n", "控股 v\n", "['上投']\n", "<generator object cut at 0x65e989950>\n", "上海 ns\n", "东洲 ns\n", "资产 n\n", "评估 vn\n", "有限公司 n\n", "['上海', '东洲', '资产', '评估']\n", "<generator object cut at 0x65e989c50>\n", " x\n", "现代集团 nt\n", "[' ', '现代集团']\n", "<generator object cut at 0x65e989c50>\n", "浙江 ns\n", "东日 t\n", "于 p\n", " x\n", "['浙江', '东日', ' ']\n", "<generator object cut at 0x65e989c50>\n", "赵 nr\n", "笃学 v\n", "['赵', '笃学']\n", "<generator object cut at 0x65e989c50>\n", "山东 ns\n", "矿机 n\n", "集团股份 nz\n", "有限公司 n\n", "['山东', '矿机', '集团股份']\n", "<generator object cut at 0x65e9890d0>\n", "王甫 nr\n", "['王甫']\n", "<generator object cut at 0x65e9890d0>\n", "王甫 nr\n", "['王甫']\n", "<generator object cut at 0x65e9898d0>\n", "袁晓纪 nr\n", "住 v\n", " x\n", "['袁晓纪', '住', ' ']\n", "<generator object cut at 0x65e9898d0>\n", "唐山 nr\n", "航岛 n\n", "海洋 ns\n", "重工 vn\n", "有限公司 n\n", "['唐山', '航岛', '海洋', '重工']\n", "<generator object cut at 0x65e9890d0>\n", "长城 ns\n", "国融 n\n", "['长城', '国融']\n", "<generator object cut at 0x65e9890d0>\n", "黑化 n\n", "股份 n\n", "['黑化']\n", "<generator object cut at 0x65e989a50>\n", "河北 ns\n", "冀衡 nr\n", "化学 n\n", "股份 n\n", "有限公司 n\n", "['河北', '冀衡', '化学']\n", "<generator object cut at 0x65e989a50>\n", "河北 ns\n", "衡水 ns\n", "老白干 nr\n", "酒业 n\n", "股份 n\n", "有限公司 n\n", "['河北', '衡水', '老白干', '酒业']\n", "<generator object cut at 0x65e9890d0>\n", "黄友 n\n", "星 n\n", "5 m\n", "['黄友', '星', '5']\n", "<generator object cut at 0x65e9890d0>\n", "福建省 ns\n", "福能 nr\n", "龙安 ns\n", "热电 n\n", "有限公司 n\n", "['福建省', '福能', '龙安', '热电']\n", "<generator object cut at 0x65e9890d0>\n", "张耀平 nr\n", "['张耀平']\n", "<generator object cut at 0x65e9890d0>\n", "内蒙古 ns\n", "神舟 nz\n", "硅业 n\n", "有限责任 l\n", "公司 n\n", "['内蒙古', '神舟', '硅业', '有限责任']\n", "<generator object cut at 0x65e989c50>\n", "天安 nz\n", "财险 n\n", "['天安', '财险']\n", "<generator object cut at 0x65e989c50>\n", "天安 nz\n", "财险 n\n", "['天安', '财险']\n", "<generator object cut at 0x65e989c50>\n", "邹炳德 nr\n", "['邹炳德']\n", "<generator object cut at 0x65e989c50>\n", "美康 ns\n", "生物 n\n", "科技股份 n\n", "有限公司 n\n", "['美康', '生物', '科技股份']\n", "<generator object cut at 0x65e989c50>\n", "江苏 ns\n", "红豆 n\n", "实业 n\n", "股份 n\n", "有限公司 n\n", "['江苏', '红豆', '实业']\n", "<generator object cut at 0x65e989c50>\n", "红豆 n\n", "股份 n\n", "['红豆']\n", "<generator object cut at 0x65e9890d0>\n", "中国 ns\n", "诚通 a\n", "控股集团 nz\n", "有限公司 n\n", "['中国', '诚通']\n", "<generator object cut at 0x65e9890d0>\n", "北京 ns\n", "正行 v\n", "通 p\n", "资产 n\n", "评估 vn\n", "有限公司 n\n", "['北京', '正行', '通', '资产', '评估']\n", "<generator object cut at 0x65e9890d0>\n", "光大银行 nt\n", "['光大银行']\n", "<generator object cut at 0x65e9890d0>\n", "光大银行 nt\n", "郑州 ns\n", "纬 n\n", "二路 m\n", " x\n", "支行 v\n", "['郑州', '光大银行', '纬', '二路', ' ', '支行']\n", "<generator object cut at 0x65e989950>\n", "湖南 ns\n", "老百姓 n\n", "医药 n\n", "投资 vn\n", "管理 vn\n", "有限公司 n\n", "['湖南', '老百姓', '医药', '投资', '管理']\n", "<generator object cut at 0x65e989950>\n", "老百姓 n\n", "大 a\n", "药房 n\n", "连锁 vn\n", "股份 n\n", "有限公司 n\n", "['老百姓', '药房', '连锁']\n", "<generator object cut at 0x65e989950>\n", "竞缘 n\n", "咀什 v\n", " x\n", "公司 n\n", "['竞缘', '咀什', ' ']\n", "<generator object cut at 0x65e989950>\n", "李维 nr\n", "董 nr\n", "['李维', '董']\n", "<generator object cut at 0x65e989950>\n", "罗泾 ns\n", "电厂 n\n", "['罗泾', '电厂']\n", "<generator object cut at 0x65e989950>\n", "罗泾 ns\n", "电厂 n\n", "['罗泾', '电厂']\n", "<generator object cut at 0x65e989c50>\n", "西北 ns\n", "格尔木 nr\n", "['西北', '格尔木']\n", "<generator object cut at 0x65e989c50>\n", "中国 ns\n", "电建 n\n", "集团 n\n", "西北 ns\n", "勘测 vn\n", "设计 vn\n", "研究院 n\n", "有 v\n", " x\n", "限 v\n", "公司 n\n", "['中国', '电建', '西北', '勘测', '设计', '研究院', ' ', '限']\n", "<generator object cut at 0x65e9890d0>\n", "南京 ns\n", "栖霞 ns\n", "建设 vn\n", "股份 n\n", "有限公司 n\n", "['南京', '栖霞', '建设']\n", "<generator object cut at 0x65e9890d0>\n", "南京 ns\n", "栖霞 ns\n", "建设 vn\n", "股份 n\n", "有限公司 n\n", "['南京', '栖霞', '建设']\n", "<generator object cut at 0x65e989750>\n", "刘健君 nr\n", "['刘健君']\n", "<generator object cut at 0x65e989750>\n", "钟化 nr\n", "['钟化']\n", "<generator object cut at 0x65e989750>\n", "安徽 ns\n", "中威 ns\n", "光电 j\n", "材料 n\n", "有限公司 n\n", "['安徽', '中威', '光电', '材料']\n", "<generator object cut at 0x65e989750>\n", "安徽 ns\n", "中威 ns\n", "光电 j\n", "材料 n\n", "有限公司 n\n", "['安徽', '中威', '光电', '材料']\n", "<generator object cut at 0x65e9898d0>\n", "红豆集团 nt\n", "['红豆集团']\n", "<generator object cut at 0x65e9898d0>\n", "红豆集团 nt\n", "['红豆集团']\n", "<generator object cut at 0x65e989750>\n", "湖北 ns\n", "华能 nz\n", "应城 v\n", "热电 n\n", "有限责任 l\n", "公司 n\n", "['湖北', '华能', '应城', '热电', '有限责任']\n", "<generator object cut at 0x65e989750>\n", "华能 nz\n", "国际 n\n", "电力 n\n", "股份 n\n", "有限公司 n\n", "['华能', '国际', '电力']\n", "<generator object cut at 0x65e989750>\n", "江阴 ns\n", "云亭 nr\n", "热力 n\n", "有限公司 n\n", "['江阴', '云亭', '热力']\n", "<generator object cut at 0x65e989750>\n", "江苏 ns\n", "阳光 nr\n", "云亭 nr\n", "热电 n\n", "有限公司 n\n", "['江苏', '阳光', '云亭', '热电']\n", "<generator object cut at 0x65e989c50>\n", "尤志安 nr\n", "['尤志安']\n", "<generator object cut at 0x65e989c50>\n", "河南 ns\n", "安 v\n", "智勇 nr\n", "实业集团 n\n", "有限公司 n\n", "['河南', '安', '智勇', '实业集团']\n", "<generator object cut at 0x65e989c50>\n", "甘肃 ns\n", "亚盛 nz\n", "实业 n\n", "( x\n", "集团 n\n", ") x\n", "股份 n\n", "有限公司 n\n", "['甘肃', '亚盛', '实业']\n", "<generator object cut at 0x65e989c50>\n", "亚盛 nz\n", "集团 n\n", "['亚盛']\n", "<generator object cut at 0x65e989a50>\n", "交通银行 nt\n", " x\n", "内蒙古自治区 ns\n", "分行 v\n", "['交通银行', ' ', '内蒙古自治区', '分行']\n", "<generator object cut at 0x65e989a50>\n", "内蒙古 ns\n", "伊利 nz\n", "实业集团 n\n", "股份 n\n", "有限公司 n\n", "['内蒙古', '伊利', '实业集团']\n", "<generator object cut at 0x65e989a50>\n", "阿波罗 nr\n", "公司 n\n", "['阿波罗']\n", "<generator object cut at 0x65e989a50>\n", "扬州 ns\n", "阿波罗 nr\n", "蓄电池 n\n", "有限公司 n\n", "['扬州', '阿波罗', '蓄电池']\n", "<generator object cut at 0x65e989a50>\n", "安盛 nz\n", "船务 n\n", "['安盛', '船务']\n", "<generator object cut at 0x65e989a50>\n", "安通 nz\n", "物流 n\n", "['安通', '物流']\n", "<generator object cut at 0x65e9890d0>\n", "沈阳 ns\n", "五 m\n", "爱 v\n", "支行 v\n", "['沈阳', '五', '爱', '支行']\n", "<generator object cut at 0x65e9890d0>\n", "中国光大银行 nt\n", " x\n", "股份 n\n", "有限公司 n\n", "['中国光大银行', ' ']\n", "<generator object cut at 0x65e9890d0>\n", "石幼文 nr\n", "['石幼文']\n", "<generator object cut at 0x65e9890d0>\n", "北京 ns\n", "工业 n\n", "发展 vn\n", "投资 vn\n", "管理 vn\n", "有限公司 n\n", "['北京', '工业', '投资', '管理']\n", "<generator object cut at 0x65e9898d0>\n", "山鹰 nr\n", "集团 n\n", "['山鹰']\n", "<generator object cut at 0x65e9898d0>\n", "安徽 ns\n", "众志 n\n", "会计师 n\n", "事务所 n\n", "['安徽', '众志', '会计师']\n", "<generator object cut at 0x65e9898d0>\n", "浙江省 ns\n", "物产 n\n", "集团 n\n", "有限公司 n\n", "['浙江省', '物产']\n", "<generator object cut at 0x65e9898d0>\n", "浙江 ns\n", "物产 n\n", "中 f\n", "大 a\n", "元通 nz\n", "集团股份 nz\n", "有限公司 n\n", "['浙江', '物产', '元通', '集团股份']\n", "<generator object cut at 0x65e989a50>\n", "深圳 ns\n", "兴飞所 i\n", "['深圳', '兴飞所']\n", "<generator object cut at 0x65e989a50>\n", "深圳 ns\n", "兴飞 v\n", "['深圳', '兴飞']\n", "<generator object cut at 0x65e989a50>\n", "王迅 nr\n", "['王迅']\n", "<generator object cut at 0x65e989a50>\n", "北京 ns\n", "长翔 ns\n", "新能源 n\n", "投资 vn\n", "有限公司 n\n", "['北京', '长翔', '新能源', '投资']\n", "<generator object cut at 0x65e989550>\n", "浙商 nz\n", "保险 n\n", "['浙商', '保险']\n", "<generator object cut at 0x65e989550>\n", "浙商 nz\n", "保险 n\n", "['浙商', '保险']\n", "<generator object cut at 0x65e989750>\n", "高 a\n", "文明 nr\n", "['高', '文明']\n", "<generator object cut at 0x65e989750>\n", "南京 ns\n", "康尼 nr\n", "精密机械 n\n", "有限公司 n\n", "['南京', '康尼', '精密机械']\n", "<generator object cut at 0x65e989550>\n", "德 ns\n", "新景 n\n", "['德', '新景']\n", "<generator object cut at 0x65e989550>\n", "绵 a\n", "世方 n\n", "达 v\n", "['绵', '世方', '达']\n", "<generator object cut at 0x65e9897d0>\n", "天津 ns\n", "松江 ns\n", "股份 n\n", "有限公司 n\n", "['天津', '松江']\n", "<generator object cut at 0x65e9897d0>\n", "天津 ns\n", "松江 ns\n", " x\n", "['天津', '松江', ' ']\n", "<generator object cut at 0x65e9897d0>\n", "广东 ns\n", "恒润 nz\n", "互兴 v\n", "资产 n\n", "管理 vn\n", "有限公司 n\n", "['广东', '恒润', '互兴', '资产', '管理']\n", "<generator object cut at 0x65e9897d0>\n", "湖南 ns\n", "天润 n\n", "数字 n\n", "娱乐 vn\n", "文化传媒 n\n", "股份 n\n", "有限公司 n\n", "['湖南', '天润', '数字', '娱乐', '文化传媒']\n", "<generator object cut at 0x65e9897d0>\n", "西水股份 nz\n", "['西水股份']\n", "<generator object cut at 0x65e9897d0>\n", "西水股份 nz\n", "['西水股份']\n", " id sentence \\\n", "0 9259 2015年1月26日,多氟多化工股份有限公司与李云峰先生签署了《附条件生效的股份认购合同》 \n", "1 9136 2、2016年2月5日,深圳市新纶科技股份有限公司与侯毅先 \n", "2 220 2015年10月26日,山东华鹏玻璃股份有限公司与张德华先生签署了附条件生效条件的《股份认购合同》 \n", "3 9041 2、2015年12月31日,印纪娱乐传媒股份有限公司与肖文革签订了《印纪娱乐传媒股份有限公司... \n", "4 10041 一、金发科技拟与熊海涛女士签订《股份转让协议》,协议约定:以每股1.0509元的收购价格,收... \n", "\n", " ner \n", "0 2015年1月26日, ner_1003_ 与 ner_1002_ 先生签署了《附条件生效的... \n", "1 2、2016年2月5日, ner_1005_ 与 ner_1004_ 先 \n", "2 2015年10月26日, ner_1007_ 与 ner_1006_ 先生签署了附条件生效条... \n", "3 2、2015年12月31日, ner_1009_ 与 ner_1008_ 签订了《印纪娱乐传... \n", "4 一、 ner_1011_ 拟与 ner_1010_ 女士签订《股份转让协议》,协议约定:以每... \n" ] } ], "source": [ "# 处理test数据,利用开源工具进行实体识别和并使用实体统一函数存储实体\n", "!pip install foolnltk\n", "import fool\n", "import pandas as pd\n", "from copy import copy\n", "\n", "\n", "test_data = pd.read_csv('../data/info_extract/test_data.csv', encoding = 'gb2312', header=0)\n", "test_data['ner'] = None\n", "#print(test_data.head())\n", "ner_id = 1001\n", "ner_dict_new = {} # 存储所有实体\n", "ner_dict_reverse_new = {} # 存储所有实体\n", "\n", "for i in range(len(test_data)):\n", " sentence = copy(test_data.iloc[i, 1])\n", " # TODO:调用fool进行实体识别,得到words和ners结果\n", " # TODO ...\n", " \n", " words,ners=fool.analysis(sentence)\n", " #print(words,ners)\n", " ners[0].sort(key=lambda x:x[0], reverse=True)\n", " #print(ners)\n", " for start, end, ner_type, ner_name in ners[0]:\n", " #print(start, end, ner_type, ner_name)\n", " if ner_type=='company' or ner_type=='person':\n", " # TODO:调用实体统一函数,存储统一后的实体\n", " # 并自增ner_id\n", " # TODO ...\n", " lst=main_extract(ner_name,stop_word,d_4_delete,d_city_province)\n", " company_main_name = ''.join(lst) \n", " if company_main_name not in ner_dict_new:\n", " ner_id+=1\n", " ner_dict_new[company_main_name]=ner_id\n", " # 在句子中用编号替换实体名\n", " sentence = sentence[:start] + ' ner_' + str(ner_dict_new[company_main_name]) + '_ ' + sentence[end:]\n", " test_data.iloc[i, -1] = sentence\n", "\n", "X_test = test_data[['ner']]\n", "print(test_data.head(5))" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# 处理train数据,利用开源工具进行实体识别和并使用实体统一函数存储实体\n", "train_data = pd.read_csv('../data/info_extract/train_data.csv', encoding = 'gb2312', header=0)\n", "train_data['ner'] = None\n", "train_data.head(5)\n", "for i in range(len(train_data)):\n", " # 判断正负样本\n", " if train_data.iloc[i,:]['member1']=='0' and train_data.iloc[i,:]['member2']=='0':\n", " sentence = copy(train_data.iloc[i, 1])\n", " # TODO:调用fool进行实体识别,得到words和ners结果\n", " # TODO ...\n", " words,ners=fool.analysis(sentence)\n", " ners[0].sort(key=lambda x:x[0], reverse=True)\n", " for start, end, ner_type, ner_name in ners[0]:\n", " if ner_type=='company' or ner_type=='person':\n", " # TODO:调用实体统一函数,存储统一后的实体\n", " # 并自增ner_id\n", " # TODO ...\n", " company_main_name=main_extract(ner_name,stop_word,d_4_delete,d_city_province)\n", " if company_main_name not in ner_dict_new:\n", " ner_id+=1\n", " ner_dict_new[company_main_name]=ner_id\n", "\n", " # 在句子中用编号替换实体名\n", " sentence = sentence[:start] + ' ner_' + str(ner_dict_new[company_main_name]) + '_ ' + sentence[end-1:]\n", " train_data.iloc[i, -1] = sentence\n", " else:\n", " # 将训练集中正样本已经标注的实体也使用编码替换\n", " sentence = copy(train_data.iloc[i,:]['sentence'])\n", " for company_main_name in [train_data.iloc[i,:]['member1'],train_data.iloc[i,:]['member2']]:\n", " # TODO:调用实体统一函数,存储统一后的实体\n", " # 并自增ner_id\n", " # TODO ...\n", " company_main_name=main_extract(company_main_name,stop_word,d_4_delete,d_city_province)\n", " # 在句子中用编号替换实体名\n", " sentence = re.sub(company_main_name, ' ner_%s_ '%(str(ner_dict_new[company_main_name])), sentence)\n", " train_data.iloc[i, -1] = sentence\n", "train_data.head(5) \n", "y = train_data.loc[:,['tag']]\n", "train_num = len(train_data)\n", "X_train = train_data[['ner']]\n", "\n", "# 将train和test放在一起提取特征\n", "X = pd.concat([X_train, X_test])\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 步骤 3:关系抽取\n", "\n", "\n", "目标:借助句法分析工具,和实体识别的结果,以及文本特征,基于训练数据抽取关系,并存储进图数据库。\n", "\n", "本次要求抽取股权交易关系,关系为无向边,不要求判断投资方和被投资方,只要求得到双方是否存在交易关系。\n", "\n", "模板建立可以使用“正则表达式”、“实体间距离”、“实体上下文”、“依存句法”等。\n", "\n", "答案提交在submit目录中,命名为info_extract_submit.csv和info_extract_entity.csv。\n", "- info_extract_entity.csv格式为:第一列是实体编号,第二列是实体名(实体统一的多个实体名用“|”分隔)\n", "- info_extract_submit.csv格式为:第一列是关系中实体1的编号,第二列为关系中实体2的编号。\n", "\n", "示例:\n", "- info_extract_entity.csv\n", "\n", "| 实体编号 | 实体名 |\n", "| ------ | ------ |\n", "| 1001 | 小王 |\n", "| 1002 | A化工厂 |\n", "\n", "- info_extract_submit.csv\n", "\n", "| 实体1 | 实体2 |\n", "| ------ | ------ |\n", "| 1001 | 1003 |\n", "| 1002 | 1001 |" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 练习3:提取文本tf-idf特征\n", "\n", "去除停用词,并转换成tfidf向量。" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "scrolled": true }, "outputs": [ { "ename": "SyntaxError", "evalue": "invalid syntax (<ipython-input-25-1f1e10de488f>, line 23)", "output_type": "error", "traceback": [ "\u001b[0;36m File \u001b[0;32m\"<ipython-input-25-1f1e10de488f>\"\u001b[0;36m, line \u001b[0;32m23\u001b[0m\n\u001b[0;31m f = lambda x: ' '.join([for word in segmentor.segment(x) if word not in stop_word and not re.findall(r'ner\\_\\d\\d\\d\\d\\_', word)])\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n" ] } ], "source": [ "# code\n", "from sklearn.feature_extraction.text import TfidfTransformer \n", "from sklearn.feature_extraction.text import CountVectorizer \n", "from pyltp import Segmentor\n", "\n", "\n", "# 实体符号加入分词词典\n", "with open('../data/user_dict.txt', 'w') as fw:\n", " for v in ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十']:\n", " fw.write( v + '号企业 ni\\n')\n", "\n", "# 初始化实例\n", "segmentor = Segmentor() \n", "# 加载模型,加载自定义词典\n", "segmentor.load_with_lexicon('/Users/youngwells/Downloads/AI/ltp_data_v3.4.0/cws.model', '../data/user_dict.txt') \n", "\n", "# 加载停用词\n", "fr = open(r'../data/dict/stopwords.txt', encoding='utf-8') \n", "stop_word = fr.readlines()\n", "stop_word = [re.sub(r'(\\r|\\n)*','',stop_word[i]) for i in range(len(stop_word))]\n", "\n", "# 分词\n", "f = lambda x: ' '.join([for word in segmentor.segment(x) if word not in stop_word and not re.findall(r'ner\\_\\d\\d\\d\\d\\_', word)])\n", "corpus=X['ner'].map(f).tolist()\n", "\n", "\n", "from sklearn.feature_extraction.text import TfidfVectorizer\n", "# TODO:提取tfidf特征\n", "# TODO ...\n", "vectorizer = TfidfVectorizer() # 定一个tf-idf的vectorizer\n", "X_tfidf = vectorizer.fit_transform(corpus).toarray() # 结果存放在X矩阵\n", "print(X_tfidf)\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 练习4:提取句法特征\n", "除了词语层面的句向量特征,我们还可以从句法入手,提取一些句法分析的特征。\n", "\n", "参考特征:\n", "\n", "1、企业实体间距离\n", "\n", "2、企业实体间句法距离\n", "\n", "3、企业实体分别和关键触发词的距离\n", "\n", "4、实体的依存关系类别" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "ename": "ModuleNotFoundError", "evalue": "No module named 'pyltp'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m<ipython-input-30-5360a61fdd6f>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mpyltp\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mParser\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mpyltp\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mSegmentor\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mpyltp\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mPostagger\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mnetworkx\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mnx\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mpylab\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'pyltp'" ] } ], "source": [ "from pyltp import Parser\n", "from pyltp import Segmentor\n", "from pyltp import Postagger\n", "import networkx as nx\n", "import pylab\n", "import re\n", "\n", "import matplotlib.pyplot as plt\n", "from pylab import mpl\n", "from graphviz import Digraph\n", "import numpy as np\n", "\n", "postagger = Postagger() # 初始化实例\n", "\n", "pos_model_path = os.path.join(LTP_DATA_DIR, 'pos.model')\n", "postagger.load_with_lexicon(pos_model_path, '../data/user_dict.txt') # 加载模型\n", "segmentor = Segmentor() # 初始化实例\n", "segmentor.load_with_lexicon(cws_model_path, '../data/user_dict.txt') # 加载模型\n", "\n", "SEN_TAGS = [\"SBV\",\"VOB\",\"IOB\",\"FOB\",\"DBL\",\"ATT\",\"ADV\",\"CMP\",\"COO\",\"POB\",\"LAD\",\"RAD\",\"IS\",\"HED\"]\n", "\n", "\n", "def parse(s, isGraph = False):\n", " \"\"\"\n", " 对语句进行句法分析,并返回句法结果\n", " \"\"\"\n", " tmp_ner_dict = {}\n", " num_lst = ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十']\n", "\n", " # print(s)\n", "\n", " # 将公司代码替换为特殊称谓,保证分词词性正确\n", " for i, ner in enumerate(list(set(re.findall(r'(ner\\_\\d\\d\\d\\d\\_)', s)))):\n", " try:\n", " tmp_ner_dict[num_lst[i] + '号企业'] = ner\n", " except IndexError:\n", " # TODO:定义错误情况的输出\n", " # TODO ...\n", " num_lst.append(str(i))\n", " tmp_ner_dict[num_lst[i] + '号企业'] = ner\n", "\n", " s = s.replace(ner, num_lst[i] + '号企业')\n", "\n", " # print(tmp_ner_dict)\n", "\n", " words = segmentor.segment(s)\n", " tags = postagger.postag(words)\n", " parser = Parser() # 初始化实例\n", "\n", " parse_model_path = os.path.join(LTP_DATA_DIR, 'parser.model')\n", " parser.load(parse_model_path)\n", "\n", " arcs = parser.parse(words, tags) # 句法分析\n", " #将父节点的索引和关系分成两个列表,并存到一个大列表,即arcs_lst\n", " arcs_lst = list(map(list, zip(*[[arc.head, arc.relation] for arc in arcs])))\n", " #print(arcs_lst[0])\n", "\n", " # 句法分析结果输出\n", " parse_result = pd.DataFrame([[a, b, c, d] for a, b, c, d in zip(list(words), list(tags), arcs_lst[0], arcs_lst[1])],\n", " index=range(1, len(words) + 1))\n", " parser.release() # 释放模型\n", " #return parse_result\n", "#corpus_1 = X['ner'].tolist()\n", "#parse(corpus_1[0],isGraph = False)\n", "\n", " result = []\n", "\n", " # 实体的依存关系类别\n", " rely_id = [arc.head for arc in arcs] # 提取依存父节点id\n", " relation = [arc.relation for arc in arcs] # 提取依存关系\n", " heads = ['Root' if id == 0 else words[id - 1] for id in rely_id] # 匹配依存父节点词语\n", " # for i in range(len(words)):\n", " # print(relation[i] + '(' + words[i] + ', ' + heads[i] + ')')\n", "\n", " company_list = list(tmp_ner_dict.keys())\n", "\n", " str_enti_1 = \"一号企业\"\n", " str_enti_2 = \"二号企业\"\n", " l_w = list(words)\n", " is_two_company = str_enti_1 in l_w and str_enti_2 in l_w\n", " if is_two_company:\n", " second_entity_index = l_w.index(str_enti_2)\n", " entity_sentence_type = parse_result.iloc[second_entity_index, -1]\n", " if entity_sentence_type in SEN_TAGS:\n", " result.append(SEN_TAGS.index(entity_sentence_type))\n", " else:\n", " result.append(-1)\n", " else:\n", " result.append(-1)\n", "\n", " if isGraph:\n", " g = Digraph('测试图片')\n", " g.node(name='Root')\n", " for word in words:\n", " g.node(name=word, fontname=\"SimHei\")\n", "\n", " for i in range(len(words)):\n", " if relation[i] not in ['HED']:\n", " g.edge(words[i], heads[i], label=relation[i], fontname=\"SimHei\")\n", " else:\n", " if heads[i] == 'Root':\n", " g.edge(words[i], 'Root', label=relation[i], fontname=\"SimHei\")\n", " else:\n", " g.edge(heads[i], 'Root', label=relation[i], fontname=\"SimHei\")\n", " g.view()\n", "\n", " # 企业实体间句法距离\n", " distance_e_jufa = 0\n", " if is_two_company:\n", " distance_e_jufa = shortest_path(parse_result, list(words), str_enti_1, str_enti_2, isGraph=False)\n", " result.append(distance_e_jufa)\n", "\n", " # 企业实体间距离\n", " distance_entity = 0\n", " if is_two_company:\n", " distance_entity = np.abs(l_w.index(str_enti_1) - l_w.index(str_enti_2))\n", " result.append(distance_entity)\n", "\n", " # 企业实体分别和关键触发词的距离\n", " key_words = [\"收购\", \"竞拍\", \"转让\", \"扩张\", \"并购\", \"注资\", \"整合\", \"并入\", \"竞购\", \"竞买\", \"支付\", \"收购价\", \"收购价格\", \"承购\", \"购得\", \"购进\",\n", " \"购入\", \"买进\", \"买入\", \"赎买\", \"购销\", \"议购\", \"函购\", \"函售\", \"抛售\", \"售卖\", \"销售\", \"转售\"]\n", " # TODO:*根据关键词和对应句法关系提取特征(如没有思路可以不完成)\n", " # TODO ...\n", "\n", " k_w = None\n", " for w in words:\n", " if w in key_words:\n", " k_w = w\n", " break\n", "\n", " dis_key_e_1 = -1\n", " dis_key_e_2 = -1\n", "\n", " if k_w != None and is_two_company:\n", " k_w = str(k_w)\n", " # print(\"k_w\", k_w)\n", "\n", " l_w = list(words)\n", " # dis_key_e_1 = shortest_path(parse_result, l_w, str_enti_1, k_w)\n", " # dis_key_e_2 = shortest_path(parse_result, l_w, str_enti_2, k_w)\n", "\n", " dis_key_e_1 = np.abs(l_w.index(str_enti_1) - l_w.index(k_w))\n", " dis_key_e_2 = np.abs(l_w.index(str_enti_2) - l_w.index(k_w))\n", "\n", " result.append(dis_key_e_1)\n", " result.append(dis_key_e_2)\n", "\n", " return result\n", "\n", "mpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体\n", "\n", "def shortest_path(arcs_ret, words, source, target, isGraph = False):\n", " \"\"\"\n", " 求出两个词最短依存句法路径,不存在路径返回-1\n", " arcs_ret:句法分析结果\n", " source:实体1\n", " target:实体2\n", " \"\"\"\n", " # G = nx.DiGraph()\n", " G = nx.Graph()\n", "\n", " # 为这个网络添加节点...\n", " for i in list(arcs_ret.index):\n", " G.add_node(i)\n", "\n", " # TODO:在网络中添加带权中的边...(注意,我们需要的是无向边)\n", " # TODO ...\n", "\n", " for i in range(len(arcs_ret)):\n", " head = arcs_ret.iloc[i, -2]\n", " index = i + 1 # 从1开始\n", " G.add_edge(index, head)\n", "\n", " if isGraph:\n", " nx.draw(G, with_labels=True)\n", " plt.savefig(\"undirected_graph_2.png\")\n", " plt.close()\n", "\n", " try:\n", " # TODO:利用nx包中shortest_path_length方法实现最短距离提取\n", " # TODO ...\n", "\n", " source_index = words.index(source) + 1 #从1开始\n", " target_index = words.index(target) + 1 #从1开始\n", " distance = nx.shortest_path_length(G, source=source_index, target=target_index)\n", " # print(\"'%s'与'%s'在依存句法分析图中的最短距离为: %s\" % (source, target, distance))\n", "\n", " return distance\n", " except:\n", " return -1\n", "\n", "corpus_1 = X['ner'].tolist()\n", "len_train_data = len(train_data)\n", "\n", "def get_feature(s):\n", " \"\"\"\n", " 汇总上述函数汇总句法分析特征与TFIDF特征\n", " \"\"\"\n", " # TODO:汇总上述函数汇总句法分析特征与TFIDF特征\n", " # TODO ...\n", " sen_feature = []\n", " len_s = len(s)\n", " for i in range(len_s):\n", " f_e = parse(s[i], isGraph = False)\n", " sen_feature.append(f_e)\n", "\n", " sen_feature = np.array(sen_feature)\n", "\n", " features = np.concatenate((X_tfidf, sen_feature), axis= 1)\n", "\n", " return features\n", "\n", "features = []\n", "if not is_exist_f_v:\n", " features = get_feature(corpus_1)\n", " np.save(f_v_s_path, features)\n", "else:\n", " features = np.load(f_v_s_path)\n", "\n", "features_train = features[:len_train_data, :]\n", "print(features_train)\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 练习5:建立分类器\n", "\n", "利用已经提取好的tfidf特征以及parse特征,建立分类器进行分类任务。" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "ename": "ModuleNotFoundError", "evalue": "No module named 'sklearn'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m<ipython-input-29-bcbeb2635de2>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0msklearn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mensemble\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mRandomForestClassifier\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0msklearn\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mpreprocessing\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0msklearn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmodel_selection\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mtrain_test_split\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0msklearn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlinear_model\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mLogisticRegression\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0msklearn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmodel_selection\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mGridSearchCV\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'sklearn'" ] } ], "source": [ "from sklearn.ensemble import RandomForestClassifier\n", "from sklearn import preprocessing\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.linear_model import LogisticRegression\n", "from sklearn.model_selection import GridSearchCV\n", "from sklearn.metrics import roc_auc_score\n", "from seqeval.metrics import f1_score\n", "from sklearn.metrics import confusion_matrix\n", "from sklearn.model_selection import KFold\n", "from sklearn.metrics import classification_report\n", "from sklearn.naive_bayes import BernoulliNB\n", "\n", "seed = 2019\n", "\n", "# y = np.array(y.values, dtype=np.float)\n", "y = train_data.loc[:, ['tag']]\n", "y = np.array(y.values)\n", "y = y.reshape(-1)\n", "Xtrain, Xtest, ytrain, ytest = train_test_split(features_train, y, test_size = 0.2, random_state = seed)\n", "\n", "def logistic_class(Xtrain, Xtest, ytrain, ytest):\n", " cross_validator = KFold(n_splits=10, shuffle=True, random_state = seed)\n", "\n", " lr = LogisticRegression(penalty = \"l1\", solver='liblinear')\n", "\n", " # params = {\"penalty\":[\"l1\",\"l2\"],\n", " # \"C\":[0.1,1.0,10.0,20.0,30.0,100.0]}\n", "\n", " params = {\"C\":[0.1,1.0,10.0,15.0,20.0,30.0,40.0,50.0]}\n", "\n", " grid = GridSearchCV(estimator=lr, param_grid = params, cv=cross_validator)\n", " grid.fit(Xtrain, ytrain)\n", " print(\"最优参数为:\",grid.best_params_)\n", " model = grid.best_estimator_\n", " y_pred = model.predict(Xtest)\n", "\n", " y_test = [str(value) for value in ytest]\n", " y_pred = [str(value) for value in y_pred]\n", "\n", " # train_score = model.score(X_train, y_train)\n", " # print(\"train_score\", train_score)\n", " # test_score = model.score(X_test, y_test)\n", " # print(\"test_score\", test_score)\n", " # f1_score_value = f1_score(y_test, y_pred)\n", " # print(\"F1-Score: {}\".format(f1_score_value))\n", "\n", " proba_value = model.predict_proba(Xtest)\n", " p = proba_value[:,1]\n", " print(\"Logistic=========== ROC-AUC score: %.3f\" % roc_auc_score(y_test, p))\n", "\n", " report = classification_report(y_pred=y_pred,y_true=y_test)\n", " print(report)\n", "\n", "\n", " return model\n", "\n", "s_model = logistic_class(Xtrain, Xtest, ytrain, ytest)\n", "\n", "features_test = features[len_train_data:, :]\n", "y_pred_test = s_model.predict(features_test)\n", "\n", "l_X_test_ner = X_test.values.tolist()\n", "\n", "entity_dict = {}\n", "relation_list = []\n", "\n", "for i, label in enumerate(y_pred_test):\n", " if label == 1:\n", " cur_ner_content = str(l_X_test_ner[i])\n", "\n", " ner_list = list(set(re.findall(r'(ner\\_\\d\\d\\d\\d\\_)',cur_ner_content)))\n", " if len(ner_list) == 2:\n", " # print(ner_list)\n", " r_e_l = []\n", " for i, ner in enumerate(ner_list):\n", " split_list = str.split(ner, \"_\")\n", " if len(split_list) == 3:\n", " ner_id = int(split_list[1])\n", "\n", " if ner_id in ner_dict_reverse_new:\n", " if ner_id not in entity_dict:\n", "\n", " company_main_name = ner_dict_reverse_new[ner_id]\n", "\n", " if company_main_name in dict_entity_name_unify:\n", " entity_dict[ner_id] = company_main_name + dict_entity_name_unify[company_main_name]\n", " else:\n", " entity_dict[ner_id] = company_main_name\n", "\n", " r_e_l.append(ner_id)\n", " if len(r_e_l) == 2:\n", " relation_list.append(r_e_l)\n", "import os\n", "entity_list = [[item[0], item[1]] for item in entity_dict.items()]\n", "# print(entity_list)\n", "pd_enti = pd.DataFrame(np.array(entity_list), columns=['实体编号','实体名'])\n", "outname1 = 'info_extract_entity.csv'\n", "outname2='info_extract_submit.csv'\n", "outdir = './submit'\n", "if not os.path.exists(outdir):\n", " os.mkdir(outdir)\n", "fullname1 = os.path.join(outdir, outname1)\n", "fullname2 = os.path.join(outdir, outname2) \n", "pd_enti.to_csv(fullname1,index=0, encoding='utf_8_sig')\n", "\n", "pd_re = pd.DataFrame(np.array(relation_list), columns=['实体1','实体2'])\n", "pd_re.to_csv(fullname2,index=0,encoding='utf_8_sig')\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 练习6:操作图数据库\n", "对关系最好的描述就是用图,那这里就需要使用图数据库,目前最常用的图数据库是noe4j,通过cypher语句就可以操作图数据库的增删改查。可以参考“https://cuiqingcai.com/4778.html”。\n", "\n", "本次作业我们使用neo4j作为图数据库,neo4j需要java环境,请先配置好环境。\n", "\n", "将我们提出的实体关系插入图数据库,并查询某节点的3层投资关系,即三个节点组成的路径(如果有的话)。如果无法找到3层投资关系,请查询出任意指定节点的投资路径。" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "\n", "from py2neo import Node, Relationship, Graph\n", "\n", "graph = Graph(\n", " \"http://localhost:7474\", \n", " username=\"neo4j\", \n", " password=\"person\"\n", ")\n", "\n", "for v in relation_list:\n", " a = Node('Company', name=v[0])\n", " b = Node('Company', name=v[1])\n", " \n", " # 本次不区分投资方和被投资方,无向图\n", " r = Relationship(a, 'INVEST', b)\n", " s = a | b | r\n", " graph.create(s)\n", " r = Relationship(b, 'INVEST', a)\n", " s = a | b | r\n", " graph.create(s)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'entity_list' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m<ipython-input-27-69fba6497104>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mresult_2\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mresult_3\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 6\u001b[0;31m \u001b[0;32mfor\u001b[0m \u001b[0mvalue\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mentity_list\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 7\u001b[0m \u001b[0mner_id\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0mstr_sql_3\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"match data=(na:Company{{name:'{0}'}})-[:INVEST]->(nb:Company)-[:INVEST]->(nc:Company) where na.name <> nc.name return data\"\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mner_id\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mNameError\u001b[0m: name 'entity_list' is not defined" ] } ], "source": [ "# TODO:查询某节点的3层投资关系\n", "import random\n", "\n", "result_2 = []\n", "result_3 = []\n", "for value in entity_list:\n", " ner_id = value[0]\n", " str_sql_3 = \"match data=(na:Company{{name:'{0}'}})-[:INVEST]->(nb:Company)-[:INVEST]->(nc:Company) where na.name <> nc.name return data\".format(str(ner_id))\n", " result_3 = graph.run(str_sql_3).data()\n", " if len(result_3) > 0:\n", " break\n", "\n", "if len(result_3) > 0:\n", " print(\"step1\")\n", " print(result_3)\n", "else:\n", " print(\"step2\")\n", " random_index = random.randint(0, len(entity_list) - 1)\n", " random_ner_id = entity_list[random_index][0]\n", " str_sql_2 = \"match data=(na:Company{{name:'{0}'}})-[*2]->(nb:Company) return data\".format(str(random_ner_id))\n", " result_2 = graph.run(str_sql_2).data()\n", " print(result_2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 步骤4:实体消歧\n", "解决了实体识别和关系的提取,我们已经完成了一大截,但是我们提取的实体究竟对应知识库中哪个实体呢?下图中,光是“苹果”就对应了13个同名实体。\n", "<img src=\"../image/baike2.png\", width=340, heigth=480>\n", "\n", "在这个问题上,实体消歧旨在解决文本中广泛存在的名称歧义问题,将句中识别的实体与知识库中实体进行匹配,解决实体歧义问题。\n", "\n", "\n", "### 练习7:\n", "匹配test_data.csv中前25条样本中的人物实体对应的百度百科URL(此部分样本中所有人名均可在百度百科中链接到)。\n", "\n", "利用scrapy、beautifulsoup、request等python包对百度百科进行爬虫,判断是否具有一词多义的情况,如果有的话,选择最佳实体进行匹配。\n", "\n", "使用URL为‘https://baike.baidu.com/item/’+人名 可以访问百度百科该人名的词条,此处需要根据爬取到的网页识别该词条是否对应多个实体,如下图:\n", "<img src=\"../image/baike1.png\", width=440, heigth=480>\n", "如果该词条有对应多个实体,请返回正确匹配的实体URL,例如该示例网页中的‘https://baike.baidu.com/item/陆永/20793929’。\n", "\n", "- 提交文件:entity_disambiguation_submit.csv\n", "- 提交格式:第一列为实体id(与info_extract_submit.csv中id保持一致),第二列为对应URL。\n", "- 示例:\n", "\n", "| 实体编号 | URL |\n", "| ------ | ------ |\n", "| 1001 | https://baike.baidu.com/item/陆永/20793929 |\n", "| 1002 | https://baike.baidu.com/item/王芳/567232 |\n" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'segmentor' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m<ipython-input-28-6eead66c36df>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 13\u001b[0m \u001b[0mf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mlambda\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m' '\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mjoin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mword\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mword\u001b[0m \u001b[0;32min\u001b[0m \u001b[0msegmentor\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msegment\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 14\u001b[0m \u001b[0;31m# corpus = X_test_new['ner'].map(f).tolist()\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 15\u001b[0;31m \u001b[0mcorpus\u001b[0m\u001b[0;34m=\u001b[0m \u001b[0mtest_data\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'sentence'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmap\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtolist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 16\u001b[0m \u001b[0mvectorizer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mTfidfVectorizer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# 定一个tf-idf的vectorizer\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 17\u001b[0m \u001b[0mX_tfidf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mvectorizer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfit_transform\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcorpus\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtoarray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# 结果存放在X矩阵\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/opt/anaconda3/envs/forKG/lib/python3.7/site-packages/pandas/core/series.py\u001b[0m in \u001b[0;36mmap\u001b[0;34m(self, arg, na_action)\u001b[0m\n", "\u001b[0;32m~/opt/anaconda3/envs/forKG/lib/python3.7/site-packages/pandas/core/base.py\u001b[0m in \u001b[0;36m_map_values\u001b[0;34m(self, mapper, na_action)\u001b[0m\n", "\u001b[0;32mpandas/_libs/lib.pyx\u001b[0m in \u001b[0;36mpandas._libs.lib.map_infer\u001b[0;34m()\u001b[0m\n", "\u001b[0;32m<ipython-input-28-6eead66c36df>\u001b[0m in \u001b[0;36m<lambda>\u001b[0;34m(x)\u001b[0m\n\u001b[1;32m 11\u001b[0m \u001b[0mwindow\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m20\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 12\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 13\u001b[0;31m \u001b[0mf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mlambda\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m' '\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mjoin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mword\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mword\u001b[0m \u001b[0;32min\u001b[0m \u001b[0msegmentor\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msegment\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 14\u001b[0m \u001b[0;31m# corpus = X_test_new['ner'].map(f).tolist()\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 15\u001b[0m \u001b[0mcorpus\u001b[0m\u001b[0;34m=\u001b[0m \u001b[0mtest_data\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'sentence'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmap\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtolist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mNameError\u001b[0m: name 'segmentor' is not defined" ] } ], "source": [ "import pandas as pd\n", "\n", "# 找出test_data.csv中前25条样本所有的人物名称,以及人物所在文档的上下文内容\n", "test_data = pd.read_csv('../data/info_extract/test_data.csv', encoding = 'gb2312', header=0)\n", "\n", "# 存储人物以及上下文信息(key为人物ID,value为人物名称、人物上下文内容)\n", "# person_name = {}\n", "list_person_content = {}\n", "\n", "# 观察上下文的窗口大小\n", "window = 20\n", "\n", "f = lambda x: ' '.join([word for word in segmentor.segment(x)])\n", "# corpus = X_test_new['ner'].map(f).tolist()\n", "corpus= test_data['sentence'].map(f).tolist()\n", "vectorizer = TfidfVectorizer() # 定一个tf-idf的vectorizer\n", "X_tfidf = vectorizer.fit_transform(corpus).toarray() # 结果存放在X矩阵\n", "\n", "\n", "# 遍历前25条样本\n", "for i in range(25):\n", " sentence = str(copy(test_data.iloc[i, 1]))\n", " len_sen = len(sentence)\n", " words, ners = fool.analysis(sentence)\n", " ners[0].sort(key=lambda x: x[0], reverse=True)\n", " for start, end, ner_type, ner_name in ners[0]:\n", " if ner_type == 'person':\n", " # TODO:提取实体的上下文\n", " # print(\"ner_name\", ner_name)\n", " # print(\"ner_id\", ner_dict_new[ner_name])\n", " start_index = max(0, start - window)\n", " end_index = min(len_sen - 1, end - 1 + window)\n", " left_str = sentence[start_index:start]\n", " right_str = sentence[end - 1:end_index]\n", "\n", " left_str = ' '.join([word for word in segmentor.segment(left_str)])\n", " right_str = ' '.join([word for word in segmentor.segment(right_str)])\n", " new_str = left_str + \" \" +right_str\n", "\n", " # new_str = left_str + right_str\n", " # new_str = ' '.join([word for word in segmentor.segment(new_str)])\n", "\n", " content_vec = vectorizer.transform([new_str])\n", "\n", " ner_id = ner_dict_new[ner_name]\n", " if ner_id not in list_person_content:\n", " list_person_content[ner_id] = content_vec\n", " \n", "\n", "\n", "\n", "# 利用爬虫得到每个人物名称对应的URL\n", "# TODO:找到每个人物实体的词条内容。\n", "\n", "from requests_html import HTMLSession\n", "from requests_html import HTML\n", "from sklearn.metrics.pairwise import cosine_similarity\n", "from scipy.sparse import csr_matrix\n", "import jieba\n", "\n", "\n", "list_company_names = [company for value in entity_list for company in str.split(value[1], \"|\")]\n", "# for value in list_company_names:\n", "# jieba.add_word(value)\n", "\n", "list_person_url = []\n", "url_prefix = \"https://baike.baidu.com/item/\"\n", "url_error = \"https://baike.baidu.com/error.html\"\n", "\n", "l_p_items = list(list_person_content.items())\n", "len_items = len(l_p_items)\n", "\n", "# print(l_p_items)\n", "\n", "def get_para_vector(para_elems):\n", " str_res = \"\"\n", " for p_e in para_elems:\n", " str_res += re.sub(r'(\\r|\\n)*', '', p_e.text)\n", " str_res = ' '.join([word for word in jieba.cut(str_res)])\n", " content_vec = vectorizer.transform([str_res])\n", " content_vec = content_vec.toarray()[0]\n", " return content_vec\n", "\n", "for index in range(len_items):\n", " value = l_p_items[index]\n", "\n", " person_id = value[0]\n", " vector_entity = csr_matrix(value[1])\n", "\n", " person_name = ner_dict_reverse_new[person_id]\n", "\n", " session = HTMLSession()\n", " url = url_prefix + person_name\n", " response = session.get(url)\n", "\n", " url_list = []\n", " if response.url != url_error:\n", " para_elems = response.html.find('.para')\n", " content_vec = get_para_vector(para_elems)\n", " url_list.append([response.url, content_vec])\n", "\n", " banks = response.html.find('.polysemantList-wrapper')\n", "\n", " if len(banks) > 0:\n", " banks_child = banks[0]\n", " persion_links = list(banks_child.absolute_links)\n", " for link in persion_links:\n", " r_link = session.get(link)\n", "\n", " if r_link.url == url_error:\n", " continue\n", "\n", " para_elems = r_link.html.find('.para')\n", " content_vec = get_para_vector(para_elems)\n", " url_list.append([r_link.url, content_vec])\n", "\n", " vectorizer_list = [item[1] for item in url_list]\n", " vectorizer_list = csr_matrix(vectorizer_list)\n", " result = list(cosine_similarity(value[1], vectorizer_list)[0])\n", " max_index = result.index(max(result))\n", " list_person_url.append([person_id, person_name, url_list[max_index][0]])\n", "\n", "print(list_person_url)\n", "# pd.DataFrame(list_person_url).to_csv('../submit/entity_disambiguation_submit.csv', index=False)\n", "\n", "pd_re = pd.DataFrame(np.array(list_person_url), columns=['实体编号','名字','url'])\n", "pd_re.to_csv(\"./submit/entity_disambiguation_submit.csv\",index=0,encoding='utf_8_sig')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python [conda env:forKG]", "language": "python", "name": "conda-env-forKG-py" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.7" } }, "nbformat": 4, "nbformat_minor": 2 }