fastNLP.io.pipe.conll module

undocumented

class fastNLP.io.pipe.conll.Conll2003NERPipe(encoding_type: str = 'bio', lower: bool = False)[源代码]

基类:fastNLP.io.pipe.conll._NERPipe

基类 fastNLP.io._NERPipe

别名 fastNLP.io.Conll2003NERPipe fastNLP.io.pipe.Conll2003NERPipe

Conll2003的NER任务的处理Pipe, 该Pipe会(1)复制raw_words列,并命名为words; (2)在words, target列建立词表 (创建 fastNLP.Vocabulary 对象,所以在返回的DataBundle中将有两个Vocabulary); (3)将words,target列根据相应的 Vocabulary转换为index。 经过该Pipe过后,DataSet中的内容如下所示

Following is a demo layout of DataSet returned by Conll2003Loader

raw_words

target

words

seq_len

[Nadim, Ladki]

[1, 2]

[2, 3]

2

[AL-AIN, United, Arab, …]

[3, 4,…]

[4, 5, 6,…]

6

[…]

[…]

[…]

.

raw_words列为List[str], 是未转换的原始数据; words列为List[int],是转换为index的输入数据; target列是List[int],是转换为index的 target。返回的DataSet中被设置为input有words, target, seq_len; 设置为target有target。

dataset的print_field_meta()函数输出的各个field的被设置成input和target的情况为:

+-------------+-----------+--------+-------+---------+
| field_names | raw_words | target | words | seq_len |
+-------------+-----------+--------+-------+---------+
|   is_input  |   False   |  True  |  True |   True  |
|  is_target  |   False   |  True  | False |   True  |
| ignore_type |           | False  | False |  False  |
|  pad_value  |           |   0    |   0   |    0    |
+-------------+-----------+--------+-------+---------+
process_from_file(paths)fastNLP.io.data_bundle.DataBundle[源代码]
参数

paths – 支持路径类型参见 fastNLP.io.loader.ConllLoader 的load函数。

返回

DataBundle

class fastNLP.io.pipe.conll.Conll2003Pipe(chunk_encoding_type='bioes', ner_encoding_type='bioes', lower: bool = False)[源代码]

基类:fastNLP.io.pipe.pipe.Pipe

基类 fastNLP.io.Pipe

别名 fastNLP.io.Conll2003Pipe fastNLP.io.pipe.Conll2003Pipe

经过该Pipe后,DataSet中的内容如下

raw_words

pos

chunk

ner

words

seq_len

[Nadim, Ladki]

[0, 0]

[1, 2]

[1, 2]

[2, 3]

2

[AL-AIN, United, Arab, …]

[1, 2…]

[3, 4…]

[3, 4…]

[4, 5, 6,…]

6

[…]

[…]

[…]

[…]

[…]

.

其中words, seq_len是input; pos, chunk, ner, seq_len是target dataset的print_field_meta()函数输出的各个field的被设置成input和target的情况为:

+-------------+-----------+-------+-------+-------+-------+---------+
| field_names | raw_words |  pos  | chunk |  ner  | words | seq_len |
+-------------+-----------+-------+-------+-------+-------+---------+
|   is_input  |   False   | False | False | False |  True |   True  |
|  is_target  |   False   |  True |  True |  True | False |   True  |
| ignore_type |           | False | False | False | False |  False  |
|  pad_value  |           |   0   |   0   |   0   |   0   |    0    |
+-------------+-----------+-------+-------+-------+-------+---------+
__init__(chunk_encoding_type='bioes', ner_encoding_type='bioes', lower: bool = False)[源代码]
参数
  • chunk_encoding_type (str) – 支持bioes, bio。

  • ner_encoding_type (str) – 支持bioes, bio。

  • lower (bool) – 是否将words列小写化后再建立词表

process(data_bundle)fastNLP.io.data_bundle.DataBundle[源代码]

输入的DataSet应该类似于如下的形式

raw_words

pos

chunk

ner

[Nadim, Ladki]

[NNP, NNP]

[B-NP, I-NP]

[B-PER, I-PER]

[AL-AIN, United, Arab, …]

[NNP, NNP…]

[B-NP, B-NP, …]

[B-LOC, B-LOC,…]

[…]

[…]

[…]

[…]

.

参数

data_bundle

返回

传入的DataBundle

process_from_file(paths)[源代码]
参数

paths

返回

class fastNLP.io.pipe.conll.OntoNotesNERPipe(encoding_type: str = 'bio', lower: bool = False)[源代码]

基类:fastNLP.io.pipe.conll._NERPipe

基类 fastNLP.io._NERPipe

别名 fastNLP.io.OntoNotesNERPipe fastNLP.io.pipe.OntoNotesNERPipe

处理OntoNotes的NER数据,处理之后DataSet中的field情况为

raw_words

target

words

seq_len

[Nadim, Ladki]

[1, 2]

[2, 3]

2

[AL-AIN, United, Arab, …]

[3, 4]

[4, 5, 6,…]

6

[…]

[…]

[…]

.

