根据文本语料生成词典、每行行首加唯一id
2017-09-14 11:37
260 查看
将文本语料分词后,可以得到
$ head -n 6 train.txt
现在 方便 听电话 吗
许加 说 今天晚上 开始 抢 课
白 诅咒 的 旋律
我的 游戏 游戏中心
难道 是 我 发音 不 标准 吗
除了 实体店 网上 回收 礼品店 也 不在少数
我用到的方法是将空格变成换行符,得到一个有很多重复词的词典,然后用sort -u 将重复项去除,如下:
$ cat train.dat dev.dat test.dat > vocab.word.repeat
$ vim vocab.word.repeat
全局替换:%s: :\r:g
保存:wq
$sort -u vocab.word.repeat >vocab.word
然后给每行行首加上一个唯一id
vim内部有内置命令如 line(),可以方便的利用line函数进行一些行号相关的操作,用法可以查看帮助 :h line()
当替换字符串以“\=”开头时,表示以表达式的计算结果作为替换值。
:%s:^: :g
:%s/^/\=line(".") - 1/
但这种方法只适用于文本很短时,当文本较长时,在vim中会非常卡。
$ head -n 6 train.txt
现在 方便 听电话 吗
许加 说 今天晚上 开始 抢 课
白 诅咒 的 旋律
我的 游戏 游戏中心
难道 是 我 发音 不 标准 吗
除了 实体店 网上 回收 礼品店 也 不在少数
我用到的方法是将空格变成换行符,得到一个有很多重复词的词典,然后用sort -u 将重复项去除,如下:
$ cat train.dat dev.dat test.dat > vocab.word.repeat
$ vim vocab.word.repeat
全局替换:%s: :\r:g
保存:wq
$sort -u vocab.word.repeat >vocab.word
然后给每行行首加上一个唯一id
vim内部有内置命令如 line(),可以方便的利用line函数进行一些行号相关的操作,用法可以查看帮助 :h line()
当替换字符串以“\=”开头时,表示以表达式的计算结果作为替换值。
:%s:^: :g
:%s/^/\=line(".") - 1/
但这种方法只适用于文本很短时,当文本较长时,在vim中会非常卡。
相关文章推荐
- java根据时间生成唯一ID
- .net根据用户Id生成唯一6位邀请码,可逆转。
- java根据时间生成唯一ID
- 根据时间和类型生成一个唯一的id
- 根据日期时间和随机量生成唯一ID!!
- 根据用户id生成一个唯一邀请码
- C# 根据twitter的snowflake算法生成唯一ID
- 根据时间生成唯一ID
- 根据twitter的snowflake算法生成唯一ID
- 根据用户id生成一个唯一邀请码
- 根据日期时间和随机量生成唯一ID!!
- java生成唯一ID简单方法
- 两种方法利用Java生成唯一ID,取当前时间与字母随机组合,并发少的情况足以胜任
- 分布式系统中, 怎么样生成全局唯一的 ID
- 分布式ID生成方法-趋势有序的全局唯一ID
- 如何在高并发分布式系统中生成全局唯一Id
- 根据日期生成apk版本识id
- php生成唯一id
- 生成唯一序列号 Unique ID
- Python使用UUID库生成唯一ID