java导入UTF-8词典第一行不匹配问题

做字符串匹配过程中要经常导入一些usrdict or stopdict,但是把文件转为utf-8格式,并且在java中以utf-8方式导入时都会出现词典第一行字符无法匹配的问题,但是debug变量,字符显示是完全一样的,那么问题出在那里? 把正常的dict和有问题的dict用UltraEdit打开: 然后利用UltraEdit用16进制看两个文件的不同,会发现有问题的dict文件表头多了一串二进制。 问题应该是出在从其他格式文件转向UTF-8时。所以最好是直接复制一份没问题的UTF-8文件然后导入词典。 不要太相信字符串显示

Read paper about similarity Search

8B pages == 8Billion pages Title: Detecting Near-Duplicates for Web Crawling WWW 2007, Track: Data Mining. Session: Similarity Search Keywords: Hamming Distance, near-duplicate Problem: the problem of elimination of near-duplicate web documents in a generic crawl has not received attention. … 继续阅读

漫话匹配学习(Learning to match) 与Q&A

李航在2012年的一年共做了四篇关于匹配学习的报告,大致内容一致。 2012. 07 mmds_2012 @Stanford University Large Scale Machine Learning for Query Document Matching in Web Search 2012.08 sigir2012_tutorial Beyond Bag of Words Machine Learning for Query-Document Matching in Web Search 2012.08 yssnlp_2012 Learning to Match for Natural Language Processing … 继续阅读

利用词袋实现短文本相似度计算

输入两句文本: 我 在 中科院 自动化所 我 在 中科院 计算机所 可统计到词袋中[我, 我, 在, 在, 中科院, 中科院, 自动化所, 计算机所], 共8个词 然后统计两句文本中相同词的个数为2(我)+2(在)+2(中科院)=6 个词 那么计算相似概率为6/8=0.75 简易代码实现: import java.io.BufferedReader;    import java.io.FileReader;    import java.io.FileWriter;    import java.io.IOException;    import java.util.ArrayList;       public class similiarity_Matrix {        public static void main(String[] args) throws IOException {            int n = 0;            String readspk = “”; … 继续阅读

关于开源java中文分词器ansj

【遗留问题??】如果添加停用词典,据说要调用Lucene接口实现?有时间了去尝试一下 https://github.com/ansjsun/ansj_seg/wiki Ansj 是一个开源的 Java 中文分词工具,基于中科院的 ictclas 中文分词算法,比其他常用的开源分词工具(如mmseg4j)的分词准确率更高。 在线演示:http://ansj.sdapp.cn/demo/seg.jsp 官网地址:http://www.ansj.org/ Github地址:https://github.com/ansjsun/ansj_seg 目前实现了.中文分词. 中文姓名识别 . 用户自定义词典 可以应用到自然语言处理等方面,适用于对分词效果要求搞的各种项目. 如果你第一次下载只想测试测试效果可以调用这个简易接口 String str = “欢迎使用ansj_seg,(ansj中文分词)在这里如果你遇到什么问题都可以联系我.我一定尽我所能.帮助大家.ansj_seg更快,更准,更自由!” ; System.out.println(ToAnalysis.paser(str)); //new NatureRecognition(ToAnalysis.paser(str)).recogntion(); //进行词性标注 [欢迎/, 使用/, ansj/, _/, seg/, ,/, (/, ansj/, 中文/, 分词/, )/, 在/, 这里/, 如果/, … 继续阅读

中文短文本同音词识别一些陈旧参考文献锦集

【参考1】:汉语音字转换中同音字(词)的概率后处理 1992 1,该算法用字(词)相对于前后向拼音的条件概率代替常见的字(词)相对于前后向汉字的条件概率,极大地压缩了数据空间,提高了查找效率,使概率后处理的实时应用更趋于现实; 【参考2】:可分隔动词及其在拼音-汉字输入中同音词识别的应用 1992 2,可分隔动词及其在拼音-汉字输入中同音词识别的应用 例:睡觉 – 睡了觉,睡好觉,睡个觉,睡不着觉,睡过觉,睡过了觉 下棋 – 下了棋,下盘棋,下得了棋,下得好棋,下着棋 伸直 – 伸不直,伸得直,伸也伸不直 提高 – 提不高,提的高,提都提不高 那么其中这些,“着”、“了”、“过”、“过了” 都是一些的可分割动词。 【参考3】:统计语言模型及汉语音字转换的一些新结果 1992 3,音字转换由于汉字的多音字问题,显然要考虑上下文关系,一般而言,所给的上下文关系越多,音字正确转换的可能性就越大。现代汉语单字词的使用度约占一半,一般认仅在词级不可能取得满意的结果,而段落篇章又太大,因而多考虑句级上下文,即在一个句子或短语的范围内利用上下文约束来选择恰当的字或音。 从80年代起,就有两种成型的方法:1),基于最长词匹配,优点易于实现,缺点没有充分利用上下文约束,例,【参考4、5】;2),采用基于规则的句法语义分析,特点在有限领域是成功的,而对于开放域几乎是不可能的,这类系统一般速度慢,适应面窄,例,【参考6、7】 现在,基于统计方法建立的语言模型有可能更充分地利用上下文提供的约束。 【参考4】:普及型拼音-汉字变换系统设计 1990 【参考5】:多词组一次性拼音 1990[PDF] 【参考6】:汉语同音词汇的辨析 【参考7】:中文输入中语法分析技术的应用 【参考8】:歧义、系统歧义和语境 1993 自然语言理解分为真值理解和意义理解两方面。本文主要从计算机角度而不是从语言学角度来讨论歧义分析。 群众热爱人民的总理 — 追忆热爱人民的总理 【参考9】:基于2-Gram的索引存储模型设计 2007 最近做Solr项目用到的分词是自带的CJK分词采用的就是2-gram索引存储方式。普通的分词如庖丁解牛或计算所的分词方法虽然较好的解决了中文词的切分问题,但建立索引本身变的更加困难,系统维护难度高。2-gram索引既简单,存储效率高,又有较好的实用性: … 继续阅读

