http://www.0x32.cn/html/y2010/563.html
在测试过程中需要从文本中拿到指定词性的词,比如名词或者动词,各种词性的定义我们可以依靠搜狗的语料库来实现,从搜狗实验室下载到词库后解压可以看到搜索词库的格式:
图中的数据表示:词、在互联网的词频、然后是词性。
看这个东西就可以一目了然,多种词性,包括平时很少会用到得。
下面我们需要判断一个从文本中分出的词是否为名词或者动词,就需要读取这个搜狗词库,大小在2Mb左右,结果返回一个布尔就可以了。
我们期望调用的形式:
FreqWordsHandler.isFreqWords(word);
word表示需要判断的词,这句代码会返回一个布尔值,FreqWordsHandler是需要我们实现的一个静态的类,代码如下:
FreqWordsHandler
freqWordsList
isFreqWords words
s freqWordsList
s.words
getFreqWords path, type
reList
file path
reader file
buffer reader
tempStr
tempStr buffer.
tempStr.
freqWors tempStr.
words freqWors
wordType freqWors
freqType wordType.
splittype freqType
splittype.
splittype.
reList.words
tempStr.
freqWors tempStr.
reList.freqWors
buffer.
reader.
reList
e
e.
freqWordsList
freqWordsList getFreqWords
,
main args
isFreqWords
这样如果传入的词在词库中标记为名词或者动词,我们就返回一个True。
HideHai's Blog