- Python - 文本处理
- Python - 文本处理简介
- Python - 文本处理环境
- Python - 字符串不变性
- Python - 对行排序
- Python - 段落重新格式化
- Python - 统计段落中的标记
- Python - 二进制ASCII转换
- Python - 字符串作为文件
- Python - 反向读取文件
- Python - 过滤重复单词
- Python - 从文本中提取电子邮件
- Python - 从文本中提取URL
- Python - 美观打印
- Python - 文本处理状态机
- Python - 大写和翻译
- Python - 分词
- Python - 去除停用词
- Python - 同义词和反义词
- Python - 文本翻译
- Python - 单词替换
- Python - 拼写检查
- Python - WordNet接口
- Python - 语料库访问
- Python - 词性标注
- Python - 组块和组块间隙
- Python - 组块分类
- Python - 文本分类
- Python - 二元语法
- Python - 处理PDF
- Python - 处理Word文档
- Python - 读取RSS feed
- Python - 情感分析
- Python - 搜索和匹配
- Python - 文本处理
- Python - 文本换行
- Python - 频率分布
- Python - 文本摘要
- Python - 词干提取算法
- Python - 受约束搜索
Python - 文本处理状态机
状态机是关于设计一个程序来控制应用程序中的流程。它是一个有向图,由一组节点和一组转换函数组成。处理文本文件通常包括顺序读取文本文件的每个块,并对读取的每个块做一些操作。块的含义取决于之前存在哪些类型的块以及之后会出现哪些块。该机器是关于设计一个程序来控制应用程序中的流程。它是一个有向图,由一组节点和一组转换函数组成。处理文本文件通常包括顺序读取文本文件的每个块,并对读取的每个块做一些操作。块的含义取决于之前存在哪些类型的块以及之后会出现哪些块。
考虑这样一种情况:文本输入必须是AGC序列(用于蛋白质分析)的连续重复字符串。如果输入字符串中保持此特定序列,则机器的状态保持为TRUE,但一旦序列发生偏差,机器的状态变为FALSE,并在之后保持FALSE。这确保了即使稍后可能还有更多正确的序列块可用,也停止进一步处理。
下面的程序定义了一个状态机,该状态机具有启动机器、获取文本处理输入和逐步进行处理的功能。
class StateMachine:
# Initialize
def start(self):
self.state = self.startState
# Step through the input
def step(self, inp):
(s, o) = self.getNextValues(self.state, inp)
self.state = s
return o
# Loop through the input
def feeder(self, inputs):
self.start()
return [self.step(inp) for inp in inputs]
# Determine the TRUE or FALSE state
class TextSeq(StateMachine):
startState = 0
def getNextValues(self, state, inp):
if state == 0 and inp == 'A':
return (1, True)
elif state == 1 and inp == 'G':
return (2, True)
elif state == 2 and inp == 'C':
return (0, True)
else:
return (3, False)
InSeq = TextSeq()
x = InSeq.feeder(['A','A','A'])
print x
y = InSeq.feeder(['A', 'G', 'C', 'A', 'C', 'A', 'G'])
print y
当我们运行上面的程序时,我们得到以下输出:
[True, False, False] [True, True, True, True, False, False, False]
在x的结果中,AGC模式在第一个'A'之后的第二个输入处失败。结果的状态在此之后永远保持False。在Y的结果中,AGC模式持续到第4个输入。因此,结果的状态在此之前一直保持为True。但从第5个输入开始,结果变为False,因为期望G,但发现了C。
广告