作者gwokae (喵先生)
看板java
标题Re: [问题] 字串重复比对
时间Fri Dec 9 00:13:38 2011
中文字词处理...冒冷汗中~~
容我用烂方法解一下。程式像这样....
http://pastie.org/2986485
总之如果没有词库可以切词的话,会切n-gram,n是参数,就是词的
长度。这边东西不多,就拿最长那句来当n,切至n=2为止,unigram
不考虑。切完拿来比对有match超过两个以上就存起来。
长词优先所以如果先前有处理过的子字串就不再比对。
算出来的结果是:
"可乐" count:2
"我想要吃" count:2
"牛肉" count:2
跟你的结果好像不大一样,因为n=4的时候有"我想要吃",所以就不处理了。
然後把重复的子字串这个判断拿掉,会得到:
"要吃" count:2
"想要" count:3
"想要吃" count:2
"我想要" count:3
"可乐" count:2
"我想" count:3
"我想要吃" count:2
"牛肉" count:2
然後我想了一下要怎样在 "我想" "要吃" "想要" "想要吃" "我想要" "我想要吃"
中弄出 "我想要"...这个字呢???
...
...
...
想了一下之後发现我还是去睡觉比较快...打完收工,希望没bug (逃
※ 引述《aaagang (我...)》之铭言:
: 想要统计三个字串里面重复的单字
: A:我想要吃牛肉面,与可乐薯条
: B:我想要吃蕃茄牛肉饭与红茶
: C:我想要喝可乐就好。
: 最後结果是
: 我想要 3次
: 牛肉 2次
: 可乐 2次
: 一个字或重复不到2次就不统计
: 我知道在字串重头抓来比对字串就可以做,
: 但总觉得能有更聪明的做法,
: 希望能指导一下!谢谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.34.162.157
※ 编辑: gwokae 来自: 114.34.162.157 (12/09 00:25)
※ 编辑: gwokae 来自: 114.34.162.157 (12/09 00:26)