
M,固定的,是吗?
documenti,中的i,是txt的文件名吗?
txt中的内容都是一行吗?
能提供几个文件测试吗,放到百度网盘即可。
--
文件放置位置:(语料库文件在list文件夹中)
测试文件的内容:
1.bat代码如下:
@echo offsetlocal ENABLEDELAYEDEXPANSION
rem p变量为语料库文件所在的目录
set "p=.\list"
set "tmp="
set "result="
>>.\result.dat echo [M]
cd %p%
for /f %%i in ('dir /a-d /b') do (
call:fun_m %%i tmp
set "result=[document%%~ni]=!tmp!"
echo !result!
>>..\result.dat echo !result!
set "tmp="
)
pause
goto:eof
:: ///////////////////////////////////////////
:fun_m
set "str="
set "strstr="
for /f "delims=" %%i in (%1) do (
call:fun_clear
call:fun "%%i"
)
set /a n=0
:fun_m_loop
set /a n+=1
set str=[!#str%n%!]
if "!str!" equ "[]" (goto:a)
set strstr=!strstr! !str!
goto:fun_m_loop
:a
set "%2=%strstr%"
goto:eof
:: ///////////////////////////////////////////
:fun_clear
set /a n=0
:fun_clear_loop
set /a n+=1
if "!#str%n%!" equ "" (goto:eof)
set "#str!n!="
goto:fun_clear_loop
goto:eof
:: ///////////////////////////////////////////
:fun
set str=%1
set str=%str:"=%
set n=0
for %%j in (%str%) do (
set /a n+=1
set #str!n!=%%j
)
goto:eof
结果如下:
批处理所在目录会生成result.dat文件
result.dat内容如下:
[M][document1]= [30] [29] [28] [27] [26] [25] [24] [23] [22] [21] [20] [19] [18] [17] [16] [15] [14] [13] [12] [11] [10] [9] [8] [7] [6] [5] [4] [3] [2] [1]
[document2]= [30] [29] [28] [27] [26] [25] [24] [23] [22] [21] [20] [19] [18] [17] [16] [15] [14] [13] [12] [11] [10] [9] [8] [7] [6] [5] [4] [3] [2] [1]
[document3]= [数字地球] [信息技术] [信息资源] [空间数据] [地球] [信息] [数据] [处理] [数字] [体系] [人们] [全球] [技术]
[document4]= [数字地球] [信息技术] [信息资源] [空间数据] [地球] [信息] [数据] [处理] [数字] [体系] [人们] [全球] [技术]
[document5]= [数字地球] [信息技术] [信息资源] [空间数据] [地球] [信息] [数据] [处理] [数字] [体系] [人们] [全球] [技术]
批处理对话框:
# -*- coding: utf8 -*-import csv
l = [['1', 'Wonderful Spam'],['2', 'Lovely Spam']]
#模拟数据写入一个csv
with open('eggs.csv', 'w', newline='') as csvfile:
spamwriter = csv.writer(csvfile, delimiter=',',
quotechar='"', quoting=csv.QUOTE_MINIMAL)
for row in l:
spamwriter.writerow(row)
#从文件读取
l=[]
with open('eggs.csv', newline='') as csvfile:
spamreader = csv.reader(csvfile, delimiter=',', quotechar='"')
for row in spamreader:
l = l + [row]
#把两列拼接增加为第三列写回到文件
with open('eggs.csv', 'w', newline='') as csvfile:
spamwriter = csv.writer(csvfile, delimiter=',',
quotechar='"', quoting=csv.QUOTE_MINIMAL)
for row in l:
print(row)
spamwriter.writerow(row + [row[0]+row[1]])
是的,大规律检索是不能通过数据库的。检索的时候不能通过数据库的查询来完成。
这个东西涉及到搜索引擎的相关技术。
你可以写一个小程序试试,假设每篇文章 2000个汉字,有500万篇,都存入数据库,你检索一下试试?
这涉及到分词技术,分词索引,分词的反向索引..
这些技术通常都是保密的。要不然google,百度它们也不会这么有实力,就因为掌握到了这些技术。
之所以这么麻烦,都因为中文语法的特殊性...
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)