今天做了NLP的一些研究:
首先下载编译了FNLP的jar包:具体过程见https://github.com/FudanNLP/fnlp/wiki
之后尝试了一些FNLP的功能,我做的首个任务就是提取关键词:
首先初始化停用词和分隔符,然后分词:
对以下段落分词:
比特币的概念最初由中本聪在2009年提出,比特币是一种P2P形式的数字货币。点对点的传输意味着一个去中心化的支付系统。与大多数货币不同,比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,它是一种虚拟的货币。
效果:
可以看到提取关键词效果不是特别好,最主要的应该是比特币这个词,所以我想加入句子结构的权重:
利用以下函数对句子结构进行分析:
结果如下:
第一列是编号,第二列是词,第三列是词性,第四列是依赖的序号,最后一个是结构
大体的想法是主语和谓语的权重较高,名词和动词的权重较高,依赖关系最多的(在树结构中孩子最多的那个节点)权重高,然后与本来提取关键词得到的得分一起加权计算一个新的得分,得分高的最为关键词。具体明天实现