【发布时间】:2019-12-11 09:23:50
【问题描述】:
我正在使用haskell 开发一个词性标注器。 为此,我需要创建一个函数,该函数接受一个单词并在由列表列表表示的库中搜索它。所以这是我尝试过的
pos = [["noun","kid","fox"],["adj","quick","brown"],["article","The"]]
search x [] = [(x, "unknown")]
search x (y:ys)
| elem x y == True = (x, head y) : search x ys
| otherwise = search x ys
“pos”代表图书馆。 搜索函数获取一个单词和库,并返回一个包含单词和词性标记的元组列表。 我的问题是当我这样调用函数时:
搜索“孩子”的位置
它返回:
[(“孩子”,“名词”),(“孩子”,“未知”)]
我知道这是因为函数搜索中的第一行,当输入为空列表时,它会返回单词和未知数
search x [] = [(x,"unknown")]
显示未找到该词。但是,如果我将该部分更改为:
search x [] = []
找不到单词时不会输出。 谁能建议我解决这个问题的方法?
【问题讨论】: