有人研究过中文的全文检索算法么

white 2000-08-17 02:26:00
主要是分词算法,后面的索引建立跟英文的一样,我已找到。
英文的分词可以根据空格简单地就分出来了,可是中文却
没那么简单。谁能告诉我一个基本可行的算法么,不要求太好。
...全文
419 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
white 2001-03-06
  • 打赏
  • 举报
回复
To marmoset:
您可以参照一下数据库的索引,他们的基本概念是一样的。
marmoset 2001-03-06
  • 打赏
  • 举报
回复
请问(white)上面提到的索引建立算法是什么意思?这个索引是用来做什么事情的?
itshere 2001-02-06
  • 打赏
  • 举报
回复
我在做分词理论,想做个分词词典,不只能否交流一下,hxx0571@263.net
white 2001-01-10
  • 打赏
  • 举报
回复
非常感谢大家对我去年的问题还那么热情地回答。
最大取词法也是查表法的一种,还有据说从后往前取比从前往后取更准确。
还有许多据说带人工智能的算法,不过总体效果并不理想。
后来我实际采用的算法是“全部取词法”,即只要能认出是一个词,就取出来。这样,索引里有
许多冗余信息,不过多了总比查不到要好,这也是考虑实际使用全文检索的用户的需求,他们
一般要求高的命中率,然后才是准确率。
至于建立索引的算法,是采用的一个国外的索引内核,不过算法本身并不复杂,可以参考数据库
的索引技术。

最后产品的效果,大家可以上http://www.hermes.com.cn/ecoinfo.htm查看,现在的效果还
不是太理想,除了算法上本身没有什么突破外,另一个原因是词典比较落后,我没有钱购买商业
的词典:-)
hsboy 2001-01-09
  • 打赏
  • 举报
回复
请问分词后又该如何建索引?
bitfarmer 2001-01-09
  • 打赏
  • 举报
回复
最简单的办法是最大取词法。即从第一个字开始直到不能组成词为止,然后继续处理剩下的部分。

下面这一段不是某种语言源代码,只用于说明方法。
string sentence,temp;
array of string word_list;
integer i,word_count;
i=0;word_count=0;
while i<sentence_length do
begin
temp=sentence[i];
while is_word(temp) do
begin
i=i+1;
temp=temp+sentence[i];
end;
word_list[word_count]=temp;
word_count=word_count+1;
end;
这种方法的准确率大概只有80%。is_word函数中可以简单的通过查询词语库来返回是否是一个词语。
Pany 2001-01-07
  • 打赏
  • 举报
回复
建议看看人工智能的书。
continue 2001-01-07
  • 打赏
  • 举报
回复
关注
freeboy 2000-11-21
  • 打赏
  • 举报
回复
介绍你一篇文章
《文语转换系统中基于语料的汉语自动分词研究》
http://www.chinainfo.gov.cn/periodical/jsjyy/jsjy2000/0002/000203.htm
dragonex 2000-09-30
  • 打赏
  • 举报
回复
我觉得一次判断2个汉字就行了,别贪多。
whitehare 2000-09-12
  • 打赏
  • 举报
回复
我在搞数学建模时遇到过相似的问题但与你讲的不同

请问分词算法是什么?

whitehare 是小白兔 white???? xixi^_^

我还看到了一个hare xi xi...

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