Giter Site home page Giter Site logo

Comments (3)

piaolingxue avatar piaolingxue commented on September 23, 2024

@zzq118 分词的时候需要跟字典里的词匹配,我们知道输入的句子可能是各种情况,如果不在前面统一正规化,字典里就需要罗列所有词各种拼写组合。比如全角-半角,大写-小写,这样会导致词典变的很臃肿,而且还不一定能罗列全面。

另外分词主要用于文字检索,为了提高检索效率,搜索引擎也会对用户查询词或者索引文本正规化处理,这也是不把分词结果跟原句子大小写保持一致的原因。

举个栗子:
C++,输入可能是 C++、c++、c++、C++..

你如果想要分词结果保持跟原词汇一致,可以根据输出的每个词的偏移量,重新从原句子 substring 一下

from jieba-analysis.

zzq118 avatar zzq118 commented on September 23, 2024

from jieba-analysis.

shinux avatar shinux commented on September 23, 2024

不完全同意这个回复。

  1. 如果只考虑比较原始的搜索场景确实可以忽略大小甚至 lucene words。但是如果考虑 NLP 领域的任务,比如带有 word embedding 或 NER 的任务时,大小写是一个很关键的区分不同词汇/实体的特征,很多训练好的 embedding 也是区分大小写的。
  2. 原版的 jieba 是不会在做分词时将输出结果改变的,无论找字典和检索时应该如何做,作为一个单纯的 package 和 api,第一应该和原版尽量保持一致,第二就是尽量不要改变原始的输出内容,这样分词自动小写等于原始的 query 被改变了。

@zzq118 分词的时候需要跟字典里的词匹配,我们知道输入的句子可能是各种情况,如果不在前面统一正规化,字典里就需要罗列所有词各种拼写组合。比如全角-半角,大写-小写,这样会导致词典变的很臃肿,而且还不一定能罗列全面。

另外分词主要用于文字检索,为了提高检索效率,搜索引擎也会对用户查询词或者索引文本正规化处理,这也是不把分词结果跟原句子大小写保持一致的原因。

举个栗子:
C++,输入可能是 C++、c++、c++、C++..

你如果想要分词结果保持跟原词汇一致,可以根据输出的每个词的偏移量,重新从原句子 substring 一下

from jieba-analysis.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.