Skip to content

Commit 85b5f98

Browse files
committed
Add temporary example for sae segment service
1 parent b2da3bb commit 85b5f98

2 files changed

Lines changed: 171 additions & 0 deletions

File tree

examples/segment/1/config.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
name: pylabs
3+
version: 3
4+
...

examples/segment/1/index.wsgi

Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,167 @@
1+
#-*-coding: utf8 -*-
2+
3+
"""
4+
分词服务请求
5+
------------
6+
7+
SAE分词服务请求采用以下形式的HTTP网址: ::
8+
9+
http://segment.sae.sina.com.cn/urlclient.php?parameters
10+
11+
parameters为请求参数,多个参数之间使用&分割,以下列出了这些参数和其可能的值。
12+
13+
* word_tag: 是否返回词性数据。0表示不返回,1表示返回,默认为0不返回。
14+
* encoding: 请求分词的文本的编码,可以为: GB18030、UTF-8、UCS-2,默认为UTF-8。
15+
16+
请求分词的文本以post的形式提交。
17+
18+
* context: 请求分词的文本。目前限制文本大小最大为10KB。
19+
20+
分词服务响应
21+
------------
22+
23+
分词服务的响应数据为json格式,格式如下: ::
24+
25+
[
26+
{"word":"采莲","word_tag":"171","index":"1"},
27+
{"word":"赋","word_tag":"170","index":"2"}
28+
]
29+
30+
响应数据为一个list,list中每个元素为一个dict,每个dict中包含以下数据:
31+
32+
* index: 序列号,按在请求文本中的位置依次递增。
33+
* word: 单词
34+
* word_tag: 单词的词性,仅当输入parameters里word_tag为1时包含该项。
35+
36+
词性代码: ::
37+
38+
0 POSTAG_ID_UNKNOW 未知
39+
10 POSTAG_ID_A 形容词
40+
20 POSTAG_ID_B 区别词
41+
30 POSTAG_ID_C 连词
42+
31 POSTAG_ID_C_N 体词连接
43+
32 POSTAG_ID_C_Z 分句连接
44+
40 POSTAG_ID_D 副词
45+
41 POSTAG_ID_D_B 副词("不")
46+
42 POSTAG_ID_D_M 副词("没")
47+
50 POSTAG_ID_E 叹词
48+
60 POSTAG_ID_F 方位词
49+
61 POSTAG_ID_F_S 方位短语(处所词+方位词)
50+
62 POSTAG_ID_F_N 方位短语(名词+方位词“地上”)
51+
63 POSTAG_ID_F_V 方位短语(动词+方位词“取前”)
52+
64 POSTAG_ID_F_Z 方位短语(动词+方位词“取前”)
53+
70 POSTAG_ID_H 前接成分
54+
71 POSTAG_ID_H_M 数词前缀(“数”---数十)
55+
72 POSTAG_ID_H_T 时间词前缀(“公元”“明永乐”)
56+
73 POSTAG_ID_H_NR 姓氏
57+
74 POSTAG_ID_H_N 姓氏
58+
80 POSTAG_ID_K 后接成分
59+
81 POSTAG_ID_K_M 数词后缀(“来”--,十来个)
60+
82 POSTAG_ID_K_T 时间词后缀(“初”“末”“时”)
61+
83 POSTAG_ID_K_N 名词后缀(“们”)
62+
84 POSTAG_ID_K_S 处所词后缀(“苑”“里”)
63+
85 POSTAG_ID_K_Z 状态词后缀(“然”)
64+
86 POSTAG_ID_K_NT 状态词后缀(“然”)
65+
87 POSTAG_ID_K_NS 状态词后缀(“然”)
66+
90 POSTAG_ID_M 数词
67+
95 POSTAG_ID_N 名词
68+
96 POSTAG_ID_N_RZ 人名(“毛泽东”)
69+
97 POSTAG_ID_N_T 机构团体(“团”的声母为t,名词代码n和t并在一起。“公司”)
70+
98 POSTAG_ID_N_TA ....
71+
99 POSTAG_ID_N_TZ 机构团体名("北大")
72+
100 POSTAG_ID_N_Z 其他专名(“专”的声母的第1个字母为z,名词代码n和z并在一起。)
73+
101 POSTAG_ID_NS 名处词
74+
102 POSTAG_ID_NS_Z 地名(名处词专指:“中国”)
75+
103 POSTAG_ID_N_M n-m,数词开头的名词(三个学生)
76+
104 POSTAG_ID_N_RB n-rb,以区别词/代词开头的名词(该学校,该生)
77+
107 POSTAG_ID_O 拟声词
78+
108 POSTAG_ID_P 介词
79+
110 POSTAG_ID_Q 量词
80+
111 POSTAG_ID_Q_V 动量词(“趟”“遍”)
81+
112 POSTAG_ID_Q_T 时间量词(“年”“月”“期”)
82+
113 POSTAG_ID_Q_H 货币量词(“元”“美元”“英镑”)
83+
120 POSTAG_ID_R 代词
84+
121 POSTAG_ID_R_D 副词性代词(“怎么”)
85+
122 POSTAG_ID_R_M 数词性代词(“多少”)
86+
123 POSTAG_ID_R_N 名词性代词(“什么”“谁”)
87+
124 POSTAG_ID_R_S 处所词性代词(“哪儿”)
88+
125 POSTAG_ID_R_T 时间词性代词(“何时”)
89+
126 POSTAG_ID_R_Z 谓词性代词(“怎么样”)
90+
127 POSTAG_ID_R_B 区别词性代词(“某”“每”)
91+
130 POSTAG_ID_S 处所词(取英语space的第1个字母。“东部”)
92+
131 POSTAG_ID_S_Z 处所词(取英语space的第1个字母。“东部”)
93+
132 POSTAG_ID_T 时间词(取英语time的第1个字母)
94+
133 POSTAG_ID_T_Z 时间专指(“唐代”“西周”)
95+
140 POSTAG_ID_U 助词
96+
141 POSTAG_ID_U_N 定语助词(“的”)
97+
142 POSTAG_ID_U_D 状语助词(“地”)
98+
143 POSTAG_ID_U_C 补语助词(“得”)
99+
144 POSTAG_ID_U_Z 谓词后助词(“了、着、过”)
100+
145 POSTAG_ID_U_S 体词后助词(“等、等等”)
101+
146 POSTAG_ID_U_SO 助词(“所”)
102+
150 POSTAG_ID_W 标点符号
103+
151 POSTAG_ID_W_D 顿号(“、”)
104+
152 POSTAG_ID_W_SP 句号(“。”)
105+
153 POSTAG_ID_W_S 分句尾标点(“,”“;”)
106+
154 POSTAG_ID_W_L 搭配型标点左部
107+
155 POSTAG_ID_W_R 搭配型标点右部(“》”“]”“)”)
108+
156 POSTAG_ID_W_H 中缀型符号
109+
160 POSTAG_ID_Y 语气词(取汉字“语”的声母。“吗”“吧”“啦”)
110+
170 POSTAG_ID_V 及物动词(取英语动词verb的第一个字母。)
111+
171 POSTAG_ID_V_O 不及物谓词(谓宾结构“剃头”)
112+
172 POSTAG_ID_V_E 动补结构动词(“取出”“放到”)
113+
173 POSTAG_ID_V_SH 动词“是”
114+
174 POSTAG_ID_V_YO 动词“有”
115+
116+
175 POSTAG_ID_V_Q 趋向动词(“来”“去”“进来”)
117+
176 POSTAG_ID_V_A 助动词(“应该”“能够”)
118+
180 POSTAG_ID_Z 状态词(不及物动词,v-o、sp之外的不及物动词)
119+
190 POSTAG_ID_X 语素字
120+
191 POSTAG_ID_X_N 名词语素(“琥”)
121+
192 POSTAG_ID_X_V 动词语素(“酹”)
122+
193 POSTAG_ID_X_S 处所词语素(“中”“日”“美”)
123+
194 POSTAG_ID_X_T 时间词语素(“唐”“宋”“元”)
124+
195 POSTAG_ID_X_Z 状态词语素(“伟”“芳”)
125+
196 POSTAG_ID_X_B 状态词语素(“伟”“芳”)
126+
200 POSTAG_ID_SP 不及物谓词(主谓结构“腰酸”“头疼”)
127+
201 POSTAG_ID_MQ 数量短语(“叁个”)
128+
202 POSTAG_ID_RQ 代量短语(“这个”)
129+
210 POSTAG_ID_AD 副形词(直接作状语的形容词)
130+
211 POSTAG_ID_AN 名形词(具有名词功能的形容词)
131+
212 POSTAG_ID_VD 副动词(直接作状语的动词)
132+
213 POSTAG_ID_VN 名动词(指具有名词功能的动词)
133+
230 POSTAG_ID_SPACE 空格
134+
"""
135+
136+
import sae
137+
import urllib
138+
import urllib2
139+
140+
_SEGMENT_BASE_URL = 'http://segment.sae.sina.com.cn/urlclient.php'
141+
142+
some_chinese_text = """
143+
采莲赋 (萧绎 )
144+
紫茎兮文波,红莲兮芰荷。绿房兮翠盖,素实兮黄螺。于时妖童媛女,荡舟心许,
145+
(益鸟,音益)首徐回,兼传羽杯。棹将移而藻挂,船欲动而萍开。尔其纤腰束
146+
素,迁延顾步。夏始春余,叶嫩花初。恐沾裳而浅笑,畏倾船而敛裾,故以水溅
147+
兰桡,芦侵罗(衤荐,音间)。菊泽未反,梧台迥见,荇湿沾衫,菱长绕钏。泛
148+
柏舟而容与,歌采莲于江渚。歌曰:“碧玉小家女,来嫁汝南王。莲花乱脸色,
149+
荷叶杂衣香。因持荐君子,愿袭芙蓉裳。”
150+
"""
151+
152+
def segment(text):
153+
payload = urllib.urlencode([('context', text),])
154+
args = urllib.urlencode([('word_tag', 1), ('encoding', 'UTF-8'),])
155+
url = _SEGMENT_BASE_URL + '?' + args
156+
return urllib2.urlopen(url, payload).read()
157+
158+
def app(environ, start_response):
159+
status = '200 OK'
160+
response_headers = [('Content-type', 'text/plain')]
161+
start_response(status, response_headers)
162+
163+
output = segment(some_chinese_text)
164+
165+
return [output]
166+
167+
application = sae.create_wsgi_app(app)

0 commit comments

Comments
 (0)