基于同音别字进行纠错词推荐

基于同音别字进行纠错词推荐流程应该是如下: 根据之前的同音别字词典: niuyuenikesi -> 纽约尼克斯 huojian -> 火箭 lixiang -> 理想 立项 李湘 zhongkeyuan -> 中科院 钟克媛 NBA -> NBA linshuhao -> 林书豪 guojingming -> 郭敬明 zidonghuasuo -> 自动化所 yaoming -> 要命 姚明 药名 耀明 进行查询索引测试 package CB_QR;       import java.io.IOException; … 继续阅读

同音别字纠错字典的创建

题外话:搜狗实验室http://www.sogou.com/labs/ 提供了很多中文语料库,有词典词频和词性,基于web域的。我们这里先不考虑。关于建立索引和查询也可以看看企业常用的lucene和solr。下面进入正题。 一:用户词库usrdict 拿到的用户词库usrdict.txt(699781个词汇)是从百度百科和互动百科中抽取的实体词条,从infobox中抽取结构化数据(三元组)。Usrdict中的词不一定会构成三元组,但三元组中的实体词一定在usrdict中。Usrdict中出现的一些字符错误如: 而放到html代码中进行显示,可以看到: ‎织金县第二中学 ‎虚拟村庄 <<18岁29岁>> <<S日记>> <<上下策>> <<乱世浮生>> <<云之南>> “一二•一”运动纪念馆 “三八”式步枪 “三高”防治日常按摩图典 …… 说明是抽取时没有处理好生僻字和html符号的问题,如<>实际上对应<>、”对应“号等。可直接删除,后面有正确的词。这只是一小部分,删掉后还有699619个词,但实际上usrdict中还有一些无意义的词,例如最后一个词条“¥23.00元”,考虑这些也不是大部分,就先将就着用吧。 二:同音别字的纠错词典 为了建立同音别字的纠错词典,需要利用java集合中的HashMap。 首先把usrdict中的同音别字词全部整理处理,例如简单的一个testusrdict.text中的内容为: 要命 姚明 药名 耀明 林书豪 郭敬明 火箭 NBA 纽约尼克斯 自动化所 中科院 钟克媛 理想 立项 李湘 把字典中词的拼音转化出来,并命名为dicAddPY.txt: package CB_QR_Tools; import java.io.FileWriter; … 继续阅读

汉语转拼音Pinyin

利用汉语转拼音可以采用内码和拼音的对应关系进行转码,例: 汉字→机内码→简体中文GB→unicode码 我 →CED2 →52946 →25105 爱 →B0AE →45230 →29233 楼 →C2A5 →49829 →27004 主 →D6F7 →55031 →20027 , →A3AC →41900 →65292 因 →D2F2 →54002 →22240 为 →CEAA →52906 →20026 楼 →C2A5 →49829 →27004 主 →D6F7 →55031 →20027 就 →BECD … 继续阅读