【米尔MYS-8MMX】米尔MYS-8MMQ6-8E2D-180-C应用二——NLP初探
自然语言(NL)到机器语言(ML)应用是目前比较热门的方向,其中有一个分支就是如何让机器去识别一句人话,包括语境、语义、情感等。
其中最重要的部分是断句。今天我们尝试用米尔MYS-8MMQ6-8E2D-180-C来试试断句。
今天尝试的NLP库是jieba,安装库文件,因为直接安装可能会出现连接异常,因此需要指定源:
pip3 install jieba -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
同样,在python2上也安装jieba,命令为:
pip install jieba -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
先尝试一个较简单的:“自行车快倒了,我一把把把把住了”。这段话里面的若干个把字,发音是不同的,它的意思是我一把(我一下子)把(介词)把(读第四声,指单车龙头)把住(抓住、握住)了。
比较有意思的是python2可以正常执行,但python3会出错,似乎是re模块出错。
统计一下名著中词语吧,获取频率最高的20个词,同样python3不可用,在python2下运行成功。
。在我们的实验例子中,选取的是《战争与和平》,讲述的内容大家都很熟悉,就不水字数了。
从上面的例子可以看到,jieba将符号也单独切出来了,单字词的意义不大,可以直接抛弃字长为1的词语(包括标点符号),根据汉语规则,选择“停用词表”,可以在https://gitee.com/chen_kailun/stopwords下载,里面有四个中文常用停用词表:
词表名
|
词表文件
|
中文停用词表
|
cn_stopwords.txt
|
哈工大停用词表
|
hit_stopwords.txt
|
百度停用词表
|
baidu_stopwords.txt
|
四川大学机器智能实验室停用词库
|
scu_stopwords.txt
|
选择“百度停用词表”,并且直接调用jieba中获取关键词的函数textrank、extract_tags与我们选出的高频词进行比较。
可以看出,重合的内容有一些,比如:“公爵”(果然安德烈才是真主角),更多的是不同关键字,jieba选取关键词的方法不明,不过可能不是简单粗暴的选取出现频率最高的词做关键词。
另外,感觉单板电脑性能比起笔记本来说,还是太慢了,在电脑上执行同样代码,只是秒级到十秒级,依然拿树莓派来做比较,手边的树莓派4同样在python2上安装jieba。同样代码进行测试:
比较上述两个结果,发现树莓派4b做同样的工作只需要一小半的时间(71/177、174/466、16/34),这与我们之前用圆周率测试的结果MYS-8MMQ6-8E2D-180-C仅略弱于树莓派4b(参看:https://bbs.eeworld.com.cn/thread-1175554-1-1.html)不太一样。
另外,在MYS-8MMQ6-8E2D-180-C运行结果中的“东西:530”很奇怪的变成了“:11679”不知道是不是编码错误。
getkeyword.py
(2.65 KB, 下载次数: 0, 售价: 10 分芯积分)