先上地址
https://github.com/Moonshile/ChineseWordSegmentation
原理参考的是这篇神文,通俗易懂,作者不愧是中文系出身的!
好吧,我承认是想顺便求几个Star,真是还干净着呢。。
觉得有必要贴一下使用方法,非常简单~
from wordseg import WordSegment
doc = u'十四是十四四十是四十,十四不是四十,四十不是十四'
ws = WordSegment(doc, max_word_len=2, min_aggregation=1, min_entropy=0.5)
ws.segSentence(doc)
分词结果为
十四 是 十四 四十 是 四十 , 十四 不是 四十 , 四十 不是 十四
1
schezukNewTos 2015-07-16 19:39:05 +08:00
善哉。
不过『本课程』之类的词组怎么解决的? 『是个』这样的搭配是怎么处理的? 偶见词语在一句话中连续出现该怎样应对? |
2
moonshile OP @schezukNewTos 这些都要看情况,具体来说是要看被分词的对象。
如果被分词的是一篇介绍一门课程的文章,而“本课程”出现足够多次,那么“本课程”就视为一个词语;否则,如果只是一篇泛泛介绍各门课程的文章,那么就会分成“本”和“课程”两个词。 具体了解的话可以看看我给的那篇参考文章,很好懂的~ |
3
ChanneW 2015-07-16 20:00:35 +08:00
星标后研
|
4
zangbob 2015-07-16 21:43:53 +08:00
很长的段落或文章,怎么整?不能直接读取.txt吗?
|
6
X_Del 2015-07-16 23:49:06 +08:00
分词与机器学习结合,用待分词的文本提取出个语料库再分词……
|
7
solsol 2015-07-17 00:17:09 +08:00
M67几年前的旧文拿来骗星……现在的中文分词算法早就不一样啦
|
8
Tiande 2015-07-17 00:19:15 +08:00 1
百度的 APIStore 提供的也有分词服务。
|
11
saber000 2015-07-17 10:01:42 +08:00
ws = WordSegment(doc, max_word_len=2, min_aggregation=1, min_entropy=0.5)
ws.segSentence(doc) 为什么doc要传两次? |
12
moonshile OP @saber000 就如X_Del所说,先用待分词的文本提取出语料库,然后再分词;其实第二次也可以传其他文本,不过是用从第一个文本提取的语料库进行分词
|
13
solsol 2015-07-17 13:24:27 +08:00
@moonshile 请问我哪一个字傲慢了?被说算法旧就受挫了?学习旧的没什么,拿出来宣传就不好了吧,只能忽悠那些真正需要的人。我提醒别人一句有问题么?多说无益。
|
14
lwbjing 2015-07-17 17:21:38 +08:00 3
"工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作"
|
16
Kabie 2015-07-18 13:53:28 +08:00
|