首页 > 代码库 > 关键词模块部分说明文档

关键词模块部分说明文档

void denoiseWord(string path, int trd)

Require:path要求是一个字符串,其为一个word文档的绝对地址,trd要求是一个整型变

量,是当前线程的线程编号。

Effect:读取path路径下的word文档,读取其中的文字内容,去掉其他无关信息,将降噪后

的文本信息保存在当前运行路径下文件名为content+trd.txt和temp+trd.txt中。

Modified:会在当前运行目录下创建两个文本文件,分别名为content+trd.txt和temp+tr

d.txt,并向其中写入word文档内去噪后的文本信息,如果已经存在同名的文本文件,那么不

会创建其他额外的文档,而是直接向其中写入Word文档内去噪后的文本信息。

 

相关信息:

  对于word文档的操作需要引用微软对于office.word的库,在VS2013中,右键

技术分享

选择添加引用,然后选择技术分享将这个包加入到引用中。之后加入引用:

using Microsoft.Office.Interop.Word;
using MSWord = Microsoft.Office.Interop.Word;

  在读取Word阶段,首先需要实例化Microsoft.Office.Interop.Word.Application,

使用Documents.Open函数读取word文件,这个函数需要12个参数,第一个为Word文件

的绝对地址,第2到12个参数为Type.Missing的object,函数返回word文档内的文本内容。

 

void cutwords(int trd, string analyzer = "Lucene.China.ChineseAnalyzer")

Require:trd要求是一个整型变量,为当前线程的线程编号,analyzer要求是一个字符串,

为选择的分词器的名称,默认为"Lucene.China.ChineseAnalyzer"。

Effect:将当前运行目录下名为temp+trd.txt文件中的文本信息读取出来,进行分词操作,

将分词后的结果保存进当前运行目录下名为temp+trd.txt文件中。

Modified:改变当前运行目录下名为temp+trd.txt文件中内容。

 

相关信息:

  在分词部分,使用了Lucene的中文分词器,所以需要引入技术分享这两

个包,将这两个包放在工程文件夹中。在使用的时候实例化这个中文分词器,实例化TokenS

tream,将待分词的字符串传入流中,从流中读取结果遍历输出到文件。

 

void key(string Path, int trd) 

Require:path是一个字符串,为语料库文件的绝对地址,trd是一个整型变量,为当前线程

的线程编号。

Effect:将当前运行目录下名为temp+trd.txt文件中的分词结果中提取关键词,将提取后的

关键词存进当前运行目录下名为temp+trd.txt文件中。

Modified:更新当前运行目录下名为temp+trd.txt文件中内容为关键词。

 

相关信息:

  在读取excel文件的语料库操作中,需要用到OleDb的库,在将OleDb的库添加到工程得

引用中之后,在开头加入

using System.Data.OleDb;

  类似于Mysql的操作,利用指令读取到语料库中相关词条在文件集中的出现频率,修正词

条在文件中的重要程度,将更新后各个词汇的重要程度排序,选取较高的几个作为关键词输出

到文件。

 

 void translate(int trd)

Require:trd为一个整型变量,为当前线程的线程编号。

Effect:将关键词进行中英互译,将中文和英文关键词存入将当前运行目录下名为temp+trd

.txt文件中。

Modified:更新当前运行目录下名为temp+trd.txt文件中内容为关键词。

 

相关信息:

  在翻译模块调用了百度翻译的api,在调用的时候,需要根据当前时间、用户名和密码等生

成签名,还需要传入要翻译的词汇等信息生成url,在生成url的阶段,由于百度翻译要求的url

必须是UTF-8编码格式,这一点在传入待翻译的字符串前,需要将中文编码成UTF-8格式,除

此之外,在生成签名的时候,也需要将解码的方式调整成UTF-8,将从url下载下来的格式化字

符串重新提取信息后可以得到翻译后的结果。

 

关键词模块部分说明文档