编程语言
首页 > 编程语言> > 可以在很短的时间内用Java搜索很大的ARPA文件

可以在很短的时间内用Java搜索很大的ARPA文件

作者:互联网

我有一个将近1 GB的ARPA文件.我必须在不到1分钟的时间内进行搜索.我已经搜索了很多,但是还没有找到合适的答案.我认为我不必阅读整个文件.我只需要跳到文件中的特定行并阅读整个行即可. ARPA文件的各行的长度不同.我不得不提到ARPA文件具有特定的格式.

文件格式

\data\

ngram 1=19

ngram 2=234

ngram 3=1013

\1-grams:

-1.7132 puluh -3.8008

-1.9782 satu -3.8368

\2-grams:

-1.5403 dalam dua -1.0560

-3.1626 dalam ini 0.0000

\3-grams:

-1.8726 itu dan tiga

-1.9654 itu dan untuk

\end\

如您在示例文件中看到的,我有19行1克,234行2克和1013行3克.我将该行的字符串部分提供给程序,并获得字符串左侧和右侧的数字.输入字符串可以帮助我知道必须在文件的哪一部分进行搜索,因为我的文件很大并且读取整个文件需要很多时间,因此我必须找到一种方法不能完全读取文件.我认为这是跳至文件中特定行而不使用索引文件并访问整行的好方法.

如果您能帮助我完成任务,那将是很好的.

解决方法:

我不知道什么是ARPA文件.我假设它是某种包含文本的文件.

您要做的是首先为文件建立索引,以便可以将文件中的行号与字符串相关联.

那是个大文件,因此您可能会将索引存储在单独的文件中.

首先,在用户搜索之前,您需要运行索引.然后,您将在索引中搜索找到用户要查找的字符串的行号.

标签:n-gram,java,language-model
来源: https://codeday.me/bug/20191011/1896396.html