gpt4 book ai didi

java - 如何在Java中结合英语单词?

转载 作者:搜寻专家 更新时间:2023-11-01 03:56:14 25 4
gpt4 key购买 nike

假设我有一个词的基本形式和一个来自 Penn Treebank Tag Set 的标签.我怎样才能得到共轭形式?例如,对于“do”和“VBN”,我怎样才能“完成”?

我认为这个任务已经在一些 nlp 库中实现了,所以我宁愿不发明自行车。有这样的东西吗?

最佳答案

如果你有一个类:

public Treebank {
public String conjugate(String base, String formTag);

...
}

然后:

String conjugated = treebank.conjugate(base, formTag);

如果您没有 Treebank 类,它可能看起来有点像这样:

public Treebank {
private Map<String, Map<String, String>> m_map = new HashMap<String, Map<String, String>>();

public Treebank() {
populate();
}

public String conjugate(String base, String formTag) {
return m_map.get(base, formTag);
}

private void populate() {
InputStream istream = openDataFile();

try {
for (Record record = readRecord(istream); record !== null; record = readRecord(istream)) {

// Add the entry
Map<String, String> entry = m_map.get(record.base);

if (entry == null)
entry = new HashMap<String, String>();

entry.put(record.formTag, record.conjugatedForm);
m_map.put(record.base, entry);
}
}
finally {
closeDataFile(istream);
}
}

// Data management - to be implemented.
private InputStream openDataFile() { ... }
private Record readRecord(InputStream istream) { ... }
private void closeDataFile(InputStream istream) { ... }

private static class Record {
String base;
String formTag;
String conjugatedForm;
}
}

更好的解决方案可能涉及数据库而不是数据文件。我还将数据访问代码重构为数据访问对象。

关于java - 如何在Java中结合英语单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2612696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com