【求助】从新闻标题中提取公司名称

kezhenxi 2021-08-25 11:28:00

家人们,现在我想做这样的事,下面是例子:
  中国国际金融股份有限公司关于武汉敏芯半导体股份有限公司首次公开发行股票并上市的辅导工作报告(第四期)  提取 武汉敏芯半导体股份有限公司

  长城证券股份有限公司关于江苏奥易克斯汽车电子科技股份有限公司首次公开发行股票并上市之第二期辅导工作备案报告  提取 江苏奥易克斯汽车电子科技股份有限公司
  
  关于深圳时代装饰股份有限公司辅导备案登记受理的公示  提取  深圳时代装饰股份有限公司

  江苏奥易克斯汽车电子科技股份有限公司对长城证券股份有限公司辅导工作的评价及意见(第二期) 提取
江苏奥易克斯汽车电子科技股份有限公司

  还有很多类似的标题,但是格式不一定一样、标题中公司名称不一定全,所以单纯的字符串截取应该行不通。大家有没有一点其他解决思路em9刚接触python,太菜了
ps:最好避免一下nlp之类机器学习的方法,太难了ema1

...全文
294 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
chuifengde 2021-08-27
  • 打赏
  • 举报
回复 1

#--*--coding:utf-8 --*--
import jieba

KEY = ['公司', '有限公司', '无限公司']
FILTER = ['对','关于']
x = ['中国国际金融股份有限公司关于武汉敏芯半导体股份有限公司首次公开发行股票并上市的辅导工作报告(第四期)',
     '长城证券股份有限公司关于江苏奥易克斯汽车电子科技股份有限公司首次公开发行股票并上市之第二期辅导工作备案报告',
     '关于深圳时代装饰股份有限公司辅导备案登记受理的公示',
     '江苏奥易克斯汽车电子科技股份有限公司对长城证券股份有限公司辅导工作的评价及意见(第二期)']

tmpList = []
for i in x:
    l = jieba.cut(i)
    res = list(l)
    pos = 0
    for j in KEY:
        try:
            index = res.index(j, pos )
            while index:
                tmpStr =  ''.join(res[pos:index+1])
                startPos = 0
                for s in FILTER:
                    startPos = tmpStr.find(s)
                    if startPos == -1:
                        continue
                    else:
                        tmpStr = tmpStr[startPos+len(s):]
                tmpList.append(tmpStr)
                pos = index + 1
                index = res.index(j, pos)
        except:
            continue
            
print(tmpList)

37,744

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