python实现倒排索引
-
倒排索引的过程简述:
-
题目形式如下:
- 前面的数字是文档号,每两行是一篇文档。
-
题目要求如下:
- 请编写程序(任意开发语言,推荐python3)为本目录下的1.txt文件构建倒排索引,保存在2_generated.txt(每行格式:词条\tDocFreq\tdocID docID,\t指换行符,docID间使用空格)
- 文本处理要求:不要求做词条变化如friends -> friend等;直接用空格作为分割符;都转成小写A->a;符号(例如,)和符号混合字母(例如68-years-old),空字符串(因split函数产生)等非标准单词均视为单词参与统计,不做特殊处理(即空格分割得到的单个字符串不做进一步处理);把出现次数排名Top 100的字符串去掉
-
实现代码
filename = './1.txt'
'''
Func: read the file,and return the word_list
'''
def read_file(filename):
result = []
count = 0 #put the same dot together
with open(filename, 'r') as file_to_read:
while True:
lines = file_to_read.readline() # read the line
if(len(lines) == 0):
break
lsplit = lin