亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

通過在 python 3 中使用算術和邏輯運算符保留某些單詞來標記單詞?

通過在 python 3 中使用算術和邏輯運算符保留某些單詞來標記單詞?

森欄 2022-06-28 15:59:41
在對大型語料庫中的多個句子進行標記時,我需要將某些單詞保留為原始形式,例如.Net, C#, C++. 我還想刪除標點符號(.,!_-()=*&^%$@~等),但需要保留諸如.net, .htaccess, .htpassword, c++等之類的詞。nltk.word_tokenize和都試過了nltk.regexp_tokenize,但我沒有得到預期的輸出。請幫助我解決上述問題。編碼:import nltkfrom nltk import regexp_tokenizefrom nltk.corpus import stopwordsdef pre_data():    tokenized_sentences = nltk.sent_tokenize(tokenized_raw_data)    sw0 = (stopwords.words('english'))    sw1 = ["i.e", "dxint", "hrangle", "idoteq", "devs", "zero"]    sw = sw0 + sw1    tokens = [[word for word in regexp_tokenize(word, pattern=r"\s|\d|[^.+#\w a-z]", gaps=True)] for word in tokenized_sentences]    print(tokens)pre_data()tokenized_raw_data 是一個普通的文本文件。它包含多個句子,中間有空格,由 .blog、.net、c++、c#、asp.net、.htaccess 等詞組成。例子['.blog 是一個供博客使用的通用頂級域'.,'C# 是一種通用的多范式編程語言'.,'C++ 是面向對象的編程語言'。]
查看完整描述

1 回答

?
慕森卡

TA貢獻1806條經驗 獲得超8個贊

該解決方案涵蓋了給定的示例C++,C# asp.net并在刪除正常標點符號的同時保留了諸如 , 之類的詞。


import nltk


paragraph = (

        '.blog is a generic top-level domain intended for use by blogs. '

        'C# is a general-purpose, multi-paradigm programming language. '

        'C++ is object-oriented programming language. '

        'asp.net is something very strange. '

        'The most fascinating language is c#. '

        '.htaccess makes my day!'

)


def pre_data(raw_data):

    tokenized_sentences = nltk.sent_tokenize(raw_data)

    tokens = [nltk.regexp_tokenize(sentence, pattern='\w*\.?\w+[#+]*') for sentence in tokenized_sentences]

    return tokens


tokenized_data = pre_data(paragraph)

print(tokenized_data)

出去


[['.blog', 'is', 'a', 'generic', 'top', 'level', 'domain', 'intended', 'for', 'use', 'by', 'blogs'], 

 ['C#', 'is', 'a', 'general', 'purpose', 'multi', 'paradigm', 'programming', 'language'], 

 ['C++', 'is', 'object', 'oriented', 'programming', 'language'], 

 ['asp.net', 'is', 'something', 'very', 'strange'], 

 ['The', 'most', 'fascinating', 'language', 'is', 'c#'], 

 ['.htaccess', 'makes', 'my', 'day']]

但是,這個簡單的正則表達式可能不適用于您文本中的所有技術術語。提供完整示例以獲得更通用的解決方案。


查看完整回答
反對 回復 2022-06-28
  • 1 回答
  • 0 關注
  • 104 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號