forked from Open-CT/openbrain
Change to distanceLimit for wordset.
This commit is contained in:
parent
2d763e2137
commit
268515e83f
|
@ -12,9 +12,9 @@ type Wordset struct {
|
||||||
Name string `xorm:"varchar(100) notnull pk" json:"name"`
|
Name string `xorm:"varchar(100) notnull pk" json:"name"`
|
||||||
CreatedTime string `xorm:"varchar(100)" json:"createdTime"`
|
CreatedTime string `xorm:"varchar(100)" json:"createdTime"`
|
||||||
|
|
||||||
DisplayName string `xorm:"varchar(100)" json:"displayName"`
|
DisplayName string `xorm:"varchar(100)" json:"displayName"`
|
||||||
Distance int `json:"distance"`
|
DistanceLimit int `json:"distanceLimit"`
|
||||||
Vectorset string `xorm:"varchar(100)" json:"vectorset"`
|
Vectorset string `xorm:"varchar(100)" json:"vectorset"`
|
||||||
|
|
||||||
Vectors []*Vector `xorm:"mediumtext" json:"vectors"`
|
Vectors []*Vector `xorm:"mediumtext" json:"vectors"`
|
||||||
}
|
}
|
||||||
|
|
|
@ -78,6 +78,8 @@ func generateGraph(vectors []*Vector, distanceLimit int) *Graph {
|
||||||
//vectors = vectors[:100]
|
//vectors = vectors[:100]
|
||||||
|
|
||||||
g := newGraph()
|
g := newGraph()
|
||||||
|
g.Nodes = []*Node{}
|
||||||
|
g.Links = []*Link{}
|
||||||
|
|
||||||
nodeWeightMap := map[string]int{}
|
nodeWeightMap := map[string]int{}
|
||||||
for i := 0; i < len(vectors); i++ {
|
for i := 0; i < len(vectors); i++ {
|
||||||
|
|
|
@ -8,8 +8,15 @@ import (
|
||||||
func uploadVectorNames(owner string, fileId string) bool {
|
func uploadVectorNames(owner string, fileId string) bool {
|
||||||
table := xlsx.ReadXlsxFile(fileId)
|
table := xlsx.ReadXlsxFile(fileId)
|
||||||
|
|
||||||
|
vectorMap := map[string]int{}
|
||||||
vectors := []*Vector{}
|
vectors := []*Vector{}
|
||||||
for _, line := range table {
|
for _, line := range table {
|
||||||
|
if _, ok := vectorMap[line[0]]; ok {
|
||||||
|
continue
|
||||||
|
} else {
|
||||||
|
vectorMap[line[0]] = 1
|
||||||
|
}
|
||||||
|
|
||||||
vector := &Vector{
|
vector := &Vector{
|
||||||
Name: line[0],
|
Name: line[0],
|
||||||
Data: []float64{},
|
Data: []float64{},
|
||||||
|
@ -18,12 +25,12 @@ func uploadVectorNames(owner string, fileId string) bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
wordset := &Wordset{
|
wordset := &Wordset{
|
||||||
Owner: owner,
|
Owner: owner,
|
||||||
Name: "word",
|
Name: "word",
|
||||||
CreatedTime: util.GetCurrentTime(),
|
CreatedTime: util.GetCurrentTime(),
|
||||||
DisplayName: "word",
|
DisplayName: "word",
|
||||||
Distance: 100,
|
DistanceLimit: 14,
|
||||||
Vectors: vectors,
|
Vectors: vectors,
|
||||||
}
|
}
|
||||||
return AddWordset(wordset)
|
return AddWordset(wordset)
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,5 +5,5 @@ import "testing"
|
||||||
func TestUploadVectorNames(t *testing.T) {
|
func TestUploadVectorNames(t *testing.T) {
|
||||||
InitConfig()
|
InitConfig()
|
||||||
|
|
||||||
uploadVectorNames("admin", "../../tmpFiles/【最原始版】词汇表—单行—去重后")
|
uploadVectorNames("admin", "../../tmpFiles/【预处理版】词汇表 - 副本")
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import {Button, Card, Col, Input, Row, Select} from 'antd';
|
import {Button, Card, Col, Input, InputNumber, Row, Select} from 'antd';
|
||||||
import * as WordsetBackend from "./backend/WordsetBackend";
|
import * as WordsetBackend from "./backend/WordsetBackend";
|
||||||
import * as Setting from "./Setting";
|
import * as Setting from "./Setting";
|
||||||
import i18next from "i18next";
|
import i18next from "i18next";
|
||||||
|
@ -131,16 +131,16 @@ class WordsetEditPage extends React.Component {
|
||||||
<Input value={`${Setting.getPercentage(allWords === 0 ? 0 : validWords / allWords)}% (${validWords} / ${allWords})`} />
|
<Input value={`${Setting.getPercentage(allWords === 0 ? 0 : validWords / allWords)}% (${validWords} / ${allWords})`} />
|
||||||
</Col>
|
</Col>
|
||||||
</Row>
|
</Row>
|
||||||
{/*<Row style={{marginTop: '20px'}} >*/}
|
<Row style={{marginTop: '20px'}} >
|
||||||
{/* <Col style={{marginTop: '5px'}} span={(Setting.isMobile()) ? 22 : 2}>*/}
|
<Col style={{marginTop: '5px'}} span={(Setting.isMobile()) ? 22 : 2}>
|
||||||
{/* {i18next.t("wordset:Distance")}:*/}
|
{i18next.t("wordset:Distance limit")}:
|
||||||
{/* </Col>*/}
|
</Col>
|
||||||
{/* <Col span={22} >*/}
|
<Col span={22} >
|
||||||
{/* <InputNumber value={this.state.wordset.distance} onChange={value => {*/}
|
<InputNumber value={this.state.wordset.distanceLimit} onChange={value => {
|
||||||
{/* this.updateWordsetField('distance', value);*/}
|
this.updateWordsetField('distanceLimit', value);
|
||||||
{/* }} />*/}
|
}} />
|
||||||
{/* </Col>*/}
|
</Col>
|
||||||
{/*</Row>*/}
|
</Row>
|
||||||
<Row style={{marginTop: '20px'}} >
|
<Row style={{marginTop: '20px'}} >
|
||||||
<Col style={{marginTop: '5px'}} span={(Setting.isMobile()) ? 22 : 2}>
|
<Col style={{marginTop: '5px'}} span={(Setting.isMobile()) ? 22 : 2}>
|
||||||
{i18next.t("wordset:Words")}:
|
{i18next.t("wordset:Words")}:
|
||||||
|
|
|
@ -34,7 +34,7 @@ class WordsetListPage extends React.Component {
|
||||||
name: `wordset_${this.state.wordsets.length}`,
|
name: `wordset_${this.state.wordsets.length}`,
|
||||||
createdTime: moment().format(),
|
createdTime: moment().format(),
|
||||||
displayName: `Wordset ${this.state.wordsets.length}`,
|
displayName: `Wordset ${this.state.wordsets.length}`,
|
||||||
distance: 100,
|
distanceLimit: 14,
|
||||||
vectorset: "wordVector_utf-8",
|
vectorset: "wordVector_utf-8",
|
||||||
vectors: [],
|
vectors: [],
|
||||||
}
|
}
|
||||||
|
@ -92,13 +92,6 @@ class WordsetListPage extends React.Component {
|
||||||
width: '200px',
|
width: '200px',
|
||||||
sorter: (a, b) => a.displayName.localeCompare(b.displayName),
|
sorter: (a, b) => a.displayName.localeCompare(b.displayName),
|
||||||
},
|
},
|
||||||
// {
|
|
||||||
// title: i18next.t("wordset:Distance"),
|
|
||||||
// dataIndex: 'distance',
|
|
||||||
// key: 'distance',
|
|
||||||
// width: '120px',
|
|
||||||
// sorter: (a, b) => a.distance - b.distance,
|
|
||||||
// },
|
|
||||||
{
|
{
|
||||||
title: i18next.t("wordset:Words"),
|
title: i18next.t("wordset:Words"),
|
||||||
dataIndex: 'vectors',
|
dataIndex: 'vectors',
|
||||||
|
@ -154,6 +147,13 @@ class WordsetListPage extends React.Component {
|
||||||
return `${Setting.getPercentage(allWords === 0 ? 0 : validWords / allWords)}% (${validWords} / ${allWords})`;
|
return `${Setting.getPercentage(allWords === 0 ? 0 : validWords / allWords)}% (${validWords} / ${allWords})`;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: i18next.t("wordset:Distance limit"),
|
||||||
|
dataIndex: 'distanceLimit',
|
||||||
|
key: 'distanceLimit',
|
||||||
|
width: '120px',
|
||||||
|
sorter: (a, b) => a.distanceLimit - b.distanceLimit,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: i18next.t("general:Action"),
|
title: i18next.t("general:Action"),
|
||||||
dataIndex: 'action',
|
dataIndex: 'action',
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
},
|
},
|
||||||
"wordset": {
|
"wordset": {
|
||||||
"All words": "All words",
|
"All words": "All words",
|
||||||
"Distance": "Distance",
|
"Distance limit": "Distance limit",
|
||||||
"Edit Wordset": "Edit Wordset",
|
"Edit Wordset": "Edit Wordset",
|
||||||
"Match": "Match",
|
"Match": "Match",
|
||||||
"Matched": "Matched",
|
"Matched": "Matched",
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
},
|
},
|
||||||
"wordset": {
|
"wordset": {
|
||||||
"All words": "所有词汇",
|
"All words": "所有词汇",
|
||||||
"Distance": "距离",
|
"Distance limit": "距离上限",
|
||||||
"Edit Wordset": "编辑词汇集",
|
"Edit Wordset": "编辑词汇集",
|
||||||
"Match": "匹配",
|
"Match": "匹配",
|
||||||
"Matched": "匹配度",
|
"Matched": "匹配度",
|
||||||
|
|
Loading…
Reference in New Issue