raw_words列为List[str], 是未转换的原始数据; words列为List[int],是转换为index的输入数据; target列是List[int],是转换为index的 target。返回的DataSet中被设置为input有words, target, seq_len; 设置为target有target。

dataset的print_field_meta()函数输出的各个field的被设置成input和target的情况为:

+-------------+-----------+--------+-------+---------+
| field_names | raw_words | target | words | seq_len |
+-------------+-----------+--------+-------+---------+
|   is_input  |   False   |  True  |  True |   True  |
|  is_target  |   False   |  True  | False |   True  |
| ignore_type |           | False  | False |  False  |
|  pad_value  |           |   0    |   0   |    0    |
+-------------+-----------+--------+-------+---------+
class fastNLP.io.pipe.conll.MsraNERPipe(encoding_type: str = 'bio', bigrams=False, trigrams=False)[源代码]

基类:fastNLP.io.pipe.conll._CNNERPipe

基类 fastNLP.io._CNNERPipe

别名 fastNLP.io.MsraNERPipe fastNLP.io.pipe.MsraNERPipe

处理MSRA-NER的数据,处理之后的DataSet的field情况为

raw_chars

target

chars

seq_len

[相, 比, 之, 下,…]

[0, 0, 0, 0, …]

[2, 3, 4, 5, …]

11

[青, 岛, 海, 牛, 队, 和, …]

[1, 2, 3, …]

[10, 21, ….]

21

[…]

[…]

[…]

.

raw_chars列为List[str], 是未转换的原始数据; chars列为List[int],是转换为index的输入数据; target列是List[int],是转换为index的 target。返回的DataSet中被设置为input有chars, target, seq_len; 设置为target有target。

dataset的print_field_meta()函数输出的各个field的被设置成input和target的情况为:

+-------------+-----------+--------+-------+---------+
| field_names | raw_chars | target | chars | seq_len |
+-------------+-----------+--------+-------+---------+
|   is_input  |   False   |  True  |  True |   True  |
|  is_target  |   False   |  True  | False |   True  |
| ignore_type |           | False  | False |  False  |
|  pad_value  |           |   0    |   0   |    0    |
+-------------+-----------+--------+-------+---------+
class fastNLP.io.pipe.conll.PeopleDailyPipe(encoding_type: str = 'bio', bigrams=False, trigrams=False)[源代码]

基类:fastNLP.io.pipe.conll._CNNERPipe

基类 fastNLP.io._CNNERPipe

别名 fastNLP.io.PeopleDailyPipe fastNLP.io.pipe.PeopleDailyPipe

处理people daily的ner的数据,处理之后的DataSet的field情况为

raw_chars

target

chars

seq_len

[相, 比, 之, 下,…]

[0, 0, 0, 0, …]

[2, 3, 4, 5, …]

11

[青, 岛, 海, 牛, 队, 和, …]

[1, 2, 3, …]

[10, 21, ….]

21

[…]

[…]

[…]

.

raw_chars列为List[str], 是未转换的原始数据; chars列为List[int],是转换为index的输入数据; target列是List[int],是转换为index的 target。返回的DataSet中被设置为input有chars, target, seq_len; 设置为target有target。

dataset的print_field_meta()函数输出的各个field的被设置成input和target的情况为:

+-------------+-----------+--------+-------+---------+
| field_names | raw_chars | target | chars | seq_len |
+-------------+-----------+--------+-------+---------+
|   is_input  |   False   |  True  |  True |   True  |
|  is_target  |   False   |  True  | False |   True  |
| ignore_type |           | False  | False |  False  |
|  pad_value  |           |   0    |   0   |    0    |
+-------------+-----------+--------+-------+---------+
class fastNLP.io.pipe.conll.WeiboNERPipe(encoding_type: str = 'bio', bigrams=False, trigrams=False)[源代码]

基类:fastNLP.io.pipe.conll._CNNERPipe

基类 fastNLP.io._CNNERPipe

别名 fastNLP.io.WeiboNERPipe fastNLP.io.pipe.WeiboNERPipe

处理weibo的ner的数据,处理之后的DataSet的field情况为

raw_chars

chars

target

seq_len

[‘老’, ‘百’, ‘姓’]

[4, 3, 3]

[38, 39, 40]

3

[‘心’]

[0]

[41]

1

[…]

[…]

[…]

.

raw_chars列为List[str], 是未转换的原始数据; chars列为List[int],是转换为index的输入数据; target列是List[int],是转换为index的 target。返回的DataSet中被设置为input有chars, target, seq_len; 设置为target有target。

dataset的print_field_meta()函数输出的各个field的被设置成input和target的情况为:

+-------------+-----------+--------+-------+---------+
| field_names | raw_chars | target | chars | seq_len |
+-------------+-----------+--------+-------+---------+
|   is_input  |   False   |  True  |  True |   True  |
|  is_target  |   False   |  True  | False |   True  |
| ignore_type |           | False  | False |  False  |
|  pad_value  |           |   0    |   0   |    0    |
+-------------+-----------+--------+-------+---------+