利用分詞工具包例如jieba可以輕易的將句子切分為不同的單詞,但是當你有切分整句的需求時,該怎么解決呢?
- 將段落按句號切分整句
1.jieba分詞可以切分單詞
進行中文自然語言處理時,分詞是一個常見的操作,例如:
import jieba.posseg as pseg
txt = "【#奔馳女車主不接受4S店道歉# 雙方現場交涉言語激烈】4月13日,西安維權奔馳女車主和4S店方見面,雙方并未當場和解。4S店相關負責人稱,由于出差等原因未及時聯系車主,車主則反駁稱,可通過電話聯系,“沒人把你的聯系方式給我。”交涉過程中雙方言語交鋒激烈。#西安奔馳女車主維權# "
words = pseg.cut(txt)
for word, flag in words:
print('%s %s' % (word, flag))
利用這段代碼對這段文本信息進行分詞和詞性標注,就有如下結果(部分省略):
【 x
# x
奔馳 v
女 b
車主 n
...
2.整句切分——按標點切分
或許你不需要單詞切分你只需要整句切分,即按標點切分,那么你可以這樣做:
import re
txt = "【#奔馳女車主不接受4S店道歉# 雙方現場交涉言語激烈】4月13日,西安維權奔馳女車主和4S店方見面,雙方并未當場和解。4S店相關負責人稱,由于出差等原因未及時聯系車主,車主則反駁稱,可通過電話聯系,“沒人把你的聯系方式給我。”交涉過程中雙方言語交鋒激烈。#西安奔馳女車主維權# "
pattern = r',|\.|/|;|\'|`|\[|\]|<|>|\?|:|"|\{|\}|\~|!|@|#|\$|%|\^|&|\(|\)|-|=|\_|\+|,|。|、|;|‘|’|【|】|·|!| |…|(|)'
result_list = re.split(pattern, txt)
print(result_list)
這是利用正則表達式進行的整句切分,結果如下,標點符號出自動切句
['', '', '奔馳女車主不接受4S店道歉', '', '雙方現場交涉言語激烈', '4月13日', '西安維權奔馳女車主和4S店方見面', '雙方并未當場和解', '4S店相關負責人稱', '由于出差等原因未及時聯系車主', '車主則反駁稱', '可通過電話聯系', '“沒人把你的聯系方式給我', '”交涉過程中雙方言語交鋒激烈', '', '西安奔馳女車主維權', '', '']
3.整句切分——按句號切分
或許你需要完整的句子,即保留逗號,按句號切分一整句,這要怎么做呢?你只需要把正則表達式里的逗號去掉即可
import re
txt = "【#奔馳女車主不接受4S店道歉# 雙方現場交涉言語激烈】4月13日,西安維權奔馳女車主和4S店方見面,雙方并未當場和解。4S店相關負責人稱,由于出差等原因未及時聯系車主,車主則反駁稱,可通過電話聯系,“沒人把你的聯系方式給我。”交涉過程中雙方言語交鋒激烈。#西安奔馳女車主維權# "
#pattern = r',|\.|/|;|\'|`|\[|\]|<|>|\?|:|"|\{|\}|\~|!|@|#|\$|%|\^|&|\(|\)|-|=|\_|\+|,|。|、|;|‘|’|【|】|·|!| |…|(|)'
pattern = r'\.|/|;|\'|`|\[|\]|<|>|\?|:|"|\{|\}|\~|!|@|#|\$|%|\^|&|\(|\)|-|=|\_|\+|。|、|;|‘|’|【|】|·|!| |…|(|)'
result_list = re.split(pattern, txt)
print(result_list)
結果如下
['', '', '奔馳女車主不接受4S店道歉', '', '雙方現場交涉言語激烈', '4月13日,西安維權奔馳女車主和4S店方見面,雙方并未當場和解', '4S店相關負責人稱,由于出差等原因未及時聯系車主,車主則反駁稱,可通過電話聯系,“沒人把你的聯系方式給我', '”交涉過程中雙方言語交鋒激烈', '', '西安奔馳女車主維權', '', '']
get到了嗎?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
