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下载下来的格式化字
符串重新提取信息后可以得到翻译后的结果。