[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
1、findstr 改为使用“findstr  /i  /x  /r   /g:test2.TXT    _dictionary.txt>>test3.TXT”。这里我也糊涂,首先它要用到取消大小写的“/I”,然后用到“ /R        将搜索字符串作为一般表达式使用。”不懂得是文本的原因还是Findstr本身的原因。
       2、你说的词库其实它是有分级的,按照我的理解,它至少有三级,第一级是字典,就是查单个字的,第二级是词典,查那些标准词语的,第三级是词频统计出来的出现频率比较多的词语,比如“你的”、“是吗”、“来得”等等。第四级是专业字典,比如人名地名字典。现在我们涉及的主要是第二级和第三级,因为没建立基础模式,我们还没用到字典来查单个词语。更关键的,制作词库非普通人能完成,所以,还得用现有的单一词库。
       3、据网上有帖子分析百度的分词方法提到,百度使用了正向最大匹配法和拼音匹配,速度都算快。百度还有最宝贵的一个字典就是人名、地名字典,用这个专业字典先匹配人名和地名,剩下的使用正向最大匹配法解决。
中科院软件所张俊林:Baidu分词算法分析_站长茶馆_站长在线_中国...
       4、分词的方法很多,现在我们尝试的都是最基本的方法,我发现你有意识的往“新词登录”方面想了,成绩也突出,很好!~工作虽然繁杂,但值得尝试批处理在这方面的能力,希望能为后面的自然处理打下基础。
       5、最后谢谢你,能和你一起交流是一件愉快的事情!~

[ 本帖最后由 cjiabing 于 2010-9-17 09:55 编辑 ]

TOP

华为二十四口交换机

类似这种可以分吗?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

原帖由 Batcher 于 2010-9-17 11:53 发表

类似这种可以分吗?

    你对电脑说:华为二十四口交换机
开始时间:12:30:31.07
输出截取时间:12:30:31.18
开始匹配时间:12:30:31.20
匹配结束时间:12:30:31.95
匹配与截取融合时间:12:30:32.03
开始组句时间:12:30:32.03
组句完成时间:12:30:33.57
获取二字词时间:12:30:33.59
交叉词开始时间:12:30:33.59
华为
二十四
口交
换机
最后完成时间:12:30:33.67
请按任意键继续. . .

TOP

可以吧~~~,结果如下:

输入一个字符串:华为二十四口交换机

截取过程:[华为二十四口交换机]  二十四
截取过程:[华为   口交换机]  交换机
截取过程:[华为   口   ]  华为
截取过程:[     口   ]  口

所有字符均可在词库中找到

最终拆分: [华为] [二十四] [口] [交换机]
12:36:47.53
12:36:47.98


输入一个字符串:华为24口交换机
截取过程:[华为24口交换机]  交换机
截取过程:[华为24口   ]  华为
截取过程:[  24口   ]  口
词库中没有的:
截取过程:[  24    ]  24
最终拆分: [华为] 24 [口] [交换机]
12:45:33.93
12:45:34.34

[ 本帖最后由 netbenton 于 2010-9-17 12:46 编辑 ]

TOP

哈哈,我的变口交了

TOP

原帖由 netbenton 于 2010-9-17 12:43 发表
可以吧~~~,结果如下:

输入一个字符串:华为二十四口交换机

截取过程:[华为二十四口交换机]  二十四
截取过程:[华为   口交换机]  交换机
截取过程:[华为   口   ]  华为
截取过程:[     口   ]  口

...

你查查你词库里有没有口交这个词?

TOP

输入一个字符串:华为二十四口交不好

截取过程:[华为二十四口交不好]  二十四
截取过程:[华为   口交不好]  不好
截取过程:[华为   口交  ]  华为
截取过程:[     口交  ]  口交

所有字符均可在词库中找到

最终拆分: [华为] [二十四] [口交] [不好]
12:55:39.01
12:55:39.48

库里有那个词的,只是没有匹配到它

TOP

原帖由 netbenton 于 2010-9-17 12:56 发表
输入一个字符串:华为二十四口交不好

截取过程:[华为二十四口交不好]  二十四
截取过程:[华为   口交不好]  不好
截取过程:[华为   口交  ]  华为
截取过程:[     口交  ]  口交

所有字符均可在词库中找 ...

哈哈,你也发明一个替换法啊,我见过有个家伙说取消或者增加一个字来切分的。
Batcher的这道题N多年以前见过,不过那时候还不懂分词。
“华为二十四口交换机”与“我喜欢坐在面包车上一边吃面包一边看北京大学生活动中心门楼的门”可能存在一定的冲突……

TOP

虽然个人不太支持这个研究课题,但为楼主这种求真的精神而感动。。。
***共同提高***

TOP

回复 24楼 的帖子

同意楼上的,lz钻研的精神值得敬佩,如果用高级语言的话也许能收获更多....毕竟这种工作不是批处理的强项....

TOP

原帖由 batman 于 2010-9-19 09:26 发表
虽然个人不太支持这个研究课题,但为楼主这种求真的精神而感动。。。


      还是netbenton厉害,有空向他学习!~
      这不过是每个人儿童时候的一个梦想而已,有朝一日机器人能与真正的走进我们的生活。学习批处理,让我们有了实现梦想的能力,像你说的,用批处理做这件事情就像用小刀宰牛一样——勉为其难了。
      电子科技的飞速发展促进了机器人的研究,现在的机器人在模仿人类的动作和功能方面已经有十分大的进步了。人工智能中最大的挑战来自语言智能,因为语言和思维的密切关系,语言智能了机器人也就智能了。但目前看来,思维这种活动似乎是人类特有的,机器人实现起来非常困难。我们连自己做的梦都没搞清楚,机器人又如何能搞清楚人的思维呢?
      人类文明之所以发展,一个原因就是人类对自然规律的不停探索,在语言智能方面亦如此。计算机说的话是计算机语言,我们说的话是自然语言,两种语言并不相同,计算机语言和自然语言如何翻译和转换正是当前研究的重点课题。这个课题又分为两大主题,一是计算机自然语言理解——计算机如何懂得我们人类说的话,一是自然语言的处理——理解之后的运用,如何让计算机自己思考并说出人类能够理解的话来,这叫做自然语言的生成。
      本帖谈的中文分词属于计算机自然语言理解的基础,它的作用是将一个句子拆解成一个个独立的、可以理解的词语。计算机的理解就是将句子还原成词语,并弄清楚词语之间内在的关系。用我们前面谈到的聊天机器人来说,你给它输入一句话“你吃饭了吗?”,你叫机器人如何回答呢?学过批处理的你可能会想,先设定一个文本,把各种问题和答案预先保存好,然后用输入的话作为搜索词,搜索这个文本,把结果显示出来就OK。目前,许多客服系统,专家系统用的就是这种方式。
       假如你输入“你吃饭了没有?”句子和上句有个别词出入,意思还是一样,那你的搜索词是什么了呢?假如你还是以句子来搜索,那你就得预先设置句子到文本中,但这样的结果就是这个文本将是无限的庞大——因为人说话的句子有时候句子词语长短都不一样,或许意思一样。
       可能你会想到用关键词来搜索,这才是搜索的正道,但关键词哪里来呢?来自输入的句子,那输入的句子你如何让电脑知道句子中哪个是词语,哪个不是?这时,你就需要分词了——将句子拆解开来,逐个查字典,字典有的就是词语,没有的就不是,词语多吧但总比句子少,所以,这个是比较可行的。
       英文的句子一般不用分词,原因是英文句子一般都要把单词用空格分开,但中文句子中的字和词都是粘到一起的,特别是古文,以前基本上没有标点符号的,区分词语完全靠人的语文经验判断。计算机要查找关键词首先要分词——用空格把句子中的词语隔开。这是中文在计算机自然语言处理方面遇到的一道坎,因为分词的准确率并非很高,速度也受到影响。
       现在中文分词在许多领域都有使用,比如搜索引擎、文献检索、专家系统、智能研究等等。你使用百度搜索的时候,假如你输入一个不是词语的词语,或者一段长长的话,百度搜索不到结果,往往会提示你“你搜索的是不是*……*”这就是百度的中文分词在起作用了。
       你可以使用论坛的搜索功能做试验,你试着同时搜索这三个关键词“我  爱   批处理”——之间用空格隔开,然后再搜索这句话“我爱批处理”。对比一下结果你就知道了,前面只能使用关键词来搜索,而后面使用了中文分词,自动把句子拆解成关键词。因为本论坛没有中文分词,所以搜索不到结果。
       专家系统和聊天机器人也是建立在这种中文分词的基础上的,它能自动识别你的句子,自动获得关键词,自动搜索答案,自动组句回答问题……
        由此可见,中文分词是未来人工智能发展的基础,它的重要性不言而喻。批处理中文分词的意义不过是做个尝试,如果不考虑效率问题也是可行的,只要你有足够的批处理知识和一定的语言学知识,假如再有好的词库和规则,用批处理实现你的梦想也是十分可能的事情……
        多了解、多尝试,说不定你会成为第一个智能机器人的发明家呢,而且还是中国制造的!~

TOP

返回列表