huangweijie_777 2022-07-04 18:49 采纳率: 0%
浏览 10
已结题

n-grams模型建立

问题遇到的现象和发生背景

在建立N-grams的时候,他说我的参数有问题

问题相关代码,请勿粘贴截图

import argparse
import pathlib
import nltk

SOS = " "
EOS = "
"
UNK = ""

def add_sentence_tokens(sentences, n):
sos = SOS * (n - 1) if n > 1 else SOS
return ['{}{} {}'.format(sos, s, EOS) for s in sentences]

def replace_singletons(tokens):
vocab = nltk.FreqDist(tokens)
return [token if vocab[token] > 1 else UNK for token in tokens]

def preprocess(sentences, n):
sentences = add_sentence_tokens(sentences, n)
tokens = ' '.join(sentences).split(' ')
tokens = replace_singletons(tokens)
return tokens

def load_data(train_path):
with open(train_path, 'r') as f:
train_ = [l.strip() for l in f.readlines()]

return train_

class LanguageModel(object):
def init(self, train_data, n, laplace=1):
self.n = n
self.laplace = laplace
self.tokens = preprocess(train_data, n)
self.vocab = nltk.FreqDist(self.tokens)

if name == 'main':
parser = argparse.ArgumentParser("N-gram Language Model")
parser.add_argument('--data', type=str, required=True,
help='Location of the data directory containing ')
parser.add_argument('--n', type=int, required=True,
help='Order of N-gram model to create (i.e. 1 for unigram, 2 for bigram, etc.)')
parser.add_argument('--laplace', type=float, default=0.01,
help='Lambda parameter for Laplace smoothing (default is 0.01 -- use 1 for add-1 smoothing)')

args = parser.parse_args()

# Load and prepare train/test data
data_path = pathlib.Path(args.data)
train = load_data(data_path)

print("Loading {}-gram model...".format(args.n))
lm = LanguageModel(train, args.n, laplace=args.laplace)
print("Vocabulary size: {}".format(len(lm.vocab)))
运行结果及报错内容

usage: N-gram Language Model [-h] --data DATA --n N [--laplace LAPLACE]
N-gram Language Model: error: the following arguments are required: --data, --n

我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 7月12日
    • 创建了问题 7月4日

    悬赏问题

    • ¥15 k8s生产配置推荐配置及部署方案
    • ¥15 matlab提取运动物体的坐标
    • ¥15 人大金仓下载,有人知道怎么解决吗
    • ¥15 一个小问题,本人刚入门,哪位可以help
    • ¥15 python安卓开发
    • ¥15 使用R语言GD包一直不出结果
    • ¥15 计算机微处理器与接口技术相关问题,求解答图片的这个问题,有多少个端口,端口地址和解答问题的方法和思路,不要AI作答
    • ¥15 如何根据一个截图编写对应的HTML代码
    • ¥15 stm32标准库的PID角度环
    • ¥15 ADS已经下载好了,但是DAS下载不了,一直显示这两种情况,有什么办法吗,非常急!