溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在python中提取文本信息

發(fā)布時間:2021-04-23 17:52:42 來源:億速云 閱讀:545 作者:Leah 欄目:編程語言

怎么在python中提取文本信息?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

Python主要用來做什么

Python主要應用于:1、Web開發(fā);2、數(shù)據(jù)科學研究;3、網(wǎng)絡爬蟲;4、嵌入式應用開發(fā);5、游戲開發(fā);6、桌面應用開發(fā)。

1、信息提取

先用句子分段器將文檔的原始文本分成句子,再用記號賦值器將每個句子進一步分成單詞。其次,給每一個句子做詞性標記。以nltk中的默認工具為例,將句子分段器、分詞器、詞性標記器連接。

def ie_preprocess(document):
    # nltk 默認的句子分段器
    sentences = nltk.sent_tokenize(document)
    # nltk默認分詞器
    sentences = [nltk.word_tokenize(sent) for sent in sentences]
    # nltk默認詞性標記
    sentences = [nltk.pos_tag(sent) for sent in sentences]

2、詞塊劃分

詞塊劃分是實體識別的基礎技術(shù),對多個詞的順序進行劃分和標記。

如Noun Phrase Chunking(名詞短語詞塊劃分)

使用正則表達式來定義一個語法,來進行名詞短語詞塊的劃分

3、開發(fā)和評估詞塊劃分器

分區(qū)器可以用evaluate()方法評價分區(qū)器的性能好壞。

以下是使用一元標記來建立單詞塊分割器的學習。但是,不是確定每個單詞的正確單詞性標記,而是根據(jù)每個單詞的單詞性標記,確定正確的單詞塊標記。

# 使用一元標注器建立一個詞塊劃分器。根據(jù)每個詞的詞性標記,嘗試確定正確的詞塊標記。
class UnigramChunker(nltk.ChunkParserI):
    # constructor
    def __init__(self, train_sents):
        # 將訓練數(shù)據(jù)轉(zhuǎn)換成適合訓練標注器的形式。tree2conlltags()方法將每個詞塊樹映射到一個三元組(word,tag,chunk)的列表
        train_data = [[(t, c) for w, t, c in nltk.chunk.tree2conlltags(sent)]
                      for sent in train_sents]
        # 訓練一元分塊器
        # self.tagger = nltk.UnigramTagger(train_data)
        # 訓練二元分塊器
        self.tagger = nltk.BigramTagger(train_data)
 
    # sentence為一個已標注的句子
    def parse(self, sentence):
        # 提取詞性標記
        pos_tags = [pos for (word, pos) in sentence]
        # 使用標注器為詞性標記 標注IOB詞塊
        tagged_pos_tags = self.tagger.tag(pos_tags)
        # 提取詞塊標記
        chunktags = [chunktag for (pos, chunktag) in tagged_pos_tags]
        # 將詞塊標記與原句組合
        conlltags = [(word, pos, chunktag) for ((word, pos), chunktag)
                     in zip(sentence, chunktags)]
        # 轉(zhuǎn)換成詞塊樹
        return nltk.chunk.conlltags2tree(conlltags)

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI