Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DoubleArrayTrie的2个问题 #1092

Closed
xiyuan27 opened this issue Feb 12, 2019 · 2 comments
Closed

DoubleArrayTrie的2个问题 #1092

xiyuan27 opened this issue Feb 12, 2019 · 2 comments
Labels

Comments

@xiyuan27
Copy link

注意事项

请确认下列注意事项:

  • 我已仔细阅读下列文档,都没有找到答案:
  • 我已经通过Googleissue区检索功能搜索了我的问题,也没有找到答案。
  • 我明白开源社区是出于兴趣爱好聚集起来的自由社区,不承担任何责任或义务。我会礼貌发言,向每一个帮助我的人表示感谢。
    *[x] 我在此括号内输入x打钩,代表上述事项确认完毕。

版本号

当前最新版本号是:portable-1.7.1
我使用的版本是:hanlpVersion='portable-1.7.1'

我的问题

  1. 每次刷新自定义词典时出现下面的错误,经过分析,是因为扩展数组时出错,
    DoubleArrayTrie.java的private int resize(int newSize)方法的如下2行代码: 数据下标越界异常
    每次都是allocSize比base2的实际size大一个。
    System.arraycopy(base, 0, base2, 0, allocSize);
    System.arraycopy(check, 0, check2, 0, allocSize);

---错误堆栈信息如下
[2019-02-12 17:43:31,193] WARN [http-nio-0.0.0.0-8083-exec-3] com.hankcs.hanlp.dictionary.CustomDictionary.loadMainDictionary(CustomDictionary.java:150) 自定义词典D:/myDev/hanlpData/data/dictionary/custom/CustomDictionary.txt缓存失败!
java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at com.hankcs.hanlp.collection.trie.DoubleArrayTrie.resize(DoubleArrayTrie.java:94)
at com.hankcs.hanlp.collection.trie.DoubleArrayTrie.build(DoubleArrayTrie.java:403)
at com.hankcs.hanlp.collection.trie.DoubleArrayTrie.build(DoubleArrayTrie.java:338)
at com.hankcs.hanlp.collection.trie.DoubleArrayTrie.build(DoubleArrayTrie.java:365)
at com.hankcs.hanlp.collection.trie.DoubleArrayTrie.build(DoubleArrayTrie.java:378)
at com.hankcs.hanlp.dictionary.CustomDictionary.loadMainDictionary(CustomDictionary.java:107)
at com.hankcs.hanlp.dictionary.CustomDictionary.loadMainDictionary(CustomDictionary.java:157)
at com.hankcs.hanlp.dictionary.CustomDictionary.reload(CustomDictionary.java:658)

  1. DoubleArrayTrie.java的 private BitSet used; 这个字段曾经多次出现过空指针异常。
     当时debug,发现虽然构造函数里面有new, 但是clear和build等诸多方法都有设置为null,
     设置为null之后,下一次运行,肯定空指针。 
      debug中途意外重启,之后又ok了。就没有深入分析了,目前没有再次重现。
    
@hankcs
Copy link
Owner

hankcs commented Feb 22, 2019

reload时应当重新创建一个dat,已经在#1100 中修复了,请确认。

@hankcs
Copy link
Owner

hankcs commented Jan 1, 2020

感谢您对HanLP1.x的支持,我一直为没有时间回复所有issue感到抱歉,希望您提的问题已经解决。或者,您可以从《自然语言处理入门》中找到答案。

时光飞逝,HanLP1.x感谢您的一路相伴。我于东部标准时间2019年12月31日发布了HanLP1.x在上一个十年最后一个版本,代号为最后的武士。此后1.x分支将提供稳定性维护,但不是未来开发的焦点。

值此2020新年之际,我很高兴地宣布,HanLP2.0发布了。HanLP2.0的愿景是下一个十年的前沿NLP技术。为此,HanLP2.0采用TensorFlow2.0实现了最前沿的深度学习模型,通过精心设计的框架支撑下游NLP任务,在海量语料库上取得了最前沿的准确率。作为第一个alpha版本,HanLP 2.0.0a0支持分词、词性标注、命名实体识别、依存句法分析、语义依存分析以及文本分类。而且,这些功能并不仅限中文,而是面向全人类语种设计。HanLP2.0提供许多预训练模型,而终端用户仅需两行代码即可部署,深度学习落地不再困难。更多详情,欢迎观看HanLP2.0的介绍视频,或参与论坛讨论

展望未来,HanLP2.0将集成1.x时代继承下来的高效率务实风范,同时冲刺前沿研究,做工业界和学术界的两栖战舰,请诸君继续多多指教,谢谢。

@hankcs hankcs closed this as completed Jan 1, 2020
@hankcs hankcs added ignored and removed improvement labels Jan 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants