python获取文本,python怎么提取信息
1、信息提取
首先通过句子分割器将文档的原文分割成句子,然后通过标记评估器将每个句子进一步分割成单词。其次,标注每句话的词性。以nltk中的默认工具为例,连接句子切分器、分词器和词性标注器。
defie _预处理(文档):
#nltk默认句子分段器
sentences=nltk . sent _ token ize(document)
#nltk默认断字符
sentences=[nltk . word _ token ize(sent)for sent sentings]
#nltk默认词性标签
sentings=[nltk . pos _ tag(sent)for sentings]2、词块划分
词块划分是实体识别的基础技术,对多个词进行顺序划分和标记。
例如名词短语分块(名词短语分块)
使用正则表达式定义语法来划分名词短语块。
3、开发和评估词块划分器
分区器可以使用evaluate()方法来评估分区器的性能。
以下是使用一元标记构建单词块分隔符的研究。然而,不是确定每个单词的正确单词标记,而是根据每个单词的单词标记来确定正确单词块标记。
#使用一元注释器构建块分隔符。根据每个单词的词性标注,尽量确定正确的组块标注。
classunigrachunker(nltk。ChunkParserI):
#构造函数
def__init__(self,train_sents):
#将训练数据转换成适合训练标注器的形式。tree2conlltags()方法将每个块树映射到一个三元组列表(单词、标签、块)。
train _ data=[(t,c)forw,t,cinnltk . chunk . tree 2 conltags(sent)]
forsentintrain_sents]
#训练一元阻挡者
#self.tagger=nltk。UnigramTagger(train_data)
#训练二进制拦截器
self.tagger=nltk。BigramTagger(train_data)
#句子是有标记的句子。
defparse(自我,句子):
#提取词性标记
pos_tags=[posfor(word,pos)insentence]
#使用注释器为词性标签标记IOB块
tagged _ pos _ tags=self . tagger . tag(pos _ tags)
#提取块标记
chunktags=[chunktagfor(pos,chunktag)intagged_pos_tags]
#将组块标记与原句结合
conlltags=[(word,pos,chunktag)for((word,pos),chunktag)
inzip(句子、组块标签)]
#转换为块树
Returnnltk。大块。ConllTags2Tree (ConllTags)以上是python提取文本信息的方法。希望能帮到你。更多的知识可以在流行的IT软件开发工作室获得。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。