Quantcast
Channel: PostgreSQL research
Viewing all articles
Browse latest Browse all 253

zhparser中文分词的参数与分词结果的影响

$
0
0
以下配置在PG9.2及以上版本使用,这些选项是用来控制字典加载行为和分词行为的,这些选项都不是必须的,默认都为false(即如果没有在配置文件中设置这些选项,则zhparser的行为与将下面的选项设置为false一致)。

zhparser.punctuation_ignore = f

zhparser.seg_with_duality = f

zhparser.dict_in_memory = f

zhparser.multi_short = f

zhparser.multi_duality = f

zhparser.multi_zmain = f

zhparser.multi_zall = f

http://www.xunsearch.com/scws/docs.php#libscws

8. `void scws_set_ignore(scws_t s, int yes)` 设定分词结果是否忽略所有的标点等特殊符号(不会忽略\r和\n)。

   > **参数 yes** 1 表示忽略,0 表示不忽略,缺省情况为不忽略。

9. `void scws_set_multi(scws_t s, int mode)` 设定分词执行时是否执行针对长词复合切分。(例:“中国人”分为“中国”、“人”、“中国人”)。

   > **参数 mode** 复合分词法的级别,缺省不复合分词。取值由下面几个常量异或组合:
   >
   >   - SCWS_MULTI_SHORT   短词
   >   - SCWS_MULTI_DUALITY 二元(将相邻的2个单字组合成一个词)
   >   - SCWS_MULTI_ZMAIN   重要单字
   >   - SCWS_MULTI_ZALL    全部单字

10. `void scws_set_duality(scws_t s, int yes)` 设定是否将闲散文字自动以二字分词法聚合。

   > **参数 yes** 如果为 1 表示执行二分聚合,0 表示不处理,缺省为 0。  


digoal=> select to_tsvector('zhcfg','云安全部');
 to_tsvector 
-------------
 '云安':1
(1 row)

digoal=> select to_tsvector('zhcfg','云 安全部');
        to_tsvector         
----------------------------
 '云':1 '安全':3 '安全部':2
(1 row)


digoal=> set zhparser.multi_short=off;
SET
digoal=> select to_tsvector('zhcfg','网络安全部');
     to_tsvector     
---------------------
 '安全部':2 '网络':1
(1 row)

digoal=> set zhparser.multi_short=on;
SET
digoal=> select to_tsvector('zhcfg','网络安全部');
         to_tsvector          
------------------------------
 '安全':3 '安全部':2 '网络':1
(1 row)

影响索引zhparser的设置影响to_tsvector函数索引。
建议初始 zhparser.multi_short=on 设置为on。
或者设置用户级别或者数据库级别的参数。


Viewing all articles
Browse latest Browse all 253

Trending Articles