利用分詞工具包例如jieba可以輕易的將句子切分為不同的單詞葫隙,但是當(dāng)你有切分整句的需求時(shí),該怎么解決呢也祠?
- 將段落按句號(hào)切分整句
1.jieba分詞可以切分單詞
進(jìn)行中文自然語(yǔ)言處理時(shí)茫船,分詞是一個(gè)常見(jiàn)的操作,例如:
import jieba.posseg as pseg
txt = "【#奔馳女車主不接受4S店道歉# 雙方現(xiàn)場(chǎng)交涉言語(yǔ)激烈】4月13日招盲,西安維權(quán)奔馳女車主和4S店方見(jiàn)面低缩,雙方并未當(dāng)場(chǎng)和解。4S店相關(guān)負(fù)責(zé)人稱曹货,由于出差等原因未及時(shí)聯(lián)系車主咆繁,車主則反駁稱,可通過(guò)電話聯(lián)系顶籽,“沒(méi)人把你的聯(lián)系方式給我玩般。”交涉過(guò)程中雙方言語(yǔ)交鋒激烈礼饱。#西安奔馳女車主維權(quán)# "
words = pseg.cut(txt)
for word, flag in words:
print('%s %s' % (word, flag))
利用這段代碼對(duì)這段文本信息進(jìn)行分詞和詞性標(biāo)注坏为,就有如下結(jié)果(部分省略):
【 x
# x
奔馳 v
女 b
車主 n
...
2.整句切分——按標(biāo)點(diǎn)切分
或許你不需要單詞切分你只需要整句切分,即按標(biāo)點(diǎn)切分镊绪,那么你可以這樣做:
import re
txt = "【#奔馳女車主不接受4S店道歉# 雙方現(xiàn)場(chǎng)交涉言語(yǔ)激烈】4月13日匀伏,西安維權(quán)奔馳女車主和4S店方見(jiàn)面,雙方并未當(dāng)場(chǎng)和解蝴韭。4S店相關(guān)負(fù)責(zé)人稱够颠,由于出差等原因未及時(shí)聯(lián)系車主,車主則反駁稱万皿,可通過(guò)電話聯(lián)系摧找,“沒(méi)人把你的聯(lián)系方式給我±喂瑁”交涉過(guò)程中雙方言語(yǔ)交鋒激烈蹬耘。#西安奔馳女車主維權(quán)# "
pattern = r',|\.|/|;|\'|`|\[|\]|<|>|\?|:|"|\{|\}|\~|!|@|#|\$|%|\^|&|\(|\)|-|=|\_|\+|,|减余。|综苔、|;|‘|’|【|】|·|!| |…|(|)'
result_list = re.split(pattern, txt)
print(result_list)
這是利用正則表達(dá)式進(jìn)行的整句切分如筛,結(jié)果如下堡牡,標(biāo)點(diǎn)符號(hào)出自動(dòng)切句
['', '', '奔馳女車主不接受4S店道歉', '', '雙方現(xiàn)場(chǎng)交涉言語(yǔ)激烈', '4月13日', '西安維權(quán)奔馳女車主和4S店方見(jiàn)面', '雙方并未當(dāng)場(chǎng)和解', '4S店相關(guān)負(fù)責(zé)人稱', '由于出差等原因未及時(shí)聯(lián)系車主', '車主則反駁稱', '可通過(guò)電話聯(lián)系', '“沒(méi)人把你的聯(lián)系方式給我', '”交涉過(guò)程中雙方言語(yǔ)交鋒激烈', '', '西安奔馳女車主維權(quán)', '', '']
3.整句切分——按句號(hào)切分
或許你需要完整的句子,即保留逗號(hào)杨刨,按句號(hào)切分一整句晤柄,這要怎么做呢?你只需要把正則表達(dá)式里的逗號(hào)去掉即可
import re
txt = "【#奔馳女車主不接受4S店道歉# 雙方現(xiàn)場(chǎng)交涉言語(yǔ)激烈】4月13日妖胀,西安維權(quán)奔馳女車主和4S店方見(jiàn)面芥颈,雙方并未當(dāng)場(chǎng)和解。4S店相關(guān)負(fù)責(zé)人稱赚抡,由于出差等原因未及時(shí)聯(lián)系車主爬坑,車主則反駁稱,可通過(guò)電話聯(lián)系涂臣,“沒(méi)人把你的聯(lián)系方式給我盾计。”交涉過(guò)程中雙方言語(yǔ)交鋒激烈赁遗。#西安奔馳女車主維權(quán)# "
#pattern = r',|\.|/|;|\'|`|\[|\]|<|>|\?|:|"|\{|\}|\~|!|@|#|\$|%|\^|&|\(|\)|-|=|\_|\+|署辉,|。|吼和、|涨薪;|‘|’|【|】|·|!| |…|(|)'
pattern = r'\.|/|;|\'|`|\[|\]|<|>|\?|:|"|\{|\}|\~|!|@|#|\$|%|\^|&|\(|\)|-|=|\_|\+|炫乓。|、|献丑;|‘|’|【|】|·|末捣!| |…|(|)'
result_list = re.split(pattern, txt)
print(result_list)
結(jié)果如下
['', '', '奔馳女車主不接受4S店道歉', '', '雙方現(xiàn)場(chǎng)交涉言語(yǔ)激烈', '4月13日,西安維權(quán)奔馳女車主和4S店方見(jiàn)面创橄,雙方并未當(dāng)場(chǎng)和解', '4S店相關(guān)負(fù)責(zé)人稱箩做,由于出差等原因未及時(shí)聯(lián)系車主,車主則反駁稱妥畏,可通過(guò)電話聯(lián)系邦邦,“沒(méi)人把你的聯(lián)系方式給我', '”交涉過(guò)程中雙方言語(yǔ)交鋒激烈', '', '西安奔馳女車主維權(quán)', '', '']
get到了嗎?