1.對于關鍵詞存在空格或者特殊符號的情況下,jieba無法分出該詞2.在github上找到了一個解決方案,修改jieba源碼__init__.py免費分享,造損免責。打開默認詞典(根目錄)或自定義詞典,把所有用來間隔詞頻和詞性的空格間隔符改成@@(選用@@是因為一般關鍵詞里遇到這個分隔符的幾率比較小吧)繼續,打開jieba根目錄下init.py搜索
re_han_default = re.compile("([\u4E00-\u9FD5a-zA-Z0-9+#&\._]+)", re.U)
改成
re_han_default = re.compile("(.+)", re.U)
搜索
re_userdict = re.compile('^(.+?)( [0-9]+)?( [a-z]+)?$', re.U)
改成
re_userdict = re.compile('^(.+?)(\u0040\u0040[0-9]+)?(\u0040\u0040[a-z]+)?$', re.U)
搜索
word, freq = line.split(' ')[:2]
改成
word, freq = line.split('\u0040\u0040')[:2]
補充:若用的全模式繼續改。
搜索
re_han_cut_all = re.compile("([\u4E00-\u9FD5]+)", re.U)
改成
re_han_cut_all = re.compile("(.+)", re.U)但是這樣導致分詞的結果出現大量的emoji表情或者不需要的 類似 =,()的符號,3.期望輸出我 只想讓jieba能夠識別自定義詞中存在 空格的中英文關鍵詞 或者以 -連接的關鍵詞并且去除其他特殊字符比如emoji等表情符 該怎么修改呢?string = 'my dog is a happy dog'
jieba.add_word('happy dog')
jieba.cut(my dog is a happy dog)
outputs: ['my','dog','is','a','happy','dog']
期望輸出: ['my','dog','is','a','happy dog']對正則表達式實在頭大,希望有經驗的大佬能告訴我有什么辦法...
添加回答
舉報
0/150
提交
取消